:root{color-scheme:light;--ink:#18212b;--muted:#647080;--paper:#f5f3ee;--card:#fff;--red:#b91c2e;--blue:#174c7c;--yellow:#f2c94c;--line:#d8dde3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}a{color:var(--blue);text-underline-offset:3px}.shell{max-width:1180px;margin:auto;padding:0 20px}.topbar{background:#111827;color:#fff;border-top:6px solid;border-image:linear-gradient(90deg,var(--red) 0 25%,#fff 25% 50%,var(--blue) 50% 75%,var(--yellow) 75%) 1}.topbar .shell{min-height:70px;display:flex;align-items:center;gap:24px}.brand{color:#fff;text-decoration:none;font-size:1.35rem;font-weight:850}.nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}.nav a,.nav button{color:#e7edf5;background:transparent;border:0;padding:11px 12px;border-radius:8px;font:inherit;text-decoration:none;cursor:pointer}.nav a:hover,.nav a:focus-visible,.nav button:hover{background:#273449}main{padding:34px 0 64px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}h1,h2,h3{line-height:1.18;margin:0 0 12px}h1{font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.04em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--red)}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 4;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 18px rgb(20 30 40/.05)}.card.wide{grid-column:span 8}.card.full{grid-column:1/-1}.stat{font-size:2.2rem;font-weight:850}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 15px;border-radius:9px;border:1px solid var(--blue);background:var(--blue);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}.btn.secondary{background:#fff;color:var(--blue)}.btn.danger{background:var(--red);border-color:var(--red)}.btn.small{min-height:36px;padding:6px 11px;font-size:.9rem}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}label{display:grid;gap:6px;font-weight:700}input,select,textarea{width:100%;min-height:44px;border:1px solid #aeb7c2;border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .full{grid-column:1/-1}.errors,.flash{padding:14px 16px;border-radius:10px;margin:0 0 20px}.errors{background:#fff1f2;border:1px solid #f2a4ae}.flash{background:#ecfdf3;border:1px solid #86d7a6}.badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#e8eef5;color:#314257;font-size:.78rem;font-weight:800}.badge.open{background:#fff3cd;color:#725200}.badge.ok{background:#dbf7e5;color:#166534}.badge.conflict{background:#ffe0e4;color:#981b2d}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.shift-block{border-left:5px solid var(--blue)}.shift-block.setup{border-left-color:var(--yellow)}.shift-block.teardown{border-left-color:var(--red)}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px}:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}@media(max-width:760px){.topbar .shell,.page-head{align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:14px}.nav{width:100%}.card,.card.wide{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}table.responsive thead{display:none}table.responsive tr{display:block;padding:12px;border-bottom:1px solid var(--line)}table.responsive td{display:block;border:0;padding:4px}}@media print{.topbar,.no-print,.btn{display:none!important}body{background:#fff}main{padding:0}.card{box-shadow:none;break-inside:avoid}}
input[type=checkbox]{width:1.25rem;min-height:1.25rem;padding:0;accent-color:var(--blue)}.check-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.check-option:has(input:checked){border-color:var(--blue);background:#eef6ff}
