:root{--ink:#07111f;--ink2:#0e1d2f;--ink3:#152943;--teal:#16b89f;--teal2:#62dfcf;--soft:#e9f8f5;--bg:#f3f6f9;--panel:#fff;--line:#dbe4ec;--line2:#c7d3de;--text:#0a1524;--muted:#667789;--muted2:#8b98a6;--danger:#ad4451;--warn:#9a6900;--shadow:0 10px 35px rgba(7,17,31,.055);--shadow2:0 28px 85px rgba(7,17,31,.13);--r:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 "DM Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body.drawer-open,body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,h3,strong{font-family:Manrope,"DM Sans",sans-serif}h1,h2,h3,p{margin-top:0}
.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:22px 15px;display:flex;flex-direction:column;z-index:50}.sidebar-brand,.brand-inline,.auth-brand{display:flex;align-items:center;gap:11px}.sidebar-brand{padding:2px 9px 24px}.sidebar-brand>div:last-child{display:grid;line-height:1}.sidebar-brand strong{font-size:15px}.sidebar-brand span{margin-top:4px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.17em}
.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--teal);color:#fff;display:grid;place-items:center;font:800 18px Manrope,sans-serif;box-shadow:0 8px 24px rgba(22,184,159,.23)}.brand-mark.small{width:34px;height:34px;border-radius:10px;font-size:15px}
.workspace-switcher{border:1px solid var(--line);background:#f9fbfc;border-radius:13px;padding:10px;display:grid;grid-template-columns:32px 1fr 16px;align-items:center;gap:9px;margin:0 2px 23px}.workspace-switcher>div{display:grid}.workspace-switcher strong{font-size:10px}.workspace-switcher span{font-size:9px;color:var(--muted2)}.workspace-avatar{width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:11px}.tiny-chevron{justify-self:end;color:var(--muted2)}
.sidebar-label,.section-kicker,.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:800}.sidebar-label{color:var(--muted2);padding:0 11px 9px}.sidebar-label.secondary{margin-top:23px}.sidebar-nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;color:var(--muted);border-radius:10px;padding:10px 11px;text-align:left;font-size:11px;font-weight:800;display:flex;align-items:center;gap:11px;transition:.15s}.nav-item:hover{background:#f4f7f9;color:var(--text)}.nav-item.active{background:var(--soft);color:#087d6d}.nav-symbol{width:18px;text-align:center;color:#91a0ae;font-size:15px}.nav-item.active .nav-symbol{color:#087d6d}
.sidebar-spacer{flex:1}.evidence-note{margin:14px 4px 15px;padding:13px;border-radius:13px;background:#f7fafb;border:1px solid var(--line)}.evidence-note .eyebrow{color:#087d6d}.evidence-note p{margin:6px 0 0;font-size:10px;color:var(--muted);line-height:1.5}.sidebar-user{border-top:1px solid var(--line);padding:15px 8px 0;display:flex;gap:9px;align-items:center;min-width:0}.sidebar-user>div:last-child{min-width:0}.sidebar-user strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.sidebar-user span{font-size:9px;color:var(--muted2)}.user-avatar{width:33px;height:33px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.user-avatar.large{width:46px;height:46px;font-size:14px}
.app-main{min-width:0}.topbar{height:70px;position:sticky;top:0;z-index:45;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.topbar-title{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.topbar-title strong{color:var(--text);font-size:13px}.topbar-actions{display:flex;align-items:center;gap:11px}.status{font-size:10px;font-weight:800}.status::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:7px}.status.ready{color:#16a58f}.status.demo{color:#b47a0b}.status.pending{color:#8c99a7}.status.error{color:var(--danger)}.circle-help{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:50%;font-weight:800;color:var(--muted)}
.mobile-top{display:none}.content{padding:42px 34px 26px}.view{display:none;max-width:1180px;margin:0 auto}.view.active{display:block}
.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head.compact{align-items:end}.eyebrow{color:#087d6d}.eyebrow.light{color:#62dfcf}.page-head h1{font-size:50px;line-height:1.02;letter-spacing:-.055em;margin:10px 0 13px}.page-head h1 em{color:#0d7f70;font-style:normal}.page-head p{color:var(--muted);max-width:740px;line-height:1.7}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:11px;padding:11px 15px;min-height:42px;font-weight:800;font-size:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s}.button.primary{background:var(--teal);color:#04231e;box-shadow:0 9px 22px rgba(22,184,159,.18)}.button.primary:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(22,184,159,.24)}.button.secondary{background:#fff;border-color:var(--line);color:var(--text)}.button.secondary:hover{border-color:var(--line2);background:#f9fbfc}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.ghost{background:#fff;border-color:var(--line);color:var(--text);min-height:36px;padding:8px 12px}.button.outline-dark{background:transparent;border-color:#30455b;color:#fff}.button.large{min-height:46px;padding:13px 17px}.button.wide{width:100%}.text-link,.text-button{border:0;background:none;color:#087d6d;font-weight:800;font-size:11px;padding:0}.text-button{color:var(--muted)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:17px}.metric{border:1px solid var(--line);background:#fff;border-radius:15px;padding:17px;box-shadow:var(--shadow)}.metric.accent{background:#e7faf6;border-color:#c4eee6}.metric span{font-size:8px;letter-spacing:.14em;color:var(--muted2);font-weight:800}.metric strong{display:block;font-size:25px;letter-spacing:-.04em;margin:8px 0 2px}.metric small{font-size:10px;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:1.4fr .75fr;gap:15px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}.panel-heading{display:flex;justify-content:space-between;gap:15px}.panel-heading.row{align-items:center}.panel-heading h2{font-size:20px;line-height:1.2;margin:6px 0}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.process-panel{border-top:3px solid var(--teal)}.process-rail{display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr 25px 1fr 25px 1fr;align-items:center;margin-top:30px}.process-step{display:grid;gap:2px;align-content:start}.process-step span{font-size:9px;color:var(--muted2);font-weight:800}.process-step b{font-size:12px}.process-step small{font-size:9px;color:var(--muted)}.process-step.live b,.process-step.live span{color:#087d6d}.process-step i{height:1px;background:var(--line)}.process-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.process-foot span{background:#f6f9fb;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:9px;color:var(--muted);font-weight:700}
.action-panel{border-top:3px solid #19344d}.action-panel h2{font-size:20px;line-height:1.2;margin:7px 0 8px}.action-panel>p{font-size:11px;color:var(--muted);line-height:1.6}.action-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;text-align:left;margin-top:8px}.action-card:hover{border-color:#a7dcd4;background:#fbfefd}.action-card>span:nth-child(2){display:grid}.action-card b{font-size:10px}.action-card small{font-size:9px;color:var(--muted)}.action-icon{width:34px;height:34px;border-radius:9px;background:#f0f5f8;display:grid;place-items:center;color:#087d6d;font-weight:800;font-size:9px}.recent-panel{margin-top:15px}.recent-row{width:100%;display:grid;grid-template-columns:1fr 110px 18px;gap:14px;align-items:center;border:0;border-top:1px solid var(--line);background:transparent;padding:13px 2px;text-align:left}.recent-row:first-child{margin-top:9px}.recent-row:hover{background:#fbfcfd}.recent-file{display:grid}.recent-file strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-file small,.recent-row>span:nth-child(2){color:var(--muted);font-size:9px}.recent-row>b{color:#087d6d}.record-empty{padding:25px 5px;color:var(--muted);font-size:11px;display:grid;gap:4px}.record-empty strong{color:var(--text);font-size:12px}
.step-pill,.secure-pill,.state-pill,.counter-pill{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:8px;letter-spacing:.07em;text-transform:uppercase;font-weight:800;white-space:nowrap}.secure-pill{background:#f4f7f9;color:#526476}.state-pill{background:#f5f7f9;color:var(--muted)}.state-pill.on{background:#e5f8f2;border-color:#c8eee5;color:#087d6d}.counter-pill{background:#f5f8fa}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:280px}.project-top{display:flex;justify-content:space-between;align-items:center}.project-index{font-size:10px;color:var(--muted2);font-weight:800;letter-spacing:.14em}.project-card h2{font-size:21px;line-height:1.12;margin:18px 0 8px}.project-card>p{font-size:11px;color:var(--muted);line-height:1.6;flex:1}.project-meta{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.project-meta span{font-size:9px;color:var(--muted)}.project-actions{display:flex;gap:8px;align-items:center;margin-top:15px}.project-add-card{min-height:280px;border:1px dashed var(--line2);border-radius:17px;background:transparent;display:grid;place-content:center;justify-items:center;color:var(--muted);gap:6px}.project-add-card span{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-size:22px;color:#087d6d}.project-add-card strong{color:var(--text);font-size:12px}.project-add-card small{font-size:9px}
.response-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:15px;align-items:start}.source-panel{border-top:3px solid var(--teal)}.response-rail{display:grid;gap:15px}.rail-panel{border-top:3px solid #ccd9e5}.scan-panel{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--shadow2)}.field{display:grid;gap:6px;color:#54677a;font-weight:800;font-size:10px;margin-top:18px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;outline:0;background:#fff}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(22,184,159,.08)}.context-mini{margin-top:10px;background:#f6f9fb;border:1px solid var(--line);border-radius:11px;padding:11px;display:grid;gap:3px}.context-mini span{font-size:8px;color:var(--muted2);text-transform:uppercase;letter-spacing:.12em}.context-mini strong{font-size:11px}.context-mini small{font-size:9px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:24px 0}.drop-zone{margin-top:17px;min-height:315px;border:1px dashed #b7c5d1;border-radius:15px;background:#fafcfd;display:grid;place-items:center;text-align:center;align-content:center;padding:45px 20px}.drop-zone.drag{border-color:var(--teal);background:var(--soft)}.drop-icon{width:50px;height:50px;border-radius:14px;background:#e6f8f4;color:#087d6d;display:grid;place-items:center;font-size:25px;margin-bottom:15px}.drop-zone h3{font-size:21px;margin:0 0 6px}.drop-zone p{font-size:11px;color:var(--muted)}.selected-file{margin-top:12px;max-width:100%;font-size:9px;color:#087d6d;overflow-wrap:anywhere}.source-trust{margin-top:14px;display:flex;gap:10px;padding:12px;border-radius:12px;background:#f6fafb;border:1px solid var(--line)}.trust-icon{width:26px;height:26px;border-radius:50%;background:var(--soft);color:#087d6d;display:grid;place-items:center;font-weight:900;flex:none}.source-trust strong{font-size:10px}.source-trust p{font-size:9px;color:var(--muted);margin:2px 0 0}.analysis-list{display:grid;gap:0;margin-top:16px}.analysis-list>div{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.analysis-list>div>b{font-size:9px;color:#087d6d}.analysis-list span{font-size:9px;color:var(--muted)}.analysis-list strong{color:var(--text)}.scan-header{display:flex;align-items:center;gap:9px}.scan-box{width:31px;height:31px;border:1px solid #ffffff2b;border-radius:9px;display:grid;place-items:center;color:var(--teal2)}.scan-panel h3{font-size:19px;margin:14px 0 7px}.scan-panel p{font-size:10px;line-height:1.6;color:#aebdca}.scan-summary{font-size:9px;color:#91a2b2;margin-top:10px}.scan-panel .button.outline-dark{background:#fff;color:var(--ink);border-color:#fff}
.result-space{margin-top:28px;padding-top:3px}.result-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-top:3px solid var(--teal);padding:18px 0 13px}.result-header h2{font-size:25px;margin:7px 0 3px;line-height:1.1}.result-header p{font-size:9px;color:var(--muted);margin:0}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.analysis-shell{display:grid;gap:13px}.summary-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:13px}.analysis-summary,.compliance-overview{min-height:160px}.analysis-summary h3{font-size:18px;line-height:1.45;margin:8px 0}.source-tags{display:flex;gap:6px;flex-wrap:wrap}.source-tags span{border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:8px;color:var(--muted);background:#f8fafb}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.meta-grid div{background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:10px}.meta-grid span{display:block;font-size:7px;letter-spacing:.1em;color:var(--muted2);font-weight:800}.meta-grid strong{display:block;font-size:10px;margin-top:4px;overflow-wrap:anywhere}.compliance-overview .compliance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:24px}.compliance-grid div{border:1px solid var(--line);background:#f7f9fb;border-radius:11px;padding:13px;text-align:center}.compliance-grid strong{display:block;font-size:23px}.compliance-grid span{font-size:8px;color:var(--muted)}
.result-tabs{display:flex;gap:5px;overflow:auto;padding:7px;border:1px solid var(--line);background:#fff;border-radius:12px}.result-tab{border:0;background:transparent;border-radius:8px;padding:8px 10px;white-space:nowrap;font-size:9px;font-weight:800;color:var(--muted)}.result-tab span{margin-left:3px;color:var(--muted2)}.result-tab.active{background:var(--soft);color:#087d6d}.result-pane{display:none}.result-pane.active{display:block}.requirements-panel{padding:0;overflow:hidden}.table-head,.req-head,.history-row{display:grid;grid-template-columns:70px minmax(0,1fr) 125px 110px;gap:10px;align-items:center}.table-head{font-size:8px;color:var(--muted2);font-weight:800;letter-spacing:.1em;padding:12px 14px;background:#f8fafb;border-bottom:1px solid var(--line)}.req-line{display:grid;grid-template-columns:70px minmax(0,1fr) 125px 110px;gap:10px;padding:14px;border-top:1px solid var(--line);align-items:start}.req-line b{font-size:10px}.req-line>div{min-width:0}.req-line strong{font-size:10px;line-height:1.45;display:block}.req-line small{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:3px}.category-tag{font-size:8px;padding:5px 7px;border-radius:999px;background:#f3f6f8;color:#536779;font-weight:800}.badge{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:800}.badge.supported{background:#e5f8f2;color:#087d6d}.badge.confirm{background:#fff4d8;color:#9a6800}.badge.missing{background:#fbecef;color:var(--danger)}.draft-card{background:var(--ink);color:#fff;border-radius:15px;padding:22px}.draft-head{display:flex;justify-content:space-between;align-items:center}.draft-card h3{font-size:19px;line-height:1.5;margin:18px 0}.draft-card article{border-top:1px solid #ffffff18;padding:16px 0}.draft-card article>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.draft-card article b{font-size:11px}.draft-card article p{font-size:11px;line-height:1.7;color:#bfccd7;white-space:pre-wrap}.draft-card article small{font-size:8px;color:#8fa0af}.evidence-stack,.risk-stack{display:grid;gap:9px}.evidence-row,.risk-row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.evidence-row>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.evidence-row b{font-size:10px}.evidence-row p,.risk-row{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 0}.risk-row{display:flex;gap:10px;align-items:flex-start;margin:0}.risk-row>span{width:24px;height:24px;border-radius:8px;background:#fbecef;color:var(--danger);display:grid;place-items:center;font-weight:900;flex:none}.checklist{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 14px}.checklist>div{padding:12px 0;border-top:1px solid var(--line);font-size:10px}.checklist>div:first-child{border-top:0}.empty-pane{padding:30px;border:1px dashed var(--line2);border-radius:12px;text-align:center;color:var(--muted);font-size:10px}.loading-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:34px;text-align:center}.spinner{width:32px;height:32px;border:3px solid #dbe9e8;border-top-color:var(--teal);border-radius:50%;margin:0 auto 13px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-card h3{font-size:18px}.loading-card p{font-size:10px;color:var(--muted)}.loading-stages{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:16px}.loading-stages span{font-size:8px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--muted)}
.error-card{background:#fff;border:1px solid #ecd8dd;border-top:3px solid var(--danger);border-radius:16px;padding:23px;box-shadow:var(--shadow)}.error-icon{width:38px;height:38px;border-radius:11px;background:#fbecef;color:var(--danger);display:grid;place-items:center;font-weight:900;font-size:19px;margin-bottom:13px}.error-kicker{color:var(--danger)}.error-card h3{font-size:22px;margin:7px 0}.error-card>p{color:var(--muted);max-width:740px}.error-meta{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.error-meta span{border:1px solid var(--line);background:#f7f9fb;border-radius:999px;padding:6px 8px;font-size:8px;color:var(--muted)}.error-card details{border-top:1px solid var(--line);padding-top:12px;font-size:9px;color:var(--muted)}.error-card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:10px;font:9px/1.5 ui-monospace,monospace}.error-actions{display:flex;gap:8px;margin-top:16px}
.knowledge-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid{display:grid;grid-template-columns:1.25fr .8fr;gap:11px}.approve-row{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted)}.approve-row input{margin:0}.search-box{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:0 10px;margin:8px 0 13px;background:#fff}.search-box span{color:var(--muted2)}.search-box input{border:0;outline:0;width:100%;padding:11px 0;font-size:10px}.record-stack{display:grid;gap:8px;max-height:620px;overflow:auto}.record{border:1px solid var(--line);background:#fcfdfe;border-radius:12px;padding:12px}.record-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.record-title>div{display:grid}.record-title strong{font-size:10px}.record-title small{font-size:8px;color:var(--muted2);margin-top:2px}.record p{font-size:9px;color:var(--muted);line-height:1.6;white-space:pre-wrap;margin:8px 0}.record-actions{display:flex;justify-content:flex-end}.mini-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:800}.mini-button.danger{color:var(--danger)}
.history-list{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.history-row{width:100%;border:0;border-top:1px solid var(--line);background:#fff;padding:13px 14px;text-align:left;font-size:9px;color:var(--muted)}.history-row:first-child{border-top:0}.history-row strong{display:block;color:var(--text);font-size:10px}.history-row small{display:block;font-size:8px;color:var(--muted2);margin-top:2px}.history-row>b{justify-self:end;color:#087d6d}.empty-state{padding:48px 22px;background:#fff;border:1px dashed var(--line2);border-radius:16px;text-align:center;display:grid;place-items:center;gap:6px}.empty-state h2{font-size:20px;margin:4px 0}.empty-state p,.empty-state span{font-size:10px;color:var(--muted);max-width:500px}.empty-icon{width:43px;height:43px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:#087d6d;font-size:22px}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.setting-identity{display:flex;align-items:center;gap:12px;margin:18px 0}.setting-identity>div:last-child{display:grid}.setting-identity strong{font-size:11px}.setting-identity span{font-size:9px;color:var(--muted)}.setting-row{border-top:1px solid var(--line);padding:13px 0;display:flex;justify-content:space-between;gap:15px;align-items:center}.setting-row>div{display:grid}.setting-row b{font-size:10px}.setting-row span{font-size:9px;color:var(--muted);line-height:1.5}.state-pill{color:var(--muted)}.setting-row .state-pill.on{color:#087d6d}.span-2{grid-column:1/-1}.infra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:17px}.infra-grid div{background:#f7f9fb;border:1px solid var(--line);border-radius:11px;padding:12px}.infra-grid b{display:block;font-size:9px}.infra-grid span{display:block;font-size:8px;color:var(--muted);line-height:1.55;margin-top:5px}.infra-note{margin:14px 0 0;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:9px}
.help-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.help-hero{grid-column:1/-1;background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--shadow2)}.help-hero h2{font-size:30px;line-height:1.2;margin:8px 0}.help-hero p{color:#aebdca;max-width:800px}.help-flow{display:grid;grid-template-columns:1fr 25px 1fr 25px 1fr 25px 1fr;gap:9px;align-items:center;margin-top:26px}.help-flow div{border:1px solid #ffffff15;background:#ffffff06;border-radius:11px;padding:13px}.help-flow b{display:block;font-size:10px}.help-flow span{font-size:8px;color:#90a0b0}.help-flow i{color:var(--teal2);text-align:center;font-style:normal}.legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.legend-pill{padding:6px 8px;border-radius:999px;font-size:8px;font-weight:800}.legend-pill.supported{background:#e5f8f2;color:#087d6d}.legend-pill.confirm{background:#fff4d8;color:#956600}.legend-pill.missing{background:#fbecef;color:var(--danger)}
.mobile-drawer{display:none}.modal{position:fixed;inset:0;background:#03101ecc;backdrop-filter:blur(8px);z-index:150;display:grid;place-items:center;padding:16px}.modal-card,.scanner-card{width:min(560px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:var(--shadow2)}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.modal-head h2{font-size:22px;margin:6px 0}.modal-head p{font-size:10px;color:var(--muted)}.icon-button{width:35px;height:35px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:21px;display:grid;place-items:center}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.scanner-card{max-width:520px}.scanner-card>p{font-size:10px;color:var(--muted)}.scanner-card video{width:100%;aspect-ratio:4/3;background:#07111f;border-radius:14px;object-fit:cover}.scanner-status{font-size:9px;color:var(--muted);padding:10px 0}
.app-footer{max-width:1180px;margin:0 auto;padding:25px 0;color:var(--muted2);font-size:8px;letter-spacing:.06em}
.auth-gate{position:fixed;inset:0;overflow:auto;background:radial-gradient(circle at 8% 8%,#17304c 0,#07111f 42%,#040a12 100%);z-index:200;padding:28px}.auth-orbit{position:fixed;width:480px;height:480px;right:-220px;top:-220px;border:70px solid rgba(98,223,207,.045);border-radius:50%}.auth-shell{width:min(1160px,100%);margin:0 auto}.auth-brand{color:#fff;margin-bottom:34px}.auth-brand>div:last-child{display:grid}.auth-brand strong{font-size:14px}.auth-brand span{font-size:9px;color:#8fa1b3;margin-top:3px}.auth-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:36px;align-items:center}.auth-story{padding:10px 0}.auth-story h1{color:#fff;font-size:clamp(43px,5vw,68px);line-height:.98;letter-spacing:-.06em;max-width:730px;margin:11px 0 17px}.auth-story>p{max-width:650px;color:#b6c4d0;font-size:16px;line-height:1.7}.auth-proof-grid{display:grid;gap:8px;max-width:650px;margin-top:26px}.auth-proof-grid>div{display:grid;grid-template-columns:30px 145px 1fr;gap:10px;align-items:center;border:1px solid #ffffff15;background:#ffffff07;border-radius:11px;padding:11px 13px}.auth-proof-grid b{font-size:9px;color:var(--teal2)}.auth-proof-grid strong{font-size:10px;color:#e8eff5}.auth-proof-grid span{font-size:9px;color:#9eafbd}.auth-card{background:#fff;border-radius:21px;padding:29px;box-shadow:var(--shadow2)}.card-topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.auth-card h2{font-size:29px;line-height:1.08;margin:19px 0 8px}.auth-card>p{font-size:12px;color:var(--muted);margin-bottom:21px}.auth-card form{display:grid;gap:11px}.auth-card label{font-size:10px;color:#55687a;font-weight:800}.auth-card input{width:100%;margin-top:6px;padding:13px;border:1px solid var(--line);border-radius:10px;outline:0}.auth-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(22,184,159,.08)}.auth-card .text-link{margin-top:13px}.auth-message{min-height:18px;margin-top:12px;font-size:10px;color:var(--muted);line-height:1.5}.auth-message.error{color:var(--danger)}.auth-message.success{color:#087d6d}.auth-footnote{margin-top:20px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted2);font-size:9px}
[hidden]{display:none!important}
@media(max-width:1050px){.app-shell{grid-template-columns:215px 1fr}.content{padding:34px 24px}.dashboard-grid,.response-layout,.knowledge-layout,.settings-grid,.help-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.projects-grid{grid-template-columns:repeat(2,1fr)}.infra-grid{grid-template-columns:repeat(2,1fr)}.auth-grid{grid-template-columns:1fr}.auth-story{display:none}.auth-card{width:min(500px,100%);margin:0 auto}.help-flow{grid-template-columns:1fr}.help-flow i{display:none}}
@media(max-width:760px){
 .app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 13px}.mobile-top{display:flex;align-items:center;gap:9px}.mobile-top .icon-button{background:#fff}.brand-inline strong{font-size:11px}.brand-inline em{color:var(--teal);font-style:normal}.topbar-title,.circle-help{display:none}.topbar-actions{gap:6px}.topbar-actions .status{font-size:9px}.button.ghost{min-height:34px;padding:7px 10px;font-size:9px}
 .mobile-drawer{position:fixed;inset:62px 0 0;background:#fff;z-index:130;padding:13px;display:block;border-top:1px solid var(--line);box-shadow:0 18px 50px rgba(7,17,31,.12)}.mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 14px;border-bottom:1px solid var(--line)}.mobile-drawer-head strong{font-size:12px}.mobile-drawer-links{display:grid;gap:4px;padding-top:10px}.mobile-drawer-links button{border:0;background:transparent;border-radius:10px;text-align:left;padding:13px;color:var(--text);font-size:11px;font-weight:800}.mobile-drawer-links button:hover{background:#f4f7f9}
 .content{padding:21px 12px 35px}.page-head{display:block;margin-bottom:21px}.page-head h1{font-size:38px;margin:8px 0 10px}.page-head p{font-size:11px;line-height:1.65}.head-actions{margin-top:16px}.head-actions .button{width:100%}
 .metrics-grid{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:22px}
 .panel{padding:18px;border-radius:16px}.process-rail{grid-template-columns:1fr;gap:0}.process-step{padding:11px 0;border-top:1px solid var(--line)}.process-step:first-child{border-top:0}.process-step i{display:none}.process-foot{margin-top:14px}.action-card{grid-template-columns:30px 1fr 14px}.action-icon{width:30px;height:30px}
 .projects-grid{grid-template-columns:1fr}.project-add-card{min-height:180px}
 .response-layout{gap:12px}.drop-zone{min-height:285px;padding:38px 15px}.drop-zone h3{font-size:19px}.response-rail{gap:12px}.result-header{display:block}.result-actions{margin-top:12px}.result-actions .button{flex:1}.summary-grid{grid-template-columns:1fr}.table-head{display:none}.req-line{grid-template-columns:58px 1fr}.req-line>div:nth-child(3),.req-line>div:nth-child(4){grid-column:2}.result-tabs{margin-top:1px}.compliance-overview .compliance-grid{margin-top:15px}
 .form-grid{grid-template-columns:1fr}.full{grid-column:auto}.record-stack{max-height:none}.history-list{border-radius:12px}.history-row{grid-template-columns:1fr auto;gap:6px}.history-row:nth-child(n){grid-template-columns:1fr auto}.history-row>div:nth-child(2),.history-row>div:nth-child(3),.history-row>div:nth-child(4){grid-column:1}.history-row>b{grid-row:1/4;grid-column:2}
 .infra-grid{grid-template-columns:1fr 1fr}.help-flow{grid-template-columns:1fr}.auth-gate{padding:15px}.auth-brand{margin-bottom:18px}.auth-card{padding:22px;border-radius:18px}.auth-card h2{font-size:26px}
}
@media(max-width:460px){.metrics-grid{grid-template-columns:1fr}.infra-grid{grid-template-columns:1fr}.page-head h1{font-size:35px}.topbar-actions .status{display:none}.app-footer{padding-left:4px;padding-right:4px}}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-drawer,.app-footer,.page-head,.metrics-grid,.dashboard-grid,.response-layout,.result-header .result-actions,.result-tabs,.toast-root{display:none!important}.content{padding:0}.view{display:none!important}.view#view-response{display:block!important;max-width:none}.result-space{display:block;margin:0}.result-pane{display:block!important}.panel{box-shadow:none}.draft-card{background:#f3f5f7;color:#111}.draft-card article p{color:#44515e}.analysis-shell{gap:8px}}

/* FLOW UI refinement: explicit workflow hierarchy */
.response-stagebar{
  display:grid;
  grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  padding:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow);
}
.response-stage{
  min-height:58px;
  display:grid;
  grid-template-columns:32px 1fr;
  grid-template-rows:auto auto;
  column-gap:9px;
  align-items:center;
  padding:8px 10px;
  border-radius:11px;
}
.response-stage span{
  grid-row:1/3;
  width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;
  background:#f2f6f8;color:var(--muted2);
  font-size:9px;font-weight:900;
}
.response-stage b{font-size:10px;line-height:1.1}
.response-stage small{font-size:8px;color:var(--muted)}
.response-stage.active{background:var(--soft)}
.response-stage.active span{background:var(--teal);color:#04231e}
.response-stage.active b{color:#087d6d}
.stage-line{height:1px;background:var(--line)}
.mobile-bottom-nav{display:none}
.result-space{
  border-top:1px solid var(--line);
  padding-top:24px;
}
.result-header{
  background:#fff;
  border:1px solid var(--line);
  border-top:3px solid var(--teal);
  border-radius:16px;
  padding:18px 20px;
  box-shadow:var(--shadow);
}
.analysis-shell{margin-top:13px}
.analysis-shell .summary-grid{margin-bottom:0}
.result-pane{margin-top:13px}
.result-tabs{position:sticky;top:70px;z-index:20}
@media(max-width:760px){
  body{padding-bottom:72px}
  .topbar{position:sticky;top:0}
  .content{padding:18px 12px 26px}
  .mobile-bottom-nav{
    position:fixed;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    left:0;right:0;bottom:0;
    height:68px;
    z-index:120;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(14px);
    border-top:1px solid var(--line);
    padding:7px 7px max(7px,env(safe-area-inset-bottom));
    box-shadow:0 -12px 30px rgba(7,17,31,.08);
  }
  .mobile-nav-item{
    border:0;background:transparent;color:var(--muted);
    border-radius:10px;display:grid;place-items:center;
    align-content:center;gap:2px;
    font-weight:800;
  }
  .mobile-nav-item span{font-size:17px;line-height:1}
  .mobile-nav-item small{font-size:8px}
  .mobile-nav-item.active{color:#087d6d;background:var(--soft)}
  .mobile-nav-item.primary span{
    width:30px;height:30px;border-radius:9px;
    display:grid;place-items:center;
    background:var(--teal);color:#04231e;
  }
  .mobile-nav-item.primary{color:#087d6d}
  .response-stagebar{
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    padding:6px;
    margin-bottom:12px;
    border-radius:14px;
    overflow:hidden;
  }
  .response-stage{
    display:grid;
    grid-template-columns:24px 1fr;
    min-height:54px;
    padding:7px 5px;
    column-gap:6px;
  }
  .response-stage span{width:24px;height:24px;font-size:8px}
  .response-stage b{font-size:8px}
  .response-stage small{font-size:7px}
  .stage-line{display:none}
  .result-space{margin-top:18px;padding-top:18px}
  .result-header{padding:15px}
  .result-tabs{top:62px}
  .result-actions{display:grid;grid-template-columns:1fr 1fr}
  .result-actions .button{width:100%}
  .response-layout{display:flex;flex-direction:column}
  .source-panel{order:1}
  .response-rail{order:2;width:100%}
  .rail-panel{order:1}
  .scan-panel{order:2}
  .drop-zone{margin-top:14px}
}
@media(max-width:460px){
  .response-stage{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:2px;
  }
  .response-stage span{grid-row:auto}
  .response-stage b{font-size:7px}
  .response-stage small{font-size:6px}
  .result-actions{grid-template-columns:1fr}
}


/* REVIEW MODE: analysis is a separate workspace, not another block in the upload page. */
.view#view-response.review-mode .response-stagebar,
.view#view-response.review-mode > .page-head,
.view#view-response.review-mode .response-layout{display:none!important}
.view#view-response.review-mode .result-space{
  display:block!important;
  max-width:1180px;
  margin:0 auto;
  padding-top:4px;
  border-top:0;
}
.result-heading{display:grid;gap:6px}
.result-heading .result-back{justify-self:start;margin-bottom:3px}
.result-heading h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.045em;margin:0}
.result-heading p{margin:0;color:var(--muted);font-size:11px}
.view#view-response.review-mode .result-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px 20px;
  border-top-width:4px;
}
.view#view-response.review-mode .result-tabs{
  position:sticky;
  top:62px;
  z-index:30;
  margin-top:13px;
  box-shadow:0 8px 22px rgba(7,17,31,.08);
}
@media(max-width:760px){
  .view#view-response.review-mode .result-space{padding:0;margin:0}
  .view#view-response.review-mode .result-header{display:block;padding:14px;border-radius:14px}
  .view#view-response.review-mode .result-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}
  .view#view-response.review-mode .result-actions .button{width:100%}
  .view#view-response.review-mode .result-tabs{top:62px;overflow-x:auto;display:flex;flex-wrap:nowrap}
  .view#view-response.review-mode .result-tab{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:460px){
  .view#view-response.review-mode .result-actions{grid-template-columns:1fr}
  .view#view-response.review-mode .result-tabs{gap:4px}
}


/* Credit-readiness trust layer */
.auth-legal{display:flex;gap:7px;justify-content:center;margin-top:14px;font-size:9px;color:var(--muted2)}
.auth-legal a,.auth-privacy-note a{color:#087d6d;font-weight:800;text-decoration:none}.auth-legal a:hover,.auth-privacy-note a:hover{text-decoration:underline}
.auth-privacy-note{margin-top:12px;padding:10px 0 0;border-top:1px solid var(--line);font-size:8px;line-height:1.55;color:var(--muted2)}
.app-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.app-footer a{color:#087d6d;text-decoration:none;font-weight:800}.app-footer a:hover{text-decoration:underline}
