:root{--bg: #F5F2EC;--surface: #FFFFFF;--border: #E0DAD0;--text: #1C1812;--muted: #7A7060;--accent: #C8A951;--accent-dim: rgba(200,169,81,.1);--danger: #C04040;--radius: 5px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace}@media (prefers-color-scheme: dark){:root{--bg: #1A1814;--surface: #231F1A;--border: #38342C;--text: #EDE8DF;--muted: #9A9080;--accent-dim: rgba(200,169,81,.15)}}:root[data-theme=light]{--bg: #F5F2EC;--surface: #FFFFFF;--border: #E0DAD0;--text: #1C1812;--muted: #7A7060;--accent-dim: rgba(200,169,81,.1)}:root[data-theme=dark]{--bg: #1A1814;--surface: #231F1A;--border: #38342C;--text: #EDE8DF;--muted: #9A9080;--accent-dim: rgba(200,169,81,.15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:13px;line-height:1.5;height:100dvh;overflow:hidden}.shell{display:flex;flex-direction:column;height:100dvh}.shell-header{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.shell-wordmark{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:1px;flex:1;background:var(--border);overflow:hidden}.slot{background:var(--surface);display:flex;flex-direction:column;overflow:hidden;position:relative}.slot--loading{align-items:center;justify-content:center;color:var(--muted);font-size:11px}.slot--frame{overflow:hidden}.slot-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.slot-header h3{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex:1}.slot-badge{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);border-radius:3px;padding:0 .35rem;line-height:1.6}.slot-loading{padding:.75rem;font-size:11px;color:var(--muted);font-style:italic}.tenant-picker,.slot-search{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;font-size:11px;padding:.25rem .5rem;outline:none}.tenant-picker:focus,.slot-search:focus{border-color:var(--accent)}.slot-search{flex:1;min-width:0}.btn-primary{background:var(--accent);border:none;border-radius:var(--radius);color:#1c1812;cursor:pointer;font:inherit;font-size:11px;font-weight:600;padding:.3rem .75rem;white-space:nowrap}.btn-primary:disabled{opacity:.4;cursor:default}.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font:inherit;font-size:11px;padding:.3rem .75rem}.record-list{list-style:none;overflow-y:auto;flex:1}.record-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;padding:.4rem .75rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.record-row:hover,.record-row--active{background:var(--accent-dim)}.record-row--unresolved{border-left:2px solid var(--accent)}.record-primary{font-size:12px;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-secondary{font-size:11px;color:var(--muted);display:flex;gap:.4rem;flex-wrap:wrap;width:100%;align-items:center}.record-empty{padding:1rem .75rem;color:var(--muted);font-style:italic;font-size:11px;list-style:none}.record-badge{background:var(--bg);border:1px solid var(--border);border-radius:3px;font-size:10px;padding:0 .3rem;color:var(--muted);font-variant-numeric:tabular-nums}.record-badge--status{border-color:var(--accent);color:var(--accent)}.record-badge--active{background:var(--accent);color:#1c1812;border-color:var(--accent)}.record-badge--palette{border-color:var(--border);font-family:var(--mono)}.record-badge--gov{text-transform:uppercase;letter-spacing:.03em}.record-badge--mod_submitted{border-color:#e09020;color:#e09020}.record-badge--mod_approved{border-color:#5a9060;color:#5a9060}.record-badge--mod_rejected{border-color:var(--danger);color:var(--danger)}.record-badge--mod_review{border-color:var(--accent);color:var(--accent)}.record-date{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.record-link{font-size:10px;color:var(--accent);text-decoration:none;margin-left:auto}.record-link:hover{text-decoration:underline}.record-actions{display:flex;gap:.25rem;margin-left:auto}.action-btn{background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--muted);cursor:pointer;font:inherit;font-size:10px;padding:0 .3rem}.action-btn:hover{border-color:var(--accent);color:var(--accent)}.kv-progress{padding:.75rem}.kv-progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:.35rem;font-variant-numeric:tabular-nums}.kv-progress-bar{height:6px;background:var(--bg);border:1px solid var(--border);border-radius:3px;overflow:hidden}.kv-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s ease;min-width:2px}.kv-last-drop{padding:0 .75rem .5rem;font-size:10px;color:var(--muted)}.kv-regions{overflow-y:auto;flex:1;padding:0 .75rem}.kv-region-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.kv-region-name{color:var(--text)}.kv-region-count{color:var(--accent);font-weight:600}.kv-stat-row{display:flex;gap:1px;border-bottom:1px solid var(--border);flex-shrink:0}.kv-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border-right:1px solid var(--border)}.kv-stat:last-child{border-right:none}.kv-stat-value{font-size:20px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2}.kv-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.2rem}.kv-section-label{padding:.5rem .75rem .25rem;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.kv-leaderboard{overflow-y:auto;flex:1}.kv-lb-list{list-style:none;counter-reset:lb}.kv-lb-row{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .75rem;border-bottom:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums}.kv-lb-rank{color:var(--accent);font-weight:700;min-width:1rem}.kv-lb-dish{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv-lb-region{color:var(--muted);font-size:10px}.kv-lb-votes{color:var(--muted);margin-left:auto}.companies-layout{display:flex;flex:1;overflow:hidden}.companies-layout .record-list{flex:0 0 55%;border-right:1px solid var(--border)}.company-detail{flex:1;padding:.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.company-detail h4{font-size:12px;font-weight:600}.company-domain{font-size:11px;color:var(--muted)}.detail-section{margin-top:.25rem}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:block;margin-bottom:.3rem}.detail-empty{font-size:11px;color:var(--muted);font-style:italic}.task-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.task-item{display:flex;justify-content:space-between;font-size:11px;padding:.25rem 0;border-bottom:1px solid var(--border)}.task-due{color:var(--muted);font-size:10px}.note-overlay{position:absolute;inset:0;background:#1c18128c;display:flex;align-items:center;justify-content:center;z-index:10}.note-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;width:90%;max-width:320px;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 8px 32px #1c18121f}.note-label{font-size:11px;font-weight:600}.note-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--mono);font-size:11px;padding:.5rem;resize:vertical;width:100%}.note-textarea:focus{border-color:var(--accent);outline:none}.note-actions{display:flex;gap:.5rem;justify-content:flex-end}.frame-full{flex:1;border:none;width:100%;min-height:0}
