/* Updated 2026-11-02 - ShiftGarden styles: 15-inch laptop spacing for legible names. */
:root{--ink:#0A2238;--muted:#4A5C66;--line:#D5E0E3;--surface:#F5F8F8;--primary:#0F3D5E;--mint:#5FD3B0;--soft:#E3F2EE;--danger:#B3261E;--warn:#7A4F00;--ok:#1B6B45;
--olive:#8A9A5B;--sv:#C9DAF8;--svi:#1C3D7A;--fr:#EAD1DC;--fri:#7A1F3D;--bu:#D2E5CF;--bui:#2B5A2B;--gr:#FBD3B0;--gri:#7A3E0A}
*{box-sizing:border-box}
body{margin:0;background:#E4E6EA;color:var(--ink);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button{font:inherit;color:inherit}
.app{max-width:1440px;margin:16px auto;background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.12)}
.mp{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}
.mp .sp{flex:1}.mp a{color:var(--primary);cursor:pointer}
.rbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--olive);color:#1A1A1A;font-weight:800;flex-wrap:wrap}
.rbar .wk{display:flex;gap:6px}
.rbar button{font-weight:800;border:2px solid #1A1A1A;background:transparent;border-radius:10px;min-height:40px;padding:0 12px;cursor:pointer}
.weeks{display:flex;gap:4px;padding:8px 14px 0;overflow-x:auto}
.weeks button{padding:8px 12px;border:0;border-radius:10px 10px 0 0;background:#e8ecee;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer}
.weeks button.on{background:#fff;border:1px solid var(--line);border-bottom:0}
.body{padding:12px 14px 20px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px}
.main{min-width:0}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.card h3{margin:0 0 8px;font-size:16px;display:flex;align-items:center;gap:8px}
/* count strip: wraps to rows, never scrolls sideways */
.strip{display:flex;flex-wrap:wrap;gap:6px}
.np{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 4px 4px 10px;font-size:13px;font-weight:700;border:2px solid transparent;min-height:34px;cursor:pointer;white-space:nowrap}
.np .c{background:#fff;color:var(--ink);border-radius:999px;min-width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.np.on{border-color:var(--ink)}.strip.dim .np:not(.on){opacity:.35}
/* spotlight summary strip */
.focusbar~.legend{display:none}
.focusbar{display:flex;align-items:center;gap:14px;margin-top:6px;padding:3px 8px;border:2px solid var(--ink);border-radius:12px;background:#fff}
.fwho{font-size:15px;white-space:nowrap}.fwho b{font-size:16px}.fwho span{color:var(--muted);font-weight:700;margin-left:4px}
.fbig{line-height:1.1;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.fbig b{font-size:26px;color:var(--ink);font-weight:900;margin-right:2px}.fbig span{font-weight:800;color:var(--ink)}
.fdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1;min-width:0}
.fd{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;padding:1px 2px;min-height:32px;line-height:1.1;background:#eef1f3;color:var(--muted);font-weight:700;font-size:11px;min-width:0}
.fd b{font-size:11px;font-weight:800}.fd i{font-style:normal;font-size:12px;font-weight:800;white-space:normal;text-align:center;max-width:100%}
.fd.on{background:var(--ink);color:#fff}.fd.req{background:repeating-linear-gradient(135deg,#fff 0 6px,#f3e3c4 6px 12px);color:var(--warn)}
.fx{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:#e9ecef;color:var(--ink);font-size:22px;font-weight:800;line-height:1;cursor:pointer}
@media(max-width:700px){.focusbar{flex-wrap:wrap}.fdays{flex:1 1 100%;order:3}.fd i{font-size:10px}.fd{padding:1px 0}}
@media(min-width:1100px) and (max-width:1500px){.strip{gap:4px}.np{gap:4px;padding:2px 3px 2px 8px;font-size:12px;min-height:30px}.np .c{min-width:22px;height:22px;font-size:12px}}
.np.hi .c{background:var(--danger);color:#fff}.np.lo .c{background:#FDF1DC;color:var(--warn)}
.Server{background:var(--sv);color:var(--svi)}.Runner{background:var(--fr);color:var(--fri)}.Busser{background:var(--bu);color:var(--bui)}.Greeter{background:var(--gr);color:var(--gri)}
.roles{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rp{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--line);background:#fff;border-radius:999px;min-height:36px;padding:0 12px;font-size:13px;font-weight:800;cursor:pointer}
.rp.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.rp .c{background:rgba(255,255,255,.7);border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:8px;color:var(--muted)}
.legend i{display:inline-block;width:14px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px}
/* week: 7 columns always fit */
.lanes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:7px;min-width:0;min-height:200px}
.day.over{outline:3px dashed var(--primary);outline-offset:-3px}
/* wide screens: the week fits the window. Rows tighten in two steps; a very full day then scrolls inside its own column */
.lanes.fit{height:var(--lh)}.lanes.fit .day{min-height:0;overflow-y:auto;scrollbar-width:thin}
.lanes.d1 .chip{padding:3px 6px;margin-top:2px;font-size:12.5px}.lanes.d1 .sh{margin-top:4px}.lanes.d1 .addb{margin-top:4px;padding:2px 0}
.lanes.d4 .chip{padding:0 4px;margin-top:0;font-size:11px;line-height:1.15}.lanes.d4 .sh{margin-top:0;font-size:10px}.lanes.d4 .dh{font-size:14px}.lanes.d4 .day{padding-top:5px}
.lanes.d3 .chip{padding:0 5px;margin-top:1px;font-size:11.5px;line-height:1.2;border-radius:5px}.lanes.d3 .sh{margin-top:1px;font-size:10.5px}.lanes.d3 .addb{margin-top:1px;padding:0;font-size:11.5px}.lanes.d3 .evs{min-height:18px}
.short .legend{display:none}
.short .app{margin:6px auto}.short .mp{padding:4px 14px}.short .rbar{padding:5px 14px}.short .rbar button{min-height:34px}.short .weeks{padding-top:4px}.short .weeks button{padding:5px 12px}.short .body{padding-top:8px;padding-bottom:10px}.short .card{padding:8px 12px;margin-bottom:6px}.short .card h3{margin-bottom:4px}
.lanes.d2 .chip{padding:1px 6px;margin-top:1px;font-size:12px;border-radius:6px}.lanes.d2 .sh{margin-top:2px;font-size:11px}.lanes.d2 .addb{margin-top:2px;padding:1px 0;font-size:12px}
.dh{display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:15px;font-weight:800}
.dayk{font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px;white-space:nowrap}
.dayk.on{background:var(--ink);color:#fff}.dayk.off{background:#e9ecef;color:#6b7680}
.evs{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;min-height:22px}
.ev{border:0;background:var(--soft);color:var(--ok);font-weight:800;font-size:12px;border-radius:6px;padding:2px 6px;cursor:pointer}
.ev.add{background:transparent;color:var(--muted);font-weight:700;padding:2px 0}
.grp{border-radius:8px;padding:0 2px 2px}
.grp.over{background:var(--soft);outline:2px dashed var(--primary)}
.sh{margin-top:7px;font-size:12px;font-weight:800;color:var(--muted);display:flex;justify-content:space-between}
.chip{display:flex;align-items:center;justify-content:space-between;gap:4px;border-radius:8px;padding:5px 7px;margin-top:4px;font-size:13px;font-weight:700;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.chip span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.chip .rl{flex:none;font-size:12px}
.chip.bad{outline:2px solid var(--danger);color:var(--danger)}
.chip.offc{background:#e9ecef;color:#6b7680;cursor:default}
.chip.req{background:repeating-linear-gradient(135deg,#fff 0 6px,#f3e3c4 6px 12px);color:var(--warn);cursor:default}
.chip.lift{opacity:.25}
.lanes.dim .chip{opacity:.18}.lanes.dim .chip.on{opacity:1;outline:3px solid var(--ink);outline-offset:-1px}
.addb{display:block;margin-top:8px;border:0;background:none;color:var(--primary);font-weight:700;font-size:13px;padding:4px 0;cursor:pointer}
.ghost{position:fixed;z-index:50;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.25);transform:rotate(-2deg)}
#trash{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:40;display:none;align-items:center;justify-content:center;gap:8px;width:min(420px,90vw);height:64px;border:3px dashed var(--danger);border-radius:14px;background:#FBE9E7;color:var(--danger);font-weight:800}
#trash.show{display:flex}#trash.over{background:var(--danger);color:#fff}
/* time off */
.cnt{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;line-height:1;background:#FDF1DC;color:var(--warn)}
.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.pill{display:inline-flex;align-items:center;justify-content:center;align-self:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;line-height:1.2;white-space:nowrap}
.pill.req{background:#FDF1DC;color:var(--warn)}.pill.ok{background:#E5F4EC;color:var(--ok)}
.note{border-radius:10px;padding:8px 10px;font-size:13px;margin-top:6px;background:#FBE9E7;color:var(--danger)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;background:var(--primary);color:#fff;font-weight:800;border:0;cursor:pointer}
.btn.o{background:#fff;color:var(--primary);border:2px solid var(--primary)}
.btn.r{background:#fff;color:var(--danger);border:2px solid var(--danger)}
.two{display:flex;gap:6px;margin-top:8px}.two .btn{flex:1}
/* dialogs */
.ov{position:fixed;inset:0;background:rgba(10,34,56,.35);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:#fff;border-radius:14px;padding:16px;width:min(380px,100%);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.modal h3{margin:0 0 10px;font-size:17px}
.modal label{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-top:10px}
.modal select,.modal input{display:block;width:100%;margin-top:4px;font:inherit;font-size:16px;padding:9px 10px;border:1.5px solid var(--line);border-radius:10px;color:var(--ink)}
.times{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.times button{border:2px solid var(--line);background:#fff;border-radius:10px;min-height:40px;padding:0 10px;font-weight:800;cursor:pointer}
.times button.on{border-color:var(--primary);background:var(--soft)}
.acts{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.erow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-weight:700}
.erow button{border:0;background:none;color:var(--danger);font-weight:800;cursor:pointer;padding:6px}
#toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:70;background:var(--ink);color:#fff;border-radius:12px;padding:10px 14px;font-weight:700;display:none;align-items:center;gap:12px;max-width:90vw}
#toast.show{display:flex}#toast button{background:#fff;color:var(--ink);border:0;border-radius:8px;padding:6px 12px;font-weight:800;cursor:pointer}
@media(max-width:1100px){.body{grid-template-columns:1fr}}
@media(max-width:900px){.lanes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.lanes{grid-template-columns:1fr}.app{margin:0;border-radius:0}}

.logo{font-size:20px;font-weight:600;letter-spacing:-.01em;color:var(--primary)}.logo b{color:#2E8F6A;font-weight:800}
.mp .who{color:var(--muted);font-weight:600}.mp select{font:inherit;padding:6px 8px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.rbar .pill{font-size:11px;vertical-align:2px;margin-left:6px}.rbar .wk{flex-wrap:wrap}
.pill.no{background:#FBE9E7;color:var(--danger)}.muted{color:var(--muted)}.small{font-size:13px}.mt{margin-top:14px}
.btn.wide{width:100%;margin-top:10px}.note.ok{background:#E5F4EC;color:var(--ok)}
.rh{font-size:12px;font-weight:800;color:var(--muted);margin-top:10px;text-transform:uppercase;letter-spacing:.04em}
.lk{border:0;background:none;color:var(--primary);font-weight:800;cursor:pointer;padding:6px}.erow .lk{color:var(--primary)}
.codev{font:800 22px/1.2 ui-monospace,Menlo,monospace;letter-spacing:.15em}.qr{width:220px;height:220px;display:block;margin:8px auto}
body.login{background:#E3F2EE}.lcard{max-width:380px;margin:8vh auto;background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 24px rgba(0,0,0,.1)}
.lcard h1{font-size:26px;margin:14px 0 2px}.lcard .sub{color:var(--muted);margin:0 0 14px}.lcard input{display:block;width:100%;font:inherit;font-size:17px;padding:12px;border:1.5px solid var(--line);border-radius:12px;margin-top:8px;min-height:48px}
.lcard .btn{width:100%;margin-top:10px}.gbtn{min-height:44px;margin-bottom:6px}.or{text-align:center;color:var(--muted);margin:10px 0 0}.codebox{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.lcard input.code{text-align:center;font:800 26px ui-monospace,Menlo,monospace;letter-spacing:.3em;text-transform:uppercase}
.lcard .note{margin-top:10px}.modal{max-height:90vh;overflow:auto}.modal input[readonly]{margin-top:8px}
.ev:disabled{cursor:default}
@media print{.mp,.rbar,.weeks,#side,#strip{display:none}}
.short .logo{font-size:17px}.short .mp{padding:2px 14px}.short .rbar{padding:3px 14px}.short .weeks button{padding:4px 12px}.short .app{margin:4px auto}.short .rbar button{min-height:32px}
.logo{display:inline-flex;align-items:center;gap:8px}.lgi{width:30px;height:30px;flex:none}.short .lgi{width:24px;height:24px}
.logo{font:600 20px Georgia,ui-serif,serif;color:#263A7A}.logo b{color:inherit}.lgi{border-radius:7px}
.btn.pri,.rbar button.pri{background:#263A7A;color:#fff;border-color:#263A7A}.plogo{max-width:100%;max-height:90px;display:block;margin:6px 0;object-fit:contain}
a.btn{text-decoration:none}.rbar .wk button{white-space:nowrap}.small{font-size:13px}.erow.small{gap:10px;align-items:flex-start}
.pill.ok{font-size:11px}.lg-ft{text-align:center;margin:14px 0 0;font-size:13px}.lg-ft a{color:var(--muted)}
body.login .logo,.lcard .logo{font-size:22px}.rbar .logo{display:none}
/* the place logo sits directly on the colored bar: white in the picture drops out, the ink stays black */
.rlogo{height:34px;width:auto;max-width:200px;object-fit:contain;display:block;mix-blend-mode:multiply;filter:grayscale(1) contrast(1.4)}.rbar .rt{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.short .rlogo{height:28px}
/* spotlight bar, orange (same as the approved mockup) */
.focusbar~.legend{display:none}
.focusbar{display:flex;align-items:center;gap:14px;margin-top:6px;padding:3px 8px;border:3px solid #E8730C;border-radius:12px;background:#FFF1E0}
.fwho{font-size:15px;white-space:nowrap}.fwho b{font-size:16px}.fwho span{color:#5A3200;font-weight:700;margin-left:4px}
.fbig{line-height:1.1;font-size:12px;font-weight:700;color:#5A3200;white-space:nowrap}.fbig b{font-size:28px;color:#8A3A00;font-weight:900;margin-right:2px}.fbig span{font-weight:800;color:#5A3200}
.fdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;flex:1;min-width:0}
.fd{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;padding:1px 2px;min-height:32px;line-height:1.1;background:#FFF8F0;border:1px solid #F0C9A0;color:#5A3200;font-weight:700;font-size:11px;min-width:0}
.fd b{font-size:11px;font-weight:800}.fd i{font-style:normal;font-size:12px;font-weight:800;white-space:normal;text-align:center;max-width:100%}
.fd.on{background:#F58A1F;border-color:#C85F00;color:#2A1200}.fd.req{background:repeating-linear-gradient(135deg,#fff 0 6px,#f6dcb8 6px 12px);color:#5A3200;border-color:#E0A860}
.fx{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:#FFD9B0;color:#2A1200;font-size:22px;font-weight:800;line-height:1;cursor:pointer}
@media(max-width:700px){.focusbar{flex-wrap:wrap}.fdays{flex:1 1 100%;order:3}.fd i{font-size:10px}.fd{padding:1px 0}}

/* People: a clear button in the top bar on every page, and the add form first in the dialog */
.mpb{font:inherit;font-weight:800;border:0;border-radius:10px;background:var(--primary);color:#fff;min-height:40px;padding:0 16px;cursor:pointer;white-space:nowrap}
.addbox{border:2px solid var(--primary);border-radius:12px;padding:4px 12px 12px;margin:6px 0 10px;background:#F5F8F8}.addbox .rh{font-size:16px;color:var(--primary)}
@media(max-width:560px){.mp .who{display:none}.mp{gap:8px;flex-wrap:wrap}}
/* events: day timeline (option C). Every day shares three grid rows, so all event areas are the same height. */
:root{--e1:#0B6FB0;--e2:#B8520A;--e3:#6E3FA0;--warnbg:#FDF1DC;--okbg:#E5F4EC}
.lanes{gap:0 6px;grid-template-rows:auto auto 1fr}
.day{grid-row:span 3;display:grid;grid-template-rows:subgrid;row-gap:6px;min-height:0;align-content:start}
.shs{min-width:0}.evz{display:flex;flex-direction:column;gap:4px;min-width:0}
.lanes.fit .day{overflow:hidden}.lanes.fit .shs{overflow-y:auto;min-height:0;scrollbar-width:thin}
.tl{position:relative;width:100%;height:82px;border:1px solid var(--line);border-radius:9px;background:#FAFCFC;cursor:copy;overflow:hidden}.tl[data-ro]{cursor:default}
.tl .ax{position:absolute;top:2px;font-size:10px;font-weight:700;color:var(--muted);transform:translateX(-50%)}.tl .gl{position:absolute;top:16px;bottom:0;width:1px;background:#E6ECEE}
.mk{position:absolute;height:22px;display:inline-flex;align-items:center;gap:3px;border:0;border-radius:6px;padding:0 5px;font-size:11.5px;font-weight:900;white-space:nowrap;cursor:pointer;background:var(--c);color:#fff;z-index:2}
span.mk{cursor:default}.tk{position:absolute;top:16px;width:2px;background:var(--c);z-index:1}.mk .s{display:none}.mk.sm .l{display:none}.mk.sm .s{display:inline}
.bd{position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 1.5px #fff;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#FFE08A;color:#5A3A00;font-size:10px;font-weight:900;line-height:1}
.du{position:absolute;height:4px;border-radius:2px;background:var(--c);opacity:.35}
.tf{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--muted);padding:0 2px;min-height:22px}.tf b{color:var(--ink)}
.hint{display:inline-flex;align-items:center;gap:3px;border:0;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:800;white-space:nowrap;line-height:1.6;cursor:pointer}.hint.ok{background:var(--okbg);color:var(--ok)}.hint.short{background:var(--warnbg);color:var(--warn)}
.er{display:grid;grid-template-columns:80px 1fr 90px auto;gap:8px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}.er label,.set label{font-size:12px;font-weight:800;color:var(--muted)}
.er input,.er select,.set input,.set select{display:block;width:100%;margin-top:3px;font:inherit;font-size:16px;padding:8px;border:1.5px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;min-height:44px}
.er .x{border:0;background:none;color:var(--danger);font-weight:800;cursor:pointer;padding:8px 4px}.er .dot{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800}.er .dot i{width:12px;height:12px;border-radius:3px;background:var(--c)}
.er.new{background:var(--surface);border-radius:10px;padding:0 8px;margin-top:8px;border:0}
.why{border-left:4px solid var(--c);padding:6px 10px;margin:8px 0;font-size:14px;background:var(--surface);border-radius:0 8px 8px 0}.why b{font-size:15px}.why .who{color:var(--muted);font-size:13px}
.set{display:grid;gap:12px}.set .chk{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--ink);font-weight:700}.set .chk input{width:20px;height:20px;margin:0;min-height:0}
.lnk{border:0;background:none;color:var(--primary);font-weight:800;cursor:pointer;padding:4px 0}
@media(max-width:900px){.lanes{row-gap:0}.day{margin-bottom:6px}}
@media(max-width:700px){.lanes{grid-template-columns:1fr;grid-template-rows:none;row-gap:8px}.day{grid-row:auto;grid-template-rows:auto auto auto;margin-bottom:0}}
.short .tl{height:70px}
.ahint{margin:4px 0 0;font-size:13px;color:var(--muted)}
.note.ok{background:#E5F4EC;color:var(--ok)}.note.warn{background:#FDF1DC;color:var(--warn)}
/* 15" laptops: more room for names. Smaller filter pills, a thin Time off column, tight margins and day padding. */
@media(min-width:1100px) and (max-width:1600px){
.app{max-width:none;margin:6px 6px}.short .app{margin:4px 6px}
.body{padding:8px 8px 12px;grid-template-columns:minmax(0,1fr) 200px;gap:8px}
.roles{gap:4px;margin-bottom:6px}.rp{min-height:26px;padding:0 8px;font-size:11.5px;gap:4px;border-width:1.5px}.rp .c{min-width:18px;height:18px;font-size:11px}
.card h3{font-size:14px;margin-bottom:5px}
.strip{gap:3px}.np{gap:3px;padding:1px 2px 1px 7px;font-size:11.5px;min-height:24px;border-width:1.5px}.np .c{min-width:18px;height:18px;font-size:11px}
.legend{font-size:11px;margin-top:4px;gap:8px}
.lanes{gap:0 4px}.day{padding:4px}
.chip,.lanes.d1 .chip,.lanes.d2 .chip,.lanes.d3 .chip,.lanes.d4 .chip{font-size:11.5px;padding-left:4px;padding-right:4px}
.chip .rl{font-size:10.5px}
.chip span:first-child{overflow:visible;text-overflow:clip}
.row{font-size:12px;padding:5px 0;gap:4px;flex-wrap:wrap}
.row .pill,.pill{font-size:10.5px;padding:2px 7px}
.row .btn,.card .btn{min-height:28px;padding:0 8px;font-size:12px;border-width:1.5px}
.two{gap:4px;margin-top:4px}
}
