:root{color-scheme:light;--bg: #f3f1eb;--card: #fffdf8;--ink: #1c2420;--muted: #5d6b64;--line: #d9d4c8;--accent: #1f6f54;--accent-ink: #fff;--in: #1f6f54;--out: #3d4a45;--break: #9a6700;--lunch: #b54708;--off: #3d5a80;--danger: #b42318;font-family:Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top,#e7efe8,transparent 28rem),var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app,.auth{max-width:42rem;margin:0 auto;padding:1.25rem 1rem 5rem}.auth{min-height:100vh;display:grid;align-items:center}.auth-card,.panel,.status-card,.total-card{background:var(--card);border:1px solid var(--line);border-radius:1.1rem;padding:1.15rem;box-shadow:0 10px 30px #1c24200d}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--accent);font-weight:700}h1,h2,h3{margin:.2rem 0 .4rem}.lede,.muted,.hint{color:var(--muted)}.hint,.muted{font-size:.92rem}header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}header h1{font-size:1.45rem}nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.5rem;margin-bottom:1rem}nav button,.segmented button,.row-actions button,.modal-actions button,header button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.7rem .9rem}nav button.active,.segmented button.active,.active-link{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.panel{display:grid;gap:1rem}form,.auth-card form{display:grid;gap:.75rem}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:.75rem;padding:.75rem .8rem;background:#fff}.primary,.punch-grid button{border:0;border-radius:1rem;padding:1rem;font-size:1.05rem;font-weight:700;color:#fff}.primary,.punch-in{background:var(--in)}.punch-out{background:var(--out)}.punch-break{background:var(--break)}.punch-lunch{background:var(--lunch)}.punch-off{background:var(--off)}.punch-grid{display:grid;gap:.65rem}.hours-pill{display:inline-block;margin:.75rem 0 0;padding:.25rem .7rem;border-radius:999px;background:#eef6f1;font-weight:700}.status-card h2,.total-card h2{font-size:2rem}.punch-list,.day-list,.report-list,.user-list,.mini-punches{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.punch-list button,.report-list li,.user-list li,.day-list li{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:.9rem;padding:.85rem}.punch-list button{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.punch-list em,.report-list em{color:var(--lunch);font-style:normal;font-size:.85rem}.notice,.error{color:var(--danger)}.notice{background:#fff4f2;border:1px solid #f0c7c2;border-radius:.8rem;padding:.75rem .9rem}.segmented,.row-actions,.modal-actions,.day-head,.report-list li,.user-list li{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;justify-content:space-between}.day-head{margin-bottom:.35rem}.mini-punches{color:var(--muted);font-size:.92rem}.modal-backdrop{position:fixed;inset:0;background:#1c242073;display:grid;align-items:end;padding:1rem}.modal{background:var(--card);border-radius:1.1rem 1.1rem 0 0;padding:1.1rem;display:grid;gap:.75rem}@media(min-width:640px){.modal-backdrop{align-items:center}.modal{border-radius:1.1rem;max-width:28rem;width:100%;margin:0 auto}}
