@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap";:root{--ink: #10233A;--ink-soft: #47607A;--ground: #F2F5F7;--surface: #FFFFFF;--rule: #D5DEE5;--rule-soft: #E7EDF1;--accent: #0F6F7A;--accent-dim: #E0EEF0;--blocking: #A4243B;--advisory: #B5730F;--ready: #2E6B3E;--held: #5B4B8A;--excluded: #7A8894;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "IBM Plex Sans", system-ui, sans-serif;--data: "IBM Plex Mono", ui-monospace, monospace;--gap: 20px;--radius: 3px}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{max-width:1240px;margin:0 auto;padding:28px 24px 80px}.masthead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap);flex-wrap:wrap;padding-bottom:14px;border-bottom:2px solid var(--ink)}.masthead h1{font-family:var(--display);font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.02em;margin:0}.masthead .period{font-family:var(--data);font-size:13px;color:var(--ink-soft);letter-spacing:.02em}.status-pill{font-family:var(--data);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:2px;border:1px solid currentColor}.status-draft{color:var(--ink-soft)}.status-in_review{color:var(--advisory)}.status-approved{color:var(--ready)}.status-posted{color:var(--accent)}.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-bottom:1px solid var(--rule)}.figure{padding:18px 20px 18px 0}.figure+.figure{border-left:1px solid var(--rule-soft);padding-left:20px}.figure dt{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);margin-bottom:6px}.figure dd{margin:0;font-family:var(--data);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}.figure dd.total{color:var(--accent);font-weight:600}.figure dd.warn{color:var(--blocking)}.fortnight{margin:30px 0 8px}.section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.section-head h2{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.01em;margin:0}.section-head .hint{font-size:12px;color:var(--ink-soft)}.band{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:10px}.day{border:none;background:transparent;padding:6px 2px 4px;display:flex;flex-direction:column;align-items:center;gap:5px;border-radius:2px;transition:background .12s}.day:hover{background:var(--accent-dim)}.day[aria-pressed=true]{background:var(--accent-dim);box-shadow:inset 0 0 0 1px var(--accent)}.day .dow{font-family:var(--data);font-size:10px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase}.day.weekend .dow{color:var(--accent);font-weight:600}.day .dom{font-family:var(--data);font-size:13px;font-variant-numeric:tabular-nums}.day .stack{display:flex;flex-direction:column-reverse;gap:1px;width:100%;height:56px;justify-content:flex-start}.day .seg{width:100%;border-radius:1px;min-height:2px}.day .hrs{font-family:var(--data);font-size:10px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.legend{display:flex;gap:16px;margin-top:10px;font-size:11px;color:var(--ink-soft)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:1px;display:inline-block}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;align-items:start}.column{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);min-height:160px}.column.over{border-color:var(--accent);background:var(--accent-dim)}.column>header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--rule-soft)}.column>header h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.column .count{font-family:var(--data);font-size:12px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.column[data-status=needs_review]>header h3{color:var(--advisory)}.column[data-status=ready]>header h3{color:var(--ready)}.column[data-status=held]>header h3{color:var(--held)}.column[data-status=excluded]>header h3{color:var(--excluded)}.column .items{padding:8px;display:flex;flex-direction:column;gap:7px;max-height:620px;overflow-y:auto}.card{border:1px solid var(--rule);border-left:3px solid var(--rule);border-radius:2px;padding:9px 10px;background:var(--surface);cursor:grab;transition:box-shadow .12s,transform .12s}.card:hover{box-shadow:0 1px 4px #10233a1a}.card:active{cursor:grabbing}.card.dragging{opacity:.45}.card.sev-blocking{border-left-color:var(--blocking)}.card.sev-advisory{border-left-color:var(--advisory)}.card.sev-informational{border-left-color:var(--rule)}.card .type{font-family:var(--data);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.card .who{font-weight:600;font-size:13px;margin:2px 0 3px}.card .detail{font-size:12px;color:var(--ink-soft);line-height:1.45}.card .blocking-tag{display:inline-block;margin-top:5px;font-family:var(--data);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--blocking);border:1px solid currentColor;border-radius:2px;padding:1px 5px}.card .move{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}.card .move button{font-family:var(--data);font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:transparent;color:var(--ink-soft);border:1px solid var(--rule);border-radius:2px;padding:2px 6px}.card .move button:hover{color:var(--accent);border-color:var(--accent)}.empty{padding:22px 12px;text-align:center;font-size:12px;color:var(--ink-soft)}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);margin-top:12px;overflow:hidden}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-weight:600;padding:9px 12px;border-bottom:1px solid var(--rule);position:sticky;top:0;background:var(--surface)}td{padding:8px 12px;border-bottom:1px solid var(--rule-soft)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-family:var(--data);font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--ground)}.actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:9px 18px;border-radius:2px;font-size:13px;font-weight:500}.btn:hover{background:#1b3b5c}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.blocked-note{font-size:12px;color:var(--blocking)}.gate{max-width:380px;margin:14vh auto;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:30px}.gate h1{font-family:var(--display);font-size:22px;font-weight:800;margin:0 0 6px}.gate p{color:var(--ink-soft);font-size:13px;margin:0 0 20px}.gate input{width:100%;padding:9px 11px;border:1px solid var(--rule);border-radius:2px;font:inherit;margin-bottom:10px;background:var(--ground)}.gate input:focus{outline:2px solid var(--accent);outline-offset:-1px}.gate .btn{width:100%}.msg{font-size:12px;margin-top:12px;color:var(--ink-soft)}.msg.err{color:var(--blocking)}@media (max-width: 900px){.board{grid-template-columns:repeat(2,1fr)}.band{grid-template-columns:repeat(7,1fr);gap:4px}}@media (max-width: 560px){.board{grid-template-columns:1fr}.figure+.figure{border-left:none;padding-left:0}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.typebar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:5px 10px;font-size:12px;color:var(--ink);transition:border-color .12s,color .12s}.chip span{font-family:var(--data);font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.chip:hover{border-color:var(--accent)}.chip.on{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}.chip.on span{color:var(--accent)}.bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius);padding:9px 12px;margin-bottom:10px;font-size:13px;color:var(--ink)}.bulk button{font-family:var(--data);font-size:11px;letter-spacing:.04em;text-transform:uppercase;background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:2px;padding:3px 9px}.bulk button:hover{background:var(--accent);color:#fff}.setup{padding:22px 24px 24px;max-width:640px}.setup h2{font-family:var(--display);font-size:17px;font-weight:600;margin:0 0 4px}.setup .lede{color:var(--ink-soft);font-size:13px;margin:0 0 18px}.setup .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field{display:block;margin-bottom:16px}.field span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:5px}.field input{padding:8px 10px;border:1px solid var(--rule);border-radius:2px;font:inherit;background:var(--ground);color:var(--ink)}.derived{display:flex;gap:30px;margin:0 0 18px}.derived dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:3px}.derived dd{margin:0;font-family:var(--data);font-size:14px}.warn-note{font-size:12px;color:var(--advisory);background:#fdf6ec;border:1px solid #F0DDBE;border-radius:2px;padding:8px 10px;margin:0 0 16px}.dropzone{border:1px dashed var(--rule);border-radius:var(--radius);padding:26px 16px;text-align:center;cursor:pointer;background:var(--ground);transition:border-color .12s,background .12s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-dim)}.dropzone p{margin:0;font-size:13px;color:var(--ink-soft)}.slots{list-style:none;padding:0;margin:14px 0 18px}.slots li{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--rule-soft);font-size:13px}.slots li:last-child{border-bottom:none}.slots .tick{font-family:var(--data);color:var(--rule);width:14px}.slots li.have .tick{color:var(--ready)}.slots .name{min-width:140px}.slots .file{font-family:var(--data);font-size:11px;color:var(--ink-soft)}.slots li.have .file{color:var(--ink)}.result{margin-top:16px;padding:12px 14px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:2px;font-size:13px}.result p{margin:0 0 4px}.result p:last-child{margin-bottom:0}.problems{margin:14px 0 0;padding:12px 14px 12px 30px;font-size:13px;background:#fbedef;border:1px solid #E8C2C8;border-radius:2px;color:var(--blocking)}.problems li{margin-bottom:4px}.runpick{font-family:var(--data);font-size:12px;padding:4px 8px;border:1px solid var(--rule);border-radius:2px;background:var(--surface);color:var(--ink)}.btn.small{padding:5px 12px;font-size:12px}
