/* Color only: preserve the established layout, sizes and interactions. */
:root {
    --ink: #28364a;
    --muted: #68788b;
    --line: #dce3eb;
    --canvas: #f4f6fa;
    /* Legacy token name retained for existing components; accent is now pastel teal. */
    --yellow: #a4ded8;
    --soft: #e2f4f1;
    --crm-blue: #315f93;
    --crm-green: #28765d;
    --crm-purple: #765394;
    --crm-red: #aa3849;
    --crm-teal: #327f87;
    --crm-peach: #a76c45;
    --crm-slate: #526b85;
    --crm-inset-surface: #eef2f7;
}
/* Local vector canvas: scalable, cached, with no third-party requests. */
:root {
    --crm-canvas-wash: url("backgrounds/workspace-lines.4f22f32d26e4.svg");
    --crm-mobile-canvas: linear-gradient(155deg, #d8eee8 0%, #e2edf7 52%, #e2d8ef 100%);
}
body, body.service-admin {
    background-color: var(--canvas);
    background-image: var(--crm-canvas-wash);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    background-attachment: fixed;
    color: var(--ink);
}
.service-admin .admin-workspace { background: transparent; }
/* Embedded forms retain the same palette, with no expensive fixed painting. */
body.window-frame, body.service-admin.popup { background-image: none; background-attachment: scroll; }
@media (max-width: 700px) {
    /* A continuous gradient has no cropped artwork or viewport-height seam. */
    body, body.service-admin {
        background-image: var(--crm-mobile-canvas);
        background-attachment: scroll;
        background-size: cover;
    }
}
@media print {
    body, body.service-admin { background: #fff; }
}
a { color: var(--crm-blue); }
a:hover { color: #224974; }
.topbar { background: linear-gradient(110deg, #b6e7e1, #a4ded8 60%, #8dcec7); }
.brand, .brand:hover { color: #1b453f; }
.sidebar { background-color: #fbfcfe; border-color: #dce3eb; }
.sidebar nav:not(.external-app-nav) a { color: #4c5d73; }
.sidebar nav:not(.external-app-nav) a:hover { background-color: #edf3fb; color: #315f93; }
.sidebar nav:not(.external-app-nav) a.active { background-color: #e2f4f1; color: #1f514a; border-color: #50bdae; }
.sidebar nav:not(.external-app-nav) a[href*="talent-pool"] > span { color: #8061a3; }
.sidebar nav:not(.external-app-nav) a[href*="candidates"] > span,
.sidebar nav:not(.external-app-nav) a[href*="inbox"] > span { color: #426fa4; }
.sidebar nav:not(.external-app-nav) a[href*="vacancies"] > span,
.sidebar nav:not(.external-app-nav) a[href*="pipeline"] > span { color: #80619b; }
.sidebar nav:not(.external-app-nav) a[href*="tasks"] > span,
.sidebar nav:not(.external-app-nav) a[href*="analytics"] > span { color: #33826d; }
.sidebar nav:not(.external-app-nav) a[href*="calendar"] > span,
.sidebar nav:not(.external-app-nav) a[href*="requests"] > span { color: #b47235; }
.sidebar nav:not(.external-app-nav) a[href*="integrations"] > span,
.sidebar nav:not(.external-app-nav) a[href*="email"] > span { color: #4c7994; }
.nav-caption, .breadcrumb, .sidebar-foot { color: #718095; }
.tabs { background-color: #edf1f7; border-color: #dce3eb; }
.tab { background-color: #eaf7f5; color: #245b54; border-color: #a9ded7; }
.panel { background-color: #fff; border-color: #dce3eb; }
.panel-title { background: linear-gradient(100deg, #edf3fb, #f8fafd); color: #36577d; border-color: #dce5ef; }
.panel-title .muted { color: #718399; }
.metric:nth-child(4n+1) { background-color: #f4fbfa; border-top-color: #51bdaf; }
.metric:nth-child(4n+1) strong { color: #2e786e; }
.metric:nth-child(4n+2) { background-color: #f1f6fd; border-top-color: #5b89be; }
.metric:nth-child(4n+2) strong { color: #315f93; }
.metric:nth-child(4n+3) { background-color: #f0f8f4; border-top-color: #4a9a7b; }
.metric:nth-child(4n+3) strong { color: #28765d; }
.metric:nth-child(4n+4) { background-color: #f7f3fc; border-top-color: #9875b3; }
.metric:nth-child(4n+4) strong { color: #765394; }
.metric span, .metric small { color: #64758a; }
button, .button { color: #35465d; border-color: #cbd6e3; background-color: #fff; }
button:hover, .button:hover { background-color: #edf3fb; border-color: #9fb7d3; color: #315f93; }
button.primary, .button.primary { background-color: #a4ded8; border-color: #50bcae; color: #19433d; }
button.primary:hover, .button.primary:hover { background-color: #9fdbd3; border-color: #41ac9e; color: #19433d; }
.danger-button { background-color: #fff0f2; border-color: #e5b7bf; color: #aa3849; }
.danger-button:hover { background-color: #fbe0e5; border-color: #ce8a98; color: #8d2d3d; }
button:disabled, .button.disabled { color: #8b98a8; background-color: #f0f3f7; border-color: #dee4ec; }
input, select, textarea { color: #30445d; border-color: #cbd6e3; }
input:focus, select:focus, textarea:focus { border-color: #44b4a5; outline-color: #9fdbd3; }
.toolbar { background-color: #f8fafd; border-color: #e0e7f0; }
th { background-color: #edf2f8; color: #526985; border-color: #dce5ef; }
td { border-color: #e4eaf2; }
th + th, td + td { border-color: #e8edf4; }
tbody tr:hover { background-color: #e6f5f3; }
.badge { background-color: #dbf1ee; color: #2c746a; border-color: #b5e3dd; }
.notice { background-color: #e5f5f3; color: #2b7168; border-color: #b2e2db; }
.notice.success { background-color: #eaf6ef; color: #28765d; border-color: #bcdcca; }
.notice.error, .notice.danger { background-color: #fceef1; color: #aa3849; border-color: #e7bdc6; }
.notice.warning { background-color: #e8f6f4; color: #926025; border-color: #b3e2dc; }
.errorlist, .required { color: #aa3849; }
.kanban-column { background-color: #eef2f8; border-color: #dce3eb; }
.kanban-column > header { background-color: #e5edf8; color: #426489; }
.kanban-column:nth-child(3n+2) > header { background-color: #eee6f7; color: #765394; }
.kanban-column:nth-child(3n) > header { background-color: #e3f1eb; color: #28765d; }
.kanban-card { background-color: #fff; border-color: #dce5ef; color: #35465d; }
.kanban-card:hover { background-color: #f4fbfa; border-color: #8cd3ca; }
.meeting-card.status-planned { background-color: #edf4ff; border-color: #bed1eb; color: #315f93; }
.meeting-card.status-done { background-color: #eaf6ef; border-color: #bcdcca; color: #28765d; }
.meeting-card.status-cancelled { background-color: #fceef1; border-color: #e7bdc6; color: #aa3849; }
.source-avito { background-color: #f2e8f9; color: #765394; }
.source-hh { background-color: #fce9ed; color: #aa3849; }
.source-manual { background-color: #e9f1fb; color: #315f93; }
.service-admin .module h2, .service-admin .module caption { background-color: #edf3fb; color: #36577d; }
.service-admin .admin-command-bar { background-color: #f8fafd; border-color: #dce3eb; }

/* Additional quiet tones for secondary surfaces. */
.toolbar, .calendar-filter, .analytics-filters { background-color: #eef4f7; border-color: #d4e1e8; }
.form-footer, .candidate-filter-footer { background-color: #e7f4f2; border-color: #c9e4e0; }
.kanban-column:nth-child(4n+1) { background-color: #edf2f8; }
.kanban-column:nth-child(4n+2) { background-color: #f1edf7; }
.kanban-column:nth-child(4n+3) { background-color: #eaf3ef; }
.kanban-column:nth-child(4n+4) { background-color: #f6efe7; }
.kanban-column:nth-child(4n+4) > header { background-color: #f0e2d3; color: #865734; }
.timeline > div:nth-child(3n+1) { background-color: #f3f7fc; border-color: #dae5f2; }
.timeline > div:nth-child(3n+2) { background-color: #f6f2fa; border-color: #e6ddef; }
.timeline > div:nth-child(3n) { background-color: #f0f7f5; border-color: #d7e9e2; }
.stage-summary > div:nth-child(3n+1) { background-color: #edf5f8; color: #327f87; }
.stage-summary > div:nth-child(3n+2) { background-color: #f5eef9; color: #765394; }
.stage-summary > div:nth-child(3n) { background-color: #f9f0e7; color: #a76c45; }
.resume-facts > div:nth-child(3n+2) { background-color: #f5f1fa; border-color: #e4dcee; }
.resume-facts > div:nth-child(3n) { background-color: #edf6f3; border-color: #d8e9e2; }
.resume-facts > div:nth-child(3n+2) dd { color: #6b4b87; }
.resume-facts > div:nth-child(3n) dd { color: #2c705c; }
.source-database { background-color: #e7f3f4; color: #327f87; }
.service-admin .admin-breadcrumbs { color: #526b85; background-color: #f0f4f9; }
