
:root{
  --navy:#12345b;
  --navy-deep:#0b2542;
  --blue:#2563a6;
  --blue-soft:#edf5fc;
  --teal:#0f7880;
  --teal-soft:#eaf7f7;
  --ink:#16243a;
  --muted:#66758a;
  --line:#dfe6ef;
  --line-soft:#edf1f6;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --surface-3:#f1f5f9;
  --success:#237a57;
  --success-soft:#eaf7f0;
  --warning:#9a6a13;
  --warning-soft:#fff7df;
  --danger:#a43d3d;
  --danger-soft:#fff0ef;
  --shadow:0 8px 28px rgba(26,46,75,.06);
  --radius:14px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--surface-2);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--surface-2)}
body{margin:0;min-height:100vh;background:var(--surface-2);color:var(--ink);font-size:14px;line-height:1.5}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:none}
h1,h2,h3{color:var(--ink);letter-spacing:-.018em}
h1{font-size:28px;line-height:1.2;margin:0 0 8px}
h2{font-size:19px;margin:30px 0 12px}
h3{font-size:16px;margin:18px 0 10px}
p{margin:8px 0 14px}
small,.muted{color:var(--muted)}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* App shell */
.app-shell{display:flex;min-height:100vh}
.sidebar{
  width:252px;position:fixed;inset:0 auto 0 0;z-index:50;
  display:flex;flex-direction:column;background:var(--navy-deep);color:#fff;
  padding:20px 14px 14px;overflow-y:auto
}
.sidebar-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:0 8px 18px}
.brand-link{text-decoration:none!important;color:inherit}
.brand-logo-shell{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:7px 9px;box-shadow:0 5px 16px rgba(0,0,0,.12)}
.brand-logo{display:block;width:176px;max-width:100%;height:auto}
.brand-product{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#afc3d7;font-weight:760;padding-left:3px}
.brand-name{font-size:16px;font-weight:760;line-height:1.1}
.brand-sub{font-size:10px;letter-spacing:.18em;color:#a9bdd4;margin-top:3px}
.sidebar-context{
  background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:12px;margin:0 4px 18px
}
.sidebar-context strong{display:block;color:#fff;font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-kicker{display:block;color:#9eb4cb;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:750;margin-bottom:4px}
.sidebar-nav{display:flex;flex-direction:column;gap:10px;flex:1}
.nav-group{padding:0 2px}
.nav-group-title{padding:8px 10px 5px;color:#718ba7;font-size:9px;font-weight:780;letter-spacing:.13em;text-transform:uppercase}
.nav-item{
  display:flex;align-items:center;gap:10px;color:#c9d7e6;padding:9px 10px;border-radius:9px;
  font-size:12.5px;font-weight:550;transition:background .15s,color .15s
}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-item.active{background:#fff;color:var(--navy-deep);font-weight:700;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.nav-icon{width:18px;text-align:center;font-size:15px;opacity:.9}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.09);padding-top:10px;margin-top:10px}
.app-main{margin-left:252px;min-width:0;flex:1;display:flex;flex-direction:column}
.topbar{
  height:72px;position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;padding:0 28px
}
.topbar-title{display:flex;flex-direction:column}
.topbar-title strong{font-size:15px}
.topbar-kicker{text-transform:uppercase;font-size:9px;color:var(--muted);letter-spacing:.12em;font-weight:750}
.topbar-user{display:flex;align-items:center;gap:10px}
.user-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:800}
.user-meta{display:flex;flex-direction:column;line-height:1.25}
.user-meta strong{font-size:12px}
.user-meta span{font-size:10px;color:var(--muted)}
.mobile-menu{display:none;background:none;color:var(--ink);font-size:22px;padding:6px;border:0}
.account-lock-banner{margin:18px 28px 0;padding:13px 16px;border-radius:11px;background:var(--warning-soft);border:1px solid #efdca4;display:flex;gap:10px;align-items:center}
.account-lock-banner strong{color:#7b5510}
.account-lock-banner span{color:#7b6540;font-size:13px}
.container{width:100%;max-width:1440px;margin:0 auto;padding:28px 30px 44px;flex:1}
.app-footer{display:flex;justify-content:space-between;padding:18px 30px;color:#8794a7;border-top:1px solid var(--line);font-size:11px}
.sidebar-scrim{display:none}

/* Public auth shell */
.public-header{height:84px;background:var(--navy-deep);color:#fff;display:flex;align-items:center;padding:0 28px}
.public-brand{display:flex;align-items:center;gap:13px}
.public-logo-shell{padding:6px 9px;border-radius:9px}
.public-logo-shell .brand-logo{width:174px}
.public-product{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#c9d8e6;font-weight:760}
.public-container{max-width:1100px}
.public-footer{text-align:center;color:#8693a6;padding:28px}

/* Page composition */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}
.page-head h1{margin-bottom:5px}
.page-head .muted{max-width:760px;margin:0}
.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:28px 0 12px}
.section-head h2{margin:0}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.82fr);gap:24px;align-items:start}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stack{display:flex;flex-direction:column;gap:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:15px;margin:18px 0 26px}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;box-shadow:var(--shadow)
}
a.card{color:var(--ink);transition:transform .15s,border-color .15s,box-shadow .15s}
a.card:hover{transform:translateY(-1px);border-color:#c9d6e5;box-shadow:0 12px 30px rgba(26,46,75,.09)}
.card b,.metric-label{display:block;font-size:12px;color:#516176;font-weight:700}
.card strong,.metric-value{display:block;font-size:25px;line-height:1.15;margin-top:10px;font-weight:780;color:var(--ink)}
.card span{display:block;color:var(--muted);margin-top:7px;font-size:12px}
.card h2{margin:0 0 8px;font-size:17px}
.card p:last-child{margin-bottom:0}
.card-accent{border-top:3px solid var(--blue)}
.card-success{border-top:3px solid var(--success)}
.card-teal{border-top:3px solid var(--teal)}
.card-warn{border-top:3px solid #d39a2d}
.card-soft{background:linear-gradient(145deg,#fff,#f8fbfe)}
.hero-panel{
  background:linear-gradient(120deg,var(--navy-deep),var(--navy));
  border-radius:18px;padding:25px 28px;color:#fff;margin-bottom:22px;box-shadow:0 12px 30px rgba(11,37,66,.12)
}
.hero-panel h1,.hero-panel h2{color:#fff;margin:0 0 6px}
.hero-panel p{color:#c8d7e6;max-width:740px;margin:0}
.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.hero-actions .button{background:#fff;color:var(--navy-deep)}
.hero-actions .button.secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.15)}

/* Buttons */
button,.button{
  appearance:none;border:1px solid transparent;background:var(--blue);color:#fff;border-radius:9px;
  padding:9px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;
  gap:7px;font:inherit;font-size:12.5px;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,box-shadow .15s
}
button:hover,.button:hover{background:#1f5792}
.button.secondary,.secondary{background:#eef3f8;color:#314760;border-color:#d9e2ec}
.button.secondary:hover,.secondary:hover{background:#e4ebf3}
.ghost{background:#fff;color:var(--blue);border-color:#c9d6e5}
.ghost:hover{background:var(--blue-soft);border-color:#b9caDC}
.small{padding:6px 9px;font-size:11px}
.danger{background:var(--danger);color:#fff}
.actions{display:flex;gap:6px;flex-wrap:wrap}
.actions form{display:inline-flex}

/* Forms */
form{margin:0}
label{display:block;color:#46556a;font-size:11.5px;font-weight:700;margin:11px 0}
input,select,textarea{
  display:block;width:100%;padding:9px 11px;margin-top:5px;background:#fff;color:var(--ink);
  border:1px solid #cfd8e4;border-radius:9px;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s
}
input:focus,select:focus,textarea:focus{border-color:#78a8d6;box-shadow:0 0 0 3px rgba(37,99,166,.10)}
textarea{resize:vertical;min-height:92px}
input::placeholder,textarea::placeholder{color:#9aa7b8}
.check{font-weight:500;display:flex;gap:7px;align-items:center}
.check input{display:inline;width:auto;margin:0}
.filter-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px 12px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;margin:14px 0 20px;box-shadow:0 3px 14px rgba(26,46,75,.035)
}
.filter-grid:before{content:"Filters";grid-column:1/-1;font-size:11px;color:#5b6b7f;font-weight:780;text-transform:uppercase;letter-spacing:.09em;margin-bottom:-2px}
.filter-grid.compact{grid-template-columns:minmax(280px,2fr) auto}
.filter-grid label{margin:0}
.filter-actions{display:flex;gap:7px;align-items:flex-end;flex-wrap:wrap}
.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.result-count{font-size:11.5px;color:var(--muted);margin:8px 0 9px}

/* Tables */
.table-wrap{
  width:100%;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 3px 16px rgba(26,46,75,.035)
}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.table-wrap table{min-width:860px;border:0;border-radius:0}
th,td{text-align:left;border-bottom:1px solid var(--line-soft);padding:11px 13px;font-size:12px;vertical-align:middle}
th{
  position:sticky;top:0;z-index:1;background:#f3f7fb;color:#536479;font-size:10px;
  text-transform:uppercase;letter-spacing:.055em;font-weight:800;white-space:nowrap
}
tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#fbfdff}
td a{font-weight:650}
.inline-price{width:118px!important;display:inline-block!important;margin:0 7px 0 0!important}
.status-pill{
  display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--surface-3);color:#536479;
  font-size:10px;font-weight:750;letter-spacing:.02em
}
.empty-state{
  padding:40px 22px;text-align:center;background:#fff;border:1px dashed #cad5e2;border-radius:var(--radius);color:var(--muted)
}
.empty-state strong{display:block;color:var(--ink);font-size:14px;margin-bottom:5px}

/* Alerts */
.alert,.error{padding:12px 14px;border-radius:10px;margin:0 0 18px;font-size:13px}
.alert{background:var(--warning-soft);border:1px solid #ead8a5;color:#725622}
.error{background:var(--danger-soft);border:1px solid #efc7c4;color:#8b3434}
.notice{padding:13px 15px;border-radius:10px;background:var(--blue-soft);border:1px solid #d4e6f6;color:#375d7f}


.auth-logo{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0 auto 20px}
.auth-logo img{display:block;width:218px;max-width:78%;height:auto}
.auth-logo span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:780}

/* Auth */
.narrow{max-width:520px;margin:48px auto}
.narrow.card{padding:30px}
.auth-title{text-align:center;margin-bottom:22px}

/* Pricing */
.price-section{margin-top:28px}
.price-section .table-wrap table{min-width:600px}

/* Responsive */
@media(max-width:1100px){
  .sidebar{width:224px}
  .app-main{margin-left:224px}
  .split{grid-template-columns:1fr}
}
@media(max-width:820px){
  .sidebar{transform:translateX(-100%);transition:transform .2s ease;width:260px;box-shadow:16px 0 40px rgba(0,0,0,.22)}
  .sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-open .sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(9,25,43,.42);z-index:45}
  .app-main{margin-left:0}
  .topbar{padding:0 16px;height:64px}
  .mobile-menu{display:block}
  .topbar-title{margin-right:auto;margin-left:10px}
  .user-meta{display:none}
  .container{padding:22px 16px 36px}
  .account-lock-banner{margin:14px 16px 0;align-items:flex-start;flex-direction:column;gap:3px}
  .page-head{flex-direction:column}
  .grid{grid-template-columns:1fr}
  .filter-grid.compact{grid-template-columns:1fr}
  .hero-panel{padding:22px 20px;border-radius:14px}
  .app-footer{padding:16px;flex-direction:column;gap:4px}
}
@media(max-width:520px){
  h1{font-size:24px}
  .cards{grid-template-columns:1fr}
  .topbar-user{display:none}
  .public-header{padding:0 16px}
  .public-logo-shell .brand-logo{width:150px}
  .public-product{display:none}
}

/* Background processing */
.job-status-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}
.job-status-head h2{margin:8px 0 0}
.job-status-head>strong{font-size:28px;color:var(--blue)}
.progress-track{height:12px;border-radius:999px;background:#e8eef5;overflow:hidden;margin:14px 0 22px}
.progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .35s ease}
.job-meta-cards{margin-bottom:18px}
.mini-progress{width:100px;height:6px;border-radius:999px;background:#e8eef5;overflow:hidden;display:inline-block;margin-right:7px}
.mini-progress span{display:block;height:100%;background:var(--blue);border-radius:999px}
.api-scope-group{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.api-scope-group h3{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 8px}.api-scope{padding:5px 0;margin:0!important;align-items:flex-start}.api-scope input{margin-top:2px}.api-key-create{max-height:78vh;overflow:auto}
/* Full Assignment workspace */
.assignment-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:14px;box-shadow:var(--shadow)}.assignment-hero h1{margin:4px 0 8px}.assignment-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.assignment-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#58677b}.assignment-hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rating-chip{min-width:125px;background:var(--blue-soft);border:1px solid #d6e6f5;border-radius:12px;padding:10px 14px;text-align:center}.rating-chip span,.rating-chip small{display:block;color:var(--muted);font-size:10px}.rating-chip strong{display:block;font-size:22px;color:var(--navy);margin:2px 0}.assignment-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:14px;scrollbar-width:thin}.assignment-tab{flex:none;padding:8px 11px;border:1px solid var(--line);background:#fff;border-radius:9px;color:#526278;font-size:11.5px;font-weight:700;white-space:nowrap}.assignment-tab:hover{border-color:#b8c9da;background:#f8fbfe}.assignment-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.cycle-list{display:flex;flex-direction:column;gap:8px}.cycle-row{display:grid;grid-template-columns:90px 1fr;gap:3px 9px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink)}.cycle-row small{grid-column:2;color:var(--muted)}.cycle-row.active{border-color:#aac9e6;background:var(--blue-soft)}.workflow-steps{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}.workflow-steps>span{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.workflow-steps>div{padding-bottom:18px}.workflow-steps small{display:block;color:var(--muted)}.compact-result{padding:0;margin-bottom:10px}.compact-result summary{padding:14px 16px;cursor:pointer}.compact-result .result-prose{border-top:1px solid var(--line);padding:16px}.result-prose{white-space:normal;line-height:1.65;color:#26374c;max-height:620px;overflow:auto}.result-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.ai-workspace-split{grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr)}
@media(max-width:900px){.assignment-hero{flex-direction:column}.assignment-hero-actions{width:100%}.ai-workspace-split{grid-template-columns:1fr}}
.ratio-chart-list{display:flex;flex-direction:column;gap:12px}.ratio-chart-row{display:grid;grid-template-columns:minmax(160px,250px) 1fr 90px;gap:12px;align-items:center}.ratio-chart-label small{display:block;color:var(--muted)}.ratio-chart-track{height:10px;background:#e9eef5;border-radius:999px;overflow:hidden}.ratio-chart-track span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:999px}.ratio-chart-value{text-align:right;font-weight:750}@media(max-width:700px){.ratio-chart-row{grid-template-columns:1fr}.ratio-chart-value{text-align:left}}
.source-picker{border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin:12px 0;background:#fafcfe}.source-picker summary{cursor:pointer;font-weight:700}.source-picker-static{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0;background:#fafcfe;max-height:250px;overflow:auto}

/* Guided assignment workflow */
.assignment-flow-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:18px 0 20px;box-shadow:0 10px 28px rgba(15,39,66,.05)}
.assignment-flow-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.assignment-flow-head h2{margin:4px 0 5px}
.workflow-percent{display:flex;flex-direction:column;align-items:flex-end;min-width:90px}
.workflow-percent strong{font-size:28px;color:var(--blue)}
.workflow-percent span{font-size:12px;color:var(--muted)}
.assignment-step-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:thin}
.assignment-step{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;white-space:nowrap;font-size:12px;color:var(--muted);text-decoration:none;background:#fff}
.assignment-step.done{background:#f1f8f5;color:#225c49;border-color:#cfe9de}
.assignment-step.current{background:#eef5ff;color:#174e87;border-color:#c8dcf3;font-weight:700}
.step-dot{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#eef2f7;font-size:11px}
.assignment-step.done .step-dot{background:#dcefe7}
.assignment-step.current .step-dot{background:#dbe9f8}
.recommended-action{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:14px 16px;border-radius:14px;background:#f7f9fc;border:1px solid var(--line)}
.recommended-action>div:first-child{display:flex;flex-direction:column;gap:3px}
.recommended-action small{color:var(--muted)}
.advanced-editor{margin-top:16px}
.advanced-editor>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.advanced-editor>summary span{font-size:12px;color:var(--muted);font-weight:400}
.advanced-editor-body{padding-top:16px}
@media(max-width:800px){
 .assignment-flow-head,.recommended-action{flex-direction:column;align-items:stretch}
 .workflow-percent{align-items:flex-start}
}

.assignment-command-center{margin:18px 0}
.feature-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.feature-action{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe;text-decoration:none;color:inherit;min-height:76px}
.feature-action:hover{border-color:#b9cde3;background:#f5f9fd}
.feature-action strong{font-size:14px}
.feature-action span{font-size:12px;color:var(--muted)}
.feature-action-form{padding:0}
.feature-action-form button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:14px;background:transparent;color:inherit;border:0;text-align:left}
.feature-action-form button:hover{background:transparent}
.data-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.data-summary-grid>div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfd;display:flex;flex-direction:column;gap:4px}
.data-summary-grid small{color:var(--muted)}
@media(max-width:1000px){.feature-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.feature-action-grid,.data-summary-grid{grid-template-columns:1fr}}

/* Assignment source-document selectors and restored ratio engine */
.source-picker-static{border:1px solid var(--line);border-radius:14px;padding:12px;margin:12px 0;background:#fbfcfe;max-height:300px;overflow:auto}
.document-choice{display:flex!important;align-items:flex-start!important;gap:9px;padding:9px 6px;border-bottom:1px solid #edf1f5}
.document-choice:last-child{border-bottom:0}.document-choice span{display:flex;flex-direction:column;min-width:0}.document-choice small{color:var(--muted);margin-top:2px}.disabled-choice{opacity:.58}
.ratio-period-table input,.ratio-period-table select{min-width:105px}.ratio-engine-table{min-width:1100px}.ratio-engine-table th,.ratio-engine-table td{vertical-align:top}.ratio-engine-table .sticky-metric{position:sticky;left:0;z-index:2;background:#fff;min-width:240px;max-width:280px}.ratio-engine-table th.sticky-metric{z-index:4;background:#f7f9fc}.ratio-metric-input{min-width:130px}.ratio-formula-input{min-width:130px;margin-top:5px;font-size:11px;background:#f7f9fc}.new-period-row{background:#fafcff}


/* Compact Assignment workspace — modelled on the cleaner main portal layout */
.assignment-compact-shell{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;margin:0 0 12px;box-shadow:0 6px 18px rgba(15,39,66,.04)
}
.assignment-compact-head{
  display:grid;grid-template-columns:minmax(300px,.9fr) minmax(520px,1.5fr);
  gap:26px;align-items:start
}
.assignment-identity h1{font-size:22px;margin:0 0 3px;line-height:1.2}
.assignment-identity-meta{font-size:12px;color:var(--muted);margin-bottom:8px}
.assignment-status-line{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.compact-rating{font-size:11px;color:var(--muted)}
.compact-rating strong{color:var(--navy);font-size:13px}
.cycle-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.cycle-controls label{font-size:10px;font-weight:700;color:#53647a;margin:0}
.cycle-controls select,.cycle-controls input{min-height:34px;padding:6px 9px;margin-top:4px}
.renew-inline{display:flex;gap:8px;align-items:end;margin:0}
.renew-inline button{min-height:34px;padding:7px 12px}
.assignment-action-groups{display:flex;flex-direction:column;gap:8px}
.compact-action-row{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  padding-bottom:8px;border-bottom:1px solid #edf1f5
}
.compact-action-row:last-child{border-bottom:0;padding-bottom:0}
.compact-action-row form{margin:0}
.compact-action-row .button,.compact-action-row button{
  min-height:34px;padding:7px 11px;font-size:11px;border-radius:8px
}
.compact-action-label{
  flex:0 0 54px;font-size:8px;letter-spacing:.11em;font-weight:800;color:#7b8899
}
.compact-next-step{
  margin-top:13px;padding-top:11px;border-top:1px solid #edf1f5;
  display:flex;justify-content:space-between;align-items:center;gap:16px
}
.compact-next-step>div:first-child{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px}
.compact-next-step strong{font-size:12px}
.compact-next-step small{color:var(--muted);font-size:11px}
.compact-next-actions{display:flex;align-items:center;gap:8px}
.workflow-mini-percent{font-size:12px;font-weight:800;color:var(--blue)}
.assignment-tabs-neat{
  gap:0;padding:0 8px 6px;margin-bottom:18px;border-bottom:1px solid var(--line);
  scrollbar-width:thin
}
.assignment-tabs-neat .assignment-tab{
  border:0;border-radius:0;background:transparent;padding:9px 11px;
  font-size:10.5px;color:#506078;border-bottom:2px solid transparent
}
.assignment-tabs-neat .assignment-tab:hover{background:transparent;color:var(--blue)}
.assignment-tabs-neat .assignment-tab.active{
  background:transparent;color:var(--blue);border-bottom-color:var(--blue)
}
.advanced-view-banner{
  display:flex;gap:12px;align-items:center;margin:-6px 0 14px;padding:8px 10px;
  border:1px solid var(--line);border-radius:8px;background:#f8fbfe;font-size:11px
}
.advanced-view-banner a{color:var(--blue)}
.assignment-command-center{display:none!important}

@media(max-width:1050px){
  .assignment-compact-head{grid-template-columns:1fr}
  .compact-next-step{align-items:flex-start}
}
@media(max-width:700px){
  .compact-next-step{flex-direction:column}
  .compact-next-step>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
  .compact-action-label{flex:0 0 auto}
}


/* PayPal wallet checkout */
.paypal-topup-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,.9fr);gap:28px;align-items:start}
.money-input-wrap{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;margin-top:5px}
.money-input-wrap>span{padding:0 11px;font-size:11px;font-weight:700;color:#5d6e83;border-right:1px solid var(--line);height:40px;display:flex;align-items:center;background:#f8fafc}
.money-input-wrap input{border:0!important;border-radius:0!important;margin:0!important;min-height:40px!important;box-shadow:none!important;flex:1}
.paypal-estimate{margin-top:12px;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.paypal-estimate>div{display:flex;justify-content:space-between;gap:14px;padding:8px 10px;font-size:10.5px;border-bottom:1px solid #edf1f5}
.paypal-estimate>div:last-child{border-bottom:0}
.paypal-estimate span{color:var(--muted)}
.paypal-estimate strong{color:var(--navy)}
.paypal-estimate .paypal-net{background:#f4f8fc}
.paypal-estimate .paypal-net strong{color:var(--blue);font-size:12px}
.paypal-checkout-panel{padding-top:22px}
.paypal-status{margin-bottom:10px;padding:10px 11px;border-radius:8px;font-size:10.5px;line-height:1.4;border:1px solid}
.paypal-status.info{background:#eef6ff;border-color:#c9def6;color:#245c93}
.paypal-status.success{background:#eff9f3;border-color:#bfe4cc;color:#176b3b}
.paypal-status.warning{background:#fff8e8;border-color:#ecd9a7;color:#8a6514}
.paypal-status.error{background:#fff1ef;border-color:#efc0b9;color:#9c372c}
.paypal-security-note{margin:8px 0 0;font-size:9.5px;line-height:1.4}
#paypal-button-container{min-height:45px}
@media(max-width:800px){.paypal-topup-grid{grid-template-columns:1fr}.paypal-checkout-panel{padding-top:0}}

/* Assignment live-workflow parity: persistent background processing, extraction progress and run visibility. */
.assignment-live-strip{margin:14px 0 10px;padding:12px 14px;border:1px solid var(--border,#dce3eb);border-radius:12px;background:var(--card,#fff)}
.assignment-live-strip-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}
.assignment-live-strip-head>div{display:flex;flex-direction:column;gap:2px}.assignment-live-strip-head small{color:var(--muted,#687386)}
.assignment-live-jobs{display:grid;gap:7px}.assignment-live-job{display:grid;grid-template-columns:minmax(180px,1fr) minmax(100px,240px) 46px;align-items:center;gap:12px;padding:8px 10px;border-radius:9px;text-decoration:none;background:rgba(20,78,146,.045);color:inherit}
.assignment-live-job>span:first-child{display:flex;flex-direction:column;min-width:0}.assignment-live-job small{color:var(--muted,#687386);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignment-live-job>b{text-align:right}
.assignment-live-progress,.document-runtime-progress>span{display:block;height:7px;border-radius:999px;background:rgba(30,55,85,.12);overflow:hidden}.assignment-live-progress i,.document-runtime-progress i{display:block;height:100%;background:currentColor;border-radius:999px;transition:width .25s ease}
.document-runtime{min-width:175px}.document-runtime-progress{margin-top:7px;max-width:240px}.document-runtime-progress small{display:block;margin-top:4px;color:var(--muted,#687386)}.document-ready-text{display:block;margin-top:5px;color:#16784a}.document-error-text{display:block;margin-top:5px;color:#b42318;white-space:normal}.status-ready{border-color:rgba(22,120,74,.3)!important}.status-failed{border-color:rgba(180,35,24,.3)!important}.status-processing{border-color:rgba(20,78,146,.3)!important}
.assignment-runtime-complete{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 14px;padding:10px 14px;border:1px solid rgba(22,120,74,.28);border-radius:10px;background:rgba(22,120,74,.055)}.assignment-runtime-complete>span{display:flex;flex-direction:column;gap:2px}.assignment-runtime-complete small{color:var(--muted,#687386)}
.compact-rating small{font-weight:400;opacity:.78;margin-left:2px}
@media(max-width:800px){.assignment-live-job{grid-template-columns:1fr 44px}.assignment-live-progress{grid-column:1/-1;grid-row:2}.assignment-runtime-complete{align-items:flex-start;flex-direction:column}.assignment-document-table{min-width:760px}}

/* Assignment upload: separate transfer progress from background extraction. */
.assignment-upload-status{margin-top:14px;padding:13px 14px;border:1px solid #d9e4ef;border-radius:12px;background:#f8fbff}
.assignment-upload-status[hidden]{display:none!important}
.assignment-upload-status-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.assignment-upload-status-head strong{font-size:13px}
.assignment-upload-status-head span{font-size:12px;font-weight:700;color:#24476b}
.assignment-upload-progress{height:9px;border-radius:999px;background:#e5edf5;overflow:hidden}
.assignment-upload-progress i{display:block;height:100%;border-radius:inherit;background:currentColor;color:#1f67b3;transition:width .18s linear}
.assignment-upload-status .upload-detail{display:block;margin-top:8px;color:#61758a;line-height:1.45}

/* Assignment parity: reviewed financial-spread presentation. */
.processing-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid var(--blue);background:#f7fbff}
.processing-callout p{margin:3px 0 0}
.financial-spread-workspace{padding:0;overflow:hidden}
.financial-spread-workspace>.section-head{padding:18px 20px 14px;margin:0;border-bottom:1px solid var(--line)}
.financial-spread-workspace>.spread-warning-box{margin:14px 20px}
.spread-statement-title{margin:0;padding:13px 20px 9px;background:#f7f9fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.financial-spread-matrix{margin:0;border:0;border-radius:0;max-height:none}
.financial-spread-matrix table{min-width:760px;margin:0}
.financial-spread-matrix th{position:sticky;top:0;background:#fbfcfe;z-index:1;white-space:nowrap}
.financial-spread-matrix th:not(:first-child),.financial-spread-matrix td.number-cell{text-align:right;font-variant-numeric:tabular-nums}
.financial-spread-matrix td:first-child{min-width:260px}
.financial-spread-matrix td:last-child{min-width:120px}
.spread-warning-box{padding:10px 12px;border:1px solid #ead9a9;border-radius:9px;background:#fff9e9;color:#765a15;font-size:10.5px;line-height:1.55}
.spread-warning-box ul{margin:5px 0 0;padding-left:18px}
.structured-result{display:grid;gap:10px;margin-top:14px}
.structured-result-section{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.structured-result-section>strong{display:block;padding:9px 11px;background:#f7f9fc;border-bottom:1px solid var(--line);font-size:11px}
.structured-result-table{width:100%;border-collapse:collapse}
.structured-result-table th,.structured-result-table td{padding:8px 10px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top;font-size:10.5px}
.structured-result-table th{width:30%;color:#52657a;background:#fbfcfe}
.structured-result-list{margin:0;padding:9px 12px 9px 28px}.structured-result-list li{margin:4px 0;font-size:10.5px;line-height:1.45}
.document-extraction-details{margin-top:7px;max-width:430px}.document-extraction-details summary{cursor:pointer;color:var(--blue);font-size:10px;font-weight:700}.document-extraction-details>div{margin-top:6px;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:#fbfcfe}.document-extraction-details p{margin:6px 0 0;font-size:9.5px;line-height:1.45;color:#53677c;white-space:normal;word-break:break-word}

/* Financial Spread parity: original-portal multi mapping selector. */
.spread-reviewed-mapping-form{margin:0}
.spread-mapping-cell{min-width:260px;vertical-align:top}
.spread-multi-map{border:1px solid #d7e0ea;border-radius:10px;background:#fff;min-width:240px}
.spread-multi-map>summary{cursor:pointer;padding:8px 10px;font-weight:700;font-size:12px;list-style:none}
.spread-multi-map>summary::-webkit-details-marker{display:none}
.spread-multi-map>summary:after{content:'▾';float:right;color:#60738a}
.spread-multi-map[open]>summary:after{content:'▴'}
.spread-multi-map-options{max-height:280px;overflow:auto;border-top:1px solid #e5ebf1;padding:7px;min-width:280px}
.spread-multi-map-options .check.compact{display:flex;align-items:flex-start;gap:8px;padding:6px 5px;margin:0;border:0;background:transparent}
.spread-multi-map-options .check.compact:hover{background:#f4f7fb}
.spread-multi-map-options .check.compact span{display:flex;flex-direction:column;line-height:1.2}
.spread-multi-map-options .check.compact small{font-size:10px;color:#73839a;margin-top:2px}
.mapping-state{display:block;margin-top:5px;color:#6b7a90}
.spread-mapping-save{margin-top:16px;align-items:center;gap:12px}
.financial-spread-matrix th,.financial-spread-matrix td{white-space:nowrap}
.financial-spread-matrix th:first-child,.financial-spread-matrix td:first-child{min-width:260px;white-space:normal}

/* Compact source-document picker filenames */
.source-picker-static .document-choice {
  align-items: center;
  gap: 10px;
}
.source-picker-static .document-choice > span {
  min-width: 0;
  flex: 1 1 auto;
  display: block;
}
.source-picker-static .document-choice strong {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.source-picker-static .document-choice small {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.25;
}

/* Compact Ratio workspace typography */
.ratio-engine-table th,
.ratio-engine-table td{
  font-size:11px;
  line-height:1.35;
  padding:8px 10px;
}
.ratio-engine-table .sticky-metric,
.ratio-engine-table .sticky-metric strong,
.ratio-engine-table td strong,
.ratio-engine-table td b{
  font-size:11.5px!important;
  line-height:1.35!important;
  margin:0!important;
  font-weight:700;
}
.ratio-engine-table .sticky-metric strong,
.ratio-engine-table td strong{
  display:block;
}
.ratio-engine-table small{
  font-size:9.5px;
  line-height:1.35;
}
.ratio-engine-table input,
.ratio-engine-table select{
  font-size:11.5px;
  min-height:34px;
  padding:6px 8px;
}
.ratio-period-table th,
.ratio-period-table td{
  font-size:11px;
  line-height:1.35;
  padding:8px 10px;
}
.ratio-period-table input,
.ratio-period-table select{
  font-size:11.5px;
  min-height:34px;
  padding:6px 8px;
}

/* Compact calculated Ratio results table */
.calculated-ratios-table th,
.calculated-ratios-table td{
  font-size:11px;
  line-height:1.35;
  padding:8px 12px;
  vertical-align:middle;
}
.calculated-ratios-table td:first-child{
  min-width:220px;
}
.calculated-ratios-table td:first-child strong{
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:700;
  margin:0!important;
}
.calculated-ratios-table td:last-child small{
  font-size:9.5px;
  line-height:1.35;
}

.chart-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px}
.chart-summary-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.chart-summary-card small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-summary-card strong{font-size:22px;line-height:1.15}.chart-summary-card span{font-size:11px;color:var(--muted)}
.chart-category{margin:0 0 26px}.chart-category .section-head{margin-bottom:12px}.ratio-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ratio-trend-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:15px;min-width:0}.ratio-trend-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}
.ratio-trend-head strong{display:block;font-size:14px;line-height:1.3}.ratio-trend-head small{display:block;margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.ratio-trend-latest{text-align:right;white-space:nowrap}.ratio-trend-latest b{display:block;font-size:17px}.ratio-trend-latest span{font-size:10px;color:var(--muted)}.ratio-trend-latest span.up{color:#16794b}.ratio-trend-latest span.down{color:#a33b36}
.chart-data-warning{font-size:10px;padding:6px 8px;border:1px solid #eed4a6;background:#fff8e9;border-radius:8px;margin-bottom:7px;color:#76551e}
.ratio-trend-svg{display:block;width:100%;height:175px;background:linear-gradient(to bottom,#fff,#fbfcfe);border-radius:8px}.chart-axis{stroke:#d9e1eb;stroke-width:.55;vector-effect:non-scaling-stroke}
.chart-line{fill:none;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:var(--blue);stroke-width:1.6;vector-effect:non-scaling-stroke}
.ratio-period-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px;margin-top:5px}.ratio-period-values div{background:#f7f9fc;border-radius:8px;padding:7px 8px;text-align:center;min-width:0}.ratio-period-values small{display:block;color:var(--muted);font-size:10px}.ratio-period-values strong{display:block;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1000px){.chart-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ratio-chart-grid{grid-template-columns:1fr}}@media(max-width:600px){.chart-dashboard-summary{grid-template-columns:1fr}.ratio-trend-head{flex-direction:column}.ratio-trend-latest{text-align:left}.ratio-trend-svg{height:150px}}
@media print{.assignment-tabs,.assignment-live-strip,.assignment-compact-shell,.page-head-actions{display:none!important}.ratio-chart-grid{grid-template-columns:1fr 1fr!important;gap:8px}.ratio-trend-card{break-inside:avoid;padding:10px}.ratio-trend-svg{height:125px}}


/* Assignment Summary version browser */
.summary-generate-card{margin-bottom:18px}
.summary-generate-card .source-picker-static{max-height:260px}
.summary-history-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
.summary-history-nav{padding:14px;position:sticky;top:16px}
.summary-history-nav .section-head{margin-bottom:10px}
.summary-version-list{display:flex;flex-direction:column;gap:7px;max-height:680px;overflow:auto;padding-right:3px}
.summary-version-item{appearance:none;width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px 11px;text-align:left;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:5px;box-shadow:none}
.summary-version-item:hover{border-color:#aac4e5;background:#f8fbff}
.summary-version-item.active{border-color:var(--blue);background:#f1f7ff;box-shadow:inset 3px 0 0 var(--blue)}
.summary-version-item>span:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center;width:100%}
.summary-version-item strong{font-size:12px;line-height:1.2}.summary-version-item small{font-size:9px;color:var(--muted);white-space:nowrap}
.summary-version-meta{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.summary-history-reader{padding:0;overflow:hidden;min-height:520px}
.summary-version-panel{display:none;padding:20px 22px}.summary-version-panel.active{display:block}
.summary-reader-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}
.summary-reader-head>div:first-child{min-width:0}.summary-reader-head h2{font-size:18px;margin:7px 0 3px}.summary-reader-head p{margin:0;font-size:11px}
.summary-evidence-strip{font-size:11px;line-height:1.5;background:#f6f9fd;border:1px solid var(--border);border-radius:9px;padding:9px 11px;margin-bottom:16px;color:var(--muted)}
.summary-evidence-strip strong{color:var(--ink)}
.summary-reader-prose{font-size:13px;line-height:1.7;max-width:900px;white-space:normal}
.summary-edit-panel{margin-top:20px}
@media(max-width:900px){.summary-history-shell{grid-template-columns:1fr}.summary-history-nav{position:static}.summary-version-list{max-height:260px}.summary-reader-head{flex-direction:column}}

.peer-context-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 0 14px}.peer-context-strip>div{min-width:190px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:2px}.peer-context-strip small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.peer-context-strip strong{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.peer-context-strip span{font-size:10px;color:var(--muted)}
.peer-analysis-section{margin-bottom:18px;padding:18px}.peer-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:10px}.peer-compare-table{min-width:760px;width:100%;border-collapse:separate;border-spacing:0;font-size:11px}.peer-compare-table th,.peer-compare-table td{padding:9px 11px;vertical-align:middle;border-bottom:1px solid var(--border);white-space:nowrap;text-align:right}.peer-compare-table th{font-size:9px;text-transform:uppercase;letter-spacing:.04em;background:#f6f8fb;color:var(--muted);position:sticky;top:0;z-index:2}.peer-compare-table th:first-child,.peer-compare-table td:first-child{text-align:left;position:sticky;left:0;z-index:1;background:#fff;min-width:230px;max-width:300px;white-space:normal}.peer-compare-table th:first-child{z-index:3;background:#f6f8fb}.peer-compare-table td:first-child strong{display:block;font-size:11px;line-height:1.3}.peer-compare-table td:first-child small,.peer-compare-table th small{display:block;font-size:9px;line-height:1.25;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;margin-top:2px}.peer-compare-table tbody tr:last-child td{border-bottom:0}.peer-compare-table tbody tr:hover td,.peer-compare-table tbody tr:hover td:first-child{background:#fafbfd}

/* Draft Rationale version browser */
.rationale-history-reader{min-height:620px}
.rationale-reader-prose{max-width:980px;font-size:13px;line-height:1.72}
.rationale-edit-panel textarea{min-height:520px;font-family:inherit;line-height:1.55}
@media(max-width:900px){.rationale-history-reader{min-height:0}.rationale-edit-panel textarea{min-height:380px}}


/* Assignment Intelligence version history */
.intelligence-action-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-bottom:18px}
.intelligence-run-card,.intelligence-followup-card{min-width:0}
.intelligence-history-shell{margin-top:4px}
.intelligence-history-nav{align-self:start}
.intelligence-history-reader{min-height:520px}
.intelligence-reader-prose{font-size:13px;line-height:1.65;max-width:none}
.intelligence-followup-history{margin-top:16px}
.intelligence-followup-item{padding:12px 0;border-bottom:1px solid var(--border)}
.intelligence-followup-item:last-child{border-bottom:0}
.intelligence-followup-item>small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}
.intelligence-followup-item .result-prose{font-size:12px;line-height:1.55;max-height:220px;overflow:auto}
@media(max-width:980px){.intelligence-action-grid{grid-template-columns:1fr}}


/* Assignment professional cleanup */
.assignment-rating-badge{display:inline-grid;grid-template-columns:auto auto;grid-template-areas:"label label" "rating score" "method method";align-items:end;column-gap:8px;min-width:126px;padding:7px 11px;border:1px solid var(--border);border-radius:10px;background:#fff;line-height:1}
.assignment-rating-badge .assignment-rating-label{grid-area:label;font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:4px}
.assignment-rating-badge strong{grid-area:rating;font-size:22px;line-height:1;color:var(--ink);font-weight:800}
.assignment-rating-badge small{grid-area:score;font-size:10px;color:var(--muted);padding-bottom:2px}
.assignment-rating-badge em{grid-area:method;font-size:9px;color:var(--muted);font-style:normal;margin-top:4px}
.methodology-inline{display:flex;align-items:end;gap:7px}
.methodology-inline label{margin:0;min-width:190px;font-size:10px}
.methodology-inline select{height:36px;font-size:11px;padding:6px 28px 6px 9px}
.methodology-inline button{height:36px;margin:0;padding:0 12px}

.review-workspace-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:16px;margin-bottom:18px}
.review-upload-form{display:grid;gap:10px}
.review-upload-form input[type=file]{font-size:11px}
.review-run-card .source-picker-static{max-height:360px;overflow:auto}
.review-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;margin:0 0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:11px}
.review-resolution-form{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:12px}
.review-resolution-form label{margin:0;font-size:10px}
.review-resolution-form button{margin:0}

.activity-log-card{padding:18px}
.assignment-activity-table{width:100%;font-size:11px}
.assignment-activity-table th{font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.assignment-activity-table td,.assignment-activity-table th{padding:9px 10px;vertical-align:top}
.assignment-activity-table td:first-child{white-space:nowrap;width:145px}
.assignment-activity-table td:nth-child(2){min-width:150px}
.assignment-activity-table td:nth-child(3){width:90px}
.assignment-activity-table td:nth-child(4){min-width:180px}
.assignment-activity-table strong{font-size:11px!important;line-height:1.3!important}
.activity-role{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700;background:#f7f9fc}
.activity-detail{white-space:normal;min-width:240px;color:var(--muted);line-height:1.4}
.activity-usage-panel{margin-top:14px}
.activity-usage-panel summary{font-size:12px}

.versions-compact .card h2{font-size:15px!important;line-height:1.25!important}
.versions-compact table{font-size:10.5px!important}
.versions-compact table th{font-size:8.5px!important;padding:8px!important}
.versions-compact table td{font-size:10.5px!important;padding:8px!important;line-height:1.35!important}
.versions-compact table td strong,.versions-compact table td a{font-size:10.5px!important;line-height:1.35!important}
.versions-compact .status-pill{font-size:8.5px!important}
.versions-compact .document-error-text{font-size:9px!important}

@media(max-width:1000px){
  .review-workspace-grid{grid-template-columns:1fr}
  .review-resolution-form{grid-template-columns:1fr}
  .methodology-inline{width:100%}
  .methodology-inline label{flex:1}
}

.document-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.document-row-actions form{margin:0}.danger-outline{background:#fff!important;color:#a33b36!important;border:1px solid #d9a5a2!important}.danger-outline:hover:not(:disabled){background:#fff6f5!important;border-color:#bf7772!important}.danger-outline:disabled{opacity:.45;cursor:not-allowed}


/* Assignment checkbox alignment — shared across mappings, document pickers and review lists */
.check,
.check.compact,
.document-choice,
.source-picker-static .document-choice,
.spread-multi-map-options .check.compact{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}

.check > input[type="checkbox"],
.check.compact > input[type="checkbox"],
.document-choice > input[type="checkbox"],
.source-picker-static .document-choice > input[type="checkbox"],
.spread-multi-map-options .check.compact > input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  flex:0 0 14px!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
  align-self:center!important;
}

.check > span,
.check.compact > span,
.document-choice > span,
.source-picker-static .document-choice > span,
.spread-multi-map-options .check.compact > span{
  min-width:0;
  margin:0!important;
}

.spread-multi-map-options .check.compact{
  min-height:38px;
  padding:6px 7px!important;
}

.spread-multi-map-options .check.compact span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.25;
}

.spread-multi-map-options .check.compact small{
  margin-top:2px!important;
  line-height:1.2;
}

.source-picker-static .document-choice{
  min-height:44px;
  padding:8px 6px!important;
}

.source-picker-static .document-choice > span{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
}

/* Standalone Assignment table checkboxes use the same physical size. */
.assignment-compact-shell input[type="checkbox"],
.ratio-engine-table input[type="checkbox"]{
  width:14px;
  height:14px;
}


/* Compact, low-visual-weight Assignment source-document picker */
.source-picker-static{
  margin:8px 0!important;
  padding:7px 9px!important;
  max-height:205px!important;
  border-radius:9px!important;
  background:#fff!important;
  border:1px solid #dfe6ee!important;
}

.source-picker-static > .section-head{
  margin:0!important;
  padding:2px 2px 6px!important;
  min-height:0!important;
}

.source-picker-static > .section-head strong{
  display:block!important;
  font-size:11.5px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:var(--ink)!important;
}

.source-picker-static .document-choice{
  min-height:34px!important;
  padding:5px 4px!important;
  gap:7px!important;
  border-bottom:1px solid #edf1f5!important;
  border-radius:5px;
}

.source-picker-static .document-choice:hover:not(.disabled-choice){
  background:#f7f9fc;
}

.source-picker-static .document-choice > input[type="checkbox"]{
  width:13px!important;
  height:13px!important;
  min-width:13px!important;
  min-height:13px!important;
  flex-basis:13px!important;
}

.source-picker-static .document-choice strong{
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:650!important;
}

.source-picker-static .document-choice small{
  font-size:8.75px!important;
  line-height:1.15!important;
  margin-top:2px!important;
  color:#6f8093!important;
}

.source-picker-static .disabled-choice{
  opacity:.42!important;
}

.source-picker-static .disabled-choice:hover{
  background:transparent!important;
}

.summary-generate-card .source-picker-static,
.review-run-card .source-picker-static,
.intelligence-run-card .source-picker-static{
  max-height:205px!important;
}


/* Assignment Uploads: keep document actions visible and compact */
.assignment-document-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed;
}
.assignment-document-table th:first-child,
.assignment-document-table td:first-child{
  width:28%;
}
.assignment-document-table th:nth-child(2),
.assignment-document-table td:nth-child(2){
  width:13%;
}
.assignment-document-table th:nth-child(3),
.assignment-document-table td:nth-child(3){
  width:8%;
}
.assignment-document-table th:nth-child(4),
.assignment-document-table td:nth-child(4){
  width:30%;
}
.assignment-document-table th:nth-child(5),
.assignment-document-table td:nth-child(5){
  width:21%;
}
.assignment-document-table td:first-child strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px!important;
}
.assignment-document-table td:first-child small{
  font-size:9px!important;
}
.document-action-cell{
  overflow:visible!important;
}
.document-row-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  min-width:0;
}
.document-row-actions form{
  margin:0!important;
  width:100%;
}
.document-row-actions .small{
  width:100%;
  min-width:0;
  padding:7px 8px!important;
  font-size:10px!important;
  white-space:nowrap;
}
@media(max-width:800px){
  .assignment-document-table{min-width:640px!important}
}

/* Credit workspace parity + searchable lists */
.workspace-list-search{display:flex;align-items:center;gap:12px;margin:0 0 14px}.workspace-list-search input{max-width:520px;margin:0}.workspace-list-search span{font-size:11px;color:var(--muted);white-space:nowrap}
.select-filter-input{margin-bottom:5px!important}.credit-app-list-shell{align-items:start}
.credit-app-subline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.credit-risk-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.credit-risk-cards .card{padding:13px 15px;min-width:0}.credit-risk-cards small{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.credit-risk-cards strong{display:block;font-size:20px;line-height:1.15;margin-top:4px}.credit-risk-cards span{display:block;font-size:9px;line-height:1.3;color:var(--muted);margin-top:4px}
.credit-app-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--border);margin:0 0 16px}.credit-app-tabs a{padding:9px 11px;font-size:10.5px;font-weight:700;white-space:nowrap;color:var(--ink);text-decoration:none}.credit-app-tabs a:hover{background:#f5f8fb}
.credit-app-section{margin-bottom:16px;padding:18px;scroll-margin-top:100px}.form-grid-2,.form-grid-3{display:grid;gap:10px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact-credit-table{width:100%;font-size:10.5px}.compact-credit-table th{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.compact-credit-table th,.compact-credit-table td{padding:8px 9px;vertical-align:middle}.compact-credit-table td small{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.credit-line-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.credit-line-item>div{display:flex;flex-direction:column;gap:2px}.credit-line-item strong{font-size:11px}.credit-line-item span{font-size:10.5px}.credit-line-item small{font-size:9px;color:var(--muted)}
.portfolio-filter-bar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(120px,.75fr)) auto auto;gap:8px;align-items:end;margin-bottom:16px}.portfolio-filter-bar input,.portfolio-filter-bar select,.portfolio-filter-bar button,.portfolio-filter-bar .button{margin:0}.portfolio-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.portfolio-overview{margin-bottom:16px}.company-search-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.2fr) auto;gap:10px;align-items:end;max-width:900px;margin:0 0 18px}.company-search-panel label{margin:0}.company-search-panel button{margin:0;height:40px}
.credit-memo-panel{display:none}.credit-memo-panel.active{display:block}.credit-memo-version{width:100%;text-align:left}
@media(max-width:1150px){.credit-risk-cards,.portfolio-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.company-search-panel{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.credit-risk-cards,.portfolio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-two-column,.form-grid-2,.form-grid-3{grid-template-columns:1fr}.portfolio-filter-bar,.company-search-panel{grid-template-columns:1fr}.workspace-list-search{align-items:stretch;flex-direction:column}.workspace-list-search input{max-width:none}}

/* Wallet minimum service balance */
.wallet-minimum-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wallet-minimum-banner strong{white-space:nowrap}
.wallet-minimum-banner span{flex:1;min-width:260px}
.wallet-minimum-banner .button{margin-left:auto}


/* Super Admin — provider/internal cost editor */
.provider-cost-head{margin-top:28px!important}
.provider-cost-list{display:grid;gap:12px;margin:0}
.provider-cost-card{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.provider-cost-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  background:#f7f9fc;
  border-bottom:1px solid var(--border);
}
.provider-cost-provider{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.provider-cost-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  min-height:28px;
  padding:5px 9px;
  border-radius:7px;
  background:#eaf2fb;
  color:#204f7a;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.04em;
}
.provider-cost-provider strong{
  display:block;
  font-size:11.5px;
  line-height:1.2;
}
.provider-cost-provider small{
  display:block;
  margin-top:2px;
  font-size:9px;
  line-height:1.2;
  color:var(--muted);
}
.provider-cost-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.provider-cost-meta span{
  min-width:96px;
  padding:5px 8px;
  border:1px solid var(--border);
  border-radius:7px;
  background:#fff;
  font-size:9px;
  line-height:1.15;
  color:var(--muted);
}
.provider-cost-meta b{
  display:block;
  margin-bottom:2px;
  font-size:7.5px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#748399;
}
.provider-cost-body{
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(480px,1.65fr);
  gap:18px;
  padding:14px;
}
.provider-current-cost,
.provider-cost-form{min-width:0}
.provider-field-heading{
  display:block;
  margin-bottom:7px;
  font-size:9px;
  line-height:1.1;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:#66778b;
}
.provider-current-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.provider-current-grid.single{grid-template-columns:minmax(0,260px)}
.provider-current-grid>div{
  padding:8px 9px;
  border:1px solid #e1e7ee;
  border-radius:8px;
  background:#fafbfd;
}
.provider-current-grid small{
  display:block;
  margin:0 0 3px;
  font-size:8px;
  line-height:1.15;
  color:var(--muted);
}
.provider-current-grid strong{
  display:block;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap;
}
.provider-cost-form{margin:0}
.provider-input-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.provider-input-grid.single{grid-template-columns:minmax(220px,320px)}
.provider-input-grid label{
  display:block;
  margin:0;
  padding:0;
  font-size:9px;
  font-weight:700;
}
.provider-input-grid label>span{
  display:block;
  margin-bottom:2px;
  font-size:9.5px;
  line-height:1.15;
  color:var(--ink);
}
.provider-input-grid label>small{
  display:block;
  min-height:21px;
  margin:0 0 4px;
  font-size:7.8px;
  line-height:1.25;
  font-weight:400;
  color:var(--muted);
}
.provider-input-grid input{
  width:100%;
  height:36px;
  margin:0;
  padding:7px 9px;
  font-size:10.5px;
  font-variant-numeric:tabular-nums;
}
.provider-cost-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #edf1f5;
}
.provider-cost-actions small{
  font-size:8.5px;
  line-height:1.2;
  color:var(--muted);
}
.provider-cost-actions button{
  width:auto;
  min-width:145px;
  margin:0;
}
@media(max-width:1100px){
  .provider-cost-body{grid-template-columns:1fr}
}
@media(max-width:760px){
  .provider-cost-summary{align-items:flex-start;flex-direction:column}
  .provider-cost-meta{justify-content:flex-start}
  .provider-current-grid,
  .provider-input-grid{grid-template-columns:1fr}
  .provider-current-grid.single,
  .provider-input-grid.single{grid-template-columns:1fr}
  .provider-cost-actions{align-items:stretch;flex-direction:column}
  .provider-cost-actions button{width:100%}
}

/* Desktop collapsible sidebar */
@media(min-width:821px){
  .sidebar,.app-main{transition:width .2s ease,margin-left .2s ease,padding .2s ease}
  .sidebar-collapse-toggle{
    position:fixed;left:233px;top:50%;z-index:70;width:38px;height:38px;padding:0;cursor:pointer;
    border:2px solid #fff;border-radius:999px;background:var(--navy-deep);color:#fff;
    display:grid;place-items:center;box-shadow:0 5px 16px rgba(11,37,66,.28);font-size:24px;font-weight:700;line-height:1;
    transform:translateY(-50%);transition:left .2s ease,transform .15s ease,background .15s ease,box-shadow .15s ease
  }
  .sidebar-collapse-toggle:hover{background:var(--navy);transform:translateY(-50%) scale(1.06);box-shadow:0 7px 20px rgba(11,37,66,.34)}
  .sidebar-collapse-toggle:focus-visible{outline:3px solid rgba(52,152,219,.35);outline-offset:2px}
  .sidebar-collapse-toggle .sidebar-toggle-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:0;transform:none}
  .sidebar-collapse-toggle .sidebar-toggle-icon svg{display:block;flex:0 0 auto}

  .sidebar-collapsed .sidebar{width:72px;padding-left:10px;padding-right:10px;overflow-x:hidden}
  .sidebar-collapsed .app-main{margin-left:72px}
  .sidebar-collapsed .sidebar-collapse-toggle{left:53px}
  .sidebar-collapsed .sidebar-collapse-toggle .sidebar-toggle-icon{transform:rotate(180deg)}
  .sidebar-collapsed .sidebar-brand{align-items:center;padding-left:0;padding-right:0}
  .sidebar-collapsed .sidebar-brand .brand-logo-shell{width:42px;height:42px;padding:6px;overflow:hidden}
  .sidebar-collapsed .sidebar-brand .brand-logo{width:40px;max-width:none}
  .sidebar-collapsed .brand-product,
  .sidebar-collapsed .sidebar-context,
  .sidebar-collapsed .nav-group-title,
  .sidebar-collapsed .nav-label{display:none}
  .sidebar-collapsed .sidebar-nav{gap:5px}
  .sidebar-collapsed .nav-group{padding:0}
  .sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:10px 8px;min-height:39px}
  .sidebar-collapsed .nav-icon{width:20px;font-size:16px}
  .sidebar-collapsed .sidebar-footer{margin-top:10px;padding-top:10px}
}

@media(max-width:820px){
  .sidebar-collapse-toggle{display:none}
}
@media(min-width:821px) and (max-width:1100px){
  .sidebar-collapse-toggle{left:205px}
  .sidebar-collapsed .sidebar-collapse-toggle{left:53px}
}
