:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #f3f1ea;
  color: #171712;
}

/* FINAL18.3 create-case and living navigation */
.workspace-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.button-primary,.button-secondary,.icon-button{border:0;font:700 .76rem/1.1 inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button-primary{min-height:2.55rem;padding:.72rem 1rem;border-radius:.72rem;background:#1a1815;color:#fff;box-shadow:0 .35rem 1rem rgb(25 20 14 / 12%)}.button-primary:hover,.button-primary:focus-visible{transform:translateY(-1px);box-shadow:0 .55rem 1.4rem rgb(25 20 14 / 18%)}.button-primary:disabled{opacity:.55;cursor:wait;transform:none}.button-secondary{min-height:2.55rem;padding:.72rem 1rem;border:1px solid #d9d1c4;border-radius:.72rem;background:#fff;color:#27231e}.icon-button{width:2.35rem;height:2.35rem;border-radius:50%;background:#eee9df;color:#403a32;font-size:1.15rem}.new-case-panel{margin:0 1rem 1rem;padding:1rem;border:1px solid #d9d1c4;border-radius:.85rem;background:#fff;box-shadow:0 1.1rem 3rem rgb(37 29 18 / 8%)}.new-case-panel[hidden]{display:none}.new-case-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.new-case-panel h3{margin:.15rem 0 0;font-size:1.15rem}.new-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.new-case-grid>label{display:grid;gap:.38rem;color:#5b554c;font-size:.72rem;font-weight:700}.new-case-grid input,.new-case-grid select{min-width:0;min-height:2.65rem;border:1px solid #d9d1c4;border-radius:.62rem;background:#fcfbf8;padding:.62rem .72rem;color:#191714;font:500 .82rem/1.2 inherit}.new-case-grid input:focus,.new-case-grid select:focus{outline:3px solid rgb(184 137 74 / 18%);border-color:#9d7138}.field-wide{grid-column:1/-1}.new-case-grid fieldset{display:flex;gap:1rem;flex-wrap:wrap;border:1px solid #e2dbd0;border-radius:.62rem;padding:.65rem .75rem}.new-case-grid fieldset label{font-size:.76rem}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.form-error{min-height:1.2em;color:#8a2929;font-size:.76rem}.sidebar-toggle{margin-left:auto;width:2rem;height:2rem;border:1px solid rgb(255 255 255 / 12%);border-radius:.55rem;background:rgb(255 255 255 / 5%);color:#d8c8ad;cursor:pointer;transition:transform .2s ease,background .2s ease}.sidebar-toggle:hover{background:rgb(255 255 255 / 11%);transform:translateX(-1px)}.sidebar-session{margin-top:auto;display:grid;gap:.55rem;padding:1rem;border-top:1px solid rgb(255 255 255 / 8%)}.sidebar-session #aoc-user-pill{border-radius:.65rem;background:rgb(255 255 255 / 6%);box-shadow:none}.sidebar-logout{width:100%;min-height:2.45rem;border:1px solid rgb(255 255 255 / 16%);border-radius:.65rem;background:transparent;color:#f3eee4;cursor:pointer}.app-sidebar,.app-stage{transition:width .24s ease,transform .24s ease,margin .24s ease}body.sidebar-collapsed .app-frame{grid-template-columns:4.7rem minmax(0,1fr)}body.sidebar-collapsed .app-sidebar h1,body.sidebar-collapsed .app-sidebar p,body.sidebar-collapsed .app-sidebar small,body.sidebar-collapsed .workspace-nav a:not(.is-active),body.sidebar-collapsed .sidebar-status div,body.sidebar-collapsed #aoc-user-pill{display:none}body.sidebar-collapsed .workspace-nav a{justify-content:center;padding-inline:.5rem}body.sidebar-collapsed .sidebar-toggle{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.button-primary,.sidebar-toggle,.app-sidebar,.app-stage{transition:none!important}}
@media(max-width:760px){.new-case-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.workspace-actions{align-items:stretch}.workspace-actions .button-primary{width:100%}.sidebar-session{margin-top:0}.sidebar-toggle{display:none}body.sidebar-collapsed .app-frame{display:block}}

* { box-sizing: border-box; }

html, body { max-width: 100%; }

body { margin: 0; min-height: 100vh; }

button { font: inherit; }

.site-header, main, .admin-access-control-host { width: min(76rem, calc(100% - 2rem)); margin-inline: auto; }

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid #dcd8cd;
}

.brand { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.brand > div { min-width: 0; }
.brand-mark { width: 2rem; height: 2rem; border-radius: .6rem; display: grid; place-items: center; background: #171712; color: #c8ff3d; font-weight: 900; }
.brand h1 { margin: 0; font-size: 1.05rem; letter-spacing: -.02em; overflow-wrap: anywhere; }
.brand p { margin: .15rem 0 0; color: #777369; font-size: .75rem; }
.session-controls { display: flex; flex: 1 1 18rem; align-items: center; justify-content: flex-end; gap: .6rem; min-width: 0; max-width: 34rem; }
.session-controls #aoc-user-pill { flex: 1 1 10rem; text-align: center; }
.logout-button { flex: none; border: 1px solid #cbc7bc; border-radius: 999px; background: transparent; padding: .55rem .9rem; cursor: pointer; }

main { padding: 2rem 0 4rem; }
.panel, .workspace-shell, .case-panel { background: #fff; border: 1px solid #e1ded5; border-radius: 1.15rem; box-shadow: 0 .75rem 2rem rgb(37 33 23 / 5%); }
.panel { padding: 1.25rem; }

.admin-access-control-host { margin-top: 1rem; }
.admin-access-panel { overflow: hidden; border: 1px solid #d9d1c0; border-radius: 1.15rem; background: #fffdf8; box-shadow: 0 .75rem 2rem rgb(37 33 23 / 5%); }
.admin-access-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.1rem 1.25rem .8rem; }
.admin-access-heading h2 { margin: 0; font-size: 1rem; letter-spacing: -.025em; }
.admin-access-summary { margin: 0; padding: 0 1.25rem 1rem; color: #5f5b52; font-size: .78rem; }
.danger-button, .access-actions button { border: 1px solid #c9c2b3; border-radius: .55rem; background: #fff; padding: .5rem .7rem; cursor: pointer; font-size: .72rem; font-weight: 750; }
.danger-button { border-color: #9f2f26; background: #9f2f26; color: #fff; }
.danger-button:hover, .danger-button:focus-visible { background: #7e2019; }
.danger-button:disabled, .access-actions button:disabled { cursor: not-allowed; opacity: .52; }
.access-feedback { margin: 0 1.25rem 1rem; border-radius: .6rem; padding: .65rem .75rem; font-size: .76rem; }
.access-feedback-error { background: #fff0ee; color: #8a2119; }
.access-feedback-success { background: #edf8da; color: #365510; }
.access-table-wrap { max-width: 100%; overflow-x: auto; border-block: 1px solid #e7e1d5; }
.access-table { width: 100%; min-width: 38rem; border-collapse: collapse; font-size: .76rem; }
.access-table th, .access-table td { padding: .75rem 1.25rem; border-bottom: 1px solid #ece7dd; text-align: left; vertical-align: middle; }
.access-table tbody tr:last-child th, .access-table tbody tr:last-child td { border-bottom: 0; }
.access-table th { overflow-wrap: anywhere; }
.access-table th small { display: block; margin-top: .18rem; color: #766f62; font-size: .64rem; font-weight: 600; }
.access-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.access-status { display: inline-flex; border-radius: 999px; padding: .25rem .5rem; font-size: .66rem; font-weight: 800; }
.access-status.is-active { background: #eaf7d0; color: #35540f; }
.access-status.is-locked { background: #ffe5e2; color: #812019; }
.admin-access-panel footer { padding: .75rem 1.25rem; color: #777369; font-size: .66rem; overflow-wrap: anywhere; }

.workspace-heading, .case-panel-header, .decision-card header, .record, .document-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-width: 0;
}
.workspace-heading, .case-panel-header { flex-wrap: wrap; }
.workspace-heading > div, .case-panel-header > div { min-width: 0; }
.workspace-heading { padding: 1.25rem 1.4rem; border-bottom: 1px solid #ece9e1; }
.workspace-heading h2, .case-panel-header h2 { margin: 0; letter-spacing: -.035em; overflow-wrap: anywhere; }
.workspace-heading > span { border-radius: 999px; background: #eafdbb; padding: .4rem .7rem; font-size: .75rem; font-weight: 800; }
.eyebrow { margin: 0 0 .35rem; color: #726e64; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.case-list { display: grid; gap: .6rem; padding: 1rem; }
.case-list-item { display: flex; justify-content: space-between; gap: 1rem; min-width: 0; width: 100%; border: 1px solid #e5e2d9; border-radius: .85rem; background: #faf9f5; padding: .9rem 1rem; text-align: left; cursor: pointer; }
.case-list-item:hover, .case-list-item:focus-visible { border-color: #171712; background: #fff; }
.case-list-item > span { display: grid; gap: .2rem; min-width: 0; overflow-wrap: anywhere; }
.case-list-item strong { font-size: .78rem; }

#customer-card-slot:empty { display: none; }
.case-panel { min-width: 0; margin-top: 1rem; overflow: hidden; }
.case-panel-header { padding: 1.35rem 1.4rem; }
.case-panel-header p:not(.eyebrow) { margin: .35rem 0 0; color: #777369; font-size: .8rem; }
.status-badge { flex: none; display: inline-flex; max-width: 100%; border-radius: 999px; background: #efeee9; padding: .3rem .55rem; font-size: .68rem; font-weight: 800; overflow-wrap: anywhere; }

.customer-card-tabs { display: flex; gap: .25rem; padding: 0 1rem; border-block: 1px solid #e8e5dd; background: #faf9f5; overflow-x: auto; scrollbar-width: thin; }
.customer-card-tabs button { flex: none; border: 0; border-bottom: 2px solid transparent; background: transparent; padding: .85rem .7rem .72rem; color: #6d695f; font-size: .76rem; font-weight: 750; cursor: pointer; }
.customer-card-tabs button[aria-selected="true"] { border-bottom-color: #171712; color: #171712; }
.customer-card-view { min-width: 0; padding: 1rem; }
.decision-section { min-width: 0; border: 1px solid #e8e5dd; border-radius: .9rem; padding: 1rem; }
.decision-section h3 { margin: 0 0 1rem; font-size: .95rem; }
.decision-section h4 { margin: 0; font-size: .82rem; }

.decision-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: .8rem; margin: 0; }
.decision-fields.compact { margin-top: .8rem; }
.decision-field { min-width: 0; border-left: 2px solid #d9f58b; padding-left: .65rem; }
.decision-field dt { color: #79756b; font-size: .66rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.decision-field dd { margin: .28rem 0 0; font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.calculator-grid, .bank-routing-grid, .settlement-list { display: grid; gap: .75rem; }
.calculator-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.bank-routing-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.settlement-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-top: 1rem; }
.gap-output { margin-top: 1rem; }
.decision-card { min-width: 0; border: 1px solid #e6e3da; border-radius: .75rem; background: #faf9f6; padding: .85rem; }
.decision-card header p { margin: .2rem 0 0; color: #777369; font-size: .7rem; }

.decision-trace { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; counter-reset: trace; }
.decision-trace li { counter-increment: trace; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .65rem; align-items: start; }
.decision-trace li::before { content: counter(trace); width: 1.5rem; height: 1.5rem; border-radius: 50%; display: grid; place-items: center; background: #171712; color: #fff; font-size: .65rem; font-weight: 800; }
.decision-trace strong { display: block; font-size: .7rem; letter-spacing: .06em; }
.decision-trace span { grid-column: 2; color: #5f5b52; font-size: .8rem; overflow-wrap: anywhere; }
.trace-structured, .trace-source-list { grid-column: 2; min-width: 0; }
.trace-treatment-list, .trace-source-list { display: grid; gap: .5rem; margin-top: .65rem; }
.trace-treatment, .trace-source { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem .6rem; min-width: 0; border-top: 1px solid #ece9e1; padding-top: .5rem; }
.trace-treatment b, .trace-source b, .trace-treatment small, .trace-source small { min-width: 0; overflow-wrap: anywhere; }
.trace-treatment span, .trace-source span { grid-column: auto; }
.trace-treatment small, .trace-source small { grid-column: 1 / -1; color: #777369; }
.governance-list, .record-list { display: grid; gap: .6rem; margin-top: 1rem; }
.governance-item, .record { border-top: 1px solid #ece9e1; padding-top: .75rem; }
.governance-item p, .record p { margin: .4rem 0 0; color: #6d695f; font-size: .78rem; }
.record > div { display: grid; gap: .2rem; }
.record span { color: #777369; font-size: .7rem; }
.document-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.document-columns h4 { margin-bottom: .75rem; }
.document-row { border-top: 1px solid #ece9e1; margin: 0; padding: .65rem 0; font-size: .78rem; }
.empty-state, .loading-state, .error-state { margin: 0; color: #777369; font-size: .82rem; }
.loading-state, .error-state { padding: 1rem; }
.error-state { color: #a22218; }

.multi-view-section{overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 .8rem 2.2rem rgb(45 36 24 / 5%)}
.view-switcher{display:flex;gap:.35rem;padding:0 1.5rem 1rem;overflow-x:auto}.view-switcher button{flex:none;border:1px solid var(--line);border-radius:999px;background:#fff;padding:.5rem .8rem;color:var(--muted);font:750 .68rem/1 inherit;cursor:pointer}.view-switcher button.is-active{border-color:var(--graphite);background:var(--graphite);color:var(--bronze-light)}
.submission-view,.work-view{display:none;padding:0 1.5rem 1.5rem}.submission-view.is-active,.work-view.is-active{display:grid;gap:.75rem}.view-group{border:1px solid var(--line-soft);border-radius:.8rem;background:#fff;padding:1rem}.view-group h3{margin:0;font-size:.85rem}.view-group>p{margin:.25rem 0 .75rem;color:var(--muted);font-size:.68rem}.submission-record{display:grid;grid-template-columns:minmax(8rem,1fr) auto minmax(8rem,1fr);gap:.8rem;align-items:center;border-top:1px solid var(--line-soft);padding:.7rem 0}.submission-record>div{display:grid;gap:.2rem}.submission-record strong{font-size:.74rem}.submission-record small,.submission-record>span{color:var(--muted);font-size:.65rem}.submission-board,.work-board{grid-template-columns:repeat(4,minmax(13rem,1fr));overflow-x:auto}.submission-board>section,.work-board>section{min-height:11rem;border:1px solid var(--line-soft);border-radius:.75rem;background:var(--surface-2);padding:.75rem}.submission-board>section>header,.work-board>section>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.submission-board h3,.work-board h3{margin:0;font-size:.7rem}.submission-board header span,.work-board header span{font-size:.65rem;color:var(--muted)}
.work-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.work-summary article{display:grid;gap:.35rem;border:1px solid var(--line-soft);border-radius:.7rem;background:#fff;padding:.85rem}.work-summary span{color:var(--muted);font-size:.62rem;text-transform:uppercase}.work-summary strong{font-size:1.4rem;font-weight:560}.work-task{border:1px solid var(--line-soft);border-radius:.65rem;background:#fff;padding:.75rem}.work-task header,.work-task footer{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.work-task strong{font-size:.72rem}.work-task p,.work-task footer{color:var(--muted);font-size:.63rem}.work-calendar>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.8rem;align-items:start}.work-calendar>div>time{padding-top:.7rem;color:var(--bronze);font:750 .65rem/1 ui-monospace,monospace}.work-timeline{overflow-x:auto}.timeline-row{min-width:45rem;display:grid;grid-template-columns:7rem minmax(22rem,1fr) 15rem;align-items:center;gap:.7rem;min-height:2.7rem;border-bottom:1px solid var(--line-soft);font-size:.67rem}.timeline-row i{height:.58rem;margin-left:calc(var(--timeline-offset) * 8%);width:calc(var(--timeline-width) * 14%);border-radius:999px;background:linear-gradient(90deg,var(--bronze-light),var(--bronze))}.weekly-review>p{margin:0;color:var(--muted);font-size:.72rem}
.timeline-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;margin:1rem 0}.timeline-comment-form label{display:grid;gap:.35rem}.timeline-comment-form label span{color:var(--muted);font-size:.65rem;font-weight:750}.timeline-comment-form textarea{min-height:5.2rem;resize:vertical;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);padding:.7rem;font:500 .76rem/1.45 inherit}.case-timeline{display:grid}.case-timeline article{position:relative;display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.65rem;padding:.6rem 0}.case-timeline article:not(:last-child)::before{content:"";position:absolute;left:.27rem;top:1.2rem;bottom:-.6rem;width:1px;background:var(--line)}.case-timeline i{position:relative;z-index:1;width:.58rem;height:.58rem;margin-top:.25rem;border-radius:50%;background:var(--bronze)}.case-timeline header{display:flex;justify-content:space-between;gap:1rem}.case-timeline strong{font-size:.7rem;text-transform:capitalize}.case-timeline time,.case-timeline small{color:var(--muted);font-size:.6rem}.case-timeline p{margin:.25rem 0;color:#514b42;font-size:.7rem}.timeline-policy{margin:1rem 0 0;border-left:2px solid var(--bronze);padding-left:.65rem;color:var(--muted);font-size:.64rem}
.stage-transition-form,.submission-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end;margin-top:1rem;border-top:1px solid var(--line-soft);padding-top:1rem}.stage-transition-form label,.submission-create-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.65rem;font-weight:750}.stage-transition-form textarea,.submission-create-form input{min-width:0;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);padding:.7rem;font:500 .76rem/1.35 inherit}.stage-transition-form textarea{min-height:4.3rem;resize:vertical}.submission-create-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.stage-transition-form .form-error,.submission-create-form .form-error{grid-column:1/-1;margin:0}.verify-document{min-height:1.9rem;padding:.4rem .55rem;font-size:.62rem}

@media (max-width: 760px) {
  .site-header, main, .admin-access-control-host { width: min(100% - 1rem, 76rem); }
  .site-header { align-items: flex-start; padding: .8rem 0; }
  .brand, .session-controls { width: 100%; max-width: none; }
  .session-controls { justify-content: space-between; }
  main { padding-top: .75rem; }
  .brand p { display: none; }
  .workspace-heading, .case-panel-header { align-items: flex-start; padding: 1rem; }
  .case-list-item { flex-wrap: wrap; }
  .customer-card-tabs { overflow-x: auto; overscroll-behavior-inline: contain; }
  .customer-card-view { padding: .6rem; }
  .decision-section { padding: .875rem; }
  .wide-decision-table { display: none; }
  .bank-routing-grid { grid-template-columns: 1fr; }
  .document-columns { grid-template-columns: 1fr; }
  .submission-view,.work-view{padding-inline:.75rem}.view-switcher{padding-inline:.75rem}.submission-record{grid-template-columns:1fr auto}.submission-record>span{grid-column:1/-1}.work-summary{grid-template-columns:1fr}.timeline-comment-form,.stage-transition-form,.submission-create-form{grid-template-columns:1fr}.work-calendar>div{grid-template-columns:1fr}.submission-board,.work-board{grid-template-columns:repeat(4,16rem)}
  .admin-access-heading { align-items: flex-start; padding: 1rem; }
  .admin-access-summary { padding-inline: 1rem; }
  .access-feedback { margin-inline: 1rem; }
  .access-table th, .access-table td { padding-inline: .8rem; }
}

/* FINAL18.3 unified Graphite Bronze system */
:root {
  --ink: #17140f;
  --graphite: #1d1914;
  --graphite-2: #272119;
  --canvas: #eee9de;
  --surface: #fbfaf6;
  --surface-2: #f5f1e8;
  --line: #d9d1c3;
  --line-soft: #e8e1d5;
  --muted: #736c61;
  --bronze: #b8894a;
  --bronze-light: #d7b67f;
  --success: #47754a;
  --warning: #a66c22;
  --danger: #a33a30;
  color-scheme: light;
  background: var(--canvas);
  color: var(--ink);
}

html { scroll-behavior: smooth; }
body { background: var(--canvas); }

.app-frame { min-height: 100vh; display: grid; grid-template-columns: 15rem minmax(0, 1fr); }
.app-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 1.5rem; background: var(--graphite); color: #f8f4eb; padding: 1.25rem 1rem; border-right: 1px solid #352d23; z-index: 20; }
.sidebar-brand { padding: .25rem .35rem 1.1rem; border-bottom: 1px solid #373027; }
.sidebar-brand .brand-mark { color: var(--bronze-light); background: #100e0b; border: 1px solid #4a3c2a; }
.sidebar-brand h1 { color: #fff; font-size: .96rem; }
.sidebar-brand p { color: #a9a094; }
.workspace-nav { display: grid; gap: .3rem; }
.workspace-nav > p { margin: 0 0 .55rem; padding: 0 .65rem; color: #81776b; font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; }
.workspace-nav a { display: grid; grid-template-columns: 1.55rem minmax(0, 1fr); align-items: center; gap: .45rem; min-height: 2.8rem; border: 1px solid transparent; border-radius: .65rem; padding: .55rem .65rem; color: #c6bfb5; text-decoration: none; font-size: .75rem; font-weight: 680; line-height: 1.25; }
.workspace-nav a span { color: #796e61; font: 700 .6rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.workspace-nav a:hover, .workspace-nav a:focus-visible, .workspace-nav a.is-active { background: #29231c; border-color: #3b3228; color: #fff; outline: none; }
.workspace-nav a.is-active { box-shadow: inset 2px 0 var(--bronze); }
body:not([data-role="Admin"]) [data-admin-nav] { display: none; }
body[data-role="Operator"] [data-management-nav], body[data-role="Staff"] [data-management-nav] { display: none; }
.sidebar-status { margin-top: auto; display: flex; align-items: center; gap: .65rem; border-top: 1px solid #373027; padding: 1rem .5rem .25rem; }
.sidebar-status .status-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--bronze-light); box-shadow: 0 0 0 .25rem rgb(184 137 74 / 12%); }
.sidebar-status div { display: grid; gap: .15rem; }
.sidebar-status strong { color: #eee8de; font-size: .67rem; letter-spacing: .08em; }
.sidebar-status small { color: #877d71; font-size: .6rem; }

.app-stage { min-width: 0; }
.site-header, main, .admin-access-control-host { width: min(88rem, calc(100% - 3rem)); margin-inline: auto; }
.site-header { min-height: 5.15rem; padding: 1rem 0; border-bottom-color: var(--line); }
.site-header h2 { margin: .25rem 0 0; font-size: 1.05rem; letter-spacing: -.025em; }
.header-path { margin: 0; color: #8b8376; font-size: .67rem; font-weight: 650; }
.header-path span { margin: 0 .35rem; color: var(--bronze); }
.logout-button { border-color: #c9beae; background: var(--surface); color: var(--ink); font-size: .7rem; font-weight: 750; }
.logout-button:hover, .logout-button:focus-visible { border-color: var(--bronze); box-shadow: 0 0 0 3px rgb(184 137 74 / 12%); outline: none; }
main { padding: 1.4rem 0 5rem; }

.workspace-section { scroll-margin-top: 1rem; }
.workspace-section + .workspace-section { margin-top: 1rem; }
.executive-section, .governance-section, .backend-section, .workspace-shell, .case-panel, .admin-access-panel, .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; box-shadow: 0 .8rem 2.2rem rgb(45 36 24 / 5%); overflow: hidden; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.4rem 1.5rem; }
.section-heading h2, .workspace-heading h2 { margin: .18rem 0 0; font-size: 1.45rem; letter-spacing: -.045em; }
.section-heading p:not(.section-index), .workspace-heading p:not(.section-index) { margin: .45rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.section-index { margin: 0; color: var(--bronze); font: 750 .62rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.role-badge, .section-count { flex: none; border: 1px solid #d6c8b4; border-radius: 999px; background: #f4ecde; color: #775329; padding: .4rem .7rem; font-size: .64rem; font-weight: 800; }
.compact-heading { align-items: center; border-bottom: 1px solid var(--line-soft); }

.metric-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: .75rem; padding: 0 1.5rem 1.5rem; }
.metric-card { min-width: 0; min-height: 8.2rem; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line-soft); border-radius: .85rem; background: #fff; padding: 1rem; }
.metric-card span, .master-grid span { color: #81796d; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.metric-card strong { font-size: 2rem; font-weight: 570; letter-spacing: -.06em; }
.metric-card small, .master-grid small { color: #8b8377; font-size: .65rem; }
.metric-card-primary { background: var(--graphite); border-color: var(--graphite); color: #fff; }
.metric-card-primary span, .metric-card-primary small { color: #aaa093; }
.metric-card-primary strong { color: var(--bronze-light); }

/* Executive dashboard — live-data presentation layer */
.executive-dashboard{display:grid;gap:.8rem;background:transparent}.executive-dashboard h3{margin:0;font-size:.76rem;letter-spacing:.02em;text-transform:uppercase}.executive-dashboard p{margin:.25rem 0 0;color:#91897c;font-size:.68rem}.executive-hero{position:relative;min-height:9.7rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;overflow:hidden;border:1px solid #ddcda9;border-radius:1rem;background:linear-gradient(100deg,#fff 0%,#fbf8ef 50%,#f3ecdd 100%);padding:1.25rem 1.7rem}.executive-hero::before{content:"";position:absolute;inset:-75% 25% -75% 20%;background:repeating-radial-gradient(circle at 58% 50%,transparent 0 2rem,rgb(184 137 74 / 7%) 2.05rem 2.12rem);animation:hero-drift 14s linear infinite}.executive-hero>div{position:relative;z-index:1}.executive-hero p,.executive-kpis span{color:#8e887d;font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.executive-hero>div>strong{display:block;margin:.25rem 0;font-size:2.9rem;font-weight:560;letter-spacing:-.07em}.executive-hero small,.executive-kpis small{color:#969084;font-size:.68rem}.hero-summary{display:grid;grid-template-columns:repeat(3,minmax(6rem,1fr));gap:1.6rem;min-width:min(32rem,55%);border:1px solid #dfd4c1;border-radius:.85rem;background:rgb(255 253 248 / 78%);padding:1rem}.hero-summary div{display:grid;gap:.4rem}.hero-summary span{color:#908a7e;font-size:.65rem;font-weight:750;text-transform:uppercase}.hero-summary b{font-size:1rem}.executive-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.executive-kpis article{position:relative;display:grid;gap:.45rem;min-height:6.3rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;padding:1rem}.executive-kpis article::after{content:"";position:absolute;right:1rem;top:1.15rem;width:.36rem;height:.36rem;border-radius:50%;background:var(--bronze)}.executive-kpis article.risk::after{background:var(--danger)}.executive-kpis strong{font-size:1.55rem;font-weight:570;letter-spacing:-.05em}.monthly-stars,.live-cases-panel,.approval-flow-panel,.recent-activities{border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 .6rem 1.8rem rgb(45 36 24 / 4%)}.monthly-stars{overflow:hidden;background:linear-gradient(110deg,#fffdf8,#f4eddf)}.monthly-stars>header,.live-cases-panel>header,.approval-flow-panel>header,.recent-activities>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.monthly-stars>header>span,.approval-flow-panel>header>span,.recent-activities>header>span{border:1px solid #ded1bc;border-radius:999px;padding:.33rem .6rem;color:#987044;font-size:.61rem;text-transform:uppercase}.star-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.8rem;padding:.4rem 1.7rem 1.2rem;perspective:70rem}.star-card{min-height:9rem;display:grid;gap:.45rem;border:1px solid #dccba9;border-radius:.8rem;background:#efe1bd;padding:.85rem;box-shadow:0 .6rem 1.2rem rgb(56 42 25 / 7%);animation:star-float 5s ease-in-out infinite}.star-card-2{background:#90616b;color:#fff;animation-delay:-1.7s}.star-card-3{background:#5a554d;color:#fff;animation-delay:-3.3s}.star-card header{display:flex;align-items:center;justify-content:space-between}.star-card header strong{font-size:1.3rem;color:#9a8151}.star-card-2 header strong,.star-card-3 header strong{color:#bca570}.star-card header span{font-size:.6rem;font-weight:800;text-transform:uppercase;opacity:.68}.star-card>b{font-size:1rem}.star-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin:0}.star-card dl div{display:grid;gap:.12rem}.star-card dt{font-size:.6rem;opacity:.67}.star-card dd{margin:0;font-size:.7rem;font-weight:750}.dashboard-lower{display:grid;grid-template-columns:.8fr 1.2fr;gap:.8rem}.live-cases-panel,.approval-flow-panel{min-height:15rem;overflow:hidden}.live-cases-panel>div{display:grid;gap:.4rem;padding:0 1rem 1rem}.mini-case{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line-soft);border-radius:.55rem;background:#fff;padding:.65rem;text-align:left;cursor:pointer}.mini-case strong{font-size:.7rem}.mini-case small{color:#837b70;font-size:.62rem}.approval-flow-panel>header strong{display:block;margin-top:.55rem;font-size:1.35rem;font-weight:540;letter-spacing:-.04em}.approval-chart{height:10.8rem;display:flex;align-items:flex-end;gap:.8rem;padding:1rem 1.2rem 1.4rem;border-top:1px solid var(--line-soft);background:repeating-linear-gradient(to top,transparent 0 2.1rem,rgb(121 109 91 / 10%) 2.12rem 2.16rem)}.approval-bar{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.45rem}.approval-bar i{display:block;width:72%;height:var(--bar-height);min-height:.4rem;border-radius:.45rem .45rem 0 0;background:#dfe4db;transform-origin:bottom;animation:bar-rise .85s ease both}.approval-bar.is-focus i{background:#4a351f}.approval-bar span{font-size:.62rem;color:#8b8375}.recent-activities{overflow:hidden}.recent-activities>div{display:grid}.dashboard-activity{display:grid;grid-template-columns:8rem minmax(0,1fr) 10rem;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--line-soft);font-size:.68rem}.dashboard-activity span,.dashboard-activity small{color:#8a8276}.dashboard-activity strong{font-weight:700}.empty-state{padding:.9rem}
@keyframes hero-drift{to{transform:rotate(8deg) translateX(2rem)}}@keyframes star-float{0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-.3rem) rotateX(1.5deg)}}@keyframes bar-rise{from{transform:scaleY(0)}}

.workspace-heading { padding: 1.4rem 1.5rem; background: var(--surface); border-bottom-color: var(--line-soft); }
.case-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: .65rem; padding: 1rem; background: var(--surface-2); }
.case-list-item { min-height: 4.5rem; align-items: center; border-color: #ded6c9; background: #fff; border-radius: .72rem; box-shadow: 0 .2rem .7rem rgb(39 30 18 / 3%); }
.case-list-item:hover, .case-list-item:focus-visible { border-color: var(--bronze); box-shadow: 0 0 0 3px rgb(184 137 74 / 10%); }
.status-badge { border: 1px solid #dfd7ca; background: #f4f0e8; color: #5f574d; }

.case-panel { margin: 1rem; border-color: #cfc4b4; box-shadow: 0 1.2rem 3rem rgb(37 28 18 / 8%); }
.case-panel-header { padding: 1.35rem 1.5rem; background: var(--graphite); color: #fff; }
.case-panel-header .eyebrow { color: var(--bronze-light); }
.case-panel-header p:not(.eyebrow) { color: #a89e91; }
.case-panel-header .status-badge { border-color: #55483a; background: #2c261f; color: #e6d4b8; }
.eyebrow { color: var(--bronze); }
.customer-card-tabs { padding-inline: 1.2rem; background: #f4efe6; border-color: #dbd2c5; }
.customer-card-tabs button { padding: .95rem .72rem .78rem; color: #756d62; }
.customer-card-tabs button[aria-selected="true"] { border-bottom-color: var(--bronze); color: var(--ink); }
.customer-card-view { padding: 1.2rem; background: var(--surface); }
.decision-section { border-color: var(--line); background: #fff; }
.decision-section h3 { font-size: 1.05rem; letter-spacing: -.025em; }
.decision-field { border-left-color: var(--bronze-light); }
.decision-card { border-color: #ddd5c8; background: var(--surface-2); }
.decision-trace li::before { background: var(--graphite); color: var(--bronze-light); }

.governance-summary { display: grid; }
.governance-summary article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .9rem 1.5rem; border-bottom: 1px solid var(--line-soft); }
.governance-summary article:last-child { border-bottom: 0; }
.governance-summary strong { font-size: .76rem; }
.governance-summary p { margin: .22rem 0 0; color: var(--muted); font-size: .7rem; }
.governance-summary small { color: #8b8376; font-size: .64rem; }
.risk-marker { width: .55rem; height: .55rem; border-radius: 50%; background: var(--warning); box-shadow: 0 0 0 .25rem rgb(166 108 34 / 11%); }
.master-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; padding: 1rem 1.5rem 1.5rem; }
.master-grid article { display: grid; gap: .45rem; border: 1px solid var(--line-soft); border-radius: .75rem; background: var(--surface-2); padding: 1rem; }
.master-grid strong { font-size: 1rem; color: #5e4525; }

.admin-access-control-host { margin-top: 1.4rem; }
.admin-access-panel { background: var(--surface); }
.admin-access-heading { border-bottom: 1px solid var(--line-soft); }
.danger-button { border-color: #8f2f28; background: #8f2f28; }
.access-status.is-active { background: #e8f1df; color: #3e643e; }
.access-status.is-locked { background: #f8e3df; color: #8d3028; }

@media (max-width: 1050px) {
  .app-frame { grid-template-columns: 12.5rem minmax(0, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-summary{min-width:56%}.star-track{gap:.8rem;padding-inline:1rem}
}

@media (max-width: 760px) {
  .app-frame { display: block; }
  .app-sidebar { position: static; height: auto; padding: .75rem; gap: .75rem; }
  .sidebar-brand { padding: 0 0 .7rem; }
  .workspace-nav { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .15rem; }
  .workspace-nav > p, .sidebar-status { display: none; }
  .workspace-nav a { flex: none; display: flex; min-height: 2.35rem; padding: .5rem .65rem; white-space: nowrap; }
  .workspace-nav a span { display: none; }
  .site-header, main, .admin-access-control-host { width: min(100% - 1rem, 88rem); }
  .site-header { min-height: 4.4rem; }
  .site-header h2 { font-size: .9rem; }
  .header-path { display: none; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding: 0 .8rem .8rem; }
  .metric-card { min-height: 7rem; padding: .8rem; }
  .metric-card strong { font-size: 1.55rem; }
  .executive-hero{min-height:auto;align-items:flex-start;flex-direction:column;padding:1rem}.hero-summary{width:100%;min-width:0;gap:.75rem;padding:.75rem}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.executive-kpis article{min-height:5.8rem;padding:.75rem}.star-track{display:flex;gap:.65rem;overflow-x:auto;padding:.2rem .75rem .9rem;scroll-snap-type:x mandatory}.star-card{flex:0 0 78%;scroll-snap-align:center}.dashboard-lower{grid-template-columns:1fr}.dashboard-activity{grid-template-columns:1fr;gap:.25rem}.approval-chart{gap:.35rem;padding-inline:.7rem}.monthly-stars>header,.live-cases-panel>header,.approval-flow-panel>header,.recent-activities>header{padding:.8rem}
  .section-heading, .workspace-heading { padding: 1rem; }
  .section-heading h2, .workspace-heading h2 { font-size: 1.2rem; }
  .role-badge, .section-count { display: none; }
  .case-list { grid-template-columns: 1fr; padding: .65rem; }
  .case-panel { margin: .65rem; }
  .case-panel-header { padding: 1rem; }
  .customer-card-tabs { padding-inline: .5rem; }
  .customer-card-view { padding: .65rem; }
  .master-grid { grid-template-columns: 1fr; padding: .8rem; }
  .governance-summary article { padding: .8rem 1rem; }
  .governance-summary small { display: none; }
}

@media(prefers-reduced-motion:reduce){.executive-hero::before,.star-card,.approval-bar i{animation:none!important}}

.document-upload-form { display:grid; grid-template-columns:minmax(9rem,.7fr) minmax(14rem,1.6fr) auto; align-items:end; gap:.65rem; margin-bottom:1rem; padding:.8rem; border:1px solid #ded7ca; border-radius:.75rem; background:#fbfaf6; }
.document-upload-form label { display:grid; gap:.35rem; font-size:.7rem; font-weight:700; color:#5b554c; }
.document-upload-form select,.document-upload-form input { min-width:0; min-height:2.5rem; border:1px solid #d9d1c4; border-radius:.6rem; background:#fff; padding:.55rem .65rem; }
.document-upload-form .form-error { grid-column:1/-1; margin:0; }
@media (max-width:760px) { .document-upload-form { grid-template-columns:1fr; } }
