:root{--primary:#0E8388;--surface:#fff;--surface-muted:#fef9ed;--text:#000;--danger:#a11;--border:#d8d8d8;font-family:Inter,system-ui,sans-serif;color:var(--text);background:#f6f8f8}*{box-sizing:border-box}body{margin:0}a{color:var(--primary)}button,.button{border:0;border-radius:.45rem;padding:.65rem 1rem;background:var(--primary);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:#e7eeee;color:#173839}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}.shell{display:grid;grid-template-columns:16rem 1fr;min-height:100vh}.rail{background:#103f42;color:#fff;padding:1.25rem;position:sticky;top:0;height:100vh}.rail a{display:block;color:#fff;padding:.7rem;border-radius:.35rem;text-decoration:none}.rail a:hover{background:#195b5f}.content{min-width:0}.content-header{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:1rem 1.5rem;border-bottom:1px solid var(--border)}main{padding:1.5rem;max-width:90rem;margin:auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:.7rem;padding:1rem}.editor{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(22rem,1.2fr);gap:1rem}.preview img{width:100%;height:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:.25rem;font-weight:600}input,select,textarea{width:100%;padding:.65rem;border:1px solid #888;border-radius:.35rem;background:#fff}.field-error{color:var(--danger);font-size:.875rem}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:.5rem}table{border-collapse:collapse;width:100%}.invoice-table{min-width:66rem}.member-table caption{text-align:left;padding:.5rem .65rem;font-size:.8rem}.member-table tbody th{font-weight:600}.member-table .member-inactive{color:#6b7d7f}th,td{padding:.65rem;text-align:left;border-bottom:1px solid var(--border)}th a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem}th a:hover{color:var(--primary);text-decoration:underline}th[aria-sort="ascending"] a,th[aria-sort="descending"] a{color:#15575b;font-weight:700}.nowrap-cell{white-space:nowrap}.combobox{position:relative}.issuer-options{position:absolute;z-index:20;top:calc(100% + .2rem);left:0;right:0;margin:0;padding:.25rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:.4rem;box-shadow:0 1rem 2rem #0002;max-height:15rem;overflow:auto}.issuer-options:empty{display:none}.issuer-options [role="option"]{padding:.5rem .6rem;border-radius:.3rem;cursor:pointer;font-weight:500}.issuer-options [role="option"]:hover,.issuer-options [role="option"][aria-selected="true"]{background:#edf5f5}.column-picker{margin:0 0 1rem}.column-picker>summary{cursor:pointer;font-weight:650;display:flex;gap:.5rem;align-items:baseline}.column-form{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;margin-top:.85rem}.column-form .column-option{display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.875rem}.column-form .column-option input{width:auto;margin:0}.column-form button{margin-left:auto}.messages{list-style:none;padding:0}.message{padding:.75rem;border-left:4px solid var(--primary);background:var(--surface-muted)}.drawer-toggle{display:none}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.status{font-weight:700}.status-failed{color:var(--danger)}dialog{border:0;border-radius:.75rem;max-width:30rem;box-shadow:0 1rem 4rem #0004}dialog::backdrop{background:#0008}@media(max-width:768px){.shell{display:block}.rail{position:fixed;z-index:10;transform:translateX(-110%);transition:transform .2s;width:17rem}.rail.open{transform:none}.drawer-toggle{display:block}.content-header{position:sticky;top:0;z-index:5}.editor,.form-grid{grid-template-columns:1fr}main{padding:1rem}}

/* Document review: scoped so administration forms keep their existing layout. */
#document-editor { color: #183638; }
#document-editor .review-heading { margin-bottom: 1.5rem; }
#document-editor .review-heading h1 { margin: .35rem 0 .6rem; font-size: clamp(1.35rem, 2.4vw, 2rem); overflow-wrap: anywhere; }
#document-editor .review-heading p { color: #52686a; margin: 0; line-height: 1.6; }
#document-editor .review-heading .review-eyebrow { color: var(--primary); font-size: .75rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
#document-editor .editor { align-items: start; grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr); gap: 1.5rem; }
#document-editor .preview { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow: auto; }
#document-editor .preview h2 { margin-top: 0; font-size: 1rem; }
#document-editor .preview p { font-size: .85rem; color: #52686a; overflow-wrap: anywhere; }
#document-editor .review-form { padding: 1.5rem; gap: 1rem; min-width: 0; }
#document-editor .review-section-title { margin: .5rem 0 0; padding-top: 1.25rem; border-top: 1px solid #e2e9e9; font-size: 1.05rem; }
#document-editor .review-section-title:first-of-type { border: 0; padding-top: 0; }
#document-editor label { font-size: .875rem; gap: .4rem; min-width: 0; }
#document-editor .review-field { display: grid; gap: .4rem; min-width: 0; }
#document-editor .review-field > label { display: block; }
#document-editor .recipient-select { color: #183638; background-color: #f4faf8; border-color: #8dbdb3; font-weight: 600; cursor: pointer; }
#document-editor input, #document-editor select, #document-editor textarea { font: inherit; min-width: 0; border-color: #b5c6c7; min-height: 2.75rem; }
#document-editor input[inputmode="decimal"] { font-variant-numeric: tabular-nums; }
#document-editor textarea { min-height: 6rem; resize: vertical; }
#document-editor fieldset { min-width: 0; margin: 0; padding: 1rem; border: 1px solid #dce6e6; border-radius: .6rem; background: #f8fbfb; }
#document-editor legend { padding: 0 .4rem; font-size: .9rem; font-weight: 700; }
#document-editor fieldset label { display: flex; align-items: flex-start; gap: .65rem; padding: .65rem; border: 1px solid transparent; border-radius: .4rem; font-weight: 500; line-height: 1.5; cursor: pointer; }
#document-editor fieldset label:hover { background: #edf5f5; }
#document-editor fieldset label:has(input:checked) { background: #e7f4f3; border-color: #94c7c5; }
#document-editor input:is([type="checkbox"], [type="radio"]) { width: 1.1rem; height: 1.1rem; min-height: 0; padding: 0; margin: .15rem 0 0; flex: 0 0 1.1rem; accent-color: var(--primary); }
#document-editor .field-error:empty { display: none; }
#document-editor .field-error { display: block; line-height: 1.45; }
#document-editor .recipient-picker-help { color: #52686a; font-size: .8rem; line-height: 1.45; }
#document-editor label:has(.field-error:not(:empty)) :is(input, select, textarea) { border-color: var(--danger); }
#document-editor .review-field:has(.field-error:not(:empty)) :is(input, select) { border-color: var(--danger); }
#document-editor .review-help { margin: 0; font-size: .875rem; line-height: 1.6; color: #52686a; }
/* Converted documents: one banner that states which rate produced the stored EUR amounts. */
#document-editor .fx-note { display: flex; align-items: flex-start; gap: .9rem; padding: 1rem 1.1rem; border: 1px solid #bfded8; border-left: 4px solid var(--primary); border-radius: .6rem; background: linear-gradient(135deg, #f5fcfa, #e8f5f2); scroll-margin-top: 6rem; }
#document-editor .fx-note-icon { display: grid; place-items: center; flex: 0 0 2.6rem; width: 2.6rem; height: 2.6rem; color: #0b6d71; background: #fff; border: 1px solid #a7d8cf; border-radius: .7rem; box-shadow: 0 .25rem .7rem #145f5a12; }
#document-editor .fx-note-icon svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
#document-editor .fx-note-body { display: grid; gap: .45rem; min-width: 0; }
#document-editor .fx-note-title { margin: 0; color: #123f41; font-size: .95rem; font-weight: 750; line-height: 1.4; }
#document-editor .fx-note-text { margin: 0; color: #466264; font-size: .85rem; line-height: 1.65; overflow-wrap: anywhere; }
#document-editor .fx-note-text strong { color: #123f41; font-weight: 700; }
#document-editor .fx-note-flow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; }
#document-editor .fx-note-amount { padding: .35rem .6rem; border: 1px solid #d3e8e3; border-radius: .5rem; background: #fff; color: #123f41; font-size: .85rem; font-weight: 700; font-variant-numeric: tabular-nums; }
#document-editor .fx-note-flow > .fx-note-amount:last-child { border-color: #9fd0c6; background: #effaf6; color: #0b6d71; }
#document-editor .fx-note-arrow { color: #0b6d71; font-weight: 700; }
#document-editor .fx-note-hint { margin: 0; color: #5c7a7c; font-size: .8rem; line-height: 1.5; }
/* No rate produced these EUR amounts, so the banner must not look like a confirmed conversion. */
#document-editor .fx-note-manual { border-color: #ead59f; border-left-color: #c08a1e; background: linear-gradient(135deg, #fffbf2, #fdf3e0); }
#document-editor .fx-note-manual .fx-note-icon { color: #8a5f12; border-color: #ead59f; }
#document-editor .fx-note-manual .fx-note-title { color: #634711; }
#document-editor .fx-note-manual .fx-note-text { color: #6d541f; }
#document-editor .fx-note-manual .fx-note-text strong { color: #634711; }
#document-editor .fx-note-manual .fx-note-arrow { color: #8a5f12; }
#document-editor .fx-note-manual .fx-note-flow > .fx-note-amount:last-child { border-color: #ead59f; background: #fffaf0; color: #634711; }
#document-editor .fx-note-manual .fx-note-hint { color: #7a6330; }
#document-editor .review-alert { padding: .85rem 1rem; background: #fff5df; border: 1px solid #e8c985; border-radius: .5rem; color: #634711; line-height: 1.5; }
#document-editor #duplicate-decision { border-color: #e8c985; background: #fffbf2; scroll-margin-top: 6rem; }
#document-editor .duplicate-summary { padding: .75rem; background: white; border: 1px solid #eee1c6; border-radius: .4rem; overflow-wrap: anywhere; line-height: 1.6; }
#document-editor .review-actions { position: sticky; bottom: 0; background: var(--surface); padding: 1rem 0 .25rem; border-top: 1px solid #dce6e6; z-index: 2; }
#document-editor .review-actions button { min-height: 2.75rem; font: inherit; font-size: .875rem; }
@media(max-width:1100px) {
  #document-editor .editor { grid-template-columns: minmax(0, 1fr); }
  #document-editor .preview { position: static; max-height: 24rem; }
}
@media(max-width:768px) {
  #document-editor .review-form { padding: 1rem; }
  #document-editor .review-actions { gap: .5rem; }
  #document-editor .review-actions button { flex: 1 1 auto; }
}

/* Shared, opt-in workspace primitives. */
.page-heading { margin-bottom: 1.5rem; color: #183638; }
.page-heading h1 { margin: .35rem 0 .65rem; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.2; overflow-wrap: anywhere; }
.page-heading > p { max-width: 65rem; }
.eyebrow { margin: 0 0 .35rem; color: #0b6d71; font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.muted { color: #52686a; font-size: .9rem; line-height: 1.6; }
.section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: 1rem; min-width: 0; }
.section-heading h2, .section-heading h3 { margin: 0; color: #183638; overflow-wrap: anywhere; }
.section-heading h2 { font-size: 1.2rem; }
.section-heading h3 { font-size: 1rem; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; }
.badge { display: inline-flex; align-items: center; padding: .3rem .65rem; border: 1px solid transparent; border-radius: 999px; font-size: .75rem; font-weight: 700; line-height: 1.35; }
.badge-success { color: #17624e; background: #e7f5ee; border-color: #c6e4d5; }
.badge-warning { color: #795214; background: #fff5df; border-color: #ead59f; }
.badge-danger { color: #932d2d; background: #fff0ef; border-color: #ecc5c1; }
.badge-neutral { color: #52686a; background: #eff3f3; border-color: #dce5e5; }
.stat-card { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.stat-card > p { margin: 0; color: #425e60; font-size: .875rem; font-weight: 650; }
.stat-card > strong { color: #15575b; font-size: 2rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat-card > strong > span { color: #708688; font-size: 1.05rem; font-weight: 500; }
.stat-card > .muted { font-size: .8rem; }
.check-option { display: flex; align-items: flex-start; gap: .65rem; padding: .85rem; border: 1px solid #dce6e6; border-radius: .55rem; background: #f8fbfb; font-size: .875rem; line-height: 1.5; cursor: pointer; min-width: 0; }
.check-option > span { min-width: 0; overflow-wrap: anywhere; }
.check-option small { display: block; margin-top: .25rem; color: #52686a; font-size: .8rem; font-weight: 400; }
.check-option:hover { border-color: #9bbfbe; background: #f0f7f7; }
.check-option:has(input:checked) { background: #eaf6f4; border-color: #8bbfba; }
.check-option input[type="checkbox"], .check-option input[type="radio"] { width: 1.1rem; height: 1.1rem; min-height: 0; flex: 0 0 1.1rem; margin: .15rem 0 0; padding: 0; accent-color: var(--primary); }

/* Administration is also embedded in the platform's company inspection. */
.admin-workspace, .company-management { display: grid; gap: 1.5rem; min-width: 0; color: #183638; }
.admin-workspace > .page-heading { margin-bottom: 0; }
.admin-workspace > .message { margin: 0; }
:is(.admin-workspace, .company-management) .card { min-width: 0; padding: 1.5rem; border-color: #dce6e6; border-radius: .85rem; box-shadow: 0 2px 5px #163d3f04; }
:is(.admin-workspace, .company-management) .card > .muted { margin-top: -.25rem; margin-bottom: 1.25rem; }
:is(.admin-workspace, .company-management) .card > :last-child { margin-bottom: 0; }
:is(.admin-workspace, .company-management) form { margin: 0; min-width: 0; }
:is(.admin-workspace, .company-management) label { gap: .45rem; min-width: 0; font-size: .875rem; }
:is(.admin-workspace, .company-management) input:not([type="checkbox"]):not([type="radio"]), :is(.admin-workspace, .company-management) select { min-width: 0; min-height: 2.85rem; border-color: #b5c6c7; color: #183638; font: inherit; font-weight: 400; }
:is(.admin-workspace, .company-management) input::placeholder { color: #718487; opacity: 1; }
:is(.admin-workspace, .company-management) button { min-height: 2.75rem; font: inherit; font-size: .875rem; font-weight: 650; line-height: 1.45; transition: background .15s; }
:is(.admin-workspace, .company-management) button:hover { background: #096e73; }
:is(.admin-workspace, .company-management) button.secondary { background: #edf3f3; color: #275355; border: 1px solid #cddddd; }
:is(.admin-workspace, .company-management) button.secondary:hover { background: #dfeaea; }
:is(.admin-workspace, .company-management) button.danger-action { color: #932d2d; border-color: #e7c9c6; background: #fff7f6; }
:is(.admin-workspace, .company-management) button.danger-action:hover { background: #fbe9e7; }
:is(.admin-workspace, .company-management) button:disabled { opacity: .6; cursor: wait; }
:is(.admin-workspace, .company-management) .inline-form { display: flex; gap: .85rem; align-items: flex-end; flex-wrap: wrap; }
:is(.admin-workspace, .company-management) .inline-form > label { flex: 1 1 20rem; }
:is(.admin-workspace, .company-management) .inline-form > button { flex: 0 0 auto; }
:is(.admin-workspace, .company-management) .stacked-form { display: grid; gap: 1rem; }
:is(.admin-workspace, .company-management) .empty-state { margin: 0; padding: 1rem; border: 1px dashed #cbdada; border-radius: .55rem; background: #f8fbfb; color: #52686a; font-size: .875rem; line-height: 1.6; }
.admin-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-workspace .stat-card { border-top: 3px solid #9bcac8; }
.company-management .management-section > .muted { margin: -.35rem 0 1.1rem; }
.company-management .member-list { display: grid; gap: 1.25rem; }
.company-management .member-card > .section-heading { padding-bottom: 1rem; border-bottom: 1px solid #e4ecec; }
.company-management .member-card .section-heading > h3 { flex: 1 1 14rem; }
.company-management .member-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.company-management .form-grid { gap: 1rem; }
.company-management fieldset { min-width: 0; margin: 0; padding: 1rem; border: 1px solid #dce6e6; border-radius: .6rem; }
.company-management legend { padding: 0 .4rem; font-size: .875rem; font-weight: 650; }
.company-management fieldset > .muted { margin: 0 0 .85rem; font-size: .8rem; }
.company-management .checkbox-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.company-management .checkbox-grid > .empty-state { grid-column: 1 / -1; }
.company-management .member-status-form { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #e4ecec; }
.company-management .member-status-form > .muted { margin: 0; font-size: .8rem; flex: 1 1 18rem; }
.company-management .integration-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.company-management .integration-cards > .card { display: flex; flex-direction: column; }
.company-management .integration-cards .stacked-form { margin-top: auto; }
.company-management .integration-result { margin: 1.25rem 0 0; padding: .75rem .9rem; border: 1px solid transparent; border-radius: .5rem; font-size: .875rem; line-height: 1.5; font-weight: 500; }
.company-management .integration-result-ok { color: #17624e; background: #e7f5ee; border-color: #c6e4d5; }
.company-management .integration-result-error { color: #932d2d; background: #fff0ef; border-color: #ecc5c1; }
.admin-workspace .management-subsection { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #e4ecec; }
.admin-workspace .management-subsection > h3 { margin: 0; font-size: 1rem; }
.admin-workspace .alias-list { display: grid; gap: .5rem; margin-bottom: 1rem; }
.admin-workspace .alias-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .85rem; border: 1px solid #e1e9e9; border-radius: .55rem; }
.admin-workspace .alias-row > span { min-width: 0; overflow-wrap: anywhere; }
.admin-workspace .alias-row > button { flex-shrink: 0; }
.admin-workspace .plan-list { display: flex; flex-wrap: wrap; gap: .75rem; }
.admin-workspace .billing-actions { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #e4ecec; }
.admin-workspace .api-key-display { display: block; padding: 1rem; border: 1px solid #cbdcdd; border-radius: .5rem; background: #f3f8f8; overflow-wrap: anywhere; font-size: .9rem; line-height: 1.6; user-select: all; }
.admin-workspace .api-key-display + .muted { margin-top: 1rem; }
.admin-workspace .empty-state + .form-actions { margin-top: 1rem; }
@media(max-width:1100px) {
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-management .integration-cards { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width:768px) {
  :is(.admin-workspace, .company-management) .card { padding: 1rem; }
  .admin-workspace, .company-management { gap: 1.25rem; }
  .company-management .checkbox-grid { grid-template-columns: minmax(0, 1fr); }
  :is(.admin-workspace, .company-management) .inline-form { align-items: stretch; }
  :is(.admin-workspace, .company-management) .inline-form > button { width: 100%; }
  :is(.admin-workspace, .company-management) .form-actions > form { flex: 1 1 auto; }
  :is(.admin-workspace, .company-management) .form-actions > button, :is(.admin-workspace, .company-management) .form-actions > form > button { width: 100%; }
  .company-management .member-status-form > button { width: 100%; }
  .admin-workspace .plan-list { flex-direction: column; }
  .admin-workspace .plan-list button { width: 100%; }
  .admin-workspace .alias-row { padding: .65rem; gap: .5rem; }
}

/* Upload and review queue use real document counts, never estimated AI progress. */
[hidden] { display: none !important; }
.request-error { margin: 1rem 1.5rem 0; color: #932d2d; border-color: #b8473f; background: #fff0ef; overflow-wrap: anywhere; }
button:disabled { opacity: .6; cursor: wait; }

/* Navigation rail: quiet ledger styling with a clear current location. */
.rail { overflow-y: auto; padding: 1.25rem 1rem; background: radial-gradient(circle at 15% 5%, #1b6263 0, #103f42 38%, #0a3033 100%); border-right: 1px solid #ffffff12; }
.rail-brand { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.5rem; padding: .35rem .55rem 1.25rem; border-bottom: 1px solid #ffffff1c; font-size: 1.2rem; letter-spacing: -.02em; }
.rail-brand svg { width: 2.35rem; height: 2.35rem; padding: .45rem; color: #9ee1d7; background: #ffffff12; border: 1px solid #ffffff20; border-radius: .7rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rail .rail-link { position: relative; display: flex; align-items: center; gap: .75rem; min-height: 3rem; margin-top: .3rem; padding: .45rem .55rem; color: #d8e9e8; border: 1px solid transparent; border-radius: .7rem; font-size: .9rem; font-weight: 600; line-height: 1.3; transition: color .15s, background .15s, border-color .15s, transform .15s; }
.rail .rail-link:hover { color: #fff; background: #ffffff0d; border-color: #ffffff14; transform: translateX(2px); }
.rail .rail-link[aria-current="page"] { color: #fff; background: linear-gradient(90deg, #ffffff1c, #ffffff0d); border-color: #ffffff22; box-shadow: inset 3px 0 #76d6c9; }
.rail-icon { flex: 0 0 2.1rem; width: 2.1rem; height: 2.1rem; padding: .45rem; color: #9fc7c5; background: #082b2d66; border: 1px solid #ffffff12; border-radius: .6rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: color .15s, background .15s, border-color .15s; }
.rail-link:hover .rail-icon, .rail-link[aria-current="page"] .rail-icon { color: #c6fff6; background: #1e6a68; border-color: #7dd9ce55; }
.drawer-toggle { align-items: center; gap: .45rem; }
.drawer-toggle svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.content-context { display: grid; gap: .2rem; min-width: 0; }
.content-title { color: #183638; overflow-wrap: anywhere; }
.company-context { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; max-width: 100%; color: #527173; font-size: .76rem; font-weight: 650; line-height: 1.35; }
.company-context svg { flex: 0 0 .95rem; width: .95rem; height: .95rem; fill: none; stroke: #0b7779; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.company-context > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:768px) { .drawer-toggle { display: inline-flex; } }
.upload-workspace { color: #183638; min-width: 0; }
.upload-workspace .card { min-width: 0; padding: 1.5rem; border-color: #dce6e6; border-radius: .85rem; box-shadow: 0 2px 5px #163d3f04; }
.upload-workspace h2 { margin-top: 0; font-size: 1.2rem; }
.upload-workspace :is(button, .button) { min-height: 2.75rem; font: inherit; font-size: .875rem; font-weight: 650; line-height: 1.45; text-align: center; }
.upload-workspace :is(button, .button):hover { filter: brightness(.94); }
.upload-workspace .form-actions { margin-top: 1.25rem; }
.workflow-steps { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.workflow-steps li { display: flex; align-items: flex-start; gap: .75rem; min-width: 0; padding: 1rem; border: 1px solid #dce6e6; border-radius: .7rem; background: #f0f5f5; }
.workflow-steps li[aria-current="step"] { border-color: #92c5bf; background: #e7f4f1; }
.workflow-steps p { margin: .3rem 0 0; color: #52686a; font-size: .8rem; line-height: 1.5; }
.workflow-steps strong { font-size: .9rem; }
.step-number, .document-number { display: grid; place-items: center; flex: 0 0 2rem; width: 2rem; height: 2rem; border-radius: 50%; background: #fff; border: 1px solid #d0dfdf; font-size: .85rem; font-weight: 750; color: #326163; }
[aria-current="step"] .step-number { background: var(--primary); color: #fff; border-color: var(--primary); }
.upload-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(17rem, 1fr); gap: 1.5rem; align-items: start; }
.upload-main, .upload-aside { display: grid; gap: 1.25rem; min-width: 0; }
.upload-card .section-heading .muted { margin-bottom: 0; }
.file-drop { align-items: center; justify-items: center; gap: .75rem; text-align: center; padding: 1.75rem 1.25rem; background: #f7fbfb; border: 2px dashed #aacdcb; border-radius: .65rem; cursor: pointer; }
.file-drop:hover, .file-drop:focus-within { background: #eff8f6; border-color: var(--primary); }
.upload-symbol { width: 2.75rem; height: 2.75rem; border-radius: .75rem; display: grid; place-items: center; background: #e3f1ed; color: #0b6d71; font-size: 1.75rem; }
.file-drop .muted { font-weight: 400; font-size: .8rem; }
.file-drop input { max-width: 100%; font: inherit; font-size: .85rem; font-weight: 400; border-color: #c7d9d8; }
.file-drop input::file-selector-button { border: 0; border-radius: .35rem; background: #e3eeee; color: #214c4f; padding: .5rem .65rem; margin-right: .75rem; cursor: pointer; font: inherit; font-weight: 650; }
.selected-files { padding: 0; list-style: none; margin: 1rem 0; max-height: 17rem; overflow: auto; border: 1px solid #dce6e6; border-radius: .5rem; }
.selected-files li { display: flex; justify-content: space-between; gap: .75rem; padding: .7rem .85rem; font-size: .85rem; }
.selected-files li + li { border-top: 1px solid #e5eded; }
.selected-files li > :first-child { overflow-wrap: anywhere; min-width: 0; }
.selected-files li > :last-child { white-space: nowrap; color: #52686a; font-variant-numeric: tabular-nums; }
.upload-workspace .field-error:empty { display: none; }
.upload-progress { border: 1px solid #b4d4d0; border-radius: .6rem; padding: 1rem; background: #eff8f6; }
.upload-progress p { font-size: .875rem; margin-bottom: 0; line-height: 1.6; }
.upload-workspace progress { display: block; width: 100%; height: .65rem; margin: .85rem 0; accent-color: var(--primary); border: none; border-radius: 999px; overflow: hidden; background: #e1eded; }
.upload-workspace progress::-webkit-progress-bar { background: #e1eded; border-radius: 999px; }
.upload-workspace progress::-webkit-progress-value { background: var(--primary); border-radius: 999px; }
.upload-workspace progress::-moz-progress-bar { background: var(--primary); border-radius: 999px; }
.upload-workspace progress:not([value]) { background: linear-gradient(90deg, #e1eded, #79b7b3, #e1eded); background-size: 200% 100%; animation: upload-pending 1.6s linear infinite; }
@keyframes upload-pending { to { background-position: -200% 0; } }
.upload-aside .batch-help { background: #edf6f4; border-color: #cce1dd; }
.batch-help { line-height: 1.65; font-size: .875rem; color: #466264; }
.batch-help ol { padding-left: 1.25rem; }
.batch-help li { padding: .3rem 0 .3rem .3rem; }
.batch-help a { font-weight: 650; }
.usage-card > div { display: flex; justify-content: space-between; gap: .75rem; padding-top: .8rem; }
.usage-card strong { font-variant-numeric: tabular-nums; }
.camera-card summary { font-weight: 700; font-size: 1rem; cursor: pointer; padding: .15rem 0; }
.camera-card video { display: block; width: 100%; max-height: 22rem; background: #103f42; border-radius: .5rem; margin: 1rem 0; }
.camera-card .check-option { margin-top: 1rem; }
.camera-card [data-camera-fallback] { gap: .5rem; margin-bottom: 1rem; font-size: .875rem; }
.recent-batches { margin-top: 1.5rem; scroll-margin-top: 6rem; }
.recent-batch { display: flex; align-items: center; gap: 1rem; padding: 1.25rem 0; border-top: 1px solid #e2eaea; }
.recent-batch > div { flex: 1; min-width: 0; }
.recent-batch h3 { font-size: .95rem; margin: 0 0 .5rem; overflow-wrap: anywhere; }
.recent-batch p { margin: .35rem 0 0; font-size: .875rem; line-height: 1.5; }
.recent-batch > .button { flex-shrink: 0; }
#batch-status { display: grid; gap: 1.25rem; }
#batch-status > .section-heading { margin: .5rem 0 0; }
.batch-summary .workflow-steps li { flex-direction: column; gap: .4rem; font-size: .8rem; color: #52686a; }
.batch-summary .workflow-steps strong { color: #183638; }
.batch-counts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1.5rem; }
.batch-counts > span { padding: .7rem .5rem; border-radius: .55rem; background: #f5f8f8; color: #52686a; font-size: .8rem; }
.batch-counts strong { display: block; color: #15575b; font-size: 1.5rem; font-variant-numeric: tabular-nums; margin-bottom: .25rem; }
.batch-summary > label { font-size: .875rem; line-height: 1.5; }
.batch-summary > :last-child { margin-bottom: 0; }
.upload-workspace .batch-completion { position: relative; overflow: hidden; scroll-margin-top: 6rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #6cb9ad; background: linear-gradient(135deg, #f7fffd 0%, #e5f6f2 100%); box-shadow: 0 .8rem 2.5rem #0e5f5f14, inset .35rem 0 0 var(--primary); }
.upload-workspace .batch-completion::after { content: ""; position: absolute; z-index: 0; top: -5rem; right: -4rem; width: 12rem; height: 12rem; border-radius: 50%; background: #71c9bb18; pointer-events: none; }
.batch-completion > * { position: relative; z-index: 1; }
.batch-completion-header { display: flex; align-items: center; gap: 1rem; }
.batch-completion-header h2 { margin: .2rem 0 0; color: #123f41; font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.batch-completion .eyebrow { margin: 0; color: #087069; }
.batch-completion-icon { display: grid; place-items: center; flex: 0 0 3.5rem; width: 3.5rem; height: 3.5rem; color: #087069; background: #fff; border: 1px solid #a7d8cf; border-radius: 1rem; box-shadow: 0 .4rem 1rem #145f5a14; }
.batch-completion-icon svg { width: 1.8rem; height: 1.8rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.batch-completion-lead { margin: 1.35rem 0 1rem; color: #335d5e; font-size: .95rem; line-height: 1.6; }
.batch-completion-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.completion-count { display: flex; align-items: baseline; gap: .5rem; min-width: 0; padding: .8rem .9rem; background: #ffffffb8; border: 1px solid #d3e8e3; border-radius: .7rem; color: #496365; font-size: .8rem; font-weight: 650; }
.completion-count strong { color: #174f50; font-size: 1.45rem; line-height: 1; font-variant-numeric: tabular-nums; }
.completion-count-saved { border-color: #b9ded0; background: #f4fcf8; }
.completion-count-saved strong { color: #17624e; }
.completion-count-skipped { border-color: #e5d8b9; background: #fffbf1; }
.completion-count-skipped strong { color: #795214; }
.completion-count-failed { border-color: #e7cac6; background: #fff8f7; }
.completion-count-failed strong { color: #932d2d; }
.batch-completion-note { display: flex; align-items: flex-start; gap: .65rem; margin: 1rem 0 1.25rem; padding: .8rem .9rem; color: #3d585a; background: #ffffff8f; border: 1px solid #cfe3df; border-radius: .65rem; }
.batch-completion-note svg { flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; margin-top: .15rem; fill: none; stroke: #397678; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.batch-completion-note p { margin: 0; font-size: .84rem; line-height: 1.55; }
.batch-completion-action { display: flex; justify-content: flex-end; }
.batch-completion-action button { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-width: 14rem; padding: .8rem 1.2rem; box-shadow: 0 .5rem 1.2rem #0e66652b; }
.batch-completion-action button:hover { filter: brightness(.94); transform: translateY(-1px); }
.batch-completion-action button svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.document-list { display: grid; gap: .85rem; }
.document-row { display: flex; gap: 1rem; align-items: flex-start; }
.document-number { background: #edf5f4; margin-top: .1rem; }
.document-thumb { position: relative; flex: 0 0 6rem; width: 6rem; height: 8rem; border: 1px solid var(--border); border-radius: .45rem; overflow: hidden; background: #f5f8f8; text-decoration: none; }
.document-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.document-thumb-empty { display: grid; place-items: center; font-size: .75rem; font-weight: 700; color: #52686a; letter-spacing: .04em; }
.document-details .document-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; font-size: .8rem; }
.document-details .document-recognized { font-size: .8rem; }
.document-details .document-recognized strong { color: #183638; font-weight: 650; }
.document-details { min-width: 0; flex: 1; }
.document-details h3 { margin: 0 0 .6rem; font-size: 1rem; overflow-wrap: anywhere; line-height: 1.45; }
.document-details p { font-size: .875rem; color: #52686a; line-height: 1.6; overflow-wrap: anywhere; }
.document-details .field-error { color: var(--danger); }
.document-details .form-actions { margin-top: .85rem; }
@media(max-width:1100px) {
  .upload-layout { grid-template-columns: minmax(0, 1fr); }
  .upload-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .batch-counts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media(max-width:768px) {
  .content-header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; padding: 1rem; }
  .content-header > .actions { grid-column: 1 / -1; justify-content: flex-end; }
  .upload-workspace .card { padding: 1rem; }
  .workflow-steps { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .workflow-steps li { padding: .75rem; }
  .upload-aside { grid-template-columns: minmax(0, 1fr); }
  .file-drop { padding: 1.25rem .75rem; }
  .upload-workspace .form-actions > :is(button, .button) { flex: 1 1 auto; }
  .recent-batch { flex-wrap: wrap; gap: .75rem; }
  .recent-batch > div { flex-basis: 100%; }
  .recent-batch > .button { margin-left: auto; }
  .document-row { gap: .65rem; }
  .document-number { flex-basis: 1.6rem; width: 1.6rem; height: 1.6rem; }
  .document-thumb { flex-basis: 4rem; width: 4rem; height: 5.5rem; }
  .batch-completion-counts { grid-template-columns: minmax(0, 1fr); }
  .batch-completion-action button { width: 100%; }
  .request-error { margin: 1rem 1rem 0; }
}
@media(prefers-reduced-motion:reduce) {
  .upload-workspace progress:not([value]) { animation: none; }
  .rail .rail-link, .rail-icon { transition: none; }
  .rail .rail-link:hover { transform: none; }
  .batch-completion-action button:hover { transform: none; }
}

/* Issuer merge/rename/remove/revert confirmation overlay. */
.confirm-dialog { padding: 1.5rem; color: #183638; }
.confirm-dialog h2 { margin: 0 0 .75rem; font-size: 1.2rem; }
.confirm-dialog .dialog-impact { margin: 0 0 1.25rem; padding-left: 1.15rem; line-height: 1.7; font-size: .9rem; color: #3a5254; }
.confirm-dialog .actions { justify-content: flex-end; }

/* Collapsible admin sections: native <details> accordions keep long forms out of the way. */
.accordion { border: 1px solid #dce6e6; border-radius: .85rem; background: var(--surface); box-shadow: 0 2px 5px #163d3f04; overflow: hidden; }
.accordion > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; min-width: 0; }
.accordion > summary::-webkit-details-marker { display: none; }
.accordion > summary::after { content: ""; flex: 0 0 auto; width: .55rem; height: .55rem; border-right: 2px solid #6b8a8c; border-bottom: 2px solid #6b8a8c; transform: rotate(45deg); transition: transform .2s; }
.accordion[open] > summary::after { transform: rotate(-135deg); }
.accordion > summary:hover { background: #f4f8f8; }
.accordion > summary:focus-visible { outline: 3px solid #ffbf47; outline-offset: -3px; }
.accordion > summary .accordion-title { display: flex; flex-direction: column; gap: .15rem; min-width: 0; margin-right: auto; }
.accordion > summary .accordion-title .eyebrow { margin: 0; }
.accordion > summary .accordion-title strong { font-size: 1.1rem; color: #183638; overflow-wrap: anywhere; }
.accordion > .accordion-body { padding: 0 1.5rem 1.5rem; display: grid; gap: 1.25rem; min-width: 0; }
.accordion > .accordion-body > .muted:first-child { margin-top: -.25rem; }
.accordion .member-list { margin: 0; }
.accordion-sub { border-color: #e4ecec; box-shadow: none; border-radius: .65rem; }
.accordion-sub > summary { padding: .95rem 1.1rem; }
.accordion-sub > summary .accordion-title strong { font-size: .95rem; }
.accordion-sub > .accordion-body { padding: 0 1.1rem 1.1rem; gap: 1rem; }
.accordion-sub.member-inactive > summary .accordion-title strong { color: #6b7d7f; }
.accordion .member-badges { display: flex; flex-wrap: wrap; gap: .4rem; }

/* Public pages (landing, AI assistant): rendered without the authenticated shell. */
html:has(.public-page) { scroll-behavior: smooth; }
.public-page { color: #183638; }
/* The workspace `main` rule adds page padding and a max width; public sections are full-bleed. */
.public-page > main { max-width: none; padding: 0; }
.public-bar { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 1rem; padding: .9rem clamp(1rem, 5vw, 4rem); background: #fffffff2; border-bottom: 1px solid #e0e9e9; backdrop-filter: blur(10px); }
.public-brand { display: flex; align-items: center; gap: .6rem; margin-right: auto; color: #103f42; font-size: 1.05rem; font-weight: 750; letter-spacing: -.02em; text-decoration: none; }
.public-brand svg { width: 2.2rem; height: 2.2rem; padding: .4rem; color: #0b6d71; background: #e7f2f1; border: 1px solid #cfe5e3; border-radius: .65rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.public-nav { display: flex; align-items: center; gap: 1.25rem; }
.public-nav > a:not(.button) { color: #3a5254; font-size: .9rem; font-weight: 650; text-decoration: none; }
.public-nav > a:not(.button):hover, .public-nav > a[aria-current="page"] { color: var(--primary); }
.public-nav > .button { padding: .6rem 1.25rem; font-weight: 650; }
.landing-hero { padding: clamp(3rem, 7vw, 5.5rem) clamp(1rem, 5vw, 4rem) clamp(3.5rem, 8vw, 6rem); text-align: center; color: #cfe6e3; background: radial-gradient(circle at 15% 0, #1b6263 0, #103f42 42%, #0a3033 100%); }
.landing-hero > * { max-width: 46rem; margin-inline: auto; }
.landing-eyebrow { margin: 0 0 .75rem; color: #8fd8cc; font-size: .75rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.landing-hero h1 { margin: 0 0 1rem; color: #fff; font-size: clamp(1.9rem, 5vw, 3.1rem); line-height: 1.12; letter-spacing: -.02em; }
.landing-lead { margin: 0 0 2rem; font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.65; }
.landing-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1.25rem; margin: 0 0 1.5rem; }
.landing-cta { padding: .85rem 1.75rem; font-size: 1rem; font-weight: 700; box-shadow: 0 10px 24px #00000029; transition: background .15s; }
.landing-cta:hover { background: #12a3a8; }
.landing-ghost { padding-bottom: .15rem; color: #9ee1d7; font-weight: 650; text-decoration: none; border-bottom: 1px solid #9ee1d766; }
.landing-ghost:hover { color: #fff; border-color: #fff; }
.landing-note { margin: 0; color: #9fbdbb; font-size: .85rem; line-height: 1.6; }
.landing-features { max-width: 72rem; margin-inline: auto; padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 5vw, 4rem); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; }
.landing-features > .card { min-width: 0; padding: 1.5rem; border-color: #dce6e6; border-radius: .9rem; box-shadow: 0 2px 6px #163d3f0a; transition: transform .15s, box-shadow .15s; }
.landing-features > .card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px #163d3f14; }
.landing-features h2 { margin: .9rem 0 .5rem; font-size: 1.05rem; }
.landing-features p { margin: 0; color: #52686a; font-size: .9rem; line-height: 1.65; }
.landing-icon { display: inline-flex; padding: .55rem; color: #0b6d71; background: #e7f2f1; border: 1px solid #cfe5e3; border-radius: .7rem; }
.landing-icon svg { width: 1.4rem; height: 1.4rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.landing-steps { padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 5vw, 4rem); background: var(--surface); border-block: 1px solid #e0e9e9; scroll-margin-top: 4.5rem; }
.landing-steps > h2, .landing-steps > ol { max-width: 72rem; margin-inline: auto; }
.landing-steps > h2 { margin-block: 0 1.75rem; font-size: clamp(1.3rem, 2.6vw, 1.8rem); text-align: center; }
.landing-steps > ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.5rem; margin-block: 0; padding: 0; list-style: none; counter-reset: landing-step; }
.landing-steps li { position: relative; display: grid; gap: .4rem; padding-top: 3rem; min-width: 0; }
.landing-steps li::before { counter-increment: landing-step; content: counter(landing-step); position: absolute; top: 0; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; color: #fff; background: var(--primary); border-radius: 50%; font-weight: 750; }
.landing-steps li strong { font-size: 1.02rem; }
.landing-steps li span { color: #52686a; font-size: .9rem; line-height: 1.65; }
.landing-close { padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 5vw, 4rem); text-align: center; }
.landing-close h2 { margin: 0 0 .6rem; font-size: clamp(1.3rem, 2.6vw, 1.8rem); }
.landing-close p { margin: 0 0 1.5rem; color: #52686a; line-height: 1.65; }
.public-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem; padding: 1.25rem clamp(1rem, 5vw, 4rem); background: var(--surface); border-top: 1px solid #e0e9e9; color: #52686a; font-size: .85rem; }
.public-foot > span { margin-right: auto; font-weight: 650; }
.public-foot a { font-weight: 650; text-decoration: none; }

/* Landing: the MCP teaser band and its example conversation. */
.landing-assistant { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 5vw, 4rem); color: #cfe6e3; background: linear-gradient(135deg, #0d3a3d 0, #12484b 55%, #0a2f32 100%); scroll-margin-top: 4.5rem; }
.landing-assistant > * { max-width: 34rem; min-width: 0; }
.assistant-copy h2 { margin: 0 0 .85rem; color: #fff; font-size: clamp(1.4rem, 3vw, 2.05rem); line-height: 1.2; }
.assistant-copy > p { margin: 0 0 1.25rem; line-height: 1.7; }
.assistant-copy code { padding: .1rem .35rem; color: #b8ede2; background: #ffffff14; border-radius: .3rem; font-size: .9em; }
.assistant-points { margin: 0 0 1.5rem; padding-left: 1.1rem; line-height: 1.7; }
.assistant-points strong { color: #9ee1d7; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .95em; }
.landing-assistant .landing-actions { margin: 0; justify-content: flex-start; }
.landing-ghost.dark { color: #cfe6e3; border-color: #cfe6e34d; }
.assistant-chat { display: grid; gap: .75rem; margin: 0; padding: 1.5rem; background: #ffffff0f; border: 1px solid #ffffff26; border-radius: 1rem; }
.assistant-chat figcaption { color: #8fd8cc; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.assistant-chat p { margin: 0; padding: .9rem 1.1rem; border-radius: .9rem; font-size: .92rem; line-height: 1.65; }
.chat-ask { color: #0d3a3d; background: #cfeee7; border-bottom-right-radius: .25rem; justify-self: end; }
.chat-reply { color: #eafaf6; background: #ffffff1a; border: 1px solid #ffffff1f; border-bottom-left-radius: .25rem; }
.chat-reply strong { color: #9ee1d7; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .95em; }

/* AI assistant documentation page. */
.doc-hero { padding: clamp(2.75rem, 6vw, 4.5rem) clamp(1rem, 5vw, 4rem); text-align: center; color: #cfe6e3; background: radial-gradient(circle at 20% 0, #1b6263 0, #103f42 45%, #0a3033 100%); }
.doc-hero > * { max-width: 48rem; margin-inline: auto; }
.doc-hero h1 { margin: 0 0 1rem; color: #fff; font-size: clamp(1.7rem, 4vw, 2.6rem); line-height: 1.15; letter-spacing: -.02em; }
.doc-hero .landing-actions { margin: 0; }
.doc-section { padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 5vw, 4rem); scroll-margin-top: 4.5rem; }
.doc-section > * { max-width: 62rem; margin-inline: auto; }
.doc-section > h2 { margin: 0 0 1.5rem; font-size: clamp(1.25rem, 2.4vw, 1.7rem); }
.doc-tinted { background: var(--surface); border-block: 1px solid #e0e9e9; }
.doc-section .muted { margin: 1.25rem auto 0; }
.mcp-diagram { margin: 0; }
.diagram-scroll { overflow-x: auto; padding: .35rem; background: #f8fbfb; border: 1px solid #dce6e6; border-radius: 1rem; }
.diagram-scroll svg { display: block; width: 100%; min-width: 34rem; height: auto; }
.dg-box { fill: #fff; stroke: #cfe5e3; stroke-width: 1.5; }
.dg-box-accent { fill: #0d3f42; stroke: #0d3f42; }
.dg-title { font-size: 15px; font-weight: 750; fill: #103f42; }
.dg-title-invert { fill: #fff; }
.dg-chip { fill: #eef6f5; stroke: #d6e7e4; }
.dg-chip-invert { fill: #ffffff1f; stroke: #ffffff38; }
.dg-chip-text { font-size: 13px; font-weight: 650; fill: #25555a; }
.dg-chip-text-invert { fill: #eafaf6; }
.dg-label { font-size: 11.5px; font-weight: 650; fill: #52686a; }
.dg-flow { fill: none; stroke: var(--primary); stroke-width: 2; marker-end: url(#dg-arrow); }
.mcp-diagram figcaption { margin-top: 1rem; color: #52686a; font-size: .9rem; line-height: 1.7; }
.doc-cards { grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1.25rem; }
.doc-cards > .card { min-width: 0; padding: 1.5rem; border-color: #dce6e6; border-radius: .9rem; }
.doc-cards h3 { margin: 0 0 .75rem; font-size: 1.05rem; }
.doc-cards ul { margin: 0; padding-left: 1.1rem; color: #3a5254; font-size: .9rem; line-height: 1.75; }
.doc-steps { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; counter-reset: doc-step; }
.doc-steps > li { position: relative; padding: 1.5rem 1.5rem 1.5rem 4.25rem; min-width: 0; background: var(--surface); border: 1px solid #dce6e6; border-radius: .9rem; }
.doc-steps > li::before { counter-increment: doc-step; content: counter(doc-step); position: absolute; top: 1.5rem; left: 1.5rem; display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; background: var(--primary); border-radius: 50%; font-size: .9rem; font-weight: 750; }
.doc-steps strong { display: block; margin-bottom: .4rem; font-size: 1.02rem; }
.doc-steps p { margin: 0; color: #3a5254; line-height: 1.7; }
.doc-steps pre { margin: 1rem 0 0; padding: 1rem 1.1rem; overflow-x: auto; color: #dff3ee; background: #0d3a3d; border-radius: .7rem; font-size: .82rem; line-height: 1.6; }
.doc-section :not(pre) > code { padding: .1rem .35rem; color: #0b5c60; background: #eaf3f2; border-radius: .3rem; font-size: .9em; overflow-wrap: anywhere; }
.doc-table-scroll { overflow-x: auto; }
.doc-table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: .875rem; }
.doc-table caption { margin-bottom: .75rem; color: #52686a; font-size: .85rem; text-align: left; }
.doc-table th, .doc-table td { padding: .85rem 1rem; border-bottom: 1px solid #dce6e6; text-align: left; vertical-align: top; line-height: 1.65; }
.doc-table thead th { color: #183638; background: #f1f7f6; white-space: nowrap; }
.doc-table tbody th { white-space: nowrap; }
.doc-table td { color: #3a5254; }
.doc-facts { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.doc-facts > li { padding: 1rem 1.15rem; background: var(--surface); border: 1px solid #dce6e6; border-left: 3px solid var(--primary); border-radius: .6rem; color: #3a5254; font-size: .92rem; line-height: 1.7; }
.doc-facts strong { color: #183638; }
@media(max-width:900px) {
  .landing-assistant { grid-template-columns: minmax(0, 1fr); }
  .landing-assistant > * { max-width: none; }
}
@media(max-width:560px) {
  .public-nav > a:not(.button) { display: none; }
  .doc-steps > li { padding: 1.25rem; }
  .doc-steps > li::before { position: static; margin-bottom: .75rem; }
}
@media(prefers-reduced-motion:reduce) {
  html:has(.public-page) { scroll-behavior: auto; }
  .landing-features > .card { transition: none; }
  .landing-features > .card:hover { transform: none; }
}
