:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--ink:#161616;--muted:#5e5e5e;--line:#d5d5d5;--danger:#8d2b2b}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--ink);margin:0;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.4}a{color:inherit}.top{z-index:5;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.top-inner{max-width:52rem;margin:0 auto;padding:.65rem 1rem}.mark{align-items:center;gap:.55rem;margin:0;font-size:.98rem;font-weight:600;display:flex}.mark img{object-fit:contain;flex:none;width:2.25rem;height:2.25rem}main{max-width:40rem;padding:1.1rem 1rem calc(3rem + env(safe-area-inset-bottom));margin:0 auto}main.wide{max-width:52rem}main.sheet{max-width:28rem}.hero{margin:0 0 1rem}.eyebrow,.sub,.muted,.hint,.hours,.state,.empty{color:var(--muted)}.eyebrow,.sub,.hint{margin:.35rem 0 0}.hint{font-size:.92rem}h1{letter-spacing:0;margin:0;font-size:1.45rem;font-weight:650;line-height:1.2}h2{margin:0;font-size:1rem;font-weight:650}.week{border-top:1px solid var(--line)}.day-block{border-bottom:1px solid var(--line);grid-template-columns:8.5rem minmax(0,1fr);align-items:start;gap:.45rem 1rem;padding:.85rem 0;display:grid}.rosters{gap:.35rem;display:grid}.roster{grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:.15rem .75rem;display:grid}.roster.past{color:var(--muted)}.kind{margin:0;font-size:1rem;font-weight:650}.day-block.today .when h2{font-weight:700}.when,.who{min-width:0}.hours,.state,.empty,.names{margin:0}.names{overflow-wrap:anywhere}.state{font-size:.92rem}.no-take{width:4.2rem}.jobs,.panel,.identity{border:1px solid var(--line);margin:1rem 0 0;padding:.9rem}.jobs ul,.mine ul,.people,.tasks{gap:.55rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.jobs li,.mine li,.people li,.tasks li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .7rem;padding-bottom:.45rem;display:flex}.mine form,.people form,.tasks form,.seat form{width:auto;margin:0;display:block}form,.panel form,.who,.times{gap:.7rem;display:grid}label{gap:.25rem;font-weight:600;display:grid}input,button,.button{font:inherit}input[type=text],input[type=email],input[type=time],input[type=number]{background:#fff;border:1px solid #bdbdbd;border-radius:2px;width:100%;padding:.55rem .6rem;font-weight:450}button,.button{background:var(--ink);color:#fff;border:1px solid var(--ink);text-align:center;cursor:pointer;border-radius:2px;width:auto;padding:.5rem .75rem;text-decoration:none;display:inline-block}.panel>form>button,.claim button[type=submit],main.sheet>p>.button,main.sheet form>button,main.sheet form>a.button{width:100%}.actions{flex-wrap:wrap;gap:.45rem;margin:0 0 .4rem;display:flex}button.ghost,a.ghost,.actions button{color:var(--ink);background:#fff;border-color:#bdbdbd}button.danger{color:var(--danger);background:#fff;border-color:#bdbdbd}.mine button,.mine .ghost,.people form button,.row-actions button,.roster>button{justify-self:start;width:auto}.claim{border:1px solid var(--ink);width:min(22rem,100% - 2rem);color:var(--ink);background:#fff;border-radius:2px;padding:1rem}.claim::backdrop{background:#0006}.claim .ghost{width:100%}.claim .who{grid-template-columns:1fr}.banner{border:1px solid var(--line);margin:0 0 .8rem;padding:.7rem .8rem}.banner.error{border-color:#e3b4b4}.banner.yours{border-color:var(--ink)}.panel summary{cursor:pointer;font-weight:650}.directory{gap:0;display:grid}.person-shift{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;width:100%;display:flex}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.tasks li.done strong{color:var(--muted);text-decoration:line-through}.digest{white-space:pre-wrap;font:inherit;margin:0}@media (max-width:640px){.day-block{grid-template-columns:1fr}.roster{grid-template-columns:1fr auto;grid-template-areas:"kind take""who who"}.kind{grid-area:kind}.roster .who{grid-area:who}.roster>button,.roster>.no-take{grid-area:take;justify-self:end}}@media (min-width:720px){.times{grid-template-columns:1fr 1fr}}@media (min-width:800px){.directory{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr);align-items:start;gap:.75rem}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
