:root { --ink:#223642; --navy:#214359; --muted:#647d8a; --line:#dae5eb; --teal:#148c91; --green:#258663; }
body { background:#f3f7fa; color:var(--ink); }
.lab-banner { background:#e8f3fa; color:#345b72; border-bottom-color:#cce0ed; padding:7px 18px; font-size:12px; }
.lab-banner a { color:#315b71; }
.topbar { background:#fff; color:var(--ink); box-shadow:0 3px 14px #223c4810; border:1px solid #d9e5ed; border-radius:7px; padding:13px 18px; }
.topbar-brand { display:flex; align-items:center; gap:20px; min-width:0; }
.portal-mark { width:106px; height:35px; object-fit:contain; flex-shrink:0; }
.topbar .eyebrow { color:#547b91; font-size:10px; }
.topbar h1 { font-size:22px; overflow-wrap:anywhere; }
.topbar .top-actions { gap:8px; }
.topbar .top-actions button { background:#eff5f9; color:#305870; border:1px solid #d6e5ee; }
.topbar .hamburger-button span { background:#305870; }
.topbar .amount-toggle { background:#fff; }
.status { font-size:12px; margin:12px 2px; color:#6a818d; }
.side-nav { background:#fff; color:var(--ink); border-color:#d7e4eb; box-shadow:0 12px 35px #25445424; border-radius:7px; }
.main-menu { gap:4px; }
.menu-item { display:grid; grid-template-columns:20px 1fr; gap:3px 10px; padding:10px; color:#4f6877; border-radius:5px; }
.menu-item svg { width:18px; height:18px; grid-column:1; grid-row:1/3; align-self:center; }
.menu-item > span { grid-column:2; font-weight:650; font-size:13px; }
.menu-item > small { grid-column:2; color:#788e9b; font-size:10px; }
.menu-item.active { color:#16749a; background:#eaf5fa; border-color:#cee7f0; box-shadow:inset 3px 0 0 #2395bd; }
.nav-actions { border-color:#e2ebf0; }
.nav-actions .logout { background:#fff1ef; color:#ae493b; border:1px solid #f0d9d5; }
.projects-panel { background:#fff; box-shadow:none; border-radius:6px; }
.project-card,.overview-card { background:#fff; box-shadow:none; border-radius:5px; }
.project-card.active,.overview-card.active { background:#edf8fc; box-shadow:inset 3px 0 0 #2395bd; border-color:#94c8dc; }
.project-main strong { font-size:13px; }
.panel { box-shadow:none; border-radius:6px; }
.grid { align-items:start; }
.kpis article { min-height:99px; border-radius:6px; padding:13px 15px; box-shadow:none; }
.kpis strong { font-size:25px; }
.kpis .kpi-1 { background:#f0f8ff; border-color:#d1e5f2; }
.kpis .kpi-2 { background:#effaf5; border-color:#d5e9df; }
.kpis .kpi-3 { background:#eff9fa; border-color:#d1e9ec; }
.kpis .kpi-4 { background:#fff8eb; border-color:#eddfc2; }
.kpis small { font-size:11px; }
.rank-item { padding:10px 0; }
.rank-item code { color:#37728d; background:#edf6fb; border-radius:4px; }
.rank-title { font-size:13px; }
.rank-meta { font-size:11px; }
.rank-value { font-size:13px; }
.panel-head h2 { font-size:16px; }
.document-panel-full { border-top:3px solid #64a3b9; }
.document-panel-full thead th { background:#edf4f8; color:#507182; font-size:10px; font-weight:650; }
.document-panel-full tbody tr:not(.document-subcontractor-row):hover { background:#eef7fb; }
.document-subcontractor-panel { border-radius:5px; background:#f9fcfd; }
.nu-summary-card { background:#eaf7f6; border-left-color:#208e86; }
.nu-review-badge.pending { background:#e8f4fd; color:#2c86af; }
.nu-review-badge.accepted { background:#e8f7ef; color:#27815f; }
.nu-review-badge.rejected { background:#fceae6; color:#ab4b3b; }
.cost-tabs { gap:6px; padding:0; }
.cost-tabs button { padding:11px 14px; font-size:13px; }
.cost-tabs button[aria-selected="true"] { background:#e9f5f6; color:#167c84; }
.cost-metrics { gap:10px; background:transparent; border:0; }
.cost-metric { border:1px solid #d7e4ec; border-top:3px solid #5d99b9; background:#f2f9ff; border-radius:5px; padding:14px; }
.cost-metric:nth-child(2) { background:#f1fbf8; border-top-color:#479d86; }
.cost-metric:nth-child(3) { background:#fff8ed; border-top-color:#c6a158; }
.cost-metric:nth-child(4) { background:#f2faf0; border-top-color:#6c9e67; }
.cost-metric:last-child { border-right:1px solid #d7e4ec; }
.cost-result-lines .cost-result { background:#eaf5f1; padding:13px 12px; border-color:#9acbbb; color:#276b52; }
.cost-table th,.traffic-file-table th { background:#edf4f8; color:#567589; }
.employee-team-column { background:#edf3f6; border-radius:4px; }
.employee-team-column.team-tone-1 { background:#eef8fb; }
.employee-team-column.team-tone-2 { background:#eef8f0; }
.employee-team-column.team-tone-3 { background:#fff8e9; }
.control-metric.blue { background:#eff8ff; border-color:#cfe2ee; border-top-color:#2f90ba; }
.control-metric.teal { background:#effaf8; border-color:#cfe8e3; border-top-color:#269b8e; }
.control-metric.green { background:#f1faee; border-color:#d9e8d2; border-top-color:#6a9958; }
.control-metric.amber { background:#fff8eb; border-color:#ecdfc5; border-top-color:#c2984c; }
.control-worklists > div:first-child .control-section-head { border-bottom:2px solid #bdddeb; padding-bottom:11px; }
.control-worklists > div:last-child .control-section-head { border-bottom:2px solid #ead8ae; padding-bottom:11px; }
.control-projects tr.tone-blue td:first-child { border-left:3px solid #65a4c7; }
.control-projects tr.tone-teal td:first-child { border-left:3px solid #60ae9f; }
.control-projects tr.tone-amber td:first-child { border-left:3px solid #cba15f; }
.control-metric-label { display:flex; align-items:center; gap:9px; min-height:34px; color:#4f6978; font-size:12px; font-weight:650; }
.control-metric-label i,.control-metric-label svg { width:18px; height:18px; flex-shrink:0; color:#3589aa; }
.control-metric.teal .control-metric-label svg { color:#298e83; }
.control-metric.green .control-metric-label svg { color:#6e915c; }
.control-metric.amber .control-metric-label svg { color:#aa8840; }
.trace-status-overview { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:15px 0; }
.trace-meter-stat { display:grid; gap:6px; padding:12px; border:1px solid #d7e4ec; border-left:3px solid #5e9bb7; border-radius:5px; background:#fff; }
.trace-meter-stat > span { font-size:11px; color:#5c7482; }
.trace-meter-stat strong { font-size:20px; font-variant-numeric:tabular-nums; }
.trace-meter-stat small { font-size:10px; color:#758894; }
.trace-meter-stat.billed { border-left-color:#93a7b2; background:#f9fbfd; }
.trace-meter-stat.open { border-left-color:#259786; background:#f1faf7; }
.trace-meter-stat.unclear { border-left-color:#c39b54; background:#fff8eb; }
.trace-meter-stat.submitted { border-left-color:#d0923d; background:#fff7ed; }
#traceMapSelectionCount { color:#146b86; font-size:12px; font-weight:650; background:#e9f5fa; border:1px solid #cbe5ed; border-radius:5px; padding:8px 10px; }
@media(max-width:950px){.trace-status-overview{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:650px){
  .lab-banner{gap:8px;padding:6px 14px;font-size:11px;}
  .lab-banner a{margin-left:auto;}
  .topbar { gap:12px; padding:12px; }
  .topbar-brand { gap:12px; width:100%; }
  .portal-mark { width:86px; height:30px; }
  .topbar h1 { font-size:18px; }
  .topbar .eyebrow { font-size:9px; }
  .topbar .top-actions { width:100%; justify-content:flex-end; }
  .topbar .top-actions button { width:auto; padding:8px 10px; font-size:12px; }
  .topbar .top-actions .hamburger-button,.topbar .top-actions .amount-toggle{width:36px;height:36px;padding:7px;}
  .kpis strong { font-size:21px; }
  .kpis article { min-height:98px; padding:12px; }
  .control-metric-label { font-size:11px; min-height:28px; gap:6px; }
  .control-metric-label svg { width:15px;height:15px; }
  .cost-tabs button { padding:10px 9px; font-size:12px; }
  .trace-status-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .trace-meter-stat strong{font-size:18px;}
  .trace-meter-stat:last-child{grid-column:1/-1;}
}
.menu-item.hidden,.amount-toggle.hidden{display:none !important}
