:root {
    --lte-sidebar-width: 285px;
    --icds-primary: #0f766e;
    --icds-primary-dark: #115e59;
    --icds-primary-soft: #e8f5f3;
    --icds-navy: #11233f;
    --icds-sidebar: #10243e;
    --icds-sidebar-deep: #0b1b30;
    --icds-border: #e5eaf0;
    --icds-muted: #667085;
    --icds-radius: 14px;
    --icds-shadow: 0 8px 28px rgba(16, 36, 62, .07);
}

body { font-family: 'Inter', sans-serif; color: #1d2939; font-size: .91rem; }
a { color: var(--icds-primary); }
.app-wrapper { min-height: 100vh; }
.app-main { background: #f5f7fa; }
.app-content-header { padding: 1.6rem 1rem 1.1rem; }
.page-eyebrow { color: var(--icds-primary); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.page-title { color: var(--icds-navy); font-size: 1.65rem; font-weight: 700; letter-spacing: -.035em; }
.breadcrumb { --bs-breadcrumb-divider-color: #98a2b3; font-size: .8rem; }
.breadcrumb a { color: #667085; text-decoration: none; }

/* Header */
.app-header { min-height: 68px; box-shadow: 0 1px 0 rgba(16, 24, 40, .03); z-index: 1040; }
.header-icon-btn { width: 40px; height: 40px; padding: 0 !important; border: 0; border-radius: 10px; display: grid; place-items: center; background: transparent; color: #475467; font-size: 1.15rem; }
.header-icon-btn:hover { background: #f2f4f7; color: var(--icds-primary); }
.header-search { position: relative; display: flex; align-items: center; width: min(35vw, 390px); }
.header-search > i { position: absolute; left: 13px; color: #98a2b3; z-index: 1; }
.header-search .form-control { height: 42px; border: 1px solid #e4e7ec; border-radius: 11px; background: #f9fafb; padding-left: 39px; padding-right: 62px; font-size: .83rem; box-shadow: none; }
.header-search .form-control:focus { border-color: #80cbc4; background: #fff; box-shadow: 0 0 0 3px rgba(15, 118, 110, .09); }
.search-shortcut { position: absolute; right: 10px; border: 1px solid #d0d5dd; background: #fff; color: #98a2b3; border-radius: 5px; padding: 2px 6px; font-size: .65rem; }
.notification-dot { position: absolute; top: 8px; right: 8px; width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: #f04438; }
.user-menu-toggle { border: 0; border-radius: 12px; background: transparent; color: #344054; padding: 4px 7px !important; }
.user-menu-toggle:hover { background: #f9fafb; }
.user-menu-toggle strong, .user-menu-toggle small { display: block; line-height: 1.3; }
.user-menu-toggle strong { font-size: .78rem; font-weight: 600; }
.user-menu-toggle small { color: #98a2b3; font-size: .67rem; }
.user-avatar { width: 38px; height: 38px; object-fit: cover; border-radius: 10px; }
.notification-menu { width: 350px; border-radius: 14px; padding: .5rem; }
.notification-menu .dropdown-header { color: #1d2939; padding: .75rem; }
.notification-item { display: flex; gap: .75rem; border-radius: 9px; padding: .72rem; white-space: normal; }
.notification-item > span:last-child { min-width: 0; }
.notification-item strong, .notification-item small { display: block; }
.notification-item strong { color: #344054; font-size: .78rem; font-weight: 600; }
.notification-item small { color: #98a2b3; font-size: .7rem; margin-top: 3px; }
.notification-icon { width: 35px; height: 35px; flex: 0 0 35px; display: grid; place-items: center; border-radius: 9px; }
.profile-menu { width: 230px; border-radius: 12px; padding: .5rem; }
.profile-menu .dropdown-item { border-radius: 8px; font-size: .82rem; padding: .58rem .7rem; }
.theme-icon-light { display: none; }

/* Sidebar */
.sidebar-brand { height: 72px; }
.brand-link { height: 100%; }
.brand-mark { width: 42px; height: 42px; flex: 0 0 42px; font-size: 1.2rem; }
.brand-copy { white-space: nowrap; }
.brand-copy small { font-size: .75rem; }
.sidebar-menu .nav-header { font-size: .68rem; letter-spacing: .1em; }
.sidebar-menu .nav-link { min-height: 46px; font-size: .9rem; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.sidebar-menu .nav-link:hover { color: var(--bs-emphasis-color) !important; background: var(--bs-tertiary-bg); }
.sidebar-menu .nav-link.active {
    color: var(--bs-primary-text-emphasis) !important;
    background: var(--bs-primary-bg-subtle) !important;
}
.sidebar-menu .nav-link.active .nav-icon {
    color: var(--bs-primary-text-emphasis);
}
.sidebar-menu .nav-icon { width: 1.4rem; margin-right: .25rem; font-size: 1.05rem; }
.sidebar-menu .nav-treeview .nav-link { min-height: 40px; padding-left: 2.5rem !important; font-size: .84rem; }
.sidebar-menu .nav-treeview .nav-icon { width: .75rem; font-size: .38rem; }

/* Welcome panel */
.welcome-panel { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 230px; overflow: hidden; padding: 2.2rem 2.5rem; border: 1px solid #d6dfeb; border-radius: 18px; color: #283b55; background: linear-gradient(120deg, #f1f4f9 0%, #e7edf5 50%, #dae4f0 100%); box-shadow: 0 14px 34px rgba(57,74,97,.1); }
.welcome-copy { max-width: 610px; position: relative; z-index: 2; }
.welcome-label { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid #c8d4e3; border-radius: 20px; color: #536b88; background: rgba(255,255,255,.58); padding: .35rem .7rem; font-size: .69rem; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.welcome-panel h2 { margin: .85rem 0 .5rem; font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 700; letter-spacing: -.04em; }
.welcome-panel p { color: #66758a; max-width: 570px; margin-bottom: 1.3rem; }
.welcome-panel .btn { border-radius: 9px; padding: .58rem 1rem; font-size: .78rem; }
.welcome-panel .btn-light { color: #fff; border-color: #5b708c; background: #5b708c; box-shadow: 0 5px 12px rgba(55,72,95,.14); }
.welcome-panel .btn-light:hover { border-color: #4b607b; background: #4b607b; }
.welcome-panel .btn-outline-light { color: #53657d; border-color: #b7c5d6; background: rgba(255,255,255,.38); }
.welcome-panel .btn-outline-light:hover { color: #33475f; border-color: #9cacc0; background: rgba(255,255,255,.72); }
.welcome-summary { position: relative; z-index: 2; align-items: center; gap: 1.2rem; padding: 1.2rem 1.35rem; border: 1px solid #c9d5e3; border-radius: 16px; color: #344a65; background: rgba(255,255,255,.5); backdrop-filter: blur(10px); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.summary-ring { width: 95px; height: 95px; display: grid; place-content: center; text-align: center; border-radius: 50%; background: radial-gradient(closest-side, #edf2f7 79%, transparent 80% 99%), conic-gradient(#7188a5 78%, #d3dce7 0); }
.summary-ring span { color: #344a65; font-size: 1.35rem; font-weight: 700; }.summary-ring small { color: #738197; font-size: .57rem; }
.summary-meta span, .summary-meta strong, .summary-meta small { display: block; }
.summary-meta span { color: #77879b; font-size: .64rem; text-transform: uppercase; }.summary-meta strong { margin: .25rem 0; font-size: .83rem; }.summary-meta small { color: #536f91; font-size: .65rem; }
.welcome-shape { position: absolute; border: 1px solid rgba(92,113,141,.13); border-radius: 50%; }.welcome-shape-one { width: 330px; height: 330px; right: -100px; top: -175px; }.welcome-shape-two { width: 230px; height: 230px; right: 205px; bottom: -170px; }

/* Metrics and cards */
.metric-card, .dashboard-card, .quick-actions { border: 1px solid var(--icds-border); border-radius: var(--icds-radius); background: #fff; box-shadow: var(--icds-shadow); }
.metric-card { padding: 1.25rem; transition: transform .2s ease, box-shadow .2s ease; }
.metric-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(16,36,62,.1); }
.metric-card-top { display: flex; justify-content: space-between; align-items: flex-start; }
.metric-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; font-size: 1.05rem; }
.metric-icon-teal { color: #0f766e; background: #e6f6f3; }.metric-icon-blue { color: #2563eb; background: #eaf1ff; }.metric-icon-amber { color: #b54708; background: #fff3e0; }.metric-icon-purple { color: #7f56d9; background: #f1ebff; }
.metric-trend { border-radius: 20px; padding: .25rem .48rem; font-size: .61rem; font-weight: 600; }.metric-trend.positive { color: #027a48; background: #ecfdf3; }.metric-trend.attention { color: #b54708; background: #fffaeb; }
.metric-card p { color: #667085; margin: 1rem 0 .22rem; font-size: .73rem; font-weight: 500; }.metric-value { color: var(--icds-navy); font-size: 1.75rem; font-weight: 700; letter-spacing: -.04em; }.metric-card > small { color: #98a2b3; font-size: .64rem; }
.metric-progress { height: 4px; overflow: hidden; margin-top: 1rem; border-radius: 5px; background: #edf2f1; }.metric-progress span { display: block; height: 100%; background: #0f766e; border-radius: inherit; }.progress-blue span { background: #3b82f6; }.progress-amber span { background: #f59e0b; }.progress-purple span { background: #8b5cf6; }
.dashboard-card { overflow: hidden; margin: 0; }.dashboard-card .card-header { background: #fff; border-color: #eef1f4; }.dashboard-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; }.dashboard-card-header .card-title { float: none; color: var(--icds-navy); margin: 0; font-size: .94rem; font-weight: 700; }.dashboard-card-header p { color: #98a2b3; margin: .25rem 0 0; font-size: .67rem; }.dashboard-card-header .btn { border-radius: 8px; font-size: .69rem; }.chart-legend { color: #667085; font-size: .62rem; white-space: nowrap; }.legend-dot { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; }.legend-dot.applications { background: #0f766e; }.legend-dot.selections { background: #9be2d9; }

/* Chart */
.chart-summary strong, .chart-summary span { display: block; }.chart-summary strong { color: var(--icds-navy); font-size: 1.45rem; }.chart-summary span { color: #98a2b3; font-size: .65rem; }.chart-summary small { display: inline-block; color: #027a48; margin-top: .28rem; font-size: .62rem; }
.performance-chart { height: 225px; display: flex; gap: .7rem; }.chart-y-labels { display: flex; flex-direction: column; justify-content: space-between; color: #98a2b3; padding-bottom: 25px; font-size: .58rem; }.chart-grid { flex: 1; display: grid; grid-template-columns: repeat(6, 1fr); background: repeating-linear-gradient(to bottom, #eaeef2 0, #eaeef2 1px, transparent 1px, transparent 25%); }.chart-column { display: flex; flex-direction: column; align-items: center; min-width: 0; }.chart-bars { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; gap: 5px; }.bar { width: min(16px, 28%); min-height: 3px; border-radius: 5px 5px 2px 2px; transition: opacity .2s; }.bar:hover { opacity: .75; }.applications-bar { background: linear-gradient(#1a9a8e, #0f766e); }.selections-bar { background: #a7e5dd; }.chart-column small { color: #98a2b3; padding-top: .6rem; font-size: .61rem; }

/* Pipeline */
.pipeline-list { padding: 1.25rem; }.pipeline-item { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.25rem; }.pipeline-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 10px; }.pipeline-icon.teal { color: #0f766e; background: #e6f6f3; }.pipeline-icon.blue { color: #2563eb; background: #eaf1ff; }.pipeline-icon.amber { color: #b54708; background: #fff3e0; }.pipeline-icon.purple { color: #7f56d9; background: #f1ebff; }.pipeline-info { flex: 1; }.pipeline-info > div:first-child { display: flex; justify-content: space-between; gap: .5rem; color: #475467; margin-bottom: .42rem; font-size: .68rem; }.pipeline-info strong { color: #344054; }.pipeline-info .progress { height: 5px; background: #edf1f4; }.pipeline-info .progress-bar.teal { background: #0f766e; }.pipeline-info .progress-bar.blue { background: #3b82f6; }.pipeline-info .progress-bar.amber { background: #f59e0b; }.pipeline-info .progress-bar.purple { background: #8b5cf6; }.pipeline-callout { display: flex; align-items: center; gap: .7rem; color: #027a48; border: 1px solid #d1fadf; border-radius: 10px; background: #f6fef9; padding: .8rem; }.pipeline-callout > i { font-size: 1.05rem; }.pipeline-callout strong, .pipeline-callout small { display: block; }.pipeline-callout strong { font-size: .69rem; }.pipeline-callout small { color: #5a8d73; font-size: .59rem; margin-top: 2px; }

/* Table and schedule */
.application-table { font-size: .7rem; }.application-table thead th { color: #667085; border-bottom: 1px solid #eaecf0; background: #f9fafb; padding: .72rem 1rem; font-size: .6rem; font-weight: 600; text-transform: uppercase; letter-spacing: .035em; white-space: nowrap; }.application-table td { color: #475467; border-color: #f0f2f5; padding: .85rem 1rem; white-space: nowrap; }.candidate { display: flex; align-items: center; gap: .65rem; min-width: 185px; }.candidate-avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 9px; font-size: .63rem; font-weight: 700; }.avatar-success { color: #027a48; background: #e7f8ef; }.avatar-warning { color: #b54708; background: #fff3e0; }.avatar-primary { color: #175cd3; background: #eaf1ff; }.avatar-danger { color: #b42318; background: #feeceb; }.candidate strong, .candidate small { display: block; }.candidate strong { color: #344054; font-size: .72rem; }.candidate small { color: #98a2b3; font-size: .58rem; margin-top: 2px; }.status-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .5rem; border-radius: 15px; font-size: .6rem; font-weight: 600; }.status-badge i { font-size: .35rem; }.status-success { color: #027a48; background: #ecfdf3; }.status-warning { color: #b54708; background: #fffaeb; }.status-primary { color: #175cd3; background: #eff8ff; }.status-danger { color: #b42318; background: #fef3f2; }
.schedule-list { padding: .25rem 1.2rem; }.schedule-item { display: flex; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid #eef1f4; }.schedule-item:last-child { border: 0; }.schedule-date { width: 45px; height: 50px; display: grid; place-content: center; flex: 0 0 45px; text-align: center; border: 1px solid #e4e7ec; border-radius: 9px; background: #f9fafb; }.schedule-date strong { color: var(--icds-navy); font-size: 1rem; line-height: 1; }.schedule-date small { color: #98a2b3; font-size: .51rem; margin-top: 4px; }.schedule-detail { min-width: 0; }.event-type { display: inline-block; padding: .15rem .38rem; border-radius: 4px; margin-bottom: .35rem; font-size: .52rem; font-weight: 600; }.schedule-detail > strong, .schedule-detail > small { display: block; }.schedule-detail > strong { color: #344054; font-size: .69rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.schedule-detail > small { color: #98a2b3; font-size: .57rem; margin-top: .25rem; }
.quick-actions { padding: 1.15rem; }.quick-actions h3 { color: var(--icds-navy); margin: 0; font-size: .88rem; font-weight: 700; }.quick-action-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; }.quick-action-grid a { display: flex; flex-direction: column; align-items: center; gap: .4rem; color: #667085; border: 1px solid #e8ebef; border-radius: 9px; padding: .7rem .25rem; text-align: center; text-decoration: none; font-size: .57rem; transition: .2s ease; }.quick-action-grid a:hover { color: var(--icds-primary); border-color: #a9ddd7; background: #f3fbfa; transform: translateY(-2px); }.quick-action-grid span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; color: var(--icds-primary); background: var(--icds-primary-soft); font-size: .84rem; }

/* Footer and dark mode */
.app-footer { color: #667085; border-color: #e5eaf0; background: #fff; padding: .9rem 1.5rem; font-size: .68rem; }.app-footer strong { color: #475467; }.system-online i { color: #12b76a; margin-right: .35rem; font-size: .42rem; }
[data-bs-theme='dark'] { --icds-border: #27364a; --icds-shadow: none; }.theme-icon-light { display: none; }[data-bs-theme='dark'] .theme-icon-dark { display: none; }[data-bs-theme='dark'] .theme-icon-light { display: inline; }
[data-bs-theme='dark'] .app-main { background: #0d1726; }[data-bs-theme='dark'] .page-title { color: #edf3f8; }[data-bs-theme='dark'] .metric-card,[data-bs-theme='dark'] .dashboard-card,[data-bs-theme='dark'] .quick-actions,[data-bs-theme='dark'] .dashboard-card .card-header,[data-bs-theme='dark'] .app-footer { background: #152337; }[data-bs-theme='dark'] .metric-value,[data-bs-theme='dark'] .dashboard-card-header .card-title,[data-bs-theme='dark'] .quick-actions h3,[data-bs-theme='dark'] .chart-summary strong,[data-bs-theme='dark'] .pipeline-info strong,[data-bs-theme='dark'] .candidate strong,[data-bs-theme='dark'] .schedule-detail > strong,[data-bs-theme='dark'] .schedule-date strong { color: #edf3f8; }[data-bs-theme='dark'] .application-table thead th,[data-bs-theme='dark'] .schedule-date,[data-bs-theme='dark'] .header-search .form-control { background: #192a40; border-color: #2a3a4f; }[data-bs-theme='dark'] .application-table td { border-color: #27364a; }[data-bs-theme='dark'] .chart-grid { background: repeating-linear-gradient(to bottom, #28384d 0, #28384d 1px, transparent 1px, transparent 25%); }

@media (max-width: 991.98px) { .welcome-panel { padding: 1.7rem; min-height: 210px; }.app-content-header { padding-top: 1.25rem; }.quick-action-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 575.98px) { .app-content-header { padding-inline: .25rem; }.page-title { font-size: 1.35rem; }.welcome-panel { border-radius: 14px; padding: 1.4rem; }.welcome-panel p { font-size: .78rem; }.metric-card { padding: 1rem; }.dashboard-card-header { flex-direction: column; }.notification-menu { width: min(340px, calc(100vw - 20px)); }.quick-action-grid { grid-template-columns: repeat(2, 1fr); }.app-footer { padding-inline: 1rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
