/* COBA Operations design tokens and compatibility layer. Loaded after legacy styles. */
:root {
 --sidebar-width:272px; --bg:#f5f7fb; --ink:#172b4d; --text:#26374d;
 --blue:#245bcc; --blue-hover:#17459c; --blue-light:#edf3ff;
 --gold:#bb9139; --slate:#59697e; --green:#197454; --red:#b33746; --amber:#946513;
 --border:#dce3ed; --border-soft:#e8edf4; --radius:14px; --radius-sm:9px;
 --shadow-sm:0 2px 6px #172b4d05; --shadow-md:0 8px 24px #172b4d0a;
}
html {background:var(--bg);scroll-padding-top:24px}
body {background:var(--bg);font-family:'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.6;animation:none}
[hidden] {display:none!important}
h1,h2,h3 {font-family:inherit;letter-spacing:-.025em;color:var(--ink)}
h1 {font-size:clamp(1.7rem,2.3vw,2.25rem);font-weight:700;line-height:1.25}
h2 {font-size:1.1rem;font-weight:650}
h2::before {display:none}
:focus-visible {outline:3px solid #245bcc;outline-offset:4px}
.app-sidebar {background:#142740;box-shadow:none;border:0;width:var(--sidebar-width)}
.app-sidebar::before {background:#c5a052;height:3px}
.sidebar-brand {min-height:91px;padding:20px 18px;gap:12px}
.sidebar-brand .brand-logo {width:44px;height:44px;flex-basis:44px;border-radius:10px;padding:4px;box-shadow:none}
.brand-copy strong {font-size:16px;letter-spacing:-.02em}
.brand-copy span {font-size:10px;letter-spacing:.025em;text-transform:none;color:#bbc9dc}
.sidebar-scroll {padding:18px 14px 24px}
.user-summary {padding:0 5px 16px;margin:0 0 16px;background:none;border:0;border-bottom:1px solid #ffffff1a;border-radius:0;box-shadow:none}
.user-avatar {width:36px;height:36px;flex-basis:36px;border-radius:50%;background:#dfc68d;color:#172b4d;box-shadow:none}
.user-copy strong {font-size:13px}.user-copy span{font-size:12px;color:#b8c7db}
.sidebar-search {margin:0 0 14px;background:#ffffff0a;border:1px solid #ffffff25;border-radius:8px}
.sidebar-search input {min-height:42px;font-size:13px;color:white;background:transparent;box-shadow:none}
.sidebar-search input::placeholder{color:#bac7d9}
.quick-create{margin:0 0 20px}
.quick-create>summary{min-height:44px;background:#e8d4a5;color:#182d47;box-shadow:none;border:0;border-radius:8px;font-size:13px}
.quick-create>summary:hover {transform:none;box-shadow:none;background:#f1dfb7}
.quick-create-menu a{font-size:13px;min-height:40px}
.module-group {margin:4px 0;border:0;background:transparent}
.module-group>summary {display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:46px;padding:10px 11px;border-radius:8px;color:#d3dfef;font-size:13px;font-weight:600}
.module-group>summary::-webkit-details-marker{display:none}
.module-group>summary::after{content:'›';font-size:22px;line-height:1;margin-left:auto;transform:rotate(0deg)}
.module-group[open]>summary::after{transform:rotate(90deg)}
.module-group>summary:hover,.module-group[open]>summary {background:#ffffff09;color:white}
.module-group>.nav-item {padding:9px 11px 9px 20px;margin:3px 0 3px 10px;font-size:13px;min-height:42px;line-height:1.45;border-radius:7px;box-shadow:none;color:#bccde3;font-weight:400}
.module-group>.nav-item:hover{transform:none;color:white;background:#ffffff0d}
.module-group>.nav-item.active {background:#2b4467;color:#fff;border-color:transparent;box-shadow:inset 3px 0 #e8d4a5;font-weight:600}
.nav-item.active::before{display:none}.nav-icon svg{width:17px;height:17px}
.nav-item:hover .nav-icon,.nav-item.active .nav-icon{transform:none;color:#e8d4a5}
.sidebar-footer{padding:9px 14px;background:#102137}
.topbar-badge{background:#e8d4a5;color:#172b4d;font-size:11px}
.modern-shell .container {width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);padding:24px clamp(24px,3.2vw,56px) 64px}
.container>* {max-width:1440px}
.workspace-context{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--border);color:var(--slate);font-size:13px}
.page-header {margin-bottom:30px;gap:24px;align-items:center}
.page-eyebrow,.eyebrow {font-size:11px;letter-spacing:.12em;color:#5a6a80;font-weight:700;text-transform:uppercase}
.page-header p {max-width:700px;font-size:14px;color:var(--slate);margin-top:12px;line-height:1.7}
.page-actions {gap:10px;flex-wrap:wrap}
.card,.stat {border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;transform:none;backdrop-filter:none}
.card{padding:26px;margin-bottom:24px;overflow:visible}
.card:hover,.stat:hover {transform:none;box-shadow:var(--shadow-sm);border-color:var(--border)}
.card::before,.card::after,.stat::before,.stat::after{display:none!important}
.card-header{margin-bottom:22px;gap:18px;align-items:flex-start}
.card-header p{font-size:13px;line-height:1.65;margin-top:7px}
.stats {display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0 0 28px}
.stat {padding:21px;min-width:0;border-top:3px solid #cfdaeb}
.stat.primary{border-top-color:#789de3}.stat.success{border-top-color:#6daf97}.stat.attention{border-top-color:#d2b16e}
.stat .label{color:#56677e;font-size:12px;letter-spacing:0;text-transform:none;font-weight:600}
.stat .value{font-family:inherit;color:var(--ink);font-size:32px;letter-spacing:-.04em;margin:7px 0}
.stat .context{color:#617086;font-size:12px;line-height:1.6}
.profile-card {display:flex;background:white;color:var(--text);box-shadow:none}
.profile-disclosure {margin-bottom:24px}
.profile-disclosure>summary{cursor:pointer;font-size:13px;color:var(--slate);padding:10px 0}
.profile-disclosure .profile-card{margin-top:12px}
.profile-card h1,.profile-card .muted{color:var(--text)}
.notice-strip{padding:17px 20px;background:#fff9eb;border:1px solid #e7d6af;border-radius:10px;box-shadow:none;margin-bottom:24px;font-size:14px}
.btn,button.btn {min-height:42px;padding:10px 17px;font:600 13px/1.4 'Segoe UI',Arial,sans-serif;border-radius:8px;background:var(--blue);color:#fff;border:1px solid transparent;box-shadow:none;transform:none}
.btn:hover,button.btn:hover{background:var(--blue-hover);transform:none;box-shadow:none}
.btn.small{min-height:38px;padding:8px 13px;font-size:12px}
.btn.secondary{background:white;color:#304663;border-color:#d5dfeb;box-shadow:none}
.btn.secondary:hover{background:#eef3f9;border-color:#b6c7dd}
.btn.danger{background:#a82f3e;color:#fff}
input,select,textarea {font-family:inherit;font-size:14px;border:1px solid #c6d2e1;border-radius:8px;box-shadow:none;min-height:44px;padding:11px 13px;max-width:100%;background:#fff;color:var(--text)}
input[type=checkbox],input[type=radio]{min-height:auto;width:18px;height:18px;accent-color:var(--blue)}
textarea{min-height:100px;line-height:1.7}
label{font-size:13px;font-weight:600;margin-bottom:7px;color:#334761}
form .row,.form-grid{gap:22px}
input:focus,select:focus,textarea:focus {border-color:var(--blue);box-shadow:0 0 0 3px #245bcc18}
.toolbar {gap:14px;flex-wrap:wrap;margin-bottom:22px}
.table-scroll {overflow-x:auto;width:100%;border:1px solid var(--border-soft);border-radius:9px}
table {border-collapse:collapse;width:100%;font-size:13px;margin:0}
th{padding:13px 16px;background:#f6f8fc;color:#53647d;font-size:11px;font-weight:700;letter-spacing:.045em;border-bottom:1px solid var(--border)}
td{padding:16px;line-height:1.6;border-bottom:1px solid var(--border-soft)}
tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8faff}
.badge,.tag {border-radius:6px;box-shadow:none;font-size:11px;padding:5px 9px;font-weight:600}
.badge.approved{background:#eaf6ef;color:#216447}.badge.submitted{background:#fff3db;color:#80570b}.badge.rejected{background:#fcebed;color:#a33142}
.muted{color:var(--slate)}
.workspace-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:26px;border-bottom:1px solid var(--border);padding:0 0 1px}
.workspace-tabs button {appearance:none;white-space:nowrap;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;min-height:48px;padding:12px 20px;color:var(--slate);font:600 14px 'Segoe UI',Arial,sans-serif;cursor:pointer}
.workspace-tabs button:hover{background:#eaf0fa;color:var(--blue)}
.workspace-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}
.charts-row{gap:24px!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;margin-bottom:0!important;align-items:start}
.charts-row canvas{max-height:300px}
.kpi-accordion{border:1px solid var(--border);border-radius:9px;margin-bottom:12px;box-shadow:none}
.kpi-accordion>summary,.review-queue>summary{cursor:pointer;padding:18px;font-size:14px;font-weight:600;color:var(--ink);background:#f8faff;border-radius:8px}
.review-queue[open]>summary{margin-bottom:24px}
.module-finder{border:1px solid var(--border);border-radius:16px;width:min(580px,calc(100% - 32px));max-height:80vh;padding:28px;box-shadow:0 25px 100px #07152d40;color:var(--text)}
.module-finder::backdrop{background:#0c203d80}
.module-finder input{width:100%;margin-bottom:18px}
.finder-results{display:grid;gap:3px;max-height:45vh;overflow:auto}
.finder-link{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:7px;font-size:14px;font-weight:500;color:#294768}
.finder-link:hover{background:var(--blue-light)}
.finder-link svg{width:18px;height:18px}.message-dismiss{float:right;margin-left:16px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;min-height:32px}
.modern-login .center-page {min-height:100vh;background:#f5f7fb;padding:48px}
.modern-login .auth-card{display:grid;grid-template-columns:1fr 1fr;max-width:1040px;width:100%;background:white;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:0 20px 70px #2039550c}
.modern-login .auth-header{background:#142740;color:white;text-align:left;padding:64px 46px;display:flex;flex-direction:column;justify-content:center;margin:0}
.modern-login .auth-header h1{color:white;font-size:34px;margin:24px 0;line-height:1.25}
.modern-login .auth-header .muted,.modern-login .auth-header .eyebrow{color:#c7d4e7}
.modern-login .auth-logo{width:76px;height:76px;object-fit:contain;background:white;padding:8px;border-radius:12px;margin:0 0 28px}
.modern-login .auth-card>.card{border:0;border-radius:0;padding:54px 42px;margin:0;background:white;box-shadow:none}
.modern-login .auth-form-intro{border:0;background:none;padding:0;margin-bottom:28px}
.modern-login .auth-form-intro h2{font-size:26px}
.modern-login input{margin-bottom:22px}
@media(min-width:861px){.modern-shell.has-acting-banner .container{padding-top:calc(var(--acting-banner-height) + 24px)}}
@media(max-width:1100px){.grid-2{grid-template-columns:1fr!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .modern-shell .container{width:100%;margin-left:0;padding:24px 20px 48px}
 .app-sidebar{width:272px}.mobile-header{background:#142740;color:white;box-shadow:none}
 .workspace-context{margin-bottom:22px;padding-bottom:20px;font-size:12px}.page-header{align-items:flex-start}
 .modern-login .auth-card{grid-template-columns:1fr}.modern-login .auth-header{padding:32px}.modern-login .auth-header h1{font-size:27px;margin:14px 0}
 .modern-login .center-page{padding:20px}.modern-login .auth-card>.card{padding:32px}
}
@media(max-width:560px){
 .modern-shell .container{padding:20px 14px 40px}.card{padding:18px}.stat{padding:16px}.stat .value{font-size:28px}
 .stats{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.charts-row{grid-template-columns:minmax(0,1fr)!important}
 .workspace-context{align-items:flex-start}.workspace-context>span{max-width:56%}.workspace-context .btn{font-size:11px}
 .workspace-tabs button{padding:12px 13px;font-size:13px}.page-actions{width:100%}
 .notice-strip{flex-direction:column;align-items:flex-start;gap:12px}
 .row,.form-grid{grid-template-columns:1fr!important}.kpi-summary-meta{white-space:normal}.card-header{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{
 .app-sidebar,.mobile-header,.workspace-context,.workspace-tabs,.sidebar-overlay,.module-finder{display:none!important}
 .modern-shell .container{width:100%;margin:0;padding:0}.card,.stat{box-shadow:none;break-inside:avoid}
 [data-panel][hidden]{display:block!important}.table-scroll{overflow:visible;border:0}body{background:white}
}
/* Retire legacy decorative movement on non-interactive surfaces. */
.card:not(.accent):not(.profile-card):hover,.charts-row .card:hover,.stat:hover,.stat.success:hover,.stat.attention:hover {
 transform:none!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;border-color:var(--border);
}
.badge:hover,.tag:hover,.kpi-accordion>summary:hover,.table-scroll:hover {transform:none;box-shadow:none}
.btn::before{display:none!important}
/* Compact dense queue headings and give all controls clear click targets. */
.card .card {box-shadow:none;background:#fafbfd;border-radius:10px;padding:20px}
.review-queue>summary:focus-visible {outline-offset:3px}

/* Two-level navigation: workspace selection and contextual page destinations. */
.workspace-category {
 display:flex;align-items:center;gap:10px;width:100%;min-height:48px;
 padding:12px 14px;margin:5px 0;border:1px solid transparent;border-radius:8px;
 text-align:left;background:transparent;color:#c5d3e6;font:600 13px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer;
}
.workspace-category::after{content:'›';margin-left:auto;font-size:20px;font-weight:400}
.workspace-category:hover{background:#ffffff0a;color:white}
.workspace-category[aria-pressed=true]{background:#294464;color:white;box-shadow:inset 3px 0 #e8d4a5}
.workspace-category:focus-visible{outline-color:#e8d4a5}
.workspace-subnav {padding:17px 20px 4px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:28px;box-shadow:var(--shadow-sm)}
.subnav-heading{font-size:11px;font-weight:700;color:var(--slate);letter-spacing:.035em;margin-bottom:8px}
.subnav-links{display:flex;gap:6px;overflow-x:auto;align-items:stretch;padding-bottom:10px;scrollbar-width:thin}
.subnav-links>.nav-item{flex:0 0 auto;white-space:nowrap;min-height:42px;padding:10px 13px;margin:0;color:#4b607a;background:transparent;border:0;border-radius:7px;font-size:13px;font-weight:500;box-shadow:none;transform:none}
.subnav-links>.nav-item:hover{background:#f0f5fc;color:var(--blue);transform:none}
.subnav-links>.nav-item.active{background:#eaf1ff;color:#194fae;font-weight:650;box-shadow:inset 0 -3px #245bcc}
.subnav-links>.nav-item .nav-icon{color:inherit}
.split-navigation .workspace-context{border-bottom:0;margin-bottom:4px;padding-bottom:16px}
@media(max-width:860px){.workspace-subnav{padding:14px 12px 3px;margin-bottom:22px}.subnav-links>.nav-item{font-size:12px;padding:10px 12px}}
@media print{.workspace-subnav{display:none!important}}
