/* ============================================================
   Cyberblack RFP — shared design system
   Editorial console: paper, ink-navy, oxblood accent.
   Archivo (UI) + Newsreader (titles) + Spline Sans Mono (data)
   ============================================================ */
:root{
  --paper:#f4f5f7; --card:#ffffff; --inset:#fbfcfd; --ink:#16202b; --ink2:#3a4856;
  --muted:#5a6a78; --faint:#71808e; --line:#dde2e8; --line2:#c7cfd8;
  --ox:#8e2b34; --ox-soft:#f3e3e4; --ox-ink:#6e1f27;
  --navy:#1c2f47; --navy2:#27425f; --gold:#b07d2a; --gold-soft:#f5ecd9; --gold-ink:#5f4d18;
  --green:#2f7d52; --green-soft:#e2f0e8; --blue:#2c6fae; --blue-soft:#e1ecf5;
  --r:12px;
}

/* base */
body.app{background:var(--paper);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0}
.app .mono{font-family:'Spline Sans Mono',monospace}
.app .serif{font-family:'Newsreader',Georgia,serif}
.app a{color:inherit;text-decoration:none}

/* ---- app bar ---- */
.appbar{position:sticky;top:0;z-index:30;background:var(--navy);color:#dfe6ee;overflow:hidden}
.appbar .in{max-width:1320px;margin:0 auto;padding:0 26px;height:58px;display:flex;align-items:center;gap:24px;overflow:hidden}
.appbar .brand{display:flex;align-items:center;gap:10px;font-family:'Archivo';font-weight:800;font-size:16px;color:#fff;letter-spacing:-.01em;flex:0 0 auto}
.appbar .brand .dot{width:11px;height:11px;border-radius:3px;background:var(--ox)}
.appbar .brand .cbmark{height:25px;width:auto;display:block}
.appbar .brand span{font-weight:500;color:#9db2c8}
.appbar nav.top{display:flex;gap:4px;margin-left:6px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.appbar nav.top::-webkit-scrollbar{height:0;display:none}
.appbar nav.top a{padding:8px 13px;border-radius:7px;font-size:13px;font-weight:500;color:#9db2c8;transition:.15s;white-space:nowrap;line-height:1}
.appbar nav.top a:hover{background:var(--navy2);color:#fff}
.appbar nav.top a.on{background:var(--navy2);color:#fff}
.appbar .right{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:13px;flex:0 0 auto}
.appbar .right .u{color:#9db2c8;font-family:'Spline Sans Mono';font-size:12px}
.appbar .right a.lo{color:#9db2c8}
.appbar .right a.lo:hover{color:#fff}

/* ---- contextual drawers ---- */
.side-scrim{position:fixed;inset:58px 0 0;background:rgba(22,32,43,.28);z-index:48;opacity:0;pointer-events:none;transition:opacity .16s ease}
.side-scrim.open{opacity:1;pointer-events:auto}
.side-drawer{position:fixed;right:0;top:58px;bottom:0;z-index:49;width:min(760px,calc(100vw - 28px));background:var(--card);border-left:1px solid var(--line2);box-shadow:-22px 0 54px rgba(28,47,71,.18);transform:translateX(104%);transition:transform .18s ease;display:flex;flex-direction:column}
.side-drawer.open{transform:translateX(0)}
.side-drawer-head{background:var(--navy);color:#edf3f8;padding:16px 18px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.side-drawer-title{font-family:'Archivo';font-size:19px;font-weight:800;margin:3px 0 0;line-height:1.2}
.side-drawer-sub{font-family:'Spline Sans Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#9db2c8}
.side-drawer-body{padding:16px 18px;overflow:auto;display:grid;gap:14px}
.side-close{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:7px 10px;font-family:'Archivo';font-size:12px;font-weight:700;cursor:pointer}
.click-row{cursor:pointer}
.click-row:hover{background:#fafbfc}
.req-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.req-kv{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--paper)}
.req-kv .k{font-family:'Spline Sans Mono';font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.req-kv .v{font-family:'Archivo';font-size:13px;font-weight:700;color:var(--ink);margin-top:3px}
.req-section{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--card)}
.req-section h4{font-family:'Archivo';font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);margin:0 0 9px}
.req-section p{font-size:13px;color:var(--ink2);margin:0 0 8px}
.intel-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.intel-summary-card{border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--paper)}
.intel-summary-card .k{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.intel-summary-card .v{font-family:'Archivo';font-weight:800;font-size:18px;color:var(--navy);margin-top:3px;overflow-wrap:anywhere}
/* Text-valued summary cards (e.g. Industry) hold a label, not a metric — keep
   them readable instead of rendering a phrase at metric weight/size. */
.intel-summary-card .v.is-text{font-weight:600;font-size:13px;line-height:1.45}
.intel-detail-table{width:100%;border-collapse:collapse;font-size:12.5px}
.intel-detail-table th{text-align:left;font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--paper);padding:8px;border-bottom:1px solid var(--line2)}
.intel-detail-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2)}
.intel-detail-table td:first-child{font-weight:700;color:var(--ink)}
/* Group header for a structured field whose sub-fields are broken out below it. */
.intel-detail-table tr.group td{background:var(--paper);font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:11px}
.intel-chip-list{display:flex;flex-wrap:wrap;gap:7px}
.intel-note-list{display:grid;gap:8px}
.intel-note{border-left:3px solid var(--blue);background:var(--paper);padding:8px 10px;border-radius:0 8px 8px 0;font-size:13px;color:var(--ink2)}
.intel-note.gold{border-left-color:var(--gold)}
.intel-note.red{border-left-color:var(--ox)}
.intel-note.green{border-left-color:var(--green)}
.doc-drawer{width:min(920px,calc(100vw - 28px))}
.doc-drawer-tools{border-bottom:1px solid var(--line);background:var(--paper);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.doc-tool-group{display:flex;align-items:center;gap:8px}
.doc-toggle{display:flex;align-items:center;gap:6px;font-family:'Archivo';font-size:12px;font-weight:700;color:var(--ink2)}
.doc-mode-btn{border:1px solid var(--line2);background:var(--card);color:var(--ink2);font-family:'Archivo';font-size:12px;font-weight:700;padding:6px 10px;cursor:pointer}
.doc-mode-btn:first-child{border-radius:7px 0 0 7px}
.doc-mode-btn:last-child{border-radius:0 7px 7px 0;margin-left:-1px}
.doc-mode-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}
.doc-search-bar{border-bottom:1px solid var(--line);background:#fff;padding:10px 14px;display:flex;align-items:center;gap:10px}
.doc-search-bar input{flex:1;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-family:'Archivo';font-size:13px}
.doc-search-bar span{font-size:11px;color:var(--muted);min-width:70px;text-align:right}
.doc-drawer-body{flex:1;min-height:0;overflow:hidden;background:#fff}
.doc-drawer-body iframe{width:100%;height:100%;border:0}
.doc-text-wrap{height:100%;overflow:auto;padding:16px}
.doc-loading{height:100%;display:grid;place-items:center;color:var(--muted);font-family:'Archivo';font-size:13px}

/* ---- pipeline stepper partial ---- */
.pipeline-stepper-card{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin-bottom:18px;overflow-x:auto}
.pipeline-stepper-track{display:flex;align-items:flex-start;min-width:700px}
.pipeline-step{display:flex;flex-direction:column;align-items:center;min-width:64px;text-align:center}
.step-circle{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:'Archivo';font-weight:800;font-size:12px;background:var(--line);color:var(--faint)}
.step-circle svg{width:14px;height:14px}
.step-complete .step-circle{background:var(--green);color:#fff}
.step-running .step-circle{background:var(--blue);color:#fff;animation:stepper-pulse 1.5s infinite}
.step-failed .step-circle{background:var(--ox);color:#fff}
.step-complete .step-label{color:var(--green)}
.step-running .step-label{color:var(--blue)}
.step-failed .step-label{color:var(--ox)}
.step-label{font-family:'Archivo';font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-top:6px}
.step-duration{font-family:'Spline Sans Mono';font-size:9px;color:var(--faint);margin-top:2px}
.step-connector{flex:1;height:2px;margin:13px 4px 0;background:var(--line)}
.step-connector.done{background:var(--green)}
.step-connector.running{background:linear-gradient(90deg,var(--blue),var(--line))}
@keyframes stepper-pulse{0%,100%{box-shadow:0 0 0 0 rgba(44,111,174,.28)}50%{box-shadow:0 0 0 6px rgba(44,111,174,0)}}

/* ---- page shell ---- */
.wrap{max-width:1320px;margin:0 auto;padding:28px 26px 80px}
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.phead .eyebrow{font-family:'Spline Sans Mono';font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);font-weight:600;margin-bottom:7px}
.phead h1{font-family:'Archivo';font-weight:800;font-size:28px;letter-spacing:-.02em;margin:0}
.phead p{color:var(--muted);font-size:13.5px;margin:4px 0 0}

/* ---- buttons ---- */
.btn{font-family:'Archivo';font-weight:600;font-size:13px;padding:9px 16px;border-radius:9px;display:inline-flex;align-items:center;gap:8px;transition:.15s;cursor:pointer;border:none;text-decoration:none}
.btn.primary{background:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy2)}
.btn.ghost{background:var(--card);border:1px solid var(--line2);color:var(--ink2)}
.btn.ghost:hover{border-color:var(--navy)}
.btn.danger{background:var(--ox);color:#fff}
.btn.danger:hover{background:var(--ox-ink)}

/* auth and forms */
.login-shell{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:42px 0}
.login-card{width:min(460px,100%);background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:28px;box-shadow:0 14px 34px rgba(28,47,71,.08)}
.login-brand{display:flex;gap:13px;align-items:center;margin-bottom:12px}
.login-brand img{width:38px;height:38px;object-fit:contain}
.login-card h1{font-family:'Archivo';font-weight:800;font-size:22px;color:var(--navy);margin:0}
.login-card p{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5}
.login-card form{display:grid;gap:13px}
.login-card .btn{justify-content:center;margin-top:2px}
.form-label{font-family:'Spline Sans Mono';font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.login-card input,.shared-gate input{width:100%;border:1px solid var(--line2);border-radius:8px;padding:10px 12px;font-family:'Archivo';font-size:14px;color:var(--ink)}
.login-card input:focus,.shared-gate input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(28,47,71,.08)}
.form-alert{border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:14px}
.form-alert.error{border:1px solid #e2c2c4;background:var(--ox-soft);color:var(--ox-ink)}

/* ---- stat strip (clickable filters) ---- */
.stats{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line2);border-radius:11px;overflow:hidden;background:var(--card);margin-bottom:22px}
.stats button,.stats .s{text-align:left;padding:15px 18px;border-right:1px solid var(--line);transition:.15s;background:none;border-top:none;border-bottom:none;border-left:none;cursor:pointer;font-family:inherit;color:inherit;width:100%}
.stats button:last-child,.stats .s:last-child{border-right:none}
.stats button:hover{background:var(--paper)}
.stats button.on{background:var(--navy);color:#fff}
.stats .l{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.stats button.on .l{color:#9db2c8}
.stats .v{font-family:'Archivo';font-weight:800;font-size:25px;margin-top:6px;letter-spacing:-.01em}
.stats .v.ox{color:var(--ox)}.stats .v.gold{color:var(--gold)}.stats .v.green{color:var(--green)}.stats .v.blue{color:var(--blue)}
.stats .v small{font-size:13px;color:var(--faint);font-weight:600}
.stats button.on .v,.stats button.on .v small{color:#fff}

/* ---- toolbar ---- */
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.search{flex:1;min-width:220px;position:relative}
.search input{width:100%;padding:10px 14px 10px 38px;border:1px solid var(--line2);border-radius:9px;font-family:inherit;font-size:13.5px;background:var(--card);color:var(--ink)}
.search input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(28,47,71,.08)}
.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--faint)}
.pills{display:flex;gap:6px;flex-wrap:wrap}
.pills button{font-family:'Archivo';font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:20px;border:1px solid var(--line2);color:var(--muted);background:var(--card);cursor:pointer}
.pills button:hover{border-color:var(--navy);color:var(--ink)}
.pills button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pills button.on.attention{background:var(--ox);border-color:var(--ox)}
.sortsel{font-family:inherit;font-size:13px;font-weight:500;color:var(--ink2);border:1px solid var(--line2);background:var(--card);border-radius:9px;padding:9px 12px}

/* pipeline home command strip */
.pipeline-command{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.pipeline-command-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:13px}
.pipeline-command h3{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--navy);margin:0 0 4px}
.pipeline-command p{font-size:13px;color:var(--muted);margin:0;line-height:1.45;max-width:740px}
.pipeline-command-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.pcost{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:7px 11px;min-width:104px}
.pcost span{display:block;font-family:'Spline Sans Mono';font-size:8.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pcost strong{display:block;font-family:'Archivo';font-size:17px;font-weight:800;color:var(--green);margin-top:1px}
.command-stats{margin-bottom:0;border-radius:9px}
@media(max-width:980px){.pipeline-command-head{display:block}.pipeline-command-actions{justify-content:flex-start;margin-top:10px}}
.pipeline-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line2);border-left:4px solid var(--navy);border-radius:10px;background:#fff;padding:11px 13px;margin-bottom:14px}
.pipeline-alert.running{border-left-color:var(--blue)}
.pipeline-alert.pending,.pipeline-alert.paused{border-left-color:var(--gold)}
.pipeline-alert.cancelled{border-left-color:var(--ox)}
.pipeline-alert.failed{border-left-color:var(--ox)}
.pipeline-alert.complete{border-left-color:var(--green)}
.pipeline-alert-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-family:'Archivo';font-weight:800;background:var(--paper);color:var(--navy)}
.pipeline-alert.running .pipeline-alert-icon{background:var(--blue-soft);color:#1f4e7a}
.pipeline-alert.pending .pipeline-alert-icon,.pipeline-alert.paused .pipeline-alert-icon{background:var(--gold-soft);color:#7d5715}
.pipeline-alert.cancelled .pipeline-alert-icon{background:var(--ox-soft);color:var(--ox-ink)}
.pipeline-alert.failed .pipeline-alert-icon{background:var(--ox-soft);color:var(--ox-ink)}
.pipeline-alert.complete .pipeline-alert-icon{background:var(--green-soft);color:#1f5c3b}
.pipeline-alert-body{min-width:0;display:grid;gap:2px}
.pipeline-alert-body strong{font-family:'Archivo';font-size:13px;color:var(--ink)}
.pipeline-alert-body span{font-size:12.5px;color:var(--muted)}
.pipeline-alert-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.pipeline-alert-actions button{border:1px solid var(--line2);background:var(--card);color:var(--ink2);border-radius:8px;padding:6px 9px;font-family:'Archivo';font-size:12px;font-weight:700;cursor:pointer}
.pipeline-alert-track{height:7px;border-radius:6px;background:var(--line);overflow:hidden;margin-top:5px}
.pipeline-alert-track i{display:block;height:100%;border-radius:6px;background:var(--blue)}
.pipeline-alert-close{border:1px solid var(--line2);background:var(--card);color:var(--ink2);border-radius:8px;padding:6px 9px;font-family:'Archivo';font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.pipeline-alert-close:hover{border-color:var(--navy);color:var(--navy)}

/* ---- RFP status and external access command bar ---- */
.rfp-command-bar{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:10px;margin-bottom:16px}
.rfp-status-compact,.rfp-access-compact{display:flex;align-items:center;gap:10px;min-width:0;min-height:58px;padding:10px 13px;border:1px solid var(--line2);border-radius:10px;background:var(--card)}
.rfp-status-compact{border-left:3px solid var(--blue)}
.rfp-status-compact.cancelled,.rfp-status-compact.failed{border-left-color:var(--ox)}
.rfp-status-compact.complete{border-left-color:var(--green)}
.rfp-status-compact.new{border-left-color:var(--gold)}
.rfp-command-eyebrow{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px}
.rfp-command-bar .rfp-command-eyebrow{margin:0;flex:none}
.rfp-status-label{display:flex;align-items:center;gap:7px;font-family:'Archivo';font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
.rfp-status-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft);flex:none}
.cancelled .rfp-status-dot,.failed .rfp-status-dot{background:var(--ox);box-shadow:0 0 0 4px var(--ox-soft)}
.complete .rfp-status-dot{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.new .rfp-status-dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-soft)}
.rfp-status-stage{font-size:12px;color:var(--muted);white-space:nowrap}
.rfp-status-stage strong{color:var(--ink2)}
.rfp-access-compact{background:var(--paper)}
.rfp-access-summary{font-size:12px;color:var(--ink2);white-space:nowrap}
.rfp-access-compact .btn{font-size:11px;padding:6px 9px}
.rfp-compact-action{margin-left:auto;flex:none}
.rfp-share-message{margin-bottom:18px}
@media(max-width:880px){.rfp-command-bar{grid-template-columns:1fr}}
@media(max-width:560px){.rfp-status-compact,.rfp-access-compact{flex-wrap:wrap;gap:8px}.rfp-status-stage{order:4;width:100%}}

/* ---- list / rows ---- */
.list{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.lhead,.row{display:grid;grid-template-columns:minmax(240px,3fr) 178px 104px 126px 112px 74px 40px;align-items:center;gap:13px}
.lhead{padding:11px 20px;border-bottom:1px solid var(--line2);background:var(--paper)}
.lhead span{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.row{padding:15px 20px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s;position:relative}
.row:last-child{border-bottom:none}
.row:hover{background:#fafbfc}
.row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent}
.row.s-processing::before{background:var(--blue)}
.row.s-paused::before{background:var(--gold)}
.row.s-failed::before{background:var(--ox)}
.row.s-discovered::before{background:var(--navy)}

.ident{min-width:0}
.ident .t{font-family:'Newsreader';font-size:16.5px;font-weight:600;line-height:1.25;color:var(--ink);display:flex;align-items:center;gap:8px}
.ident .t a{color:var(--ink)}
.ident .t a:hover{color:var(--navy)}
.ident .t .pencil{opacity:0;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:var(--faint);flex:none;transition:.15s;border:none;background:none;cursor:pointer}
.row:hover .ident .t .pencil{opacity:1}
.ident .t .pencil:hover{background:var(--paper);color:var(--navy)}
.ident .t .pencil svg{width:13px;height:13px}
.ident .meta{font-family:'Spline Sans Mono';font-size:11px;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ident .meta .org{color:var(--ink2);font-weight:500}

.pl .badge{display:inline-flex;align-items:center;gap:7px;font-family:'Archivo';font-weight:600;font-size:11.5px;padding:4px 10px;border-radius:20px}
.badge .bd{width:7px;height:7px;border-radius:50%;flex:none}
.b-complete{background:var(--green-soft);color:#1f5c3b}.b-complete .bd{background:var(--green)}
.b-processing{background:var(--blue-soft);color:#1f4e7a}.b-processing .bd{background:var(--blue);animation:cb-pulse 1.4s infinite}
.b-paused{background:var(--gold-soft);color:#7d5715}.b-paused .bd{background:var(--gold)}
.b-failed{background:var(--ox-soft);color:var(--ox-ink)}.b-failed .bd{background:var(--ox)}
.b-discovered{background:#e6eaf0;color:var(--navy)}.b-discovered .bd{background:var(--navy)}
.b-nobid{background:var(--paper);color:var(--muted)}.b-nobid .bd{background:var(--faint)}
@keyframes cb-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.pl .stage{font-family:'Spline Sans Mono';font-size:10.5px;color:var(--muted);margin-top:7px;display:flex;align-items:center;gap:8px}
.pl .ptrack{height:4px;width:74px;border-radius:3px;background:var(--line);overflow:hidden;flex:none}
.pl .ptrack i{display:block;height:100%;border-radius:3px;background:var(--blue)}
.row.s-paused .pl .ptrack i{background:var(--gold)}

.bid .yn{display:inline-flex;align-items:center;gap:6px;font-family:'Archivo';font-weight:700;font-size:12px;padding:5px 11px;border-radius:7px;cursor:pointer;border:none}
.bid .yn.yes{background:var(--green-soft);color:#1f5c3b}
.bid .yn.no{background:var(--paper);color:var(--muted);border:1px solid var(--line2)}
.bid .decide{display:flex;gap:5px}
.bid .decide button{font-family:'Archivo';font-weight:700;font-size:11.5px;padding:5px 10px;border-radius:7px;border:1px solid var(--line2);background:var(--card);cursor:pointer}
.bid .decide .y{color:var(--green)}.bid .decide .y:hover{background:var(--green-soft);border-color:var(--green)}
.bid .decide .n{color:var(--muted)}.bid .decide .n:hover{background:var(--paper);border-color:var(--muted)}
.bid .pend{font-family:'Spline Sans Mono';font-size:9.5px;color:var(--ox);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px}

.due .d{font-family:'Spline Sans Mono';font-size:12.5px;color:var(--ink2)}
.due .cd{font-family:'Archivo';font-weight:700;font-size:11px;margin-top:3px}
.cd.soon{color:var(--ox)}.cd.near{color:var(--gold)}.cd.far{color:var(--muted)}.cd.passed{color:var(--faint)}

.cost{font-family:'Spline Sans Mono';font-size:13px;text-align:right;color:var(--green)}
.cost.zero{color:var(--faint)}

.kebab{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--faint);justify-self:end;border:none;background:none;cursor:pointer}
.kebab:hover{background:var(--paper);color:var(--navy)}
.kebab svg{width:17px;height:17px}

/* ---- result chip (editable outcome, styled select) ---- */
.result-cell{position:relative}
.rsel{appearance:none;-webkit-appearance:none;font-family:'Archivo';font-weight:600;font-size:11.5px;padding:5px 24px 5px 10px;border-radius:7px;border:1px solid transparent;background:var(--card);color:var(--ink2);cursor:pointer;max-width:118px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23697989' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.rsel:focus{outline:none;box-shadow:0 0 0 2px rgba(28,47,71,.12)}
.rsel.r-none{border:1px dashed var(--line2);color:var(--muted)}
.rsel.r-pending{background-color:var(--paper);color:var(--ink2);border-color:var(--line2)}
.rsel.r-submitted{background-color:var(--blue-soft);color:#1f4e7a}
.rsel.r-shortlisted{background-color:var(--gold-soft);color:#7d5715}
.rsel.r-won{background-color:var(--green-soft);color:#1f5c3b}
.rsel.r-lost{background-color:var(--ox-soft);color:var(--ox-ink)}
.rsel.r-nobid{background-color:var(--paper);color:var(--faint)}

/* ---- editable cells ---- */
.editcell{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%}
.pen{opacity:0;border:none;background:none;cursor:pointer;color:var(--faint);padding:2px;border-radius:5px;display:inline-grid;place-items:center;flex:none}
.row:hover .pen{opacity:.65}
.pen:hover{opacity:1;color:var(--navy);background:var(--paper)}
.pen svg{width:13px;height:13px}

/* ---- inline edit form ---- */
.edit-form{display:flex;align-items:center;gap:6px}
.edit-form input[type=text],.edit-form input:not([type]){font-family:'Newsreader';font-size:16px;padding:5px 9px;border:1px solid var(--navy);border-radius:6px;width:100%;box-shadow:0 0 0 3px rgba(28,47,71,.08)}
.edit-form input:focus{outline:none}
.edit-form button{font-family:'Archivo';font-weight:600;font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--line2);cursor:pointer;background:var(--card)}
.edit-form button.save{background:var(--navy);color:#fff;border-color:var(--navy)}
.edit-form button.cancel{color:var(--muted)}

/* ---- right-side drawer ---- */
.scrim{position:fixed;inset:0;background:rgba(16,24,33,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:.2s;z-index:40}
.scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);box-shadow:-20px 0 60px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .26s cubic-bezier(.4,0,.2,1);z-index:41;display:flex;flex-direction:column}
.drawer.open{transform:none}
.dhead{background:var(--navy);color:#eef2f6;padding:20px 22px}
.dhead .dtop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dhead .id{font-family:'Spline Sans Mono';font-size:11px;color:#9db2c8;letter-spacing:.04em}
.dhead h2{font-family:'Newsreader';font-weight:600;font-size:21px;line-height:1.25;margin:8px 0 0}
.dhead .org{font-size:12.5px;color:#9db2c8;margin-top:5px}
.dx{width:32px;height:32px;border-radius:8px;border:1px solid #34506f;color:#cfd9e4;font-size:18px;display:grid;place-items:center;flex:none;cursor:pointer;background:none}
.dx:hover{background:var(--navy2);color:#fff}
.dbody{padding:22px;overflow:auto;flex:1}
.dsec{margin-bottom:22px}
.dsec .sl{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:11px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.dgrid .c{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:11px 13px}
.dgrid .c .cl{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.dgrid .c .cv{font-family:'Archivo';font-weight:700;font-size:15px;margin-top:4px}
.dprog{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.dprog .pt{display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;margin-bottom:9px}
.dprog .ptrack{height:7px;border-radius:5px;background:var(--line);overflow:hidden}
.dprog .ptrack i{display:block;height:100%;border-radius:5px;background:var(--blue)}
.dact{display:flex;flex-direction:column;gap:8px}
.dact .ab{width:100%;justify-content:flex-start;font-family:'Archivo';font-weight:600;font-size:13.5px;padding:11px 14px;border-radius:9px;display:flex;align-items:center;gap:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}
.dact .ab:hover{border-color:var(--navy);background:#fafbfc}
.dact .ab.nav{background:var(--navy);color:#fff;border-color:var(--navy)}
.dact .ab.nav:hover{background:var(--navy2)}
.dact .ab.warn{color:var(--gold)}.dact .ab.danger{color:var(--ox)}
.dfoot{padding:16px 22px;border-top:1px solid var(--line2);background:var(--card)}

/* ---- generic cards + tables ---- */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:18px 20px}
.card h3{font-family:'Archivo';font-weight:700;font-size:13px;letter-spacing:.03em;color:var(--navy);margin:0 0 15px;display:flex;align-items:center;gap:9px}
.card h3::before{content:"";width:16px;height:2px;background:var(--ox)}
.card h3 .r{margin-left:auto;font-family:'Spline Sans Mono';font-size:10.5px;color:var(--muted);font-weight:400}
table.cb{width:100%;border-collapse:collapse;font-size:13px}
table.cb th{text-align:left;font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line2);background:var(--paper)}
table.cb td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top}
table.cb tr:last-child td{border-bottom:none}
.tablecard{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden}

/* ---- RFP workspace compact layout ---- */
.workspace-shell{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.workspace-shell .workspace-tabs{gap:3px;padding-top:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.workspace-shell .workspace-tabs::-webkit-scrollbar{height:0;display:none}
.workspace-shell .tab-link{padding:12px 7px;font-size:12.5px;white-space:nowrap;line-height:1.15}
.workspace-shell .tab-pane{padding:16px}
.workspace-shell .card{padding:14px 16px;border-radius:10px}
.workspace-shell .card h3{font-size:12px;margin-bottom:10px}
.workspace-shell .stats{margin-bottom:14px;border-radius:10px}
.workspace-shell .stats .s,.workspace-shell .stats button{padding:11px 13px}
.workspace-shell .stats .v{font-size:21px;margin-top:4px}
.workspace-shell table.cb{font-size:12.5px;table-layout:auto}
.workspace-shell table.cb th{padding:8px 10px}
.workspace-shell table.cb td{padding:8px 10px}
.wk-stack{display:grid;gap:14px}
.wk-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}
.wk-section-head h3{margin:0}
.wk-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wk-toolbar input,.wk-toolbar select{height:33px}
.wk-grid-compact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px}
.wk-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.wk-kpi{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:9px 11px;text-align:left}
.wk-kpi .k{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.wk-kpi .v{font-family:'Archivo';font-weight:800;font-size:20px;color:var(--navy);margin-top:3px}
.wk-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:9px}
.wk-table-scroll table.cb th{position:sticky;top:0;z-index:1}
.wk-muted{font-size:12.5px;color:var(--muted);margin:0}
.wk-primary-table table.cb td:first-child{font-weight:600;color:var(--ink)}
.inline-work-form{display:flex;gap:6px;align-items:center;margin:0;flex-wrap:wrap}
.inline-work-form input,.inline-work-form select{height:31px;font-size:12px}
.proposal-plan-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:14px}
.proposal-table th,.proposal-table td{vertical-align:top}
.proposal-table td:nth-child(2){white-space:nowrap}
.proposal-preview{font-size:12.5px;color:var(--ink2);line-height:1.45;max-width:520px}
.review-command{background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:14px 16px;margin-bottom:16px}
.review-action-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:12px}
.review-action-row.last{border-bottom:none;padding-bottom:0;margin-bottom:0}
.review-action-row h3{font-family:'Archivo';font-size:13px;font-weight:800;color:var(--navy);margin:0 0 3px}
.review-action-row p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.45}
.review-note{font-family:'Spline Sans Mono';font-size:10.5px!important;color:var(--blue)!important;margin-top:5px!important}
.review-note.muted{color:var(--faint)!important}
.review-action-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:none}
.review-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.review-running{display:flex;align-items:center;gap:8px;color:var(--gold);font-family:'Archivo';font-weight:700;font-size:13px}
.review-msg{font-size:12px;margin-top:10px}
.btn.disabled,.btn:disabled{opacity:.55;cursor:not-allowed}
.review-result-card{border:1px solid var(--line2);border-radius:10px;overflow:hidden;margin-bottom:16px;background:var(--card)}
.review-result-card.dim{opacity:.76}
.review-result-head{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--paper);border-bottom:1px solid var(--line2);padding:12px 14px}
.review-result-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}
.review-result-title strong{font-family:'Archivo';font-size:13px;color:var(--navy)}
.review-result-title span{font-size:12px;color:var(--muted)}
.review-result-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.review-result-body{padding:14px}
.review-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}
.coverage-bar{height:8px;border-radius:6px;background:var(--line);overflow:hidden;display:flex;margin-bottom:8px}
.coverage-bar div{height:100%}
.coverage-bar .covered,.coverage-legend .covered{background:var(--green)}
.coverage-bar .partial,.coverage-legend .partial{background:var(--gold)}
.coverage-bar .missing,.coverage-legend .missing{background:var(--ox)}
.coverage-legend{display:flex;gap:14px;align-items:center;font-family:'Spline Sans Mono';font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}
.coverage-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
.review-assessment{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.review-assessment p{font-size:13px;color:var(--ink2);margin:0;line-height:1.5}
.review-section-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.review-section-head h4{font-family:'Archivo';font-weight:800;font-size:12px;color:var(--navy);margin:0;text-transform:uppercase;letter-spacing:.04em}
.review-section-head span{font-family:'Spline Sans Mono';font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.review-empty{text-align:center;padding:42px 16px;border:1px dashed var(--line2);border-radius:10px;background:var(--paper)}
.review-empty p{font-family:'Archivo';font-weight:800;color:var(--muted);font-size:14px;margin:0}
.review-empty span{display:block;color:var(--faint);font-size:12px;margin-top:4px}
.rfp-decision-scorecard{color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.scorecard-kicker{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line)}
.scorecard-kicker>div{display:flex;align-items:center;gap:9px;font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}
.scorecard-kicker i{width:16px;height:1px;background:var(--gold);display:inline-block}
.scorecard-kicker .scorecard-kicker-actions{gap:12px;letter-spacing:0;text-transform:none}
.scorecard-kicker-actions a,.scorecard-kicker-actions button{color:var(--blue);font-family:'Archivo';font-weight:700;font-size:11px;background:none;border:0;text-decoration:underline;cursor:pointer}
.scorecard-decision-strip{display:grid;grid-template-columns:1.12fr 1fr .88fr;min-height:72px}
.scorecard-decision{border:0;display:grid;grid-template-rows:auto auto auto;align-content:center;gap:2px;padding:10px 18px;text-align:left;color:#fff}
.scorecard-decision span,.scorecard-decision em{font-family:'Spline Sans Mono';font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;font-style:normal;opacity:.78}
.scorecard-decision strong{font-family:'Archivo';font-size:15px;letter-spacing:.06em}
.scorecard-decision.recommendation{background:#196b42}
.scorecard-decision.deadline{background:#315069}
.scorecard-decision.deadline.warn{background:#926713}
.scorecard-decision.deadline.danger{background:#8f2730}
.scorecard-decision.record{background:var(--navy);cursor:pointer}
.scorecard-decision.record:hover{background:#234966}
.scorecard-main{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(310px,.9fr);border-top:8px solid var(--paper)}
.scorecard-gates{min-width:0;border-right:1px solid var(--line2)}
.scorecard-gate-head,.scorecard-gate{display:grid;grid-template-columns:minmax(135px,.9fr) minmax(105px,.55fr) minmax(260px,1.45fr) minmax(78px,.45fr);gap:12px;align-items:center}
.scorecard-gate-head{padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--line);font-family:'Spline Sans Mono';font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.scorecard-gate{min-height:84px;padding:10px 14px;border-bottom:1px solid var(--line)}
.scorecard-gate:last-of-type{border-bottom:0}
.gate-name{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center}
.gate-name b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font-family:'Spline Sans Mono';font-size:10px;color:var(--navy)}
.gate-name strong{font-size:11.5px;text-transform:uppercase;letter-spacing:.025em}
.gate-signal{display:flex;flex-direction:column;gap:2px;min-width:0}
.gate-signal strong{font-family:'Spline Sans Mono';font-size:16px;text-transform:uppercase;line-height:1.1}
.gate-signal span{font-size:9.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scorecard-gate ul{margin:0;padding-left:16px;color:var(--ink2);font-size:10.5px;line-height:1.4}
.gate-verdict{font-family:'Archivo';font-weight:800;font-size:10.5px;text-transform:uppercase}
.scorecard-gate.positive .gate-signal strong,.scorecard-gate.positive .gate-verdict{color:var(--green)}
.scorecard-gate.caution .gate-signal strong,.scorecard-gate.caution .gate-verdict{color:var(--gold)}
.scorecard-gate.negative .gate-signal strong,.scorecard-gate.negative .gate-verdict{color:var(--ox)}
.scorecard-gate.positive .gate-name b{background:var(--green-soft);color:var(--green)}
.scorecard-gate.caution .gate-name b{background:var(--gold-soft);color:#7d5715}
.scorecard-gate.negative .gate-name b{background:var(--ox-soft);color:var(--ox)}
.scorecard-rule{display:flex;align-items:center;gap:9px;min-height:46px;padding:9px 14px;border-top:1px solid var(--line);font-size:11px}
.scorecard-rule strong{color:var(--ox);text-transform:uppercase;font-size:10.5px;letter-spacing:.035em}
.scorecard-rule span{color:var(--ink2)}
.scorecard-posture{padding:14px;background:#fff}
.scorecard-posture h2,.scorecard-exposure h2{font-family:'Spline Sans Mono';font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--navy)}
.posture-confidence{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.posture-confidence>strong{font-family:'Newsreader';font-size:34px;color:var(--green);border-right:1px solid var(--line);padding-right:12px;text-align:center}
.posture-confidence div{display:flex;flex-direction:column;min-width:0}
.posture-confidence span{font-size:9.5px;color:var(--muted)}
.posture-confidence b{font-size:14px;color:var(--green)}
.posture-confidence p{font-size:10px;color:var(--muted);margin:3px 0 0}
.posture-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:10px 0}
.posture-facts div{min-width:0;padding:7px 4px;text-align:center;border-right:1px solid var(--line)}
.posture-facts div:last-child{border-right:0}
.posture-facts span{display:block;font-family:'Spline Sans Mono';font-size:7.5px;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.posture-facts strong{display:block;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.posture-facts .risk strong{color:var(--ox)}
.posture-facts .gap strong{color:var(--gold)}
.posture-read{padding-bottom:10px;border-bottom:1px solid var(--line)}
.posture-read h3,.conditions-head h3{font-family:'Archivo';font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 5px;color:var(--navy)}
.posture-read p,.posture-read li{font-size:10.5px;line-height:1.4;color:var(--ink2)}
.posture-read p{margin:0}.posture-read ul{margin:0;padding-left:15px;display:grid;gap:4px}
.posture-conditions{padding-top:10px}
.conditions-head{display:flex;justify-content:space-between;align-items:baseline}
.conditions-head span{font-family:'Spline Sans Mono';font-size:8px;color:var(--muted);text-transform:uppercase}
.posture-conditions button{width:100%;display:grid;grid-template-columns:23px minmax(0,1fr);gap:7px;text-align:left;align-items:start;padding:7px 0;border:0;border-top:1px solid var(--line);background:#fff;cursor:pointer}
.posture-conditions button>span{width:20px;height:20px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font-family:'Spline Sans Mono';font-size:9px;color:var(--navy)}
.posture-conditions button div{display:flex;flex-direction:column;gap:2px;min-width:0}
.posture-conditions button strong{font-size:10.3px;line-height:1.3;color:var(--ink)}
.posture-conditions button em{font-family:'Spline Sans Mono';font-style:normal;font-size:8.5px;color:var(--ox)}
.conditions-empty{font-size:10.5px;color:var(--muted);line-height:1.4}
.scorecard-primary-action{width:100%;border:0;background:var(--navy);color:#fff;padding:9px 10px;font-family:'Archivo';font-size:11px;font-weight:800;margin-top:8px;cursor:pointer}
.scorecard-primary-action:hover{background:#234966}
.scorecard-exposure{border-top:8px solid var(--paper)}
.exposure-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 14px}
.exposure-head p{font-size:9.5px;color:var(--muted);margin:3px 0 0}
.exposure-head button,.exposure-row button{border:1px solid var(--line2);background:#fff;color:var(--blue);font-size:10px;padding:5px 7px;cursor:pointer}
.exposure-table-head,.exposure-row{display:grid;grid-template-columns:minmax(210px,1.45fr) 70px 82px 100px minmax(230px,1.3fr) 62px;gap:10px;align-items:center}
.exposure-table-head{padding:7px 14px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:'Spline Sans Mono';font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.exposure-row{padding:7px 14px;border-bottom:1px solid var(--line);font-size:10px}
.exposure-row:last-child{border-bottom:0}
.exposure-row strong{font-size:10.5px;line-height:1.3}
.exposure-row p{font-size:10px;line-height:1.35;color:var(--ink2);margin:0}
.exposure-row .impact{font-weight:800}.impact-high{color:var(--ox)}.impact-medium{color:var(--gold)}.impact-low{color:var(--green)}
.exposure-row .owner.unassigned{color:var(--ox);font-weight:700}
.exposure-empty{padding:18px 14px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.executive-decision-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:10px;padding:28px;box-shadow:0 24px 80px rgba(5,20,34,.35);color:var(--ink)}
.executive-decision-dialog::backdrop{background:rgba(8,25,40,.68)}
.decision-dialog-close{position:absolute;top:12px;right:12px}.decision-dialog-close button{border:1px solid var(--line2);background:#fff;padding:5px 8px;cursor:pointer}
.decision-dialog-eyebrow{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.executive-decision-dialog h2{font-family:'Newsreader';font-size:28px;margin:6px 0;color:var(--navy)}
.executive-decision-dialog>p{font-size:12.5px;line-height:1.45;color:var(--muted)}
.decision-dialog-current{background:var(--paper);border:1px solid var(--line);padding:8px 10px;font-family:'Spline Sans Mono';font-size:10px;margin:14px 0}
.decision-dialog-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.decision-dialog-actions form{margin:0}.decision-dialog-actions button{width:100%;min-height:48px;border:1px solid var(--line2);background:#fff;font-weight:800;font-size:11px;cursor:pointer}
.decision-dialog-actions .approve{background:var(--green);color:#fff;border-color:var(--green)}.decision-dialog-actions .decline{color:var(--ox);border-color:#d9b8bb}
.overview-processing-details>summary{cursor:pointer;font-family:'Archivo';font-weight:800;font-size:11px;color:var(--navy);text-transform:uppercase;letter-spacing:.04em}
.decision-workbench{display:grid;grid-template-columns:165px minmax(0,1fr);gap:10px;margin-bottom:10px}
.decision-score{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:9px;background:var(--paper);padding:10px 11px}
.decision-score.bid{border-left-color:var(--green)}
.decision-score.no-bid{border-left-color:var(--ox)}
.decision-score span{display:block;font-family:'Spline Sans Mono';font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.decision-score strong{display:block;font-family:'Archivo';font-size:22px;line-height:1.05;color:var(--navy);margin-top:5px}
.decision-score.bid strong{color:var(--green)}
.decision-score.no-bid strong{color:var(--ox)}
.decision-score.conditional strong{color:var(--gold)}
.decision-score em{display:block;font-style:normal;font-family:'Spline Sans Mono';font-size:10px;color:var(--muted);margin-top:6px}
.decision-evidence{min-width:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff}
.decision-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.decision-bullets{margin:0;padding-left:17px;display:grid;gap:5px}
.decision-bullets li{font-size:12.8px;color:var(--ink2);line-height:1.42}
.decision-empty{font-size:13px;color:var(--muted);margin:0}
.decision-table{margin-top:10px;table-layout:fixed}
.decision-table td:first-child{width:128px;font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.risk-brief-list{display:grid;gap:8px}
.risk-brief-row{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 10px}
.risk-brief-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.risk-brief-top strong{font-family:'Archivo';font-size:12.8px;line-height:1.32;color:var(--ink)}
.risk-brief-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;font-family:'Spline Sans Mono';font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.risk-brief-meta span{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
.risk-brief-mitigation{margin-top:7px;border-left:3px solid var(--blue);padding-left:8px;font-size:12.5px;line-height:1.42;color:var(--ink2)}
.risk-detail{display:grid;gap:14px}
.risk-detail::before{content:"";height:7px;border-radius:5px;background:var(--blue);display:block}
.risk-detail.risk-high::before{background:var(--ox)}
.risk-detail.risk-medium::before{background:var(--gold)}
.risk-detail.risk-low::before{background:var(--green)}
.risk-detail.risk-high .req-section:first-of-type{border-color:#e2c2c4;background:var(--ox-soft)}
.risk-detail.risk-medium .req-section:first-of-type{border-color:#e4d5a2;background:var(--gold-soft)}
.risk-detail.risk-low .req-section:first-of-type{border-color:#bedbc9;background:var(--green-soft)}
.risk-detail.risk-high .req-kv{border-color:#e2c2c4;background:#fbf2f3}
.risk-detail.risk-medium .req-kv{border-color:#e4d5a2;background:#fbf6e8}
.risk-detail.risk-low .req-kv{border-color:#bedbc9;background:#eff7f2}
.risk-detail.risk-high .req-kv .k,.risk-detail.risk-high .req-section h4{color:var(--ox-ink)}
.risk-detail.risk-medium .req-kv .k,.risk-detail.risk-medium .req-section h4{color:#7d5715}
.risk-detail.risk-low .req-kv .k,.risk-detail.risk-low .req-section h4{color:#1f5c3b}
.workspace-shell .ov-grid{gap:9px!important}
.workspace-shell .intelgrid{display:grid;grid-template-columns:1fr;gap:10px}
.workspace-shell .intelcard,.workspace-shell .intelcard-dim{border-radius:10px;padding:13px 15px}
.workspace-shell .enrich{padding:16px!important;background:var(--inset)}
.workspace-shell .enrich .esec{padding:13px 15px}
.workspace-shell .enrich .efrm{gap:14px}

/* ---- chips ---- */
.chip{display:inline-flex;align-items:center;gap:6px;font-family:'Archivo';font-weight:600;font-size:11px;padding:3px 9px;border-radius:6px}
.c-neutral{background:#e6eaf0;color:var(--navy)}
.c-green{background:var(--green-soft);color:#1f5c3b}
.c-blue{background:var(--blue-soft);color:#1f4e7a}
.c-gold{background:var(--gold-soft);color:#7d5715}
.c-red{background:#fee2e2;color:#991b1b}
.c-ox{background:var(--ox-soft);color:var(--ox-ink)}

/* ---- toast ---- */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;font-family:'Archivo';font-weight:600;font-size:13px;padding:11px 18px;border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transition:.25s;z-index:60;display:flex;align-items:center;gap:9px}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.toast .ok{width:8px;height:8px;border-radius:50%;background:var(--green)}

/* ---- errors list ---- */
.errlist{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.erow{border-bottom:1px solid var(--line)}
.erow:last-child{border-bottom:none}
.erow .esum{display:grid;grid-template-columns:152px 130px 96px 1fr auto;gap:14px;align-items:center;padding:11px 18px;font-family:'Spline Sans Mono';font-size:12px;cursor:pointer}
.erow .esum:hover{background:#fafbfc}
.erow .ts{color:var(--muted);white-space:nowrap}
.erow .reason{font-family:'Archivo';font-weight:600;font-size:12px;color:var(--ox);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.erow.notif .reason{color:var(--gold)}
.erow .rfpt{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;gap:8px;align-items:center;min-width:0}
.erow .rfpt .uid{color:var(--faint);font-size:10.5px;flex:none}
.erow .chev{transition:transform .2s;color:var(--faint);width:14px;height:14px}
.erow.open .chev{transform:rotate(180deg)}
.erow .edetail{display:none;padding:2px 18px 14px 18px}
.erow.open .edetail{display:block}
.erow .emsg{font-family:'Spline Sans Mono';font-size:11.5px;color:var(--ox-ink);background:var(--ox-soft);border:1px solid #e2c2c4;border-radius:8px;padding:10px 13px;white-space:pre-wrap;word-break:break-word;line-height:1.55;margin:0}
.erow.notif .emsg{color:#7d5715;background:var(--gold-soft);border-color:#e6d4ad}
.stagechip{font-family:'Spline Sans Mono';font-size:10px;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:var(--paper);border:1px solid var(--line2);color:var(--ink2);text-transform:uppercase;width:fit-content;white-space:nowrap}
.logs-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.logs-toolbar .search{min-width:280px}
.live-strip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:8px 11px;margin-bottom:10px;font-size:12.5px;color:var(--muted)}
.live-strip strong{font-family:'Archivo';font-size:12.5px;color:var(--ink)}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.log-list{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden}
.log-row{border-bottom:1px solid var(--line)}
.log-row:last-child{border-bottom:none}
.log-summary{width:100%;display:grid;grid-template-columns:142px 102px 112px minmax(0,1fr) 120px 24px;gap:11px;align-items:center;text-align:left;border:0;background:#fff;padding:10px 14px;cursor:pointer;color:inherit}
.log-summary:hover{background:#fafbfc}
.log-time{font-size:11.5px;color:var(--muted);white-space:nowrap}
.log-type{font-family:'Archivo';font-weight:700;font-size:11.5px;border-radius:6px;padding:3px 8px;width:fit-content;background:#e6eaf0;color:var(--navy)}
.log-type.error{background:var(--ox-soft);color:var(--ox-ink)}
.log-type.warning{background:var(--gold-soft);color:#7d5715}
.log-bucket{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 7px;width:fit-content}
.log-main{min-width:0;display:grid;gap:2px}
.log-main strong{font-family:'Archivo';font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-main em{font-style:normal;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-actor{font-family:'Spline Sans Mono';font-size:11px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-chevron{color:var(--faint);font-size:18px;text-align:center;transition:transform .15s}
.log-row.open .log-chevron{transform:rotate(180deg)}
.log-detail{display:none;border-top:1px solid var(--line);background:var(--inset);padding:12px 14px}
.log-row.open .log-detail{display:grid;gap:10px}
.log-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.log-detail-grid div{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 9px;min-width:0}
.log-detail-grid span{display:block;font-family:'Spline Sans Mono';font-size:8.8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.log-detail-grid strong{display:block;font-family:'Archivo';font-size:12.5px;color:var(--ink);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-detail pre{margin:0;border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:8px;background:#fff;padding:10px 12px;font-family:'Spline Sans Mono';font-size:11.5px;color:var(--ink2);white-space:pre-wrap;word-break:break-word;line-height:1.55}
@media(max-width:980px){.log-summary{grid-template-columns:120px 92px minmax(0,1fr) 24px}.log-bucket,.log-actor{display:none}.log-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.logs-toolbar .search{min-width:100%}.log-summary{grid-template-columns:1fr 24px}.log-time,.log-type{display:none}.log-detail-grid{grid-template-columns:1fr}}

/* ---- source documents ---- */
.syncbar{display:flex;align-items:center;gap:14px;background:var(--blue-soft);border:1px solid #bcd6ea;border-radius:11px;padding:13px 18px;margin-bottom:18px;font-size:13.5px;color:#1f4e7a}
.syncbar .spin{width:16px;height:16px;border-radius:50%;border:2px solid #9cc1e0;border-top-color:var(--blue);animation:cb-spin 1s linear infinite;flex:none}
@keyframes cb-spin{to{transform:rotate(360deg)}}
.syncbar .pt{margin-left:auto;font-family:'Spline Sans Mono';font-size:11.5px}
.source-command{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.source-command h3{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--navy);margin:0 0 4px}
.source-command p{font-size:13px;color:var(--muted);margin:0;line-height:1.45}
.source-config-note{margin-top:9px;font-size:12px;color:var(--muted)}
.source-config-note code{background:var(--paper);padding:2px 6px;border-radius:5px;color:var(--ink2)}
.source-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.source-sync-result{grid-column:1 / -1;font-size:12px}
.source-stats{margin-bottom:14px}
@media(max-width:760px){.source-command{grid-template-columns:1fr}.source-actions{justify-content:flex-start}}
.cat-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cat-none{font-size:11.5px;color:var(--faint)}
.cat-edit{margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--inset)}
.cat-edit-options{display:grid;gap:4px;max-height:160px;overflow:auto}
.cat-edit-options label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;padding:3px 4px;border-radius:6px}
.cat-edit-options label:hover{background:var(--card)}
.cat-edit .btn{width:100%;justify-content:center;padding:6px 9px;font-size:12px;margin-top:8px}
.ops-command{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin-bottom:14px}
.ops-command h3{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--navy);margin:0 0 4px}
.ops-command p{font-size:13px;color:var(--muted);margin:0;line-height:1.45;max-width:760px}
.ops-command-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.ops-command{display:block}.ops-command-actions{justify-content:flex-start;margin-top:10px}}
.admin-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.admin-command{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;margin-bottom:16px}
.admin-command h3{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--navy);margin:0 0 4px}
.admin-command p{font-size:13px;color:var(--muted);margin:0;line-height:1.45;max-width:760px}
.admin-command-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:760px){.admin-nav{justify-content:flex-start}.admin-command{display:block}.admin-command-actions{justify-content:flex-start;margin-top:10px}}
.catcard{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;min-width:0;overflow:hidden}
.catcard .cth{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.catcard .ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-family:'Spline Sans Mono';font-weight:600;font-size:13px;flex:none;background:#e6eaf0;color:var(--navy)}
.catcard .cth b{font-family:'Archivo';font-weight:700;font-size:14px}
.catcard .cnt{margin-left:auto;font-family:'Spline Sans Mono';font-size:11px;color:var(--muted)}
.catcard .use{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.doc{display:flex;align-items:center;gap:9px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px;min-width:0}
.doc .fn{flex:1;min-width:0;font-family:'Spline Sans Mono';font-size:11.5px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc .dt{margin-left:auto;font-family:'Spline Sans Mono';font-size:10.5px;color:var(--faint);flex:none}
.doc .chip{flex:none}
/* source docs view toggle (buckets vs table) */
.viewtoggle{display:inline-flex;border:1px solid var(--line2);border-radius:9px;overflow:hidden}
.viewtoggle button{font-family:'Archivo';font-weight:600;font-size:12.5px;padding:7px 13px;background:var(--card);color:var(--muted);border:none;cursor:pointer}
.viewtoggle button+button{border-left:1px solid var(--line2)}
.viewtoggle button.on{background:var(--navy);color:#fff}
#source-root[data-srcview="buckets"] .src-table-view{display:none}
#source-root[data-srcview="table"] .src-bucket-view{display:none}
.bucketgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;align-items:start}
/* folder view (rail + file list) */
.folderwrap{display:grid;grid-template-columns:230px 1fr;background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden;min-height:380px}
.folderrail{border-right:1px solid var(--line);padding:10px;background:var(--inset)}
.folderrail .fr{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;cursor:pointer;font-size:13.5px;font-weight:500;color:var(--ink2)}
.folderrail .fr:hover{background:var(--paper)}
.folderrail .fr.on{background:var(--navy);color:#fff}
.folderrail .fr svg{width:16px;height:16px;flex:none;opacity:.8}
.folderrail .fr .c{margin-left:auto;font-family:'Spline Sans Mono';font-size:11px;color:var(--muted)}
.folderrail .fr.on .c{color:#9db2c8}
.foldermain{padding:18px 20px;min-width:0}
.foldermain h2{font-family:'Archivo';font-weight:700;font-size:15px;margin:0 0 2px;color:var(--ink)}
.foldermain .sub{font-family:'Spline Sans Mono';font-size:11px;color:var(--muted);margin-bottom:12px}
.foldergroup{margin-bottom:18px}
.foldergroup:last-child{margin-bottom:0}
.frow{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.frow:last-child{border:none}
.frow .fn{flex:1;min-width:0;font-family:'Spline Sans Mono';font-size:12px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frow .dt{font-family:'Spline Sans Mono';font-size:10.5px;color:var(--faint);flex:none}
@media(max-width:720px){.folderwrap{grid-template-columns:1fr}.folderrail{border-right:none;border-bottom:1px solid var(--line)}}
/* operations / processing */
.ops-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(340px,1.2fr) minmax(280px,1fr) minmax(220px,.75fr);gap:14px;align-items:start}
.ops-card{min-width:0}
.ops-primary{border-color:#bcd6ea;box-shadow:0 0 0 2px var(--blue-soft)}
.ops-card h3{margin-bottom:7px}
.ops-card select{max-width:100%}
.processing-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}
.processing-status-strip div{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.processing-status-strip span{display:block;font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.processing-status-strip strong{display:block;font-family:'Archivo';font-size:20px;font-weight:800;color:var(--navy);margin-top:2px}
.processing-status-strip strong.ok{color:var(--green)}
.processing-status-strip strong.warn{color:var(--gold)}
.ops-control{width:100%;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-family:'Archivo';font-size:13px;color:var(--ink);background:#fff;margin-bottom:8px}
.ops-control:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(28,47,71,.08)}
.ops-small-label{font-family:'Spline Sans Mono';font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}
.ops-doc-picker{display:grid;gap:5px;max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:7px;background:var(--inset)}
.ops-doc-picker label{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--ink2);cursor:pointer;border-radius:6px;padding:4px}
.ops-doc-picker label:hover{background:#fff}
.ops-doc-picker label>span{min-width:0;flex:1}
.ops-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink2);margin:8px 0;cursor:pointer}
.ops-inline-links{display:flex;align-items:center;gap:8px;margin-top:6px}
.ops-inline-links button{border:0;background:none;color:var(--navy);font-family:'Archivo';font-size:11px;font-weight:700;padding:0;cursor:pointer}
.ops-inline-links button:hover{text-decoration:underline}
.ops-inline-links span{color:var(--line2);font-size:11px}
.ops-note{font-size:10.5px;color:var(--faint);margin:6px 0 8px}
.ops-share-current{margin-top:8px;background:var(--inset);border:1px solid var(--line);border-radius:9px;padding:9px}
.ops-share-current p{font-family:'Spline Sans Mono';font-size:9.5px;color:var(--muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}
.ops-share-current div{display:flex;align-items:center;gap:8px;min-width:0}
.ops-share-current a{flex:1;min-width:0;font-family:'Spline Sans Mono';font-size:11.5px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}
.ops-share-current a:hover{text-decoration:underline}
.ops-share-current button{border:0;background:none;color:var(--navy);font-family:'Archivo';font-size:11px;font-weight:800;cursor:pointer}
.help-tip{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line2);background:var(--paper);color:var(--muted);font-family:'Spline Sans Mono';font-size:10px;font-weight:700;cursor:help}
.ops-export-list{display:grid;gap:8px}
.ops-export-list .btn{justify-content:center;text-decoration:none}
/* ---- processing tab: purpose-grouped layout ---- */
.ops-stack{display:grid;gap:14px}
.ops-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.ops-reprocess-form{max-width:560px}
.ops-action{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ops-action-text{min-width:0}
.ops-action-text strong{display:block;font-family:'Archivo';font-size:13.5px;font-weight:700;color:var(--ink)}
.ops-action-text p{margin:2px 0 0;font-size:11.5px;color:var(--muted);line-height:1.35}
.ops-action .btn{flex:none;white-space:nowrap}
.ops-divider{height:1px;background:var(--line);margin:12px 0}
.ops-doc-details{margin-top:10px}
.ops-doc-details>summary{font-family:'Archivo';font-size:12px;font-weight:700;color:var(--navy);cursor:pointer;list-style:none}
.ops-doc-details>summary::-webkit-details-marker{display:none}
.ops-doc-details>summary span{color:var(--faint);font-weight:400}
.ops-doc-details>summary:hover{text-decoration:underline}
.ops-doc-details .ops-doc-picker{margin-top:8px}
.ops-exports-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:11px 16px}
.ops-exports-label{font-family:'Spline Sans Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ops-export-link{font-family:'Archivo';font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.ops-export-link::before{content:'\2193';font-size:11px;color:var(--muted)}
.ops-export-link:hover{text-decoration:underline}
@media(max-width:820px){.ops-two{grid-template-columns:1fr}}
.ops-log-table{font-size:11.5px}
.ops-log-table th,.ops-log-table td{padding:6px 7px!important;vertical-align:top}
.ops-log-table td:first-child,.ops-log-table td:last-child{white-space:nowrap}
.ops-agent{font-size:10px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;margin-top:4px}
@media(max-width:1280px){.ops-grid{grid-template-columns:1fr 1fr}.ops-primary{order:-1}}
@media(max-width:760px){.ops-grid{grid-template-columns:1fr}.ops-primary{order:-1}.processing-status-strip{grid-template-columns:1fr 1fr}}
/* activity */
.activity-grid{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);gap:14px;align-items:start}
.activity-note textarea{font-family:'Archivo';font-size:13px;line-height:1.5;resize:vertical;min-height:118px}
.activity-table th,.activity-table td{vertical-align:top}
.activity-table td:nth-child(2),.activity-table td:nth-child(3){white-space:nowrap}
.comment-list{display:grid;gap:8px}
.comment-row{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--inset)}
.comment-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;align-items:center}
@media(max-width:900px){.activity-grid{grid-template-columns:1fr}}
@media(max-width:900px){.proposal-plan-grid{grid-template-columns:1fr}}
@media(max-width:900px){.decision-workbench{grid-template-columns:1fr}}
@media(max-width:1100px){
  .scorecard-main{grid-template-columns:1fr}
  .scorecard-gates{border-right:0;border-bottom:8px solid var(--paper)}
  .scorecard-posture{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .scorecard-posture h2,.scorecard-primary-action{grid-column:1 / -1}
  .posture-conditions{grid-column:2;grid-row:2 / 5}
  .posture-confidence,.posture-facts,.posture-read{grid-column:1}
  .exposure-table-head,.exposure-row{grid-template-columns:minmax(190px,1.25fr) 62px 74px 90px minmax(190px,1.1fr) 58px}
}
@media(max-width:720px){
  .scorecard-kicker{align-items:flex-start}.scorecard-kicker-actions{flex-direction:column;align-items:flex-end!important}
  .scorecard-decision-strip{grid-template-columns:1fr}.scorecard-decision{min-height:65px}
  .scorecard-gate-head{display:none}.scorecard-gate{grid-template-columns:1fr auto;gap:8px;min-height:0;padding:12px}
  .gate-name{grid-column:1}.gate-signal{grid-column:2;grid-row:1;text-align:right}.scorecard-gate ul{grid-column:1 / -1}.gate-verdict{grid-column:1 / -1;justify-self:end}
  .scorecard-posture{display:block}.posture-conditions{grid-column:auto}
  .exposure-table-head{display:none}.exposure-row{grid-template-columns:1fr auto auto;gap:5px 9px;padding:10px 12px}
  .exposure-row>strong,.exposure-row>p{grid-column:1 / -1}.exposure-row .owner{grid-column:1}.exposure-row button{grid-column:3;grid-row:1 / span 2}
  .decision-dialog-actions{grid-template-columns:1fr}
}
/* intel report cards (rfp detail) */
.intelgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.intelcard{border:1px solid var(--line2);border-radius:12px;padding:16px;display:block;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.intelcard:hover{border-color:var(--navy);box-shadow:0 6px 18px rgba(28,47,71,.08)}
.intelcard-dim{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--paper)}
.intelcard h3,.intelcard-dim h3{font-family:'Archivo';font-weight:700;font-size:13.5px;margin:0}
.intelcard svg.tic,.intelcard-dim svg.tic{width:20px;height:20px}

/* ---- enrichment form (scoped) ---- */
.enrich-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:14px 16px;margin-bottom:12px}
.enrich-head h3{font-family:'Archivo';font-weight:800;font-size:15px;color:var(--navy);margin:0 0 4px}
.enrich-head p{font-size:12.5px;color:var(--muted);margin:0;max-width:760px;line-height:1.45}
.enrich-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.enrich-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}
.enrich .efrm{display:grid;grid-template-columns:198px 1fr;gap:18px}
.enrich .erail{position:sticky;top:10px;align-self:start;max-height:calc(100vh - 22px);overflow:auto}
.enrich .emeter{background:var(--card);border:1px solid var(--line2);border-radius:9px;padding:11px 12px;margin-bottom:10px}
.enrich .emeter .mt{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.enrich .emeter .mt b{font-family:'Archivo';font-weight:800;font-size:19px;color:var(--navy)}
.enrich .emeter .mt b small{font-size:11px;color:var(--faint);font-weight:600}
.enrich .emeter .mt span{font-family:'Spline Sans Mono';font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.enrich .emeter .mtrack{height:6px;border-radius:5px;background:var(--line);overflow:hidden}
.enrich .emeter .mtrack i{display:block;height:100%;border-radius:5px;background:var(--green);transition:width .3s}
.enrich .enav{background:var(--card);border:1px solid var(--line2);border-radius:9px;padding:8px}
.enrich .enav .grp{font-family:'Spline Sans Mono';font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ox);font-weight:600;margin:11px 0 4px 4px}
.enrich .enav .grp:first-child{margin-top:0}
.enrich .enav a{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:7px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:.12s}
.enrich .enav a:hover{background:var(--paper);color:var(--ink)}
.enrich .enav a.on{background:var(--paper);color:var(--ink)}
.enrich .enav a .d{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--line2);flex:none}
.enrich .enav a.filled .d{background:var(--green);border-color:var(--green)}
.enrich .esec{background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:16px 18px;margin-bottom:10px;scroll-margin-top:14px}
.enrich .esec .eh{display:flex;align-items:center;gap:9px;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:8px}
.enrich .esec .eh h4{font-family:'Archivo';font-weight:800;font-size:13px;letter-spacing:.01em;margin:0;color:var(--navy)}
.enrich .esec .eh .fb{margin-left:auto;font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:20px;background:var(--paper);color:var(--faint)}
.enrich .esec.has .eh .fb{background:var(--green-soft);color:#1f5c3b}
.enrich .esec .eadd{margin-left:auto;font-family:'Archivo';font-weight:700;font-size:11.5px;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:4px 8px;cursor:pointer}
.enrich .esec .eadd:hover{border-color:var(--navy)}
.enrich .field{margin-bottom:0}
.enrich .field label{display:block;font-family:'Archivo';font-weight:600;font-size:10.5px;letter-spacing:.02em;color:var(--ink2);margin-bottom:5px}
.enrich .field input,.enrich .field textarea,.enrich .field select{width:100%;padding:7px 9px;border:1px solid var(--line2);border-radius:7px;font-size:12.5px;background:var(--card);color:var(--ink);font-family:'Archivo'}
.enrich .field input:focus,.enrich .field textarea:focus,.enrich .field select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(28,47,71,.08)}
.enrich .field textarea{resize:vertical;min-height:62px;line-height:1.5}
.enrich .field input::placeholder,.enrich .field textarea::placeholder{color:var(--faint)}
.enrich .fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px}
.enrich .fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px 10px}
.enrich .enr-row{display:grid;gap:7px;align-items:end;background:var(--inset);border:1px solid var(--line);border-radius:8px;padding:8px 36px 8px 9px;position:relative;margin-bottom:6px}
.enrich .enr-row .field input{background:var(--card)}
.enrich .enr-row .delrow{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;color:var(--faint);display:grid;place-items:center;font-size:15px;background:none;border:none;cursor:pointer}
.enrich .enr-row .delrow:hover{background:var(--ox-soft);color:var(--ox)}
.enrich .eaddrow{margin-top:2px;font-family:'Archivo';font-weight:600;font-size:12px;color:var(--navy);border:1px dashed var(--line2);border-radius:9px;padding:8px 14px;width:100%;background:none;cursor:pointer}
.enrich .eaddrow:hover{border-color:var(--navy);background:var(--paper)}
.enrich .spotlight{border-color:#cdb9bb;box-shadow:0 0 0 2px var(--ox-soft)}
.enrich .runbtn{margin-top:8px;font-family:'Archivo';font-weight:700;font-size:12px;background:var(--ox);color:#fff;padding:8px 12px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.enrich .runbtn:hover{background:var(--ox-ink)}
.enrich .esavebar{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line2);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;margin-top:4px;box-shadow:0 -4px 16px rgba(16,24,33,.06);flex-wrap:wrap;z-index:3}
.enrich .esavebar select{padding:7px 9px;border:1px solid var(--line2);border-radius:8px;font-size:12.5px;font-weight:500;color:var(--ink2);background:var(--card)}
.enrich .esavebar .sp{flex:1}
@media(max-width:900px){.enrich-head{display:block}.enrich-actions{justify-content:flex-start;margin-top:10px}.enrich-kpis{grid-template-columns:repeat(2,1fr)}.enrich .efrm{grid-template-columns:1fr}.enrich .erail{position:static;max-height:none}.enrich .fgrid2,.enrich .fgrid3{grid-template-columns:1fr}}
@media(max-width:640px){.enrich-kpis{grid-template-columns:1fr}.enrich .enr-row{grid-template-columns:1fr!important}}

.empty{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:56px;text-align:center}
.empty .et{font-family:'Archivo';font-weight:700;font-size:16px;color:var(--ink)}
.empty .es{margin-top:6px;font-size:13px;color:var(--muted)}
.cb-hidden{display:none!important}

/* ---- share link box ---- */
.sharebox{background:var(--green-soft);border:1px solid #bcdcc9;border-radius:10px;padding:13px 15px}
.sharebox-head{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.sharebox-label{font-family:'Archivo';font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--green)}
.sharebox-exp{font-size:11px;color:var(--muted)}
.sharebox-row{display:flex;align-items:stretch;gap:9px}
.sharebox-url{flex:1;min-width:0;font-family:'Spline Sans Mono';font-size:12px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 10px;word-break:break-all;overflow-wrap:anywhere;display:flex;align-items:center}
.sharebox-copy{flex:none;font-family:'Archivo';font-weight:700;font-size:12px;padding:0 16px;border-radius:6px;border:none;cursor:pointer;background:var(--navy);color:#fff;transition:background .15s;white-space:nowrap}
.sharebox-copy:hover{background:var(--navy2)}
.sharebox-copy.ok{background:var(--green)}
.sharebox-copy.err{background:var(--ox)}

/* ---- share creation controls ---- */
.share-create-form{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin:0}
.share-create-form-stacked{display:grid;align-items:stretch;gap:8px}
.share-access-choice{min-width:0;margin:0;padding:0;border:0}
.share-access-choice legend{font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;padding:0}
.share-access-options{display:flex;align-items:stretch;gap:6px}
.share-access-option{display:flex;align-items:center;gap:7px;min-width:145px;padding:6px 8px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink2);cursor:pointer;transition:.15s}
.share-access-option:hover{border-color:var(--navy)}
.share-access-option:has(input:checked){border-color:var(--navy);background:var(--blue-soft);color:var(--navy)}
.share-access-option.is-locked,.share-access-choice.is-locked .share-access-option{border-color:var(--line2);background:var(--paper);cursor:default}
.share-access-option input{flex:none;margin:0;accent-color:var(--navy)}
.share-access-option span{display:grid;min-width:0}
.share-access-option strong{font-family:'Archivo';font-size:11.5px;line-height:1.25}
.share-access-helper{font-family:'Archivo';font-size:9.5px;line-height:1.3;color:var(--muted)}
.share-replacement-warning{max-width:190px;margin:0;font-size:10.5px;line-height:1.35;color:var(--ox-ink)}
.share-create-form-stacked .share-access-options{display:grid;grid-template-columns:1fr 1fr}
.share-create-form-stacked .share-access-choice.is-locked .share-access-options{grid-template-columns:1fr}
.share-create-form-stacked .share-access-option{min-width:0}
.share-create-form-stacked .share-replacement-warning{max-width:none}

.share-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 14px
}
.share-metrics>div{
  display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line2);
  border-radius:8px;background:var(--paper)
}
.share-metrics span:first-child{
  font-family:'Archivo';font-size:18px;font-weight:800;color:var(--navy)
}
.share-metrics span:last-child{
  font-family:'Spline Sans Mono';font-size:9px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)
}

@media(max-width:760px){
  .share-create-form{width:100%;flex-direction:column;align-items:stretch}
  .share-access-choice{width:100%}
  .share-access-options,.share-create-form-stacked .share-access-options{grid-template-columns:1fr;flex-direction:column}
  .share-access-option{min-width:0}
  .share-create-form .btn{justify-content:center}
  .share-replacement-warning{max-width:none}
}

/* ---- intel report detail (sub-tab layout) ---- */
.itypechip{font-family:'Archivo';font-weight:700;font-size:12px;padding:5px 12px;border-radius:20px;background:#e6eaf0;color:var(--navy);display:inline-flex;align-items:center;gap:7px}
.inarr{font-size:14.5px;color:var(--ink2);line-height:1.6;border-left:3px solid var(--ox);padding-left:16px;max-width:920px;margin-top:14px}
.isubs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid var(--line2);margin-bottom:18px;overflow-x:auto}
.isubs button{font-family:'Archivo';font-weight:600;font-size:13px;padding:9px 14px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--muted);margin-bottom:-1px;white-space:nowrap}
.isubs button:hover{color:var(--ink)}
.isubs button.on{color:var(--ox);border-bottom-color:var(--ox)}
.ipanel{display:none}.ipanel.on{display:block}
.isec{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:18px 22px}
.isec h3{font-family:'Archivo';font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid var(--line2);display:flex;align-items:center;gap:10px}
.isec h3::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--ox);transform:rotate(45deg);flex:none}
/* key/value table — zebra pill rows */
.ikv{width:100%;border-collapse:separate;border-spacing:0 3px;font-size:13.5px}
.ikv td{padding:10px 14px;vertical-align:top}
.ikv td.kvk{color:var(--navy);font-family:'Archivo';font-weight:700;font-size:11px;letter-spacing:.03em;text-transform:uppercase;width:32%;white-space:normal;line-height:1.4}
.ikv td.kvv{color:var(--ink2);line-height:1.55}
.ikv>tbody>tr>td{background:var(--paper)}
.ikv>tbody>tr>td:first-child{border-radius:7px 0 0 7px}
.ikv>tbody>tr>td:last-child{border-radius:0 7px 7px 0}
/* nested kv/table inside a value cell — keep it light */
.kvv .ikv,.kvv .itblwrap{margin-top:6px}
.kvv .ikv>tbody>tr>td{background:#fff;padding:5px 0;border-bottom:1px solid var(--line)}
.kvv .ikv>tbody>tr:last-child>td{border-bottom:none}
.kvv .ikv td.kvk{width:auto;padding-right:14px;color:var(--muted)}
/* data table — navy header, zebra body */
.itblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
.itbl{width:100%;border-collapse:collapse;font-size:13px}
.itbl th{text-align:left;font-family:'Archivo';font-weight:700;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--navy);padding:9px 13px;white-space:nowrap}
.itbl td{padding:10px 13px;border-bottom:1px solid var(--line);color:var(--ink2);vertical-align:top;line-height:1.5}
.itbl td.tdlead{font-weight:600;color:var(--ink)}
.itbl tbody tr:nth-child(even) td{background:var(--paper)}
.itbl tbody tr:last-child td{border-bottom:none}
/* bullets */
.ibul{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0}
.ibul li{padding-left:19px;position:relative;color:var(--ink2);font-size:13.5px;line-height:1.55}
.ibul li::before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:2px;background:var(--ox);transform:rotate(45deg)}
/* prose */
.ip{font-size:14px;color:var(--ink2);line-height:1.62;margin:0;max-width:860px}
/* chips for short scalar lists */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{font-family:'Archivo';font-weight:600;font-size:12px;padding:4px 11px;border-radius:6px;background:var(--blue-soft);color:var(--navy)}
.chip.c-neutral{background:#e6eaf0;color:var(--navy)}
.chip.c-green{background:var(--green-soft);color:#1f5c3b}
.chip.c-gold{background:var(--gold-soft);color:#7d5715}
.chip.c-red{background:#fee2e2;color:#991b1b}
/* status badges */
.ibadge{font-family:'Archivo';font-weight:700;font-size:11px;padding:3px 11px;border-radius:20px;display:inline-block;letter-spacing:.02em;white-space:nowrap}
.b-hi{background:var(--ox-soft);color:var(--ox-ink)}
.b-md{background:var(--gold-soft);color:var(--gold)}
.b-lo{background:var(--green-soft);color:var(--green)}
.b-navy{background:#e6eaf0;color:var(--navy)}

@media(max-width:1080px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .lhead{display:none}
  .row{grid-template-columns:1fr auto;gap:10px 14px}
  .row .pl{grid-column:1;grid-row:2}.row .bid{grid-column:2;grid-row:1;justify-self:end}
  .row .result-cell{grid-column:1;grid-row:3}.row .due{grid-column:2;grid-row:2;justify-self:end;text-align:right}
  .row .cost{grid-column:2;grid-row:3;justify-self:end}.row .kebab{grid-column:2;grid-row:4}
  .g2,.g3{grid-template-columns:1fr}
  .req-detail-grid{grid-template-columns:1fr}
  .side-drawer{top:0;width:100vw}
  .side-scrim{inset:0}
}
@media(max-width:640px){.appbar nav.top{display:none}.stats{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.drawer,.scrim,.toast,.b-processing .bd{transition:none;animation:none}}

/* ---- keyboard focus visibility (was absent app-wide) ---- */
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.appbar :focus-visible,.side-drawer-head :focus-visible,.doc-mode-btn.on:focus-visible{outline-color:#cfe0f2}
/* complete reduced-motion coverage: stepper pulse, sync spinner, pulse bars */
@media(prefers-reduced-motion:reduce){.step-running .step-circle,.syncbar .spin,.pulse-bar,.animate-spin{animation:none}}
/* mobile: wide data tables scroll instead of clipping; error rows stack */
.tablecard{overflow-x:auto}
@media(max-width:760px){.erow .esum{grid-template-columns:1fr;gap:5px}}

/* ---- proposal template administration (scoped) ---- */
.pt-page {
  display: grid;
  gap: 18px;
}
.pt-page h2 {
  color: var(--navy);
  font-family: 'Archivo';
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 5px;
}
.pt-notice,
.pt-test-passed {
  background: var(--green-soft);
  border: 1px solid #bcdcc9;
  border-radius: 9px;
  color: #1f5c3b;
  font-weight: 700;
  padding: 11px 14px;
}
.pt-notice-error {
  background: var(--ox-soft);
  border-color: #e2c2c4;
  color: var(--ox-ink);
}
.pt-source-hash {
  color: var(--faint);
  display: block;
  font-family: 'Spline Sans Mono';
  font-size: 9.5px;
  margin-top: 5px;
  max-width: min(76vw, 620px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pt-create-grid,
.pt-review-grid {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}
.pt-review-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
}
.pt-panel {
  min-width: 0;
}
.pt-panel > p {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
  margin: 0 0 13px;
}
.pt-form,
.pt-region-controls {
  display: grid;
  gap: 7px;
}
.pt-form label,
.pt-region-controls label,
.pt-filter-bar label {
  color: var(--ink2);
  font-family: 'Archivo';
  font-size: 11px;
  font-weight: 700;
  margin-top: 4px;
}
.pt-form input,
.pt-form textarea,
.pt-form select,
.pt-region-controls input,
.pt-region-controls select,
.pt-filter-bar input,
.pt-filter-bar select {
  background: #fff;
  border: 1px solid var(--line2);
  border-radius: 8px;
  color: var(--ink);
  font-family: 'Archivo';
  font-size: 13px;
  padding: 9px 11px;
  width: 100%;
}
.pt-help {
  color: var(--faint) !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  margin: 0 0 5px !important;
}
.pt-section {
  display: grid;
  gap: 11px;
}
.pt-section-head,
.pt-card-head {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.pt-section-head p,
.pt-card-head p {
  color: var(--muted);
  font-size: 12.5px;
  margin: 0;
}
.pt-filter-bar {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(180px, 1fr) auto minmax(140px, .4fr);
}
.pt-library {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}
.pt-template-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pt-card-head h3 {
  color: var(--navy);
  font-family: 'Archivo';
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 4px;
}
.pt-badges,
.pt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pt-badges {
  justify-content: flex-end;
}
.pt-meta {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, 1fr);
  margin: 0;
}
.pt-meta div {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px;
}
.pt-meta dd {
  color: var(--ink2);
  font-size: 12px;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}
.pt-version-list,
.pt-asset-list {
  border: 1px solid var(--line);
  border-radius: 9px;
  display: grid;
  overflow: hidden;
}
.pt-version-list a,
.pt-asset-row {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 9px 11px;
}
.pt-version-list a:last-child,
.pt-asset-row:last-child {
  border-bottom: 0;
}
.pt-empty-row {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
  padding: 12px;
}
.pt-asset-row {
  display: grid;
  font-size: 12px;
  grid-template-columns: minmax(180px, 1fr) 140px 120px auto;
}
.pt-asset-row div {
  display: grid;
  gap: 2px;
}
.pt-workflow {
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0;
  overflow: hidden;
  padding: 0;
}
.pt-workflow li {
  align-items: center;
  background: #fff;
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 11px 13px;
}
.pt-workflow li > span {
  background: var(--paper);
  border-radius: 50%;
  display: grid;
  flex: none;
  height: 25px;
  place-items: center;
  width: 25px;
}
.pt-workflow .pt-complete > span {
  background: var(--green-soft);
  color: var(--green);
}
.pt-workflow .pt-current {
  box-shadow: inset 0 -3px var(--ox);
}
.pt-review-side {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 14px;
}
.pt-region-list {
  display: grid;
  gap: 8px;
  margin-top: 13px;
}
.pt-region {
  background: var(--inset);
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px 12px;
}
.pt-region-title {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.pt-region code {
  color: var(--faint);
  display: block;
  font-family: 'Spline Sans Mono';
  font-size: 9.5px;
  margin: 6px 0;
  overflow-wrap: anywhere;
}
.pt-check {
  align-items: center;
  display: flex !important;
  gap: 7px;
}
.pt-check input {
  width: auto;
}
.pt-review-flag {
  background: var(--gold-soft);
  border-radius: 5px;
  color: #7d5715;
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  margin-top: 7px;
  padding: 3px 7px;
}
.pt-report-list {
  color: var(--muted);
  font-size: 11px;
  padding-left: 18px;
}
.pt-report-error {
  color: #8b2d2d;
}
.pt-report-summary {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(3, 1fr);
}
.pt-test-panel {
  border-color: #bcd6ea;
}
.pt-publish-panel {
  border-color: #bcdcc9;
}
@media(max-width:900px) {
  .pt-create-grid,
  .pt-review-grid,
  .pt-filter-bar {
    grid-template-columns: 1fr;
  }
  .pt-review-side {
    position: static;
  }
  .pt-workflow {
    grid-template-columns: 1fr 1fr;
  }
  .pt-asset-row {
    grid-template-columns: 1fr auto;
  }
}
@media(max-width:560px) {
  .pt-workflow,
  .pt-meta,
  .pt-report-summary {
    grid-template-columns: 1fr;
  }
  .pt-card-head {
    display: grid;
  }
  .pt-badges {
    justify-content: flex-start;
  }
}
