:root{--bg:#0b132b;--card:#fff;--ink:#0b132b;--muted:#667;--primary:#1b9aaa}*{box-sizing:border-box}html,body{color:var(--ink);background:#f6f7fb;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.sf-page{width:100%;max-width:none;position:relative;overflow:visible}.sf-nav{z-index:1000;position:sticky;top:0}a{color:var(--primary);text-decoration:none}h1,h2,h3{margin:.2rem 0 .4rem}.muted{color:#6b7280;font-size:.9rem}.container{max-width:1100px;margin:0 auto;padding:1rem}.stack{flex-direction:column;gap:.75rem;display:flex}.grid{gap:.75rem;display:grid}.btn{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:.6rem .9rem}.btn.secondary{color:#0b132b;background:#e9eef6}.card{background:#fff;border:1px solid #e6e8ef;border-radius:12px;padding:12px;box-shadow:0 1px 2px #0000000a}table{border-collapse:collapse;width:100%}th,td{vertical-align:top;border:1px solid #eef0f4;padding:.5rem .6rem;font-size:14px}th{background:#f1f3f8}input,select,textarea{background:#fff;border:1px solid #cfd6e4;border-radius:8px;width:100%;padding:.6rem .7rem}.alloc-card{position:relative}.alloc-mismatch{background:#fee2e2;outline:2px solid #ef4444}.badge-mismatch{color:#b91c1c;font-weight:700;position:absolute;top:4px;right:6px}.sf-dragging .sf-chip:not(.rbd-dragging),.sf-dragging .match-chip{pointer-events:none}
