:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg:#f4f5f7;--surface:#fff;--surface-muted:#f9fafb;--border:#e3e6ea;--border-strong:#cfd4da;--text:#1f2933;--text-muted:#616e7c;--text-faint:#9aa5b1;--accent:#06185c;--accent-hover:#142a7a;--accent-soft:#e9ecf5;--brand-green:#2dbe34;--radius:8px;--radius-sm:6px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a;--topbar-h:56px;--nav-w:232px}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600;line-height:1.25}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}p{margin:0}.wordmark{letter-spacing:-.01em;color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.wordmark:hover{text-decoration:none}.wordmark__logo{width:auto;height:28px;display:block}.wordmark__text{color:var(--text-muted);border-left:1px solid var(--border);padding-left:10px;font-weight:600;line-height:1}.login-card .wordmark__logo{height:36px}.invoice__logo{width:auto;height:40px;margin-bottom:10px;display:block}.doc .doc-logo mark img{display:block}.badge{letter-spacing:.02em;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.login{justify-content:center;align-items:center;min-height:100%;padding:32px 16px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);padding:32px}.login-card__header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.login-card h1{margin-top:4px;font-size:24px}.login-card__footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;margin-top:24px;padding-top:16px;font-size:13px}.field{margin-bottom:16px}.field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.input{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);outline:none;padding:10px 12px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.checkbox{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:20px;font-size:14px;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--accent);margin:0}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:10px 16px;font-weight:600;display:inline-flex}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--block{width:100%}.form-links{text-align:center;margin-top:16px;font-size:14px}.app{grid-template-rows:var(--topbar-h) 1fr;grid-template-columns:var(--nav-w) 1fr;grid-template-areas:"topbar topbar""nav main";min-height:100%;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--border);grid-area:topbar;justify-content:space-between;align-items:center;padding:0 20px;display:flex}.topbar__user{align-items:center;gap:14px;font-size:14px;display:flex}.topbar__name{font-weight:600}.topbar__signout{color:var(--text-muted)}.nav{background:var(--surface);border-right:1px solid var(--border);grid-area:nav;padding:16px 12px}.nav ul{margin:0;padding:0;list-style:none}.nav a{border-radius:var(--radius-sm);color:var(--text-muted);padding:9px 12px;font-weight:500;display:block}.nav a:hover{background:var(--surface-muted);color:var(--text);text-decoration:none}.nav a.is-active{background:var(--accent-soft);color:var(--accent)}.main{grid-area:main;padding:28px 32px;overflow:auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.empty{text-align:center;background:var(--surface-muted);border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:64px 24px;display:flex}.empty h2{color:var(--text)}.empty p{max-width:420px}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover{background:var(--surface-muted);text-decoration:none}.btn--quiet{color:var(--text-muted);background:0 0}.btn--quiet:hover{color:var(--text);text-decoration:none}.btn--sm{padding:6px 10px;font-size:13px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.page-header__actions{align-items:center;gap:8px;display:flex}.page-header__title{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-sub{color:var(--text-muted);margin-top:4px;font-size:14px}.status{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status--pending{color:#8a5a00;background:#fff4e0;border-color:#f5d9a3}.status--accepted{color:#1b6b3a;background:#e6f5ec;border-color:#b6e0c5}.status--neutral{background:var(--surface-muted);color:var(--text-muted);border-color:var(--border)}.status--info{color:#2457c5;background:#e8eefb;border-color:#c3d3f5}.status--danger{color:#b42318;background:#fdecec;border-color:#f5c2c0}.status--muted{color:var(--text-faint);border-color:var(--border);background:0 0}.tag{letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--border);vertical-align:middle;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.progress{background:var(--border);border-radius:999px;height:8px;margin:10px 0 8px;display:flex;overflow:hidden}.progress span{height:100%;display:block}.progress .p-approved{background:#2e9e5b}.progress .p-submitted{background:#2457c5}.progress .p-rejected{background:#d9463b}.progress-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.progress-legend b{color:var(--text)}.dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.alert{border-radius:var(--radius);border:1px solid;margin-bottom:20px;padding:14px 18px;font-size:14px}.alert--danger{background:#fdf3f2;border-color:#f5c2c0}.alert--danger h2{color:#b42318;margin-bottom:6px;font-size:14px}.alert--info{background:#eef3fd;border-color:#c3d3f5}.alert--neutral{background:var(--surface-muted);border-color:var(--border)}.alert--neutral h2{margin-bottom:6px;font-size:14px}.alert ul{margin:0;padding-left:18px}.alert li{margin-bottom:4px}.table tr.group th{background:var(--surface);color:var(--text);text-transform:none;letter-spacing:0;padding-top:14px;font-size:13px;font-weight:700}.table tr.is-queue td{background:#fbfcff}.table td .sub{color:var(--text-muted);font-size:12px;display:block}.table td .code{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:block}.file{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;font-size:13px;display:flex}.file__icon{background:var(--accent-soft);width:28px;height:34px;color:var(--accent);border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:flex}.file__meta{color:var(--text-muted);font-size:12px}.file .grow{flex:1;min-width:0}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:var(--surface-muted);margin-bottom:14px;padding:28px;font-size:14px}.dropzone strong{color:var(--accent)}.preview{border:1px solid var(--border);border-radius:var(--radius);height:420px;color:var(--text-muted);background:#eceef1;justify-content:center;align-items:center;margin-bottom:12px;font-size:14px;display:flex}.thread{margin:0;padding:0;list-style:none}.thread li{border-top:1px solid var(--border);padding:12px 0;font-size:14px}.thread li:first-child{border-top:0;padding-top:0}.thread .who{font-weight:600}.thread .when{color:var(--text-faint);margin-left:6px;font-size:12px}.thread .files{margin-top:8px}.thread .outcome{margin-top:6px}.decision .btn{width:100%;margin-bottom:8px}.btn--success{color:#fff;background:#2e9e5b}.btn--success:hover{background:#26864d;text-decoration:none}.btn--danger{background:var(--surface);color:#b42318;border-color:#f5c2c0}.btn--danger:hover{background:#fdf3f2;text-decoration:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px 24px}.panel__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel__header h2{font-size:16px}.panel__hint{color:var(--text-muted);margin:-8px 0 14px;font-size:13px}.two-col{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.kv{grid-template-columns:max-content 1fr;gap:6px 20px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--text-muted)}.kv dd{overflow-wrap:anywhere;margin:0}.kv code{font-size:12px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 16px}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface-muted);font-size:12px;font-weight:600}.table tr:last-child td{border-bottom:0}.muted{color:var(--text-muted)}.table .muted{color:var(--text-muted);font-size:13px}.table a.row-link{color:var(--text);font-weight:600}.filters{gap:10px;margin-bottom:16px;display:flex}.filters .input{max-width:320px}.filters select.input{max-width:280px}.form-section{margin-bottom:8px}.form-section>.panel__header{align-items:baseline}.form-section .step{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);text-align:center;border-radius:50%;margin-right:8px;font-size:12px;font-weight:700;line-height:24px;display:inline-block}.grid-2{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:0 20px;display:grid}.span-2{grid-column:span 2}.req:after{content:" *";color:#b42318}textarea.input{resize:vertical;min-height:72px}select.input{appearance:auto}.help{color:var(--text-muted);margin-top:4px;font-size:12px}.field--readonly .input{background:var(--surface-muted);color:var(--text-muted)}.radio-group{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.radio-group label{align-items:center;gap:6px;font-size:14px;display:flex}.radio-group input{accent-color:var(--accent)}.inline-input{align-items:center;gap:8px;display:flex}.inline-input .input{width:90px}.prefix{position:relative}.prefix .input{padding-left:26px}.prefix:before{content:"£";color:var(--text-muted);position:absolute;top:10px;left:11px}.repeat-row{grid-template-columns:1.4fr 1.2fr 1.2fr 1fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.repeat-row .field{margin-bottom:0}.repeat-row .btn{margin-bottom:1px}.form-footer{background:var(--surface);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin:8px -32px -28px;padding:14px 24px;display:flex;position:sticky;bottom:0}.form-footer__right{gap:8px;display:flex}details.collapsible>summary{cursor:pointer;align-items:center;gap:8px;font-size:16px;font-weight:600;list-style:none;display:flex}details.collapsible>summary:before{content:"▸";color:var(--text-faint);font-size:14px}details.collapsible[open]>summary:before{content:"▾"}details.collapsible>summary .muted{color:var(--text-muted);font-size:13px;font-weight:400}details.collapsible>.body{margin-top:16px}.events{margin:0;padding:0;list-style:none}.events li{padding:0 0 16px 18px;font-size:13px;position:relative}.events li:before{content:"";background:var(--border-strong);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:0}.events li.is-key:before{background:var(--accent)}.events li:after{content:"";background:var(--border);width:1px;position:absolute;top:16px;bottom:-2px;left:3.5px}.events li:last-child:after{display:none}.events .when{color:var(--text-faint);font-size:12px;display:block}.app--gate{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.gate{max-width:860px;margin:0 auto}.gate .page-header{flex-direction:column;align-items:flex-start;gap:4px}.doc-id{color:var(--text-muted);font-size:13px}.doc-id code{background:var(--surface-muted);border-radius:4px;padding:1px 6px}.keyterms{border-radius:var(--radius);background:#fff8e8;border:1px solid #f0d9a8;border-left:4px solid #d9950d;margin-bottom:20px;padding:18px 22px}.keyterms h2{margin-bottom:10px;font-size:15px}.keyterms ol{margin:0;padding-left:20px;font-size:14px}.keyterms li{margin-bottom:8px}.keyterms li strong{display:block}.keyterms .clause{color:var(--text-muted);white-space:nowrap;font-size:12px}.keyterms .note{color:var(--text-muted);margin-top:10px;font-size:13px}.doc-toolbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.doc-toolbar h2{font-size:15px}.doc-scroll{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);height:66vh;margin-bottom:20px;padding:32px 40px;overflow:auto}.doc-full{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 56px}.doc{color:var(--text);font-size:14px;line-height:1.55}.doc p{margin:0 0 10px}.doc>p>strong:only-child{margin-top:18px;display:block}.doc ol{margin:0 0 10px;padding-left:0;list-style:none}.doc li{padding-left:44px;position:relative}.doc li:before{content:attr(data-num);width:38px;color:var(--text-muted);position:absolute;top:0;left:0}.doc li.lvl0{margin-top:18px}.doc li.lvl0:before{color:var(--text);font-weight:600}.doc li.lvl0>p:first-child{margin-top:0}.doc li.lvl1{padding-left:44px}.doc li.lvl2{padding-left:32px}.doc li.lvl2:before{width:28px}.doc ol.cont{margin-left:44px}.doc ol.sched li{margin-top:0;padding-left:28px}.doc ol.sched li:before{width:24px;color:var(--text-muted);font-weight:400}.doc li>p{margin-bottom:8px}.doc blockquote{border:0;margin:0 0 10px 24px;padding:0}.doc table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:13px}.doc th,.doc td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px;font-weight:400}.doc thead tr:first-child th{background:var(--surface-muted);font-weight:600}.doc-record{color:var(--text-muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.doc .doc-h{margin:22px 0 10px;font-size:15px;font-weight:700}.doc p.doc-party strong{margin:0;display:inline}.doc .doc-logo{margin-bottom:16px}.doc .doc-logo mark{box-shadow:none;border-radius:6px;padding:6px 10px;display:inline-block}.doc ol[type=A]{padding-left:28px;list-style:upper-alpha}.doc ol[type=A] li,.doc ul li{padding-left:4px}.doc ol[type=A] li:before,.doc ul li:before{display:none}.doc ul{margin:0 0 10px;padding-left:24px;list-style:outside}.sig-preview{color:var(--text);border-bottom:1px solid var(--border-strong);min-height:48px;padding:10px 14px;font-family:Snell Roundhand,Brush Script MT,Segoe Script,cursive;font-size:26px}mark.merge{color:inherit;background:#e8f1ff;border-radius:3px;padding:0 3px;box-shadow:inset 0 -1px #b9d0f5}.accept-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.accept-form h2{margin-bottom:12px;font-size:16px}.accept-form .checkbox{color:var(--text);align-items:flex-start;line-height:1.4}.accept-form .checkbox input{flex:none;margin-top:3px}.accept-form__actions{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.confirm{text-align:center;max-width:640px;margin:40px auto}.confirm .tick{color:#1b6b3a;background:#e6f5ec;border-radius:50%;width:56px;height:56px;margin:0 auto 16px;font-size:28px;line-height:56px}.confirm .kv{text-align:left;max-width:520px;margin:20px auto}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px}.tile__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.tile__value{margin-top:4px;font-size:22px;font-weight:700}.tile__sub{color:var(--text-muted);font-size:12px}.tile--danger .tile__value{color:#b42318}.num{text-align:right;font-variant-numeric:tabular-nums}.table th.num{text-align:right}.table tr.is-overdue td:first-child{box-shadow:inset 3px 0 #d9463b}.invoice{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 36px;font-size:14px}.invoice__head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.invoice__head h2{letter-spacing:.02em;font-size:22px}.invoice__parties{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.invoice__parties h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:12px}.invoice__meta{grid-template-columns:max-content 1fr;gap:4px 16px;font-size:13px;display:grid}.invoice__meta dt{color:var(--text-muted)}.invoice__meta dd{margin:0}.invoice table{border-collapse:collapse;width:100%;margin:8px 0 16px}.invoice th,.invoice td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}.invoice th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px}.invoice .totals{grid-template-columns:1fr max-content;gap:6px 16px;width:280px;margin-left:auto;font-size:14px;display:grid}.invoice .totals .grand{border-top:1px solid var(--border-strong);padding-top:8px;font-size:16px;font-weight:700}.invoice__pay{border-top:1px solid var(--border);color:var(--text-muted);margin-top:24px;padding-top:16px;font-size:13px}.invoice__pay strong{color:var(--text)}.alert--success{background:#eaf7ef;border-color:#b6e0c5}.alert--success h2{color:#1b6b3a;margin-bottom:4px;font-size:14px}.alert--warn{background:#fff8e8;border-color:#f0d9a8}.alert--warn h2{color:#8a5a00;margin-bottom:4px;font-size:14px}.line-row{grid-template-columns:2.4fr .6fr 1fr .9fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.line-row .field{margin-bottom:0}.map{max-width:720px;margin:0 auto;padding:48px 16px}.map h1{margin-bottom:4px}.map>p{color:var(--text-muted);margin-bottom:32px}.map h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:28px 0 10px;font-size:13px}.map ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.map li a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.map li a:hover{border-color:var(--accent);text-decoration:none}.map li code{color:var(--text-faint);font-size:12px}.nav__sep{background:var(--border);height:1px;margin:8px 12px}.nav__note{color:var(--text-faint);margin:16px 12px 0;font-size:12px;line-height:1.4}.section-title{align-items:center;gap:8px;margin:4px 0 12px;font-size:15px;display:flex}.section-title .muted{font-size:13px;font-weight:400}.form-h{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:18px 0 10px;font-size:13px}.form-h:first-of-type{margin-top:0}.chart-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.chart{width:100%;height:auto;display:block}.chart__base{stroke:var(--border-strong);stroke-width:1px}.chart__bar{fill:var(--accent);opacity:.78}.chart__bar--latest{opacity:1}.chart__bar--draft{fill:var(--accent);opacity:.28}.chart__label{fill:var(--text-muted);font-size:11px;font-family:var(--font)}.chart__value{fill:var(--text);font-size:12px;font-weight:600;font-family:var(--font)}.chart__part--0{fill:#06185c}.chart__part--1{fill:#5b6fb3}.chart__part--2{fill:#aeb9dc}.chart__part--3{fill:#e2a64b}.chart__part--4{fill:#d9463b}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12px;display:flex}.chart-legend .swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart-legend .swatch.chart__part--0{background:#06185c}.chart-legend .swatch.chart__part--1{background:#5b6fb3}.chart-legend .swatch.chart__part--2{background:#aeb9dc}.chart-legend .swatch.chart__part--3{background:#e2a64b}.chart-legend .swatch.chart__part--4{background:#d9463b}.months{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-bottom:18px;display:grid}.month-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);flex-direction:column;align-items:center;padding:6px 4px;font-size:13px;font-weight:600;display:flex}.month-chip small{letter-spacing:.02em;text-transform:uppercase;font-size:10px;font-weight:600}.month-chip:hover{border-color:var(--accent);text-decoration:none}.month-chip--final small,.month-chip--entered small{color:#1b6b3a}.month-chip--draft small,.month-chip--part small{color:#8a5a00}.month-chip--missing small{color:#b42318}.month-chip.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--accent-soft)}.table--form td{vertical-align:middle}.table--form .input--num,.input--num{text-align:right;font-variant-numeric:tabular-nums;min-width:72px;padding:6px 8px}.table tr.total td{background:var(--surface-muted);font-weight:700}.table td.num{text-align:right}.form-footer .btn,.alert .btn{white-space:nowrap;flex:none}.table--compact td{padding:7px 0}.table--compact tr td:first-child{color:var(--text-muted)}.checks{margin:0 0 8px;padding:0;font-size:13px;list-style:none}.checks li{padding:0 0 8px 22px;position:relative}.checks li:before{font-weight:700;position:absolute;top:0;left:0}.checks li.ok:before{content:"✓";color:#1b6b3a}.checks li.warn:before{content:"!";color:#8a5a00;text-align:center;width:14px}.plain-list{color:var(--text-muted);margin:0;padding-left:18px;font-size:14px}.res-row{border-top:1px solid var(--border);gap:14px;padding:14px 0;display:flex}.res-row:first-of-type{border-top:0;padding-top:0}.res-row__n{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:12px;font-weight:700;display:flex}.res-row .grow{flex:1}.res-row .prefix{max-width:280px}.heading-block{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:12px;padding:14px 16px}.heading-block__head{justify-content:space-between;gap:12px;display:flex}.heading-block__rule{color:var(--text-faint);white-space:nowrap;font-size:12px}.return-card{border-radius:var(--radius-sm);background:#eef3fd;border:1px solid #c3d3f5;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.return-card .sub{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}details.collapsible.panel>summary{font-size:15px}details.collapsible.panel>summary .step{margin-right:4px}.stars-row{grid-template-columns:repeat(5,1fr);gap:0 14px;display:grid}@media (max-width:720px){.chart-grid,.stars-row{grid-template-columns:1fr}.months{grid-template-columns:repeat(6,minmax(0,1fr))}.nav__sep,.nav__note{display:none}}.menu-btn,.nav__user,.chart--narrow{display:none}.app>*{min-width:0}@media (max-width:720px){body{font-size:15px}.input,select.input,textarea.input{font-size:16px}.topbar{z-index:20;justify-content:flex-start;gap:10px;padding:0 12px;position:sticky;top:0}.topbar__user,.wordmark__text{display:none}.menu-btn{min-height:44px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;order:2;align-items:center;gap:8px;margin-left:auto;padding:8px 12px;font-size:14px;font-weight:600;display:inline-flex}.menu-btn__icon,.menu-btn__icon:before,.menu-btn__icon:after{background:currentColor;border-radius:1px;width:16px;height:2px;display:block;position:relative}.menu-btn__icon:before,.menu-btn__icon:after{content:"";position:absolute;left:0}.menu-btn__icon:before{top:-5px}.menu-btn__icon:after{top:5px}.is-nav-open .menu-btn__icon{background:0 0}.is-nav-open .menu-btn__icon:before{top:0;transform:rotate(45deg)}.is-nav-open .menu-btn__icon:after{top:0;transform:rotate(-45deg)}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-h) auto 1fr;grid-template-areas:"topbar""nav""main"}.nav{border-right:0;border-bottom:1px solid var(--border);top:var(--topbar-h);z-index:19;max-height:calc(100vh - var(--topbar-h));padding:8px 12px 16px;display:none;position:sticky;overflow-y:auto;box-shadow:0 8px 16px #10182814}.is-nav-open .nav,.nav ul{display:block}.nav a{padding:12px;font-size:16px}.nav__note{display:none}.nav__user{border-top:1px solid var(--border);gap:2px;margin:12px 12px 0;padding-top:14px;font-size:14px;display:grid}.nav__user span{color:var(--text-muted);font-size:13px}.nav .nav__user a{color:var(--text-muted);margin-top:8px;padding:0;font-size:14px}.nav__sep{display:block}.main{padding:18px 14px 24px}h1{font-size:20px}.page-header{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:18px}.page-header__actions{width:100%}.page-header__actions .btn{flex:1}.page-sub{font-size:13px;line-height:1.6}.panel{border-radius:var(--radius);padding:16px}.panel__header{flex-wrap:wrap}.alert{padding:12px 14px;display:block!important}.alert .btn{width:100%;margin-top:10px;display:flex}.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{padding:12px 14px}.tile__value{font-size:19px}.kv{grid-template-columns:1fr;gap:0}.kv dt{margin-top:10px;font-size:12px}.kv dt:first-child{margin-top:0}.table-wrap{background:0 0;border:0;overflow:visible}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td{width:100%;display:block}.table--stack thead{display:none}.table--stack tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:10px 14px}.table--stack td{text-align:right;border:0;padding:7px 0;display:block;overflow:hidden}.table--stack td:before{content:attr(data-label);float:left;text-align:left;letter-spacing:.03em;text-transform:uppercase;max-width:48%;color:var(--text-muted);margin-right:12px;font-size:12px;font-weight:600;line-height:1.6}.table--stack td:first-child{text-align:left;border-bottom:1px solid var(--border);margin-bottom:4px;padding:2px 0 8px;display:block}.table--stack td:first-child:before,.table--stack td:empty{display:none}.table--stack td .sub{text-align:inherit}.table--stack td.num{text-align:right}.table--stack tr.total{background:var(--surface-muted)}.table--stack .input--num{width:120px;min-width:0;display:inline-block}.table--stack td .sub{display:block}.table--stack td>select.input,.table--stack td>textarea.input{width:60%}.table tr.is-overdue td:first-child{box-shadow:none}.table--compact td{padding:8px 0}.months{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;margin:0 -14px 16px;padding:2px 14px 6px;display:flex;overflow-x:auto}.month-chip{scroll-snap-align:center;flex:0 0 76px;padding:8px 4px}.chart-grid{grid-template-columns:1fr}.chart--wide{display:none}.chart--narrow{display:block}.chart__label{font-size:12px}.chart__value{font-size:13px}.grid-2,.grid-3,.two-col{grid-template-columns:1fr}.stars-row{grid-template-columns:repeat(3,1fr);gap:0 10px}.res-row .prefix{max-width:none}.heading-block__head{flex-direction:column;gap:2px}.file{flex-wrap:wrap}.file select.input{width:100%!important}.return-card{flex-direction:column;align-items:stretch}.filters{flex-direction:column}.filters .input,.filters select.input{max-width:none}details.collapsible.panel>summary{flex-wrap:wrap}.form-footer{flex-direction:column;align-items:stretch;gap:10px;margin:16px -14px -24px;padding:12px 14px}.form-footer>.muted{font-size:12px!important}.form-footer__right{flex-wrap:wrap;width:100%}.form-footer__right .btn{flex:1;padding:12px}.btn,.btn--sm{min-height:44px}.login-card{padding:24px}.repeat-row{grid-template-columns:1fr}.span-2{grid-column:auto}.doc-scroll{padding:20px}.doc-full{padding:24px 20px}.checkbox,input.input,select.input{min-height:44px}.app--gate{grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"topbar""main"}.app--gate .topbar{justify-content:space-between}.app--gate .topbar__user{display:flex}.app--gate .topbar__name{display:none}}.tabs{border-bottom:1px solid var(--border);gap:2px;margin:-6px 0 20px;display:flex;overflow-x:auto}.tabs__tab{color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:10px 14px;font-size:14px;font-weight:600}.tabs__tab:hover{color:var(--text);text-decoration:none}.tabs__tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.switch{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch:before{content:"";background:var(--border-strong);width:34px;height:20px;box-shadow:inset -14px 0 0 2px var(--border-strong), inset 0 0 0 2px var(--border-strong);background:#fff;border-radius:999px;flex:none}.switch.is-on{color:var(--accent)}.switch.is-on:before{box-shadow:inset 14px 0 0 2px var(--accent), inset 0 0 0 2px var(--accent);background:#fff}.switch.is-locked{cursor:default;opacity:.7}.tile--link{color:inherit;display:block}.tile--link:hover{border-color:var(--accent);text-decoration:none}.inline-filters{align-items:center;gap:8px;font-size:13px;display:flex}.inline-filters .input{width:auto;padding:6px 10px}.change-box{border:1px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-soft);margin-top:14px;padding:14px 16px}.close-panel{border-color:var(--accent)}.radio-stack{gap:4px;margin-bottom:12px;display:grid}.radio-stack .checkbox{margin:0}.evidence{background:var(--surface-muted);border-radius:var(--radius-sm);margin:10px 0 12px;padding:10px 12px;font-size:13px}.evidence__label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.drill{margin-top:6px;font-size:13px}.drill summary{color:var(--accent);cursor:pointer;font-weight:600}.drill .table{margin-top:6px}.text-danger{color:#b42318}.collapsed-section h2{margin:0 0 4px;font-size:15px}.collapsed-section p{margin:0}details.collapsible.panel>summary{align-items:center;gap:4px;display:flex}@media (max-width:720px){.tabs{margin:0 -14px 16px;padding:0 14px}.inline-filters{width:100%}.inline-filters .input{flex:1}}.field-error{color:#b42318;margin:4px 0 0;font-size:13px}.doc-full{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:32px 40px}mark.merge.placeholder{background:var(--accent-soft);color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.confirm-dialog{border-radius:var(--radius);border:1px solid #f5c2c0;border-top:4px solid #b42318;width:calc(100% - 32px);max-width:440px;padding:20px 24px;box-shadow:0 12px 32px #0000002e}.confirm-dialog::backdrop{background:#11182773}.confirm-dialog h2{color:#b42318;margin-bottom:8px;font-size:18px}.confirm-dialog__body{margin-bottom:16px;font-size:14px}.confirm-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:hover{text-decoration:none}
