@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600;8..60,700;8..60,800&family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--pa-paper:#f2eee2;--pa-paper-2:#ece6d5;--pa-paper-inset:#fbf8f0;--pa-data:#fff;--pa-ink:#1a1a1a;--pa-ink-2:#2a2622;--pa-ink-muted:#5a554e;--pa-ink-soft:#8a847b;--pa-rule:#1a1a1a2e;--pa-rule-strong:#1a1a1a5c;--pa-rule-faint:#1a1a1a1a;--pa-navy:#0b2742;--pa-navy-2:#143864;--pa-navy-soft:#e3e8ef;--pa-navy-faint:#f1f3f7;--pa-green:#2d5a3e;--pa-green-bg:#e4ecdf;--pa-green-rule:#9bb39a;--pa-bronze:#7a4d0f;--pa-bronze-bg:#f1e6cc;--pa-bronze-rule:#c8ac73;--pa-oxblood:#7b2b1f;--pa-oxblood-bg:#efd7d2;--pa-oxblood-rule:#c28b81;--pa-eggplant:#3d2e5a;--pa-eggplant-bg:#e0dae9;--pa-eggplant-rule:#a89bc1;--pa-stone:#4a4742;--pa-stone-bg:#e1ddd2;--pa-stone-rule:#b2aca0;--pa-font-display:"Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;--pa-font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--pa-font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg:var(--pa-paper);--surface:var(--pa-data);--surface-soft:var(--pa-paper-inset);--surface-blue:var(--pa-navy-soft);--text:var(--pa-ink);--muted:var(--pa-ink-muted);--line:var(--pa-rule);--line-strong:var(--pa-rule-strong);--blue:var(--pa-navy);--blue-dark:var(--pa-navy-2);--green:var(--pa-green);--amber:var(--pa-bronze);--red:var(--pa-oxblood);--purple:var(--pa-eggplant);--shadow:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--pa-paper);color:var(--pa-ink);font-family:var(--pa-font-sans);font-feature-settings:"ss01", "cv11", "tnum";margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{border:0}h1,h2,h3,p{margin-top:0}.app-frame{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.nav-rail{border-right:1px solid var(--pa-rule-strong);background:var(--pa-paper-2);height:100vh;padding:22px 18px;position:sticky;top:0;overflow-y:auto}.brand-lockup{border-bottom:1px solid var(--pa-rule);align-items:center;gap:12px;margin-bottom:22px;padding-bottom:16px;display:flex}.brand-mark{background:var(--pa-navy);width:36px;height:36px;color:var(--pa-paper);font-family:var(--pa-font-display);border-radius:4px;flex-shrink:0;place-items:center;font-size:17px;font-weight:700;display:grid}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-family:var(--pa-font-display);letter-spacing:-.01em;font-size:15px;font-weight:600}.brand-lockup span{font-family:var(--pa-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pa-ink-muted);margin-top:3px;font-size:9.5px;font-weight:600}.primary-nav{gap:0;margin-bottom:18px;display:grid}.primary-nav button{width:100%;color:var(--pa-ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;padding:9px 4px;font-size:13px;font-weight:500;transition:background .1s}.primary-nav button:hover{color:var(--pa-navy);background:#0b27420a}.primary-nav button.is-active{color:var(--pa-navy);border-bottom-color:var(--pa-navy);font-weight:600}.nav-card{border:0;border-top:1px solid var(--pa-rule);box-shadow:none;background:0 0;padding:12px 4px}.nav-card ul,.checklist{color:var(--pa-ink-muted);margin:10px 0 0;padding-left:18px;line-height:1.5}.section-kicker{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:9.5px;font-weight:600;display:block}.app-main{width:min(1400px,100% - 36px);margin:0 auto;padding:0 0 40px}.topbar{border-bottom:2px solid var(--pa-ink);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding:22px 0 14px;display:flex}.topbar h1{font-family:var(--pa-font-display);letter-spacing:-.015em;margin:4px 0 0;font-size:28px;font-weight:600;line-height:1.15}.topbar-actions{align-items:center;gap:12px;display:flex}.api-status{border:1px solid var(--pa-rule-strong);background:var(--pa-paper-inset);gap:5px;min-width:240px;padding:8px 10px;display:grid}.api-status span:last-child{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.06em;font-size:11px;font-weight:600}.tab-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.metric-grid--compact{margin-bottom:18px}.metric-card{border:0;border-right:1px solid var(--pa-rule);border-top:1px solid var(--pa-rule);border-bottom:1px solid var(--pa-rule);box-shadow:none;background:0 0;padding:14px 16px}.metric-card:first-child{border-left:1px solid var(--pa-rule)}.metric-card span,.metric-card small{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.metric-card strong{font-family:var(--pa-font-display);letter-spacing:-.022em;font-variant-numeric:tabular-nums;margin:5px 0 3px;font-size:32px;font-weight:600;line-height:1;display:block}.metric-card small{text-transform:none;letter-spacing:.04em;font-size:10.5px}.panel,.workspace-panel,.page-panel,.assurance-panel,.subpanel,.guided-flow,.empty-shell{border:0;border-top:1px solid var(--pa-rule);border-bottom:1px solid var(--pa-rule);background:var(--pa-data);box-shadow:none}.panel,.workspace-panel,.page-panel,.assurance-panel,.subpanel,.empty-shell{padding:16px}.guided-flow{margin-bottom:12px;padding:12px}.panel-header,.workspace-header,.page-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.panel h2,.page-header h2,.workspace-header h2,.assurance-panel h2{font-family:var(--pa-font-display);letter-spacing:-.012em;margin:4px 0 6px;font-size:21px;font-weight:600}.workspace-header p,.assurance-panel p,.subpanel p{color:var(--pa-ink-muted);margin-bottom:0;font-size:13px;line-height:1.45}.page-panel{min-height:calc(100vh - 120px)}.page-header{border-bottom:1px solid var(--pa-rule);margin-bottom:12px;padding-bottom:12px}.page-context,.record-toolbar{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;font-size:11px;font-weight:600}.record-toolbar{border-bottom:1px solid var(--pa-rule);justify-content:space-between;gap:16px;margin-bottom:8px;padding-bottom:8px;display:flex}.table-link-button{color:var(--pa-navy);cursor:pointer;font-family:var(--pa-font-mono);letter-spacing:.06em;background:0 0;border:0;padding:0;font-size:11px;font-weight:600}tr.is-selected-row td{background:var(--pa-paper-inset)}td small{color:var(--pa-ink-muted);margin-top:3px;font-size:11px;display:block}.start-project-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;max-width:860px;display:grid}.create-project-form{border:0;border-top:1px solid var(--pa-rule);border-bottom:1px solid var(--pa-rule);background:var(--pa-paper-inset);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;padding:12px;display:grid}.stack-form{gap:12px;margin-top:16px;display:grid}label{color:var(--pa-ink-muted);gap:5px;font-size:12px;font-weight:600;display:grid}.label-text,label>span:first-child{font-family:var(--pa-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pa-ink-muted);font-size:10px;font-weight:600}input,select,textarea{border:0;border-bottom:1px solid var(--pa-rule-strong);width:100%;color:var(--pa-ink);font-family:var(--pa-font-sans);background:0 0;border-radius:0;padding:6px 0 7px;font-size:13.5px}input:focus,select:focus,textarea:focus{border-bottom:2px solid var(--pa-navy);outline:0;padding-bottom:6px}textarea{resize:vertical}.wide-field,.form-actions{grid-column:1/-1}.form-section-heading{font-family:var(--pa-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pa-ink-muted);border-top:1px solid var(--pa-rule);grid-column:1/-1;margin:10px 0 0;padding-top:18px;font-size:10px;font-weight:700}.form-section-heading:first-of-type{border-top:0;margin-top:0;padding-top:0}.checkbox-group{flex-wrap:wrap;gap:10px 22px;margin-top:8px;display:flex}.checkbox-label{font-family:var(--pa-font-sans);color:var(--pa-ink);text-transform:none;letter-spacing:0;cursor:pointer;align-items:center;gap:7px;font-size:13px;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{width:auto;accent-color:var(--pa-navy);border:0}.form-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.form-actions span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;font-size:11px;font-weight:600}.field-help{color:var(--pa-ink-muted);border-top:1px dashed var(--pa-rule);margin:0 0 10px;padding-top:4px;font-size:12px;font-style:italic;line-height:1.4}.primary-button,.secondary-button{cursor:pointer;font-family:var(--pa-font-sans);letter-spacing:.04em;border-radius:2px;padding:9px 14px;font-size:12.5px;font-weight:700;line-height:1}.primary-button{background:var(--pa-navy);color:var(--pa-paper)}.primary-button:hover{background:var(--pa-navy-2)}.secondary-button{border:1px solid var(--pa-rule-strong);color:var(--pa-ink);background:0 0}.secondary-button:hover{border-color:var(--pa-navy);background:#0b27420d}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.pill{width:fit-content;font-family:var(--pa-font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:2px;align-items:center;gap:5px;padding:4px 8px;font-size:9.5px;font-weight:600;display:inline-flex}.pill--draft,.pill--in_review,.pill--impact-undecided,.pill--mode-demo{background:var(--pa-bronze-bg);color:var(--pa-bronze);border-color:var(--pa-bronze-rule)}.pill--approved,.pill--impact-non_gxp,.pill--mode-api{background:var(--pa-green-bg);color:var(--pa-green);border-color:var(--pa-green-rule)}.pill--rejected{background:var(--pa-oxblood-bg);color:var(--pa-oxblood);border-color:var(--pa-oxblood-rule)}.pill--superseded{background:var(--pa-stone-bg);color:var(--pa-stone);border-color:var(--pa-stone-rule)}.pill--impact-gxp_indirect{background:var(--pa-navy-soft);color:var(--pa-navy);border-color:#9dafc2}.pill--impact-gxp_direct{background:var(--pa-eggplant-bg);color:var(--pa-eggplant);border-color:var(--pa-eggplant-rule)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12.5px}th{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-align:left;text-transform:uppercase;border-top:1px solid var(--pa-ink);border-bottom:1px solid var(--pa-ink);padding:9px 10px;font-size:10px;font-weight:600}td,th{vertical-align:top}td{color:var(--pa-ink);border-bottom:1px solid var(--pa-rule);padding:11px 10px;line-height:1.45}tr:last-child td{border-bottom:0}tr:hover td{background:var(--pa-paper-inset)}td .id-code{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.06em;margin-bottom:2px;font-size:10.5px;display:block}.project-list{gap:0;display:grid}.project-row{border:0;border-bottom:1px solid var(--pa-rule);width:100%;color:var(--pa-ink);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(240px,1fr) auto auto minmax(150px,auto);align-items:center;gap:12px;padding:12px 4px;transition:background .1s;display:grid}.project-row:first-child{border-top:1px solid var(--pa-rule)}.project-row:hover,.project-row.is-selected{background:var(--pa-paper-inset)}.project-row strong,.project-row span{display:block}.project-row span,.project-row small{color:var(--pa-ink-muted);margin-top:3px;font-size:12px;line-height:1.4}.assurance-panel{position:sticky;top:28px}.control-stack{gap:10px;margin-top:18px;display:grid}.control-stack div{border-top:1px solid var(--pa-rule);background:0 0;padding:12px 0}.control-stack strong,.control-stack span{display:block}.control-stack span{color:var(--pa-ink-muted);margin-top:4px;font-size:12px;line-height:1.45}.workspace-panel{margin-top:12px}.project-switcher{border:0;border-top:1px solid var(--pa-rule-strong);border-bottom:1px solid var(--pa-rule-strong);box-shadow:none;background:0 0;margin-bottom:12px;padding:14px 0}.project-switcher-summary{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.project-switcher-summary h2{font-family:var(--pa-font-display);letter-spacing:-.012em;margin:5px 0 4px;font-size:19px;font-weight:600}.project-switcher-summary p{color:var(--pa-ink-muted);margin:0;font-size:12px;line-height:1.4}.project-switcher-meta,.project-switcher-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.project-library{border-top:1px solid var(--pa-rule);margin-top:12px;padding-top:12px}.project-library-header{justify-content:space-between;margin-bottom:12px;display:flex}.project-library-header strong,.project-library-header span{display:block}.project-library-header span{color:var(--pa-ink-muted);margin-top:2px;font-size:12px}.workspace-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workspace-tabs{border:0;border-bottom:1px solid var(--pa-rule-strong);background:0 0;gap:0;margin-bottom:12px;padding:0;display:flex;overflow-x:auto}.workspace-tabs button{color:var(--pa-ink-muted);cursor:pointer;font-family:var(--pa-font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:10px 12px;font-size:11px;font-weight:600}.workspace-tabs button:hover,.workspace-tabs button.is-active{color:var(--pa-navy);border-bottom-color:var(--pa-navy);box-shadow:none;background:0 0}.tab-main{min-width:0}.guided-flow-summary{grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:14px;margin-bottom:10px;display:grid}.guided-flow-summary h3{font-family:var(--pa-font-display);letter-spacing:-.01em;margin:5px 0 4px;font-size:17px;font-weight:600}.flow-progress-compact{grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:9px;display:grid}.flow-progress-compact span,.flow-progress-compact strong{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;font-weight:600}.flow-progress-compact strong{color:var(--pa-navy)}.flow-progress-track{background:var(--pa-paper-2);border:1px solid var(--pa-rule);height:6px;overflow:hidden}.flow-progress-fill{background:var(--pa-navy);height:100%;transition:width .18s}.flow-stepper{border-top:1px solid var(--pa-rule);border-bottom:1px solid var(--pa-rule);gap:0;padding-bottom:2px;display:flex;overflow-x:auto}.flow-step{border:0;border-right:1px solid var(--pa-rule);color:var(--pa-ink);cursor:pointer;text-align:left;background:0 0;flex:none;align-items:center;gap:8px;min-height:0;padding:9px 10px;transition:background .1s;display:inline-flex}.flow-step:last-child{border-right:0}.flow-step:hover,.flow-step.is-active{background:var(--pa-navy-soft);box-shadow:none}.flow-step.is-active{color:var(--pa-navy)}.flow-step.is-complete{background:var(--pa-green-bg)}.flow-step.is-blocked{color:var(--pa-ink-soft);background:0 0}.flow-step-number{background:var(--pa-navy-soft);width:20px;height:20px;color:var(--pa-navy);font-family:var(--pa-font-mono);border-radius:2px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.flow-step.is-active .flow-step-number{background:var(--pa-navy);color:var(--pa-paper)}.flow-step.is-complete .flow-step-number,.flow-step.is-complete{background:var(--pa-green-bg);color:var(--pa-green)}.flow-step.is-blocked .flow-step-number{background:var(--pa-stone-bg);color:var(--pa-stone)}.flow-step>strong{font-family:var(--pa-font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:10.5px;font-weight:600;line-height:1}.flow-action-bar{border-top:1px solid var(--pa-rule);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:10px;display:flex}.flow-action-bar>span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.06em;font-size:11px;font-weight:600}.overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:12px;display:grid}.subpanel{box-shadow:none}.subpanel h3{font-family:var(--pa-font-display);letter-spacing:-.01em;margin:0 0 10px;font-size:16px;font-weight:600}.definition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.completion-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.completion-list span{border:1px solid var(--pa-rule);background:var(--pa-paper-inset);color:var(--pa-ink-muted);font-family:var(--pa-font-mono);letter-spacing:.06em;padding:7px 8px;font-size:11px;font-weight:600}.completion-list span.is-complete{border-color:var(--pa-green-rule);background:var(--pa-green-bg);color:var(--pa-green)}.definition-grid div{border:1px solid var(--pa-rule);background:var(--pa-paper-inset);padding:9px}.definition-grid dt{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.definition-grid dd{margin:5px 0 0;font-weight:600}.rationale{border-left:3px solid var(--pa-navy);background:var(--pa-navy-faint);padding:10px;margin-top:12px!important}.checklist li{margin-bottom:7px}.checklist li.is-complete{color:var(--pa-green);font-weight:700}.mode-note,.empty-copy{background:var(--pa-paper-inset);border-left:3px solid var(--pa-bronze);color:var(--pa-ink-muted);padding:10px;font-size:13px;margin-top:12px!important}.approval-actions{gap:10px;margin-top:12px;display:grid}.manifest-summary{border:1px solid var(--pa-rule);background:var(--pa-paper-inset);gap:4px;margin-bottom:10px;padding:10px;display:grid}.manifest-summary span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;font-size:11px;font-weight:600}.source-workbench{gap:12px;display:grid}.compact-form{border-bottom:1px solid var(--pa-rule);margin-bottom:12px;padding-bottom:12px}.suggestion-list{gap:8px;display:grid}.suggestion-card{border:0;border-top:1px solid var(--pa-rule);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 4px;display:grid}.suggestion-card p{color:var(--pa-ink);margin:5px 0;font-size:13px;line-height:1.4}.suggestion-card small{color:var(--pa-ink-muted);font-family:var(--pa-font-mono);letter-spacing:.06em;font-size:11px;line-height:1.35;display:block}.workspace-header{border-bottom:1px solid var(--pa-rule);margin-bottom:12px;padding-bottom:12px}.map-summary-grid{border-top:1px solid var(--pa-rule);border-bottom:1px solid var(--pa-rule);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:12px;display:grid}.map-project-selector{min-width:260px;font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;font-size:11px;font-weight:600}.map-project-selector select{margin-top:4px}.map-summary-grid div,.map-cell{border:0;border-right:1px solid var(--pa-rule);background:0 0;padding:12px}.map-summary-grid div:last-child,.map-cell:last-child{border-right:0}.map-summary-grid span,.map-cell span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.map-summary-grid strong,.map-cell strong,.map-cell small{margin-top:5px;display:block}.map-cell small{color:var(--pa-ink-muted);font-size:12px;line-height:1.4}.validation-map-board{gap:6px;display:grid;overflow-x:auto}.map-column-header{border-bottom:1px solid var(--pa-ink);grid-template-columns:minmax(150px,.8fr) minmax(260px,1.4fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(100px,.5fr);gap:6px;min-width:1040px;padding-bottom:8px;display:grid}.map-column-header span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.map-row{grid-template-columns:minmax(150px,.8fr) minmax(260px,1.4fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(100px,.5fr);gap:6px;min-width:1040px;display:grid}.map-cell--requirement{background:var(--pa-data)}.map-cell--source{background:var(--pa-paper-inset)}.map-view-controls{border-bottom:1px solid var(--pa-rule);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:10px 0 14px;display:flex}.coverage-bar{background:var(--pa-rule);flex:160px;min-width:80px;max-width:240px;height:6px;display:flex;overflow:hidden}.coverage-segment{height:100%;transition:width .3s;display:block}.coverage-segment--full{background:var(--pa-green)}.coverage-segment--partial{background:var(--pa-bronze)}.coverage-segment--gap{background:var(--pa-oxblood)}.coverage-legend{flex-wrap:wrap;gap:14px;display:flex}.coverage-legend-item{font-family:var(--pa-font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid;padding:2px 7px 3px;font-size:10px;font-weight:600}.coverage-legend-item--full{color:var(--pa-green);border-color:var(--pa-green)}.coverage-legend-item--partial{color:var(--pa-bronze);border-color:var(--pa-bronze)}.coverage-legend-item--gap{color:var(--pa-oxblood);border-color:var(--pa-oxblood)}.view-toggle{border:1px solid var(--pa-rule-strong);gap:0;margin-left:auto;display:flex}.view-toggle-btn{font-family:var(--pa-font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--pa-ink-muted);background:0 0;border:0;padding:5px 12px;font-size:10px;font-weight:600;transition:background .1s,color .1s}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--pa-rule-strong)}.view-toggle-btn--active{background:var(--pa-navy);color:var(--pa-data)}.chain-view{flex-direction:column;gap:0;display:flex;overflow-x:auto}.chain-legend{border-bottom:2px solid var(--pa-ink);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;padding:8px 0 12px;display:flex}.chain-legend-item{font-family:var(--pa-font-mono);letter-spacing:.12em;text-transform:uppercase;border:1.5px solid;border-radius:2px;padding:3px 8px 4px;font-size:10px;font-weight:700}.chain-legend-item--source{color:var(--pa-green);border-color:var(--pa-green)}.chain-legend-item--urs{color:var(--pa-navy);border-color:var(--pa-navy)}.chain-legend-item--fra{color:var(--pa-bronze);border-color:var(--pa-bronze)}.chain-legend-item--test{color:var(--pa-eggplant);border-color:var(--pa-eggplant)}.chain-legend-item--evidence{color:var(--pa-ink);border-color:var(--pa-ink-muted)}.chain-legend-arrow{color:var(--pa-ink-muted);font-size:12px;font-weight:400}.chain-legend-gap{font-family:var(--pa-font-mono);color:var(--pa-oxblood);border-left:1px solid var(--pa-rule);margin-left:12px;padding-left:12px;font-size:10px}.chain-req-row{border-bottom:1px solid var(--pa-rule);align-items:flex-start;gap:16px;min-width:900px;padding:14px 0;display:flex}.chain-req-row:last-child{border-bottom:0}.chain-req-id{border-right:1px solid var(--pa-rule);flex:0 0 200px;padding-right:16px}.chain-req-id strong{font-family:var(--pa-font-mono);color:var(--pa-navy);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.chain-req-id small{color:var(--pa-ink-muted);margin-bottom:8px;font-size:11.5px;line-height:1.45;display:block}.chain-track{flex-wrap:wrap;flex:auto;align-items:flex-start;gap:6px;display:flex}.chain-node-group{flex-direction:column;gap:4px;display:flex}.chain-node{border-top:3px solid var(--pa-rule-strong);background:var(--pa-paper-inset);min-width:88px;max-width:160px;padding:6px 10px 7px}.chain-node--source{border-top-color:var(--pa-green);background:#eaf2ec}.chain-node--urs{border-top-color:var(--pa-navy);background:#ebf0f6}.chain-node--fra{border-top-color:var(--pa-bronze);background:#f6f0e6}.chain-node--test{border-top-color:var(--pa-eggplant);background:#f0ebf5}.chain-node--evidence{border-top-color:var(--pa-ink-muted);background:var(--pa-paper-inset)}.chain-node--gap{border-top-color:var(--pa-oxblood);opacity:.85;background:#f7ebe9}.chain-node-code{font-family:var(--pa-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pa-ink);font-size:10px;font-weight:700;display:block}.chain-node--source .chain-node-code{color:var(--pa-green)}.chain-node--urs .chain-node-code{color:var(--pa-navy)}.chain-node--fra .chain-node-code{color:var(--pa-bronze)}.chain-node--test .chain-node-code{color:var(--pa-eggplant)}.chain-node--gap .chain-node-code{color:var(--pa-oxblood)}.chain-node-label{color:var(--pa-ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:10.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.chain-arrow{color:var(--pa-ink-muted);flex-shrink:0;padding-top:10px;padding-left:2px;padding-right:2px;font-size:15px;line-height:1}.empty-shell{text-align:center;background:var(--pa-paper-inset);margin-top:18px;padding:32px}.lifecycle-map{margin-top:18px}.lifecycle-board{background:var(--pa-rule-strong);border:1px solid var(--pa-rule-strong);grid-template-columns:1.05fr 1.2fr 1.15fr 1.05fr .85fr;gap:1px;display:grid}.lifecycle-map--preview .lifecycle-board{padding-bottom:4px;overflow-x:auto}.lifecycle-map--preview .lifecycle-column{min-width:150px}.lifecycle-column{background:var(--pa-paper-inset);border:0;padding:12px}.lifecycle-column--concept{background:#f0f4f9}.lifecycle-column--operation{background:#fbf5e8}.lifecycle-column--retirement{background:var(--pa-paper-inset)}.lifecycle-column-header{border-bottom:1px solid var(--pa-rule-strong);min-height:36px;font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;margin-bottom:10px;padding:2px 0 10px;font-size:10px;font-weight:600;line-height:1.25;display:flex}.lifecycle-node-list{gap:8px;display:grid}.lifecycle-node{border:0;border-top:2px solid var(--pa-navy);background:var(--pa-data);width:100%;box-shadow:none;color:var(--pa-ink);cursor:pointer;text-align:left;padding:10px 11px 12px;transition:background .12s}.lifecycle-node:hover{background:var(--pa-paper-inset)}.lifecycle-node--approved{border-top-color:var(--pa-green)}.lifecycle-node--inReview,.lifecycle-node--draft{border-top-color:var(--pa-bronze)}.lifecycle-node--missing,.lifecycle-node--blocked{border-top-color:var(--pa-oxblood);background:var(--pa-oxblood-bg)}.lifecycle-node-meta{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;font-size:9.5px;font-weight:600;display:inline-flex}.node-status-dot{background:var(--pa-ink-muted);border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #5a554e24}.lifecycle-node--approved .node-status-dot{background:var(--pa-green);box-shadow:0 0 0 3px #2d5a3e24}.lifecycle-node--inReview .node-status-dot,.lifecycle-node--draft .node-status-dot,.lifecycle-node--impact .node-status-dot{background:var(--pa-bronze);box-shadow:0 0 0 3px #7a4d0f24}.lifecycle-node--missing .node-status-dot,.lifecycle-node--blocked .node-status-dot{background:var(--pa-oxblood);box-shadow:0 0 0 3px #7b2b1f24}.lifecycle-node strong,.lifecycle-node small{display:block}.lifecycle-node strong{font-family:var(--pa-font-display);letter-spacing:-.01em;font-size:13.5px;font-weight:600;line-height:1.25}.lifecycle-node small{color:var(--pa-ink-muted);margin-top:5px;font-size:11.5px;line-height:1.4}.lifecycle-map--large .lifecycle-column{padding:14px}.lifecycle-map--large .lifecycle-node{padding:12px 13px 14px}.lifecycle-map--large .lifecycle-node strong{font-size:14.5px}.connection-summary{border:1px solid var(--pa-rule);background:var(--pa-data);margin-top:14px;padding:14px}.connection-summary-header{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:600}.connection-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.connection-chip{border:1px solid var(--pa-rule);border-left:4px solid var(--pa-navy);background:var(--pa-paper-inset);padding:10px 11px}.connection-chip--change,.connection-chip--control,.connection-chip--risk{border-left-color:var(--pa-bronze)}.connection-chip strong,.connection-chip span{display:block}.connection-chip strong{font-size:12px;font-weight:600}.connection-chip span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.12em;text-transform:uppercase;margin:3px 0;font-size:10px;font-weight:600}.graph-shell{border:1px solid var(--pa-rule-strong);background:#f6f3ea;margin-top:18px;position:relative;overflow:hidden}.graph-shell--preview{min-height:520px}.graph-shell--large{min-height:min(72vh,760px)}.graph-lines{width:100%;height:100%;position:absolute;inset:0}.graph-stage{fill:#fbf8f0b8;stroke:#1a1a1a29;stroke-width:.22px;vector-effect:non-scaling-stroke}.graph-stage--concept{fill:#e3e8efb8}.graph-stage--project{fill:#ffffffad}.graph-stage--evidence{fill:#e4ecdf8f}.graph-stage--operation{fill:#f1e6cc80}.graph-stage--retirement{fill:#e1ddd299}.graph-stage-label{fill:var(--pa-ink-muted);letter-spacing:.1em;text-anchor:middle;text-transform:uppercase;font-size:2.55px;font-weight:950}.graph-line{stroke:#0b274275;stroke-width:.34px;vector-effect:non-scaling-stroke}.graph-line--change{stroke:#7a4d0fad;stroke-dasharray:1.5 1.2}.graph-dot{fill:var(--pa-data);stroke:var(--pa-navy);stroke-width:.34px;vector-effect:non-scaling-stroke}.graph-dot--target{fill:var(--pa-navy)}.graph-edge-label{fill:var(--pa-ink-muted);paint-order:stroke;stroke:#f2eee2e6;stroke-width:.9px;text-anchor:middle;dominant-baseline:central;font-size:2.6px;font-weight:800}.graph-node{border:0;border-top:2px solid var(--pa-navy);width:150px;min-height:88px;box-shadow:none;color:var(--pa-ink);cursor:pointer;text-align:left;background:#fffffff5;border-radius:0;padding:12px 13px;transition:box-shadow .14s,transform .14s;position:absolute;transform:translate(-50%,-50%)}.graph-shell--preview .graph-node{width:116px;min-height:74px;padding:10px}.graph-shell--large .graph-node{width:170px;min-height:94px}.graph-node:hover{transform:translate(-50%,-52%);box-shadow:0 4px 16px #1a1a1a1f}.graph-node:before{content:"";background:var(--pa-ink-soft);border-radius:999px;width:8px;height:8px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 3px #8a847b2e}.graph-node--approved{border-top-color:var(--pa-green)}.graph-node--approved:before{background:var(--pa-green);box-shadow:0 0 0 3px #2d5a3e24}.graph-node--inReview,.graph-node--draft,.graph-node--impact{border-top-color:var(--pa-bronze)}.graph-node--inReview:before,.graph-node--draft:before,.graph-node--impact:before{background:var(--pa-bronze);box-shadow:0 0 0 3px #7a4d0f24}.graph-node--missing,.graph-node--blocked{border-top-color:var(--pa-oxblood)}.graph-node--missing:before,.graph-node--blocked:before{background:var(--pa-oxblood);box-shadow:0 0 0 3px #7b2b1f24}.graph-node-type{font-family:var(--pa-font-mono);color:var(--pa-navy);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font-size:9.5px;font-weight:600;display:block}.graph-node strong,.graph-node small{display:block}.graph-node strong{font-family:var(--pa-font-display);letter-spacing:-.01em;padding-right:16px;font-size:13.5px;font-weight:600}.graph-node small{color:var(--pa-ink-muted);margin-top:5px;font-size:11.5px;line-height:1.45}.graph-node--source .graph-node-type{color:var(--pa-ink-soft)}.graph-node--risk .graph-node-type,.graph-node--change .graph-node-type,.graph-node--control .graph-node-type{color:var(--pa-bronze)}.graph-node--evidence .graph-node-type,.graph-node--approval .graph-node-type{color:var(--pa-green)}.graph-shell--preview .graph-node-type{margin-bottom:4px;font-size:8px}.graph-shell--preview .graph-node strong{padding-right:12px;font-size:11px}.graph-shell--preview .graph-node small{font-size:9.5px}.graph-shell--large .graph-node strong{font-size:15px}.graph-legend{flex-wrap:wrap;gap:10px 14px;margin-top:14px;display:flex}.graph-legend span{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.legend-dot{background:var(--pa-ink-soft);border-radius:999px;width:8px;height:8px}.legend-dot--approved{background:var(--pa-green)}.legend-dot--review,.legend-dot--draft{background:var(--pa-bronze)}.legend-dot--missing,.legend-dot--blocked{background:var(--pa-oxblood)}.modal-backdrop{z-index:20;background:#1a1a1a8f;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.map-modal{border:1px solid var(--pa-rule-strong);background:var(--pa-paper);border-radius:0;width:min(1400px,100%);max-height:min(920px,100vh - 48px);padding:28px;overflow:auto;box-shadow:0 24px 80px #1a1a1a3d}.modal-header{border-bottom:2px solid var(--pa-ink);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin-bottom:20px;padding-bottom:16px;display:grid}.modal-header h2{font-family:var(--pa-font-display);letter-spacing:-.02em;margin:4px 0 8px;font-size:clamp(22px,3vw,36px);font-weight:600}.modal-header p{max-width:880px;color:var(--pa-ink-muted);margin-bottom:0;line-height:1.55}.modal-close{background:var(--pa-paper-inset);border:1px solid var(--pa-rule-strong);width:36px;height:36px;color:var(--pa-ink-muted);cursor:pointer;border-radius:2px;place-items:center;font-size:16px;font-weight:700;display:grid}.modal-body-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:18px;display:grid}.map-explainer{border:1px solid var(--pa-rule);background:var(--pa-data);padding:18px;position:sticky;top:0}.map-explainer h3{font-family:var(--pa-font-display);margin-bottom:10px;font-size:16px;font-weight:600}.map-explainer ol{color:var(--pa-ink-muted);margin:0;padding-left:20px;line-height:1.55}.map-explainer li+li{margin-top:10px}.map-explainer strong{color:var(--pa-ink)}.sig-block{border-top:1px solid var(--pa-rule);grid-template-columns:1fr 1fr;gap:36px;margin-top:24px;padding-top:22px;display:grid}.sig{border-top:1px solid var(--pa-ink);gap:5px;padding-top:16px;display:grid}.sig .label{font-family:var(--pa-font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--pa-ink-muted);font-size:9.5px;font-weight:600}.sig .name{font-family:var(--pa-font-display);letter-spacing:-.01em;font-size:14.5px;font-weight:600}.sig .date{font-family:var(--pa-font-mono);color:var(--pa-ink-muted);letter-spacing:.08em;font-size:11px}.controlled-footer{font-family:var(--pa-font-mono);color:var(--pa-ink-soft);letter-spacing:.16em;text-transform:uppercase;border-top:1px solid var(--pa-rule-faint);justify-content:space-between;margin-top:24px;padding:14px 0 22px;font-size:10px;display:flex}.generate-controls{flex-direction:column;gap:16px;display:flex}.server-status{color:var(--pa-ink-muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.server-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.server-dot--online{background:#16a34a;box-shadow:0 0 0 2px #16a34a33}.server-dot--offline{background:#dc2626;box-shadow:0 0 0 2px #dc262633}.generate-form{flex-direction:column;gap:12px;display:flex}.generate-form label{color:var(--pa-ink-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.generate-form select{background:var(--pa-data);border:1px solid var(--pa-rule-strong);color:var(--pa-ink);border-radius:4px;padding:6px 10px;font-size:14px}.generate-meta{background:var(--pa-paper-2);border:1px solid var(--pa-rule);border-radius:6px;grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.generate-meta>div{flex-direction:column;gap:2px;display:flex}.generate-meta span{text-transform:uppercase;letter-spacing:.05em;color:var(--pa-ink-soft);font-size:11px;font-weight:600}.generate-meta strong{color:var(--pa-ink);word-break:break-word;font-size:13px}.generate-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px 14px;font-size:13px}.generate-error code{font-family:var(--font-mono,"JetBrains Mono", monospace);color:var(--pa-ink);background:#0000000f;border-radius:3px;margin-top:6px;padding:4px 8px;font-size:12px;display:block}.generate-preview{overflow:hidden}.markdown-preview{background:var(--pa-paper-inset);border:1px solid var(--pa-rule);width:100%;max-height:70vh;color:var(--pa-ink);white-space:pre-wrap;word-break:break-word;tab-size:2;border-radius:6px;padding:16px;font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.7;overflow-y:auto}@media (width<=1180px){.app-frame,.tab-grid{grid-template-columns:1fr}.nav-rail,.assurance-panel{height:auto;position:static}.primary-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-main{width:min(100% - 28px,1440px);padding-top:0}.nav-rail{padding:20px 14px}.primary-nav,.metric-grid,.guided-flow-summary,.project-switcher-summary,.flow-action-bar,.overview-grid,.create-project-form,.start-project-form,.map-summary-grid,.map-row,.definition-grid{grid-template-columns:1fr}.topbar,.panel-header,.workspace-header,.form-actions,.topbar-actions{flex-direction:column;align-items:stretch}.api-status{min-width:0}.project-row{grid-template-columns:1fr}.workspace-badges{justify-content:flex-start}.modal-body-grid,.sig-block{grid-template-columns:1fr}.map-explainer{position:static}}
