:root{--paper:#fafaf8;--card:#fff;--ink:#1c1d1f;--body:#333;--muted:#6b6b68;--line:#e4e4e1;--line-strong:#d2d2ce;--navy:#039;--navy-deep:#026;--navy-soft:#eaf0fc;--permit:#1c6b50;--permit-soft:#e7f2ed;--color-surface:#fff;--color-surface-muted:#f5f5f5;--color-surface-raised:#fafafa;--color-primary:#e8201a;--color-primary-hover:#c91914;--color-text-primary:#222;--color-text-secondary:#666;--color-text-disabled:#aaa;--color-border:#0000001f;--color-border-strong:#0000003d;--color-focus-ring:#e8201a66;--color-success:#1a7f37;--color-success-bg:#e6f4ea;--color-warning:#9a6700;--color-warning-bg:#fff8e5;--color-danger:#c91914;--color-danger-bg:#fdeceb;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace;--font-size-sm:12px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:20px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.25;--line-height-base:1.5;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 2px 8px #0000001f;--transition-fast:.1s ease;--transition-base:.2s ease}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#242424;--card:#2e2e2e;--ink:#ededec;--body:#c9c9c6;--muted:#8b8b87;--line:#303136;--line-strong:#3b3c41;--navy:#6e93e0;--navy-deep:#8fadea;--navy-soft:#1d2534;--permit:#5fbe97;--permit-soft:#16261f}}:root[data-theme=dark]{--paper:#242424;--card:#2e2e2e;--ink:#ededec;--body:#c9c9c6;--muted:#8b8b87;--line:#303136;--line-strong:#3b3c41;--navy:#6e93e0;--navy-deep:#8fadea;--navy-soft:#1d2534;--permit:#5fbe97;--permit-soft:#16261f;--color-surface:#1a1a1a;--color-surface-muted:#242424;--color-surface-raised:#2a2a2a;--color-text-primary:#f0f0f0;--color-text-secondary:#999;--color-text-disabled:#555;--color-border:#ffffff1f;--color-border-strong:#ffffff3d;--color-focus-ring:#e8201a80}[data-theme=group-brand]{--color-primary:#048;--color-primary-hover:#036;--color-focus-ring:#0486}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--body);background-color:var(--paper);-webkit-font-smoothing:antialiased}#root{height:100%}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}img,svg{max-width:100%;display:block}button{font:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}input,select,textarea{font:inherit;color:inherit}.mono{font-family:var(--font-mono)}.login-wrap{background:var(--paper);justify-content:center;align-items:center;min-height:100%;padding:32px 20px;display:flex}.login-block{width:100%;max-width:380px}.logo-row{justify-content:center;align-items:center;gap:14px;margin-bottom:22px;display:flex}.logo-row img{width:auto;height:34px;display:block}.logo-row .logo-divider{background:var(--line-strong);align-self:stretch;width:1px}.logo-row .logo-wordmark{color:var(--ink);max-width:140px;font-size:13px;font-weight:500;line-height:1.25}.brand-heading{text-align:center;color:var(--ink);margin:0 0 6px;font-size:24px;font-weight:600}.identity-line{text-align:center;color:var(--muted);letter-spacing:.01em;margin-bottom:22px;font-size:13px}.hairline{background:var(--line-strong);transform-origin:0;height:1px;margin:0 0 26px}.signin-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:26px 26px 22px}.signin-card h2{color:var(--ink);margin:0 0 18px;font-size:16px;font-weight:600}.field{margin-bottom:14px}.field label{color:var(--muted);margin-bottom:5px;font-size:12.5px;display:block}.field input,.field textarea{border:1px solid var(--line-strong);background:var(--paper);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:4px;padding:9px 11px;font-size:14px}.field input:focus,.field textarea:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy)}.field .hint,.hint{color:var(--muted);margin-top:4px;font-size:11.5px;display:block}.btn-primary{background:var(--navy);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:4px;margin-top:4px;padding:10px;font-size:14px;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--navy-deep)}.btn-primary:disabled{opacity:.7;cursor:default}.btn-primary.inline{width:auto;margin-top:0;padding:9px 16px}.btn-secondary{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:4px;padding:9px 16px;font-size:14px;font-weight:600}.btn-secondary:disabled{opacity:.6;cursor:default}.btn-danger{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:4px;padding:9px 16px;font-size:14px;font-weight:600}.form-actions{align-items:center;gap:10px;margin-top:16px;display:flex}.field-error{color:#b3261e;margin:-6px 0 14px;font-size:12.5px}.foot-note{color:var(--muted);margin-top:16px;font-size:12px;line-height:1.5}.entrance>*{opacity:0}.entrance .logo-row{animation:.5s ease-out .1s forwards riseIn}.entrance .brand-heading{animation:.5s ease-out .2s forwards riseIn}.entrance .identity-line{animation:.5s ease-out .35s forwards riseIn}.entrance .hairline{animation:.45s ease-out .55s forwards drawLine}.entrance .signin-card{animation:.5s ease-out .75s forwards riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.entrance>*{opacity:1!important;animation:none!important;transform:none!important}}.app-head{border-bottom:1px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;padding:14px 28px;display:flex}.app-head img{height:22px}.app-head .brand{align-items:center;gap:10px;display:flex}.app-head .product-name{color:var(--ink);font-size:14px;font-weight:600}.app-head .who{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.app-head .who b{color:var(--ink);font-weight:600}.app-head .who .tag{background:var(--navy-soft);color:var(--navy);border-radius:3px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.app-head .sign-out{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:12.5px;text-decoration:underline}.wrap2{max-width:760px;margin:0 auto;padding:28px 20px 60px}.card2{background:var(--card);border:1px solid var(--line);border-radius:6px;margin-bottom:22px;overflow:hidden}.access-card{border-left:3px solid var(--navy)}.access-card .inner{padding:16px 20px}.access-card h2{color:var(--ink);margin:0 0 6px;font-size:14px;font-weight:600}.access-card p{color:var(--body);margin:0;font-size:13.5px}.access-card .priv{color:var(--ink);font-weight:600}.access-card .note{color:var(--muted);margin-top:8px;font-size:12.5px;line-height:1.5}.licence-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.licence-head h2{color:var(--ink);margin:0;font-size:15px;font-weight:600;display:inline}.licence-head .num{color:var(--muted);margin-left:8px;font-size:13px}.licence-head .expiry{background:var(--permit-soft);color:var(--permit);border-radius:3px;padding:3px 9px;font-size:12px;font-weight:600}.licence-head .expiry.due{background:var(--line-strong);color:var(--ink)}.kv-row{border-bottom:1px solid var(--line);padding:9px 20px;font-size:13.5px;display:flex}.kv-row:last-child{border-bottom:0}.kv-row .k{color:var(--muted);flex:0 0 190px}.kv-row .v{color:var(--ink)}.annex-head{border-bottom:1px solid var(--line-strong);color:var(--muted);padding:10px 20px;font-size:11.5px;font-weight:600;display:flex}.annex-head .c1{flex:0 0 150px}.annex-head .c2{flex:1}.annex-head .c3{text-align:right;flex:0 0 90px}.arow{border-bottom:1px solid var(--line);align-items:center;padding:9px 20px;font-size:13.5px;display:flex}.arow:last-child{border-bottom:0}.arow .c1{color:var(--muted);flex:0 0 150px}.arow .c2{color:var(--body);flex:1}.arow .c3{text-align:right;flex:0 0 90px;font-weight:600}.arow.yes{background:var(--permit-soft)}.arow.yes .c3{color:var(--permit)}.arow.no .c3{color:var(--muted);font-weight:500}.scroll-note{color:var(--muted);border-top:1px solid var(--line);padding:9px 20px;font-size:12px}.status-pill{border-radius:3px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.status-pill.progress{background:var(--navy-soft);color:var(--navy)}.status-pill.success{background:var(--permit-soft);color:var(--permit)}.status-pill.stopped{background:var(--line-strong);color:var(--ink)}.intake-row{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.intake-row:last-child{border-bottom:0}.intake-row:hover{background:var(--paper)}.intake-row .title{color:var(--ink);font-size:13.5px;font-weight:500}.intake-row .sub{color:var(--muted);margin-top:2px;font-size:12px}.page-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-head h1{color:var(--ink);margin:0;font-size:18px;font-weight:600}.back-link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-bottom:16px;font-size:13px;text-decoration:underline}.outside-scope-card{border-left:3px solid var(--ink)}.outside-scope-card .inner{padding:16px 20px}.outside-scope-card h2{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:600}.outside-scope-card p{color:var(--body);margin:0 0 8px;font-size:13.5px}.outside-scope-card p:last-child{margin-bottom:0}.class-toggle{gap:8px;margin-bottom:10px;display:flex}.class-toggle button{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:4px;flex:1;padding:10px;font-weight:500}.class-toggle button.selected{border-color:var(--navy);background:var(--navy-soft);color:var(--navy);font-weight:600}.class-toggle-escape{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;text-decoration:underline}.checklist-head{border-bottom:1px solid var(--line-strong);color:var(--muted);padding:10px 20px;font-size:11.5px;font-weight:600;display:flex}.checklist-head .cc1{flex:0 0 70px}.checklist-head .cc2{flex:1}.checklist-head .cc3{flex:0 0 110px}.checklist-head .cc4{text-align:right;flex:0 0 130px}.checklist-row{border-bottom:1px solid var(--line);align-items:center;padding:10px 20px;font-size:13.5px;display:flex}.checklist-row:last-child{border-bottom:0}.checklist-row .cc1{color:var(--muted);flex:0 0 70px;font-size:12px}.checklist-row .cc2{color:var(--ink);flex:1}.checklist-row .cc3{flex:0 0 110px}.checklist-row .cc4{text-align:right;flex:0 0 130px}.checklist-row.missing-mandatory{background:var(--line-strong)}.upload-btn{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:12px}.uploaded-label{color:var(--permit);font-size:12px;font-weight:600}.why-blocked{background:var(--line-strong);color:var(--ink);border-bottom:1px solid var(--line);padding:12px 20px;font-size:13px}.why-blocked b{font-weight:600}.guidance-framing{color:var(--muted);margin:0 0 12px;font-size:13px;line-height:1.5}.guidance-note{color:var(--muted);margin:-6px 0 12px;font-size:12px;font-style:italic}.guidance-group{margin-bottom:16px}.guidance-group:last-child{margin-bottom:0}.guidance-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:11.5px;font-weight:600}.guidance-empty{color:var(--muted);margin:0;font-size:12.5px;font-style:italic}.guidance-row{border-radius:4px;margin-bottom:8px;padding:10px 12px}.guidance-row:last-child{margin-bottom:0}.guidance-row.pending,.checklist-row.pending{border:1px dashed var(--line-strong);background:0 0}.checklist-row.pending{border-radius:4px;margin:8px 20px}.pending-tag{color:var(--muted);margin-right:6px;font-size:11px;font-weight:600}.guidance-rule-number{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600}.guidance-row.pending .guidance-rule-number:before{content:"PENDING · ";color:var(--muted)}.guidance-summary{color:var(--body);margin-bottom:4px;font-size:13px}.guidance-citation{color:var(--muted);font-size:11.5px;font-family:var(--font-mono)}.app-shell{flex-direction:column;height:100%;display:flex}.app-shell-body{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--card);border-right:1px solid var(--line);flex-shrink:0;width:220px;padding:16px 0;overflow-y:auto}.sidebar-link{color:var(--muted);border-right:3px solid #0000;padding:10px 20px;font-size:13.5px;font-weight:500;text-decoration:none;display:block}.sidebar-link:hover{background:var(--paper)}.sidebar-link.active{background:var(--navy-soft);color:var(--navy);border-right-color:var(--navy);font-weight:600}.app-main{flex:1;overflow-y:auto}.fab{background:var(--navy);color:#fff;width:52px;height:52px;box-shadow:var(--shadow-md);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex;position:fixed;bottom:28px;right:28px}.fab:hover{background:var(--navy-deep)}.dash-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:11.5px;font-weight:600}.tile-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}@media (width<=900px){.tile-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.tile-grid{grid-template-columns:repeat(2,1fr)}}.metric-tile{aspect-ratio:1;background:var(--card);border:1px solid var(--line);color:inherit;border-radius:6px;flex-direction:column;justify-content:space-between;padding:16px;text-decoration:none;display:flex}a.metric-tile:hover{border-color:var(--line-strong)}.metric-value{color:var(--ink);font-size:34px;font-weight:700;line-height:1}.metric-label{color:var(--muted);font-size:12.5px;line-height:1.35}.action-pair{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:22px;display:grid}.action-pair>.card2{margin-bottom:0}.status-pill.neutral{background:var(--paper);color:var(--muted);border:1px solid var(--line)}.filter-row{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.filter-row label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.filter-row select{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);font:inherit;border-radius:4px;padding:7px 10px;font-size:13px}.doc-head,.doc-row{grid-template-columns:110px 1fr 110px 90px 140px;align-items:center;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.doc-head{border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:11.5px;font-weight:600}.doc-row{border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.doc-row:last-child{border-bottom:0}a.doc-row:hover{background:var(--paper)}.doc-row .muted{color:var(--muted)}.review-overdue{color:var(--ink);font-weight:600}.review-overdue:after{content:" · overdue";color:var(--ink);font-weight:600}.version-card{border-bottom:1px solid var(--line);padding:14px 20px}.version-card:last-child{border-bottom:0}.version-card.pending{border:1px dashed var(--line-strong);border-radius:4px;margin:10px 20px}.version-card .vhead{align-items:center;gap:8px;margin-bottom:6px;display:flex}.version-card .vnum{font-family:var(--font-mono);color:var(--ink);font-size:13px;font-weight:600}.version-card .vsummary{color:var(--body);margin-bottom:6px;font-size:13px}.version-card .vmeta{color:var(--muted);font-size:12px}.link-button{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px;text-decoration:underline}.fab-menu{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-md);z-index:20;border-radius:6px;min-width:220px;padding:6px 0;position:fixed;bottom:90px;right:28px}.fab-menu button{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:9px 16px;font-size:13.5px;display:block}.fab-menu button:hover{background:var(--paper)}.draft-badge{border:1px dashed var(--line-strong);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border-radius:3px;margin-left:6px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-block}.draft-record-row{border:1px dashed var(--line-strong);border-radius:4px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.draft-record-row .name,.draft-record-row .code{color:var(--body);font-size:13px}.draft-record-row .code{font-family:var(--font-mono)}.draft-record-row .meta{color:var(--muted);font-size:12px}.audit-table{border-collapse:collapse;width:100%;font-size:13px}.audit-table th{text-align:left;border-bottom:1px solid var(--line-strong);color:var(--muted);padding:9px 20px;font-size:11.5px;font-weight:600}.audit-table td{border-bottom:1px solid var(--line);color:var(--body);padding:9px 20px}.audit-table tr:last-child td{border-bottom:0}.muted-note{color:var(--muted);padding:16px 20px;font-size:13.5px}.dev-link{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline;display:block}.cr-head,.cr-row{grid-template-columns:120px 1fr 90px 190px 130px 100px;align-items:center;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.cr-head{border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:11.5px;font-weight:600}.cr-row{border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.cr-row:last-child{border-bottom:0}a.cr-row:hover{background:var(--paper)}.cr-row.pending{border:1px dashed var(--line-strong);border-radius:4px;grid-template-columns:100px 1fr 90px 190px 130px 100px;margin:8px 20px;padding:10px 12px}.doc-picker{border:1px solid var(--line-strong);background:var(--paper);border-radius:4px;max-height:200px;margin-top:6px;overflow-y:auto}.doc-picker label{border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;align-items:center;gap:8px;margin:0;padding:6px 11px;font-size:13px;display:flex}.doc-picker label:last-child{border-bottom:0}.doc-picker input[type=checkbox]{width:auto}.tab-row{border-bottom:1px solid var(--line-strong);gap:4px;margin-bottom:16px;display:flex}.tab-link{color:var(--muted);border:1px solid #0000;border-radius:4px 4px 0 0;margin-bottom:-1px;padding:8px 16px;font-size:13.5px;font-weight:600;text-decoration:none}.tab-link:hover{color:var(--ink)}.tab-link.active{color:var(--ink);background:var(--card);border-color:var(--line-strong);border-bottom-color:var(--card)}.nc-head,.nc-row{grid-template-columns:120px 1fr 80px 80px 200px 150px 100px;align-items:center;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.capa-head,.capa-row{grid-template-columns:130px 1fr 100px 210px 150px 100px;align-items:center;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.nc-head,.capa-head{border-bottom:1px solid var(--line-strong);color:var(--muted);font-size:11.5px;font-weight:600}.nc-row,.capa-row{border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.nc-row:last-child,.capa-row:last-child{border-bottom:0}a.nc-row:hover,a.capa-row:hover{background:var(--paper)}.capa-row.pending{border:1px dashed var(--line-strong);border-radius:4px;grid-template-columns:110px 1fr 100px 210px 150px 100px;margin:8px 20px;padding:10px 12px}.overdue-flag{background:var(--line-strong);color:var(--ink);border-radius:3px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.trn-head,.trn-row{grid-template-columns:120px 1fr 110px 130px 110px 110px;align-items:center;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.cm-head,.cm-row{grid-template-columns:150px 1fr 190px 110px 110px;align-items:start;gap:12px;padding:10px 20px;font-size:13.5px;display:grid}.trn-head,.cm-head{border-bottom:1px solid var(--line-strong);color:var(--muted);align-items:center;font-size:11.5px;font-weight:600}.trn-row,.cm-row{border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.trn-row:last-child,.cm-row:last-child{border-bottom:0}a.trn-row:hover{background:var(--paper)}.trn-row.pending{border:1px dashed var(--line-strong);border-radius:4px;grid-template-columns:110px 1fr 110px 130px 110px 110px;margin:8px 20px;padding:10px 12px}.users-head,.users-row{grid-template-columns:1.4fr 1.9fr .9fr 1.3fr .8fr;align-items:center;gap:12px;padding:11px 14px;display:grid}.users-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#8a8a8a);border-bottom:1px solid var(--border,#e4e4e7);font-size:12px}.users-row{border-bottom:1px solid var(--border,#e4e4e7);color:inherit;text-decoration:none}.users-row:last-child{border-bottom:none}.users-row:hover{background:var(--surface-2,#7f7f7f0f)}.users-privs{flex-wrap:wrap;gap:6px;display:flex}.user-form{flex-direction:column;gap:16px;display:flex}.priv-list{flex-direction:column;gap:8px;display:flex}.toggle-row{align-items:center;gap:8px;display:flex}.temp-pw-box{border:1px solid var(--border,#e4e4e7);background:var(--surface-2,#7f7f7f0f);border-radius:8px;align-items:center;gap:12px;margin-top:8px;padding:10px 14px;display:inline-flex}
