:root{color-scheme:light;--ink: #17324d;--muted: #5d7590;--paper: #eef6fc;--card: #ffffff;--line: #d3e6f5;--spruce: #2f86d6;--spruce-deep: #f7fbfe;--moss: #2f86d6;--copper: #1d6fbe;--danger: #9a3b4a;--ok: #1d7a62;--shadow: 0 16px 40px rgba(47, 134, 214, .12);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}h1,h2{font-weight:700;letter-spacing:-.04em}.eyebrow{margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--copper)}.muted{color:var(--muted)}.banner{border-radius:14px;padding:.85rem 1rem;margin:0 0 1rem}.banner.warn{background:#e7f2fb;color:#1a4f86}.banner.ok{background:#e5f6f1;color:var(--ok)}.btn,.name-btn,.pad button,.segmented button{border:0;border-radius:14px;min-height:48px;padding:.7rem 1rem;background:var(--card);touch-action:manipulation}.btn.primary,.pad button,.name-btn{background:var(--spruce);color:#fff}.btn.copper{background:var(--copper);color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.danger{background:var(--danger);color:#fff}.row-actions{display:flex;gap:.4rem;justify-content:flex-end}.btn.big{display:block;width:100%;max-width:420px;min-height:84px;font-size:1.6rem;margin-left:auto;margin-right:auto}.btn:disabled,.pad button:disabled{opacity:.55}.btn:focus-visible,.name-btn:focus-visible,.pad button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--copper);outline-offset:2px}.kiosk{min-height:100vh;height:100vh;min-height:100dvh;background:radial-gradient(circle at top right,rgba(47,134,214,.18),transparent 32%),linear-gradient(180deg,#f8fcff,#e7f3fc);color:var(--ink);padding:1.25rem 1.25rem 1.5rem;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.kiosk-top,.page-head,.admin-bar,.row,.filters{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.kiosk h1{font-size:2.2rem;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:0}.kiosk-time{font-weight:800;font-variant-numeric:tabular-nums;font-size:4.2rem;font-size:clamp(3rem,8vw,6rem);margin:0;line-height:.9;color:#1d6fbe}.light{color:var(--ink)}.muted.light{color:var(--muted)}.name-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.name-grid.single{width:440px;max-width:100%;margin-left:auto;margin-right:auto;align-self:center;grid-template-columns:1fr}.kiosk-list.single{flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:3.5rem}.kiosk-list.single h2,.kiosk-list.single p{text-align:center}.kiosk-password{display:grid;gap:.35rem;width:440px;max-width:100%;margin:0 auto .8rem;text-align:left;align-self:center}.kiosk-list.single>.btn.primary{display:block;width:440px;max-width:100%;margin-left:auto;margin-right:auto}.name-btn{min-height:88px;font-size:1.35rem;font-weight:700;text-align:left;padding:1rem 1.15rem;background:#fff;color:var(--ink);border:1px solid #c5dff6;box-shadow:0 8px 24px #2f86d614;display:flex;align-items:center;gap:.85rem}.presence{width:16px;height:16px;border-radius:50%;flex:none}.presence.in{background:#1d7a62}.presence.out{background:#c44756}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.kiosk-refresh{position:fixed;left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));z-index:2}.pin-panel,.result-panel{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:none;margin:0;padding-bottom:3.5rem;text-align:center}.pin-panel .btn.ghost{align-self:center;width:auto;margin-top:.8rem}.pin-dots{display:flex;justify-content:center;gap:.8rem;margin:1rem auto 1.2rem}.pin-dots span{width:18px;height:18px;border-radius:50%;border:2px solid #8ebef0}.pin-dots span.filled{background:var(--spruce);border-color:var(--spruce)}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;width:100%;max-width:420px;margin-left:auto;margin-right:auto;-webkit-user-select:none;user-select:none}.pad button{min-height:76px;font-size:1.6rem}.kiosk .btn.ghost.light{border-color:#b9d7f2;color:var(--ink);background:#fff}.result-panel h2{font-size:2.4rem;font-size:clamp(2rem,6vw,4rem)}.login-screen,.admin-loading{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login-card,.card{width:440px;max-width:100%;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.4rem;box-shadow:var(--shadow)}.login-card label,.card label,.filters label{display:grid;gap:.35rem;margin-bottom:.8rem;font-size:.92rem}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;min-height:48px;padding:.65rem .8rem}textarea{min-height:96px;resize:vertical}.check{grid-template-columns:auto 1fr;align-items:center}.check input{width:auto;min-height:0}.admin-shell{min-height:100vh;min-height:100dvh}.admin-bar{background:#fff;color:var(--ink);padding:.9rem 1.2rem;border-bottom:1px solid var(--line)}.admin-bar nav{display:flex;gap:.4rem;flex-wrap:wrap}.admin-bar a{color:var(--ink);text-decoration:none;padding:.45rem .7rem;border-radius:999px}.admin-bar a[aria-current=page]{background:#e7f3fc;color:#1d6fbe}.admin-user{display:flex;gap:.7rem;align-items:center}.admin-bar .btn.ghost{color:var(--ink);border-color:var(--line);background:#fff}.admin-main{width:1100px;max-width:calc(100% - 2rem);margin:1.2rem auto 3rem}.stat-grid,.split,.employees{display:grid;gap:.9rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.2rem}.stat-grid article,.plain-list,.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:18px}.stat-grid article{padding:1rem}.stat-grid span,.plain-list span{color:var(--muted)}.stat-grid strong{display:block;font-size:1.8rem;margin-top:.3rem}.split{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.plain-list,.warning-list{list-style:none;padding:.4rem;margin:0}.plain-list li,.warning-list li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem;border-radius:12px}.plain-list li:hover{background:#f3f9fd}.employee-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.employee-list button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 20px #2f86d60f}.employee-list button:hover{background:#f7fbfe}.employee-list .person{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}.employee-list .person strong{font-size:1.05rem}.employee-list .person small{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em}.employee-list em{color:var(--muted);font-style:normal;font-weight:600;text-align:right}.employee-list em.in{color:var(--ok)}.lang-switch{display:flex;gap:.2rem;padding:.15rem;border:1px solid var(--line);border-radius:999px;background:#fff}.lang-switch button{min-height:32px;padding:.15rem .65rem;border-radius:999px;background:transparent;color:var(--ink);font-size:.8rem;font-weight:800}.lang-switch button[aria-pressed=true]{background:var(--spruce);color:#fff}.kiosk-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.warning-list li{background:#f3f9fd;margin-bottom:.4rem}.stack{display:grid;gap:.9rem}.card{width:auto}.kiosk-settings{width:640px;max-width:100%}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted)}.segmented{display:flex;gap:.35rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.25rem}.segmented button{background:transparent;color:var(--ink)}.segmented button[aria-pressed=true]{background:var(--spruce);color:#fff}.correction{margin-top:1rem;width:640px;max-width:100%}@supports (height: 100dvh){.kiosk{height:auto}}@supports not (inset: 0){.kiosk>*+*{margin-top:1rem}.name-btn .presence{margin-right:.85rem}.pin-dots span+span{margin-left:.8rem}.kiosk-top>*+*{margin-left:1rem}.row>*+*{margin-left:1rem}}@media(min-width:900px){.employees{grid-template-columns:1.2fr .8fr;align-items:start}}@media(orientation:portrait)and (max-width:800px){.name-grid{grid-template-columns:1fr 1fr}.name-grid.single{grid-template-columns:1fr}.kiosk-top{align-items:flex-start}}
