:root{--ink:#16231f;--muted:#64716d;--surface:#fff;--wash:#f3f6f4;--line:#dce4df;--green:#176b51;--green2:#0f4f3b;--mint:#dff5eb;--red:#a63b32;--shadow:0 16px 50px rgba(24,48,39,.1);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--wash);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid #efb74c;outline-offset:2px}.hidden{display:none!important}.eyebrow{margin:0 0 .4rem;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.14em}.muted{color:var(--muted)}.button{border:0;border-radius:12px;padding:.8rem 1rem;font-weight:750;min-height:44px}.primary,.start{background:var(--green);color:#fff}.secondary,.ghost{background:#edf2ef;color:var(--ink)}.stop{background:var(--ink);color:#fff}.notice{padding:.8rem 1rem;border-radius:10px;background:#fff5d8;color:#664d00;margin-bottom:1rem}.notice.error{background:#fde9e7;color:#7b2822}
.employee-shell{min-height:100vh;background:linear-gradient(160deg,#edf8f2 0,#f7f5ef 62%,#f0ece2 100%)}.employee-main{width:min(100%,500px);min-height:100vh;margin:auto;padding:max(1.25rem,env(safe-area-inset-top)) 1rem max(1.5rem,env(safe-area-inset-bottom))}.pin-screen{text-align:center;padding:clamp(1.5rem,6vh,4rem) .4rem}.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;margin:0 auto 1.4rem;background:var(--ink);color:#fff;font-size:1.7rem;font-weight:900;box-shadow:var(--shadow)}h1,h2,p{margin-top:0}.pin-screen h1{font-size:2rem;margin-bottom:.4rem}.pin-slots{display:flex;justify-content:center;gap:1rem;margin:2rem 0}.pin-slots span{width:18px;height:18px;border:2px solid #93a19c;border-radius:50%;transition:.15s}.pin-slots span.filled{background:var(--green);border-color:var(--green);transform:scale(1.08)}.pin-message{height:1.5rem;color:var(--red);font-weight:650}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:340px;margin:auto;transition:.2s}.keypad.loading{opacity:.5;pointer-events:none}.keypad button{min-height:68px;border:1px solid rgba(22,35,31,.08);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 6px 20px rgba(24,48,39,.06);font-size:1.45rem;font-weight:700;color:var(--ink)}.keypad button:active{transform:scale(.96)}.assistive-note{max-width:360px;margin:1.5rem auto 0;color:var(--muted);font-size:.8rem;line-height:1.45}.employee-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:.7rem 0 1.5rem}.employee-header h1{margin-bottom:.25rem;font-size:1.55rem}.employee-header p:last-child{color:var(--muted);font-size:.9rem}.employee-header-actions{display:grid;gap:.4rem}.employee-header-actions .button{padding:.6rem .7rem;font-size:.78rem}.pin-change-dialog{max-height:96dvh;overflow:auto;background:var(--wash)}.pin-change-content{padding:1.25rem;text-align:center}.pin-change-content header{display:flex;text-align:left}.pin-change-content header button{border:0;background:none;font-size:1.5rem}.pin-change-content h2{margin:0}.pin-change-content .pin-slots{margin:1.4rem 0}.pin-change-content .keypad button{min-height:58px}.pin-change-content>.button{width:100%;margin-top:1rem}.status-card,.week-card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:1.35rem;box-shadow:var(--shadow)}.status-line{display:flex;align-items:center;gap:.55rem;font-weight:750}.status-dot{width:10px;height:10px;border-radius:50%;background:#8e9995}.status-dot.active{background:#27a476;box-shadow:0 0 0 5px #dff5eb}.duration-label{text-align:center;color:var(--muted);margin:2rem 0 .25rem}.hero-duration{text-align:center;font-size:clamp(3rem,15vw,4.4rem);font-weight:780;letter-spacing:-.07em;font-variant-numeric:tabular-nums;margin-bottom:.5rem}.active-duration{text-align:center;color:var(--green);min-height:1.4rem}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.action-grid button{min-height:68px;border-radius:18px;font-size:1.12rem}.week-card{margin-top:1rem}.week-card>header{display:flex;align-items:center;justify-content:space-between}.week-card h2{font-size:1rem;margin:0}.week-nav{display:flex;gap:.3rem}.week-nav button{border:0;background:var(--wash);border-radius:9px;min-width:34px;height:34px}.week-day{display:flex;justify-content:space-between;align-items:center;padding:.75rem .5rem;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.week-day:first-child{margin-top:1rem}.week-day>div{display:flex;gap:.7rem}.week-day span{color:var(--muted)}.week-day.today{background:var(--mint);border-radius:10px;border-color:transparent}.week-day i{color:var(--green);font-style:normal}
.admin-shell{min-height:100vh;background:#f4f6f5;padding-left:240px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:1.4rem 1rem;display:flex;flex-direction:column;background:#14241f;color:white}.admin-brand{color:#fff;text-decoration:none;font-size:1.25rem;font-weight:850;padding:.5rem .7rem 2rem}.sidebar nav{display:grid;gap:.35rem}.nav-item{width:100%;text-align:left;border:0;border-radius:9px;padding:.75rem;background:transparent;color:#b9c7c2;font-weight:650}.nav-item:hover,.nav-item.active{background:#263a33;color:#fff}.sidebar form{margin-top:auto}.admin-main{padding:2rem clamp(1.2rem,4vw,4rem);max-width:1500px;margin:auto}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-top h1{font-size:2rem;margin:0}.admin-user{background:#fff;border:1px solid var(--line);padding:.65rem 1rem;border-radius:999px;font-weight:650}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.summary-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.2rem}.summary-grid span{display:block;color:var(--muted);font-size:.85rem}.summary-grid strong{display:block;margin-top:.5rem;font-size:2rem;font-variant-numeric:tabular-nums}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem}.panel-header h2{margin:0}.toolbar{display:flex;align-items:end;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.toolbar label{font-size:.8rem;color:var(--muted)}input,select,textarea{display:block;margin-top:.35rem;width:100%;padding:.7rem .75rem;border:1px solid #bdc9c4;border-radius:8px;background:#fff;color:var(--ink)}.toolbar input,.toolbar select{min-width:180px}.toolbar .primary{margin-left:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;background:#fafbfa}.pill{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:var(--mint);color:var(--green2);font-size:.75rem;font-weight:750}.pill.live{background:#d9f4e9;color:#096542}.muted-pill{background:#ecefee;color:#68736f}.row-actions{display:flex;gap:.4rem;justify-content:flex-end}.row-actions button{border:0;background:#edf2ef;border-radius:7px;padding:.4rem .6rem}.danger-text{color:var(--red)}dialog{border:0;border-radius:16px;box-shadow:0 30px 100px rgba(0,0,0,.25);padding:0;width:min(92vw,520px)}dialog::backdrop{background:rgba(8,20,16,.55)}dialog form{padding:1.3rem;display:grid;gap:1rem}dialog header,dialog footer{display:flex;align-items:center;justify-content:space-between}dialog h2{margin:0}dialog header button{border:0;background:none;font-size:1.5rem}dialog footer{justify-content:flex-end;gap:.6rem}dialog label{font-size:.85rem;font-weight:650}textarea{min-height:90px;resize:vertical}code{font-size:.8rem}
@media(max-width:800px){.admin-shell{padding-left:0}.sidebar{position:static;width:auto;height:auto;flex-direction:row;align-items:center;overflow:auto;padding:.5rem}.admin-brand{padding:.5rem 1rem}.sidebar nav{display:flex}.sidebar form{margin:0 0 0 auto}.nav-item{white-space:nowrap}.admin-main{padding:1rem}.summary-grid{grid-template-columns:1fr}.admin-top{margin:1rem 0}.admin-user{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
