:root{--ui:#edf1fa;--line:#11182729;--gutter:max(24px, calc((100vw - 1080px) / 2));--btn-radius:8px;--btn-tint:#1118270d;--btn-tint-strong:#11182717;--ring-brand:#13407452;--ring-neutral:#1118271f;--ring-danger:#9f123947;--text:#111827;--muted:#64748b;--border:0;--border-soft:var(--line);--surface:var(--ui);--panel:var(--ui);--panel-strong:var(--ui);--accent:#134074;--accent-strong:#13315c;--success:#0b6b3a;--warn:#9a3412;--danger:#9f1239;--shadow:none;--sidebar-w:220px}*{box-sizing:border-box}html{background:var(--ui);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:var(--ui);color:var(--text);margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--ui);min-height:100vh;display:grid}.app-shell.assisted-shell{display:block}.assisted-shell .app-content{min-height:100vh}.assisted-shell .app-header{padding-inline:var(--gutter)}.app-sidebar{border-right:1px solid var(--line);background:var(--ui);z-index:20;flex-direction:column;gap:24px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{align-items:center;gap:10px;padding:3px 7px 15px;display:flex}.app-brand-mark{flex-shrink:0;width:48px;height:48px;display:block}.app-header-brand{align-items:center;gap:10px;display:flex}.app-header-logo{flex-shrink:0;width:42px;height:42px;display:block}.app-brand strong{color:var(--accent-strong);font-family:Rubik,sans-serif;font-size:13px;line-height:1.15;display:block}.app-brand small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:700;display:block}.app-nav{gap:4px;display:grid}.app-nav-label{color:var(--accent-strong);text-transform:uppercase;margin:0 10px 4px;font-family:Rubik,sans-serif;font-size:10px;font-weight:700}.app-nav a{color:var(--text);border:0;border-radius:0;padding:8px 10px;font-size:13px;font-weight:700;text-decoration:none}.app-nav a:hover{color:var(--accent-strong)}.app-nav a.active{background:var(--ui);color:var(--accent-strong);text-underline-offset:4px;font-weight:800;text-decoration:underline}.app-subnav{gap:1px;margin:-1px 0 7px 12px;padding-left:12px;display:grid}.app-subnav a{color:var(--muted);border:0;border-radius:0;padding:5px 8px;font-size:11px;font-weight:700}.app-subnav a:hover{background:0 0;border:0}.app-subnav a.active{color:var(--accent-strong);background:0 0;border:0}.app-subnav-disabled span{color:var(--muted);cursor:not-allowed;opacity:.55;padding:5px 8px;font-size:11px;font-weight:700}.app-nav-disabled{color:var(--muted);opacity:.55;cursor:not-allowed;padding:8px 10px;font-size:13px;font-weight:700}.app-sidebar-footer{color:var(--muted);margin-top:auto;padding:12px 10px 0;font-size:10px;font-weight:700}.app-content{min-width:0}.app-header{z-index:15;border-bottom:1px solid var(--line);background:var(--ui);justify-content:space-between;align-items:center;gap:24px;padding:14px 24px;display:flex;position:sticky;top:0}.app-header strong{color:var(--accent-strong);font-family:Rubik,sans-serif;font-size:13px;display:block}.app-header span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600;display:block}.mode-switcher{border:0;grid-template-columns:1fr 1fr;display:inline-grid}.mode-switcher a{min-width:112px;color:var(--muted);text-align:center;padding:7px 12px;font-size:11px;font-weight:800;text-decoration:none}.mode-switcher a:hover{background:var(--ui);color:var(--accent-strong)}.mode-switcher a.active{background:var(--ui);color:var(--accent-strong);text-underline-offset:5px;font-weight:800;text-decoration:underline}.session-picker{flex-shrink:0;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;min-width:0;max-width:100%;padding:0 7px 14px;display:grid;overflow:hidden}.session-picker label{width:100%;color:var(--accent-strong);text-transform:uppercase;letter-spacing:.06em;grid-area:1/1;margin:0;font-family:Rubik,sans-serif;font-size:10px;font-weight:700;line-height:1.2;display:block}.session-picker-control{grid-area:2/1;align-items:center;width:100%;min-width:0;max-width:100%;display:flex;position:relative;overflow:hidden}.session-picker-control>span{z-index:1;color:var(--success);pointer-events:none;font-size:7px;position:absolute;left:10px}.session-picker-control select{background:var(--ui);width:100%;min-width:0;max-width:100%;height:38px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:0;padding:6px 26px 6px 23px;font-weight:700;display:block;overflow:hidden}.session-picker-control select:has(option[value=""]:checked){color:var(--muted)}.session-picker-control:has(select option[value=""]:checked)>span{color:var(--muted)}.session-owner{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;display:block;overflow:hidden}.session-share{margin-top:16px}.session-share-form label{color:var(--accent-strong);margin-bottom:6px;font-size:11px;font-weight:800;display:block}.session-share-form>div{gap:6px;display:flex}.session-share-form input{flex:1;min-width:0}.session-share-form button{flex:none}.session-share-result{margin:6px 0 0;font-size:11px}.session-share-result.success{color:var(--success)}.session-share-result.error{color:var(--danger)}.session-share-compact{flex-shrink:0;margin:-9px 7px 0;padding-bottom:14px}.session-share-compact .session-share-form>div{display:grid}.session-share-compact .session-share-form button,.session-share-button{width:100%}.modal-backdrop{z-index:100;background:#10182861;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-dialog{border:1px solid var(--line);background:var(--ui);width:min(520px,100%);max-height:calc(100vh - 40px);padding:22px;overflow-y:auto}.modal-dialog h2{margin-top:0}.modal-dialog .session-share-form{gap:8px;display:grid}.modal-dialog .session-share-form select,.modal-dialog .session-share-form input{width:100%}.modal-dialog .button-row{flex-wrap:wrap;align-items:end;margin-top:8px;display:flex}.catalogue-allocation-list{gap:16px;display:grid}.catalogue-allocation-card{border-top:1px solid var(--line);padding:16px 0}.catalogue-allocation-card header{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.catalogue-allocation-form{align-items:end;gap:8px;max-width:620px;display:flex}.catalogue-allocation-form label{flex:1}.catalogue-allocation-form input{width:100%}.inline-form{align-items:center;gap:8px;margin:0;display:flex}.inline-form select{min-width:110px}.admin-page section{margin-top:28px}.admin-page td{vertical-align:top}.admin-shell{background:var(--canvas);min-height:100vh}.admin-header{z-index:20;border-bottom:1px solid var(--line);background:var(--ui);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:8px clamp(18px,4vw,54px);display:flex;position:sticky;top:0}.admin-header nav,.admin-header nav form{align-items:center;gap:12px;margin:0;display:flex}.admin-brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.admin-brand span{display:grid}.admin-brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.admin-page{width:min(1500px,100%);margin:0 auto;padding:34px clamp(18px,4vw,54px) 80px}.admin-section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:12px;display:flex}.admin-section-heading h2,.admin-section-heading p{margin-bottom:4px}.admin-section-heading label{width:min(340px,100%);color:var(--muted);font-size:11px;font-weight:800}.admin-section-heading input{width:100%;margin-top:5px}.admin-permission-owner{border-left:3px solid var(--accent);background:var(--ui);padding:16px 18px}.admin-permission-list{border-top:1px solid var(--line);display:grid}.admin-permission-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:11px 0;display:flex}.admin-permission-list article>div{min-width:0;display:grid}.admin-permission-list small{overflow-wrap:anywhere;color:var(--muted)}.admin-permission-list form{flex:none;margin:0}.admin-permission-list .permission-on{border-color:var(--success);color:var(--success)}.admin-permission-list .permission-off{color:var(--accent)}.admin-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:11px;display:flex}.admin-empty{padding:14px 0}.catalogue-grants{gap:7px;padding:0;list-style:none;display:grid}.catalogue-grants li{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-content>main{width:100%;max-width:1240px!important;margin:0 auto!important;padding:26px 24px 72px!important;font-family:inherit!important}.app-content>main>nav{color:var(--muted);margin-bottom:18px;font-size:12px;font-weight:700}.app-content>main>nav a{color:var(--accent);text-decoration:none}h1,h2,h3,h4,legend{color:var(--text);font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1{margin:0 0 8px;font-size:24px;line-height:1.18}h2{margin:0 0 12px;font-size:18px;line-height:1.25}h3{margin:18px 0 10px;font-size:14px;line-height:1.3}h4{color:var(--accent-strong);margin:16px 0 8px;font-size:12px}p{color:var(--muted);margin:8px 0 12px;font-size:13px}a{color:var(--accent);font-weight:700}code{color:var(--accent-strong);font-size:.9em}section{border:0;border-top:1px solid var(--line);background:var(--ui);border-radius:0;margin:0;padding:20px 0}section>section{background:var(--ui);padding-bottom:0}[data-source-view-page] [data-source-section]{display:none}[data-source-view-page=overview] [data-source-section=overview],[data-source-view-page=objects] [data-source-section=objects],[data-source-view-page=uploads] [data-source-section=uploads],[data-source-view-page=mapping] [data-source-section=mapping],[data-source-view-page=fields] [data-source-section=fields]{display:block}.readiness-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.readiness-list li{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.readiness-list li:last-child{border-bottom:0}.readiness-mark{width:18px;height:18px;color:var(--muted);border:0;place-items:center;font-size:10px;font-weight:800;display:grid}.readiness-mark.complete{background:var(--ui);color:var(--success)}.readiness-status{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.readiness-status.complete{color:var(--success)}article{background:var(--ui)!important;border-radius:0!important}form{font-size:13px}label{color:#344054;font-size:12px;font-weight:700}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--ui);max-width:100%;min-height:34px;color:var(--text);border:0;border-radius:0;outline:none;padding:6px 2px;font-size:12px}input[type=file]{padding:5px}input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--ui);min-height:30px;color:var(--text);font:inherit;cursor:pointer;margin:-2px 10px -2px -2px;padding:6px 12px;font-size:12px;font-weight:500}input[type=file]::file-selector-button:hover{background:var(--btn-tint);color:var(--accent-strong)}input[type=checkbox],input[type=radio]{accent-color:var(--accent);margin-right:7px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}button,.button-link{border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--ui);min-height:38px;color:var(--text);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:14px;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .12s,color .12s;display:inline-flex}button:hover:not(:disabled),.button-link:hover{background:var(--btn-tint);color:var(--accent-strong)}button:focus-visible,.button-link:focus-visible{outline:4px solid var(--ring-neutral);outline-offset:0}button:disabled{background:var(--btn-tint);color:var(--muted);cursor:not-allowed;opacity:1}button.primary{background:var(--accent);color:#fff;border-color:#0000}button.primary:hover:not(:disabled){background:var(--accent-strong);color:#fff}button.primary:focus-visible{outline-color:var(--ring-brand)}button.primary:disabled{border-color:var(--line);background:var(--btn-tint);color:var(--muted)}button.ghost,.button-link.ghost{border-color:var(--accent);color:var(--accent);background:0 0}.button-link.ghost:hover,button.ghost:hover:not(:disabled){background:var(--accent);color:#fff}button.ghost:focus-visible{outline-color:var(--ring-brand)}button.ghost.active{background:var(--accent);color:#fff}button.ghost:disabled{border-color:var(--line);background:var(--btn-tint);color:var(--muted)}button.subtle{color:var(--muted);background:0 0;border-color:#0000}button.subtle:hover:not(:disabled){background:var(--btn-tint);color:var(--accent-strong)}button.subtle:disabled{color:var(--muted);background:0 0}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.danger:hover:not(:disabled){background:var(--danger);color:#fff}button.danger:focus-visible{outline-color:var(--ring-danger)}.assisted-bar-actions button,.report-card-actions button,.report-card-actions .button-link,.report-view-actions .button-link,.jump-latest,.inline-confirm button{min-height:32px;padding:6px 12px;font-size:12px}.upload-form-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:18px 0 20px;display:grid}.upload-form label{min-width:0;color:var(--accent-strong);align-content:start;gap:7px;display:grid}.upload-form input,.upload-form select{width:100%;min-height:40px}.upload-form-actions{justify-content:flex-end;padding-top:14px;display:flex}.upload-form-actions button{white-space:nowrap;width:190px}fieldset{background:var(--ui);border:0;border-radius:0;margin:14px 0;padding:12px 0}legend{padding:0 7px;font-size:13px;font-weight:700}table{border-spacing:0;background:var(--ui);border:0;border-radius:0;width:100%;min-width:680px;font-size:12px;overflow:hidden;border-collapse:separate!important}.table-scroll{overscroll-behavior-inline:contain;width:100%;max-width:100%;overflow-x:auto}.table-scroll:focus{outline:2px solid var(--accent);outline-offset:2px}.table-scroll table{width:max-content;min-width:100%}th,td{text-align:left;vertical-align:middle;background:var(--ui);padding:9px 10px}th{background:var(--ui);color:#344054;font-family:Rubik,sans-serif;font-size:11px;font-weight:700}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--ui)}td form{margin:0}ul{color:var(--muted);font-size:13px}[role=alert]{background:var(--ui);color:var(--danger);border:0;border-radius:0;padding:8px 0;font-weight:700}pre{border:0;border-radius:0;background:var(--ui)!important;color:var(--text)!important}pre code{color:inherit}.section-heading-actions{justify-content:space-between;align-items:end;gap:24px;display:flex}.module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.module-grid article{border:0;padding:16px 0}.status-badge{text-transform:uppercase;letter-spacing:.08em;border:0;padding:3px 0;font-size:11px;font-weight:800;display:inline-block}.status-ready{color:#16734a}.status-draft{color:#856404}.status-invalid{color:#a12622}.module-authoring{max-width:1100px;margin:0 auto;padding:2rem}.module-authoring section{margin-top:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;display:grid}.form-grid label,.module-authoring>form>section>label{color:var(--accent);gap:6px;font-size:12px;font-weight:800;display:grid}.contract-row{margin:14px 0;padding:16px 0}.contract-row>button{margin:14px 0 0 auto;display:block}.calculation-editor{box-sizing:border-box;resize:vertical;background:var(--ui);width:100%;color:var(--text);tab-size:2;border:0;border-radius:0;padding:16px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.report-editor{white-space:pre;min-height:34rem}.authoring-form{gap:1rem;display:grid}.authoring-form label{gap:.35rem;display:grid}.authoring-form input,.authoring-form textarea,.authoring-form select{box-sizing:border-box;width:100%}.scope-picker{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.scope-picker label{grid-template-columns:auto 1fr;align-items:center;display:flex}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.contract-list{grid-template-columns:minmax(120px,180px) 1fr;gap:.5rem 1rem;display:grid}.contract-list dt{font-weight:700}.contract-list dd{margin:0}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 18px;margin:12px 0;display:grid}.choice-grid label{align-items:center;gap:8px;display:flex}.form-actions{justify-content:flex-end;margin-top:24px;padding-top:16px;display:flex}.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}.app-content>main.assisted-page{flex-direction:column;gap:0;width:100%;height:calc(100vh - 58px);display:flex;overflow:hidden;max-width:none!important;margin:0!important;padding:0!important}.assisted-bar{padding:12px var(--gutter);border:0;border-bottom:1px solid var(--line);background:var(--ui);justify-content:space-between;align-items:center;gap:18px;display:flex}.assisted-bar-identity{min-width:0}.assisted-bar-session{flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.assisted-bar-session strong{color:var(--text);font-family:Rubik,sans-serif;font-size:14px}.assisted-bar-meta{color:var(--muted);margin:3px 0 0;font-size:11px}.assisted-bar-actions{flex-shrink:0;gap:6px;display:flex}.assisted-bar-actions button,.assisted-bar-actions .button-link{min-height:30px;padding:4px 11px;font-size:11px}.readiness{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border:0;padding:2px 0;font-size:10px;font-weight:800}.readiness-ready{color:var(--success)}.readiness-preparing{color:var(--accent)}.readiness-needs-mapping{color:var(--warn)}.assisted-file-tray{padding:10px var(--gutter);border-bottom:1px solid var(--line);background:var(--ui);flex-shrink:0}.assisted-file-tray-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.assisted-file-tray-head>div{align-items:baseline;gap:9px;min-width:0;display:flex}.assisted-file-tray-head strong{color:var(--text);font-size:12px}.assisted-file-tray-head span{color:var(--muted);font-size:10px}.storage-allowance-line{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;font-size:10px;font-weight:700;overflow:hidden}.storage-allowance-line strong{color:var(--warn);font-weight:700}.storage-allowance-line[data-storage-level=near]{color:var(--warn)}.storage-allowance-line[data-storage-level=full],.storage-allowance-line[data-storage-level=full] strong{color:var(--danger)}.assisted-file-tray-body{grid-template-rows:minmax(0,1fr) auto;gap:12px;max-height:280px;margin-top:9px;display:grid;overflow-y:auto}.assisted-drop-zone{border:1px dashed var(--line);min-height:76px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;padding:12px;display:grid;position:relative}.assisted-drop-zone.dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--ui))}.assisted-drop-zone:hover{border-color:var(--accent)}.assisted-drop-zone strong{color:var(--text);font-size:12px}.assisted-drop-zone button{padding:3px 10px;font-size:10px}.object-tray{z-index:1;flex-direction:column;min-height:0;display:flex;position:relative;overflow-y:auto}.object-tray-head{z-index:1;background:var(--ui);justify-content:space-between;align-items:center;gap:12px;padding-bottom:4px;display:flex;position:sticky;top:0}.object-tray-head strong{color:var(--text);font-size:12px}.object-list{margin:2px 0 0;padding:0;list-style:none}.object-row{border-bottom:1px solid var(--line)}.object-row:last-child{border-bottom:0}.object-row-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.object-row-name{text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:7px;min-width:0;padding:6px 0;display:flex}.object-row-name strong{color:var(--text);font-size:11px}.object-row-name span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.object-row-actions{flex-shrink:0;gap:6px;display:flex}.object-row-actions button{padding:2px 8px;font-size:10px}.object-files{margin:0 0 8px;padding:0 0 0 16px;list-style:none}.object-files li{align-items:baseline;gap:8px;padding:3px 0;display:flex}.object-files strong{color:var(--text);font-size:11px}.object-files span{color:var(--muted);font-size:9px;font-weight:700}.object-form{gap:8px;margin:8px 0 10px;display:grid}.object-form label{color:var(--text);gap:4px;font-size:10px;font-weight:700;display:grid}.object-form .button-row{margin-top:2px}.object-form-note{color:var(--muted);margin:0;font-size:10px}.object-error{color:var(--danger);margin:6px 0 0;font-size:10px;font-weight:700}.object-remove{border-color:var(--danger)}.object-remove h2{color:var(--danger)}.object-remove-lead{color:var(--muted);margin:0 0 8px;font-size:12px}.object-remove-list{color:var(--text);margin:0 0 12px;padding-left:18px;font-size:12px}.object-remove-list li{margin:2px 0}.object-remove code{font-size:11px}.assisted-upload-backdrop{z-index:100;background:#10182861;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.assisted-upload-dialog{border:1px solid var(--line);background:var(--ui);width:min(430px,100%);padding:22px;box-shadow:0 18px 48px #10182833}.assisted-upload-dialog h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:16px}.assisted-upload-dialog>p{color:var(--muted);margin:0 0 16px;font-size:12px}.assisted-upload-dialog form{gap:12px;display:grid}.assisted-upload-dialog label{color:var(--text);gap:5px;font-size:11px;font-weight:700;display:grid}.assisted-upload-dialog .button-row{justify-content:flex-end;margin-top:4px}@media (width<=700px){.assisted-file-tray-body{grid-template-rows:auto auto;max-height:320px;overflow-y:auto}}.setup-panel{max-height:46vh;padding:14px var(--gutter) 18px;border:0;border-bottom:1px solid var(--line);background:var(--ui);flex-shrink:0;margin:0;overflow-y:auto}.setup-panel h2{margin:0 0 10px;font-size:13px}.setup-panel h3{margin:0 0 4px;font-size:12px}.setup-columns{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 24px;display:grid}.setup-columns+.setup-columns,.data-groups+.setup-columns{margin-top:16px;padding-top:16px}.setup-row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;display:flex}.setup-row>select,.setup-row>input:not([type=file]){flex:130px;min-width:0}.setup-row-upload>input[type=file]{flex:180px;min-width:0}.setup-hint{color:var(--muted);margin:2px 0 0;font-size:11px}.setup-message{padding:8px var(--gutter);border:0;border-bottom:1px solid var(--line);background:var(--ui);color:var(--muted);margin:0;font-size:11px;font-weight:700}.setup-message-ok{color:var(--success)}.data-groups{gap:10px;margin:0;padding:0;list-style:none;display:grid}.data-group{border:0;padding:10px 0}.data-group-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.data-group-head strong{font-size:12px}.data-group-type{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.data-group-head>button{margin-left:auto}.data-source-list{gap:0;margin:8px 0 0;padding:0;list-style:none;display:grid}.data-source-list li{justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.data-source-list li>div{min-width:0}.data-source-list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.data-source-list span{color:var(--muted);font-size:10px;font-weight:700}.data-empty{color:var(--muted);margin:6px 0 0;font-size:11px}.inline-confirm{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 0 auto;font-size:11px;display:flex}.assistant-chat{background:var(--ui);border:0;flex:1;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0;padding:0;display:grid;position:relative}.assistant-messages{min-height:0;padding:22px var(--gutter) 10px;overscroll-behavior:contain;flex-direction:column;gap:14px;display:flex;overflow-y:auto}.chat-message{border:0;width:fit-content;max-width:min(84%,720px);margin:0;padding:0;background:0 0!important}.assistant-message{max-width:min(96%,780px)}.user-message{text-align:right;border:0;margin-left:auto;padding:0;background:var(--ui)!important}.user-message p{color:var(--text);margin:0;font-size:13px}.pending-message{opacity:.85}.thinking{color:var(--muted);align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.thinking span{background:var(--ui);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite thinking}.thinking span:nth-child(2){animation-delay:.16s}.thinking span:nth-child(3){margin-right:6px;animation-delay:.32s}@keyframes thinking{0%,60%,to{opacity:.25}30%{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking span{opacity:.5;animation:none}}.chat-error{margin:0}.turn-steps{margin:8px 0 0}.turn-steps>summary{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;font-size:10px;font-weight:700}.turn-steps>summary:hover{color:var(--accent-strong)}.turn-steps-failed{color:var(--danger)}.turn-steps[open]>summary{margin-bottom:8px}.turn-steps>ol{padding-left:10px}.turn-diagnostics{color:var(--muted);grid-template-columns:88px minmax(0,1fr);gap:4px 10px;margin:10px 0 0 10px;font-size:10px;display:grid}.turn-diagnostics dt{font-weight:800}.turn-diagnostics dd{margin:0}.activity-timeline{gap:8px;margin:0;padding:0;list-style:none;display:grid}.timeline-step{padding-top:8px}.timeline-step:first-child{border-top:0;padding-top:0}.timeline-step>div{grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.timeline-step>div>span{color:var(--success);font-weight:900}.timeline-step.failure>div>span{color:var(--danger)}.timeline-step.blocked>div>span,.timeline-step.running>div>span,.timeline-step.running>div strong{color:var(--muted)}.timeline-step>div strong{color:var(--text);font-size:11px;font-weight:600}.timeline-step>div small{color:var(--muted);font-size:9px}.timeline-error{color:var(--danger);margin:4px 0 0 22px;font-size:10px}.timeline-step details{margin:6px 0 0 22px}.timeline-step details summary{color:var(--muted);cursor:pointer;font-size:10px;font-weight:700}.timeline-step dl{grid-template-columns:70px minmax(0,1fr);gap:6px 10px;margin:9px 0 0;font-size:10px;display:grid}.timeline-step dt{color:var(--muted);font-weight:800}.timeline-step dd{overflow-wrap:anywhere;min-width:0;margin:0}.timeline-step pre{white-space:pre-wrap;max-height:180px;margin:4px 0;padding:8px;font-size:9px;overflow:auto}.approval-group{gap:10px;margin:12px 0 0;display:grid}.approval-card{gap:8px;padding:13px 0;display:grid;background:var(--ui)!important;border:0!important}.approval-card.status-proposed{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.approval-card.status-rejected,.approval-card.status-stale,.approval-card.status-failed{opacity:.75}.approval-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.approval-card-head strong{color:var(--text);font-family:Rubik,sans-serif;font-size:12px}.approval-state{color:var(--muted);font-size:10px;font-weight:800}.approval-state.state-committed,.approval-state.state-complete{color:var(--success)}.approval-state.state-stale,.approval-state.state-failed{color:var(--danger)}.approval-summary{color:var(--text);margin:0;font-size:12px}.approval-facts{flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.approval-facts li{color:var(--muted);padding-left:12px;font-size:11px;position:relative}.approval-facts li:before{content:"·";position:absolute;left:2px}.approval-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.approval-buttons{gap:8px;margin-left:auto;display:flex}.approval-detail{min-width:0}.approval-detail>summary{color:var(--accent);cursor:pointer;font-size:11px;font-weight:700}.approval-detail h4{margin:10px 0 4px}.approval-detail pre{max-height:240px;margin:0;padding:10px;font-size:10px;overflow:auto}.approval-card .report-card{margin:0}.validation-card .approval-summary{font-weight:500}.validation-evidence{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}.workflow-question{background:var(--ui);border:0;margin:0;padding:10px 0}.workflow-question legend{font-size:12px}.workflow-steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.workflow-steps li{color:var(--muted);grid-template-columns:14px minmax(0,1fr);gap:7px;font-size:11px;display:grid}.workflow-steps li>span{color:var(--muted)}.workflow-step-complete{color:var(--text)!important}.workflow-step-complete>span{color:var(--success)!important}.workflow-step-active{font-weight:700;color:var(--text)!important}.workflow-step-active>span{color:var(--accent)!important}.proposal-job-status{flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:10px;display:flex}.proposal-job-status small{color:var(--muted)}.proposal-job-status.job-running .status-badge,.proposal-job-status.job-queued .status-badge{color:var(--accent)}.proposal-job-status.job-complete .status-badge{color:var(--success)}.proposal-job-status.job-failed .status-badge,.proposal-job-status.job-timed_out .status-badge{color:var(--danger)}.proposal-job-status [role=alert]{background:0 0;border:0;padding:0}.assistant-empty-state{text-align:center;max-width:560px;margin:auto;padding:24px 0}.assistant-empty-state h2{margin-bottom:6px}.assistant-empty-state p{margin:0 0 18px}.assistant-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.assistant-suggestions button{text-align:left;min-height:40px}.jump-latest{z-index:2;background:var(--ui);position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.assistant-footer{border-top:1px solid var(--line);background:var(--ui)}.assistant-composer{padding:12px var(--gutter) 8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;display:grid}.assistant-live-status{margin:8px var(--gutter) 0;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.assistant-live-status.needs-attention{color:var(--danger)}.assistant-composer textarea{border:1px solid var(--line);border-radius:var(--btn-radius);background:var(--ui);resize:vertical;width:100%;min-height:46px;padding:12px 14px;font-size:14px;line-height:1.35}.assistant-composer textarea:focus{outline:4px solid var(--ring-neutral);outline-offset:0}.assistant-composer textarea::placeholder{color:var(--muted)}.assistant-composer button{min-width:92px;height:100%;min-height:0}.assistant-footer-meta{padding:0 var(--gutter) 10px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:10px;font-weight:700;display:flex}.composer-actions{align-content:stretch;gap:6px;display:grid}.composer-actions>button{height:auto;min-height:46px}.auto-switch{color:var(--muted);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:800;display:flex}.auto-switch input{accent-color:var(--success)}.auto-switch:has(input:checked){color:var(--success)}.auto-switch:has(input:disabled){cursor:not-allowed;opacity:.6}.assistant-plan{padding:6px var(--gutter) 0}.plan-strip{width:fit-content;max-width:100%;position:relative}.plan-strip>summary{min-width:0;color:var(--muted);cursor:pointer;align-items:center;gap:8px;padding:2px 0;font-size:11px;font-weight:700;list-style:none;display:flex}.plan-strip>summary::-webkit-details-marker{display:none}.plan-strip>summary:after{content:"▴";font-size:9px}.plan-strip-below>summary:after,.plan-strip-above[open]>summary:after{content:"▾"}.plan-strip-below[open]>summary:after{content:"▴"}.plan-strip>summary:hover{color:var(--accent-strong)}.plan-waiting>summary .plan-next,.plan-stopped>summary .plan-next{color:var(--warn)}.plan-count{color:var(--accent-strong)}.plan-next{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.plan-dots{gap:3px;display:inline-flex}.plan-dot{border:1px solid var(--muted);border-radius:50%;width:7px;height:7px}.plan-dot-done{border-color:var(--success);background:var(--success)}.plan-dot-current{border-color:var(--accent);background:#13407440}.plan-dot-waiting.plan-dot-current{border-color:var(--warn);background:var(--warn)}.plan-dot-blocked{border-color:var(--danger)}.plan-strip-above .plan-popover{z-index:5;background:var(--ui);border-radius:12px;width:min(420px,80vw);position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 8px 24px #11182724}.plan-strip-above .plan-checklist,.plan-popover .plan-checklist{margin:0}.plan-strip-below .plan-popover{margin-top:6px}.card-done{max-width:720px;margin-top:8px}.card-done>p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:12px;display:flex}.card-done>p>span[aria-hidden=true]{color:var(--success);font-weight:900}.card-done-summary strong{color:var(--text);font-weight:700}.card-done>p>a{font-size:12px}.card-done-toggle{min-height:22px;padding:1px 6px;font-size:11px}.plan-checklist{border:1px solid var(--line);background:#1340740a;border-radius:12px;gap:8px;max-width:720px;margin:0 0 10px;padding:10px 14px;display:grid}.plan-checklist>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.plan-checklist>header strong{color:var(--accent-strong);font-size:12px}.plan-checklist>header span{color:var(--muted);font-size:11px;font-weight:800}.plan-stopped>header span{color:var(--warn)}.plan-checklist ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.plan-step{color:var(--muted);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:8px;display:grid}.plan-step>span{place-items:center;min-height:18px;font-size:12px;font-weight:900;display:grid}.plan-step>div{gap:1px;display:grid}.plan-step strong{font-size:12px;font-weight:700}.plan-step small{font-size:11px}.plan-step-done>span{color:var(--success)}.plan-step-done strong{color:var(--text)}.plan-step-current strong{color:var(--text);font-weight:800}.plan-step-waiting>span,.plan-step-waiting small{color:var(--warn)}.plan-step-blocked>span,.plan-step-blocked small{color:var(--danger)}.chat-trigger{color:var(--muted);margin:0 0 6px;font-size:11px;font-style:italic}.chat-trigger:before{content:"↳ ";font-style:normal}.live-trigger{margin:0}.live-reply{gap:8px;display:grid}.live-steps{gap:6px}.live-steps .timeline-step{padding-top:0}.live-status{color:var(--accent);margin:2px 0 0 22px;font-size:11px}.spinner{border:2px solid #13407440;border-top-color:var(--accent);border-radius:50%;width:9px;height:9px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.report-ready-card{border:1px solid var(--success);background:#0b6b3a0d;border-radius:12px;gap:8px;max-width:520px;margin-top:12px;padding:12px 14px;display:grid}.report-ready-card p{margin:0;font-size:12px}.report-ready-card .button-link{justify-self:start}@media (width<=860px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);gap:10px;width:100%;height:auto;padding:12px 14px;position:static}.app-brand{padding-bottom:10px}.app-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.app-subnav,.app-nav-label,.app-sidebar-footer{display:none}.app-nav a,.app-nav-disabled{text-align:center}.session-picker{border:0;width:100%;max-width:420px;margin:0 auto;padding:0}.app-header{padding:10px 14px;position:static}.upload-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assisted-bar{flex-direction:column;align-items:stretch;gap:10px}.assisted-bar-actions{flex-wrap:wrap}}@media (width<=700px){.app-header{flex-direction:column;align-items:stretch;gap:8px}.app-content>main{padding:18px 12px 48px!important}h1{font-size:20px}section{padding:14px 12px}table{min-width:620px;font-size:11px}th,td{padding:7px 8px}.upload-form-fields{grid-template-columns:minmax(0,1fr);gap:12px}.upload-form-actions button{width:100%}.section-heading-actions{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.mode-switcher{width:100%}.mode-switcher a{min-width:0}:root{--gutter:12px}.app-content>main.assisted-page{height:auto;min-height:calc(100vh - 58px);overflow:visible;padding:0!important}.assistant-chat{min-height:60vh}.assistant-suggestions,.setup-columns{grid-template-columns:minmax(0,1fr)}.chat-message{max-width:92%}.approval-actions{flex-direction:column;align-items:stretch}.approval-buttons{margin-left:0}}.assisted-report-list{gap:0;display:grid}.report-card{background:var(--ui);border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;display:grid}.report-card-body{gap:4px;min-width:0;display:grid}.report-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-card-state{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:10px;font-weight:700;display:flex}.report-card-state .status-badge{font-size:9px}.report-card-actions{align-items:center;gap:6px;display:flex}.report-card-actions .button-link{min-height:28px;padding:0 10px;font-size:11px}.report-card-actions button{padding:4px 10px;font-size:11px}.report-card.report-archived{background:var(--ui)}.report-card.status-failed strong{color:var(--danger)}.status-archived{color:var(--muted)}.report-view{grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid}.report-view-bar{border-bottom:1px solid var(--line);background:var(--ui);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:10px 20px;display:flex}.report-view-identity{min-width:0}.report-view-bar h1{margin:0;font-size:15px}.report-view-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:3px 0 0;font-size:11px;font-weight:700;display:flex}.report-view-actions{flex-shrink:0;gap:8px;display:flex}.report-view-actions .button-link{min-height:30px;padding:0 12px;font-size:11px}.report-view-stage{height:100%;min-height:0;position:relative}.report-view-loading{color:var(--muted);background:var(--ui);justify-content:center;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.report-view-frame{background:var(--ui);border:0;width:100%;height:100%}.open-report-inline{align-items:center;gap:6px;display:inline-flex}@media (width<=700px){.report-view-bar{padding:8px 12px}.report-view-bar h1{font-size:14px}}.assistant-message:has(.proposal-groups){max-width:min(100%,1080px)}.assistant-prose{color:var(--text);font-size:13.5px}.assistant-prose p{color:var(--text);margin:0 0 8px;font-size:13.5px}.assistant-prose ul,.assistant-prose ol{color:var(--text);margin:4px 0 8px;padding-left:20px}.clear-conversation{min-height:26px;padding:3px 8px;font-size:11px}.proposal-groups{gap:18px;margin-top:12px;display:grid}.proposal-group{background:0 0;border:0;padding:0}.proposal-group-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.proposal-group-head strong{font-family:Rubik,sans-serif;font-size:13px;display:block}.proposal-group-head span{color:var(--muted);font-size:11px;font-weight:700}.proposal-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:12px;display:grid}.mapping-review{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.mapping-table-wrap{overflow-x:auto}.mapping-review-table{border-collapse:collapse;width:100%;min-width:820px;font-size:12px}.mapping-review-table th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f4f7fb;padding:9px 10px;font-size:10px}.mapping-review-table td{border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle;padding:10px}.mapping-review-table tbody tr:last-child td{border-bottom:0}.mapping-review-table tbody tr:hover{background:#f8faff}.mapping-review-table code{color:var(--text);overflow-wrap:anywhere;font-size:11.5px}.mapping-review-table .mapping-select{text-align:center;width:34px;padding-right:2px}.mapping-review-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--success)}.mapping-row.status-approved{background:#f3faf6}.mapping-row.status-rejected,.mapping-row.status-superseded{opacity:.58}.mapping-confidence,.mapping-status{color:var(--muted);text-transform:capitalize;white-space:nowrap;background:#1118270f;border-radius:999px;align-items:center;padding:3px 7px;font-size:10px;font-weight:800;display:inline-flex}.mapping-confidence.confidence-high,.mapping-status-approved{color:var(--success);background:#0b6b3a1a}.mapping-confidence.confidence-medium{color:#9a3412;background:#c2410c1a}.mapping-confidence.confidence-low{color:var(--danger);background:#9f12391a}.mapping-refusal{max-width:260px;color:var(--danger);margin-top:4px;font-size:10px;font-weight:600;display:block}.mapping-dismiss{min-height:0;color:var(--danger);background:0 0;border:0;margin-top:5px;padding:0;font-size:10px;text-decoration:underline;display:block}.mapping-bulk-actions{border-top:1px solid var(--line);background:#f8faff;justify-content:flex-end;align-items:center;gap:12px;padding:10px 12px;display:flex}.mapping-bulk-actions>span{color:var(--muted);font-size:11px;font-weight:700}.proposal-card{align-content:start;gap:10px;padding:14px;transition:opacity .2s;display:grid;box-shadow:0 1px 2px #1118270f;border:1px solid var(--line)!important;border-top:4px solid var(--accent)!important;background:#f8faff!important;border-radius:12px!important}.proposal-card.recommended{border-top-color:var(--success)!important}.proposal-card.kind-unit_unknown{border-top-color:var(--warn)!important}.proposal-card.kind-time_unsupported{border-top-color:var(--danger)!important}.proposal-card.status-approved{border-top-color:var(--success)!important;background:#f3faf6!important}.proposal-card.status-rejected,.proposal-card.status-superseded{opacity:.6;box-shadow:none}.proposal-card[aria-busy=true]{opacity:.75}.assisted-library-page{width:min(1180px,100% - 2rem);margin:0 auto}.module-card-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1rem;display:grid}.assisted-data-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.assisted-data-actions .button-link{min-height:30px;padding:4px 11px;font-size:11px}.proposal-head{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.proposal-kind{color:var(--accent-strong);letter-spacing:.05em;text-transform:uppercase;background:#1340741a;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.kind-unit_unknown .proposal-kind{color:var(--warn);background:#9a34121f}.kind-time_unsupported .proposal-kind{color:var(--danger);background:#9f12391a}.proposal-column{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.proposal-field{color:var(--muted);font-size:11px}.confidence{color:var(--muted);text-transform:capitalize;align-items:center;gap:5px;margin-left:auto;font-size:10px;font-weight:800;display:inline-flex}.confidence>span{gap:2px;display:inline-flex}.confidence i{background:var(--line);border-radius:2px;width:6px;height:12px}.confidence-high i.on{background:var(--success)}.confidence-medium i.on{background:#c2410c}.confidence-low i.on{background:var(--danger)}.proposal-change{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.change-value{background:#1118270d;border-radius:9px;gap:1px;min-width:0;padding:8px 10px;display:grid}.change-value small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:800}.change-value b{color:var(--text);overflow-wrap:anywhere;font-family:Rubik,sans-serif;font-size:14px;font-weight:600}.change-value span{color:var(--muted);overflow-wrap:anywhere;font-size:11.5px}.proposal-change-single{grid-template-columns:minmax(0,1fr)}.change-value-to{background:var(--accent)}.change-value-to small,.change-value-to span{color:#ffffffc7}.change-value-to b{color:#fff}.status-approved .change-value-to{background:var(--success)}.change-arrow{color:var(--accent);align-self:center;font-size:20px;font-weight:800}.proposal-time{color:var(--muted);margin:0;font-size:11px}.proposal-rationale{color:var(--text);margin:0;font-size:12.5px}.proposal-checks{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.check{max-width:100%;color:var(--text);background:#1118270d;border-radius:999px;align-items:flex-start;gap:6px;padding:4px 9px 4px 5px;font-size:11px;font-weight:700;display:inline-flex}.check small{color:var(--muted);font-size:10px;font-weight:600;display:block}.check-mark{background:var(--muted);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:16px;height:16px;font-size:9px;font-weight:900;display:grid}.check-pass{background:#0b6b3a1a}.check-pass .check-mark{background:var(--success)}.check-warn{background:#9a34121a}.check-warn .check-mark{background:#c2410c}.check-fail{background:#9f12391a}.check-fail .check-mark{background:var(--danger)}.check-info .check-mark{background:var(--accent);font-style:italic}.proposal-charts{gap:8px;display:grid}.assistant-chart{margin:0}.assistant-message>.assistant-chart,.assistant-message>.assistant-table{border:1px solid var(--line);background:#f8faff;border-radius:12px;max-width:520px;margin-top:10px;padding:10px 12px}.assistant-chart figcaption,.assistant-table figcaption{color:var(--text);justify-content:space-between;gap:8px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.assistant-chart figcaption small{color:var(--muted);font-weight:600}.assistant-chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-axis{stroke:var(--line);stroke-width:1px}.chart-bar{fill:var(--accent);opacity:.85}.chart-bar:hover{opacity:1}.chart-line{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-linejoin:round}.chart-line-reference{stroke:var(--success);stroke-dasharray:4 3;stroke-width:1.6px}.chart-label{fill:var(--muted);font-size:9px;font-weight:700}.chart-track{fill:#11182712}.chart-segment{fill:var(--accent)}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin:2px 0 0;font-size:10px;font-weight:700;display:flex}.legend-data:before,.legend-reference:before{vertical-align:middle;border-top:2px solid var(--accent);content:"";width:14px;margin-right:5px;display:inline-block}.legend-reference:before{border-top:2px dashed var(--success)}.assistant-table table{min-width:0;font-size:11px}.assistant-table th,.assistant-table td{white-space:nowrap;padding:4px 8px}.proposal-errors{background:#9f123914;border-radius:9px;padding:8px 10px;font-size:11.5px}.proposal-errors strong{margin-bottom:2px;display:block}.proposal-errors ul,.proposal-warnings{margin:0;padding-left:16px}.proposal-warnings{color:var(--warn);font-size:11px}.proposal-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.proposal-buttons{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}button.decision{border-radius:10px;min-height:36px;padding:7px 14px;font-size:13px;font-weight:800;transition:transform 60ms,box-shadow 60ms,background-color .12s;box-shadow:0 2px #1118272e}button.decision:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 #1118272e}button.decision:disabled{box-shadow:none}button.decision-approve{background:var(--success);color:#fff;border-color:#0000}button.decision-approve:hover:not(:disabled){color:#fff;background:#08552e}button.decision-change{border-color:var(--accent);color:var(--accent);background:#fff}button.decision-change:hover:not(:disabled){background:var(--accent);color:#fff}button.decision-reject{color:var(--danger);background:#fff;border-color:#9f123973}button.decision-reject:hover:not(:disabled){background:var(--danger);color:#fff}.proposal-state{color:var(--muted);align-items:baseline;gap:6px;margin:0;font-size:12px;font-weight:800;display:flex}.proposal-state small{color:var(--muted);font-size:10px;font-weight:600}.state-approved{color:var(--success)}.proposal-editor{border:1px solid var(--line);background:#fff;border-radius:9px;flex-wrap:wrap;align-items:end;gap:10px;padding:10px;display:flex}.proposal-editor label{flex:140px;gap:3px;min-width:140px;font-size:11px;display:grid}.proposal-editor select,.proposal-editor input{width:100%;border:1px solid var(--line)!important;background:#fff!important;border-radius:7px!important;padding:6px 8px!important}.proposal-editor-actions{gap:8px;margin-left:auto;display:flex}.proposal-editor-actions button{min-height:32px;padding:6px 12px;font-size:12px}.proposal-matches,.build-card{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;gap:8px;margin-top:12px;padding:12px 14px;display:grid}.proposal-matches p,.build-card p{margin:0;font-size:12px}.proposal-matches ul,.build-card ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.build-card{max-width:520px}.build-card button,.build-card .button-link{justify-self:start}.match{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:12px;font-weight:700;display:flex}.match small{color:var(--muted);font-weight:600}.match-applied>span{color:var(--success)}.match-problem>span,.match-problem small{color:var(--danger)}.proposal-matches button{justify-self:start}.bundle-list{gap:14px;display:grid}.bundle-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.bundle-card header h3{margin:0}.bundle-card header h3 small{color:var(--muted);font-weight:700}.bundle-card header p{margin:2px 0 8px;font-size:11px}.bundle-card details summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:700}.bundle-card details p{margin:4px 0 0 12px;font-size:12px}.bundle-requirements{gap:4px;display:grid}.bundle-requirements h4{margin:10px 0 4px}.bundle-requirements h4 small{color:var(--muted);font-weight:600}.bundle-requirements ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.requirement-inputs p{color:var(--text);margin:0;font-size:12px}.requirement-inputs small{color:var(--muted);font-weight:600}.requirement-fields{flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:12px;display:flex;margin:2px 0 0!important}.requirement-fields>span{min-width:64px;color:var(--muted);font-size:11px;font-weight:700}.requirement-fields code{background:#1340740f;border-radius:5px;padding:1px 5px}.requirement-problems{background:#9f12390d;border-radius:9px;padding:8px 10px!important}.bundle-draft{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;max-width:720px;margin:12px 0;padding:12px 14px}.bundle-draft h3{margin-top:0}.bundle-matches{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;max-width:720px;margin:8px 0 14px;padding:12px 14px}.bundle-matches>p{margin:6px 0 0;font-size:12px}.bundle-ready{font-weight:800;color:var(--success)!important}.bundle-blocked{font-weight:800;color:var(--danger)!important}.bundle-values{border:1px solid var(--ui);border-radius:10px;gap:10px;max-width:520px;margin:8px 0;padding:10px 12px;display:grid}.bundle-values legend{padding:0 4px;font-size:12px;font-weight:800}.bundle-values label{gap:3px;font-size:12px;display:grid}.bundle-values label small{color:var(--muted);font-weight:600}.bundle-values input{max-width:220px}.templates-card,.template-card{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;gap:8px;max-width:720px;margin-top:12px;padding:12px 14px;display:grid}.templates-card p,.template-card p{margin:0;font-size:12px}.templates-card>ul,.template-reasons,.template-runs{gap:8px;margin:0;padding:0;list-style:none;display:grid}.template-row{border-top:1px solid var(--ui);gap:4px;padding-top:8px;display:grid}.template-row-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.template-row>small{color:var(--muted);font-size:12px}.template-chosen>.template-row-head>strong:before{content:"✓";color:var(--good,currentColor)}.template-reasons{gap:2px!important}.template-reasons li{color:var(--muted);font-size:12px}.template-row button,.template-card button,.template-card .button-link{justify-self:start}.template-ready .status-badge{color:var(--success)}.template-missing .status-badge{color:var(--danger)}.template-unavailable .status-badge{color:var(--muted)}.template-card .bundle-matches{background:0 0;margin:0}.template-card .button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-scopes{border:1px solid var(--ui);border-radius:10px;gap:4px;margin:0;padding:8px 12px;display:grid}.template-scopes legend{padding:0 4px;font-size:12px;font-weight:800}.template-scope{align-items:baseline;gap:8px;font-size:12px;display:flex}.template-scope>span{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.template-scope small{color:var(--muted);flex-basis:100%}.per-scope-lead{font-weight:700;margin:4px 0 0!important}.per-scope-values{gap:8px;margin:6px 0 8px;display:grid}.per-scope-asked{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.per-scope-asked small{color:var(--muted);font-weight:600;display:block}.per-scope-boxes{flex-wrap:wrap;gap:8px;display:flex}.per-scope-boxes .bundle-values{margin:0}.per-scope-boxes legend small{color:var(--muted);font-weight:600}.tag-chip{color:var(--accent-strong);background:#1340741a;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.scope-card{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;gap:10px;max-width:760px;margin-top:12px;padding:12px 14px;display:grid}.scope-card>p{margin:0;font-size:12px}.scope-zone{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;font-weight:700;display:flex}.scope-zone select{max-width:260px}.scope-zone small{color:var(--muted);flex-basis:100%;font-weight:600}.scope-timeline{max-width:100%;margin:0;overflow-x:auto}.scope-timeline svg{width:100%;min-width:480px;height:auto}.scope-band{fill:#0b6b3a29;stroke:#0b6b3a8c;stroke-width:.8px}.scope-band-label{fill:var(--success);font-weight:800}.scope-rows{gap:0;margin:0;padding:0;list-style:none;display:grid}.scope-row{border-top:1px solid var(--ui);grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:10px 0;display:grid}.scope-row-off .scope-fields,.scope-row-off .scope-evidence{opacity:.55}.scope-tick{color:var(--success);align-self:start;align-items:center;gap:4px;padding-top:18px;font-size:12px;font-weight:800;display:flex}.scope-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 10px;display:grid}.scope-fields label{color:var(--muted);gap:2px;font-size:11px;font-weight:700;display:grid}.scope-time{border:0;flex-wrap:wrap;gap:4px;margin:0;padding:0;display:flex}.scope-time legend{color:var(--muted);padding:0;font-size:11px;font-weight:700}.scope-time input{min-width:0}.scope-time input.needs-value{outline:2px solid var(--warn);outline-offset:1px}.scope-evidence{flex-wrap:wrap;grid-column:2;align-items:baseline;gap:2px 8px;display:flex}.scope-evidence small{color:var(--muted);font-size:12px}.scope-evidence small em{color:var(--text);font-style:normal}.scope-evidence .scope-no-data{color:var(--danger);font-weight:700}.scope-evidence .scope-existing{color:var(--warn);font-weight:700}.scope-basis-explicit{color:var(--success)}.scope-basis-inferred{color:var(--warn)}.scope-basis-typed{color:var(--accent)}.scope-group-toggle{align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.scope-card .button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scope-decided{gap:4px;margin:6px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.scope-decided li{flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.scope-decided small{color:var(--muted);flex-basis:100%}.scope-tags{gap:4px;display:inline-flex}.question-card{border:1px dashed var(--accent);background:#1340740a;border-radius:12px;gap:10px;max-width:620px;margin-top:12px;padding:12px 14px;display:grid}.question-card>p{margin:0;font-size:13px}.question-buttons{flex-wrap:wrap;gap:8px;display:flex}.question-buttons button{text-align:left;gap:2px;max-width:280px;display:grid}.question-buttons button small{color:var(--muted);white-space:normal;font-weight:600}.question-text{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.question-text label{flex:220px;gap:2px;font-size:12px;font-weight:700;display:grid}.question-asked{margin:6px 0 2px;font-size:12px;font-weight:700}.question-options{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.question-options li{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 6px;display:flex}.question-options small{flex-basis:100%}.question-chosen{color:var(--text)}.question-chosen strong:before{content:"✓ ";color:var(--success)}@media (width<=700px){.mapping-bulk-actions{flex-direction:column;align-items:stretch}.mapping-bulk-actions button{width:100%}.proposal-list{grid-template-columns:minmax(0,1fr)}.proposal-buttons{width:100%}.proposal-buttons button{flex:auto}}.app-account{align-items:center;gap:10px;margin-left:auto;display:flex}.app-account span{max-width:220px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.app-account button{min-height:32px;padding:6px 12px;font-size:12px}.login-page{background:var(--ui);min-height:100vh;padding:40px 24px 56px;display:flex}.login-card{width:100%;max-width:360px;margin:auto}.login-brand{justify-content:center;padding:0 0 22px}.login-card h1{text-align:center}.login-card>p{text-align:center;margin:0 0 4px}.login-card [role=alert]{text-align:center}.login-form{border-top:1px solid var(--line);gap:16px;padding:20px 0 0;display:grid}.login-form label{color:var(--accent-strong);gap:6px;display:grid}.login-form input{border-bottom:1px solid var(--line);width:100%;min-height:40px;padding:7px 2px;font-size:13px}.login-form input:focus{border-bottom-color:var(--accent)}.login-form button{width:100%;margin-top:4px}.viewer-shell{background:var(--ui);--viewer-gutter:max(24px, calc((100vw - 720px) / 2));min-height:100vh}.viewer-header{z-index:15;padding:14px var(--viewer-gutter);border-bottom:1px solid var(--line);background:var(--ui);justify-content:space-between;align-items:center;gap:24px;display:flex;position:sticky;top:0}.viewer-header strong{color:var(--accent-strong);font-family:Rubik,sans-serif;font-size:13px;display:block}.viewer-header span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600;display:block}.viewer-main{width:100%;padding:26px var(--viewer-gutter) 72px}.viewer-main>section:first-of-type{border-top:0}.viewer-objects,.viewer-files,.viewer-reports{gap:8px;margin:0;padding:0;list-style:none;display:grid}.viewer-objects li,.viewer-files li,.viewer-reports li{border:1px solid var(--line);border-radius:var(--btn-radius);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 14px;display:flex}.viewer-objects li.chosen{border-color:var(--accent)}.viewer-objects button{min-width:112px}.viewer-objects strong,.viewer-files strong,.viewer-reports strong{font-weight:700;display:block}.viewer-objects small,.viewer-files small,.viewer-reports small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.viewer-reports a{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:700;text-decoration:none}.viewer-reports a:hover{text-decoration:underline}.viewer-upload{gap:14px;max-width:420px;display:grid}.viewer-upload label{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.06em;gap:5px;font-family:Rubik,sans-serif;font-size:11px;font-weight:700;display:grid}.viewer-upload input:not([type=file]){border-bottom:1px solid var(--line);background:var(--ui);min-height:38px;color:var(--text);text-transform:none;letter-spacing:0;padding:8px 2px;font-family:Nunito,sans-serif;font-size:14px;font-weight:400}.viewer-upload input:not([type=file]):focus{border-bottom-color:var(--accent)}.viewer-upload button{justify-self:start}.viewer-chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.viewer-chip.warn{border-color:var(--warn);color:var(--warn)}.viewer-notice{border:1px solid var(--line);border-radius:var(--btn-radius);margin:16px 0 0;padding:10px 14px}.viewer-notice.error{border-color:var(--danger);color:var(--danger)}@media (width<=720px){.viewer-shell{--viewer-gutter:12px}.viewer-main{padding-block:18px 48px}.viewer-objects li,.viewer-files li,.viewer-reports li{flex-wrap:wrap;gap:8px}}.storage-allowance{border:1px solid var(--line);background:var(--ui);flex-direction:column;gap:6px;margin:0 0 14px;padding:10px 12px;display:flex}.storage-allowance-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.storage-allowance-head strong{color:var(--text);font-size:12px}.storage-allowance-head span{color:var(--muted);font-size:11px;font-weight:700}.storage-allowance-bars{flex-direction:column;gap:3px;display:flex}.storage-allowance-bar{background:var(--line);height:4px;overflow:hidden}.storage-allowance-bar>span{background:var(--accent);height:100%;transition:width .2s;display:block}.storage-allowance[data-storage-level=near] .storage-allowance-bar>span{background:var(--warn)}.storage-allowance[data-storage-level=full] .storage-allowance-bar>span{background:var(--danger)}.storage-allowance-warning{color:var(--warn);margin:0;font-size:11px;font-weight:700}.storage-allowance[data-storage-level=full] .storage-allowance-warning,.storage-allowance-warning[data-storage-level=full]{color:var(--danger)}.library-page{align-content:start;gap:26px;display:grid}.library-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:14px;display:flex}.library-head h1{color:var(--accent-strong);margin:2px 0 0;font-family:Rubik,sans-serif;font-size:20px}.library-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:10px;font-weight:800}.library-lead{max-width:62ch;color:var(--muted);margin:6px 0 0;font-size:12px;font-weight:600}.library-controls{align-items:center;gap:16px;display:flex}.library-count{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;margin:0;font-size:11px;font-weight:800}.library-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.library-toggle input{width:14px;height:14px}.library-day{gap:10px;display:grid}.library-day-label{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.08em;margin:0;font-family:Rubik,sans-serif;font-size:12px;font-weight:700}.library-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;display:grid}.library-cell{grid-template-rows:1fr auto;gap:4px;display:grid}.library-cell-action{justify-content:flex-end;display:flex}.library-cell-action button{min-height:26px;padding:0 8px;font-size:10px}.library-tile{border:1px solid var(--line);background:var(--ui);height:100%;color:var(--text);flex-direction:column;gap:8px;padding:14px 15px 15px;text-decoration:none;display:flex}.library-tile-eyebrow{margin:0}.library-tile-eyebrow .status-badge{font-size:9px}.library-tile-name{color:var(--accent-strong);margin:0;font-family:Rubik,sans-serif;font-size:14px;font-weight:700;line-height:1.25}.library-tile-note{color:var(--muted);margin:-2px 0 0;font-size:11px;font-weight:600}.library-tile-facts{border-top:1px solid var(--line);gap:5px;margin:auto 0 0;padding-top:11px;display:grid}.library-tile-facts div{grid-template-columns:74px minmax(0,1fr);gap:8px;display:grid}.library-tile-facts dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:10px;font-weight:800}.library-tile-facts dd{margin:0;font-size:11px;font-weight:700}.library-tile-reasons{color:var(--muted);margin:0;padding-left:16px;font-size:11px;font-weight:600}.library-tile-open{color:var(--accent);align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.library-tile-action:hover{border-color:var(--accent);background:var(--btn-tint)}.library-tile-action:hover .library-tile-open{color:var(--accent-strong)}.library-tile-action:focus-visible{outline:4px solid var(--ring-neutral);outline-offset:0}.library-tile-archived,.library-tile-idle{opacity:.66}.library-tile.template-ready .status-badge{color:var(--success)}.library-tile.template-missing .status-badge{color:var(--warn)}.library-tile.template-unavailable .status-badge,.library-tile.template-catalogue .status-badge{color:var(--muted)}.library-empty,.library-note{color:var(--muted);margin:0;font-size:12px;font-weight:600}.library-tools{border-top:1px solid var(--line);padding-top:18px}.library-tools h2{color:var(--accent-strong);margin:0 0 4px;font-family:Rubik,sans-serif;font-size:14px}.library-tools>p{max-width:68ch;color:var(--muted);margin:0 0 14px;font-size:12px;font-weight:600}.library-tools h3{margin:18px 0 6px;font-size:12px}.library-tools h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 4px;font-size:11px}@media (width<=720px){.library-grid{grid-template-columns:minmax(0,1fr)}.library-head{flex-direction:column;align-items:flex-start}}
