.sp-input{border:2px solid var(--ink,#14162d);min-height:44px;font:inherit;color:#14162d;background:#fff;border-radius:12px;min-width:0;padding:6px 10px;font-size:16px}.sp-input:focus-visible{outline-offset:1px;outline:3px solid #ffd23f}.sp-paste{resize:vertical;width:100%;line-height:1.6}.sp-label{font-weight:800;display:block}.sp-h3{flex-wrap:wrap;align-items:baseline;gap:10px;margin:8px 0 4px;font-size:20px;font-weight:900;display:flex}.sp-h3 span{color:#1e7a3f;font-size:15px;font-weight:700}.sp-hint{color:#555;margin:0;font-size:14px}.sp-sum{margin:0;font-weight:800}.sp-link{color:#1d4ed8;cursor:pointer;background:0 0;border:0;font-size:14px;text-decoration:underline}.sp-icon{border:2px solid var(--ink,#14162d);cursor:pointer;background:#fff;border-radius:12px;flex:none;min-width:44px;min-height:44px;font-size:18px}.sp-icon[aria-expanded=true]{background:#fff4bb}.xl-btn:disabled,.sp-icon:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.sp-rosters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.sp-rosters select{flex:180px;max-width:100%}.sp-rosters input{flex:2 200px}.sp-steps{gap:6px;margin-bottom:12px;display:flex}.sp-steps button{border:2px solid var(--ink,#14162d);cursor:pointer;background:#fff;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:4px 8px;font-size:15px;font-weight:800;line-height:1.2;display:flex}.sp-steps button span{color:#fff;background:#14162d;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:inline-grid}.sp-steps button[aria-current=step]{box-shadow:3px 3px 0 var(--ink,#14162d);background:#ffd23f}.sp-steps button:disabled{opacity:.45;cursor:not-allowed}.sp-people{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sp-people li{background:#fcfcff;border:1.5px solid #d6d6e0;border-radius:14px;padding:6px}.sp-prow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sp-num{text-align:center;color:#777;flex:none;width:24px;font-weight:800}.sp-pname{flex:120px;font-weight:800}.sp-pnote{flex:3 200px}.sp-tags{flex-wrap:wrap;align-items:center;gap:4px;margin:6px 30px 0 0;display:flex}.sp-tags span{color:#145a32;background:#e5f6ea;border:1px solid #9fd5ae;border-radius:999px;padding:2px 8px;font-size:13px}.sp-rules{background:#fff8dc;border-radius:12px;gap:10px;margin-top:8px;padding:10px;display:grid}.sp-rules>div>span{margin-bottom:4px;font-size:14px;font-weight:800;display:block}.sp-days{flex-wrap:wrap;gap:4px;display:flex}.sp-days button,.sp-quick button{border:2px solid var(--ink,#14162d);cursor:pointer;background:#fff;border-radius:10px;min-width:40px;min-height:40px;padding:2px 8px;font-weight:800}.sp-days button[aria-pressed=true],.sp-quick button[aria-pressed=true]{background:#ffd23f}.sp-shift .sp-days button[aria-pressed=false]{opacity:.45;text-decoration:line-through}.sp-rules .sp-days button[aria-pressed=true]{background:#ffb3b3;text-decoration:line-through}.sp-presets{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.sp-presets button{border:2px solid var(--ink,#14162d);cursor:pointer;min-height:64px;box-shadow:3px 3px 0 var(--ink,#14162d);background:#fff;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px;font-size:15px;font-weight:800;display:flex}.sp-presets button span{font-size:24px}.sp-presets button[aria-pressed=true]{background:#ffd23f}.sp-form{flex-wrap:wrap;gap:10px;display:flex}.sp-form label,.sp-shift label{flex-direction:column;flex:140px;gap:2px;font-size:14px;font-weight:800;display:flex}.sp-quick{flex-wrap:wrap;gap:6px;display:flex}.sp-shift{background:#fcfcff;border:1.5px solid #d6d6e0;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;display:flex}.sp-shift label{flex:0 auto}.sp-shift label.sp-grow{flex:140px}.sp-n{width:72px}.sp-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sp-focus{margin-inline-start:auto}.sp-status{margin:0;font-weight:800}.sp-board{gap:8px;display:grid}.sp-scroll{border:2px solid var(--ink,#14162d);background:#fff;border-radius:16px;overflow-x:auto}.sp-grid{border-collapse:separate;border-spacing:0;width:100%;font-size:15px}.sp-grid th,.sp-grid td{vertical-align:top;border-bottom:1px solid #e3e3ea;border-left:1px solid #e3e3ea;padding:4px}.sp-grid thead th{color:#fff;z-index:2;background:#14162d;min-width:104px;padding:6px 4px;font-weight:800;position:sticky;top:0}.sp-grid thead th small{opacity:.8;direction:ltr;font-size:12px;font-weight:600;display:block}.sp-grid .sp-dayh,.sp-grid .sp-day{z-index:1;text-align:center;white-space:nowrap;background:#f6f6fb;width:64px;min-width:64px;font-size:14px;font-weight:600;position:sticky;right:0}.sp-grid .sp-dayh{z-index:3;background:#14162d}.sp-grid tr.wk .sp-day,.sp-grid tr.wk td{background:#fff8e6}.sp-grid tr.sun th,.sp-grid tr.sun td{border-top:3px solid #14162d}.sp-grid tbody tr:first-child th,.sp-grid tbody tr:first-child td{border-top:0}.sp-off{text-align:center;color:#aaa;background:#f3f3f3}.sp-cell{flex-wrap:wrap;gap:4px;min-height:40px;display:flex}.sp-chip{color:#14162d;cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:2px solid #14162d;border-radius:999px;flex:auto;justify-content:center;align-items:center;gap:3px;min-width:56px;min-height:40px;padding:4px 10px;font-size:15px;font-weight:800;line-height:1.1;display:inline-flex;position:relative}.sp-chip.empty{color:#9a9aae;cursor:pointer;background:#fff;border-style:dashed;border-color:#9a9aae;font-size:20px;font-weight:500}.sp-chip.locked{box-shadow:inset 0 0 0 2px #14162d}.sp-chip.bad{color:#8f1010;background:#ffd9d9;border-color:#c81e1e;animation:1.4s ease-in-out 2 sp-pulse}.sp-bang{color:#fff;background:#c81e1e;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;display:inline-grid}.sp-chip.sel{outline-offset:1px;outline:4px solid #2563eb}.sp-chip.over{outline-offset:1px;outline:4px dashed #16a34a;transform:scale(1.05)}.sp-chip.dim{opacity:.3}.sp-chip.me{outline-offset:1px;outline:3px solid #14162d}.sp-chip:focus-visible{outline-offset:2px;outline:3px solid #2563eb}@keyframes sp-pulse{50%{transform:scale(1.06)}}.sp-names{flex-wrap:wrap;gap:6px;display:flex}.sp-name{border:2px solid var(--ink,#14162d);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:42px;padding:4px 6px 4px 10px;font-weight:700;display:inline-flex}.sp-name i{border:1.5px solid #14162d;border-radius:50%;width:14px;height:14px}.sp-name b{color:#fff;background:#14162d;border-radius:999px;place-items:center;min-width:26px;height:26px;font-size:14px;display:inline-grid}.sp-name.hi b{background:#c2410c}.sp-name.lo b{background:#2563eb}.sp-name.sel{background:#ffd23f;outline:3px solid #2563eb}.sp-actions{z-index:20;border:2px solid var(--ink,#14162d);box-shadow:4px 4px 0 var(--ink,#14162d);background:#fffbe6;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex;position:sticky;bottom:10px}.sp-actions .xl-btn{min-height:42px;padding:4px 12px;font-size:15px}.sp-ghost{z-index:1000;pointer-events:none;white-space:nowrap;background:#ffd23f;border:2px solid #14162d;border-radius:999px;padding:8px 14px;font-weight:900;position:fixed;transform:translate(50%,-130%);box-shadow:4px 4px #14162d}.sp-bad{color:#7f1010;background:#fff1f1;border:2px solid #c81e1e;border-radius:14px;padding:10px 14px}.sp-bad ul{margin:4px 0 0;padding-inline-start:20px;line-height:1.6}.sp-mine{margin:0;padding-inline-start:20px;line-height:1.8}.sp-toast{z-index:1001;color:#fff;background:#14162d;border-radius:14px;padding:10px 18px;font-weight:800;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000040}@media (width<=480px){.sp-steps button{flex-direction:column;gap:2px;font-size:13px}.sp-focus{flex:100%;margin-inline-start:0}.sp-focus select{width:100%}.sp-grid thead th{min-width:96px}.sp-chip{padding:4px 8px;font-size:14px}}.sp-print{display:none}@page sp-landscape{size:A4 landscape;margin:10mm}@media print{html.sp-printing body>:not(.sp-print){display:none!important}html.sp-printing .sp-print{page:sp-landscape;color:#000;font-family:Arial,sans-serif;display:block!important}.sp-print h1{text-align:center;margin:0 0 2mm;font-size:20pt}.sp-print>p{text-align:center;margin:0 0 3mm;font-size:11pt}.sp-print table{border-collapse:collapse;width:100%;font-size:10.5pt}.sp-print th,.sp-print td{text-align:right;vertical-align:top;border:1px solid #000;padding:1.6mm 2mm}.sp-print thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#e6e6e6}.sp-print tr{break-inside:avoid}.sp-print .sp-print-tot{text-align:right;margin-top:3mm;font-size:9.5pt}}
