:root{--navy:#123b70;--blue:#1769d2;--ink:#172033;--muted:#697386;--bg:#f3f6fa;--green:#16803c;--red:#c62828;--amber:#b66a00}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Tahoma,Arial,sans-serif}.topbar{background:var(--navy);color:#fff;padding:14px max(18px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700}.brand small{display:block;font-size:11px;font-weight:400;opacity:.8}.brand-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#30b873;font-size:22px}.topbar nav{display:flex;gap:14px}.topbar nav a{color:#fff;text-decoration:none}.container{max-width:1180px;margin:auto;padding:24px}.hero{text-align:center;max-width:680px;margin:30px auto 20px}.hero.compact{margin-top:16px}.hero h1,.page-head h1{font-size:clamp(28px,5vw,46px);margin:8px 0}.hero p{color:var(--muted);line-height:1.8}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--blue)}.attendance-card,.auth-card,.panel{background:#fff;border-radius:20px;padding:24px;box-shadow:0 12px 35px #123b7012}.attendance-card{max-width:520px;margin:auto}.auth-card{max-width:430px;margin:50px auto}.auth-card h1{margin-top:8px}label{display:grid;gap:7px;font-weight:600;margin-bottom:14px}input,select{width:100%;padding:13px 14px;border:1px solid #ccd5e2;border-radius:11px;font:inherit;background:#fff}button,.button{border:0;border-radius:11px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--blue);color:#fff}.secondary{background:#64748b;color:#fff}.ghost{background:#e9eef5;color:var(--ink)}.danger{background:#fee2e2;color:#a61b1b}.biometric{width:100%;min-height:68px;font-size:18px;gap:12px}.biometric:disabled{opacity:.6}.fingerprint{font-size:34px}.status-box{margin-top:16px;padding:14px;border-radius:12px;line-height:1.6}.status-box.info{background:#e8f1ff}.status-box.success,.flash.success{background:#dcf7e5;color:#0a612c}.status-box.error,.flash.error{background:#ffe1e1;color:#8c1515}.hidden{display:none}.trust-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:18px}.admin-link{text-align:center}.admin-link a{color:var(--muted)}.privacy-note{background:#f1f7ff;border-radius:13px;padding:14px;margin-bottom:16px}.privacy-note p{color:var(--muted);margin-bottom:0}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.page-head h1{font-size:34px}.head-actions{display:flex;gap:8px}.head-actions form{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;padding:18px;border-radius:16px;box-shadow:0 5px 18px #0000000a}.stat b{display:block;font-size:30px;color:var(--navy)}.stat span{color:var(--muted)}.grid.two{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-bottom:18px}.panel h2{margin-top:0}.form-grid,.settings-grid{display:grid;gap:10px}.settings-grid{grid-template-columns:repeat(2,1fr)}.settings-grid button{align-self:end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:right;padding:11px;border-bottom:1px solid #edf0f5}td small{display:block;color:var(--muted)}.pill{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;background:#eef2f7}.pill.check_in,.pill.ok{background:#dcf7e5;color:#09652e}.pill.check_out{background:#e8f1ff;color:#104f9f}.pill.waiting{background:#fff3cd;color:#865900}.link-box{min-width:330px;font-size:12px}.flash{padding:12px;border-radius:10px;margin-bottom:12px}.hint{color:var(--muted);font-size:13px}@media(max-width:800px){.container{padding:14px}.topbar nav{display:none}.grid.two,.settings-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.attendance-card{padding:20px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:28px}.stat{padding:13px}.stat b{font-size:24px}}.activation{margin-bottom:18px;border:2px solid #30b873}.activation input{margin:10px 0;direction:ltr}.activation small{display:block;color:var(--muted)}.inline-form,.report-filter,.actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form input{flex:1}.compact-grid{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end}.actions form{margin:0}.warn{color:var(--amber);font-weight:800}.report-filter label{margin:0}.report-filter{margin-bottom:18px}.panel+.panel{margin-top:18px}@media(max-width:800px){.compact-grid{grid-template-columns:1fr}.report-filter{align-items:stretch;flex-direction:column}}
.nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 21px;
    margin-right: 5px;
    padding: 0 6px;
    border-radius: 999px;
    background: #30b873;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .18);
}
.checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 16px}.checkbox-row{display:flex;align-items:center;gap:8px;margin:0;padding:9px;border:1px solid #e1e7ef;border-radius:10px;font-weight:500}.checkbox-row input{width:auto;margin:0}fieldset{border:1px solid #ccd5e2;border-radius:12px;margin:0 0 14px;padding:12px}legend{font-weight:700;padding:0 7px}@media(max-width:800px){.checkbox-list{grid-template-columns:1fr}}
