:root{--ink:#18231f;--muted:#6e7b75;--line:#dfe6e2;--bg:#f5f7f5;--green:#176b52;--lime:#dff26c;--danger:#bd3c43;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:235px 1fr}aside{position:sticky;top:0;height:100vh;background:#123f34;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin:0 8px 38px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--lime);color:#173d34;font-weight:900;font-size:22px}.brand small,.brand b{display:block}.brand small{opacity:.65;margin-top:2px}nav{display:grid;gap:7px}nav button,.logout{border:0;background:transparent;color:#cde0da;text-align:left;border-radius:10px;padding:12px 14px;font-weight:650}nav button span,.logout span{margin-left:10px}nav button.active,nav button:hover{background:#fff;color:#174b3d}.logout{margin-top:auto}main{padding:36px 44px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header h1{margin:2px 0;font-size:30px}.eyebrow{font-size:11px;letter-spacing:.15em;color:var(--green);font-weight:800;margin:0}#clock{font-variant-numeric:tabular-nums;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 2px 12px #183a2b08}.metric{font-size:36px;font-weight:800;margin:8px 0}.muted{color:var(--muted)}.room-head,.row,.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-head h2{margin:0}.badge{background:#e8f3ee;color:var(--green);border-radius:99px;padding:5px 10px;font-size:12px;font-weight:750}.badge.danger{background:#fcebed;color:var(--danger)}.person{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.avatar{width:40px;height:40px;border-radius:50%;background:#e7eee9;display:grid;place-items:center;font-weight:800;color:var(--green)}.person b,.person small{display:block}.person small{color:var(--muted);margin-top:3px}.elapsed{font-variant-numeric:tabular-nums;font-size:13px}.overdue{color:var(--danger);font-weight:800}.empty{padding:38px;text-align:center;color:var(--muted)}button.primary,form button{border:0;background:var(--green);color:#fff;border-radius:9px;padding:10px 15px;font-weight:700}button.secondary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px}button.danger{border:0;background:#f9e7e9;color:var(--danger);border-radius:8px;padding:7px 10px}.toolbar{margin-bottom:18px}.toolbar input{max-width:320px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.table th,.table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#fafbfa}.table tr:last-child td{border:0}label{display:grid;gap:6px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #ccd6d1;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink)}form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}form .wide{grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:#10251fa8;display:grid;place-items:center;padding:18px;z-index:10}.modal{width:min(560px,100%)}.modal h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.kiosk{max-width:760px;margin:4vh auto;text-align:center;padding:40px}.kiosk h2{font-size:32px}.kiosk input{font-size:24px;text-align:center;padding:18px;border:2px solid var(--green);margin:20px 0}.kiosk-result{min-height:110px;border-radius:14px;padding:25px;background:#edf5f1;font-size:20px}.kiosk-result.error{background:#fcebed;color:var(--danger)}.bar-row{display:grid;grid-template-columns:120px 1fr 45px;gap:12px;align-items:center;margin:12px 0}.bar{height:10px;background:#edf0ee;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:99px}.login{min-height:100vh;display:grid;place-items:center;background:#123f34;padding:20px}.login-card{width:min(390px,100%);padding:36px}.login-card .brand-mark{margin-bottom:18px}.login-card h1{margin:0}.login-card p{color:var(--muted);margin:5px 0 24px}.login-card button{margin:18px 0 10px}.login-card small{color:var(--muted)}#toast{position:fixed;right:22px;bottom:22px;background:#172a24;color:#fff;padding:13px 18px;border-radius:10px;transform:translateY(100px);opacity:0;transition:.25s;z-index:30}#toast.show{transform:none;opacity:1}@media(max-width:750px){.app{grid-template-columns:68px 1fr}aside{padding:20px 9px}.brand{margin-left:5px}.brand div,.brand small,nav span,.logout span{display:none}.brand-mark{width:40px}.app main{padding:24px 16px}header h1{font-size:23px}#clock{display:none}form .form-grid{grid-template-columns:1fr}.person{grid-template-columns:36px 1fr auto}}
