:root{--bg:#f6f7f9;--panel:#ffffff;--ink:#1d2433;--muted:#5d6677;--faint:#8a93a3;--line:#e3e6ea;--accent:#1f5f5b;--accent-soft:#e4f0ee;--green:#1d7a46;--green-bg:#e3f4ea;--red:#b42318;--red-bg:#fdecea;--amber:#9a5b00;--amber-bg:#fff3dc;--blue:#1d4ed8;--blue-bg:#e8efff;--gray-bg:#eef0f3;--purple:#6b3fa0;--purple-bg:#f1eafb;--radius:8px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px;margin:0 0 12px}h3{font-size:14px;margin:0 0 8px}p{margin:0 0 10px}.mono,code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}hr{border:none;border-top:1px solid var(--line);margin:16px 0}.demobar{background:#1d2433;color:#d5dbe5;font-size:12.5px;display:flex;align-items:center;gap:16px;padding:6px 16px;flex-wrap:wrap}.demobar a{color:#fff}.demobar .clock{background:#34405a;padding:2px 8px;border-radius:4px;color:#fff}.demobar .clock.shifted{background:#9a5b00}.demobar .spacer{flex:1 1}.shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 32px)}.side{background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px}.side .brand{font-weight:700;color:var(--accent);padding:4px 8px 12px}.side .venue{font-size:12px;color:var(--muted);padding:0 8px 12px}.side a.nav{display:flex;justify-content:space-between;padding:7px 10px;border-radius:6px;color:var(--ink)}.side a.nav:hover{background:var(--gray-bg);text-decoration:none}.side a.nav.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side .count{background:var(--amber-bg);color:var(--amber);border-radius:10px;padding:0 7px;font-size:12px;font-weight:600}.side .user{margin-top:auto;font-size:12px;color:var(--muted);padding:8px;border-top:1px solid var(--line)}.main{padding:24px 28px 48px;max-width:1240px;width:100%}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.sub{color:var(--muted)}.small{font-size:12.5px}.faint{color:var(--faint)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card.tight{padding:0;overflow:hidden}.card.tight>h2{padding:14px 16px 0}.grid{display:grid;grid-gap:16px;gap:16px}.grid>*{min-width:0}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.g2,.g3,.g4,.shell,.split{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap}}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .n{font-size:26px;font-weight:700}.stat .l{color:var(--muted);font-size:12.5px}.stat.warn .n{color:var(--red)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:8px 12px;background:#fafbfc}td,th{border-bottom:1px solid var(--line)}td{padding:10px 12px;vertical-align:top}tr:last-child td{border-bottom:none}tr.risk td{background:#fff8f7}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.chip.Compliant,.chip.pass{background:var(--green-bg);color:var(--green)}.chip.Non-compliant,.chip.fail{background:var(--red-bg);color:var(--red)}.chip.Needs.review,.chip.needs_review{background:var(--amber-bg);color:var(--amber)}.chip.Parsing{background:var(--blue-bg);color:var(--blue)}.chip.Awaiting.COI,.chip.Invited{background:var(--gray-bg);color:var(--muted)}.chip.Waived{background:var(--purple-bg);color:var(--purple)}.chip.Awaiting.signature{background:var(--amber-bg);color:var(--amber)}.chip.risk{background:var(--red);color:#fff}.chip.neutral{background:var(--gray-bg);color:var(--muted)}.counts{display:flex;gap:6px;flex-wrap:wrap}.reasons{margin:4px 0 0;padding-left:16px;color:var(--muted);font-size:12.5px}.reasons li{margin:2px 0}label{display:block;font-size:12.5px;font-weight:600;margin-bottom:4px;color:var(--muted)}input[type=date],input[type=email],input[type=number],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;padding:7px 10px;border:1px solid #cfd4db;border-radius:6px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:80px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field{margin-bottom:12px}.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.row>.field{flex:1 1;min-width:140px}.check{display:flex;gap:8px;font-weight:400;font-size:14px}.btn,.check{align-items:center;color:var(--ink)}.btn{display:inline-flex;justify-content:center;gap:6px;padding:7px 14px;border-radius:6px;border:1px solid #cfd4db;background:#fff;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--gray-bg);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#184c49}.btn.danger{color:var(--red);border-color:#f0c2bd}.btn.small{padding:3px 9px;font-size:12.5px}.btn:disabled{opacity:.55;cursor:default}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline{display:inline}.notice{border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;border:1px solid}.notice.info{background:var(--blue-bg);border-color:#c9d7ff;color:#1e3a8a}.notice.ok{background:var(--green-bg);border-color:#b9e2c8;color:var(--green)}.notice.warn{background:var(--amber-bg);border-color:#f3d9a4;color:#7a4800}.notice.bad{background:var(--red-bg);border-color:#f5c6c0;color:var(--red)}.disclaimer{color:var(--faint);font-size:12px;text-align:center;padding:16px}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:13.5px}.kv dt{color:var(--muted)}.kv dd,.log{margin:0}.log{list-style:none;padding:0;font-size:13px}.log li{padding:8px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;grid-gap:12px;gap:12px}.log li:last-child{border-bottom:none}.log .who{color:var(--muted);font-size:12px}.viewer{height:78vh;background:#525659}.viewer,.viewer-img{width:100%;border:1px solid var(--line);border-radius:var(--radius)}.conf{font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:6px}.conf.low{background:var(--red-bg);color:var(--red)}.conf.ok{background:var(--gray-bg);color:var(--faint)}.field.lowconf input,.field.lowconf select,.field.lowconf textarea{border-color:var(--red);background:#fffafa}.dropzone{border:2px dashed #b9c1cc;border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted);background:#fafbfc;cursor:pointer}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs a{padding:8px 14px;color:var(--muted);border-bottom:2px solid transparent}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.center-page{max-width:460px;margin:60px auto}.vendor-page{max-width:880px;margin:0 auto;padding:24px 16px 48px}.req-list{margin:0;padding-left:18px}.req-list li{margin:4px 0}.pill-list{display:flex;flex-wrap:wrap;gap:6px}pre.email{white-space:pre-wrap;background:#fafbfc;border:1px solid var(--line);border-radius:6px;padding:12px;font-size:13px}details>summary{cursor:pointer;color:var(--accent);font-weight:600;margin-bottom:8px}.steps{padding-left:20px;margin:0}.steps li{margin:6px 0}dialog.modal{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--panel);color:var(--ink)}dialog.modal::-webkit-backdrop{background:rgba(16,24,40,.45)}dialog.modal::backdrop{background:rgba(16,24,40,.45)}dialog.modal pre.email{max-height:45vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px}.chip.flag{background:#fff4c2;color:#7a5a00;border:1px solid #f0d56b}.notice.flag{background:#fffbe6;border-color:#f0d56b;color:#6b4f00}.side .action-box{background:var(--red-bg);border:1px solid #f5c6c0;border-radius:var(--radius);padding:8px;margin:0 0 12px;display:flex;flex-direction:column;gap:4px}.side .action-box.clear{background:var(--green-bg);border-color:#b9e2c8;color:var(--green);font-size:12.5px;padding:10px}.side .action-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--red);font-size:13px;padding:2px 4px 4px}.side .action-head .count{background:var(--red);color:#fff}.side .action-item{display:flex;flex-direction:column;background:var(--panel);border-radius:6px;padding:6px 8px;font-size:12px;color:var(--ink);border-left:3px solid var(--amber)}.side .action-item.urgent{border-left-color:var(--red)}.side .action-item span{color:var(--muted)}.side .action-item:hover{text-decoration:none;background:#fff8f7}.side .side-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:12px 10px 4px;font-weight:600}.side .nav-event{display:flex;flex-direction:column;font-size:13px;line-height:1.3}.side .nav-event .faint{font-size:11.5px}.progress{height:6px;background:var(--gray-bg);border-radius:4px;overflow:hidden}.progress>div{height:100%;background:var(--green)}.event-card{display:flex;flex-direction:column;gap:8px}.event-card h3{margin:0}.card.action-card{border-color:#f5c6c0;background:#fffafa}.side .action-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:900px){.side .action-box,.side .side-label,.side .user{flex-basis:100%}.side .user{margin-top:8px}}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fchip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;padding:3px 10px;font:inherit;font-size:12.5px;cursor:pointer}.fchip span{color:var(--muted);margin-left:2px}.fchip:hover{background:var(--gray-bg)}.fchip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fchip.on span{color:rgba(255,255,255,.8)}.linkish{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.swatches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.swatch{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 6px;font-size:13px;cursor:pointer;background:var(--panel)}.swatch:has(input[type=radio]:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch input[type=radio]{margin:0}.swatch .dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.swatch input[type=color]{width:26px;height:22px;padding:0;border:1px solid var(--line);border-radius:4px;background:none}.pdf-frame{width:100%;height:520px;border:1px solid var(--line);border-radius:6px;margin-top:8px;background:#525659}@media (max-width:700px){.pdf-frame{height:420px}}.policy-form:has(input[name=mode][value=pdf]:checked) .only-text,.policy-form:has(input[name=mode][value=text]:checked) .only-pdf{display:none}.mode-choice{display:flex;gap:18px;flex-wrap:wrap}pre.policy-text{font-family:inherit;line-height:1.55;max-height:60vh;overflow:auto;margin-top:8px}.pdf-frame{height:max(80vh,640px)}@media (max-width:700px){.pdf-frame{height:75vh}}.vendor-contact{font-size:13.5px;color:var(--ink);font-weight:500;margin:2px 0 4px}.vendor-contact a{color:inherit}.side .vendor-contact{font-size:12px;font-weight:400;color:var(--muted);margin:2px 0 0}.chip.Awaiting.COI.Signature{background:var(--amber-bg);color:var(--amber)}ul.activity{list-style:none;margin:0;padding:0}ul.activity li{display:grid;grid-template-columns:86px 1fr auto;grid-gap:10px;gap:10px;align-items:start;padding:10px 16px;border-top:1px solid var(--line);font-size:13.5px}ul.activity li .when{text-align:right;white-space:nowrap}.chip.submitted{background:var(--blue-bg);color:var(--blue)}.chip.signed{background:var(--green-bg);color:var(--green)}@media (max-width:600px){ul.activity li{grid-template-columns:1fr}ul.activity li .when{text-align:left}}.merge-card{border-color:#f0d56b;background:#fffdf2}.merge-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);cursor:pointer}.merge-row:last-of-type{margin-bottom:10px}.merge-row input[type=radio]{margin-top:3px}.contact-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line)}.contact-row:last-of-type{margin-bottom:10px}.contact-row .check{margin-top:4px}.sign-all{border:2px solid var(--accent);border-radius:var(--radius);padding:14px 16px;margin-top:8px;background:var(--accent-soft)}.chip.requested{background:var(--purple-bg);color:var(--purple)}.email-preview{border:1px solid var(--line);border-radius:6px;padding:14px;background:var(--panel);font-size:14px}.card.request-card{border-color:#c9d7ff;background:#f6f8ff}.notify-list{display:flex;flex-direction:column}.notify-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.notify-modes{display:flex;gap:14px;flex-shrink:0;font-size:13px}.notify-modes label{display:flex;align-items:center;gap:4px;margin:0;font-weight:400;white-space:nowrap}@media (max-width:700px){.notify-row{flex-direction:column;align-items:flex-start}.notify-modes{flex-wrap:wrap}}.side button.action-head{width:100%;background:none;border:none;cursor:pointer;font:inherit;text-align:left}.side button.action-head:hover{background:rgba(255,255,255,.5);border-radius:6px}.side .action-head .chev{display:inline-block;width:12px;font-size:11px}.side .action-box.collapsed{gap:0;padding-bottom:6px}.side .action-collapsed-note{color:var(--red);padding:0 4px 0 20px;font-size:12px}.side .brand-logo{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 8px 12px;border-radius:8px}.side .brand-logo img{width:100%;max-width:150px;height:auto;display:block}.side .brand-logo span{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.side .brand-logo:hover{text-decoration:none;opacity:.85}@media (max-width:900px){.side .brand-logo{flex-basis:100%;align-items:flex-start}.side .brand-logo img{max-width:120px}}.card.csv-card{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.csv-old{text-decoration:line-through;color:var(--muted)}.csv-new{background:var(--green-bg);color:var(--green);padding:1px 4px;border-radius:4px}.card.csv-card .csv-help{flex-basis:100%;border-top:1px solid var(--line);padding-top:10px}.csv-help summary{cursor:pointer;font-weight:600;color:var(--accent);font-size:13.5px}.csv-help-body{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:10px;font-size:13px}.csv-help-body h3{margin:0 0 4px;font-size:13.5px}.csv-help-body ol{margin:0;padding-left:18px}.csv-help-body li{margin-bottom:3px}.csv-example{margin-top:12px;font-size:12.5px;border:1px solid var(--line)}.csv-example-new td{background:var(--green-bg)}@media (max-width:900px){.csv-help-body{grid-template-columns:1fr}.csv-example{display:block;overflow-x:auto}}.counts .all-set{font-size:18px;line-height:1;align-self:center}.policy-versions{margin-top:6px}.policy-version{border-top:1px solid var(--line);padding:8px 0}.paste-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.paste-table{font-size:13px;min-width:640px}.paste-table th{font-size:12px}.paste-table td{padding:4px 6px;vertical-align:middle}.paste-table input[type=email],.paste-table input[type=text],.paste-table select{width:100%;padding:5px 7px;font-size:13px}.paste-table input[aria-invalid=true]{border-color:var(--red);background:var(--red-bg)}.paste-table tr.left-out td{opacity:.5}.paste-need{color:var(--red);font-weight:600}.paste-known{color:var(--muted)}.paste-ok{color:var(--green)}.venue-rules{background:var(--gray-bg);border-radius:8px;padding:10px 12px;margin-top:8px}.venue-rules ul{margin:2px 0 0;padding-left:18px}.new-venue-setup{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.new-venue-setup h3{margin:0 0 4px;font-size:14px}.new-venue-setup .check{display:flex;gap:6px;align-items:center;margin-bottom:4px}.policy-slot{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:8px}.duplicate-check .duplicate-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;border-top:1px solid rgba(0,0,0,.06)}.duplicate-check .duplicate-row:first-of-type{margin-top:4px}.duplicate-check .check{display:flex;gap:6px;align-items:center}.accept-box{margin-top:12px;padding:12px;border:1px solid #f0c36d;background:var(--amber-bg,#fff8e6);border-radius:8px}.accept-box .check{display:flex;gap:6px}.scan-box{border:1px dashed var(--line);border-radius:8px;padding:10px 12px;margin-bottom:12px;background:var(--gray-bg)}.requirements-fields .scanned,.requirements-fields label.scanned{background:#eef7ff;border-color:#9cc3ef}.requirements-fields label.check{display:flex;gap:6px;align-items:center;margin-bottom:4px;border-radius:4px}.star-form{display:inline}.star-btn{background:none;border:none;padding:0 4px;font-size:18px;line-height:1;color:#b9bcc4;cursor:pointer}.star-btn.on,.star-btn:hover,.star-on{color:#e0a800}.fchip.fav{color:#a37800}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.card.early-collect{border:1px solid #b7d7c4;background:#f3fbf6}