*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#f1f5f9;min-height:100vh}.screen{max-width:480px;margin:0 auto;padding:24px 20px 40px;min-height:100vh;display:flex;flex-direction:column}.screen.center{justify-content:center;align-items:center;text-align:center}h1{font-size:1.5rem;margin:0 0 8px}h2{font-size:1.15rem;margin:0 0 12px}.muted{color:#94a3b8;margin:4px 0 20px}.error{color:#f87171;font-weight:600}button{font-size:1rem;padding:12px 16px;border-radius:10px;border:1px solid #334155;background:#1e293b;color:#f1f5f9;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:#2563eb;border-color:#2563eb;color:#fff}button.link{background:none;border:none;color:#93c5fd;margin-top:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pin-dots{display:flex;gap:12px;margin:12px 0 24px}.dot{width:16px;height:16px;border-radius:50%;border:2px solid #475569}.dot.filled{background:#2563eb;border-color:#2563eb}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px}.keypad button{padding:18px;font-size:1.25rem}.camera-frame{width:100%;aspect-ratio:1 / 1;background:#000;border-radius:16px;overflow:hidden;margin:12px 0}.camera-frame video,.camera-frame img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.checkmark{width:72px;height:72px;border-radius:50%;background:#16a34a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:16px}input,select,textarea{font-size:1rem;padding:10px 12px;border-radius:8px;border:1px solid #334155;background:#1e293b;color:#f1f5f9}.login-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.admin{max-width:960px}.admin-header{justify-content:space-between;margin-bottom:20px}.panel{background:#1e293b;border-radius:12px;padding:20px}.reveal-box{background:#0f2c1c;border:1px solid #16a34a;border-radius:10px;padding:14px;margin-bottom:16px}.reveal-box code{font-size:1.1rem}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #334155}.thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;cursor:pointer}.thumb-loading{background:#334155}details{margin:16px 0}details textarea{width:100%;margin:10px 0}.filters{margin-bottom:8px}a{color:#93c5fd}
