@charset "UTF-8";

/* Fupay workspace: institutional navy, clean surfaces and precise data. */
:root {
  --nav:#102b36; --nav-dark:#0a202a; --nav-muted:#a9bfc8;
  --ink:#132c37; --muted:#637581; --line:#e2e9ed;
  --canvas:#f4f6f8; --white:#fff; --teal:#087f80; --teal-soft:#e8f5f1;
  --blue:#3868a0; --blue-soft:#edf3fb; --amber:#95621d; --amber-soft:#fff5e4;
  --red:#b34541; --red-soft:#fceeed;
  --font:"Avenir Next","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --data:"SFMono-Regular",Menlo,Consolas,monospace;
  --shadow:0 18px 60px #102b3617;
  --radius:12px;
}
* { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--canvas); color:var(--ink); font:14px/1.6 var(--font); -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { border:0; cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.45; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #44a6aa; outline-offset:3px; }
a { color:var(--teal); text-underline-offset:3px; }
h1,h2,h3,h4,p { margin:0; }
h1 { font-size:29px; font-weight:650; line-height:1.35; letter-spacing:-.8px; }
h2 { font-size:17px; font-weight:650; line-height:1.45; }
h3 { font-size:15px; font-weight:650; line-height:1.5; }
.mono,.amount { font-family:var(--data); font-variant-numeric:tabular-nums; font-feature-settings:"tnum"; letter-spacing:-.35px; }
.muted { color:var(--muted); }
.small { font-size:12px; }
.tiny { font-size:11px; }
.positive { color:var(--teal); }
.danger-text { color:var(--red); }
.nowrap { white-space:nowrap; }
.text-right { text-align:right; }
.svg { width:20px; height:20px; flex:none; display:inline-block; vertical-align:middle; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:110; padding:12px 18px; background:#fff; border-radius:8px; box-shadow:var(--shadow); }
.skip-link:focus { top:8px; }
.boot-state { min-height:100dvh; display:flex; gap:18px; align-items:center; justify-content:center; color:var(--muted); padding:24px; }

/* Application frame */
.shell { display:grid; grid-template-columns:224px minmax(0,1fr); min-height:100dvh; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:25; width:224px; padding:32px 16px 22px; display:flex; flex-direction:column; background:var(--nav); color:#e7f1f3; }
.brand { display:flex; gap:12px; align-items:center; padding:0 14px 29px; color:inherit; text-decoration:none; }
.brand-emblem { display:grid; place-items:center; width:38px; height:38px; flex:none; color:#ddf6ef; }
.brand-emblem svg { display:block; width:100%; height:100%; }
.brand-emblem>rect { fill:var(--nav); }
.sidebar .brand-emblem>rect { fill:#2a5865; }
.brand-mark { width:36px; height:40px; display:grid; place-items:center; flex:none; color:var(--nav); background:#e5f6ef; border-radius:11px 4px 11px 4px; font:italic 750 31px/1 Georgia,serif; }
.brand-name { font-size:27px; line-height:1; font-weight:650; letter-spacing:-1.3px; }
.brand-note { margin-top:7px; color:var(--nav-muted); font-size:10px; letter-spacing:2px; }
.nav-label { margin:22px 14px 10px; color:var(--nav-muted); font-size:10px; letter-spacing:1.7px; }
.sidebar nav { display:flex; flex-direction:column; gap:4px; }
.nav-item { position:relative; display:flex; width:100%; min-height:46px; gap:12px; align-items:center; padding:11px 14px; background:transparent; color:#b9cdd5; border-radius:8px; font-size:13px; text-align:left; transition:background .15s,color .15s; }
.nav-item:hover { color:#fff; background:#ffffff08; }
.nav-item.active { color:#fff; background:#23454f; box-shadow:inset 0 0 0 1px #ffffff05; }
.nav-item.active:before { content:""; position:absolute; inset:14px auto 14px 0; width:3px; border-radius:3px; background:#74c9bc; }
.nav-item .svg { width:18px; height:18px; }
.nav-count { margin-left:auto; min-width:22px; padding:1px 6px; border-radius:5px; background:#ffffff0c; color:#c7dadd; font:11px/1.5 var(--data); text-align:center; }
.sidebar-footer { margin-top:auto; padding:20px 14px 0; color:var(--nav-muted); font-size:12px; border-top:1px solid #ffffff12; }
.sidebar-footer p+p { margin-top:5px; }
.sidebar-footer .status-dot { margin-right:7px; background:#82c5b5; }
.workspace { grid-column:2; min-width:0; }
.topbar { display:flex; min-height:84px; gap:20px; align-items:center; justify-content:space-between; padding:16px 38px; background:#fff; border-bottom:1px solid var(--line); }
.topbar-breadcrumb { display:flex; gap:11px; align-items:center; font-size:12px; color:var(--muted); }
.topbar-breadcrumb strong { color:var(--ink); font-weight:550; }
.topbar-title { font-size:15px; font-weight:600; line-height:1.4; }
.topbar-title>strong { display:block; font-size:15px; font-weight:600; line-height:1.45; }
.topbar-kicker { display:block; margin-bottom:3px; font-weight:400; color:var(--muted); font-size:11px; letter-spacing:.4px; }
.topbar-actions { display:flex; align-items:center; gap:14px; }
.user-avatar { display:grid; place-items:center; width:36px; height:36px; flex:none; color:var(--teal); background:#eaf4f2; border:1px solid #d9e9e5; border-radius:50%; font-size:12px; font-weight:650; }
.session-user { display:flex; flex-direction:column; gap:2px; min-width:90px; text-align:right; }
.session-user strong { font-size:12px; font-weight:600; }
.session-user span { font-size:11px; color:var(--muted); }
.environment-pill,.environment-button { display:inline-flex; gap:6px; align-items:center; min-height:30px; padding:5px 9px; border:1px solid #d6e4e3; border-radius:6px; background:#f5faf8; color:#3c6e67; font-size:11px; white-space:nowrap; }
.environment-button .svg { width:13px; height:13px; }
.environment-button:hover { background:#eaf4f0; }
.auth-status { display:inline-flex; align-items:center; gap:5px; color:#56756e; font-size:11px; white-space:nowrap; }
.auth-status .svg { width:14px; height:14px; }
.preview-rail,.simulation-strip { display:flex; align-items:center; gap:8px; min-height:34px; padding:7px 38px; border-bottom:1px solid #e9e8e0; background:#faf8f1; color:#826e48; font-size:11px; line-height:1.7; }
.preview-rail .svg,.simulation-strip .svg { width:14px; height:14px; }
.preview-rail>span { display:inline-flex; align-items:center; gap:6px; }
.preview-rail .button.link { min-height:20px; padding:0; border:0; }
.preview-rail button,.preview-rail a { margin-left:auto; color:#78633d; background:transparent; font-size:11px; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.main-content { max-width:1516px; min-width:0; margin:0 auto; padding:34px 38px 38px; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:27px; }
.eyebrow,.page-heading .eyebrow,.section-label { color:var(--teal); font-size:10px; line-height:1.5; letter-spacing:1.7px; font-weight:600; }
.page-heading .eyebrow { margin-bottom:9px; }
.page-heading p { max-width:720px; margin-top:9px; color:var(--muted); font-size:13px; line-height:1.75; }
.heading-actions,.overview-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.heading-actions { padding-top:16px; }
.footer-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; padding-top:29px; color:#71828c; font-size:11px; line-height:1.7; }

/* Shared controls */
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; gap:8px; padding:10px 16px; border:1px solid #dce5e9; border-radius:7px; background:#fff; color:var(--ink); font-size:12px; font-weight:600; line-height:1.5; text-decoration:none; white-space:nowrap; transition:background .15s,border-color .15s,box-shadow .15s; }
.button:hover:not(:disabled) { background:#f5f9fa; border-color:#bdcfd7; }
.button.primary { background:var(--teal); border-color:var(--teal); color:#fff; box-shadow:0 2px 3px #0b565714; }
.button.primary:hover:not(:disabled) { background:#096d70; border-color:#096d70; }
.button.dark { background:var(--nav); border-color:var(--nav); color:#fff; }
.button.danger { color:var(--red); border-color:#eacbc7; }
.button.link { min-height:32px; padding:4px 0; background:transparent; border-color:transparent; color:var(--teal); }
.button.compact { min-height:34px; padding:6px 11px; font-size:12px; }
.button.icon-only { width:36px; min-height:36px; padding:8px; }
.button .svg { width:16px; height:16px; }
.button-row { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.badge { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:5px; background:#edf2f5; color:#627681; font-size:11px; font-weight:500; line-height:1.35; white-space:nowrap; }
.badge.teal { color:#086e67; background:var(--teal-soft); }
.badge.blue { color:var(--blue); background:var(--blue-soft); }
.badge.amber { color:var(--amber); background:var(--amber-soft); }
.badge.red { color:var(--red); background:var(--red-soft); }
.status-dot { display:inline-block; width:5px; height:5px; flex:none; background:currentColor; border-radius:50%; }
.section-gap { margin-top:22px; }
.divider-title { display:flex; align-items:center; gap:14px; margin:29px 0 9px; color:#5e7580; font-size:12px; font-weight:600; }
.divider-title:after { content:""; flex:1; border-top:1px solid var(--line); }

/* Overview and trading surfaces */
.client-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 0 29px; }
.client-greeting { margin-bottom:9px; color:var(--muted); font-size:13px; }
.client-hero-title { color:var(--ink); font-size:32px; line-height:1.35; font-weight:650; letter-spacing:-.9px; }
.client-hero-copy { margin-top:10px; max-width:540px; color:var(--muted); font-size:13px; line-height:1.75; }
.client-hero-actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.client-account-label { display:flex; gap:8px; align-items:center; margin-top:15px; color:var(--muted); font-size:12px; }
.account-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); margin-bottom:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 3px 12px #132c3703; }
.account-summary-item { min-width:0; padding:23px 25px; border-right:1px solid var(--line); }
.account-summary-item:last-child { border-right:0; }
.account-summary-item>span,.account-summary-item dt { display:block; color:var(--muted); font-size:12px; }
.account-summary-item strong,.account-summary-item dd { display:block; margin:10px 0 0; color:var(--ink); font-size:23px; font-weight:600; line-height:1.4; }
.account-summary-item p,.account-summary-item>small { display:block; margin-top:7px; color:var(--muted); font-size:11px; line-height:1.6; }
.account-summary-item .badge { font-size:11px; margin-top:0; }
.account-summary-item strong>small { display:inline; margin:0 0 0 6px; color:var(--muted); font:12px var(--font); letter-spacing:0; }
.summary-status { display:flex!important; align-items:center; gap:7px; }
.summary-status .svg { width:18px; height:18px; }
.client-workspace-grid { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.5fr); gap:24px; align-items:start; }
.client-next-action { display:flex; align-items:flex-start; gap:14px; padding:21px 24px; border-bottom:1px solid var(--line); }
.client-next-action:last-child { border-bottom:0; }
.next-action-icon { display:grid; place-items:center; width:37px; height:37px; flex:none; border-radius:10px; background:#eef6f5; color:var(--teal); }
.next-action-copy { min-width:0; flex:1; }
.next-action-copy h3 { font-size:14px; }
.next-action-copy p { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.75; }
.next-action-copy .button { margin-top:13px; }
.next-action-copy .mono { overflow-wrap:anywhere; }
.account-service-list { display:flex; flex-direction:column; }
.account-service-row { display:grid; grid-template-columns:37px minmax(0,1fr) 18px; align-items:center; gap:13px; width:100%; padding:21px 24px; border-bottom:1px solid var(--line); background:#fff; color:var(--ink); text-align:left; }
.account-service-row:last-child { border-bottom:0; }
.account-service-row:hover { background:#f8fbfa; }
.account-service-row h3 { font-size:14px; font-weight:600; }
.account-service-row small { display:block; margin-top:5px; color:var(--muted); font-size:12px; line-height:1.7; }
.account-service-row>.svg { width:17px; height:17px; color:#89a1ab; }
.account-service-row .next-action-icon { width:37px; height:37px; }
.section-heading { margin:30px 0 18px; }
.section-heading h2 { font-size:18px; font-weight:650; }
.section-heading p { margin-top:7px; color:var(--muted); font-size:13px; line-height:1.8; }
.workspace-summary { margin-bottom:23px; color:var(--muted); font-size:13px; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:26px; }
.metric { min-width:0; padding:23px 24px; border:1px solid var(--line); background:#fff; border-radius:var(--radius); }
.metric-label { display:flex; justify-content:space-between; align-items:center; gap:10px; color:var(--muted); font-size:12px; }
.metric-label .svg { width:17px; height:17px; color:#8aa3ab; }
.metric-value { margin:16px 0 8px; font:500 30px/1.3 var(--data); letter-spacing:-1px; }
.metric-value small { margin-left:6px; color:var(--muted); font:11px var(--font); }
.metric-note { color:#73858e; font-size:11px; line-height:1.7; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:24px; align-items:start; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.stack { display:flex; flex-direction:column; gap:24px; min-width:0; }
.panel { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 2px 7px #132c3702; }
.panel-header { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:72px; padding:21px 24px; border-bottom:1px solid var(--line); }
.panel-title { display:flex; gap:9px; align-items:center; }
.count,.panel-title .count { color:#6b8089; font:12px var(--data); }
.panel-subtitle { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.6; }
.panel-body { padding:23px 24px; }
.panel-footer { padding:13px 24px; border-top:1px solid var(--line); background:#fcfdfd; color:var(--muted); font-size:11px; line-height:1.7; }
.client-intro { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; padding:23px 26px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
.client-id { margin-top:7px; color:var(--muted); font:12px var(--data); }
.client-meta { display:flex; gap:29px; color:var(--muted); font-size:12px; }
.client-meta strong { display:block; margin-top:8px; color:var(--ink); font-size:12px; font-weight:600; }
.settlement-preview { padding:22px 24px; border-bottom:1px solid var(--line); }
.settlement-preview:last-child { border-bottom:0; }
.settlement-preview>.button { margin-top:19px; }
.preview-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:19px; font-size:12px; }
.settlement-legs { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr); align-items:center; }
.settlement-leg { min-width:0; padding:17px 16px; border:1px solid #e0e8ec; border-radius:8px; background:#f8fafb; }
.settlement-leg.company { background:#f0f7f5; border-color:#d9e9e3; }
.leg-label { display:flex; align-items:center; gap:6px; color:#6e858e; font-size:11px; }
.leg-label .svg { width:13px; height:13px; }
.leg-value { margin-top:13px; font:500 19px/1.4 var(--data); letter-spacing:-.5px; overflow-wrap:anywhere; }
.leg-value small { margin-left:3px; color:#71868f; font:10px var(--font); }
.leg-meta { margin-top:7px; color:#71868f; font-size:11px; }
.leg-join { display:grid; place-items:center; color:#7e9aa1; }
.leg-join .svg { width:18px; height:18px; }
.side-label { display:inline-flex; gap:5px; align-items:center; font-weight:600; font-size:12px; }
.side-label .svg { width:15px; height:15px; }
.side-label.buy { color:#087970; }
.side-label.sell { color:#4a6e9c; }
.progress-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; margin-top:25px; }
.progress-strip span { height:3px; background:#e8eef1; border-radius:4px; }
.progress-strip span.done { background:#36a59a; }
.progress-strip span.current { background:#9ecac5; }
.progress-labels { display:flex; justify-content:space-between; gap:6px; margin-top:9px; color:#7b8e97; font-size:10px; }

/* Tables, search and activity */
.table-scroll { max-width:100%; overflow:auto; scrollbar-width:thin; scrollbar-color:#c4d1d7 transparent; }
table { width:100%; border-collapse:collapse; text-align:left; font-size:12px; }
th { padding:13px 21px; color:#6e838c; background:#fafcfd; font-size:11px; font-weight:500; white-space:nowrap; }
td { padding:17px 21px; border-top:1px solid #edf1f3; vertical-align:middle; }
tbody tr:hover { background:#fcfdfd; }
td small { display:block; margin-top:5px; color:#7b8b94; font:11px/1.6 var(--font); }
.table-order { color:#294a58; font-size:12px; font-weight:550; }
.amount,.ledger-number { white-space:nowrap; font-size:12px; }
.toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:17px 21px; border-bottom:1px solid var(--line); }
.search-box { display:flex; align-items:center; min-width:180px; max-width:350px; flex:1; gap:9px; padding:0 12px; border:1px solid #dce5e9; background:#fff; border-radius:7px; }
.search-box .svg { width:17px; height:17px; color:#8ca0a9; }
.search-box input { min-width:0; width:100%; height:41px; outline:none; border:0; background:transparent; color:var(--ink); font-size:12px; }
.search-box:focus-within { border-color:#5faaa7; box-shadow:0 0 0 3px #087f800c; }
.filter-select { min-width:148px; height:43px; padding:9px 30px 9px 12px; border:1px solid #dce5e9; border-radius:7px; background:#fff; color:var(--ink); font-size:12px; }
.toolbar-count { margin-left:auto; color:var(--muted); font-size:12px; }
.activity-list { display:flex; flex-direction:column; }
.activity-item { display:flex; gap:12px; padding:15px 0; border-bottom:1px solid #edf1f3; }
.activity-item:last-child { border-bottom:0; }
.activity-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; background:#eef6f4; color:#6a9e97; flex:none; }
.activity-icon .svg { width:13px; height:13px; }
.activity-content { min-width:0; flex:1; }
.activity-content strong { font-size:12px; font-weight:600; }
.activity-content p { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.75; overflow-wrap:anywhere; }
.activity-content time { color:#7d9099; font:10px var(--data); }
.activity-item>time { margin-left:auto; color:#7d9099; font:10px/2 var(--data); white-space:nowrap; }
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:170px; padding:32px 23px; color:#738892; text-align:center; font-size:12px; line-height:1.8; }
.empty-state>.svg { width:27px; height:27px; color:#a3b9c0; }
.error-block { padding:34px; border:1px solid #eccfc9; background:#fff; border-radius:var(--radius); text-align:center; }
.error-block h2 { margin:12px 0 9px; }
.error-block p { color:var(--muted); font-size:13px; line-height:1.8; }
.error-block .button { margin-top:20px; }

/* Risk, audit, integrations */
.notice { display:flex; align-items:flex-start; gap:12px; padding:17px 19px; border:1px solid #dfe8e9; border-radius:9px; background:#f8fbfa; color:#4d7173; font-size:12px; line-height:1.8; }
.notice>.svg { width:18px; height:18px; margin-top:2px; }
.notice strong { font-size:13px; font-weight:600; }
.notice p { margin-top:4px; font-size:12px; }
.notice .button { margin-top:12px; }
.notice.amber { color:#8b692d; background:#fffaf0; border-color:#ebdfc8; }
.notice.red { color:#9d4b44; background:#fff5f3; border-color:#efd8d3; }
.status-box { padding:18px 19px; border:1px solid #e0e8ec; border-radius:8px; background:#f7fafb; color:var(--ink); }
.status-box strong { font-size:13px; }
.status-box p { margin-top:7px; color:var(--muted); font-size:12px; line-height:1.8; }
.status-box .button { margin-top:13px; }
.check-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-top:19px; }
.check-item { padding:15px; border:1px solid var(--line); border-radius:8px; background:#fff; font-size:12px; }
.check-item strong { display:block; margin-top:8px; color:var(--teal); font-size:13px; }
.check-item p { margin-top:7px; color:var(--muted); font-size:11px; }
.recon-status { display:flex; align-items:center; gap:8px; font-size:12px; }
.recon-status .svg { width:15px; height:15px; }
.recon-result { margin-top:16px; padding:17px; border:1px solid var(--line); border-radius:8px; background:#f7f9fa; }
.recon-result p { margin-top:7px; color:var(--muted); font-size:12px; }
.provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.provider-card { min-width:0; padding:24px; border:1px solid var(--line); background:#fff; border-radius:var(--radius); }
.provider-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:19px; background:#f0f6f6; color:var(--teal); border-radius:10px; }
.provider-card h3 { font-size:15px; margin-bottom:7px; }
.provider-card p { color:var(--muted); font-size:12px; line-height:1.8; }
.provider-bottom { display:flex; gap:10px; align-items:center; justify-content:space-between; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); font-size:11px; }
.scope-symbol { display:grid; place-items:center; width:40px; height:40px; flex:none; background:#fff2d8; border-radius:50%; color:var(--amber); }
.payment-summary { display:flex; align-items:flex-start; gap:15px; padding:22px 24px; }
.payment-summary strong { font-size:14px; }
.payment-summary p { margin-top:6px; color:var(--muted); font-size:12px; }
.fact-list { display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px 20px; margin:0; font-size:12px; }
.fact-list dt { color:var(--muted); }
.fact-list dd { margin:0; overflow-wrap:anywhere; }
.ledger-integration { margin-bottom:24px; }
.integration-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; }
.integration-facts dt { margin-bottom:8px; color:var(--muted); font-size:12px; }
.integration-facts dd { margin:0; color:var(--ink); font-size:15px; font-weight:550; overflow-wrap:anywhere; }
.integration-error { margin-top:9px; color:var(--red); font-size:12px; overflow-wrap:anywhere; }
.ledger-detail { margin-top:17px; border-top:1px solid var(--line); }
.ledger-detail summary { padding:15px 18px; color:var(--teal); font-size:12px; cursor:pointer; }
.ledger-detail[open] summary { border-bottom:1px solid var(--line); background:#f7faf9; }
.order-ledger-status { padding:17px; border:1px solid #dde8e9; border-radius:9px; background:#f6faf9; }
.order-ledger-status>.small { margin-top:7px; }
.order-ledger-status .ledger-detail summary { padding-left:0; }
.order-ledger-status .table-scroll { margin:0 -17px -17px; }

/* Forms and compliance records */
.field { margin-bottom:21px; min-width:0; }
.field label { display:block; color:#3e5966; font-size:12px; font-weight:500; }
.field input,.field select,.field textarea { display:block; width:100%; margin-top:8px; padding:11px 12px; border:1px solid #d9e3e8; border-radius:7px; background:#fff; color:var(--ink); font-size:13px; line-height:1.6; box-shadow:0 1px 2px #132c3702; }
.field input,.field select { min-height:44px; }
.field input::placeholder,.field textarea::placeholder { color:#95a4ac; }
.field input:hover,.field select:hover,.field textarea:hover { border-color:#becfd6; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#5b9fa1; outline:0; box-shadow:0 0 0 3px #087f8010; }
.field textarea { min-height:90px; resize:vertical; }
.field select { padding-right:28px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
.field.full { grid-column:1/-1; }
.form-section-label { grid-column:1/-1; margin:18px 0 21px; padding-bottom:12px; color:#375360; border-bottom:1px solid var(--line); font-size:14px; font-weight:650; }
.form-grid>.form-section-label:first-child { margin-top:0; }
.help { margin-top:8px; color:var(--muted); font-size:11px; line-height:1.8; }
.form-error { margin:0 0 16px; color:var(--red); font-size:12px; line-height:1.8; }
.form-error:empty { display:none; }
.checkbox-line { display:flex; gap:10px; align-items:flex-start; margin:14px 0; color:#586f7b; font-size:12px; font-weight:400; line-height:1.8; cursor:pointer; }
.checkbox-line input { width:15px; height:15px; margin:4px 0 0; accent-color:var(--teal); flex:none; }
.segment-control { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:9px; }
.segment-control label { position:relative; cursor:pointer; }
.segment-control input { position:absolute; width:1px; height:1px; opacity:0; }
.segment-control span { display:flex; align-items:center; justify-content:center; min-height:45px; padding:11px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--muted); font-size:12px; }
.segment-control input:checked+span { color:var(--teal); background:#edf7f3; border-color:#83b6ad; box-shadow:0 0 0 1px #83b6ad; }
.segment-control input:focus-visible+span { outline:3px solid #44a6aa; outline-offset:3px; }
.compliance-profiles,.compliance-wallets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.compliance-profiles>.panel,.compliance-wallets>.panel { align-self:start; }
.compliance-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px; margin:0; }
.compliance-facts dt { margin-bottom:7px; color:var(--muted); font-size:12px; }
.compliance-facts dd { margin:0; color:#304d5a; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.compliance-details { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); }
.compliance-details>summary { color:var(--teal); font-size:12px; line-height:1.8; cursor:pointer; }
.compliance-details[open]>summary { margin-bottom:18px; }
.compliance-details>form { margin-top:16px; }
.compliance-details .field textarea { min-height:76px; }
.compliance-fieldset { margin:2px 0 23px; padding:20px 18px 0; border:1px solid var(--line); border-radius:9px; }
.compliance-fieldset legend { padding:0 8px; color:#5e7580; font-size:12px; }
.evidence-list { list-style:none; margin:20px 0 0; padding:0; }
.evidence-list li { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.evidence-list li>span { min-width:92px; color:var(--muted); }
.evidence-list strong { font-weight:500; overflow-wrap:anywhere; }
.evidence-list small { flex-basis:100%; color:var(--muted); font-size:10px; }
.wallet-address { color:#385866; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.compliance-section-heading { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.compliance-section-heading h3,.compliance-section-heading strong { font-size:14px; }
.order-compliance { padding:19px; border:1px solid #dce7e7; background:#fbfcfc; border-radius:9px; }
.order-compliance>p { line-height:1.85; }
.transfer-card { margin-top:19px; padding-top:21px; border-top:1px solid var(--line); }
.transfer-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:17px 0; }
.transfer-checks>div { display:flex; flex-direction:column; gap:9px; align-items:flex-start; }
.transfer-checks>div>span:first-child { color:var(--muted); font-size:12px; }
.transfer-checks .badge { white-space:normal; }
.transfer-card>.small { line-height:1.8; overflow-wrap:anywhere; }
.transfer-parties { display:grid; grid-template-columns:1fr 1fr; gap:21px; }
.transfer-parties>div>strong { font-size:12px; }
.transfer-parties dl { margin:13px 0 0; }
.transfer-parties dt { margin-top:11px; color:var(--muted); font-size:11px; }
.transfer-parties dd { margin:5px 0 0; color:#385563; font-size:12px; overflow-wrap:anywhere; }
.compliance-notice { margin-bottom:22px; }

/* Overlays preserve independent scrolling and visible actions. */
body.modal-open { overflow:hidden; }
.overlay-backdrop { position:fixed; inset:0; z-index:50; background:#0c263b66; backdrop-filter:blur(2px); }
.drawer { position:fixed; inset:0 0 0 auto; z-index:51; width:min(700px,100vw); overflow-y:auto; overscroll-behavior:contain; background:#fff; box-shadow:-14px 0 60px #102b3626; animation:drawer-in .18s ease-out; }
.drawer-header { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 30px; border-bottom:1px solid var(--line); background:#fffffffa; }
.drawer-header .eyebrow { margin-bottom:7px; color:#66828c; font-size:10px; }
.drawer-header h2 { font:500 20px/1.5 var(--data); letter-spacing:-.5px; overflow-wrap:anywhere; }
.drawer-header>.button { min-height:36px; width:36px; padding:7px; flex:none; }
.drawer-body { padding:26px 30px 36px; }
.drawer-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 19px; margin:27px 0; }
.drawer-facts dt { margin-bottom:7px; color:var(--muted); font-size:11px; }
.drawer-facts dd { margin:0; font-size:12px; overflow-wrap:anywhere; }
.drawer-body .status-box+.notice,.drawer-body .status-box+.order-ledger-status { margin-top:21px; }
.action-panel { margin-top:23px; padding:21px; border:1px solid #dce6e9; border-radius:9px; background:#fff; }
.action-panel h3 { font-size:14px; }
.action-panel>p { margin-top:7px; color:var(--muted); font-size:12px; line-height:1.85; }
.action-panel form { margin-top:18px; }
.action-panel .button-row { margin-top:17px; }
.action-panel .field textarea { min-height:78px; }
.hold-form { margin-top:22px; border-top:1px solid var(--line); padding-top:17px; }
.hold-form>summary { color:#6f7d84; font-size:12px; cursor:pointer; line-height:1.8; }
.hold-form .action-panel { margin-top:15px; }
.quote-validity { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:22px 0; padding:15px 17px; border:1px solid #d7e8e1; border-radius:8px; background:#eff8f4; font-size:12px; }
.quote-validity .svg { width:17px; height:17px; color:var(--teal); }
.quote-validity strong { color:var(--teal); font:500 16px var(--data); }
.quote-validity strong.expired { color:var(--red); }
.quote-validity small { margin-left:auto; color:var(--muted); font-size:11px; }
.receipt-actions { margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.receipt-actions p { margin-top:11px; line-height:1.8; }
.modal { position:fixed; top:50%; left:50%; z-index:51; width:min(590px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow-y:auto; transform:translate(-50%,-50%); border:1px solid #e4ebee; border-radius:15px; background:#fff; box-shadow:var(--shadow); }
.modal-header { position:sticky; top:0; z-index:2; display:flex; gap:20px; align-items:center; justify-content:space-between; padding:23px 26px; border-bottom:1px solid var(--line); background:#fff; }
.modal-header h2 { font-size:19px; }
.modal-header .button { width:35px; min-height:35px; padding:7px; flex:none; }
.modal-body { padding:25px 26px; }
.modal-body>.client-profile-facts,.status-box>.client-profile-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px; margin:18px 0 0; }
.modal-body>.client-profile-facts>div,.status-box>.client-profile-facts>div { min-width:0; }
.modal-body>.client-profile-facts dt,.status-box>.client-profile-facts dt { margin-bottom:6px; color:var(--muted); font-size:11px; }
.modal-body>.client-profile-facts dd,.status-box>.client-profile-facts dd { margin:0; color:#355563; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.bank-number { overflow-wrap:anywhere; }
.modal-footer { display:flex; gap:10px; justify-content:flex-end; padding:19px 26px; border-top:1px solid var(--line); background:#fcfdfd; }
.environment-details>p { color:var(--muted); line-height:1.9; font-size:13px; }
.environment-details .environment-intro { margin-bottom:12px; color:#4e6875; }
.environment-details>.small { margin-top:20px; color:#7c8d96; font-size:12px; }
.environment-status-row { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; gap:18px; padding:19px 0; border-bottom:1px solid var(--line); font-size:13px; }
.environment-status-row strong { color:#385c68; font-size:13px; font-weight:600; }
.environment-status-row p { color:var(--muted); font-size:12px; line-height:1.85; }
.environment-details .notice { margin-top:20px; }
.toast { position:fixed; bottom:26px; left:calc(50% + 112px); z-index:90; display:flex; gap:9px; align-items:center; width:max-content; max-width:min(570px,calc(100vw - 40px)); padding:15px 20px; transform:translateX(-50%); border:1px solid #ffffff0a; border-radius:10px; background:var(--nav-dark); color:#fff; box-shadow:var(--shadow); font-size:12px; line-height:1.7; }
.toast.error { background:#823a36; }
.toast .svg { width:17px; height:17px; }
.loading-line { position:fixed; top:0; right:0; left:224px; z-index:80; height:2px; overflow:hidden; }
.loading-line:after { content:""; position:absolute; width:35%; height:100%; background:#31a89e; animation:loading 1.1s linear infinite; }
.drawer-role,.actor-control,.view-switch { font-size:12px; }
.drawer-role { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px; border:1px solid var(--line); background:#f7fafb; border-radius:8px; }
.drawer-role select,.actor-control select { padding:7px 10px; border:1px solid var(--line); background:#fff; border-radius:5px; }
.view-switch { display:flex; gap:4px; padding:4px; border:1px solid var(--line); border-radius:7px; background:#f4f7f8; }
.view-switch button { padding:6px 10px; border-radius:4px; background:transparent; color:var(--muted); }
.view-switch button.selected { background:#fff; color:var(--ink); }

/* Sign-in: a product composition, with demo access deliberately secondary. */
.login-screen { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,1fr); min-height:100dvh; background:#fff; }
.login-intro { position:relative; display:flex; flex-direction:column; align-items:stretch; min-width:0; min-height:100dvh; padding:43px clamp(42px,5.1vw,82px) 30px; background:#eef3f1; color:var(--ink); border-right:1px solid #dfe8e4; }
.login-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.login-brand { padding:0; margin:0; }
.login-brand .brand-name { color:var(--nav); font-size:30px; }
.login-brand .brand-note { color:#6b878a; font-size:10px; }
.login-brand .brand-emblem { color:#caf3e8; width:40px; height:40px; }
.login-edition { color:#68858a; font-size:11px; letter-spacing:1px; text-transform:uppercase; }
.login-hero-copy { margin-top:clamp(55px,8vh,95px); }
.login-product-label { color:#427d78; font-size:11px; font-weight:500; letter-spacing:2px; }
.login-intro h1 { max-width:570px; margin:17px 0 22px; color:var(--nav); font-size:clamp(34px,3.1vw,48px); line-height:1.4; font-weight:550; letter-spacing:-1.4px; }
.login-subtitle { max-width:450px; color:#5e7b82; font-size:14px; line-height:1.95; }
.login-proof { display:flex; flex-wrap:wrap; gap:20px; margin-top:26px; color:#4d7076; font-size:12px; }
.login-proof span { display:inline-flex; gap:7px; align-items:center; }
.login-proof .svg { width:15px; height:15px; color:#42877c; }
.login-product-preview { position:relative; width:100%; max-width:530px; margin:30px 0 26px; padding:0; background:#f7f9f6; border:1px solid #dce7df; border-radius:12px; box-shadow:0 15px 32px #102b3607; overflow:hidden; }
.login-brand-art { position:relative; height:260px; overflow:hidden; background:#f7f8f3; }
.login-brand-art img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.preview-ticket { position:relative; display:block; margin:-20px 16px 18px; padding:19px 18px; border:1px solid #e0e9e4; border-radius:9px; background:#fffffff2; box-shadow:0 5px 18px #15342e05; }
.preview-window-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 0 13px; border-bottom:1px solid #e8eeeb; color:#66828a; font-size:10px; }
.preview-window-bar i { width:5px; height:5px; background:#adc1c4; border-radius:50%; }
.preview-window-bar span { margin:0; font-size:10px; letter-spacing:.7px; }
.preview-flow { display:flex; align-items:center; gap:8px; margin:14px 0 0; padding:0; }
.flow-node { display:flex; align-items:center; justify-content:center; gap:6px; min-width:0; flex:1; padding:10px 6px; background:#f1f7f4; border:1px solid #d8e6df; color:#315d5b; border-radius:6px; font-size:11px; white-space:nowrap; }
.flow-node .svg { width:14px; height:14px; color:#488d7d; }
.flow-connector { color:#8aa6aa; font-size:13px; }
.login-product-preview .login-proof { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:9px 20px; margin-top:17px; padding-top:14px; border-top:1px solid #e8eeeb; color:#627f85; font-size:11px; }
.ticket-label { color:#70898e; font-size:11px; }
.ticket-amount { color:var(--nav); font:500 22px/1.4 var(--data); letter-spacing:-.8px; }
.ticket-amount small { margin-left:4px; color:#758c91; font:11px var(--font); }
.ticket-status { align-self:center; padding:5px 9px; color:#33755f; background:#e6f2e8; border:1px solid #cee4d3; border-radius:5px; font-size:10px; }
.login-bottomline { display:flex; justify-content:space-between; gap:20px; margin-top:auto; padding-top:25px; color:#6b858c; font-size:11px; line-height:1.8; }
.login-card { width:min(430px,calc(100% - 72px)); margin:auto; padding:48px 0; }
.login-form-heading { margin-bottom:27px; }
.login-card>.eyebrow,.login-form-heading>.eyebrow { margin-bottom:12px; color:#6d858d; }
.login-card h2 { margin-bottom:12px; color:var(--ink); font-size:28px; font-weight:650; letter-spacing:-.7px; }
.login-card>.small,.login-form-heading>p { color:var(--muted); font-size:13px; line-height:1.85; }
.login-card .field { margin-bottom:22px; }
.login-card .field label { font-size:13px; }
.login-card .field input { font-size:14px; min-height:47px; }
.login-submit,.login-card>[data-act="oidc-login"] { width:100%; min-height:48px; justify-content:space-between; font-size:13px; }
.identity-provider { margin:23px 0 20px; padding:19px; border:1px solid #dfe9e7; border-radius:9px; background:#f8fbfa; }
.identity-provider-heading { display:flex; align-items:center; gap:9px; color:#345c62; font-size:13px; }
.identity-provider-heading .svg { width:19px; height:19px; color:var(--teal); }
.identity-provider p { margin-top:9px; color:#6c828a; font-size:12px; line-height:1.85; }
.login-help { margin-top:22px; padding-top:19px; border-top:1px solid var(--line); color:#75878f; font-size:12px; line-height:1.85; }
.preview-note { margin-top:22px; padding:14px 16px; border:1px solid #ece5d6; border-radius:8px; background:#fcfaf4; color:#8c7547; font-size:11px; line-height:1.8; }
.preview-note .svg { width:14px; height:14px; margin-right:5px; }
.demo-access { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.demo-access>summary { color:#6b818a; font-size:12px; line-height:1.8; cursor:pointer; }
.demo-access[open]>summary { margin-bottom:17px; }
.demo-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:18px 0; }
.demo-account { min-width:0; min-height:62px; padding:12px; border:1px solid #dce5e9; border-radius:8px; background:#fff; color:var(--ink); text-align:left; }
.demo-account:hover,.demo-account.selected { border-color:#80b3ad; background:#f2f8f5; }
.demo-account strong { display:block; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.demo-account span { display:block; margin-top:5px; color:var(--muted); font-size:11px; }
.demo-password { color:#7c8b92; font-size:11px; line-height:1.9; }
.demo-password code { padding:3px 6px; border-radius:4px; color:#386c70; background:#edf4f3; font:11px var(--data); overflow-wrap:anywhere; }
.login-flow { list-style:none; padding:0; margin:25px 0; display:flex; flex-direction:column; gap:14px; }
.login-flow li { display:flex; align-items:center; gap:13px; color:#c5dbde; font-size:12px; }
.login-flow li span { color:#91bfc2; font:11px var(--data); }
.login-sandbox-note { display:flex; gap:8px; align-items:flex-start; margin-top:auto; padding-top:28px; color:#9fbbc3; font-size:11px; line-height:1.8; }
.login-sandbox-note .svg { width:14px; height:14px; margin-top:3px; }

@keyframes loading { from{left:-35%} to{left:100%} }
@keyframes drawer-in { from{transform:translateX(25px);opacity:.6} to{transform:translateX(0);opacity:1} }

@media(min-width:1600px) {
  .main-content { padding-top:40px; }
  .client-hero { padding-bottom:33px; }
  .client-hero-title { font-size:35px; }
}
@media(max-width:1200px) {
  .topbar { padding:15px 28px; }
  .preview-rail,.simulation-strip { padding-left:28px; padding-right:28px; }
  .main-content { padding:30px 28px 34px; }
  .metrics-grid { gap:13px; }
  .metric { padding:20px; }
  .metric-value { font-size:26px; }
  .dashboard-grid { grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr); gap:20px; }
  .client-workspace-grid { grid-template-columns:minmax(270px,.9fr) minmax(0,1.3fr); gap:20px; }
  .account-summary-item { padding:21px 19px; }
  .account-summary-item strong { font-size:20px; }
  .provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .login-intro { padding-left:38px; padding-right:38px; }
  .login-card { width:calc(100% - 56px); max-width:430px; }
}
@media(max-width:1050px) {
  .shell { grid-template-columns:200px minmax(0,1fr); }
  .sidebar { width:200px; padding-left:12px; padding-right:12px; }
  .brand { padding-left:11px; gap:9px; }
  .brand-name { font-size:25px; }
  .brand-note { font-size:9px; }
  .nav-item { gap:10px; padding-left:12px; padding-right:10px; font-size:12px; }
  .nav-item .svg { width:17px; height:17px; }
  .loading-line { left:200px; }
  .topbar-actions { gap:9px; }
  .session-user { min-width:75px; }
  .topbar-breadcrumb { display:none; }
  .auth-status { display:none; }
  .dashboard-grid,.client-workspace-grid { grid-template-columns:1fr; }
  .dashboard-grid>.stack { display:grid; grid-template-columns:1fr 1fr; align-items:start; }
  .metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compliance-profiles,.compliance-wallets { grid-template-columns:1fr; }
  .account-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .account-summary-item:nth-child(2) { border-right:0; }
  .account-summary-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .client-hero { align-items:flex-start; }
  .client-hero-title { font-size:29px; }
  .check-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .toast { left:calc(50% + 100px); }
  .login-screen { grid-template-columns:minmax(0,1fr) minmax(350px,1fr); }
  .login-intro { padding:35px 30px 27px; }
  .login-intro h1 { font-size:34px; }
  .login-hero-copy { margin-top:65px; }
  .login-proof { gap:14px; font-size:11px; }
  .login-brand-art { height:240px; }
  .preview-ticket { margin-left:13px; margin-right:13px; padding:17px 14px; }
  .flow-node { font-size:10px; gap:4px; }
  .flow-node .svg { width:12px; height:12px; }
  .flow-connector { font-size:11px; }
  .login-edition { display:none; }
}
@media(max-width:760px) {
  .shell { display:block; }
  .sidebar { position:fixed; inset:auto 0 0; width:100%; height:auto; min-height:72px; padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px)); background:#fff; color:var(--ink); border-top:1px solid #dce6eb; box-shadow:0 -4px 18px #102b3607; }
  .sidebar .brand,.sidebar .nav-label,.sidebar .sidebar-footer { display:none; }
  .sidebar nav { display:flex; flex-direction:row; gap:3px; width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
  .sidebar nav::-webkit-scrollbar { display:none; }
  .client-shell .sidebar nav { justify-content:space-around; }
  .nav-item { flex:1 0 66px; width:auto; min-width:66px; min-height:59px; gap:5px; flex-direction:column; justify-content:center; padding:8px 5px; border-radius:7px; background:transparent; color:#7b8e98; font-size:10px; line-height:1.4; text-align:center; }
  .client-shell .nav-item { flex:1 1 0; min-width:0; }
  .staff-shell .nav-item { flex:0 0 79px; }
  .nav-item:hover { color:var(--teal); background:#f3f8f6; }
  .nav-item.active { color:var(--teal); background:#edf6f3; box-shadow:none; }
  .nav-item.active:before { display:none; }
  .nav-item .svg { width:20px; height:20px; }
  .nav-count { display:none; }
  .workspace { margin-left:0; padding-bottom:89px; }
  .topbar { position:sticky; top:0; z-index:18; min-height:70px; gap:10px; padding:13px 18px; }
  .topbar-title { font-size:14px; }
  .topbar-kicker { font-size:10px; }
  .topbar-actions { gap:8px; }
  .topbar-breadcrumb { display:flex; gap:7px; font-size:11px; }
  .topbar-breadcrumb>span:first-child { display:none; }
  .user-avatar { width:31px; height:31px; font-size:10px; }
  .session-user { min-width:0; }
  .session-user strong { max-width:108px; font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .session-user span { font-size:10px; }
  .topbar-actions>.button { min-height:34px; padding:7px 9px; font-size:11px; }
  .topbar-actions>.environment-pill { display:none; }
  .environment-button { min-height:29px; padding:4px 7px; font-size:10px; }
  .environment-button .svg { display:none; }
  .preview-rail,.simulation-strip { padding:7px 18px; font-size:10px; line-height:1.7; }
  .preview-rail>.svg,.simulation-strip>.svg { display:none; }
  .preview-rail button,.preview-rail a { font-size:10px; }
  .main-content { padding:25px 18px 28px; }
  h1 { font-size:25px; }
  h2 { font-size:16px; }
  .page-heading { flex-direction:column; gap:14px; margin-bottom:22px; }
  .page-heading p { margin-top:8px; font-size:12px; }
  .heading-actions { padding-top:0; width:100%; }
  .button { min-height:42px; padding:10px 14px; }
  .client-hero { flex-direction:column; gap:21px; padding-bottom:24px; }
  .client-hero-title { font-size:28px; }
  .client-greeting { font-size:12px; }
  .client-hero-copy { margin-top:8px; font-size:12px; }
  .client-hero-actions { width:100%; }
  .client-hero-actions>.button.primary { flex:1; }
  .client-account-label { margin-top:13px; font-size:11px; }
  .account-summary-grid { margin-bottom:23px; }
  .account-summary-item { padding:18px 16px; }
  .account-summary-item>span,.account-summary-item dt { font-size:11px; }
  .account-summary-item strong,.account-summary-item dd { margin-top:8px; font-size:19px; }
  .account-summary-item p,.account-summary-item small { font-size:10px; }
  .client-workspace-grid,.two-columns { grid-template-columns:1fr; gap:20px; }
  .client-next-action { gap:12px; padding:19px 19px; }
  .next-action-icon { width:34px; height:34px; }
  .next-action-copy h3,.next-action-copy h2 { font-size:14px; }
  .account-service-row { padding:18px 19px; gap:12px; }
  .account-service-row h3 { font-size:13px; }
  .account-service-row small { font-size:11px; }
  .section-heading { margin:25px 0 17px; }
  .section-heading h2 { font-size:17px; }
  .section-heading p { font-size:12px; }
  .next-action-copy p { font-size:12px; }
  .metrics-grid { gap:12px; }
  .metric { padding:19px 16px; }
  .metric-label { font-size:11px; }
  .metric-label .svg { width:15px; height:15px; }
  .metric-value { font-size:25px; margin:13px 0 7px; }
  .metric-note { font-size:10px; }
  .dashboard-grid>.stack { display:flex; }
  .panel-header { min-height:65px; padding:18px 19px; }
  .panel-header h2 { font-size:15px; }
  .panel-subtitle { font-size:11px; }
  .panel-body { padding:20px 19px; }
  .panel-footer { padding:12px 19px; }
  .settlement-preview { padding:20px 19px; }
  .settlement-legs { grid-template-columns:minmax(0,1fr) 23px minmax(0,1fr); }
  .settlement-leg { padding:13px 11px; }
  .leg-label { font-size:10px; }
  .leg-value { font-size:17px; }
  .leg-value small { display:block; margin-left:0; margin-top:3px; }
  .leg-meta { font-size:10px; }
  .progress-labels { font-size:9px; }
  .client-intro { display:block; padding:21px; }
  .client-meta { gap:20px; margin-top:19px; font-size:11px; }
  .toolbar { gap:10px; padding:15px; }
  .search-box { flex-basis:100%; max-width:none; }
  .filter-select { flex:1; min-width:120px; }
  .toolbar-count { font-size:11px; }
  table { font-size:11px; }
  th { padding:12px 15px; font-size:10px; }
  td { padding:16px 15px; }
  .table-order { font-size:11px; }
  .table-scroll .button { min-height:35px; padding:7px 11px; font-size:11px; }
  .provider-grid { grid-template-columns:1fr; gap:17px; }
  .provider-card { padding:22px; }
  .notice { gap:10px; padding:15px; font-size:12px; }
  .notice strong { font-size:12px; }
  .notice p { font-size:11px; }
  .notice>.svg { width:16px; height:16px; }
  .compliance-profiles,.compliance-wallets { gap:19px; }
  .compliance-facts { gap:18px 15px; }
  .compliance-facts dt { font-size:11px; }
  .compliance-facts dd { font-size:12px; }
  .form-grid,#onboarding-form .form-grid,#wallet-form .form-grid,.compliance-fieldset .form-grid { grid-template-columns:minmax(0,1fr); }
  .compliance-fieldset { padding:18px 13px 0; }
  .form-section-label { margin-top:8px; }
  .field input,.field select,.field textarea { font-size:14px; }
  .transfer-checks { grid-template-columns:1fr; gap:12px; }
  .transfer-checks>div { flex-direction:row; align-items:center; justify-content:space-between; }
  .transfer-parties { grid-template-columns:1fr; }
  .order-compliance { padding:16px; }
  .integration-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 14px; }
  .integration-facts dd { font-size:13px; }
  .ledger-integration .panel-header { flex-wrap:wrap; }
  .check-grid { gap:10px; }
  .check-item { padding:13px; }
  .fact-list { grid-template-columns:100px minmax(0,1fr); gap:13px; }
  .drawer { width:100%; }
  .drawer-header { padding:20px; }
  .drawer-header h2 { font-size:17px; }
  .drawer-body { padding:22px 20px 32px; }
  .drawer-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
  .action-panel { padding:18px; }
  .action-panel .button-row>.button { flex:1; white-space:normal; }
  .quote-validity small { flex-basis:100%; margin-left:0; }
  .receipt-actions>.button { width:100%; }
  .modal { width:calc(100vw - 24px); max-height:calc(100dvh - 26px); border-radius:12px; }
  .modal-header { padding:20px; }
  .modal-header h2 { font-size:18px; }
  .modal-body { padding:22px 20px; }
  .modal-footer { padding:17px 20px; }
  .modal-footer>.button { flex:1; }
  .environment-status-row { grid-template-columns:1fr; gap:6px; padding:17px 0; }
  .toast { bottom:calc(90px + env(safe-area-inset-bottom,0px)); left:50%; max-width:calc(100vw - 28px); padding:13px 17px; font-size:12px; }
  .loading-line { left:0; }
  .footer-note { font-size:10px; padding-top:24px; }
  .login-screen { display:block; }
  .login-intro { min-height:auto; padding:27px 25px 25px; }
  .login-brand .brand-name { font-size:26px; }
  .login-brand .brand-emblem { width:35px; height:35px; }
  .login-brand .brand-note { font-size:8px; }
  .login-hero-copy { margin-top:34px; }
  .login-product-label { font-size:10px; }
  .login-intro h1 { margin:12px 0 13px; font-size:29px; line-height:1.45; letter-spacing:-.8px; }
  .login-subtitle { max-width:100%; font-size:12px; line-height:1.9; }
  .login-proof { margin-top:18px; gap:17px; font-size:11px; }
  .login-product-preview { display:none; }
  .login-bottomline { margin-top:15px; padding-top:16px; font-size:10px; border-top:1px solid #d3e0db; }
  .login-card { width:calc(100% - 50px); max-width:440px; padding:32px 0 38px; }
  .login-card h2 { font-size:25px; }
  .login-form-heading { margin-bottom:23px; }
  .login-card>.small,.login-form-heading>p { font-size:12px; }
  .identity-provider { padding:17px; margin:20px 0; }
  .identity-provider p { font-size:12px; }
  .demo-access { margin-top:25px; }
  .demo-account-grid { gap:9px; }
  .demo-account { padding:11px; min-height:63px; }
  .login-flow { display:none; }
  .login-sandbox-note { margin-top:17px; padding-top:0; font-size:10px; }
}
@media(max-width:380px) {
  .topbar { padding-left:14px; padding-right:14px; }
  .topbar-actions { gap:6px; }
  .topbar-title { font-size:13px; }
  .session-user strong { max-width:80px; }
  .user-avatar { display:none; }
  .main-content { padding-left:15px; padding-right:15px; }
  .environment-button { font-size:9px; }
  .metric-value { font-size:22px; }
  .metric-label .svg { display:none; }
  .login-intro { padding-left:23px; padding-right:23px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
}

/* Existing profiles open in review mode; editing is an explicit action. */
.profile-edit-panel { border:1px solid var(--line); border-radius:var(--radius); background:#fff; overflow:hidden; }
.profile-edit-panel>summary { display:flex; align-items:center; gap:12px; padding:20px 22px; color:var(--ink); font-size:14px; font-weight:600; cursor:pointer; }
.profile-edit-panel>summary:before { content:"+"; color:var(--teal); font-size:19px; font-weight:400; }
.profile-edit-panel[open]>summary:before { content:"−"; }
.profile-edit-panel>summary span { margin-left:auto; color:var(--muted); font-size:12px; font-weight:400; }
.profile-edit-panel[open]>summary { border-bottom:1px solid var(--line); }
.profile-edit-panel>.panel { margin-top:0; border:0; border-radius:0; }
@media(max-width:760px) { .profile-edit-panel>summary { align-items:flex-start; flex-wrap:wrap; padding:18px; } .profile-edit-panel>summary span { flex-basis:100%; margin-left:26px; font-size:11px; } }

/* v0.6: a focused operations console, separate from the client portal. */
.backoffice-login { grid-template-columns:minmax(0,.95fr) minmax(390px,1fr); }
.backoffice-login .login-intro { background:var(--nav); border-right-color:var(--nav-dark); color:#dcebed; }
.backoffice-login .login-brand .brand-name,.backoffice-login .login-intro h1 { color:#f3fafb; }
.backoffice-login .login-brand .brand-note,.backoffice-login .login-edition,.backoffice-login .login-bottomline { color:#a4c0c8; }
.backoffice-login .login-product-label { color:#89c8bd; }
.backoffice-login .login-subtitle { color:#b7ced5; }
.backoffice-login .login-bottomline .button.link { color:#b8ded7; }
.backoffice-login .login-hero-copy { margin-top:62px; }
.backoffice-login .login-intro h1 { font-size:clamp(32px,2.8vw,43px); letter-spacing:-1px; }
.backoffice-login .login-product-preview { max-width:480px; margin-top:26px; border-color:#51717a; background:#f7faf7; box-shadow:none; }
.backoffice-login .login-brand-art { height:185px; }
.backoffice-login .preview-ticket { margin-top:-10px; }
.backoffice-login .preview-flow { gap:6px; }
.backoffice-login .flow-node { font-size:10px; }
.portal-access-card { max-width:560px; margin:10vh auto; padding:35px; border:1px solid var(--line); border-radius:12px; background:#fff; text-align:center; }
.portal-access-card>.svg { width:34px; height:34px; margin-bottom:18px; color:var(--teal); }
.portal-access-card h1 { font-size:24px; }
.portal-access-card p { margin:12px 0 22px; color:var(--muted); font-size:13px; line-height:1.9; }
.portal-access-card .button-row { justify-content:center; }

.staff-shell .sidebar { padding-top:27px; }
.staff-shell .brand { padding-bottom:20px; }
.staff-shell .nav-label { margin-top:12px; }
.nav-group-label { margin:19px 14px 6px; color:#829da8; font-size:10px; letter-spacing:1.1px; line-height:1.6; }
.staff-shell .nav-item { min-height:43px; padding-top:9px; padding-bottom:9px; }
.staff-shell .topbar { min-height:76px; padding-top:13px; padding-bottom:13px; }
.staff-shell .main-content { padding-top:27px; }
.staff-shell .button { min-height:37px; padding:8px 13px; }
.staff-shell .button.link { min-height:28px; padding:3px 0; }
.staff-shell .page-heading { margin-bottom:22px; }
.staff-shell .panel-header { min-height:64px; padding:17px 21px; }
.staff-shell th { padding-top:11px; padding-bottom:11px; }
.staff-shell td { padding-top:13px; padding-bottom:13px; }
.backoffice-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; margin-bottom:23px; }
.backoffice-heading .eyebrow { margin-bottom:8px; }
.backoffice-heading h1 { font-size:27px; letter-spacing:-.7px; }
.backoffice-heading p { max-width:710px; margin-top:7px; color:var(--muted); font-size:12px; line-height:1.8; }
.backoffice-heading>.heading-actions { padding-top:12px; }
.role-chip { display:inline-flex; align-items:center; gap:6px; max-width:100%; padding:5px 9px; border:1px solid #d6e4e8; border-radius:5px; background:#f0f5f7; color:#385967; font-size:11px; font-weight:550; line-height:1.5; white-space:nowrap; }
.role-chip .svg { width:13px; height:13px; }
.operations-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:23px; border:1px solid var(--line); border-radius:10px; background:#fff; overflow:hidden; }
.operations-stat { min-width:0; padding:18px 21px; border-right:1px solid var(--line); background:#fff; text-align:left; transition:background .15s,box-shadow .15s; }
.operations-stat:last-child { border-right:0; }
.operations-stat:hover:not(:disabled) { background:#f6fbf9; box-shadow:inset 0 -2px #8bbeb6; }
.operations-stat:active:not(:disabled) { background:#edf6f2; }
.operations-stat:focus-visible { outline-offset:-3px; }
.operations-stat>span,.operations-stat>label { display:block; color:var(--muted); font-size:11px; }
.operations-stat>strong,.operations-stat>.value { display:block; margin-top:8px; color:var(--nav); font:500 27px/1.3 var(--data); letter-spacing:-.8px; }
.operations-stat>strong small { margin-left:5px; color:var(--muted); font:11px var(--font); letter-spacing:0; }
.operations-stat>small,.operations-stat>p { display:block; margin-top:7px; color:#738690; font-size:11px; line-height:1.6; }
.workbench-layout { display:grid; grid-template-columns:minmax(0,1fr) 268px; align-items:start; gap:20px; }
.workbench-layout>*,.workbench-rail { min-width:0; }
.workbench-rail { display:flex; flex-direction:column; gap:18px; }
.workbench-rail .panel-header { padding:16px 18px; min-height:58px; }
.workbench-rail .panel-header h2 { font-size:14px; }
.workbench-rail .panel-body { padding:17px 18px; }
.workbench-rail .panel-body>.button { display:flex; justify-content:space-between; width:100%; margin-top:8px; text-align:left; }
.workbench-rail .activity-item { gap:9px; padding:12px 0; }
.workbench-rail .activity-icon { width:25px; height:25px; }
.workbench-rail .activity-icon .svg { width:13px; height:13px; }
.workbench-rail .activity-copy { min-width:0; }
.workbench-rail .mono { overflow-wrap:anywhere; }
.queue-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:19px 21px 15px; }
.queue-toolbar h2 { font-size:16px; }
.queue-toolbar small { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.7; }
.queue-tabs { display:flex; gap:3px; align-items:center; max-width:100%; padding:0 17px; border-bottom:1px solid var(--line); overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
.queue-tabs button { display:inline-flex; gap:7px; align-items:center; flex:none; min-height:43px; padding:10px 11px; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:12px; white-space:nowrap; }
.queue-tabs button:hover { color:var(--ink); background:#f9fbfc; }
.queue-tabs button.active,.queue-tabs button[aria-selected="true"] { color:var(--teal); border-bottom-color:var(--teal); font-weight:600; }
.queue-tabs button span,.queue-tabs button .count { min-width:19px; padding:0 5px; border-radius:4px; background:#edf2f4; color:#71848d; font:10px/1.8 var(--data); text-align:center; }
.queue-tabs button.active span,.queue-tabs button[aria-selected="true"] span { background:#e6f3ef; color:#237b70; }
.queue-table { max-width:100%; overflow-x:auto; scrollbar-width:thin; }
.queue-table table { min-width:660px; }
.queue-table th { background:#f8fafb; }
.queue-table th:first-child,.queue-table td:first-child { padding-left:21px; }
.queue-table td { vertical-align:top; }
.queue-primary { display:block; margin-bottom:3px; color:var(--ink); font-size:12px; font-weight:600; line-height:1.65; }
.queue-secondary { display:block; max-width:270px; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.65; overflow-wrap:anywhere; }
.queue-ref { display:block; color:#607d8a; font:10px/1.7 var(--data); overflow-wrap:anywhere; }
.queue-owner { display:block; max-width:150px; color:#566f7b; font-size:11px; line-height:1.7; }
.queue-priority { display:inline-flex; align-items:center; gap:5px; color:#6d828c; font-size:10px; line-height:1.7; }
.queue-priority:before { content:""; display:block; width:5px; height:5px; background:currentColor; border-radius:50%; }
.queue-priority.urgent,.queue-priority.red { color:var(--red); }
.queue-priority.amber { color:var(--amber); }
.queue-empty { display:flex; flex-direction:column; align-items:center; gap:9px; padding:45px 24px; text-align:center; }
.queue-empty-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:3px; color:#84a69f; background:#f0f7f4; border-radius:50%; }
.queue-empty h3 { color:#3c5d68; font-size:13px; }
.queue-empty p { max-width:380px; color:var(--muted); font-size:12px; line-height:1.8; }
.ops-link-button { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:5px 0; background:transparent; color:var(--teal); font-size:12px; font-weight:600; text-decoration:none; white-space:nowrap; }
.ops-link-button:hover { color:#075f62; text-decoration:underline; text-underline-offset:3px; }
.ops-link-button .svg { width:14px; height:14px; }
.orders-filter-tabs { margin-bottom:0; padding-top:1px; background:#fff; }

.drawer.staff-drawer { width:min(1000px,100vw); }
.staff-drawer .drawer-header { min-height:91px; padding:20px 28px; }
.staff-drawer .drawer-header h2 { font-size:19px; }
.staff-drawer .drawer-body { padding:24px 28px 35px; }
.drawer-section-nav { position:sticky; top:91px; z-index:2; display:flex; align-items:center; gap:4px; width:100%; padding:0 20px; border-bottom:1px solid var(--line); background:#fff; overflow-x:auto; scrollbar-width:none; }
.drawer-section-nav button,.drawer-section-nav a { display:inline-flex; align-items:center; justify-content:center; flex:none; min-height:45px; padding:11px 13px; border-bottom:2px solid transparent; background:transparent; color:var(--muted); font-size:12px; text-decoration:none; white-space:nowrap; }
.drawer-section-nav button:hover,.drawer-section-nav a:hover,.drawer-section-nav button.active { color:var(--teal); border-bottom-color:var(--teal); }
.drawer-section { min-width:0; scroll-margin-top:155px; }
.drawer-section+.drawer-section { margin-top:27px; padding-top:25px; border-top:1px solid var(--line); }
.drawer-section>h3,.drawer-section>.section-heading { margin-bottom:15px; }
.drawer-columns { display:grid; grid-template-columns:minmax(0,1fr) 258px; gap:24px; align-items:start; }
.drawer-columns>* { min-width:0; }
.order-workflow-banner { display:flex; align-items:flex-start; gap:12px; margin:0 0 22px; padding:17px 19px; border:1px solid #cfe3df; border-left:3px solid var(--teal); border-radius:7px; background:#f2f8f6; }
.order-workflow-banner>.svg { width:20px; height:20px; margin-top:2px; color:var(--teal); }
.order-workflow-banner>div { min-width:0; flex:1; }
.order-workflow-banner strong { color:#244e52; font-size:13px; line-height:1.65; }
.order-workflow-banner p { margin-top:5px; color:#67817f; font-size:12px; line-height:1.8; }
.order-workflow-banner>.role-chip { margin-left:auto; flex:none; font-size:10px; background:#fff; }
.order-workflow-banner.warning { background:var(--amber-soft); border-color:#e8d3ac; border-left-color:var(--amber); }
.order-workflow-banner.warning>.svg,.order-workflow-banner.warning strong { color:var(--amber); }
.order-workflow-banner.warning p { color:#91784e; }
.readiness-list { display:flex; flex-direction:column; margin:15px 0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.readiness-list>div,.readiness-list>li { display:flex; align-items:center; gap:9px; min-width:0; padding:11px 14px; border-bottom:1px solid #edf1f3; background:#fff; color:#4f6e78; font-size:12px; }
.readiness-list>div:last-child,.readiness-list>li:last-child { border-bottom:0; }
.readiness-list .svg { width:15px; height:15px; color:#8aa4ad; }
.readiness-list .svg.positive,.readiness-list .ready .svg { color:var(--teal); }
.readiness-list .badge { margin-left:auto; font-size:10px; }
.staff-drawer .settlement-legs { gap:0; }
.staff-drawer .settlement-leg { padding:15px 18px; }
.staff-drawer .drawer-facts { gap:18px; margin:23px 0; }
.staff-drawer .action-panel { margin-top:18px; }
.staff-drawer .action-panel>h3 { font-size:14px; }
.staff-drawer .receipt-actions { margin-top:22px; }

@media(max-width:1280px) {
  .workbench-layout { grid-template-columns:minmax(0,1fr); }
  .workbench-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operations-stat { padding:17px 18px; }
}
@media(max-width:1050px) {
  .backoffice-heading h1 { font-size:25px; }
  .backoffice-login .login-intro { padding-left:30px; padding-right:30px; }
  .backoffice-login .login-intro h1 { font-size:33px; }
  .backoffice-login .login-brand-art { height:150px; }
  .drawer-columns { grid-template-columns:minmax(0,1fr) 230px; gap:20px; }
}
@media(max-width:760px) {
  .backoffice-login { display:block; }
  .backoffice-login .login-intro { min-height:auto; padding:26px 25px; }
  .backoffice-login .login-hero-copy { margin-top:31px; }
  .backoffice-login .login-intro h1 { font-size:29px; margin:12px 0; }
  .backoffice-login .login-subtitle { font-size:12px; }
  .backoffice-login .login-product-preview { display:none; }
  .backoffice-login .login-bottomline { padding-top:22px; }
  .portal-access-card { margin:8vh 18px; padding:28px 22px; }
  .portal-access-card h1 { font-size:22px; }
  .staff-shell .sidebar { padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px)); }
  .staff-shell .nav-item { min-height:59px; padding:8px 5px; }
  .staff-shell .nav-group-label { display:none; }
  .staff-shell .topbar { min-height:70px; padding:13px 18px; }
  .staff-shell .main-content { padding-top:23px; }
  .staff-shell .topbar-actions>.button { min-height:34px; padding:7px 9px; }
  .backoffice-heading { flex-wrap:wrap; gap:14px; margin-bottom:20px; }
  .backoffice-heading h1 { font-size:24px; }
  .backoffice-heading p { font-size:12px; }
  .backoffice-heading>.heading-actions { padding-top:0; width:100%; }
  .operations-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:20px; }
  .operations-stat { padding:16px 17px; }
  .operations-stat:nth-child(2) { border-right:0; }
  .operations-stat:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .operations-stat>strong,.operations-stat>.value { margin-top:7px; font-size:24px; }
  .operations-stat>small,.operations-stat>p { font-size:10px; }
  .workbench-layout { gap:18px; }
  .workbench-rail { display:flex; gap:18px; }
  .queue-toolbar { gap:10px; padding:17px 17px 13px; }
  .queue-toolbar h2 { font-size:15px; }
  .queue-tabs { padding:0 10px; }
  .queue-tabs button { min-height:43px; padding:10px 9px; font-size:11px; }
  .queue-table table { min-width:625px; }
  .queue-table th:first-child,.queue-table td:first-child { padding-left:17px; }
  .queue-empty { padding:34px 19px; }
  .drawer.staff-drawer { width:100%; }
  .staff-drawer .drawer-header { min-height:80px; padding:17px 18px; }
  .staff-drawer .drawer-header h2 { font-size:17px; }
  .staff-drawer .drawer-body { padding:19px 18px 30px; }
  .drawer-section-nav { top:80px; padding:0 8px; }
  .drawer-section-nav button,.drawer-section-nav a { min-height:43px; padding:10px 11px; font-size:11px; }
  .drawer-section { scroll-margin-top:141px; }
  .drawer-columns { display:block; }
  .drawer-columns>*+* { margin-top:23px; }
  .order-workflow-banner { flex-wrap:wrap; gap:9px; padding:14px 15px; }
  .order-workflow-banner>div { flex:1; }
  .order-workflow-banner>.role-chip { margin-left:29px; }
  .readiness-list>div,.readiness-list>li { padding:11px 12px; font-size:11px; }
}

/* v0.7 client account overview: orders, quotes and settlement at a glance. */
.client-overview { min-width:0; }
.client-overview .client-account-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:25px; }
.client-overview .client-account-heading>div { min-width:0; }
.client-overview .client-account-heading h1 { margin:7px 0 0; font-size:30px; font-weight:650; letter-spacing:-.7px; }
.client-overview .client-account-heading p { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.7; }
.client-overview .client-account-heading small,.client-overview .client-account-id { color:var(--muted); font-size:12px; font-weight:400; }
.client-overview .client-account-id { font-family:var(--data); font-variant-numeric:tabular-nums; }
.client-overview .client-account-actions,.client-overview .client-account-heading .heading-actions,.client-overview .client-account-heading .client-hero-actions { display:flex; flex:none; align-items:center; gap:10px; padding:0; }
.client-overview .client-identity-line { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; color:var(--muted); font-size:12px; line-height:1.7; }
.client-overview .client-identity-line .svg { width:14px; height:14px; }
.client-overview .client-identity-line strong { font-size:12px; font-weight:500; color:#49636f; }
.client-overview .client-account-notice { display:flex; align-items:center; gap:11px; margin-bottom:21px; padding:12px 16px; background:#fff; border:1px solid var(--line); border-radius:8px; color:#526d78; font-size:12px; }
.client-overview .client-account-notice>.svg { width:17px; height:17px; color:#7d949d; }
.client-overview .client-account-notice>div { display:flex; min-width:0; flex:1; flex-wrap:wrap; gap:3px 12px; }
.client-overview .client-account-notice strong { color:#385661; font-size:12px; font-weight:600; }
.client-overview .client-account-notice p { color:var(--muted); font-size:12px; line-height:1.7; }
.client-overview .client-account-notice .button { flex:none; min-height:30px; padding:4px 0; }
.client-overview .client-account-notice.attention { background:#fffcf6; border-color:#e9dec9; }
.client-overview .client-account-notice.attention>.svg { color:var(--amber); }
.client-overview .client-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:25px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.client-overview .client-metric { min-width:0; padding:20px 23px; background:#fff; border-right:1px solid var(--line); color:var(--ink); text-align:left; transition:background .15s; }
.client-overview .client-metric:last-child { border-right:0; }
.client-overview .client-metric:hover:not(:disabled) { background:#f7fafb; }
.client-overview .client-metric:focus-visible { outline-offset:-3px; }
.client-overview .client-metric.active,.client-overview .client-metric[aria-pressed="true"] { background:#f2f8f6; }
.client-overview .client-metric>span,.client-overview .client-metric>label { display:block; color:var(--muted); font-size:12px; font-weight:400; }
.client-overview .client-metric strong { display:block; margin-top:10px; color:var(--ink); font:500 27px/1.3 var(--data); font-variant-numeric:tabular-nums; letter-spacing:-.8px; }
.client-overview .client-metric strong small { margin-left:6px; color:var(--muted); font:12px var(--font); letter-spacing:0; }
.client-overview .client-metric>small { display:block; margin-top:6px; color:var(--muted); font-size:11px; font-weight:400; }
.client-overview .client-account-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:22px; }
.client-overview .client-account-grid>* { min-width:0; }
.client-overview .client-account-side { display:flex; flex-direction:column; gap:20px; min-width:0; }
.client-overview .panel-header { min-height:67px; padding:19px 21px; }
.client-overview .panel-header h2 { font-size:15px; }
.client-overview .panel-header .button { min-height:30px; padding:4px 0; border:0; background:transparent; color:var(--teal); }
.client-overview .client-recent-orders table { min-width:650px; }
.client-overview .client-recent-orders th { padding:12px 17px; }
.client-overview .client-recent-orders td { padding:17px; }
.client-overview .client-recent-orders th:first-child,.client-overview .client-recent-orders td:first-child { padding-left:21px; }
.client-overview .client-recent-orders th:last-child,.client-overview .client-recent-orders td:last-child { padding-right:21px; }
.client-overview .client-recent-orders .button { min-height:34px; padding:6px 10px; }
.client-overview .client-task-list { padding:0 20px; }
.client-overview .client-task { display:grid; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:7px 10px; padding:19px 0; border-bottom:1px solid #edf1f3; }
.client-overview .client-task:last-child { border-bottom:0; }
.client-overview .client-task>.svg { width:17px; height:17px; margin-top:2px; color:var(--teal); }
.client-overview .client-task>div { min-width:0; }
.client-overview .client-task strong,.client-overview .client-task h3 { color:#294956; font-size:13px; font-weight:600; line-height:1.6; }
.client-overview .client-task p { margin-top:4px; color:var(--muted); font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.client-overview .client-task>.button { grid-column:2; justify-self:start; min-height:32px; padding:5px 10px; margin-top:3px; font-size:11px; }
.client-overview .client-no-tasks { padding:23px 21px 25px; color:var(--muted); font-size:12px; }
.client-overview .client-no-tasks>.svg { width:17px; height:17px; margin-bottom:9px; color:#8399a1; }
.client-overview .client-no-tasks strong,.client-overview .client-no-tasks h3 { display:block; color:#4b6571; font-size:13px; font-weight:500; }
.client-overview .client-no-tasks p { margin-top:6px; font-size:12px; line-height:1.75; }
.client-overview .client-shortcut { display:flex; align-items:center; gap:11px; width:100%; min-height:53px; padding:14px 21px; border-bottom:1px solid #edf1f3; background:#fff; color:#335563; font-size:12px; font-weight:500; text-align:left; }
.client-overview .client-shortcut:last-child { border-bottom:0; }
.client-overview .client-shortcut:hover { background:#f7fafb; }
.client-overview .client-shortcut:focus-visible { outline-offset:-3px; }
.client-overview .client-shortcut>.svg { width:16px; height:16px; color:#7f969f; }
.client-overview .client-shortcut>.svg:last-child { margin-left:auto; width:14px; height:14px; }
.client-overview .client-account-grid+.client-identity-line { margin-top:18px; }

@media(max-width:1200px) {
  .client-overview .client-account-grid { grid-template-columns:minmax(0,1fr); }
  .client-overview .client-account-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
  .client-overview .client-metric { padding:20px; }
}
@media(max-width:760px) {
  .client-overview .client-account-heading { flex-direction:column; align-items:stretch; gap:18px; margin-bottom:21px; }
  .client-overview .client-account-heading h1 { font-size:27px; }
  .client-overview .client-account-heading p { font-size:12px; }
  .client-overview .client-account-actions,.client-overview .client-account-heading .heading-actions,.client-overview .client-account-heading .client-hero-actions { width:100%; }
  .client-overview .client-account-actions .button.primary,.client-overview .client-account-heading .heading-actions .button.primary,.client-overview .client-account-heading .client-hero-actions .button.primary { flex:1; }
  .client-overview .client-account-notice { align-items:flex-start; flex-wrap:wrap; gap:7px 9px; padding:12px 14px; }
  .client-overview .client-account-notice>.svg { margin-top:2px; }
  .client-overview .client-account-notice>div { flex-basis:calc(100% - 28px); }
  .client-overview .client-account-notice .button { margin-left:26px; }
  .client-overview .client-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:21px; }
  .client-overview .client-metric { padding:17px 18px; }
  .client-overview .client-metric:nth-child(2) { border-right:0; }
  .client-overview .client-metric:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .client-overview .client-metric strong { margin-top:8px; font-size:25px; }
  .client-overview .client-account-grid { gap:18px; }
  .client-overview .client-account-side { display:flex; flex-direction:column; gap:18px; }
  .client-overview .client-account-side>.panel { width:100%; }
  .client-overview .panel-header { min-height:61px; padding:16px 18px; }
  .client-overview .panel-header h2 { font-size:15px; }
  .client-overview .client-recent-orders table { min-width:625px; }
  .client-overview .client-recent-orders th:first-child,.client-overview .client-recent-orders td:first-child { padding-left:18px; }
  .client-overview .client-recent-orders th:last-child,.client-overview .client-recent-orders td:last-child { padding-right:18px; }
  .client-overview .client-task-list { padding:0 18px; }
  .client-overview .client-task { padding:17px 0; }
  .client-overview .client-no-tasks { padding:21px 18px; }
  .client-overview .client-shortcut { min-height:51px; padding:13px 18px; }
}

/* v0.8 client workspace: focused lists, readable records and deliberate editing. */
.client-workpage { min-width:0; }
.client-workpage .client-page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:25px; }
.client-workpage .client-page-heading>div { min-width:0; }
.client-workpage .client-page-heading .eyebrow { margin-bottom:8px; }
.client-workpage .client-page-heading h1 { font-size:30px; line-height:1.35; letter-spacing:-.7px; }
.client-workpage .client-page-heading p { margin-top:8px; max-width:690px; color:var(--muted); font-size:13px; line-height:1.75; }
.client-workpage .client-page-heading .heading-actions { flex:none; padding:0; }
.client-workpage .panel-header { min-height:66px; padding:19px 22px; }
.client-workpage .panel-header h2 { font-size:15px; }
.client-workpage .panel-body { padding:23px 22px; }
.client-workpage .panel-footer { padding:13px 22px; }
.client-workpage .client-page-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-bottom:20px; color:var(--muted); font-size:12px; line-height:1.75; }
.client-workpage .client-page-summary strong { margin-right:5px; color:#375563; font-weight:600; }
.client-workpage .client-page-summary .badge { font-size:10px; }
.client-workpage .client-page-summary>.button { margin-left:auto; }
.client-workpage .queue-tabs { padding:0 15px; }
.client-workpage .queue-tabs button { min-height:47px; padding:12px 13px; font-size:12px; }
.client-workpage .client-order-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:18px 22px; border-bottom:1px solid var(--line); }
.client-workpage .client-order-toolbar .search-box { max-width:390px; }
.client-workpage .client-order-toolbar .toolbar-count { margin-left:auto; }
.client-workpage .client-order-list table { min-width:710px; }
.client-workpage .client-order-list th { padding:13px 19px; }
.client-workpage .client-order-list td { padding:18px 19px; }
.client-workpage .client-order-list th:first-child,.client-workpage .client-order-list td:first-child { padding-left:22px; }
.client-workpage .client-order-list th:last-child,.client-workpage .client-order-list td:last-child { padding-right:22px; }
.client-workpage .client-order-list .table-order { font-size:12px; }
.client-workpage .client-order-list .button { min-height:34px; padding:6px 11px; }
.client-workpage .client-order-card-list,.client-overview .client-order-card-list { display:none; }
.client-workpage .client-order-card,.client-overview .client-order-card { padding:19px 20px; border-bottom:1px solid var(--line); }
.client-workpage .client-order-card:last-child,.client-overview .client-order-card:last-child { border-bottom:0; }
.client-workpage .client-order-card>header,.client-workpage .client-order-card>.client-order-card-header,.client-overview .client-order-card>header,.client-overview .client-order-card>.client-order-card-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; margin-bottom:16px; }
.client-workpage .client-order-card-values,.client-overview .client-order-card-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.client-workpage .client-order-card-values>div,.client-overview .client-order-card-values>div { min-width:0; }
.client-workpage .client-order-card-values span,.client-workpage .client-order-card-values dt,.client-overview .client-order-card-values span,.client-overview .client-order-card-values dt { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; }
.client-workpage .client-order-card-values strong,.client-workpage .client-order-card-values dd,.client-overview .client-order-card-values strong,.client-overview .client-order-card-values dd { margin:0; color:#294b58; font:500 14px/1.6 var(--data); overflow-wrap:anywhere; }
.client-workpage .client-order-card-values small,.client-overview .client-order-card-values small { display:block; margin-top:3px; color:var(--muted); font-size:10px; line-height:1.7; }
.client-workpage .client-order-card>footer,.client-workpage .client-order-card>.client-order-card-footer,.client-overview .client-order-card>footer,.client-overview .client-order-card>.client-order-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:17px; padding-top:14px; border-top:1px solid #edf1f3; }
.client-workpage .client-order-card>footer>div,.client-workpage .client-order-card-footer>div,.client-overview .client-order-card>footer>div,.client-overview .client-order-card-footer>div { min-width:0; }
.client-workpage .client-order-card>footer .mono,.client-workpage .client-order-card-footer .mono,.client-overview .client-order-card>footer .mono,.client-overview .client-order-card-footer .mono { display:block; color:#607c89; font-size:10px; overflow-wrap:anywhere; }
.client-workpage .client-order-card>footer time,.client-workpage .client-order-card-footer time,.client-overview .client-order-card>footer time,.client-overview .client-order-card-footer time { display:block; margin-top:4px; color:#7b8f99; font-size:10px; }
.client-workpage .client-order-card .button,.client-overview .client-order-card .button { flex:none; min-height:34px; padding:7px 11px; }
.client-workpage .client-empty-panel { display:flex; flex-direction:column; align-items:center; gap:10px; padding:47px 24px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; color:var(--muted); text-align:center; }
.client-workpage .client-empty-panel>.svg { width:26px; height:26px; margin-bottom:2px; color:#8ca5af; }
.client-workpage .client-empty-panel h2,.client-workpage .client-empty-panel h3 { color:#385663; font-size:15px; font-weight:600; }
.client-workpage .client-empty-panel p { max-width:420px; color:var(--muted); font-size:12px; line-height:1.8; }
.client-workpage .client-empty-panel .button { margin-top:7px; }

.client-workpage .client-wallet-list table { min-width:745px; }
.client-workpage .client-wallet-list th,.client-workpage .client-wallet-list td { padding-left:21px; padding-right:21px; }
.client-workpage .client-wallet-list .wallet-address,.client-workpage .client-wallet-list .ellipsis { display:block; max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#345663; font:12px/1.8 var(--data); }
.client-workpage .client-wallet-list .button { min-height:34px; padding:6px 11px; }
.client-workpage .client-wallet-card-list { display:none; }
.client-workpage .client-wallet-card { padding:20px 21px; border-bottom:1px solid var(--line); background:#fff; }
.client-workpage .client-wallet-card:last-child { border-bottom:0; }
.client-workpage .client-wallet-card>header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; }
.client-workpage .client-wallet-card h2,.client-workpage .client-wallet-card h3,.client-workpage .client-wallet-card>header strong { color:#304e5c; font-size:14px; font-weight:600; }
.client-workpage .client-wallet-card .wallet-address { max-width:none; margin-top:10px; color:#466674; font:12px/1.8 var(--data); white-space:normal; overflow-wrap:anywhere; }
.client-workpage .client-wallet-card p,.client-workpage .client-wallet-card small { color:var(--muted); font-size:11px; line-height:1.8; }
.client-workpage .client-wallet-card footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; }
.client-workpage .client-wallet-card footer .button { min-height:34px; padding:6px 11px; }
.client-workpage .client-wallet-card .badge { font-size:10px; }

.client-workpage .client-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:22px; }
.client-workpage .client-profile-layout>* { min-width:0; }
.client-workpage .client-profile-panel .client-profile-section { padding:23px 22px; border-bottom:1px solid var(--line); }
.client-workpage .client-profile-panel .client-profile-section:last-child { border-bottom:0; }
.client-workpage .client-profile-section>h2,.client-workpage .client-profile-section>h3 { margin-bottom:20px; color:#304e5c; font-size:14px; font-weight:600; }
.client-workpage .client-profile-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 28px; margin:0; }
.client-workpage .client-profile-facts>div,.client-workpage .client-profile-facts>dl { min-width:0; margin:0; }
.client-workpage .client-profile-facts dt { margin:0 0 6px; color:var(--muted); font-size:12px; }
.client-workpage .client-profile-facts dd { margin:0; color:#2d4d5a; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.client-workpage .client-profile-facts .full { grid-column:1/-1; }
.client-workpage .client-profile-section .compliance-details { margin-top:0; padding-top:0; border-top:0; }
.client-workpage .client-profile-section .compliance-details summary { color:#55737e; font-size:12px; }
.client-workpage .client-account-meta { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.client-workpage .client-account-meta>h2,.client-workpage .client-account-meta>h3 { padding:19px 21px; border-bottom:1px solid var(--line); font-size:14px; }
.client-workpage .client-account-meta dl { display:flex; flex-direction:column; gap:19px; margin:0; padding:21px; }
.client-workpage .client-account-meta dl>div { min-width:0; }
.client-workpage .client-account-meta dt { margin-bottom:5px; color:var(--muted); font-size:11px; }
.client-workpage .client-account-meta dd { margin:0; color:#365563; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.client-workpage .client-account-meta>.small,.client-workpage .client-account-meta>p { padding:0 21px 20px; color:var(--muted); font-size:11px; line-height:1.8; }
.client-workpage .client-profile-update-note { display:flex; align-items:flex-start; gap:10px; margin-bottom:21px; padding:13px 16px; border:1px solid #dfe8e9; border-radius:8px; background:#f8fbfa; color:#58737d; font-size:12px; line-height:1.8; }
.client-workpage .client-profile-update-note>.svg { width:17px; height:17px; margin-top:2px; color:#7f9ca4; }
.client-workpage .client-profile-update-note strong { color:#385866; font-size:12px; font-weight:600; }
.client-workpage .client-profile-update-note p { margin-top:3px; color:var(--muted); font-size:12px; }
.client-workpage .client-profile-update-note .button { min-height:31px; padding:5px 10px; margin-left:auto; flex:none; }
.client-workpage .client-form-intro { margin-bottom:21px; color:var(--muted); font-size:12px; line-height:1.85; }
.client-workpage .client-form-intro h2 { margin-bottom:7px; color:#33525f; font-size:16px; }
.client-workpage.client-profile-form-page { max-width:980px; }
.client-workpage.client-profile-form-page .field { margin-bottom:20px; }
.client-workpage.client-profile-form-page .form-section-label { margin-top:18px; margin-bottom:20px; color:#3b5a67; font-size:13px; }
.client-workpage.client-profile-form-page .form-grid>.form-section-label:first-child { margin-top:0; }
.client-workpage.client-profile-form-page .compliance-fieldset { margin-bottom:21px; padding:19px 18px 0; }
.client-workpage .client-form-actions { position:sticky; bottom:0; z-index:7; display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:10px; margin-top:24px; padding:16px 22px; border-top:1px solid var(--line); background:#fffffff7; }
.client-workpage .client-form-actions>p,.client-workpage .client-form-actions>.small { flex:1; margin-right:auto; color:var(--muted); font-size:11px; line-height:1.75; }

.drawer.client-detail-drawer { width:min(640px,100vw); }
.client-detail-drawer .drawer-header,.client-detail-drawer .client-detail-header { position:sticky; top:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:86px; padding:21px 26px; border-bottom:1px solid var(--line); background:#fff; }
.client-detail-drawer .drawer-header h2,.client-detail-drawer .client-detail-header h2 { color:var(--ink); font-size:18px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.client-detail-drawer .drawer-header .eyebrow,.client-detail-drawer .client-detail-header .eyebrow { margin-bottom:5px; color:#758c96; font-size:10px; }
.client-detail-drawer .drawer-header>.button,.client-detail-drawer .client-detail-header>.button { min-height:34px; width:34px; padding:7px; flex:none; }
.client-detail-drawer .drawer-body { padding:24px 26px 30px; }
.client-detail-drawer .client-detail-section { min-width:0; margin-bottom:24px; padding-bottom:23px; border-bottom:1px solid var(--line); }
.client-detail-drawer .client-detail-section:last-child { margin-bottom:0; padding-bottom:0; border-bottom:0; }
.client-detail-drawer .client-detail-section>h3 { margin-bottom:18px; color:#355461; font-size:13px; font-weight:600; }
.client-detail-drawer .client-detail-section dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 23px; margin:0; }
.client-detail-drawer .client-detail-section dl>div { min-width:0; }
.client-detail-drawer .client-detail-section dt { margin-bottom:6px; color:var(--muted); font-size:11px; }
.client-detail-drawer .client-detail-section dd { margin:0; color:#355563; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.client-detail-drawer .client-detail-section dl>.full { grid-column:1/-1; }
.client-detail-drawer .client-detail-section .wallet-address { padding:13px 15px; border:1px solid var(--line); border-radius:7px; background:#f8fafb; color:#355664; font:12px/1.9 var(--data); overflow-wrap:anywhere; }
.client-detail-drawer .client-detail-footer { position:sticky; bottom:0; z-index:3; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:26px; padding:16px 26px; border-top:1px solid var(--line); background:#fffffff7; }
.client-detail-drawer .client-detail-footer .button { min-height:40px; }
.client-detail-drawer .client-detail-footer>p { flex:1; color:var(--muted); font-size:11px; line-height:1.8; }
.client-detail-drawer .panel { margin:0; border:0; border-radius:0; box-shadow:none; }
.client-detail-drawer .panel-header { min-height:0; padding:0 0 18px; border:0; }
.client-detail-drawer .panel-header h2 { font-size:15px; }
.client-detail-drawer .panel-body { padding:0; }
.client-detail-drawer .panel-header .button { min-height:31px; padding:5px 9px; font-size:11px; }
.client-detail-drawer .field { margin-bottom:18px; }
.client-detail-drawer .client-order-status { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.client-detail-drawer .client-order-status h3,.client-detail-drawer .client-order-status strong { color:#31515e; font-size:14px; font-weight:600; }
.client-detail-drawer .client-order-amounts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-bottom:25px; }
.client-detail-drawer .client-order-amounts>div { min-width:0; padding:16px 17px; border:1px solid var(--line); border-radius:8px; background:#f8fafb; }
.client-detail-drawer .client-order-amounts span,.client-detail-drawer .client-order-amounts dt { display:block; color:var(--muted); font-size:11px; }
.client-detail-drawer .client-order-amounts strong,.client-detail-drawer .client-order-amounts dd { display:block; margin:10px 0 0; color:#254752; font:500 19px/1.5 var(--data); overflow-wrap:anywhere; }
.client-detail-drawer .client-order-amounts small { display:block; margin-top:5px; color:var(--muted); font-size:11px; }
.client-detail-drawer .client-order-timeline { list-style:none; display:flex; flex-direction:column; gap:0; margin:0; padding:0; }
.client-detail-drawer .client-order-timeline>li,.client-detail-drawer .client-order-timeline>div { position:relative; display:grid; grid-template-columns:19px minmax(0,1fr) auto; gap:10px; padding:0 0 19px; color:#79909a; font-size:12px; }
.client-detail-drawer .client-order-timeline>li:before,.client-detail-drawer .client-order-timeline>div:before { content:""; position:absolute; top:19px; bottom:3px; left:8px; width:1px; background:#e4ecef; }
.client-detail-drawer .client-order-timeline>li:last-child,.client-detail-drawer .client-order-timeline>div:last-child { padding-bottom:0; }
.client-detail-drawer .client-order-timeline>li:last-child:before,.client-detail-drawer .client-order-timeline>div:last-child:before { display:none; }
.client-detail-drawer .client-order-timeline .svg { width:17px; height:17px; margin-top:1px; color:#91a9b0; }
.client-detail-drawer .client-order-timeline strong { display:block; color:#4c6a76; font-size:12px; font-weight:500; }
.client-detail-drawer .client-order-timeline p,.client-detail-drawer .client-order-timeline small { display:block; margin-top:3px; color:var(--muted); font-size:11px; line-height:1.75; }
.client-detail-drawer .client-order-timeline time { color:#7b909a; font:10px/1.8 var(--data); white-space:nowrap; }
.client-detail-drawer .client-order-timeline .done .svg,.client-detail-drawer .client-order-timeline .complete .svg { color:var(--teal); }
.client-detail-drawer .client-order-nextstep { margin:0 0 24px; padding:17px 18px; border:1px solid #dce9e6; border-radius:8px; background:#f5faf8; }
.client-detail-drawer .client-order-nextstep>h3,.client-detail-drawer .client-order-nextstep>strong { color:#345b5b; font-size:13px; font-weight:600; }
.client-detail-drawer .client-order-nextstep>p { margin-top:6px; color:#6c8588; font-size:12px; line-height:1.8; }
.client-detail-drawer .client-order-nextstep .button { margin-top:13px; }
.client-detail-drawer .client-order-nextstep .action-panel { margin:0; padding:0; border:0; background:transparent; }
.client-detail-drawer .client-order-nextstep .action-panel+.action-panel { margin-top:17px; padding-top:17px; border-top:1px solid #dce9e6; }
.client-detail-drawer .client-order-nextstep .status-box,.client-detail-drawer .client-order-nextstep .notice { padding:0; border:0; background:transparent; }
.client-detail-drawer .client-order-nextstep .quote-validity { margin-top:0; }
.client-detail-drawer .client-order-nextstep .form-error { margin-bottom:12px; }

@media(max-width:1100px) {
  .client-workpage .client-profile-layout { grid-template-columns:minmax(0,1fr); }
  .client-workpage .client-account-meta dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .client-workpage .client-page-heading { flex-direction:column; align-items:stretch; gap:18px; margin-bottom:21px; }
  .client-workpage .client-page-heading h1 { font-size:27px; }
  .client-workpage .client-page-heading p { font-size:12px; }
  .client-workpage .client-page-heading .heading-actions { width:100%; }
  .client-workpage .client-page-heading .heading-actions>.button.primary { flex:1; }
  .client-workpage .panel-header { min-height:61px; padding:17px 18px; }
  .client-workpage .panel-header h2 { font-size:15px; }
  .client-workpage .panel-body { padding:20px 18px; }
  .client-workpage .panel-footer { padding:12px 18px; }
  .client-workpage .client-page-summary { margin-bottom:17px; gap:6px 15px; font-size:11px; }
  .client-workpage .queue-tabs { padding:0 7px; }
  .client-workpage .queue-tabs button { min-height:44px; padding:10px 10px; font-size:11px; }
  .client-workpage .client-order-toolbar { gap:10px; padding:15px 17px; }
  .client-workpage .client-order-toolbar .search-box { min-width:0; flex-basis:100%; max-width:none; }
  .client-workpage .client-order-toolbar .filter-select { min-width:0; flex:1; }
  .client-workpage .client-order-toolbar .toolbar-count { font-size:11px; }
  .client-workpage .client-order-list .table-scroll,.client-overview .client-order-list .table-scroll { display:none; }
  .client-workpage .client-order-card-list,.client-overview .client-order-card-list { display:block; }
  .client-workpage .client-order-card,.client-overview .client-order-card { padding:18px; }
  .client-workpage .client-wallet-list .table-scroll { display:none; }
  .client-workpage .client-wallet-card-list { display:block; }
  .client-workpage .client-wallet-card { padding:19px 18px; }
  .client-workpage .client-profile-layout { gap:18px; }
  .client-workpage .client-profile-panel .client-profile-section { padding:21px 18px; }
  .client-workpage .client-profile-section>h2,.client-workpage .client-profile-section>h3 { margin-bottom:18px; }
  .client-workpage .client-profile-facts { gap:19px 18px; }
  .client-workpage .client-profile-facts dt { font-size:11px; }
  .client-workpage .client-profile-facts dd { font-size:12px; }
  .client-workpage .client-account-meta dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:20px 18px; }
  .client-workpage .client-account-meta>h2,.client-workpage .client-account-meta>h3 { padding:17px 18px; }
  .client-workpage .client-account-meta>.small,.client-workpage .client-account-meta>p { padding:0 18px 18px; }
  .client-workpage .client-profile-update-note { flex-wrap:wrap; padding:12px 14px; }
  .client-workpage .client-profile-update-note>div { min-width:0; flex:1; }
  .client-workpage .client-profile-update-note .button { margin-left:27px; }
  .client-workpage.client-profile-form-page .compliance-fieldset { padding:18px 13px 0; }
  .client-workpage .client-form-actions { bottom:calc(72px + env(safe-area-inset-bottom,0px)); gap:8px; padding:14px 17px; }
  .client-workpage .client-form-actions>p,.client-workpage .client-form-actions>.small { flex-basis:100%; }
  .client-workpage .client-form-actions>.button { flex:1; }
  .drawer.client-detail-drawer { width:100%; }
  .client-detail-drawer .drawer-header,.client-detail-drawer .client-detail-header { min-height:77px; padding:18px; gap:13px; }
  .client-detail-drawer .drawer-header h2,.client-detail-drawer .client-detail-header h2 { font-size:16px; }
  .client-detail-drawer .drawer-body { padding:21px 18px 26px; }
  .client-detail-drawer .client-detail-section { margin-bottom:22px; padding-bottom:21px; }
  .client-detail-drawer .client-detail-section dl { gap:18px 16px; }
  .client-detail-drawer .client-detail-section .wallet-address { padding:12px; font-size:11px; }
  .client-detail-drawer .client-detail-footer { padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px)); gap:9px; }
  .client-detail-drawer .client-detail-footer>.button { flex:1; }
  .client-detail-drawer .client-detail-footer>p { flex-basis:100%; }
  .client-detail-drawer .client-order-amounts { gap:10px; margin-bottom:22px; }
  .client-detail-drawer .client-order-amounts>div { padding:14px 13px; }
  .client-detail-drawer .client-order-amounts strong,.client-detail-drawer .client-order-amounts dd { font-size:17px; }
  .client-detail-drawer .client-order-nextstep { padding:15px; }
  .client-detail-drawer .client-order-timeline>li,.client-detail-drawer .client-order-timeline>div { gap:8px; padding-bottom:18px; }
  .client-detail-drawer .client-order-timeline time { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
  .client-detail-drawer { animation:none; }
}

/* v0.8 mobile editing: keep final confirmations in the document flow. */
@media(max-width:760px) {
  .client-shell .client-workpage.client-profile-form-page { padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
  .client-shell .client-profile-form-page .client-form-actions { position:static; bottom:auto; z-index:auto; margin-top:0; }
  .client-shell .client-profile-form-page #onboarding-form input[type="checkbox"] { scroll-margin-top:110px; scroll-margin-bottom:calc(120px + env(safe-area-inset-bottom,0px)); }
  .client-detail-drawer.client-wallet-form .drawer-body { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
  .client-detail-drawer.client-wallet-form #wallet-form input,.client-detail-drawer.client-wallet-form #wallet-form select { scroll-margin-top:100px; scroll-margin-bottom:110px; }
}

/* v0.10 client presentation: product scope, a direct trade entry and practical guidance. */
.client-login { grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr); }
.client-login .login-intro { padding:40px clamp(32px,4.8vw,76px) 27px; border-right:0; background:#102b36; color:#f4faf9; }
.client-login .login-brand .brand-name { color:#fff; }
.client-login .login-brand .brand-note { color:#9cb8bf; }
.client-login .login-brand .brand-emblem>rect { fill:#dcefe9; }
.client-login .login-brand .brand-emblem>path:first-of-type { fill:#173d46; }
.client-login .login-edition { color:#a4bdc2; font-size:11px; }
.client-login .client-login-story { margin-top:clamp(48px,7vh,78px); }
.client-login .login-product-label { color:#9acfc3; font-size:10px; letter-spacing:2.2px; }
.client-login .login-intro h1 { margin:19px 0 22px; color:#fff; font-size:clamp(35px,3.3vw,50px); font-weight:550; line-height:1.48; letter-spacing:-1.6px; }
.client-login .login-subtitle { max-width:490px; color:#b7ccd0; font-size:14px; line-height:2; }
.client-login .client-service-scope { display:grid; grid-template-columns:.65fr .8fr 1.3fr; gap:20px; margin:32px 0 0; padding:22px 0; border-top:1px solid #ffffff21; border-bottom:1px solid #ffffff21; }
.client-login .client-service-scope>div { min-width:0; }
.client-login .client-service-scope span { display:block; margin-bottom:7px; color:#91aeb7; font-size:10px; }
.client-login .client-service-scope strong { display:block; color:#e4f1ef; font-size:13px; font-weight:500; line-height:1.7; overflow-wrap:anywhere; }
.client-login .client-login-visual { display:grid; grid-template-columns:minmax(140px,.85fr) minmax(0,1.2fr); align-items:center; gap:26px; margin:32px 0; }
.client-login .client-login-visual>img { display:block; width:100%; height:auto; max-width:220px; aspect-ratio:1; object-fit:cover; border-radius:10px; }
.client-login .client-service-points { display:flex; flex-direction:column; gap:20px; }
.client-login .client-service-points>div { display:grid; grid-template-columns:19px minmax(0,1fr); column-gap:10px; }
.client-login .client-service-points .svg { grid-row:1/3; width:17px; height:17px; margin-top:2px; color:#8cc9b9; }
.client-login .client-service-points strong { color:#e9f4f2; font-size:12px; font-weight:500; }
.client-login .client-service-points p { grid-column:2; margin-top:4px; color:#9eb9c0; font-size:11px; line-height:1.8; }
.client-login .login-bottomline { align-items:center; gap:16px; margin-top:auto; padding-top:22px; border-top:1px solid #ffffff17; color:#8fadb7; font-size:10px; }
.client-login .client-login-links { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; }
.client-login .client-login-links .button { min-height:32px; padding:4px 0; color:#b7d9d1; font-size:10px; font-weight:400; }
.client-login .client-login-links .svg { width:13px; height:13px; }
.client-login .login-card { width:min(408px,calc(100% - 76px)); padding:44px 0; }
.client-login .login-form-heading { margin-bottom:28px; }
.client-login .login-form-heading>.eyebrow { margin-bottom:13px; color:#71858c; font-size:10px; }
.client-login .login-card h2 { margin-bottom:11px; font-size:28px; font-weight:600; }
.client-login .login-access-copy { margin:27px 0 17px; color:#71868e; font-size:12px; line-height:1.9; }
.client-login .identity-provider { margin-top:25px; background:#f7faf9; }
.client-login .login-card>[data-act="oidc-login"] { min-height:50px; }
.client-login .login-help { color:#72848c; font-size:11px; }
.client-login .demo-access { margin-top:25px; }
.client-login .preview-note { display:flex; align-items:flex-start; gap:8px; margin-top:23px; padding:13px 14px; font-size:10px; }
.client-login .preview-note>.svg { margin:3px 0 0; }
.client-login .preview-note strong { font-weight:500; }
.client-login .preview-note p { margin-top:3px; }

.client-trade-entry { display:grid; grid-template-columns:minmax(220px,1fr) minmax(170px,.7fr) auto; align-items:center; gap:27px; margin:0 0 25px; padding:25px 27px; border:1px solid #dae7e6; border-left:3px solid var(--teal); border-radius:10px; background:#fff; }
.client-trade-entry .client-trade-copy { min-width:0; }
.client-trade-entry .eyebrow { margin-bottom:6px; font-size:9px; letter-spacing:1.7px; }
.client-trade-entry h2 { color:#254752; font-size:20px; font-weight:600; }
.client-trade-entry .client-trade-copy>p { margin-top:7px; color:var(--muted); font-size:12px; line-height:1.8; }
.client-trade-entry .client-trade-scope { display:flex; flex-direction:column; gap:6px; min-width:0; padding-left:24px; border-left:1px solid var(--line); }
.client-trade-entry .client-trade-scope strong { color:#345661; font:500 20px/1.5 var(--data); }
.client-trade-entry .client-trade-scope span { color:#768b94; font-size:11px; line-height:1.8; overflow-wrap:anywhere; }
.client-trade-entry .client-trade-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; width:258px; }
.client-trade-entry .client-trade-actions>.button:not(.link) { flex:1; min-height:42px; padding:10px 13px; }
.client-trade-entry .client-trade-actions>.button.link { min-height:26px; margin-left:auto; padding:1px 0; font-size:11px; font-weight:400; }

.client-guide .client-guide-intro { margin-bottom:24px; color:#627c87; font-size:13px; line-height:1.9; }
.client-guide .client-guide-steps { list-style:none; display:flex; flex-direction:column; gap:0; padding:0; margin:0; }
.client-guide .client-guide-steps>li { position:relative; display:grid; grid-template-columns:29px minmax(0,1fr); gap:14px; padding-bottom:24px; }
.client-guide .client-guide-steps>li:before { content:""; position:absolute; top:33px; bottom:6px; left:14px; width:1px; background:#dfe9e9; }
.client-guide .client-guide-steps>li:last-child:before { display:none; }
.client-guide .client-guide-steps>li>span { display:grid; place-items:center; width:29px; height:29px; border:1px solid #d9e9e5; border-radius:50%; background:#edf6f3; color:#35756c; font:11px/1 var(--data); }
.client-guide .client-guide-steps h3 { margin:3px 0 5px; color:#355762; font-size:13px; font-weight:600; }
.client-guide .client-guide-steps p { color:#70858d; font-size:12px; line-height:1.9; }
.client-guide .client-guide-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px 24px; padding:21px 0; margin:0; border-top:1px solid var(--line); }
.client-guide .client-guide-facts>div { min-width:0; }
.client-guide .client-guide-facts dt { color:#78909a; font-size:11px; }
.client-guide .client-guide-facts dd { margin:6px 0 0; color:#3e616d; font-size:12px; line-height:1.9; overflow-wrap:anywhere; }
.client-guide .client-guide-note { margin-top:8px; padding:13px 15px; border:1px solid #e5e7df; border-radius:7px; background:#fafaf5; color:#80805f; font-size:11px; line-height:1.9; }
.client-guide .client-guide-note p+p { margin-top:7px; }

@media(max-width:1100px) {
  .client-login .login-intro { padding-left:32px; padding-right:32px; }
  .client-login .client-login-story { margin-top:49px; }
  .client-login .login-intro h1 { font-size:35px; }
  .client-login .login-subtitle { font-size:12px; }
  .client-login .client-service-scope { gap:13px; }
  .client-login .client-service-scope strong { font-size:11px; }
  .client-login .client-login-visual { grid-template-columns:1fr; margin:26px 0; }
  .client-login .client-login-visual>img { display:none; }
  .client-login .client-service-points { gap:17px; }
  .client-login .login-card { width:calc(100% - 58px); }
  .client-trade-entry { grid-template-columns:minmax(0,1fr) auto; gap:15px 24px; padding:23px; }
  .client-trade-entry .client-trade-scope { grid-column:1; grid-row:2; flex-direction:row; align-items:center; gap:12px; padding:0; border:0; }
  .client-trade-entry .client-trade-scope strong { font-size:14px; }
  .client-trade-entry .client-trade-actions { grid-column:2; grid-row:1/3; width:238px; }
}
@media(max-width:760px) {
  .client-login { display:block; }
  .client-login .login-intro { min-height:auto; padding:23px 24px 17px; }
  .client-login .login-edition { display:block; font-size:9px; letter-spacing:.3px; }
  .client-login .login-brand .brand-name { font-size:25px; }
  .client-login .login-brand .brand-note { margin-top:5px; font-size:8px; letter-spacing:1.5px; }
  .client-login .login-brand .brand-emblem { width:34px; height:34px; }
  .client-login .client-login-story { margin-top:26px; }
  .client-login .login-product-label { font-size:9px; letter-spacing:1.6px; }
  .client-login .login-intro h1 { margin:10px 0; font-size:28px; line-height:1.5; letter-spacing:-.7px; }
  .client-login .login-subtitle { font-size:11px; line-height:1.9; }
  .client-login .client-service-scope { gap:12px; margin-top:18px; padding:12px 0; }
  .client-login .client-service-scope span { margin-bottom:3px; font-size:9px; }
  .client-login .client-service-scope strong { font-size:10px; }
  .client-login .client-login-visual { display:none; }
  .client-login .login-bottomline { justify-content:flex-end; gap:10px; margin-top:6px; padding-top:0; border:0; }
  .client-login .login-bottomline>span { display:none; }
  .client-login .client-login-links { gap:18px; }
  .client-login .client-login-links .button { min-height:29px; font-size:9px; }
  .client-login .login-card { width:calc(100% - 48px); max-width:440px; padding:26px 0 32px; }
  .client-login .login-form-heading { margin-bottom:18px; }
  .client-login .login-form-heading>.eyebrow { margin-bottom:7px; font-size:9px; }
  .client-login .login-card h2 { margin-bottom:7px; font-size:23px; }
  .client-login .login-form-heading>p { font-size:11px; }
  .client-login .login-access-copy { margin:21px 0 14px; font-size:11px; }
  .client-login .identity-provider { margin:18px 0 15px; padding:14px; }
  .client-login .identity-provider p { margin-top:6px; font-size:11px; }
  .client-login .identity-provider-heading { font-size:12px; }
  .client-login .login-help { margin-top:16px; padding-top:14px; font-size:10px; }
  .client-login .demo-access { margin-top:18px; padding-top:15px; }
  .client-login .demo-access>summary { font-size:11px; }
  .client-login .preview-note { margin-top:17px; }
  .client-trade-entry { grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:21px; padding:21px 19px 17px; }
  .client-trade-entry h2 { font-size:18px; }
  .client-trade-entry .client-trade-copy>p { font-size:11px; }
  .client-trade-entry .client-trade-scope { grid-column:auto; grid-row:auto; flex-wrap:wrap; gap:5px 12px; }
  .client-trade-entry .client-trade-scope span { font-size:10px; }
  .client-trade-entry .client-trade-actions { grid-column:auto; grid-row:auto; width:100%; gap:9px; }
  .client-trade-entry .client-trade-actions>.button:not(.link) { min-height:43px; }
  .client-guide .client-guide-intro { font-size:12px; }
  .client-guide .client-guide-steps>li { grid-template-columns:27px minmax(0,1fr); gap:12px; padding-bottom:22px; }
  .client-guide .client-guide-steps>li>span { width:27px; height:27px; }
  .client-guide .client-guide-steps>li:before { left:13px; }
  .client-guide .client-guide-steps h3 { font-size:12px; }
  .client-guide .client-guide-steps p { font-size:11px; }
  .client-guide .client-guide-facts { gap:16px; }
  .client-guide .client-guide-note { padding:12px; font-size:10px; }
}
@media(max-width:380px) {
  .client-login .login-intro { padding-left:20px; padding-right:20px; }
  .client-login .login-card { width:calc(100% - 40px); }
  .client-login .login-edition { display:none; }
  .client-login .login-intro h1 { font-size:26px; }
  .client-login .client-service-scope { gap:9px; grid-template-columns:.6fr .75fr 1.35fr; }
  .client-login .client-service-scope strong { font-size:9px; }
  .client-trade-entry { padding-left:16px; padding-right:16px; }
  .client-trade-entry .client-trade-actions>.button:not(.link) { padding-left:9px; padding-right:9px; font-size:11px; }
}

/* v0.11: direct account access and focused review/settlement workspaces. */
.login-screen.portal-login-compact { display:grid; grid-template-columns:280px minmax(0,1fr); width:min(820px,calc(100% - 48px)); min-height:510px; margin:clamp(24px,8vh,80px) auto; overflow:hidden; border:1px solid #dde6e9; border-radius:12px; background:#fff; box-shadow:0 9px 35px #102b3609; }
.portal-login-compact .login-intro { min-height:510px; padding:31px 28px 25px; border:0; background:var(--nav); color:#f3faf9; }
.portal-login-compact .login-topline { gap:12px; }
.portal-login-compact .login-brand { padding:0; }
.portal-login-compact .login-brand .brand-name { color:#f3faf9; font-size:27px; }
.portal-login-compact .login-brand .brand-note { margin-top:7px; color:#9ebbc1; font-size:9px; letter-spacing:1.6px; }
.portal-login-compact .login-brand .brand-emblem { width:35px; height:35px; }
.portal-login-compact .portal-login-identity { min-width:0; margin:auto 0; padding:43px 0; }
.portal-login-compact .portal-login-identity>.eyebrow,.portal-login-compact .portal-login-identity>p:first-child { color:#9abfbf; font-size:9px; line-height:1.6; letter-spacing:1.9px; }
.portal-login-compact .portal-login-identity h1 { margin:11px 0 12px; color:#f3faf9; font-size:29px; font-weight:550; line-height:1.4; letter-spacing:-.8px; }
.portal-login-compact .portal-login-identity>p:last-child { color:#abc3ca; font-size:12px; line-height:1.9; letter-spacing:0; }
.portal-login-compact .login-bottomline { margin-top:auto; padding-top:15px; border:0; font-size:10px; }
.portal-login-compact .login-bottomline .button.link { min-height:30px; padding:3px 0; color:#b2d2ce; font-size:10px; font-weight:400; }
.portal-login-compact .login-bottomline .svg { width:13px; height:13px; }
.portal-login-compact .login-card { width:calc(100% - 64px); max-width:390px; margin:auto; padding:34px 0; }
.portal-login-compact .portal-entry-switch { margin-bottom:24px; }
.portal-login-compact .login-form-heading { margin-bottom:21px; }
.portal-login-compact .login-form-heading>.eyebrow { margin-bottom:8px; font-size:9px; letter-spacing:1.5px; }
.portal-login-compact .login-card h2 { margin-bottom:7px; font-size:24px; line-height:1.4; font-weight:600; }
.portal-login-compact .login-form-heading>p { font-size:12px; line-height:1.8; }
.portal-login-compact .identity-provider { margin:20px 0 17px; padding:15px 16px; background:#f8fbfa; }
.portal-login-compact .identity-provider-heading { font-size:12px; }
.portal-login-compact .identity-provider p { margin-top:7px; font-size:11px; line-height:1.8; }
.portal-login-compact .login-card>[data-act="oidc-login"],.portal-login-compact .login-submit { min-height:46px; }
.portal-login-compact .login-card .field { margin-bottom:18px; }
.portal-login-compact .login-help { margin-top:18px; padding-top:15px; font-size:10px; }
.portal-login-compact .demo-access { margin-top:19px; padding-top:16px; }
.portal-login-compact .demo-access>summary { font-size:11px; }
.portal-login-compact .demo-account-grid { gap:8px; margin:13px 0 0; }
.portal-login-compact .preview-note { display:flex; gap:8px; align-items:flex-start; margin-top:17px; padding:11px 12px; font-size:10px; }
.portal-login-compact .preview-note>.svg { margin:3px 0 0; }
.portal-login-compact .preview-note strong { font-weight:500; }
.portal-login-compact .preview-note p { margin-top:2px; }

.staff-review-page,.staff-settlement-page { min-width:0; }
.staff-page-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 21px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; }
.staff-page-stats>div { min-width:0; padding:17px 21px; border-right:1px solid var(--line); }
.staff-page-stats>div:last-child { border-right:0; }
.staff-page-stats>div>span { display:block; color:var(--muted); font-size:11px; }
.staff-page-stats>div>strong { display:block; margin-top:7px; color:var(--nav); font:500 26px/1.35 var(--data); letter-spacing:-.7px; }
.staff-page-stats>div>strong small { display:inline; margin-left:5px; color:var(--muted); font:11px var(--font); letter-spacing:0; }
.staff-page-stats>div>small { display:block; margin-top:6px; color:#7a8d96; font-size:11px; line-height:1.7; }
.staff-page-help { margin-top:14px; color:#718791; font-size:11px; line-height:1.85; }
.staff-page-help .svg { width:13px; height:13px; margin-right:5px; }
.staff-review-page .toolbar,.staff-settlement-page .toolbar { gap:12px; padding:15px 20px; }
.staff-review-page .toolbar .search-box,.staff-settlement-page .toolbar .search-box { min-width:200px; max-width:420px; }
.staff-review-filters,.settlement-filter-tabs { background:#fff; }
.staff-review-filters button[aria-pressed="true"],.settlement-filter-tabs button[aria-pressed="true"] { border-bottom-color:var(--teal); color:var(--teal); font-weight:600; }
.staff-review-filters button[aria-pressed="true"] span,.settlement-filter-tabs button[aria-pressed="true"] span { background:#e6f3ef; color:#237b70; }
.staff-review-page #review-results { min-width:0; max-width:100%; overflow-x:auto; scrollbar-width:thin; }
.staff-review-page #review-results table { min-width:780px; }
.staff-review-page #review-results td { padding-top:15px; padding-bottom:15px; }
.staff-review-page #review-results td .button { min-height:33px; padding:6px 11px; }
.staff-review-page #review-results td small { max-width:260px; overflow-wrap:anywhere; }
.staff-settlement-page .queue-table table { min-width:760px; }
.staff-review-page .queue-empty,.staff-settlement-page .queue-empty { padding:39px 22px; }

.drawer.staff-review-drawer { width:min(860px,100vw); }
.staff-review-drawer .drawer-header { min-height:90px; padding:20px 27px; }
.staff-review-drawer .drawer-header h2 { font-family:var(--font); font-size:20px; font-weight:600; line-height:1.4; }
.staff-review-drawer .drawer-section-nav { top:90px; padding:0 17px; }
.staff-review-drawer .drawer-body { padding:23px 27px 38px; }
.staff-review-drawer .drawer-section { scroll-margin-top:154px; }
.staff-review-drawer .drawer-section>.panel { margin-top:0; }
.staff-review-drawer .drawer-section>.panel .panel-header { min-height:61px; padding:17px 20px; }
.staff-review-drawer .drawer-section>.panel .panel-body { padding:21px 20px; }
.staff-review-drawer .compliance-details { margin-top:17px; padding-top:15px; }
.staff-review-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:22px 0; }
.staff-review-facts>div { min-width:0; }
.staff-review-facts dt { margin-bottom:6px; color:var(--muted); font-size:11px; }
.staff-review-facts dd { margin:0; color:#345561; font-size:12px; line-height:1.85; overflow-wrap:anywhere; }
.staff-decision-context { display:flex; gap:11px; align-items:flex-start; margin-bottom:21px; padding:16px 17px; border:1px solid #d6e6e3; border-radius:8px; background:#f4f9f7; }
.staff-decision-context>.svg { width:19px; height:19px; margin-top:2px; color:var(--teal); }
.staff-decision-context>div { min-width:0; }
.staff-decision-context strong { color:#315b5c; font-size:13px; line-height:1.6; }
.staff-decision-context p { margin-top:5px; color:#6c8586; font-size:12px; line-height:1.8; }
.staff-review-drawer .compliance-details>summary { min-height:31px; }
.staff-review-drawer .compliance-details>form { margin-top:13px; }
.staff-review-drawer .checkbox-line,.staff-drawer .staff-approval-card .checkbox-line { min-height:31px; padding:3px 0; }
.staff-review-drawer input,.staff-review-drawer select,.staff-review-drawer textarea { max-width:100%; scroll-margin-top:165px; scroll-margin-bottom:45px; }
.staff-review-drawer .field textarea { min-height:94px; }
.staff-order-toolbar { position:sticky; top:136px; z-index:2; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; min-width:0; padding:12px 28px; border-bottom:1px solid var(--line); background:#f8fbfb; }
.staff-order-toolbar>div { min-width:0; flex:1; }
.staff-order-toolbar strong { color:#355c65; font-size:12px; line-height:1.6; }
.staff-order-toolbar p,.staff-order-toolbar small { display:block; margin-top:3px; color:#728994; font-size:11px; line-height:1.7; }
.staff-order-toolbar .button { min-height:34px; padding:7px 11px; font-size:11px; }
.staff-approval-card { min-width:0; margin:0 0 22px; padding:20px; border:1px solid #dce7e9; border-radius:9px; background:#fff; }
.staff-approval-card>h3 { margin-bottom:17px; color:#35545f; font-size:15px; }
.staff-approval-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:19px 16px; margin:0 0 19px; }
.staff-approval-facts>div { min-width:0; }
.staff-approval-facts dt { color:#78909a; font-size:11px; }
.staff-approval-facts dd { margin:6px 0 0; color:#335360; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.staff-approval-checks { display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.staff-approval-checks>div,.staff-approval-checks>li { display:flex; align-items:flex-start; gap:9px; min-width:0; padding:11px 0; border-bottom:1px solid #edf1f3; color:#58737d; font-size:12px; line-height:1.8; }
.staff-approval-checks .svg { width:15px; height:15px; margin-top:3px; color:#6c9c95; }
.staff-approval-checks>div>span:not(.badge),.staff-approval-checks>li>span:not(.badge) { min-width:0; flex:1; }
.staff-approval-checks .badge { align-self:flex-start; margin-left:auto; font-size:10px; white-space:normal; }
.staff-approval-card>.small,.staff-approval-card>p { margin-top:13px; color:#758b94; font-size:11px; line-height:1.85; }

@media(max-width:760px) {
  .login-screen.portal-login-compact { display:block; width:calc(100% - 32px); min-height:0; margin:16px auto; border-radius:10px; }
  .portal-login-compact .login-intro { position:relative; min-height:0; padding:21px 22px 20px; }
  .portal-login-compact .login-topline { padding-right:85px; }
  .portal-login-compact .login-brand .brand-name { font-size:24px; }
  .portal-login-compact .login-brand .brand-emblem { width:31px; height:31px; }
  .portal-login-compact .login-brand .brand-note { margin-top:5px; font-size:8px; }
  .portal-login-compact .portal-login-identity { margin:23px 0 0; padding:0; }
  .portal-login-compact .portal-login-identity>.eyebrow,.portal-login-compact .portal-login-identity>p:first-child { font-size:8px; letter-spacing:1.6px; }
  .portal-login-compact .portal-login-identity h1 { margin:7px 0; font-size:24px; line-height:1.35; }
  .portal-login-compact .portal-login-identity>p:last-child { font-size:11px; line-height:1.7; }
  .portal-login-compact .login-bottomline { position:absolute; top:22px; right:22px; margin:0; padding:0; }
  .portal-login-compact .login-bottomline>span { display:none; }
  .portal-login-compact .login-bottomline .button.link { min-height:27px; font-size:9px; }
  .portal-login-compact .login-card { width:calc(100% - 44px); max-width:none; padding:24px 0 26px; }
  .portal-login-compact .portal-entry-switch { margin-bottom:21px; }
  .portal-login-compact .portal-entry-switch a { min-height:32px; padding:6px 10px; font-size:11px; }
  .portal-login-compact .login-form-heading { margin-bottom:17px; }
  .portal-login-compact .login-card h2 { font-size:21px; }
  .portal-login-compact .login-form-heading>p { font-size:11px; }
  .portal-login-compact .identity-provider { margin:17px 0 14px; padding:13px 14px; }
  .portal-login-compact .login-card .field { margin-bottom:16px; }
  .portal-login-compact .login-help { margin-top:15px; padding-top:13px; }
  .portal-login-compact .demo-access { margin-top:17px; padding-top:14px; }
  .portal-login-compact .preview-note { margin-top:15px; padding:10px 11px; }
  .staff-page-stats { margin-bottom:18px; }
  .staff-page-stats>div { padding:15px 13px; }
  .staff-page-stats>div>span { font-size:10px; }
  .staff-page-stats>div>strong { font-size:23px; }
  .staff-page-stats>div>small { font-size:10px; line-height:1.7; }
  .staff-review-page .toolbar,.staff-settlement-page .toolbar { gap:10px; padding:14px 16px; }
  .staff-review-page .toolbar .search-box,.staff-settlement-page .toolbar .search-box { min-width:0; max-width:none; flex-basis:100%; }
  .staff-review-page .toolbar-count,.staff-settlement-page .toolbar-count { margin-left:0; font-size:11px; }
  .staff-review-filters,.settlement-filter-tabs { padding:0 7px; }
  .staff-page-help { font-size:10px; }
  .drawer.staff-review-drawer { width:100%; }
  .staff-review-drawer .drawer-header { min-height:80px; padding:17px 18px; }
  .staff-review-drawer .drawer-header h2 { font-size:17px; }
  .staff-review-drawer .drawer-section-nav { top:80px; padding:0 8px; }
  .staff-review-drawer .drawer-body { padding:19px 18px calc(100px + env(safe-area-inset-bottom,0px)); }
  .staff-review-drawer .drawer-section { scroll-margin-top:142px; }
  .staff-review-drawer .drawer-section>.panel .panel-header { padding:16px; }
  .staff-review-drawer .drawer-section>.panel .panel-body { padding:18px 16px; }
  .staff-review-facts { gap:18px 16px; margin:19px 0; }
  .staff-review-facts dt { font-size:10px; }
  .staff-review-facts dd { font-size:11px; }
  .staff-decision-context { gap:9px; padding:14px; }
  .staff-decision-context p { font-size:11px; }
  .staff-review-drawer input,.staff-review-drawer select,.staff-review-drawer textarea { scroll-margin-top:150px; scroll-margin-bottom:110px; }
  .staff-review-drawer .checkbox-line { min-height:38px; padding:5px 0; }
  .staff-review-drawer form>button[type="submit"] { width:100%; min-height:43px; margin-top:5px; }
  .staff-order-toolbar { top:123px; gap:9px; padding:11px 18px; }
  .staff-order-toolbar p,.staff-order-toolbar small { font-size:10px; }
  .staff-order-toolbar .button { min-height:35px; padding:7px 10px; font-size:10px; }
  .staff-approval-card { padding:17px 15px; margin-bottom:19px; }
  .staff-approval-card>h3 { margin-bottom:15px; font-size:14px; }
  .staff-approval-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 15px; }
  .staff-approval-facts dt { font-size:10px; }
  .staff-approval-facts dd { font-size:11px; }
  .staff-approval-checks>div,.staff-approval-checks>li { gap:7px; font-size:11px; }
  .staff-approval-checks .badge { max-width:92px; font-size:9px; }
  .staff-drawer:has(.staff-order-toolbar) .drawer-body { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
  .staff-drawer:has(.staff-order-toolbar) .drawer-section { scroll-margin-top:220px; }
}
@media(max-width:380px) {
  .login-screen.portal-login-compact { width:calc(100% - 24px); margin:12px auto; }
  .portal-login-compact .login-intro { padding-left:18px; padding-right:18px; }
  .portal-login-compact .login-bottomline { right:18px; }
  .portal-login-compact .login-card { width:calc(100% - 36px); }
  .portal-login-compact .login-brand { gap:9px; }
  .portal-login-compact .login-brand .brand-name { font-size:23px; }
  .portal-login-compact .login-bottomline .button.link { font-size:8px; }
  .staff-page-stats>div { padding:13px 10px; }
  .staff-page-stats>div>strong { font-size:21px; }
  .staff-page-stats>div>small { font-size:9px; }
  .staff-review-drawer .drawer-header { padding-left:15px; padding-right:15px; }
  .staff-review-drawer .drawer-body { padding-left:15px; padding-right:15px; }
  .staff-order-toolbar { align-items:flex-start; }
  .staff-order-toolbar>.button { width:100%; }
}
/* Daily controls share the existing review layout and restrained status colours. */
.daily-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.daily-action-grid .compliance-details{margin:0}
.daily-review-form h3{margin:0 0 14px}
.daily-reconciliation .table-scroll small,.daily-coverage .table-scroll small{overflow-wrap:anywhere}
.daily-batch-detail,.case-detail{min-width:0}
.daily-batch-detail .table-scroll{margin-top:14px}
.case-detail .client-profile-facts,.daily-batch-detail .client-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;margin:18px 0 0}
.case-detail .client-profile-facts dt,.daily-batch-detail .client-profile-facts dt,.client-coverage-list dt{color:var(--muted);font-size:11px;margin-bottom:5px}
.case-detail .client-profile-facts dd,.daily-batch-detail .client-profile-facts dd,.client-coverage-list dd{margin:0;overflow-wrap:anywhere}
.case-history{margin:18px 0 0;padding:0;list-style:none}
.case-history li{padding:14px 0;border-top:1px solid var(--line)}
.case-history li>span,.case-history small{display:block;margin-top:5px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.case-history p{margin:8px 0;overflow-wrap:anywhere}
.exception-overdue{color:var(--red)!important}
.client-coverage-panel{margin-top:0}
.client-coverage-list{padding:0 18px}
.client-coverage-list article{padding:16px 0}
.client-coverage-list article+article{border-top:1px solid var(--line)}
.client-coverage-list header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.client-coverage-list .client-profile-facts{display:grid;grid-template-columns:1fr;margin:12px 0 0;gap:12px}
.client-coverage-list .client-profile-facts div{min-width:0}
@media(max-width:760px){.daily-action-grid{grid-template-columns:1fr;gap:18px}.daily-reconciliation .panel-header{align-items:flex-start;gap:12px;flex-wrap:wrap}.case-detail .button-row{flex-wrap:wrap}}
