/* Shared finishing layer, loaded after the existing page styles. */
:root{--app-header-height:56px;--muted:#53647b;--line:#dce3ed;--bg:#f4f6fa;--content-max:1320px}
html{scroll-padding-top:calc(var(--app-header-height) + 24px)}
body{line-height:1.6}
.skip-link{position:fixed;top:8px;inset-inline-start:16px;z-index:10000;padding:10px 18px;border-radius:8px;background:#fff;color:#0b1f3a;font-weight:700;box-shadow:var(--shadow-md);transform:translateY(-160%)}
.skip-link:focus{transform:none}
main:focus{outline:none}
.app-topbar{gap:12px;min-height:60px;box-shadow:0 1px 0 rgba(255,255,255,.1),0 3px 12px rgba(11,31,58,.12)}
.app-topbar__brand{min-width:0;max-width:250px;flex-shrink:1}
.app-topbar__identity{min-width:0}
.app-topbar__identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-topbar__nav a{min-height:40px}
.app-search{flex:1;min-width:150px}
.app-search input{min-width:0}
.app-topbar__actions{flex-shrink:0}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px 0 22px}
.page-heading h1{margin:0;font-size:26px;line-height:1.35;font-weight:700}
#m-admin-case .case-drawer-head h3{color:#fff}
.page-heading .sub{margin:6px 0 0;font-size:14px}
.page-eyebrow{margin:0 0 5px;color:var(--muted);font-size:12px;font-weight:600}
.admin-shell,.consultant-shell{gap:24px}
.admin-main,.consultant-main{padding-inline:0;min-width:0}
.admin-sidebar,.consultant-sidebar{top:calc(var(--app-header-height) + 16px);border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.admin-nav__item{min-height:44px;border-radius:8px}
.admin-nav__item.active,.admin-nav__item[aria-pressed=true]{background:var(--brand-usoft);color:var(--brand);box-shadow:none;border-color:#d2e1fa}
.company-search-wrap input{font-size:14px;min-height:40px}
.overview-card{padding:14px;min-height:74px;border-color:var(--line);column-gap:12px;background:#fff}
.overview-card .num{font-size:28px}
.overview-card .eyebrow{font-size:12px;line-height:1.4}
.overview-card .lbl{font-size:13px;line-height:1.4;font-weight:600}
.overview-card.on{background:#f0f5ff;border-color:var(--brand)}
.overview-grid{gap:10px}
.workrail{top:calc(var(--app-header-height) + 8px);padding:12px;background:#fff;border-color:var(--line);box-shadow:var(--shadow-sm);backdrop-filter:none}
.toolbar{gap:8px}
.toolbar select{min-height:40px;flex:1;min-width:150px}
.tabs{background:#edf1f7;border-color:#e0e6ef;border-radius:10px;padding:3px;gap:2px}
.tab{border-radius:7px;padding:8px 12px;min-height:38px}
.tab.on{color:var(--brand);box-shadow:var(--shadow-sm)}
.activebar:has(.activechips:empty){display:none}
.filter-chip{background:var(--brand-usoft);border-color:#d2e1fa;color:#264b7e}
.filter-chip button{min-width:28px;min-height:28px;color:#264b7e}
.queue-head{padding:8px 2px;align-items:baseline}
.queue-head h2{font-size:16px}
.case:not(.open),.case-group-header{inline-size:100%}
.case{border-color:var(--line);border-radius:12px;box-shadow:var(--shadow-sm);cursor:default}
.case:hover{border-color:#b7c8df;box-shadow:var(--shadow-sm)}
.case.open{border-color:#a8c5ee;box-shadow:0 0 0 1px #a8c5ee}
.case-head{padding:16px}
.case-title-row h3{font-size:16px;line-height:1.4}
.case-meta{font-size:12px;color:var(--muted);line-height:1.6}
.case-group-header{padding:10px 12px;border-color:var(--line);background:#eef3fa;color:#324b6c;font-size:13px}
.case-facts{margin-top:12px}
.case-fact .lbl,.case-field .lbl{font-size:12px;color:var(--muted)}
.case-fact .val,.case-field .val{font-size:13px;font-weight:600}
.case-body{padding:8px 16px 16px;background:#f8fafc}
.section-card>summary{padding:12px 14px;font-size:14px;font-weight:600}
.case-status .pill,.case-status .tag{font-size:12px}
.kpi{border-radius:12px;border-color:var(--line);box-shadow:none}
.kpi:hover{transform:none;box-shadow:none;border-color:#b7c8df}
.kpi .hint{opacity:1;color:var(--muted);font-size:12px}
.admin-action{border-radius:10px;padding:14px;box-shadow:none}
.admin-action:hover{transform:none;background:var(--brand-usoft)}
.admin-action-title{font-size:14px;font-weight:600}
.admin-action-meta,.tbl-sub{font-size:12px;color:var(--muted)}
.crumbs{padding-bottom:14px}
.crumbs .sep{color:#718096}
.admin-filters,.cases-toolbar,#cases-filters{top:var(--app-header-height)}
body[data-app-page=status] .toolbar{top:var(--app-header-height)}
.btn:disabled,.ui-btn:disabled{cursor:not-allowed;transform:none}
input::placeholder,textarea::placeholder{color:#65758a}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b91c1c;background:#fffafa}
.modal-bg{padding:20px;background:rgba(11,31,58,.5)}
.modal{max-height:calc(100dvh - 40px);overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px;border-radius:16px}
.modal h3{font-size:20px;line-height:1.4}
.modal>.modal-actions{position:sticky;bottom:-24px;z-index:3;margin-inline:-24px;margin-bottom:-24px;padding:16px 24px;border-top:1px solid var(--line);background:#fff;flex-wrap:wrap;box-shadow:0 -5px 14px rgba(11,31,58,.04)}
.modal-actions .btn{min-height:42px}
.modal .grid,.modal .customer-form-grid{gap:12px}
.lc-panel{overscroll-behavior:contain}
.lc-opt[aria-selected=true]{background:var(--brand-usoft);color:var(--brand-strong);outline:2px solid var(--brand);outline-offset:-2px}
.toast-item .toast-content{flex:1;min-width:0;overflow-wrap:anywhere}
.toast-item .toast-message{font-size:13px;line-height:1.6}
.toast-close{min-width:32px;min-height:32px}
.toast-item.toast-success{background:#14532d;border-inline-start:4px solid #4ade80}
.toast-item.toast-error{background:#7f1d1d;border-inline-start:4px solid #f87171}
.toast-item.toast-warning{background:#78350f;border-inline-start:4px solid #fbbf24}
.toast-item.toast-info{background:#0c4a6e;border-inline-start:4px solid #38bdf8}
body:not([data-app-page]) .login{width:420px;padding:32px;border-radius:18px;box-shadow:0 12px 40px rgba(11,31,58,.08)}
.login::before{display:none}
.lhead{text-align:right;margin-bottom:24px}
.lhead .logo{margin:0 0 18px;width:58px;height:58px;border-radius:14px}
.login-kicker{letter-spacing:0;font-size:12px;margin-bottom:12px}
.lhead h1{font-size:25px;line-height:1.4}
.lhead .sub{font-size:14px;margin-top:8px}
.login input{min-height:48px;font-size:16px;text-align:left}
.login label{margin-top:16px;font-size:14px}
.login .cta{min-height:48px;font-size:16px}
.pwbox input{padding-inline:12px;padding-left:64px}
.pwbox .eye{inset-inline-end:10px;min-height:40px;color:#42526a}
.login .foot{font-size:13px;line-height:1.6;color:var(--muted)}
.login .err:empty{display:none}
@media(min-width:901px){
  .admin-sidebar,.consultant-sidebar{max-height:calc(100dvh - var(--app-header-height) - 32px)}
}
@media(max-width:1100px){
  .app-topbar__identity strong{max-width:180px}
  .app-topbar__utility-link{display:none}
  .overview-card{padding:10px}
  .overview-card .num{font-size:24px}
}
@media(max-width:900px){
  .admin-sidebar,.consultant-sidebar{top:0;border-radius:0;max-height:100dvh}
  .admin-sidebar:not(.open){visibility:hidden}
  .admin-burger,.consultant-burger{min-height:44px;margin-bottom:12px}
}
@media(max-width:760px){
  body{font-size:15px}
  .app-topbar{padding:8px 12px;gap:8px;min-height:60px}
  .app-topbar__brand{max-width:calc(100% - 155px)}
  .app-topbar__identity strong{max-width:100%;font-size:13px}
  .app-topbar__actions>.app-topbar__primary{display:inline-flex;min-height:44px;padding-inline:10px}
  .app-topbar__primary span{display:inline;font-size:12px}
  .app-topbar__utility{padding:0}
  .app-topbar__logout{min-height:44px;padding-inline:8px}
  .app-topbar__logout span{display:none}
  .app-topbar__mobile-nav a{min-height:44px}
  .app-search{flex-basis:100%;max-width:none}
  .page-heading{margin:8px 0 16px}
  .page-heading h1{font-size:23px}
  .page-heading .sub{font-size:13px}
  .wrap,.app-page{padding-inline:12px}
  .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .overview-card{min-height:72px;padding:12px}
  .overview-card .eyebrow{font-size:11px}
  #dash .kpi{padding:12px;min-width:0}
  #dash .kpi .num{font-size:26px}
  #dash .kpi .lbl{font-size:12px}
  #dash .kpi .hint{display:none}
  #dash .dstats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workrail{position:static;padding:10px}
  body[data-app-page=status] .toolbar{position:static;margin-inline:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
  .tabs{width:100%;border-radius:10px}
  .tab{flex:1;padding-inline:6px;font-size:12px;min-height:44px}
  .toolbar select{min-width:0;width:100%;flex-basis:calc(50% - 4px);font-size:16px;min-height:44px}
  .toolbar select:last-of-type{flex-basis:100%}
  .queue-head{flex-wrap:wrap;gap:4px}
  .case-head{padding:14px}
  .case-status{gap:6px}
  .case-group-header{flex-wrap:wrap;gap:6px}
  .filter-chip button{min-width:36px;min-height:36px}
  .btn,.btn.sm,.ui-btn,summary{min-height:44px}
  input,select,textarea{font-size:16px}
  .modal-bg{padding:8px}
  .modal{max-width:100%;max-height:calc(100dvh - 16px);padding:20px 16px;border-radius:14px}
  .modal>.modal-actions{bottom:-20px;margin-inline:-16px;margin-bottom:-20px;padding:12px 16px}
  .modal-actions>.btn{flex:1}
  .lc-panel{max-height:240px}
  .lc-opt{min-height:44px;padding:10px 12px}
  .quote-preview__actions{flex-wrap:wrap}
  .toast-stack{bottom:max(12px,env(safe-area-inset-bottom))}
  .toast,.toast-item{font-size:14px;line-height:1.6}
  .toast-close{min-width:44px;min-height:44px}
  body:not([data-app-page]) .login{padding:24px}
}
@media(max-width:480px){
  .modal [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}
  .modal input,.modal select,.modal textarea{min-width:0}
}
@media(forced-colors:active){
  .tab.on,.overview-card.on,.admin-nav__item[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-2px}
}
@media print{
  .skip-link,.page-eyebrow,.page-heading .sub{display:none}
  .workrail{position:static}
  .case{box-shadow:none}
}
