:root{--charcoal: #1e1e1e;--charcoal-2: #252526;--charcoal-3: #2e2e31;--border: #3c3c3c;--gold: #f5a623;--gold-dim: #c07820;--gold-rgb: 245, 166, 35;--silver: #bebec4;--text: #e6e6e6;--text-dim: #9a9a9a;--green: #35c07a;--amber: var(--gold);--red: #e2593c;--radius: 10px;--cut-plate: polygon(16px 0, 100% 0, 100% calc(100% - 24px) , calc(100% - 16px) 100%, 0 100%, 0 24px);--cut-plate-in: polygon(15.5px 0, 100% 0, 100% calc(100% - 23.3px) , calc(100% - 15.5px) 100%, 0 100%, 0 23.3px);--cut-mid: polygon(8px 0, 100% 0, 100% calc(100% - 12px) , calc(100% - 8px) 100%, 0 100%, 0 12px);--cut-mid-in: polygon(7.5px 0, 100% 0, 100% calc(100% - 11.3px) , calc(100% - 7.5px) 100%, 0 100%, 0 11.3px);--cut-tag: polygon(6px 0, 100% 0, 100% calc(100% - 8px) , calc(100% - 6px) 100%, 0 100%, 0 8px);--cut-tag-in: polygon(5.6px 0, 100% 0, 100% calc(100% - 7.4px) , calc(100% - 5.6px) 100%, 0 100%, 0 7.4px);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--charcoal);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:var(--gold)}.app{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:14px;padding:16px 28px;border-bottom:1px solid var(--border)}.header .tag{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:20px;padding:3px 10px}.header .spacer{flex:1}.main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:28px 24px 64px}.card{background:var(--charcoal-2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:18px}h1{font-size:22px;margin:0 0 6px}h2{font-size:17px;margin:0 0 14px}h3{font-size:14px;margin:0 0 10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.sub{color:var(--text-dim);margin:0 0 20px;line-height:1.5}label{display:block;font-size:13px;color:var(--text-dim);margin:14px 0 6px}input[type=text],input[type=password],input[type=date],textarea,select{width:100%;padding:11px 13px;background:var(--charcoal-3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;background:var(--gold);color:#1a1a1a}.btn:hover{background:var(--gold-dim);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}.btn.danger{background:var(--red);color:#1a1a1a}.btn.danger:hover{background:#c04630;color:var(--text)}.btn.sm{padding:7px 12px;font-size:13px}.error{color:var(--red);font-size:14px;margin-top:12px}.muted{color:var(--text-dim);font-size:13px}.ok{color:var(--green);font-size:14px}.list-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;margin-bottom:10px;background:var(--charcoal-2);cursor:pointer;text-align:left;width:100%;color:var(--text);font:inherit}.list-row:hover{border-color:var(--gold)}.list-row .grow{flex:1;min-width:0}.list-row .title{font-weight:600;font-size:15px}.list-row .meta{color:var(--text-dim);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.light{width:13px;height:13px;border-radius:50%;flex:none}.light.green{background:var(--green);box-shadow:0 0 8px #35c07a80}.light.amber{background:var(--amber);box-shadow:0 0 8px rgba(var(--gold-rgb),.5)}.light.red{background:var(--red);box-shadow:0 0 8px #e2593c80}.pill{font-size:12px;padding:3px 9px;border-radius:20px;border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.pill.hot{border-color:var(--gold);color:var(--gold)}.pill.night{border-color:#8f7ff5;color:#a99bff}.pill.night.sus{border-color:var(--amber);color:var(--amber)}.check{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.dot{width:11px;height:11px;border-radius:50%;flex:none}.dot.complete{background:var(--green)}.dot.needed{background:var(--amber)}.dot.not_applicable{background:var(--border)}.check .c-label{flex:1}.check .c-owner{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.check .c-block{font-size:11px;color:var(--red);text-transform:uppercase;letter-spacing:.04em}.banner{padding:12px 15px;border-radius:8px;margin-bottom:18px;font-weight:600}.banner.ready{background:#35c07a1f;color:var(--green);border:1px solid var(--green)}.banner.waiting{background:rgba(var(--gold-rgb),.1);color:var(--amber);border:1px solid var(--amber)}.draft{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.draft .d-head{display:flex;align-items:center;gap:10px;justify-content:space-between}.draft .d-kind{font-weight:600}.preview{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.preview .field{font-size:13px;margin-bottom:6px}.preview .field .k{color:var(--text-dim);display:inline-block;min-width:62px}.preview pre{background:var(--charcoal-3);border:1px solid var(--border);border-radius:8px;padding:14px;white-space:pre-wrap;word-wrap:break-word;font-family:var(--mono);font-size:13px;line-height:1.5;margin:10px 0 0;max-height:320px;overflow:auto}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}.backlink{background:none;border:none;color:var(--gold);cursor:pointer;font:inherit;padding:0;margin-bottom:16px}.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.filterbar .spacer{flex:1}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--charcoal-3);border:1px solid var(--border);border-radius:20px;color:var(--text-dim);cursor:pointer;font:inherit;font-size:13px;padding:6px 12px;white-space:nowrap}.chip:hover{border-color:var(--text-dim)}.chip.on{border-color:var(--gold);color:var(--gold);background:#f5a6231f}.chip .chip-n{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:3px}.chip.on .chip-n{color:var(--gold)}.search{width:auto;min-width:200px;padding:7px 12px!important;font-size:14px!important}.file-input{display:block;width:100%;color:var(--text-dim);font-size:14px;margin:4px 0}.file-input::file-selector-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--charcoal-3);color:var(--text);border-radius:8px;padding:8px 14px;margin-right:12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.file-input::file-selector-button:hover{border-color:var(--gold);color:var(--gold)}.detected{margin:12px 0 2px;padding:10px 13px;border-radius:8px;font-size:13px;border:1px solid var(--border)}.detected.high{border-color:var(--green);color:var(--green);background:#35c07a1a}.detected.low{border-color:var(--amber);color:var(--amber);background:rgba(var(--gold-rgb),.1)}.detected.none{border-color:var(--red);color:var(--red);background:#e2593c1a}.detected .muted{color:inherit;opacity:.85}.night-warning{margin:12px 0 2px;padding:10px 13px;border-radius:8px;font-size:13px;border:1px solid #8f7ff5;color:#b3a7ff;background:#8f7ff51f}.ns-notes{margin:4px 0 0;padding:10px 13px;border:1px solid var(--border);border-radius:8px;font-size:13px;line-height:1.5;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;font-family:inherit;max-height:180px;overflow-y:auto}.ns-noterow{display:flex;gap:8px;margin-top:12px;align-items:center}.ns-noterow input{flex:1;margin:0}.ns-noterow .btn{flex:none}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.detail-main{min-width:0}.detail-aside{position:sticky;top:18px}.detail-aside .card{margin-bottom:0}@media (max-width: 860px){.detail-grid{grid-template-columns:1fr}.detail-aside{position:static}}.check-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.check-col h3{margin-bottom:4px}.check-col .check:last-child{border-bottom:none}@media (max-width: 560px){.check-cols{grid-template-columns:1fr}}.coi-section+.coi-section,.coi-section~.coi-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.detail-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.detail-toolbar .spacer{flex:1}.detail-toolbar .backlink{margin-bottom:0}.svc-toggles{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:4px}.svc-toggle{display:flex;align-items:center;gap:9px;margin:0;padding:10px 15px;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:14px;color:var(--text-dim);-webkit-user-select:none;user-select:none}.svc-toggle:hover{border-color:var(--text-dim)}.svc-toggle.on{border-color:var(--gold);color:var(--gold);background:#f5a6231f}.svc-toggle input[type=checkbox]{width:auto;margin:0;accent-color:var(--gold);cursor:pointer}.info-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.info-head h2{margin:0}.info-group{margin-top:16px}.info-group h3{margin-bottom:6px}.info-row{display:grid;grid-template-columns:168px minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.info-group .info-row:last-child{border-bottom:none}.info-label{color:var(--text-dim);font-size:13px}.info-value{font-size:14px;word-break:break-word}.info-value.empty{color:var(--amber);font-style:italic}.info-row input,.info-row select{padding:8px 11px;font-size:14px}@media (max-width: 560px){.info-row{grid-template-columns:1fr;gap:4px;align-items:start}}.top-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:start}.tp-right{border-left:1px solid var(--border);padding-left:24px}.tp-right .info-group:first-child{margin-top:0}@media (max-width: 720px){.top-panel{grid-template-columns:1fr}.tp-right{border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:16px}}.info-cols{display:grid;grid-template-columns:repeat(var(--cols, 1),minmax(0,1fr));gap:0 28px}.info-col .info-group:first-child{margin-top:8px}@media (max-width: 640px){.info-cols{grid-template-columns:1fr}}.progress{margin-top:16px}.progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}.progress-label{font-size:13px;color:var(--text-dim)}.progress-count{font-size:13px;font-weight:600;color:var(--gold)}.progress-track{height:8px;border-radius:999px;background:var(--charcoal-3);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--gold);transition:width .3s ease}.progress-fill.done{background:var(--green)}.scope-control{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.scope-control .svc-toggle{align-self:flex-start}.extract-preview{margin-top:16px;padding:14px 16px;border:1px solid var(--gold);border-radius:8px;background:color-mix(in srgb,var(--gold) 7%,transparent)}.ex-head{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.ex-head h3{margin:0}.ex-group{margin-top:14px}.ex-group h4{margin:0 0 4px;color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.ex-row{display:grid;grid-template-columns:20px 150px minmax(0,1fr) 16px minmax(0,1.2fr);align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border)}.ex-group .ex-row:last-child{border-bottom:none}.ex-row.off{opacity:.5}.ex-apply{accent-color:var(--gold)}.ex-retarget{width:100%;padding:5px 8px;font-size:13px;color:var(--gold);border-color:var(--gold);background:rgba(var(--gold-rgb),.08)}.ex-current{font-size:13px;color:var(--text-dim);word-break:break-word}.ex-arrow{color:var(--text-dim);text-align:center}.ex-new input,.ex-new select{width:100%;padding:7px 10px;font-size:14px}@media (max-width: 640px){.ex-row{grid-template-columns:20px 1fr;gap:4px 10px;align-items:start}.ex-current,.ex-arrow,.ex-new{grid-column:2}.ex-arrow{display:none}}.email{margin-top:14px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--charcoal)}.email-head{padding:14px 16px;border-bottom:1px solid var(--border);background:var(--charcoal-3)}.email-row{display:flex;gap:10px;font-size:13px;line-height:1.6}.email-row .k{color:var(--text-dim);flex:none;width:54px}.email-row .subj{font-weight:600}.email-body{padding:18px 16px;white-space:pre-wrap;word-wrap:break-word;font-size:14px;line-height:1.6;color:var(--text);max-height:360px;overflow:auto}.email-sent{padding:0 16px 12px}.fb-fab{position:fixed;right:22px;bottom:22px;z-index:900;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1px;border:none;border-radius:0;background:#f5a623;color:#fff;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 12px),calc(100% - 8px) 100%,0 100%,0 12px);font-family:Space Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fb-fab-in{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;background:#0b0b0c;clip-path:polygon(7.5px 0,100% 0,100% calc(100% - 11.3px),calc(100% - 7.5px) 100%,0 100%,0 11.3px)}.fb-fab svg{width:16px;height:16px;color:#f5a623}.fb-fab:hover{filter:brightness(1.1)}.fb-fab:hover .fb-fab-in{background:#131316}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:flex-end;justify-content:flex-end;padding:22px}.fb-shell{padding:1px;background:#2a2b2e;width:min(92vw,420px);clip-path:polygon(16px 0,100% 0,100% calc(100% - 24px),calc(100% - 16px) 100%,0 100%,0 24px)}.fb-modal{width:100%;max-height:calc(100vh - 48px);overflow:auto;background:#15161a;color:#ffffffc7;clip-path:polygon(15.5px 0,100% 0,100% calc(100% - 23.3px),calc(100% - 15.5px) 100%,0 100%,0 23.3px);padding:20px 20px 32px}.fb-modal h2{margin:0 0 14px;font-family:Space Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding-bottom:10px;border-bottom:1px solid #1d1e20}.fb-modal label{display:block;margin:12px 0 5px;font-family:Space Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e}.fb-modal select,.fb-modal textarea,.fb-modal input{width:100%;background:#0b0b0c;color:#fff;border:1px solid #1d1e20;border-radius:0;padding:8px 10px;font-size:13px;font-family:inherit}.fb-modal select:focus,.fb-modal textarea:focus,.fb-modal input:focus{outline:1px solid #f5a623;outline-offset:0}.fb-modal textarea{resize:vertical;min-height:96px}.fb-hint{color:#ffffff73;font-size:12px;line-height:1.5;margin:14px 0 0}.fb-modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.fb-modal .btn{border:none;border-radius:0;background:#f5a623;color:#0b0b0c;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 12px),calc(100% - 8px) 100%,0 100%,0 12px);padding:9px 16px;font-family:Space Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fb-modal .btn:hover{background:#f5a623;filter:brightness(1.1)}.fb-modal .btn.ghost{background:#2a2b2e;color:#ffffffc7}.fb-modal .btn.ghost:hover{background:#2a2b2e;filter:brightness(1.1)}.fb-modal .btn:disabled{opacity:.5;cursor:default;filter:none}.fb-modal .error{color:#e2593c}.fb-modal .ok{color:#35c07a}.card,.list-row,.draft,.banner,.banner.ready,.banner.waiting,.detected,.detected.high,.detected.low,.detected.none,.night-warning,.extract-preview,.btn,.btn.ghost,.chip,.chip.on,.svc-toggle,.svc-toggle.on,.pill,.pill.hot,.pill.night,.pill.night.sus,.header .tag{position:relative;border:none;border-radius:0}.card:before,.list-row:before,.draft:before,.banner:before,.detected:before,.night-warning:before,.extract-preview:before,.btn.ghost:before,.chip:before,.svc-toggle:before,.pill:before,.header .tag:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1}.card{clip-path:var(--cut-plate)}.card:before{clip-path:var(--cut-plate-in)}.list-row,.draft,.banner,.detected,.night-warning,.extract-preview,.btn{clip-path:var(--cut-mid)}.list-row:before,.draft:before,.banner:before,.detected:before,.night-warning:before,.extract-preview:before,.btn.ghost:before{clip-path:var(--cut-mid-in)}.chip,.svc-toggle,.pill,.header .tag{clip-path:var(--cut-tag)}.chip:before,.svc-toggle:before,.pill:before,.header .tag:before{clip-path:var(--cut-tag-in)}.pill,.header .tag{display:inline-block}.card{background:var(--border)}.card:before{background:var(--charcoal-2)}.header .tag{background:var(--border)}.header .tag:before{background:var(--charcoal)}.btn.ghost{background:var(--border)}.btn.ghost:before{background:var(--charcoal-2)}.btn.ghost:hover{background:var(--gold);color:var(--gold)}.list-row{background:var(--border)}.list-row:before{background:var(--charcoal-2)}.list-row:hover{background:var(--gold)}.draft{background:var(--border)}.draft:before{background:var(--charcoal-2)}.banner.ready{background:var(--green)}.banner.ready:before{background:color-mix(in srgb,var(--green) 14%,var(--charcoal))}.banner.waiting{background:var(--amber)}.banner.waiting:before{background:color-mix(in srgb,var(--gold) 12%,var(--charcoal))}.detected{background:var(--border)}.detected:before{background:var(--charcoal-2)}.detected.high{background:var(--green)}.detected.high:before{background:color-mix(in srgb,var(--green) 10%,var(--charcoal-2))}.detected.low{background:var(--amber)}.detected.low:before{background:color-mix(in srgb,var(--gold) 10%,var(--charcoal-2))}.detected.none{background:var(--red)}.detected.none:before{background:color-mix(in srgb,var(--red) 10%,var(--charcoal-2))}.night-warning{background:#8f7ff5}.night-warning:before{background:color-mix(in srgb,#8f7ff5 12%,var(--charcoal-2))}.extract-preview{background:var(--gold)}.extract-preview:before{background:color-mix(in srgb,var(--gold) 7%,var(--charcoal-2))}.chip{background:var(--border)}.chip:before{background:var(--charcoal-3)}.chip:hover{background:var(--text-dim)}.chip.on{background:var(--gold)}.chip.on:before{background:color-mix(in srgb,var(--gold) 12%,var(--charcoal-3))}.svc-toggle{background:var(--border)}.svc-toggle:before{background:var(--charcoal-2)}.svc-toggle:hover{background:var(--text-dim)}.svc-toggle.on{background:var(--gold)}.svc-toggle.on:before{background:color-mix(in srgb,var(--gold) 12%,var(--charcoal-2))}.pill{background:var(--border)}.pill:before{background:var(--charcoal-2)}.pill.hot{background:var(--gold)}.pill.night{background:#8f7ff5}.pill.night.sus{background:var(--amber)}input[type=text],input[type=password],input[type=date],textarea,select{border-radius:0}input[type=search]{background:var(--charcoal-3);border:1px solid var(--border);border-radius:0;color:var(--text);font-family:inherit}input[type=search]:focus{outline:none;border-color:var(--gold)}.preview pre,.ns-notes,.email,.progress-track,.progress-fill{border-radius:0}.file-input::file-selector-button{border:none;border-radius:0;clip-path:var(--cut-mid);background:var(--charcoal-3)}.file-input::file-selector-button:hover{color:var(--gold);background:var(--charcoal-3)}.datechips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}.datechip{display:inline-flex;align-items:center;gap:6px;border:1px solid #8f7ff5;color:#b7abff;background:color-mix(in srgb,#8f7ff5 12%,var(--charcoal-2));padding:3px 10px;font-size:13px}.datechip button{background:none;border:none;color:inherit;cursor:pointer;font-size:13px;padding:0;line-height:1}.datechip button:hover{color:var(--text)}.night-banner{border:1px solid var(--red);background:color-mix(in srgb,var(--red) 10%,var(--charcoal-2));padding:14px 18px;margin-bottom:22px}.nb-head{color:var(--red);font-weight:700;letter-spacing:.06em;font-size:14px;margin-bottom:4px}.nb-row{display:flex;align-items:center;gap:12px;padding:10px 0 0}.nb-info{flex:1;min-width:0}.nb-info b{display:block}.nb-meta{color:var(--text-dim);font-size:13px}.nb-fail{color:var(--red)}.bk{border:1px solid var(--border);padding:14px 16px;margin-bottom:12px}.bk.off{opacity:.55}.bk-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pill.ok-pill{border-color:var(--green);color:var(--green)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover{border-color:var(--red);color:#fff;background:var(--red)}
