:root{color-scheme:dark;--bg:#101114;--card:#191b20;--raised:#22252c;--ink:#f4f4f7;--muted:#a3a6b2;--line:#30333b;--purple:#a778f2;--button:#8954de;--green:#70d5a0;--red:#f19a9a;--chrome:#131519}*{box-sizing:border-box}html[data-theme=light]{color-scheme:light;--bg:#f5f5f7;--card:#fff;--raised:#eeeef3;--ink:#23242a;--muted:#646873;--line:#dedee6;--purple:#7540c4;--button:#7540c4;--green:#18733b;--red:#ac2424;--chrome:#fff}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55}a{color:var(--purple);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,.btn{border:0;cursor:pointer;border-radius:10px;padding:.85rem 1.15rem;font-weight:600;min-height:46px;background:var(--button);color:white;display:inline-flex;align-items:center;justify-content:center;text-align:center}button:disabled{opacity:.45;cursor:default}.secondary,.quiet{background:var(--raised);color:var(--ink)}.quiet{padding:.5rem .7rem;font-size:.8rem;background:transparent}.danger{color:var(--red);background:var(--raised)}input,textarea,select{width:100%;min-width:0;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:.8rem;font-size:16px}textarea{min-height:100px}label{display:grid;gap:.4rem;font-size:.85rem;font-weight:600}form{display:grid;gap:1rem}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);background:var(--chrome);padding:1rem max(1rem,calc((100vw - 1040px)/2));position:sticky;top:0;z-index:3}.brand{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.62rem;letter-spacing:.13em}.brand img{width:86px;height:54px;object-fit:contain}.on-light{display:none}html[data-theme=light] .on-light{display:block}html[data-theme=light] .on-dark{display:none}.header-actions{display:flex;align-items:center;gap:.2rem}main{max-width:1040px;margin:auto;padding:2.5rem 1.25rem calc(120px + env(safe-area-inset-bottom))}h1{font-size:clamp(1.85rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.035em;margin:0 0 1.6rem}h2{font-size:1.15rem;letter-spacing:-.015em;margin:2rem 0 .8rem}h3{font-size:1rem;margin:.5rem 0}.muted,small{color:var(--muted)}small,.small{font-size:.8rem}.card{border:1px solid var(--line);border-radius:15px;background:var(--card);padding:1.3rem;margin-bottom:1rem;min-width:0;overflow-wrap:anywhere}.card p:first-child{margin-top:0}.card p:last-child{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{display:block;font-size:1.8rem;margin-top:.5rem;font-variant-numeric:tabular-nums}.metric span{font-size:.8rem;color:var(--muted)}.row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.row>*{min-width:0}.actions{display:flex;gap:.65rem;flex-wrap:wrap;margin:1rem 0}.actions>*{flex:1 1 auto}.record{display:flex;gap:1rem;align-items:center;justify-content:space-between;color:var(--ink)}.record>div{min-width:0}.record small{display:block;margin-top:.3rem}.badge{display:inline-flex;border:1px solid var(--line);background:var(--raised);border-radius:6px;font-size:.7rem;padding:.2rem .5rem;color:var(--muted)}.badge.active{color:var(--green)}.empty{color:var(--muted)}.error{color:var(--red);font-size:.85rem}.back{display:inline-block;margin-bottom:1rem}.note{white-space:pre-wrap}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.divider{border-top:1px solid var(--line);margin:1rem 0;padding-top:1rem}nav{position:fixed;bottom:0;left:0;right:0;background:var(--chrome);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:.5rem max(.5rem,calc((100vw - 700px)/2)) calc(.5rem + env(safe-area-inset-bottom));gap:.25rem;z-index:4}nav a{padding:.65rem .3rem;text-align:center;border-radius:9px;font-size:.8rem;color:var(--muted)}nav a[aria-current=page]{color:var(--purple);background:var(--raised)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.skip{position:fixed;top:-100px;left:1rem;z-index:9}.skip:focus{top:1rem;background:var(--card);padding:1rem}.loading,.login{text-align:center;padding:4rem 0}.loading img{width:130px}.login{max-width:420px;margin:auto}.login .logo{width:180px;margin:0 auto 2rem}.login h1{font-size:2rem}.login p{color:var(--muted);font-size:.9rem}#notice{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 2rem);border-radius:10px;background:var(--raised);box-shadow:0 4px 22px #0004;padding:.8rem 1.2rem;z-index:10}#notice:empty{display:none}.timer{font-size:2.5rem;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.shift-entry{padding:.8rem 0;border-bottom:1px solid var(--line)}.shift-entry:last-child{border-bottom:0}details>summary{cursor:pointer}.line-inputs{display:grid;grid-template-columns:2fr .7fr .7fr;gap:.5rem}.check{display:flex;align-items:center;gap:.65rem}.check input{width:auto}dialog{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:1.5rem;width:min(520px,calc(100vw - 2rem));max-height:90vh;overflow:auto}dialog::backdrop{background:#0009}@media(max-width:600px){header{padding:.65rem .8rem}.brand span{display:none}.brand img{width:76px;height:44px}main{padding:1.7rem 1rem 120px}.grid{grid-template-columns:1fr 1fr;gap:.65rem}.grid.two{grid-template-columns:1fr}.card{padding:1rem}.metric strong{font-size:1.5rem}.quiet{font-size:.7rem;padding:.4rem}.line-inputs{grid-template-columns:1fr 1fr}.line-inputs label:first-child{grid-column:1/-1}nav a{font-size:.75rem}.actions button,.actions .btn{font-size:.85rem}}

.shift-entry small{display:block;margin-top:.25rem}.loading img{margin:0 auto}.loading .on-light{display:none}html[data-theme=light] .loading .on-light{display:block}

/* Content-sized tracks keep names, financial totals, and form controls intact. */
:root{--nav-height:100px;--header-height:90px;scroll-padding-top:calc(var(--header-height) + 1rem);scroll-padding-bottom:calc(var(--nav-height) + 1rem)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
h1,h2,h3,p,summary,label,button,.btn{overflow-wrap:anywhere}
button,.btn,a{touch-action:manipulation}button:not(:disabled):active,.btn:active{filter:brightness(.9)}
label,form,fieldset,.grid>*,.line-inputs>*{min-width:0}
header{flex-wrap:wrap;padding-top:calc(1rem + env(safe-area-inset-top))}
.header-actions{flex-wrap:wrap;min-width:0}.brand{flex-shrink:0}
main{padding-bottom:calc(var(--nav-height) + 2rem);padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
.grid:has(>.metric){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.metric{container-type:inline-size}.metric strong{white-space:nowrap;font-size:min(1.8rem,10cqi);overflow-wrap:normal}
.record{flex-wrap:wrap}.record>div{flex:1 1 14rem}.badge{max-width:100%;flex-shrink:0}
.actions>*{min-width:0;max-width:100%;white-space:normal}
.shift-entry.row>div:first-child{flex:1 1 18rem}
.line-inputs{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}
.line-inputs label:first-child{grid-column:auto}
.check{align-items:flex-start}.check input{flex:0 0 18px;width:18px;height:18px;padding:0;margin-top:.3em}
dialog{max-height:calc(100dvh - 2rem);max-width:calc(100% - 2rem);padding:clamp(1rem,4vw,1.5rem);overscroll-behavior:contain;scroll-padding-block:1rem;overflow-wrap:anywhere}
dialog h2{margin-top:0}dialog .actions{margin-bottom:0}dialog input,dialog select,dialog textarea{scroll-margin-block:1rem}
#notice{bottom:calc(var(--nav-height) + 1rem);overflow-wrap:anywhere}
@media(max-width:600px){header{padding-top:calc(.65rem + env(safe-area-inset-top))}}

/* Keep empty results inset like every other card and clear of the search field. */
#jobList{margin-top:1rem}
