:root{--fg:#1d2330;--muted:#5b6474;--bg:#fff;--panel:#f3f5f8;--line:#d6dbe3;--accent:#005eb8;--error:#b3261e;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}body{margin:0}main{max-width:1100px;margin:0 auto;padding:16px 24px}main.narrow{max-width:420px;padding-top:48px}h1{margin:0 0 16px;font-size:1.6rem}h2{margin:32px 0 12px;font-size:1.2rem}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 24px;display:flex}.topbar .brand{font-weight:600}.admin-nav{gap:16px;margin-right:auto;display:flex}.admin-nav a[aria-current=page]{font-weight:600;text-decoration:none}form{gap:12px;display:grid}form.inline{flex-wrap:wrap;align-items:end;gap:12px;display:flex}label{gap:4px;font-weight:500;display:grid}input,select{font:inherit;border:1px solid var(--line);border-radius:6px;padding:8px 10px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-self:start;padding:8px 16px}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button:disabled{opacity:.6;cursor:default}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}th{background:var(--panel);font-weight:600}.muted{color:var(--muted)}.error{color:var(--error);margin:0}input.link{box-sizing:border-box;width:100%;font-size:.85rem}main.form-page{max-width:640px}.status{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--panel);border-radius:6px;margin-bottom:8px;padding:12px 16px}fieldset{border:1px solid var(--line);border-radius:6px;gap:8px;padding:12px 16px;display:grid}legend{padding:0 4px;font-weight:600}label.choice{align-items:center;gap:8px;font-weight:400;display:flex}input.short{width:6em}table.grid th,table.grid td{padding:4px 10px}table.grid td{text-align:center}table.grid td.muted{text-align:left}ul.dates{margin:0;padding-left:20px}ul.dates li{margin:4px 0}button.small{margin-left:8px;padding:2px 10px;font-size:.85rem}div.inline{flex-wrap:wrap;align-items:end;gap:12px;display:flex}fieldset.plain{border:0;gap:12px;margin:0;padding:0}td.actions{white-space:nowrap}td.actions button.small{margin-left:12px}.flag{background:#fff4e0;border-left:3px solid #b26a00;margin-top:4px;padding:2px 8px;font-size:.85rem}.hint{font-size:.85rem;font-weight:400}div.variation{grid-template-columns:20em 6em auto;align-items:center;gap:12px;display:grid}table.pattern select,table.calendar select{padding:2px 4px;font-size:.85rem}table.calendar td{text-align:left;vertical-align:top;padding:4px 6px}table.calendar td.edited{background:#fff4e0}table.calendar td .hint{display:block}section.warnings{background:#fff4e0;border-left:4px solid #b26a00;border-radius:6px;padding:8px 16px}section.warnings h2{margin:0 0 4px;font-size:1rem}div.tabs{gap:8px;margin:24px 0 12px;display:flex}div.scroll{border:1px solid var(--line);border-radius:6px;max-height:75vh;overflow:auto}table.rota{width:auto;font-size:.85rem}table.rota th,table.rota td{white-space:nowrap;border-right:1px solid var(--line);padding:4px 8px}table.rota thead th{z-index:1;position:sticky;top:0}table.rota thead tr+tr th{top:2em}table.rota thead tr:first-child th:first-child{z-index:2;left:0}table.rota tbody th{background:var(--panel);font-weight:500;position:sticky;left:0}table.rota tr.weekend td{background:#f8f9fb}table.rota td.gap{color:var(--error);background:#fde8e6;font-weight:600}table.rota th.doctor{white-space:normal;vertical-align:top;min-width:8em}table.rota th.doctor .hint,table.rota th.doctor .flag{display:block}table.rota th.group{background:var(--bg)}table.rota td .noc{color:#b26a00;font-weight:600}section.breaches{margin-bottom:12px}section.breaches h3{margin:0 0 4px;font-size:1rem}
