.d2b-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center}.d2b-actions select{max-width:190px;padding:6px 10px;font-size:13px}.d2b-actions button.ghost{padding:5px 10px;font-size:12.5px}.d2b-narration{max-width:380px;word-break:break-word}.d2b-small{font-size:12px}.d2b-hint{color:var(--info);font-size:12px}.d2b-inline{flex-direction:row;align-items:center;gap:6px}.d2b-subrow td{background:var(--surface-2)}.d2b-suggestion{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--row-divider);font-size:13px}.d2b-suggestion:last-child{border-bottom:none}.badge.reversed{background:var(--warn-bg);color:var(--warn)}.badge.partial{background:var(--gold-warn-bg);color:var(--gold-warn)}.badge.locked{background:var(--neutral-bg);color:var(--neutral)}.jl-line{display:grid;grid-template-columns:minmax(180px,3fr) minmax(150px,2fr) 1fr 1fr auto;gap:8px;margin-bottom:6px;align-items:center}.jl-line .jl-contact-empty{color:var(--faint);font-size:12px}.jl-reverse{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:6px}.jl-reverse input[type=date]{width:150px}.jl-note{font-size:12px;color:var(--muted)}.im-tabs{display:flex;gap:8px;margin-bottom:16px}.im-errors td{vertical-align:top}.im-errors td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}.im-help{font-size:12.5px;color:var(--text-2);margin:6px 0 12px}.im-help code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 5px}.ob-grid input[type=number]{width:140px;text-align:right}.ob-totals{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-variant-numeric:tabular-nums;margin:12px 0}:root{--navy-rail: #0C1930;--navy: #10203A;--navy-mid: #22406E;--navy-soft: #EAF0F8;--gold: #C79A4F;--gold-bright: #E2B86A;--gold-tint: rgba(226, 184, 106, .16);--cream: #F7F4EC;--bg: #F6F8FB;--surface: #FFFFFF;--panel: #FBFCFE;--surface-2: #FAFBFD;--field-bg-disabled: #F6F8FB;--border: #E7EBF2;--border-input: #DFE5EE;--row-divider: #EFF2F7;--text: #16223A;--text-2: #4A5872;--muted: #7A8699;--faint: #97A2B6;--ok: #1D8A5F;--ok-bg: #E6F4EC;--warn: #B07A16;--warn-bg: #FBF0D9;--gold-warn: #9A7426;--gold-warn-bg: #F9F1DF;--danger: #C0392B;--danger-bg: #FBE9E7;--info: #2A6FB0;--info-bg: #E6F0F9;--neutral: #64748B;--neutral-bg: #EFF2F7;--accent: #10203A;--accent-hover: #1C3157;--accent-soft: #EAF0F8;--on-accent: #FFFFFF;--gold-soft: rgba(226, 184, 106, .16);--r-sm: 9px;--r-md: 14px;--r-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 32, 58, .04);--shadow-lg: 0 40px 90px -20px rgba(12, 25, 48, .55);--serif: "Source Serif 4", Georgia, serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Public Sans,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{font-family:var(--serif);color:var(--text);letter-spacing:-.01em}h1{font-size:22px;font-weight:600;margin:0 0 14px}h2{font-size:16px;font-weight:600;margin:18px 0 10px}h3{font-size:15px;font-weight:600;margin:14px 0 8px}strong{font-weight:600}a{color:var(--navy-mid);text-decoration:none}a:hover{color:var(--navy)}.shell{display:flex;min-height:100vh}.rail{width:72px;flex-shrink:0;background:var(--navy-rail);display:flex;flex-direction:column;align-items:center;padding:18px 0 16px;gap:6px;position:sticky;top:0;height:100vh}.rail .logo-tile{width:40px;height:40px;border-radius:11px;background:var(--cream);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.rail .logo-tile img{width:27px;height:27px;object-fit:contain}.rail button.rail-btn{width:44px;height:44px;border-radius:12px;border:none;background:none;color:#ffffff8c;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.rail button.rail-btn:hover{color:#ffffffd9}.rail button.rail-btn.active{background:var(--gold-tint);color:var(--gold-bright)}.rail button.rail-btn.active:before{content:"";position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}.rail .rail-badge{position:absolute;top:6px;right:6px;min-width:16px;height:16px;border-radius:99px;background:var(--gold);color:var(--navy);font-size:9.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.rail .rail-spacer{flex:1}.rail .rail-avatar{width:34px;height:34px;border-radius:50%;background:#e2b86a33;color:var(--gold-bright);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;margin-top:4px;border:none;cursor:pointer}.context-panel{width:236px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 14px 18px;position:sticky;top:0;height:100vh;overflow-y:auto}.context-panel .wordmark{display:flex;align-items:baseline;gap:8px;padding:0 8px 16px}.context-panel .wordmark strong{font-family:var(--serif);font-weight:700;font-size:20px;color:var(--text)}.context-panel .wordmark strong i{font-style:normal;color:var(--gold)}.context-panel .wordmark small{font-size:11px;color:var(--muted)}.panel-label{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--faint);padding:0 10px 7px;text-transform:uppercase}.panel-item+.panel-label{padding-top:20px}.panel-item{display:flex;align-items:center;gap:10px;color:var(--text-2);padding:8px 10px;border-radius:9px;font-size:13.5px;font-weight:500;position:relative;text-decoration:none}.panel-item:hover{background:#f1f4f9;color:var(--text)}.panel-item.active{background:#eef2f9;color:var(--navy);font-weight:600}.panel-item.active:before{content:"";position:absolute;left:-14px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}.panel-item .count{margin-left:auto;font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px;background:var(--neutral-bg);color:var(--neutral)}.panel-item .plus-tile{width:22px;height:22px;border-radius:7px;background:var(--surface);border:1px solid var(--border-input);color:var(--text-2);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.panel-item.primary-create .plus-tile{background:var(--navy);border:none;color:#fff}.panel-card{margin-top:auto;background:var(--navy);border-radius:13px;padding:14px 15px;color:#fff}.panel-card .label{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:#ffffff80;margin-bottom:6px;text-transform:uppercase}.panel-card .title{font-size:14px;font-weight:600}.panel-card .meta{font-size:12px;color:#ffffffa6;margin-top:2px}.panel-card .meta b{color:var(--gold-bright);font-weight:700}.content{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:14px;padding:13px 36px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.topbar-title{margin:0;font-family:inherit;font-size:14.5px;font-weight:600}.chip{font-size:12px;font-weight:600;color:var(--text-2);background:#eff3f9;border:1px solid var(--border);border-radius:99px;padding:3px 11px;white-space:nowrap}.command-pill{margin-left:auto;display:flex;align-items:center;gap:9px;color:var(--muted);background:#f3f5fa;border:1px solid var(--border);border-radius:10px;padding:8px 13px;width:clamp(220px,32vw,420px);font-size:13.5px;cursor:pointer;font-family:inherit;transition:border-color .12s ease,background .12s ease}.command-pill:hover{border-color:var(--navy-mid);background:var(--surface);color:var(--text-2)}.command-pill span:not(.kbd){flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-pill .kbd{flex:0 0 auto}.kbd{font-size:11px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border-input);border-radius:6px;padding:1px 7px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold-bright);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex-shrink:0}.avatar-wrap{position:relative}.avatar-wrap>button{background:none;border:none;padding:0;cursor:pointer}.menu{position:absolute;right:0;top:42px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;min-width:210px;z-index:60}.menu button{display:flex;align-items:center;gap:9px;width:100%;background:none;border:none;padding:9px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:13.5px;color:var(--text-2);text-align:left}.menu button:hover{background:#f1f4f9;color:var(--text)}.main{flex:1;padding:26px 36px 44px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:20px 24px;box-shadow:var(--shadow-sm);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.action-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.action-card.gold{border-left:4px solid var(--gold)}.action-card.blue{border-left:4px solid var(--info)}.action-card.red{border-left:4px solid var(--danger)}.action-card .ac-head{display:flex;align-items:center;justify-content:space-between}.action-card .ac-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.action-card.gold .ac-label{color:var(--warn)}.action-card.blue .ac-label{color:var(--info)}.action-card.red .ac-label{color:var(--danger)}.action-card .ac-meta{font-size:11.5px;color:var(--muted)}.action-card .ac-figure{font-family:var(--serif);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.action-card p{margin:0;font-size:13px;color:var(--text-2)}.action-card button{align-self:flex-start;margin-top:6px}.stat-strip{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 8px;margin-bottom:18px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.stat-strip .cell{flex:1 1 150px;padding:2px 22px;border-right:1px solid var(--row-divider)}.stat-strip .cell:last-child{border-right:none}.stat-strip .cell small{display:block;color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-weight:700}.stat-strip .cell strong{font-family:var(--serif);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.stat-strip .cell.warn strong{color:var(--warn)}.stat-strip .cell.bad strong{color:var(--danger)}.filter-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filter-pills button{background:var(--surface);border:1px solid var(--border);color:var(--text-2);border-radius:99px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit}.filter-pills button.active{background:var(--navy);border-color:var(--navy);color:#fff}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;font-size:13.5px;box-shadow:var(--shadow-sm)}thead th{background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:10px 16px;border-bottom:1px solid var(--border)}tbody td{padding:12px 16px;border-bottom:1px solid var(--row-divider);vertical-align:middle;font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafbfe}th.num,td.num{text-align:right}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 11px;border-radius:99px;background:var(--navy-soft);color:var(--navy-mid);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.posted{background:var(--ok-bg);color:var(--ok)}.badge.draft{background:var(--neutral-bg);color:var(--neutral)}.badge.void{background:var(--danger-bg);color:var(--danger)}.status-draft,.status-due,.status-overdue,.status-paid{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 11px;border-radius:99px;white-space:nowrap}.status-draft:before,.status-due:before,.status-overdue:before,.status-paid:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-draft{background:var(--neutral-bg);color:var(--neutral)}.status-due{background:var(--warn-bg);color:var(--warn)}.status-overdue{background:var(--danger-bg);color:var(--danger)}.status-paid{background:var(--ok-bg);color:var(--ok)}button.primary{background:var(--navy);color:#fff;border:none;padding:9px 16px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}button.primary:hover{background:#1c3157}button.primary:disabled{opacity:.55;cursor:default}button.ghost{background:var(--surface);border:1px solid var(--border-input);color:var(--text);padding:7px 13px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit}button.ghost:hover{border-color:var(--navy-mid);color:var(--navy-mid)}button.gold-cta{background:var(--gold);color:var(--navy);border:none;font-weight:700;padding:9px 16px;border-radius:10px;cursor:pointer;font-size:13.5px;font-family:inherit}label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--text-2);min-width:0}input,select,textarea{font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:10px;padding:9px 13px;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border:1.5px solid var(--navy-mid);box-shadow:0 0 0 3px #22406e1a}input:disabled,select:disabled{background:var(--field-bg-disabled);color:var(--muted)}input::placeholder,textarea::placeholder{color:var(--faint)}.form-row{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;margin-bottom:13px;max-width:760px}.form-row>span{color:var(--text-2);font-size:12.5px;font-weight:600}.form-row .req{color:var(--danger)}.radio-row{display:flex;gap:18px;align-items:center}.radio-row label{flex-direction:row;align-items:center;gap:7px;font-size:13.5px;color:var(--text);font-weight:400}.section-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:20px 0 16px}.section-tabs button{background:none;border:none;padding:9px 16px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-1px;font-weight:500}.section-tabs button.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:600}.note-success{background:#f3f7f1;border:1px solid #DDEBD9}.note-info{background:#f5f8fc;border:1px solid #DCE6F2}.note-warn{background:var(--gold-warn-bg);border:1px solid #EFE0BD}.note-success,.note-info,.note-warn{border-radius:11px;padding:10px 13px;font-size:12px;color:var(--text-2);margin:10px 0}.error{color:var(--danger);background:var(--danger-bg);border:1px solid #F2D2CC;padding:9px 13px;border-radius:10px;margin:10px 0;font-size:13px}.ok{color:var(--ok);font-size:13px;margin:8px 0;font-weight:600}.muted{color:var(--muted);font-size:13.5px}.row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}td.row-actions{display:table-cell;text-align:right;white-space:nowrap}td.row-actions button+button{margin-left:6px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.split{display:grid;grid-template-columns:292px 1fr;gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface);min-height:70vh;box-shadow:var(--shadow-sm)}.split-rail{border-right:1px solid var(--border);overflow-y:auto;max-height:80vh;background:var(--panel)}.split-rail .rail-row{display:block;padding:12px 16px;border-bottom:1px solid var(--row-divider);cursor:pointer;text-decoration:none;color:var(--text);position:relative}.split-rail .rail-row:hover{background:#f1f4f9}.split-rail .rail-row.active{background:#eef2f9}.split-rail .rail-row.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}.split-rail .rail-row strong{display:block;font-size:13.5px;font-weight:600}.split-rail .rail-row small{color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}.split-main{padding:20px 24px;overflow-y:auto;max-height:80vh}.split-main h2.contact-title{margin:0 0 4px;font-size:20px}.profile-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:4px}.tile.lg{width:40px;height:40px;border-radius:11px;font-size:15px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:14px 0}.info-block{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.info-block h4{margin:0 0 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);font-family:inherit;font-weight:700}.info-block .kv{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 0;font-variant-numeric:tabular-nums}.info-block .kv span:first-child{color:var(--text-2)}.accordion{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;background:var(--surface)}.accordion>.acc-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;font-weight:600;font-size:14px}.accordion>.acc-head:hover{background:#f7f9fc}.accordion .acc-body{border-top:1px solid var(--border);padding:8px 16px 14px}.empty-state{text-align:center;padding:56px 20px}.empty-state h2{font-size:20px;margin-bottom:8px}.empty-state p{color:var(--muted);margin-bottom:18px}.bar-chart{display:flex;align-items:flex-end;gap:10px;height:120px;padding:10px 4px 0}.bar-chart .bar{flex:1;background:var(--row-divider);border-radius:4px 4px 0 0;position:relative;min-height:2px}.bar-chart .bar>i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--navy-mid);border-radius:4px 4px 0 0;opacity:.85}.bar-chart .bar small{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;font-size:10.5px;color:var(--muted);white-space:nowrap}.totals-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px 18px;min-width:320px}.totals-card .trow{display:flex;justify-content:space-between;padding:5px 0;font-size:13.5px;font-variant-numeric:tabular-nums}.totals-card .trow.total{border-top:1px solid var(--border-input);margin-top:6px;padding-top:10px;font-weight:600;font-size:17px;font-family:var(--serif)}.stmt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c193057;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:20px 24px;width:min(680px,100%);max-height:85vh;overflow-y:auto}.slideover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c193057;z-index:80;display:flex;justify-content:flex-end}.slideover{background:var(--surface);width:min(560px,94vw);height:100%;overflow-y:auto;padding:20px 24px;border-left:1px solid var(--border);box-shadow:-24px 0 60px -20px #0c193073}.qi-line{display:flex;gap:8px;margin-bottom:8px;align-items:center}.qi-line input:first-child{flex:1}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c193057;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding-top:11vh}.palette{width:min(680px,92vw);background:var(--surface);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.palette .pal-input{display:flex;align-items:center;gap:10px;padding:15px 18px;border-bottom:1px solid var(--border)}.palette .pal-input input{flex:1;border:none;box-shadow:none;font-size:15px;padding:0}.palette .pal-input input:focus{border:none;box-shadow:none}.palette .pal-body{max-height:54vh;overflow-y:auto;padding:10px 10px 6px}.palette .pal-section{font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--faint);padding:10px 10px 5px;text-transform:uppercase}.palette .pal-item{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;cursor:pointer;font-size:13.5px;color:var(--text)}.palette .pal-item:hover{background:#eef2f9}.palette .pal-item .meta{color:var(--muted);font-size:12px;margin-left:auto}.palette .copilot-card{margin:4px 10px 8px;background:var(--gold-warn-bg);border:1px solid #EFE0BD;border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--text-2)}.palette .pal-foot{border-top:1px solid var(--border);padding:9px 18px;font-size:11.5px;color:var(--faint)}.tile{width:26px;height:26px;border-radius:8px;background:var(--navy-soft);color:var(--navy-mid);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.auth-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(900px 420px at 85% -10%,var(--gold-tint) 0%,transparent 60%),radial-gradient(800px 500px at -10% 110%,var(--navy-soft) 0%,transparent 55%),var(--bg)}.auth-card{width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 16px 40px -12px #10203a40}.auth-card h1{text-align:center}.auth-card h1:after{content:".";color:var(--gold)}.auth-card form{display:flex;flex-direction:column;gap:13px}@media (prefers-reduced-motion: no-preference){.palette,.modal{animation:rise .22s cubic-bezier(.22,.61,.36,1)}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.slideover{animation:slide-in .22s cubic-bezier(.22,.61,.36,1)}@keyframes slide-in{0%{opacity:0;transform:translate(9px)}to{opacity:1;transform:none}}}
