.secondary-button{background:#000;width:auto;margin-top:0}.success-box{color:#155724;background:#d4edda;border-radius:8px;margin-bottom:1rem;padding:1rem}.error-box{color:#721c24;background:#f8d7da;border-radius:8px;margin-bottom:1rem;padding:1rem}:root{--ink:#1a1d1f;--paper:#fafaf8;--line:#dfe1de;--accent:#c0392b;--accent-ink:#fff;--success:#2f7d5f;--success-bg:#e8f3ee;--danger:#c0392b;--danger-bg:#fbeae8;--muted:#6b7270;--radius:14px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0}.screen{flex-direction:column;justify-content:center;align-items:center;min-height:fit-content;padding:24px;display:flex}.adminButton{text-align:left;cursor:pointer;background-color:#ca1f2c;border:1px solid #ddd;border-radius:12px;padding:1.25rem}.adminButtonNoir{text-align:left;cursor:not-allowed;-webkit-user-select:none;user-select:none;background-color:#000;border:1px solid #ddd;border-radius:12px;padding:1.25rem}.card{width:100%;max-width:380px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:13px;font-weight:600}h1{letter-spacing:-.01em;margin:0 0 24px;font-size:26px;font-weight:700}label{margin:16px 0 6px;font-size:14px;font-weight:600;display:block}input{border:1.5px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;padding:14px 16px;font-size:17px}input:focus{border-color:var(--accent);outline:none}button{border-radius:var(--radius);background:var(--ink);color:#fff;cursor:pointer;border:none;width:100%;margin-top:20px;padding:16px;font-size:17px;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:scale(.98)}.error-box{background:var(--danger-bg);color:var(--danger);border-radius:10px;margin-top:16px;padding:12px 14px;font-size:14px;font-weight:500}.result-card{text-align:center;border-radius:20px;padding:32px 24px}.result-card.in{background:var(--success-bg);color:var(--success)}.result-card.out{background:var(--danger-bg);color:var(--danger)}.result-type{margin:8px 0 4px;font-size:34px;font-weight:800}.result-time{opacity:.8;font-size:15px}#qr-reader{border-radius:var(--radius);width:100%;overflow:hidden}.secondary-button{width:auto;color:var(--ink);border:1.5px solid var(--line);background:0 0;margin-top:0;margin-bottom:16px;padding:10px 16px;font-size:14px;font-weight:600}.punch-list{flex-direction:column;gap:10px;margin-top:20px;display:flex}.punch-item{border:1.5px solid var(--line);border-radius:var(--radius);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.punch-item-info{flex:auto;min-width:0}.punch-item-name{margin:0 0 2px;font-size:15px;font-weight:700}.punch-item-time{color:var(--muted);margin:0;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-in{background:var(--success-bg);color:var(--success)}.badge-out{background:var(--danger-bg);color:var(--danger)}.punch-item-actions{flex-shrink:0;width:100%}.icon-button{background:var(--ink);color:#fff;border:none;border-radius:10px;width:100%;margin-top:0;padding:10px 14px;font-size:13px;font-weight:600}.sheet-backdrop{z-index:40;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--paper);width:100%;max-width:480px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:85vh;animation:.2s ease-out sheet-up;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{background:var(--line);border-radius:999px;width:40px;height:4px;margin:0 auto 16px}.segmented{border:1.5px solid var(--line);border-radius:var(--radius);margin-top:6px;display:flex;overflow:hidden}.segmented button{color:var(--muted);background:#fff;border:none;border-radius:0;flex:1;margin:0;padding:12px;font-size:15px;font-weight:700}.segmented button.active.in{background:var(--success-bg);color:var(--success)}.segmented button.active.out{background:var(--danger-bg);color:var(--danger)}textarea{border:1.5px solid var(--line);border-radius:var(--radius);width:100%;font-size:15px;font-family:var(--font);resize:vertical;min-height:70px;padding:12px 14px}textarea:focus{border-color:var(--accent);outline:none}.sheet-actions{gap:10px;margin-top:20px;display:flex}.sheet-actions button{margin-top:0}.sheet-actions .cancel-button{color:var(--ink);border:1.5px solid var(--line);background:0 0}
