.logo{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.logo__icon{display:flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:var(--radius-xl);color:var(--color-bg-primary)}.logo__icon svg{width:60%;height:60%}.logo--sm .logo__icon{width:3rem;height:3rem}.logo--md .logo__icon{width:4.5rem;height:4.5rem}.logo--lg .logo__icon{width:6rem;height:6rem}.logo__text{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);font-style:italic;letter-spacing:-.02em}.logo--sm .logo__text{font-size:var(--font-size-xl)}.logo--lg .logo__text{font-size:var(--font-size-4xl)}.logo__text-time{color:var(--color-text-primary)}.logo__text-capture{color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:2.25rem}.btn--md{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);min-height:3rem}.btn--lg{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg);min-height:3.5rem}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-button-glow)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-button-glow-hover)}.btn--primary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--secondary{background:var(--color-surface-dark);color:var(--color-text-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-dark-hover);transform:translateY(-1px)}.btn--secondary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--outline{background:transparent;color:var(--color-text-primary);border:2px solid var(--color-border)}.btn--outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:active:not(:disabled){transform:scale(.98)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-primary-light)}.btn--ghost:active:not(:disabled){transform:scale(.98)}.btn--full-width{width:100%}.btn__spinner{width:1.25em;height:1.25em;border:.15em solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.btn--loading{pointer-events:none}@media (prefers-reduced-motion: reduce){.btn--primary:hover:not(:disabled),.btn--primary:active:not(:disabled),.btn--secondary:hover:not(:disabled),.btn--secondary:active:not(:disabled),.btn--outline:active:not(:disabled),.btn--ghost:active:not(:disabled){transform:none}.btn__spinner{animation:none}}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-label-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.375rem;margin-left:.25rem}.input-field{width:100%;height:3rem;padding:0 var(--spacing-lg);display:flex;align-items:center;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);font-weight:var(--font-weight-medium);background:var(--glass-bg-light);border:2px solid transparent;border-radius:var(--radius-button-pill);transition:all var(--transition-normal);outline:none}.input-field::placeholder{color:var(--color-text-muted)}.input-field:hover{border-color:var(--glass-border);background:var(--glass-bg-light-hover)}.input-field:focus{border-color:var(--glass-border-focus);background:var(--glass-bg-light-hover);box-shadow:var(--focus-ring-primary)}.input-wrapper--error .input-field{border-color:var(--color-error)}.input-wrapper--error .input-field:focus{box-shadow:var(--focus-ring-error)}.input-helper{font-size:var(--font-size-xs);color:var(--color-text-muted)}.input-helper--error{color:var(--color-error)}.input-field:-webkit-autofill,.input-field:-webkit-autofill:hover,.input-field:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);-webkit-box-shadow:0 0 0px 1000px var(--color-surface-dark) inset;transition:background-color 5000s ease-in-out 0s}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-top-color:var(--glass-border-top);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all var(--transition-normal)}@supports not (backdrop-filter: blur(1px)){.card{background:#161b26f2}}.card--elevated{box-shadow:var(--shadow-card),0 25px 50px -12px #00000040}.card--outlined{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--color-border);box-shadow:none}.card--padding-none{padding:0}.card--padding-sm{padding:var(--spacing-md)}.card--padding-md{padding:var(--spacing-lg)}.card--padding-lg{padding:var(--spacing-xl)}.card:hover{background:var(--glass-bg-hover)}@supports not (backdrop-filter: blur(1px)){.card:hover{background:#161b26fa}}.step-indicator{width:100%;padding:var(--spacing-md) 0}.step-indicator__track{display:flex;align-items:flex-start;justify-content:center;gap:0}.step-indicator__item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.step-indicator__circle{width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:var(--color-surface-dark);color:var(--color-text-muted);border:2px solid var(--color-border);transition:all var(--transition-normal);z-index:1}.step-indicator__circle svg{width:1rem;height:1rem}.step-indicator__circle--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-primary);box-shadow:0 0 12px var(--color-primary-glow)}.step-indicator__circle--completed{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-primary)}.step-indicator__label{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;max-width:5rem}.step-indicator__label--active{color:var(--color-text-primary)}.step-indicator__line{position:absolute;top:1.125rem;left:calc(50% + 1.125rem);width:calc(100% - 2.25rem);height:2px;background:var(--color-border);z-index:0}.step-indicator__line--completed{background:var(--color-primary)}.error-boundary{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:var(--color-bg-primary)}.error-boundary__content{max-width:31.25rem;text-align:center;padding:var(--spacing-2xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}@supports not (backdrop-filter: blur(1px)){.error-boundary__content{background:#161b26f2}}.error-boundary__icon{width:4rem;height:4rem;margin:0 auto var(--spacing-lg);color:var(--color-error)}.error-boundary__icon svg{width:100%;height:100%}.error-boundary__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.error-boundary__message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:var(--line-height-relaxed)}.error-boundary__actions{display:flex;gap:var(--spacing-md);justify-content:center}.error-boundary__button{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:none}.error-boundary__button--primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-button-glow)}.error-boundary__button--primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-button-glow-hover)}.error-boundary__button--primary:active{transform:translateY(0) scale(.98)}.error-boundary__button--secondary{background:var(--color-surface-dark);color:var(--color-text-primary)}.error-boundary__button--secondary:hover{background:var(--color-surface-dark-hover)}.error-boundary__button--secondary:active{transform:scale(.98)}.error-boundary__details{margin-top:var(--spacing-xl);text-align:left;background:var(--color-bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.error-boundary__details summary{cursor:pointer;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.error-boundary__details pre{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow-x:auto;white-space:pre-wrap;word-break:break-all}@media (prefers-reduced-motion: reduce){.error-boundary__button--primary:hover,.error-boundary__button--primary:active,.error-boundary__button--secondary:active{transform:none}}.qr-instruction-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-lg);background:var(--color-primary-light);border-radius:var(--radius-button-pill);border:2px dashed var(--color-primary-glow);margin-top:var(--spacing-lg);text-align:center;position:relative}.qr-instruction-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-button-pill);border:2px dashed rgba(74,222,128,.2);pointer-events:none}.qr-instruction-icon-group{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.qr-instruction-icon{width:3rem;height:3rem;color:var(--color-primary);flex-shrink:0}.qr-instruction-arrow{width:1.5rem;height:1.5rem;color:var(--color-text-muted);flex-shrink:0}.qr-instruction-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;text-transform:none}.qr-instruction-text{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0;max-width:20rem}.qr-instruction-torch-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-xs);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.qr-instruction-torch-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.qr-instruction-torch-button:active{transform:scale(.98)}.torch-icon{width:1.125rem;height:1.125rem;flex-shrink:0}@media (max-width: 767px){.qr-instruction-card{padding:var(--spacing-lg) var(--spacing-md);gap:var(--spacing-sm)}.qr-instruction-icon{width:2.5rem;height:2.5rem}.qr-instruction-arrow{width:1.25rem;height:1.25rem}.qr-instruction-title{font-size:var(--font-size-base)}.qr-instruction-text{font-size:var(--font-size-sm)}}@media (prefers-reduced-motion: reduce){.qr-instruction-torch-button:active{transform:none}}.network-status{position:fixed;top:0;left:0;right:0;padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);z-index:1000;animation:slideDown .3s ease-out}.network-status--offline{background-color:#f59e0b26;color:var(--color-warning);border-bottom:1px solid rgba(245,158,11,.3)}.network-status--syncing{background-color:var(--color-info-bg);color:var(--color-info-text);border-bottom:1px solid var(--color-info-border)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.network-status{animation:none}}.sync-status{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.sync-status-icon{font-size:var(--font-size-sm);line-height:1}.sync-status-text{line-height:1}.sync-status--offline{background-color:#f59e0b26;color:var(--color-warning)}.sync-status--stale{background-color:var(--color-info-bg);color:var(--color-info-text)}.sync-status--fresh{background-color:#22c55e26;color:var(--color-success)}.rebond-request{padding:1rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-surface);margin:1rem 0}.rebond-request-message{margin-bottom:.75rem;font-weight:500}.rebond-request-reasons{margin:.75rem 0;padding-left:1.5rem;color:var(--color-text-secondary)}.rebond-request-reasons li{margin:.25rem 0}.rebond-request-action{margin:1rem 0;color:var(--color-text-secondary)}.rebond-request-hint{margin-top:.5rem;font-size:.9rem;color:var(--color-text-secondary)}.conflict-resolution{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;display:flex;gap:var(--spacing-md);align-items:flex-start}@supports not (backdrop-filter: blur(1px)){.conflict-resolution{background:#161b26f2}}.conflict-resolution-icon{font-size:var(--font-size-2xl);flex-shrink:0}.conflict-resolution-content{flex:1}.conflict-resolution-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;color:var(--color-text-primary)}.conflict-resolution-message{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0;line-height:var(--line-height-relaxed)}.conflict-resolution-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.conflict-resolution-primary{margin-top:var(--spacing-xs)}.conflict-resolution-secondary{margin-top:0}@media (min-width: 768px){.conflict-resolution-actions{flex-direction:row}.conflict-resolution-primary,.conflict-resolution-secondary{flex:1}}.debug-overlay{position:fixed;bottom:1rem;right:1rem;z-index:9998;font-family:Monaco,Menlo,Courier New,monospace;font-size:11px;line-height:1.4}.debug-toggle{background:#000000bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:.5rem 1rem;color:#fff;cursor:pointer;font-size:12px;font-weight:600;box-shadow:0 4px 12px #0000004d;transition:all .2s ease}.debug-toggle:hover{background:#000000d9;transform:translateY(-1px);box-shadow:0 6px 16px #0006}.debug-toggle:active{transform:translateY(0)}.debug-content{margin-top:.5rem;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000080;width:90vw;max-width:500px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0d}.debug-header h3{margin:0;font-size:13px;font-weight:600;color:#fff}.debug-clear{background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:6px;padding:.25rem .75rem;color:#ef4444;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s ease}.debug-clear:hover{background:#ef44444d}.debug-logs{flex:1;overflow-y:auto;padding:.5rem;max-height:calc(60vh - 60px)}.debug-logs::-webkit-scrollbar{width:6px}.debug-logs::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.debug-logs::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.debug-logs::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.debug-empty{padding:2rem 1rem;text-align:center;color:#ffffff80}.debug-empty p{margin:0;font-size:12px}.debug-log-line{padding:.5rem;margin-bottom:.25rem;border-radius:6px;background:#ffffff08;border-left:3px solid rgba(255,255,255,.2);display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.debug-log-line--error{background:#ef44441a;border-left-color:#ef4444}.debug-log-line--warn{background:#fbbf241a;border-left-color:#fbbf24}.debug-log-line--info{background:#3b82f61a;border-left-color:#3b82f6}.debug-log-time{color:#fff9;font-size:10px;flex-shrink:0}.debug-log-level{font-weight:700;font-size:10px;flex-shrink:0}.debug-log-line--error .debug-log-level{color:#ef4444}.debug-log-line--warn .debug-log-level{color:#fbbf24}.debug-log-line--info .debug-log-level{color:#3b82f6}.debug-log-line--log .debug-log-level{color:#ffffffb3}.debug-log-message{color:#ffffffe6;flex:1;min-width:0;word-break:break-word;font-size:11px}.debug-log-details{width:100%;margin-top:.25rem}.debug-log-details summary{cursor:pointer;color:#ffffffb3;font-size:10px;padding:.25rem;-webkit-user-select:none;user-select:none}.debug-log-details summary:hover{color:#ffffffe6}.debug-log-details pre{margin:.5rem 0 0;padding:.5rem;background:#0000004d;border-radius:4px;overflow-x:auto;font-size:10px;color:#fffc;max-height:200px;overflow-y:auto}@media (max-width: 767px){.debug-overlay{bottom:.5rem;right:.5rem}.debug-content{width:calc(100vw - 1rem);max-width:none;max-height:50vh}.debug-logs{max-height:calc(50vh - 60px)}}.debug-overlay{pointer-events:auto}.debug-overlay--minimized .debug-content{display:none}.error-display{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:1rem;margin-bottom:1rem}.error-display--compact{padding:.75rem}.error-display-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.error-display-icon{width:32px;height:32px;color:var(--color-error, #ef4444)}.error-display-icon svg{width:100%;height:100%}.error-display--compact .error-display-icon{width:24px;height:24px}.error-display-message{color:var(--color-error, #ef4444);font-size:.9375rem;font-weight:500;margin:0;line-height:1.5}.error-display--compact .error-display-message{font-size:var(--font-size-sm)}.error-display-actions{display:flex;flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem}.error-display-trace{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(239,68,68,.2);font-size:var(--font-size-xs);color:var(--text-muted, #6b7280)}.error-display-trace-label{opacity:.8}.error-display-trace-id{font-family:SF Mono,Monaco,Menlo,monospace;background:#0003;padding:.25rem .5rem;border-radius:4px;font-size:.6875rem;letter-spacing:.05em}.error-display-trace-copy{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;cursor:pointer;color:var(--text-muted, #6b7280);transition:all .2s ease}.error-display-trace-copy:hover{background:#ffffff1a;color:var(--text-primary, #ffffff)}.error-display-trace-copy:active{transform:scale(.95)}.error-display-trace-copy svg{width:14px;height:14px}@media (prefers-color-scheme: dark){.error-display{background:#ef444426;border-color:#ef444466}.error-display-trace-id{background:#0006}}@media (max-width: 480px){.error-display{padding:.875rem}.error-display-message{font-size:var(--font-size-sm)}.error-display-trace{flex-wrap:wrap;gap:.375rem}}.recovery-banner{display:flex;align-items:flex-start;gap:var(--spacing-sm, .5rem);padding:var(--spacing-md, 1rem);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg, .75rem);color:var(--color-error, #ef4444);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);margin-bottom:var(--spacing-md, 1rem);position:relative}.recovery-banner__icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.125rem;color:inherit}.recovery-banner__icon svg{width:100%;height:100%}.recovery-banner__content{flex:1;min-width:0}.recovery-banner__message{margin:0;color:inherit;line-height:1.5}.recovery-banner__actions{display:flex;gap:var(--spacing-sm, .5rem);flex-wrap:wrap;margin-top:var(--spacing-sm, .5rem)}.recovery-banner__actions:empty{display:none}.recovery-banner__code{display:none}.recovery-banner__dismiss{position:absolute;top:var(--spacing-sm, .5rem);right:var(--spacing-sm, .5rem);width:16px;height:16px;padding:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.5;transition:opacity .15s ease}.recovery-banner__dismiss:hover{opacity:1}.recovery-banner__dismiss svg{width:100%;height:100%}.lcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 300);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .3s ease,backdrop-filter .3s ease}.lcm-overlay--visible{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lcm-modal{width:100%;max-width:380px;background:var(--color-bg-secondary, #0f172a);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:var(--spacing-xl, 2rem);text-align:center;transform:scale(.92) translateY(12px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease;box-shadow:0 24px 48px -12px #00000080}.lcm-modal--visible{transform:scale(1) translateY(0);opacity:1}.lcm-icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-md, 1rem)}.lcm-icon{width:56px;height:56px;border-radius:var(--radius-full, 9999px);background:var(--color-primary-light, rgba(74, 222, 128, .1));display:flex;align-items:center;justify-content:center;color:var(--color-primary, #4ade80)}.lcm-title{font-family:var(--font-family);font-size:var(--font-size-xl, 1.25rem);font-weight:600;color:var(--color-text-primary, #ffffff);margin:0 0 var(--spacing-sm, .5rem);line-height:var(--line-height-tight, 1.2)}.lcm-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #94a3b8);line-height:var(--line-height-relaxed, 1.75);margin:0 0 var(--spacing-lg, 1.5rem)}.lcm-description strong{color:var(--color-text-primary, #ffffff)}.lcm-info{background:#ffffff08;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md, .5rem);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-xl, 2rem);text-align:left}.lcm-info-row{display:flex;align-items:center;gap:var(--spacing-sm, .5rem);padding:6px 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #94a3b8)}.lcm-info-icon{flex-shrink:0;color:var(--color-primary, #4ade80);display:flex;align-items:center}.lcm-actions{display:flex;gap:var(--spacing-sm, .5rem)}.lcm-btn{flex:1;padding:12px 16px;border-radius:12px;font-family:var(--font-family);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease);border:none;outline:none}.lcm-btn:focus-visible{box-shadow:var(--focus-ring-primary, 0 0 0 4px rgba(74, 222, 128, .1))}.lcm-btn--secondary{background:var(--color-bg-tertiary, #1e293b);color:var(--color-text-secondary, #94a3b8);border:1px solid rgba(255,255,255,.06)}.lcm-btn--secondary:hover{background:var(--color-surface-dark-hover, #334155)}.lcm-btn--primary{background:var(--color-primary, #4ade80);color:var(--color-text-inverse, #0a1628)}.lcm-btn--primary:hover{background:var(--color-primary-hover, #22c55e)}.lcm-btn--primary:active{transform:scale(.98)}.gcm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 300);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .3s ease,backdrop-filter .3s ease}.gcm-overlay--visible{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gcm-modal{width:100%;max-width:380px;background:var(--color-bg-secondary, #0f172a);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:var(--spacing-xl, 2rem);text-align:center;transform:scale(.92) translateY(12px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease;box-shadow:0 24px 48px -12px #00000080}.gcm-modal--visible{transform:scale(1) translateY(0);opacity:1}.gcm-icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-md, 1rem)}.gcm-icon{width:56px;height:56px;border-radius:var(--radius-full, 9999px);background:#f59e0b1a;display:flex;align-items:center;justify-content:center;color:var(--color-warning, #f59e0b)}.gcm-title{font-family:var(--font-family);font-size:var(--font-size-xl, 1.25rem);font-weight:600;color:var(--color-text-primary, #ffffff);margin:0 0 var(--spacing-sm, .5rem);line-height:var(--line-height-tight, 1.2)}.gcm-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #94a3b8);line-height:var(--line-height-relaxed, 1.75);margin:0 0 var(--spacing-lg, 1.5rem)}.gcm-details{background:#ffffff08;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md, .5rem);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-xl, 2rem);text-align:left}.gcm-detail-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:var(--font-size-sm, .875rem)}.gcm-detail-label{color:var(--color-text-secondary, #94a3b8)}.gcm-detail-value{font-weight:600;color:var(--color-text-primary, #ffffff)}.gcm-detail-value--warn{color:var(--color-warning, #f59e0b)}.gcm-detail-value--ok{color:var(--color-primary, #4ade80)}.gcm-actions{display:flex;gap:var(--spacing-sm, .5rem)}.gcm-btn{flex:1;padding:12px 16px;border-radius:12px;font-family:var(--font-family);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease);border:none;outline:none}.gcm-btn:focus-visible{box-shadow:0 0 0 4px #f59e0b33}.gcm-btn--secondary{background:var(--color-bg-tertiary, #1e293b);color:var(--color-text-secondary, #94a3b8);border:1px solid rgba(255,255,255,.06)}.gcm-btn--secondary:hover{background:var(--color-surface-dark-hover, #334155)}.gcm-btn--warn{background:#f59e0b1f;color:var(--color-warning, #f59e0b);border:1px solid rgba(245,158,11,.25)}.gcm-btn--warn:hover{background:#f59e0b33;border-color:#f59e0b66}.gcm-btn--warn:active{transform:scale(.98)}.som-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 300);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .3s ease,backdrop-filter .3s ease}.som-overlay--visible{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.som-modal{width:100%;max-width:380px;background:var(--color-bg-secondary, #0f172a);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:var(--spacing-xl, 2rem);text-align:center;transform:scale(.92) translateY(12px);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s ease;box-shadow:0 24px 48px -12px #00000080}.som-modal--visible{transform:scale(1) translateY(0);opacity:1}.som-icon-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-md, 1rem)}.som-icon{width:56px;height:56px;border-radius:var(--radius-full, 9999px);background:#f59e0b1a;display:flex;align-items:center;justify-content:center;color:var(--color-warning, #f59e0b)}.som-title{font-family:var(--font-family);font-size:var(--font-size-xl, 1.25rem);font-weight:600;color:var(--color-text-primary, #ffffff);margin:0 0 var(--spacing-sm, .5rem);line-height:var(--line-height-tight, 1.2)}.som-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #94a3b8);line-height:var(--line-height-relaxed, 1.75);margin:0 0 var(--spacing-lg, 1.5rem)}.som-details{background:#ffffff08;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md, .5rem);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-xl, 2rem);text-align:left}.som-detail-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:var(--font-size-sm, .875rem)}.som-detail-label{color:var(--color-text-secondary, #94a3b8)}.som-detail-value{font-weight:600;color:var(--color-text-primary, #ffffff)}.som-detail-value--warn{color:var(--color-warning, #f59e0b)}.som-detail-hint{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #64748b);margin:var(--spacing-sm, .5rem) 0 0;line-height:1.5}.som-actions{display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem)}.som-btn{width:100%;padding:12px 16px;border-radius:12px;font-family:var(--font-family);font-size:15px;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease);border:none;outline:none}.som-btn:focus-visible{box-shadow:0 0 0 4px #f59e0b33}.som-btn:active{transform:scale(.98)}.som-btn--warn{background:#f59e0b1f;color:var(--color-warning, #f59e0b);border:1px solid rgba(245,158,11,.25)}.som-btn--warn:hover{background:#f59e0b33;border-color:#f59e0b66}.som-btn--secondary{background:var(--color-bg-tertiary, #1e293b);color:var(--color-text-secondary, #94a3b8);border:1px solid rgba(255,255,255,.06)}.som-btn--secondary:hover{background:var(--color-surface-dark-hover, #334155)}@media (prefers-reduced-motion: reduce){.som-modal{transition:opacity .15s ease;transform:none}.som-modal--visible,.som-btn:active{transform:none}}.home-page{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.home-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}.home-header .logo{flex-direction:row;gap:10px}@media (max-width: 767px){.home-header{padding:10px 16px}}.home-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 28px;text-align:center}.home-hero{margin-bottom:32px;animation:homeSlideIn .4s ease-out}.home-hero h1{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.12;color:var(--color-text-primary)}.home-hero h1 span{color:var(--color-primary)}.home-features{height:110px;position:relative;overflow:hidden;margin-bottom:36px;width:200px}.home-features__track{display:flex;flex-direction:column;animation:rotateFeatures 9s ease-in-out infinite}.home-features__item{height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex-shrink:0}.home-features__item svg{width:56px;height:56px}.home-features__label{display:flex;align-items:center;justify-content:center}.home-features__label span{font-size:14px;font-weight:400;color:var(--color-text-secondary);letter-spacing:.01em}@keyframes rotateFeatures{0%,26%{transform:translateY(0)}33%,59%{transform:translateY(-110px)}66%,92%{transform:translateY(-220px)}to{transform:translateY(0)}}.home-cta{width:100%;max-width:280px;animation:homeSlideIn .4s ease-out .1s both}.home-cta__btn{width:100%;min-height:50px;padding:14px 24px;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:14px;font-size:17px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent}.home-cta__btn:hover{background:var(--color-primary-hover)}.home-cta__btn:active{transform:scale(.98)}.home-cta__btn:focus,.home-cta__btn:focus-visible{outline:none}.home-signin{font-size:14px;color:var(--color-text-muted);margin-top:18px}.home-signin a{color:var(--color-primary);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(48,209,88,.3);padding-bottom:1px;transition:border-color .15s}.home-signin a:hover{border-bottom-color:var(--color-primary)}.home-page--error{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,var(--color-bg-secondary) 0%,var(--color-bg-primary) 70%)}.home-error-container{text-align:center;padding:32px;max-width:400px}.home-error-container h2{font-size:22px;font-weight:600;color:var(--color-error);margin:16px 0 8px}.home-error-container p{font-size:14px;color:var(--color-text-secondary);margin:0 0 24px}@keyframes homeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.home-hero h1{font-size:44px}.home-features{height:130px;width:240px;margin-bottom:44px}.home-features__item{height:130px;gap:12px}.home-features__item svg{width:64px;height:64px}.home-features__label span{font-size:16px}.home-cta{max-width:320px}.home-signin{font-size:15px}@keyframes rotateFeatures{0%,26%{transform:translateY(0)}33%,59%{transform:translateY(-130px)}66%,92%{transform:translateY(-260px)}to{transform:translateY(0)}}}@media (prefers-reduced-motion: reduce){.home-features__track,.home-hero,.home-cta{animation:none}}.signin-page{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-xl);padding-top:calc(var(--header-height-desktop) + var(--spacing-xl));position:relative;min-height:100vh;min-height:100dvh}.signin-page--error{justify-content:center;padding-top:var(--spacing-xl)}.signin-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.signin-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.signin-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.signin-error-link{margin-top:var(--spacing-lg)!important;font-size:var(--font-size-sm)}.signin-error-link a{color:var(--color-primary);text-decoration:underline}.signin-page__header-fixed{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}.signin-page__header-fixed .logo{flex-direction:row;gap:var(--spacing-md)}.signin-page__container{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--spacing-xl);position:relative}.signin-page__back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-primary);transition:background .15s;cursor:pointer;padding:0;flex-shrink:0}.signin-page__back:hover{background:#30d15814}.signin-page__back:active{transform:scale(.96)}.signin-page__back:focus,.signin-page__back:focus-visible{outline:none}.signin-page__back svg{width:20px;height:20px}.signin-page__header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);will-change:transform,opacity}.signin-page__title{font-size:26px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;line-height:1.2;letter-spacing:-.01em}.signin-page__subtitle{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.5}.signin-page .signin-page__card{width:100%;padding:var(--spacing-xl);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none}.signin-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.signin-page .signin-form__info{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-md);color:var(--color-info-text);font-size:var(--font-size-sm);text-align:left;margin-bottom:var(--spacing-sm)}.signin-page .signin-form__info span{flex:1}.signin-form__info-dismiss{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-info-border);border-radius:var(--radius-sm);color:var(--color-info-text);font-size:var(--font-size-lg);line-height:1;cursor:pointer;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent;padding:0}.signin-form__info-dismiss:hover{background:#ffffff1a;border-color:var(--color-info-text)}.signin-form__info-dismiss:active{transform:scale(.95)}.signin-form__info-dismiss:focus,.signin-form__info-dismiss:focus-visible{outline:none}.signin-form__error{padding:var(--spacing-sm) var(--spacing-md);background:#ff453a14;border:1px solid rgba(255,69,58,.2);border-radius:12px;color:var(--color-error);font-size:var(--font-size-sm);text-align:center}.signin-page .signin-form__submit-btn{width:100%;margin-top:var(--spacing-sm);padding:12px;background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent;border:none;cursor:pointer}.signin-page .signin-form__submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.signin-page .signin-form__submit-btn:active:not(:disabled){transform:scale(.98)}.signin-page .signin-form__submit-btn:focus,.signin-page .signin-form__submit-btn:focus-visible{outline:none}.signin-page .signin-form__submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.signin-form__options{display:flex;align-items:center;justify-content:space-between;margin-top:calc(-1 * var(--spacing-xs))}.signin-form__remember{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--transition-fast)}.signin-form__remember input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.signin-form__remember:hover{color:var(--color-text-primary)}.signin-form__forgot{font-size:var(--font-size-sm);color:var(--color-primary);transition:all var(--transition-fast)}.signin-form__forgot:hover{text-decoration:underline}.signin-page__footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.signin-page__footer a{color:var(--color-primary);font-weight:500;text-decoration:none;border-bottom:1px solid var(--color-primary-glow);padding-bottom:.125rem;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.signin-page__footer a:hover{color:var(--color-primary-hover);border-bottom-color:#30d15880}.signin-page__footer a:focus,.signin-page__footer a:focus-visible{outline:none}.signin-form__otp-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.signin-page .signin-form__otp-label{font-size:12px;font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:normal;margin-bottom:var(--spacing-xs)}.signin-page .signin-form__otp-inputs{display:flex;gap:var(--spacing-sm);justify-content:center}.signin-page .signin-form__otp-input{width:48px;height:56px;text-align:center;font-size:var(--font-size-xl);font-weight:600;font-family:var(--font-family);color:var(--color-text-primary);background:var(--glass-bg-light);border:1px solid rgba(255,255,255,.04);border-radius:12px;transition:border-color .15s,background .15s;outline:none;-webkit-tap-highlight-color:transparent}.signin-page .signin-form__otp-input:hover{border-color:#ffffff1a;background:var(--glass-bg-light-hover)}.signin-page .signin-form__otp-input:focus{border-color:var(--color-primary);background:var(--glass-bg-light-hover);box-shadow:none}.signin-form__resend{text-align:center;margin:var(--spacing-md) 0 var(--spacing-sm) 0}.signin-form__resend-timer{font-size:var(--font-size-sm);color:var(--color-text-muted)}.signin-form__resend-button{font-size:var(--font-size-sm);color:var(--color-primary);background:transparent;border:none;cursor:pointer;transition:color .15s,opacity .15s;-webkit-tap-highlight-color:transparent;padding:0;font-weight:500}.signin-form__resend-button:hover:not(:disabled){text-decoration:underline;opacity:.8}.signin-form__resend-button:focus,.signin-form__resend-button:focus-visible{outline:none}.signin-form__resend-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.signin-page__header{animation:fadeInSlideDown .4s ease-out}.signin-page .signin-page__card{animation:fadeInZoom .4s ease-out}.signin-page__footer{animation:fadeInSlideUp .4s ease-out .1s both}@keyframes fadeInZoom{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (max-width: 767px){.signin-page{padding:var(--spacing-lg);padding-top:calc(var(--header-height-mobile) + var(--spacing-lg))}.signin-page__header-fixed{padding:10px 16px}.signin-page__header-fixed .logo{gap:var(--spacing-sm)}.signin-page__title{font-size:22px}.signin-page .signin-page__card{padding:var(--spacing-lg);border-radius:18px}.signin-page .signin-form__otp-input{width:40px;height:48px;font-size:var(--font-size-lg)}.signin-page .signin-form__otp-inputs{gap:var(--spacing-xs)}.signin-page__header,.signin-page .signin-page__card,.signin-page__footer{animation:none;opacity:1;transform:none;will-change:auto}}@media (prefers-reduced-motion: reduce){.signin-page__header,.signin-page .signin-page__card,.signin-page__footer{animation:none;opacity:1;transform:none;will-change:auto}}.register-page{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);padding-top:calc(var(--header-height-desktop) + var(--spacing-lg));padding-bottom:var(--spacing-lg);height:100vh;height:100dvh;overflow:hidden}.register-page--error{justify-content:center;padding-top:var(--spacing-xl)}.register-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.register-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.register-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.register-error-link{margin-top:var(--spacing-lg);font-size:var(--font-size-sm)}.register-error-link a{color:var(--color-primary);text-decoration:underline}.register-page__header-fixed{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}.register-page__header-fixed .logo{flex-direction:row;gap:var(--spacing-md)}.register-page__container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--spacing-lg)}.register-page__back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-primary);transition:background .15s;cursor:pointer;padding:0;flex-shrink:0}.register-page__back:hover{background:#30d15814}.register-page__back:active{transform:scale(.96)}.register-page__back:focus,.register-page__back:focus-visible{outline:none}.register-page__back svg{width:20px;height:20px}.register-page__header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.register-page__title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.2;letter-spacing:-.01em}.register-page__subtitle{font-size:14px;color:var(--color-text-muted);margin:0;line-height:1.4}.register-page .register-page__card{width:100%;padding:var(--spacing-lg);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:16px;box-shadow:none}.register-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.register-form .input-wrapper{gap:2px}.register-form .input-label{margin-bottom:0;font-size:11px}.register-form .input-field{height:2.625rem;font-size:14px}.register-form__error{padding:var(--spacing-sm) var(--spacing-md);background:#ff453a14;border:1px solid rgba(255,69,58,.2);border-radius:12px;color:var(--color-error);font-size:var(--font-size-sm);text-align:center}.register-page .register-form__submit-btn{width:100%;margin-top:var(--spacing-xs);padding:11px;background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent;border:none;cursor:pointer}.register-page .register-form__submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.register-page .register-form__submit-btn:active:not(:disabled){transform:scale(.98)}.register-page .register-form__submit-btn:focus,.register-page .register-form__submit-btn:focus-visible{outline:none}.register-page .register-form__submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-form__otp-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.register-page .register-form__otp-label{font-size:12px;font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:normal;margin-bottom:var(--spacing-xs)}.register-page .register-form__otp-inputs{display:flex;gap:var(--spacing-sm);justify-content:center}.register-page .register-form__otp-input{width:46px;height:52px;text-align:center;font-size:var(--font-size-xl);font-weight:600;font-family:var(--font-family);color:var(--color-text-primary);background:var(--glass-bg-light);border:1px solid rgba(255,255,255,.04);border-radius:12px;transition:border-color .15s,background .15s;outline:none;-webkit-tap-highlight-color:transparent}.register-page .register-form__otp-input:hover{border-color:#ffffff1a;background:var(--glass-bg-light-hover)}.register-page .register-form__otp-input:focus{border-color:var(--color-primary);background:var(--glass-bg-light-hover);box-shadow:none}.register-form__otp-error{font-size:var(--font-size-sm);color:var(--color-error);margin:0}.register-form__resend{text-align:center;margin:var(--spacing-xs) 0 0 0}.register-form__resend-timer{font-size:var(--font-size-sm);color:var(--color-text-muted)}.register-form__resend-button{font-size:var(--font-size-sm);color:var(--color-primary);background:transparent;border:none;cursor:pointer;transition:color .15s,opacity .15s;-webkit-tap-highlight-color:transparent;padding:0;font-weight:500}.register-form__resend-button:hover:not(:disabled){text-decoration:underline;opacity:.8}.register-form__resend-button:focus,.register-form__resend-button:focus-visible{outline:none}.register-form__resend-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.register-page__footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.register-page__footer a{color:var(--color-primary);font-weight:500;text-decoration:none;border-bottom:1px solid var(--color-primary-glow);padding-bottom:.125rem;transition:color .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.register-page__footer a:hover{color:var(--color-primary-hover);border-bottom-color:#30d15880}.register-page__footer a:focus,.register-page__footer a:focus-visible{outline:none}.register-page__header{animation:registerFadeDown .4s ease-out}.register-page .register-page__card{animation:registerFadeZoom .4s ease-out}.register-page__footer{animation:registerFadeUp .4s ease-out .1s both}@keyframes registerFadeZoom{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes registerFadeDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes registerFadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.register-page{padding:var(--spacing-md);padding-top:calc(var(--header-height-mobile) + var(--spacing-md));padding-bottom:var(--spacing-md)}.register-page__container{gap:var(--spacing-md)}.register-page__header-fixed{padding:10px 16px}.register-page__header-fixed .logo{gap:var(--spacing-sm)}.register-page__title{font-size:22px}.register-page .register-page__card{padding:var(--spacing-md);border-radius:16px}.register-form{gap:var(--spacing-sm)}.register-form .input-field{height:2.5rem;font-size:14px}.register-page .register-form__submit-btn{padding:10px;font-size:14px}.register-page .register-form__otp-input{width:40px;height:48px;font-size:var(--font-size-lg)}.register-page .register-form__otp-inputs{gap:var(--spacing-xs)}.register-page__header,.register-page .register-page__card,.register-page__footer{animation:none;opacity:1;transform:none;will-change:auto}}@media (min-width: 768px) and (max-width: 1024px){.register-page{padding:var(--spacing-lg) var(--spacing-xl);padding-top:calc(var(--header-height-desktop) + var(--spacing-lg))}}@media (prefers-reduced-motion: reduce){.register-page__header,.register-page .register-page__card,.register-page__footer{animation:none;opacity:1;transform:none;will-change:auto}}.dashboard-page{display:flex;flex-direction:column;overflow-x:hidden;height:100vh;height:100dvh}.dashboard-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}@supports not (backdrop-filter: blur(12px)){.dashboard-header{background:#0a0f1afa}}.dashboard-header__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.dashboard-header__title h1{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-header__menu{position:relative}.dashboard-header__menu-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease;flex-shrink:0}.dashboard-header__menu-button:hover{background:var(--color-bg-tertiary)}.dashboard-header__menu-button:active{transform:scale(.95)}.dashboard-header__menu-button svg{width:20px;height:20px}.dashboard-menu-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;min-width:200px;background:#161b26f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--spacing-xs);z-index:var(--z-overlay);animation:fadeInZoom .2s ease-out}@supports not (backdrop-filter: blur(24px)){.dashboard-menu-dropdown{background:#161b26fa}}@keyframes fadeInZoom{0%{opacity:0;transform:scale(.95) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.dashboard-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);text-align:left}.dashboard-menu-item:hover{background:#ffffff0d;color:var(--color-primary)}.dashboard-menu-item:active{transform:scale(.98)}.dashboard-menu-item--danger:hover{background:#ef44441a;color:var(--color-error)}.dashboard-menu-item svg{width:1.125rem;height:1.125rem;flex-shrink:0}.dashboard-menu-divider{height:1px;background:#ffffff1a;margin:var(--spacing-xs) 0}.dashboard-page .dashboard-content{flex:1;display:grid;grid-template-columns:340px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"presence activity" "qr       activity";gap:0;padding:0;padding-top:var(--header-height-desktop, 64px);min-height:0;overflow:hidden}.dashboard-presence{grid-area:presence;padding:16px 20px}.dashboard-qr{grid-area:qr;padding:0 20px 16px}.dashboard-activity{grid-area:activity;border-left:.5px solid rgba(148,163,184,.15);display:flex;flex-direction:column;overflow:hidden}.dashboard-page .card{background:var(--color-bg-tertiary);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.04);border-top:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;transition:none}.dashboard-page .card:hover{background:var(--color-bg-tertiary)}.dashboard-activity .activity-card{border-radius:0;border:none;background:transparent;height:100%;display:flex;flex-direction:column;overflow:hidden}.dashboard-activity .activity-card:hover{background:transparent}.card-header{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.card-header__left{display:flex;align-items:center;gap:8px}.card-header__icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-header__icon svg{width:14px;height:14px}.card-header__title{font-size:15px;font-weight:600;color:#ffffffd9}.card-header__badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:12px;font-variant-numeric:tabular-nums}.card-header__icon--presence,.card-header__badge--presence{background:var(--color-primary-light);color:var(--color-primary)}.card-header__icon--activity{background:var(--color-bg-secondary);color:var(--color-text-primary)}.card-header__badge--activity{background:var(--color-bg-secondary);color:var(--color-text-muted)}.card-header__icon--qr{background:var(--color-bg-secondary);color:var(--color-text-primary)}.card-body{padding:0 16px 14px;flex:1;min-height:0;display:flex;flex-direction:column}.dashboard-activity .card-header{padding:16px 20px}.dashboard-activity .card-body{padding:0 20px 16px}.workforce-bar{display:flex;height:4px;border-radius:2px;overflow:hidden;background:#ffffff0f;margin-top:2px}.workforce-bar__seg{min-width:0;transition:width .6s ease}.workforce-bar__seg--active{background:var(--color-primary)}.workforce-bar__seg--late{background:var(--color-warning)}.workforce-bar__seg--absent{background:var(--color-text-muted)}.workforce-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}.workforce-legend__item{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.workforce-legend__item strong{font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.workforce-legend__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.workforce-legend__dot--active{background:var(--color-primary)}.workforce-legend__dot--absent{background:var(--color-text-muted)}.workforce-legend__dot--late{background:var(--color-warning)}.workforce-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.workforce-footer__total{font-size:12px;color:var(--color-text-muted)}.workforce-footer__meta{display:flex;align-items:center;gap:8px}.workforce-footer__updated{font-size:12px;color:var(--color-text-muted)}.workforce-refresh-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:50%;transition:color .15s ease;flex-shrink:0}.workforce-refresh-btn svg{width:14px;height:14px}.workforce-refresh-btn:hover:not(:disabled){color:var(--color-primary)}.workforce-refresh-btn--loading svg{animation:spin 1s linear infinite}.workforce-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.workforce-skeleton{display:flex;flex-direction:column;gap:var(--spacing-md)}.workforce-skeleton__bar{height:4px;border-radius:2px;background:#ffffff0f;position:relative;overflow:hidden}.workforce-skeleton__bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}.workforce-skeleton__legend{height:1rem;width:60%;border-radius:var(--radius-sm);background:#ffffff0a;position:relative;overflow:hidden}.workforce-skeleton__legend:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);animation:shimmer 1.5s infinite .1s}.activity-filters{display:flex;gap:2px;background:transparent;padding:0;border-radius:10px;margin-bottom:8px;flex-shrink:0}.activity-filter-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:7px 4px;border-radius:8px;border:none;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:center}.activity-filter-btn:hover{color:var(--color-text-primary);background:#ffffff0d}.activity-filter-btn:focus,.activity-filter-btn:focus-visible{outline:none}.activity-filter-btn--active{background:var(--color-primary);color:var(--color-text-inverse);font-weight:600}.activity-filter-btn--active:hover{background:var(--color-primary);color:var(--color-text-inverse)}.card-header__right{display:flex;align-items:center;gap:8px}.activity-date-range{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.activity-list-wrapper{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.activity-list-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;pointer-events:none;z-index:1;border-radius:0 0 16px 16px}.dashboard-presence+.dashboard-activity .activity-list-wrapper:after,.activity-list-wrapper:after{background:linear-gradient(transparent,var(--color-bg-tertiary))}.dashboard-activity .activity-list-wrapper:after{background:linear-gradient(transparent,var(--color-bg-primary));border-radius:0}.activity-list{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.activity-list::-webkit-scrollbar{width:4px}.activity-list::-webkit-scrollbar-track{background:transparent}.activity-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.activity-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);text-align:center;padding:var(--spacing-xl) 0}.activity-empty span{font-size:var(--font-size-sm)}.activity-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:.5px solid rgba(255,255,255,.04);flex-shrink:0}.activity-item:last-child{border-bottom:none}.activity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.activity-item--in .activity-dot{background:var(--color-primary)}.activity-item--out .activity-dot{background:var(--color-text-muted)}.activity-name{font-size:15px;font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.activity-date-prefix{color:var(--color-text-muted);font-weight:400}.activity-type-badge{font-size:11px;font-weight:600;flex-shrink:0}.activity-type-badge--in{color:var(--color-primary)}.activity-type-badge--out{color:var(--color-text-muted)}.activity-late-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;background:#ff9f0a1f;color:var(--color-warning);flex-shrink:0}.activity-time-text{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.qr-compact{display:flex;flex-direction:column;align-items:center;gap:12px}.qr-code-container{width:200px;height:200px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.qr-code-container svg{width:100%;height:100%}.qr-info{display:flex;flex-direction:column;align-items:center;gap:6px}.qr-instruction{font-size:13px;color:var(--color-text-muted);text-align:center;margin:0}.qr-open-link{font-size:14px;color:var(--color-primary);font-weight:500;background:none;border:none;cursor:pointer;padding:0;transition:opacity .15s ease}.qr-open-link:hover{opacity:.8}.qr-timer-bar{width:200px;height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden}.qr-timer-bar-fill{height:100%;background:var(--color-primary);border-radius:1px;transition:width 1s linear}.qr-countdown{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.kiosk-qr-skeleton{width:100%;height:100%;background:#ffffff0d;border-radius:var(--radius-lg);position:relative;overflow:hidden}.qr-skeleton-shimmer{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}@media (max-width: 767px){.dashboard-header{padding:10px 16px}.dashboard-header__title h1{font-size:15px}.dashboard-page .dashboard-content{display:flex;flex-direction:column;grid-template-columns:none;gap:10px;padding:12px 16px;padding-top:calc(var(--header-height-mobile, 56px) + 12px);padding-bottom:12px;overflow-y:auto;overflow-x:hidden}.dashboard-presence{order:1;padding:0}.dashboard-activity{order:2;border-left:none;flex:1;min-height:0;overflow:hidden}.dashboard-activity .activity-card{border-radius:18px;border:1px solid rgba(255,255,255,.04);background:var(--color-bg-tertiary)}.dashboard-activity .activity-card:hover{background:var(--color-bg-tertiary)}.dashboard-activity .activity-list-wrapper:after{background:linear-gradient(transparent,var(--color-bg-primary));border-radius:0 0 16px 16px}.dashboard-activity .card-header{padding:14px 16px}.dashboard-activity .card-body{padding:0 16px 14px}.activity-list{max-height:50dvh}.dashboard-qr{order:3;padding:0}.qr-compact{flex-direction:row;align-items:center;gap:12px}.qr-code-container{width:80px;height:80px;border-radius:10px;overflow:hidden}.qr-info{align-items:flex-start;flex:1}.qr-timer-bar{width:100%}.dashboard-header{animation:none}.dashboard-page .card{animation:none;opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.dashboard-header,.dashboard-menu-dropdown,.dashboard-page .card,.activity-item{animation:none;opacity:1;transform:none}.dashboard-header__menu-button:active,.dashboard-menu-item:active{transform:none}.qr-skeleton-shimmer,.workforce-skeleton__bar:after,.workforce-skeleton__legend:after{animation:none}}.dashboard-page--error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.dashboard-content--error{display:flex;align-items:center;justify-content:center;padding-top:calc(var(--header-height-desktop, 64px) + var(--spacing-xl))}.dashboard-api-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);max-width:400px;padding:var(--spacing-2xl);background:var(--color-bg-tertiary);border:1px solid rgba(239,68,68,.3);border-radius:18px;text-align:center}.dashboard-api-error>svg{width:3rem;height:3rem;color:var(--color-error);flex-shrink:0}.dashboard-api-error__content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dashboard-api-error__content p{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5}.dashboard-api-error__content p strong{display:block;font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}@media (max-width: 767px){.dashboard-content--error{padding-top:calc(var(--header-height-mobile, 56px) + var(--spacing-lg));padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.dashboard-api-error{padding:var(--spacing-xl)}.dashboard-api-error>svg{width:2.5rem;height:2.5rem}}.dashboard-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.dashboard-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.dashboard-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.dashboard-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease-out}.dashboard-overlay--loading{background:#000000d9}.dashboard-confirm-dialog{background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:24px;max-width:300px;width:85%;text-align:center;animation:scaleIn .2s ease-out}.dashboard-confirm-dialog h3{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.dashboard-confirm-dialog p{font-size:13px;color:var(--color-text-muted);margin:0 0 20px;line-height:1.5}.confirm-dialog-actions{display:flex;gap:10px;justify-content:center}.confirm-dialog-actions button{flex:1;min-height:auto;padding:10px 0;font-size:15px;font-weight:500;border-radius:12px;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent;box-shadow:none}.confirm-dialog-actions button:hover{transform:none;box-shadow:none}.confirm-dialog-actions button:active{transform:scale(.97)}.confirm-dialog-actions button:focus,.confirm-dialog-actions button:focus-visible{outline:none}.confirm-dialog-actions .btn--ghost{background:#ffffff0f;color:var(--color-text-primary)}.confirm-dialog-actions .btn--ghost:hover{background:#ffffff1a}.confirm-dialog-actions .btn--primary{box-shadow:none}.signout-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-text-primary)}.signout-loading p{margin:0;font-size:var(--font-size-base)}.signout-spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 767px){.dashboard-confirm-dialog{padding:20px;max-width:280px}.confirm-dialog-actions button{font-size:14px;padding:9px 0}}.settings-page{width:100%;background:var(--color-bg-primary);min-height:100vh;min-height:100dvh}.settings-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}@supports not (backdrop-filter: blur(12px)){.settings-header{background:#0a0f1afa}}.settings-header__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.settings-header__title{display:flex;flex-direction:column}.settings-header__title h1{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-header__back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-primary);transition:background .15s;cursor:pointer;padding:0;flex-shrink:0}.settings-header__back:hover{background:#30d15814}.settings-header__back:active{transform:scale(.96)}.settings-header__back:focus,.settings-header__back:focus-visible{outline:none}.settings-header__back svg{width:20px;height:20px}.settings-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);max-width:var(--content-width-medium);margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 767px){.settings-header{padding:10px 16px}.settings-header__title h1{font-size:15px}.settings-content{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.settings-header,.settings-message,.settings-page .settings-section{animation:none}}@media (min-width: 768px){.settings-content{max-width:720px}}@media (min-width: 1024px){.settings-content{max-width:860px}}.settings-message{padding:var(--spacing-md);background:#30d1581f;border:1px solid rgba(48,209,88,.25);border-radius:18px;color:var(--color-primary);text-align:center;font-size:var(--font-size-sm);animation:fadeInSlideUp .3s ease-out}.settings-message--error{background:#ff453a14;border:1px solid rgba(255,69,58,.2);color:var(--color-error)}.settings-page .settings-section{padding:var(--spacing-lg);background:var(--color-bg-tertiary);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;animation:fadeInSlideUp .5s ease-out both}.settings-page .settings-section:nth-child(1){animation-delay:.1s}.settings-page .settings-section:nth-child(2){animation-delay:.15s}.settings-page .settings-section:nth-child(3){animation-delay:.2s}.settings-page .settings-section:nth-child(4){animation-delay:.25s}.settings-section h2{font-size:15px;font-weight:600;color:#ffffffd9;margin:0 0 var(--spacing-xs) 0}.settings-section__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-lg) 0}.settings-form input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left}.settings-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.5);cursor:pointer}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-select-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-select{width:100%;height:3rem;padding:0 var(--spacing-lg);font-size:var(--font-size-base);font-family:var(--font-family);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--glass-bg-light);border:1px solid rgba(255,255,255,.04);border-radius:18px;cursor:pointer;transition:background .15s;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-lg) center;padding-right:var(--spacing-2xl)}.settings-select:hover{background-color:var(--glass-bg-light-hover)}.settings-select:focus{background-color:var(--glass-bg-light-hover);box-shadow:none}.settings-select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.security-salt-display{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.security-salt-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.security-salt-value{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-primary);background:var(--color-bg-primary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.settings-actions{padding-top:var(--spacing-md)}.settings-actions button{transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent}.settings-actions .btn--primary{box-shadow:none}.settings-actions .btn--primary:hover:not(:disabled){box-shadow:none;transform:none}.settings-actions .btn--primary:active:not(:disabled){transform:scale(.98)}.settings-actions button:focus,.settings-actions button:focus-visible{outline:none}.settings-cache-button{width:100%;margin-top:var(--spacing-sm);transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent}.settings-cache-button:active{transform:scale(.98)}.settings-cache-button:focus,.settings-cache-button:focus-visible{outline:none}.settings-cache-warning{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-sm);margin-bottom:0}.settings-checkbox-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs)}.settings-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base)}.settings-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--color-primary);cursor:pointer}.settings-checkbox-helper{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;margin-left:calc(1.125rem + var(--spacing-sm))}@media (prefers-reduced-motion: reduce){.settings-header,.settings-message,.settings-page .settings-section{animation:none;opacity:1;transform:none}.settings-cache-button:active{transform:none}.settings-skeleton{animation:none}}.settings-page--error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.settings-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.settings-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.settings-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.settings-unsaved-badge{display:inline-block;margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning);background:#f59e0b26;border-radius:var(--radius-sm);vertical-align:middle}.settings-loading{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-skeleton{background:#ffffff0d;border-radius:18px;position:relative;overflow:hidden}.settings-skeleton:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}.settings-skeleton--card{height:12rem}.settings-skeleton--short{height:8rem}.settings-message{display:flex;align-items:center;gap:var(--spacing-sm)}.settings-message svg{width:1.125rem;height:1.125rem;flex-shrink:0}.settings-message--success{background:#30d1581f;border:1px solid rgba(48,209,88,.25);color:var(--color-primary)}.settings-message--info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-text)}.settings-field{display:flex;flex-direction:column}.settings-field-error{margin:var(--spacing-xs) 0 0 0;padding:0 var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-error)}.settings-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease-out}.settings-confirm-dialog{background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;padding:var(--spacing-xl);max-width:360px;width:90%;text-align:center;animation:scaleIn .2s ease-out}.settings-confirm-dialog h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.settings-confirm-dialog p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;line-height:1.5}.settings-confirm-actions{display:flex;gap:var(--spacing-md);justify-content:center}.settings-confirm-actions button{flex:1;max-width:140px;transition:background .15s,transform .15s;-webkit-tap-highlight-color:transparent}.settings-confirm-actions button:focus,.settings-confirm-actions button:focus-visible{outline:none}@media (max-width: 767px){.settings-confirm-dialog{padding:var(--spacing-lg)}.settings-confirm-actions{flex-direction:column}.settings-confirm-actions button{max-width:none}.settings-unsaved-badge{display:none}}.employees-page{background:var(--color-bg-primary);min-height:100vh;min-height:100dvh}.employees-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#0a0f1ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}@supports not (backdrop-filter: blur(12px)){.employees-header{background:#0a0f1afa}}.employees-header__title{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.employees-header__title h1{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.employees-content{padding:var(--spacing-lg);max-width:800px;margin:0 auto}@media (min-width: 1280px){.employees-content{max-width:1100px}}.employees-search{margin-bottom:var(--spacing-lg)}.search-input{width:100%;height:3rem;padding:0 var(--spacing-lg);display:flex;align-items:center;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-surface-dark);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring-primary)}.employees-page .employees-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg)}.employees-empty__icon{width:4rem;height:4rem;margin:0 auto var(--spacing-lg);color:var(--color-text-muted)}.employees-empty__icon svg{width:100%;height:100%}.employees-empty h3{font-size:var(--font-size-xl);margin:0 0 var(--spacing-sm) 0}.employees-empty p{margin:0 0 var(--spacing-lg) 0}.employees-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.employees-page .employee-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.employee-card__avatar{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);flex-shrink:0}.employee-card__info{flex:1;min-width:0}.employee-card__info h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-card__id{font-size:var(--font-size-sm);color:var(--color-primary);margin:0;font-weight:var(--font-weight-medium)}.employee-card__email{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.employee-card__status{flex-shrink:0}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.status-badge--active{background:#22c55e26;color:var(--color-success)}.status-badge--pending{background:#f59e0b26;color:var(--color-warning)}.status-badge--inactive{background:#94a3b826;color:var(--color-text-muted)}.employee-card__actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.action-btn{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-fast);border:none;cursor:pointer}.action-btn svg{width:1.125rem;height:1.125rem}.action-btn--edit{background:var(--color-surface-dark);color:var(--color-text-secondary)}.action-btn--edit:hover{background:var(--color-primary-light);color:var(--color-primary);transform:scale(1.05)}.action-btn--edit:active{transform:scale(.95)}.action-btn--delete{background:var(--color-surface-dark);color:var(--color-text-secondary)}.action-btn--delete:hover{background:#ef444426;color:var(--color-error);transform:scale(1.05)}.action-btn--delete:active{transform:scale(.95)}.employees-footer{text-align:center;padding:var(--spacing-lg) 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.employees-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--spacing-lg)}.employees-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}@media (max-width: 767px){.employee-card{flex-wrap:wrap}.employee-card__status{order:5;width:100%;margin-top:var(--spacing-sm)}.employee-card__actions{margin-left:auto}}@media (prefers-reduced-motion: reduce){.action-btn--edit:hover,.action-btn--edit:active,.action-btn--delete:hover,.action-btn--delete:active{transform:none}.employee-skeleton__avatar,.employee-skeleton__name,.employee-skeleton__id{animation:none}}.employees-page--error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.employees-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.employees-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.employees-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.employees-loading{display:flex;flex-direction:column;gap:var(--spacing-md)}.employee-skeleton{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl)}.employee-skeleton__avatar{width:3rem;height:3rem;border-radius:var(--radius-full);background:#ffffff0d;position:relative;overflow:hidden;flex-shrink:0}.employee-skeleton__avatar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}.employee-skeleton__info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.employee-skeleton__name{width:60%;height:1rem;background:#ffffff0d;border-radius:var(--radius-sm);position:relative;overflow:hidden}.employee-skeleton__name:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite .1s}.employee-skeleton__id{width:40%;height:.75rem;background:#ffffff08;border-radius:var(--radius-sm);position:relative;overflow:hidden}.employee-skeleton__id:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);animation:shimmer 1.5s infinite .2s}.employees-feedback{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);animation:slideInFeedback .3s ease-out}.employees-feedback svg{width:1.125rem;height:1.125rem;flex-shrink:0}.employees-feedback span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.employees-feedback--success{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:var(--color-primary)}.employees-feedback--error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.employees-error{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.employees-error svg{width:1.125rem;height:1.125rem;flex-shrink:0;margin-top:.125rem}.employees-empty--search .employees-empty__icon{color:var(--color-text-muted)}.employees-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.employees-confirm-dialog{background:var(--color-bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:360px;width:90%;text-align:center;animation:scaleIn .2s ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.employees-confirm-icon{width:3rem;height:3rem;margin:0 auto var(--spacing-md);color:var(--color-warning)}.employees-confirm-icon svg{width:100%;height:100%}.employees-confirm-dialog h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.employees-confirm-dialog p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;line-height:1.5}.employees-confirm-dialog strong{color:var(--color-text-primary)}.employees-confirm-actions{display:flex;gap:var(--spacing-md);justify-content:center}.employees-confirm-actions button{flex:1;max-width:140px}@media (max-width: 767px){.employees-confirm-dialog{padding:var(--spacing-lg)}.employees-confirm-actions{flex-direction:column}.employees-confirm-actions button{max-width:none}}.employee-form-page{background:var(--color-bg-primary);min-height:100vh;min-height:100dvh}.employee-form-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid rgba(255,255,255,.04)}.employee-form-header__title{display:flex;align-items:center;gap:var(--spacing-md)}.employee-form-header__title h1{font-size:var(--font-size-lg);font-weight:600;margin:0}.employee-form-content{padding:var(--spacing-lg);max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.employee-form-page .employee-form-card{padding:var(--spacing-xl)}.employee-form-card form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.form-actions button{flex:1;transition:all var(--transition-fast)}.form-actions button:active{transform:scale(.98)}.employee-form-page .employee-device-info{padding:var(--spacing-lg)}.employee-device-info h3{font-size:var(--font-size-base);margin:0 0 var(--spacing-sm) 0}.employee-device-info p{font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.device-status{padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.device-registered{color:var(--color-success)}.device-pending{color:var(--color-warning)}.employee-form-page--error{display:flex;align-items:center;justify-content:center;text-align:center}.employee-form-error-container{max-width:400px;padding:var(--spacing-xl)}.employee-form-error-icon{width:64px;height:64px;color:var(--color-error);margin-bottom:var(--spacing-lg)}.employee-form-error-container h2{font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--spacing-sm) 0}.employee-form-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.employee-form-error-actions{display:flex;gap:var(--spacing-md);justify-content:center}.employee-form-skeleton{display:flex;flex-direction:column;gap:var(--spacing-lg)}.employee-form-skeleton-back{width:40px;height:40px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:employee-form-shimmer 1.5s ease-in-out infinite}.employee-form-skeleton-title{width:150px;height:24px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);animation:employee-form-shimmer 1.5s ease-in-out infinite}.employee-form-skeleton__field{height:72px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:employee-form-shimmer 1.5s ease-in-out infinite}.employee-form-skeleton__field:nth-child(2){animation-delay:.1s}.employee-form-skeleton__field:nth-child(3){animation-delay:.2s}.employee-form-skeleton__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.employee-form-skeleton__button{flex:1;height:48px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);animation:employee-form-shimmer 1.5s ease-in-out infinite;animation-delay:.3s}@keyframes employee-form-shimmer{0%,to{opacity:.4}50%{opacity:.7}}.employee-form-unsaved{color:var(--color-warning);font-size:var(--font-size-xl);font-weight:600;margin-left:var(--spacing-xs);animation:unsaved-pulse 2s ease-in-out infinite}@keyframes unsaved-pulse{0%,to{opacity:1}50%{opacity:.5}}.form-error{padding:var(--spacing-md);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);text-align:left;display:flex;align-items:center;gap:var(--spacing-sm)}.form-error__icon{width:20px;height:20px;flex-shrink:0}@media (prefers-reduced-motion: reduce){.form-actions button:active{transform:none}.employee-form-skeleton-back,.employee-form-skeleton-title,.employee-form-skeleton__field,.employee-form-skeleton__button{animation:none;opacity:.5}.employee-form-unsaved{animation:none}@keyframes employee-form-shimmer{0%,to{opacity:.5}}}.kiosk-page{min-height:100vh;min-height:100dvh;background:var(--color-bg-primary);display:flex;flex-direction:column}.kiosk-page--error{align-items:center;justify-content:center}.kiosk-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.kiosk-error-container h2{font-size:var(--font-size-3xl);color:var(--color-error);margin:var(--spacing-xl) 0 var(--spacing-md) 0}.kiosk-error-container p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.kiosk-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}.kiosk-header__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.kiosk-header__org{font-size:17px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kiosk-back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-primary);transition:background .15s;cursor:pointer;padding:0;flex-shrink:0}.kiosk-back-btn:hover{background:#30d15814}.kiosk-back-btn:active{transform:scale(.96)}.kiosk-back-btn:focus,.kiosk-back-btn:focus-visible{outline:none}.kiosk-back-btn svg{width:20px;height:20px}.kiosk-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);padding-top:calc(52px + var(--spacing-xl))}.kiosk-qr-section{display:flex;flex-direction:column;align-items:center;gap:16px}.kiosk-qr-container{border-radius:8px;overflow:hidden}.kiosk-timer-bar{width:320px;height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.kiosk-timer-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width 1s linear}.kiosk-countdown{font-size:13px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.kiosk-qr-instruction{font-size:15px;color:var(--color-text-muted);text-align:center;max-width:400px}.kiosk-debug{margin-top:var(--spacing-md);padding:var(--spacing-sm);background:#0000004d;border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.kiosk-offline-badge{position:fixed;top:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-full);color:#fbbf24;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);z-index:var(--z-sticky);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeInDown .3s ease-out}.kiosk-offline-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;animation:pulse-dot 2s ease-in-out infinite}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.kiosk-loading,.kiosk-error,.kiosk-clock-warning{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.kiosk-loading .spinner{margin-bottom:var(--spacing-lg)}.kiosk-loading p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.kiosk-error,.kiosk-clock-warning{background:#ff453a14;border:1px solid rgba(255,69,58,.2);border-radius:18px;margin:var(--spacing-xl)}.kiosk-error h2,.kiosk-clock-warning h2{color:var(--color-error);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.kiosk-error p,.kiosk-clock-warning p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:var(--line-height-relaxed)}.kiosk-error button,.kiosk-clock-warning button{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.kiosk-error button:hover,.kiosk-clock-warning button:hover{background:var(--color-primary-hover)}.kiosk-error button:active,.kiosk-clock-warning button:active{transform:scale(.98)}@media (max-width: 767px){.kiosk-header{padding:10px 16px}.kiosk-header__org{font-size:15px}.kiosk-timer-bar{width:280px}}.employee-entry-page{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:radial-gradient(ellipse at top,var(--color-bg-secondary) 0%,var(--color-bg-primary) 70%);min-height:100vh;min-height:100dvh;contain:layout style}.employee-entry-page--error{background:radial-gradient(ellipse at top,var(--color-bg-accent) 0%,var(--color-bg-primary) 70%)}.entry-container{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--spacing-xl)}.entry-header{text-align:center;will-change:transform,opacity}.entry-header .logo{gap:var(--spacing-sm)}.entry-header h1{font-size:26px;font-weight:600;margin:var(--spacing-md) 0 var(--spacing-xs) 0;color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.entry-header p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0;line-height:var(--line-height-relaxed)}.employee-entry-page .entry-card{position:relative;padding:var(--spacing-xl);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;will-change:transform,opacity}.entry-card form,.entry-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.employee-entry-page .input-field{background:var(--glass-bg-light);border:2px solid transparent;border-radius:var(--radius-2xl);transition:border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal)}.employee-entry-page .input-field:hover{border-color:#ffffff26;background:var(--glass-bg-light-hover)}.employee-entry-page .input-field:focus{border-color:var(--color-primary);background:var(--glass-bg-light-hover);box-shadow:var(--focus-ring-primary);outline:none}.employee-entry-page .entry-form .btn--primary{background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:all var(--transition-normal);border:none;cursor:pointer}.employee-entry-page .entry-form .btn--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.02)}.employee-entry-page .entry-form .btn--primary:active:not(:disabled){transform:scale(.98)}.employee-entry-page .entry-form .btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.entry-help{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;will-change:transform,opacity}.entry-help a{color:var(--color-primary);font-weight:var(--font-weight-bold);text-decoration:none;border-bottom:1px solid var(--color-primary-glow);padding-bottom:.125rem;transition:all var(--transition-normal)}.entry-help a:hover{color:var(--color-primary-hover);border-bottom-color:var(--color-primary-glow)}.status-message__icon{width:1.1em;height:1.1em;flex-shrink:0;vertical-align:middle}.entry-header{animation:fadeInSlideDown .5s ease-out}.employee-entry-page .entry-card{animation:fadeInZoom .5s ease-out}.entry-help{animation:fadeInSlideUp .8s ease-out .2s both}.skeleton--logo{width:4rem;height:4rem;border-radius:50%;margin:0 auto var(--spacing-lg)}.skeleton--title{width:70%;height:2rem;margin:0 auto var(--spacing-sm)}.skeleton--subtitle{width:50%;height:1.25rem;margin:0 auto}.skeleton--input{width:100%;height:3.5rem;border-radius:var(--radius-2xl);margin-bottom:var(--spacing-lg)}.entry-error-message{text-align:center;padding:var(--spacing-xl)}.entry-error-message h2{font-size:var(--font-size-xl);color:var(--color-error);margin:0 0 var(--spacing-md) 0}.entry-error-message p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}@media (max-width: 767px){.employee-entry-page{padding:var(--spacing-md)}.entry-container{gap:var(--spacing-lg)}.employee-entry-page .entry-card{padding:var(--spacing-lg);border-radius:18px}.entry-header h1{font-size:22px}.entry-header,.employee-entry-page .entry-card,.entry-help{animation:none;opacity:1;transform:none;will-change:auto}}@media (prefers-reduced-motion: reduce){.entry-header,.employee-entry-page .entry-card,.entry-help{animation:none;opacity:1;transform:none;will-change:auto}.skeleton{animation:none;background:#ffffff14}}.entry-footer{text-align:center;margin-top:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);animation:fadeInSlideUp .5s ease-out .3s backwards}.entry-footer-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.entry-footer-switch{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);transition:all .2s ease;text-decoration:underline;text-underline-offset:4px}.entry-footer-switch:hover{color:var(--color-primary-hover);background:#ffffff0d}@media (max-width: 767px){.entry-footer{animation:none;opacity:1}}@media (prefers-reduced-motion: reduce){.entry-footer{animation:none;opacity:1}}.employee-setup-page{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);background:radial-gradient(ellipse at top,var(--color-bg-secondary) 0%,var(--color-bg-primary) 70%);min-height:100vh;min-height:100dvh}.employee-setup-page--error{flex-direction:column}.setup-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.setup-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.setup-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.setup-incognito-warning{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.setup-incognito-warning svg{flex-shrink:0;width:1.5rem;height:1.5rem;color:var(--color-warning)}.setup-incognito-content{flex:1}.setup-incognito-content strong{display:block;color:var(--color-warning);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.setup-incognito-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0}.setup-incognito-content ol{margin:0;padding-left:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.setup-incognito-content li{margin-bottom:var(--spacing-xs)}.setup-container{width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--spacing-xl)}.setup-header{text-align:center}.setup-header h1{font-size:24px;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-sm) 0;color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.setup-header p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0;line-height:var(--line-height-relaxed)}.employee-setup-page .setup-card{position:relative;padding:var(--spacing-xl);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;will-change:transform,opacity}.setup-card form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.setup-info{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ffffff08;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.setup-info svg{width:1.25em;height:1.25em;flex-shrink:0;color:var(--color-primary)}.employee-setup-page .setup-card .btn--primary{background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:all var(--transition-normal);border:none;cursor:pointer}.employee-setup-page .setup-card .btn--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.02)}.employee-setup-page .setup-card .btn--primary:active:not(:disabled){transform:scale(.98)}.employee-setup-page .setup-card .btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.setup-footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.setup-footer button{color:var(--color-primary);background:none;border:none;cursor:pointer;font-weight:var(--font-weight-bold);text-decoration:none;border-bottom:1px solid var(--color-primary-glow);padding-bottom:.125rem;transition:color var(--transition-normal),border-bottom-color var(--transition-normal)}.setup-footer button:hover{color:var(--color-primary-hover);border-bottom-color:var(--color-primary-glow)}.setup-warning{padding:var(--spacing-md);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.setup-warning p{margin:0;color:var(--color-warning)}.status-message--spaced{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.recovery-actions{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.recovery-hint{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.setup-success{text-align:center;width:100%;max-width:420px}.success-icon{width:5rem;height:5rem;margin:0 auto var(--spacing-xl);display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border:1px solid var(--color-primary-glow);border-radius:50%;color:var(--color-primary);animation:successPop .6s ease-out}.success-icon svg{width:3rem;height:3rem}.setup-success h1{font-size:24px;font-weight:600;color:var(--color-primary);margin:0 0 var(--spacing-md) 0;letter-spacing:-.02em}.setup-success p{color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;line-height:var(--line-height-relaxed)}.setup-success .btn--primary{background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:all var(--transition-normal)}.setup-success .btn--primary:hover{background:var(--color-primary-hover);transform:scale(1.02)}.setup-success .btn--primary:active{transform:scale(.98)}.setup-header{animation:fadeInSlideDown .5s ease-out}.employee-setup-page .setup-card{animation:fadeInZoom .5s ease-out}.setup-footer{animation:fadeInSlideUp .8s ease-out .2s both}@keyframes successPop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media (max-width: 767px){.employee-setup-page{padding:var(--spacing-md)}.setup-container{gap:var(--spacing-lg)}.employee-setup-page .setup-card{padding:var(--spacing-lg);border-radius:18px}.setup-header h1,.setup-success h1{font-size:22px}.setup-header,.employee-setup-page .setup-card,.setup-footer,.success-icon{animation:none;opacity:1;transform:none;will-change:auto}}@media (prefers-reduced-motion: reduce){.setup-header,.employee-setup-page .setup-card,.setup-footer,.success-icon{animation:none;opacity:1;transform:none;will-change:auto}.employee-setup-page .setup-card .btn--primary:hover:not(:disabled),.employee-setup-page .setup-card .btn--primary:active:not(:disabled),.setup-success .btn--primary:hover,.setup-success .btn--primary:active{transform:none}}.employee-scan-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--color-bg-primary);position:relative;width:100%;max-width:100%;margin:0;overflow-x:hidden}@media (min-width: 768px){.employee-scan-page{max-width:480px;margin:0 auto;border-left:1px solid rgba(255,255,255,.04);border-right:1px solid rgba(255,255,255,.04)}}.employee-scan-page--loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.employee-scan-page--error{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,var(--color-bg-secondary) 0%,var(--color-bg-primary) 70%)}.scan-error-container{text-align:center;padding:var(--spacing-2xl);max-width:320px}.scan-error-container h2{font-size:var(--font-size-xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.scan-error-container p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.scan-page-bg-accent{position:absolute;top:0;left:0;width:100%;height:16rem;background:linear-gradient(to bottom,rgba(48,209,88,.06),transparent);pointer-events:none;z-index:0}.scan-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);background:var(--color-bg-secondary);border-bottom:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);width:100%;will-change:transform,opacity;animation:fadeInSlideDown .4s ease-out}.scan-header__left{display:flex;align-items:center;gap:var(--spacing-sm)}.scan-header__logo{display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-sm)}.scan-header__avatar{display:none}.scan-header__info{display:flex;flex-direction:column}.scan-header__name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);line-height:var(--line-height-tight);margin:0;letter-spacing:-.02em}.scan-header__details{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin:var(--spacing-xs) 0 0 0}.scan-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg) 6rem;padding-top:calc(80px + var(--spacing-md));position:relative;z-index:10;overflow-y:auto}.scan-status-chip-wrapper{display:flex;justify-content:center}.scan-status-chip{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:10px;border:1px solid;font-size:var(--font-size-micro);font-weight:600;text-transform:uppercase;letter-spacing:.1em}.scan-status-chip--in{background:var(--color-primary-light);border-color:var(--color-primary-glow);color:var(--color-primary)}.scan-status-chip--out{background:var(--color-secondary-status-light);border-color:var(--color-secondary-status-glow);color:var(--color-secondary-status)}.scan-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.scan-status-dot--active{animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.scan-error{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.scan-error svg{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.125rem}.scan-error-content{flex:1}.scan-error-content p{margin:0}.scan-error-content p.has-retry{margin-bottom:var(--spacing-sm)}.scan-retry-button{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);color:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.scan-retry-button:hover:not(:disabled){background:#ffffff0f;border-color:#ffffff1a}.scan-retry-button:disabled{cursor:not-allowed;opacity:.6}.scan-totp-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.scan-totp-banner-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:var(--color-secondary-status)}.scan-totp-banner-icon svg{width:100%;height:100%}.scan-totp-banner-content{flex:1}.scan-totp-banner-message{font-size:var(--font-size-sm);font-weight:600;color:var(--color-secondary-status);margin:0;line-height:var(--line-height-normal)}.scan-loading-banner{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md)}.scan-loading-spinner{width:1rem;height:1rem;border:2px solid rgba(59,130,246,.3);border-top-color:var(--color-secondary-status);border-radius:50%;animation:scan-loading-spin .8s linear infinite}@keyframes scan-loading-spin{to{transform:rotate(360deg)}}.scan-loading-message{font-size:var(--font-size-sm);font-weight:600;color:var(--color-secondary-status);margin:0}.scan-verification-card{position:relative;padding:var(--spacing-xl);text-align:center;background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;overflow:hidden;will-change:transform,opacity;animation:fadeInZoom .5s ease-out .1s both}.scan-verification-content{position:relative;z-index:1;margin-bottom:var(--spacing-xl)}.scan-verification-time{font-size:26px;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums;text-align:center;margin:0}.scan-processing-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:1000;color:#fff}.scan-processing-spinner{width:3rem;height:3rem;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.scan-processing-overlay p{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.scan-punch-buttons{display:flex;gap:var(--spacing-md);width:100%;margin-top:var(--spacing-lg);position:relative;z-index:1}.scan-punch-button{flex:1;padding:var(--spacing-lg);border-radius:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:15px;transition:all var(--transition-normal);box-shadow:none;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:none;cursor:pointer;position:relative;will-change:transform}.scan-punch-button:hover:not(:disabled){transform:scale(1.02)}.scan-punch-button:focus,.scan-punch-button:focus-visible{outline:none}.scan-punch-button:active:not(:disabled){transform:scale(.98)}.scan-punch-button:disabled,.scan-punch-button--disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.scan-punch-button--disabled:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000026;border-radius:inherit;pointer-events:none}.scan-punch-button--in{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:none;border:none}.scan-punch-button--in:hover:not(:disabled){background:var(--color-primary-hover)}.scan-punch-button--out{background:var(--color-secondary-status);color:#fff;box-shadow:none;border:none}.scan-punch-button--out:hover:not(:disabled){background:#2563eb}.scan-punch-button--processing{opacity:.7}.scan-punch-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.scan-punch-text{font-size:inherit;font-weight:inherit}.scan-punch-buttons--vertical{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.scan-punch-button--hero{flex:none;width:100%;padding:var(--spacing-xl) var(--spacing-lg);font-size:18px;border-radius:16px;font-weight:700}.scan-punch-button--secondary{flex:none;width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:14px;border-radius:12px;background:transparent;border:1.5px solid var(--color-border);color:var(--color-text-secondary);font-weight:600}.scan-punch-button--secondary:hover:not(:disabled){background:var(--color-surface-secondary)}.scan-punch-button--secondary.scan-punch-button--in{border-color:var(--color-primary);color:var(--color-primary);background:transparent}.scan-punch-button--secondary.scan-punch-button--in:hover:not(:disabled){background:#34c75914}.scan-punch-button--secondary.scan-punch-button--out{border-color:var(--color-secondary-status);color:var(--color-secondary-status);background:transparent}.scan-punch-button--secondary.scan-punch-button--out:hover:not(:disabled){background:#3b82f614}.scan-punch-separator{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:lowercase;letter-spacing:.05em;padding:2px 0}.scan-punch-spinner{width:1.25rem;height:1.25rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.scan-verification-badges{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-2xl);color:var(--color-text-muted);position:relative;z-index:1}.scan-badge-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.scan-badge-item svg{width:1rem;height:1rem;color:var(--color-primary)}.scan-badge-item span{font-size:var(--font-size-3xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em}.scan-badge-divider{width:1px;height:1.5rem;background:#ffffff0f}.scan-activity-section{position:relative;margin-top:var(--spacing-md);will-change:transform,opacity;animation:fadeInSlideUp .5s ease-out .2s both}.scan-activity-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(transparent,var(--color-bg-primary));pointer-events:none;z-index:1;border-radius:0 0 18px 18px}.scan-activity-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-sm);margin-bottom:var(--spacing-md)}.scan-activity-header__left{display:flex;align-items:center;gap:8px}.scan-activity-title{font-size:var(--font-size-2xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.2em;margin:0}.scan-activity-header__right{display:flex;align-items:center;gap:8px}.scan-activity-date-range{font-size:11px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.scan-activity-count{font-size:11px;font-weight:600;padding:2px 10px;border-radius:12px;font-variant-numeric:tabular-nums;background:var(--color-bg-secondary);color:var(--color-text-muted)}.scan-activity-filters{display:flex;gap:2px;background:transparent;padding:0;border-radius:10px;margin-bottom:8px;flex-shrink:0}.scan-activity-filter-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:7px 4px;border-radius:8px;border:none;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;text-align:center}.scan-activity-filter-btn:hover{color:var(--color-text-primary);background:#ffffff0d}.scan-activity-filter-btn--active{background:var(--color-primary);color:var(--color-text-inverse);font-weight:600}.scan-activity-filter-btn--active:hover{background:var(--color-primary);color:var(--color-text-inverse)}.scan-activity-list{position:relative;background:var(--color-bg-tertiary);border-radius:18px;border:1px solid rgba(255,255,255,.04);max-height:50dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;padding:0 var(--spacing-lg)}.scan-activity-list::-webkit-scrollbar{width:4px}.scan-activity-list::-webkit-scrollbar-track{background:transparent}.scan-activity-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.scan-activity-empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.scan-activity-empty svg{width:2rem;height:2rem;margin:0 auto var(--spacing-md);opacity:.5}.scan-activity-empty p{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin:0 0 var(--spacing-xs) 0}.scan-activity-empty span{font-size:var(--font-size-3xs);color:var(--color-text-muted)}.scan-activity-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:.5px solid rgba(255,255,255,.04);flex-shrink:0}.scan-activity-item:last-child{border-bottom:none}.scan-activity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.scan-activity-item--in .scan-activity-dot{background:var(--color-primary)}.scan-activity-item--out .scan-activity-dot{background:var(--color-text-muted)}.scan-activity-name{font-size:15px;font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.scan-activity-date-prefix{color:var(--color-text-muted);font-weight:400}.scan-activity-type-badge{font-size:11px;font-weight:600;flex-shrink:0}.scan-activity-type-badge--in{color:var(--color-primary)}.scan-activity-type-badge--out{color:var(--color-text-muted)}.scan-activity-late{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;background:#ff9f0a1f;color:var(--color-warning);flex-shrink:0}.scan-activity-time-text{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.scan-footer{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;border-top:1px solid rgba(255,255,255,.04);position:relative;z-index:10}.scan-footer-button{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;padding:var(--spacing-sm);border-bottom:1px solid transparent;transition:color var(--transition-fast),border-bottom-color var(--transition-fast)}.scan-footer-button:hover{color:var(--color-primary);border-bottom-color:var(--color-primary-glow)}.scan-footer-encryption{font-size:var(--font-size-3xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4em;margin:var(--spacing-md) 0 0 0}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInZoom{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.scan-header,.scan-verification-card,.scan-activity-section,.scan-status-dot--active,.scan-processing-spinner,.scan-punch-spinner{animation:none;opacity:1;transform:none;will-change:auto}.scan-punch-button:hover:not(:disabled),.scan-punch-button:active:not(:disabled){transform:none}}@media (max-width: 480px){.scan-header{padding:var(--spacing-xl) var(--spacing-md) var(--spacing-md)}.scan-content{padding:var(--spacing-md) var(--spacing-md) 5rem;padding-top:calc(80px + var(--spacing-md))}.scan-verification-card{padding:var(--spacing-lg);border-radius:18px}.scan-punch-button{padding:var(--spacing-md);font-size:var(--font-size-xs)}.scan-punch-button--hero{padding:var(--spacing-lg) var(--spacing-md);font-size:16px}.scan-punch-button--secondary{padding:var(--spacing-sm) var(--spacing-md);font-size:13px}.scan-footer{padding:var(--spacing-lg) var(--spacing-md)}.scan-header,.scan-verification-card,.scan-activity-section{animation:none;opacity:1;transform:none;will-change:auto}}.confirm-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:100vh;min-height:100dvh;width:100%;margin:0;overflow:auto;transition:background .3s ease;box-sizing:border-box}.confirm-page--loading{background:linear-gradient(135deg,var(--color-bg-deep) 0%,var(--color-bg-secondary) 50%,var(--color-bg-accent) 100%)}.confirm-page--error{background:linear-gradient(135deg,rgba(255,69,58,.05) 0%,var(--color-bg-secondary) 50%,var(--color-bg-secondary) 100%)}.confirm-page--in{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(48,209,88,.12) 0%,var(--color-bg-primary) 70%)}.confirm-page--out{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(59,130,246,.12) 0%,var(--color-bg-primary) 70%)}.confirm-content{text-align:center;width:100%;max-width:400px;position:relative;background:var(--color-bg-tertiary);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.04);border-radius:18px;box-shadow:none;contain:layout style paint;content-visibility:auto}.confirm-icon{width:6rem;height:6rem;margin:0 auto var(--spacing-xl);display:flex;align-items:center;justify-content:center;border-radius:50%;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275);will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.confirm-page--in .confirm-icon{color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-primary-glow);box-shadow:none}.confirm-page--out .confirm-icon{color:var(--color-secondary-status);background:var(--color-secondary-status-light);border:1px solid var(--color-secondary-status-glow);box-shadow:none}.confirm-icon svg{width:3.5rem;height:3.5rem}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.confirm-status{font-size:26px;font-weight:600;margin:0 0 var(--spacing-md) 0;letter-spacing:-.02em;animation:fadeInUp .5s ease-out .2s both;will-change:transform,opacity}.confirm-page--in .confirm-status{color:var(--color-primary)}.confirm-page--out .confirm-status{color:var(--color-secondary-status)}.confirm-time{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;font-family:var(--font-family);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);animation:fadeInUp .5s ease-out .3s both;will-change:transform,opacity}.confirm-name{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0;animation:fadeInUp .5s ease-out .4s both;will-change:transform,opacity}.confirm-late-banner{display:flex;align-items:center;gap:var(--spacing-sm, .5rem);background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-md, 8px);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);margin-bottom:var(--spacing-lg, 1.5rem);animation:fadeInUp .5s ease-out .45s both;will-change:transform,opacity}.confirm-late-banner__icon{width:1.5rem;height:1.5rem;color:var(--color-warning);flex-shrink:0}.confirm-late-banner__text{font-size:var(--font-size-sm, .875rem);color:var(--color-warning)}.confirm-late-banner__text strong{color:var(--color-warning);font-weight:var(--font-weight-bold, 700)}.confirm-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);animation:fadeInUp .5s ease-out .5s both;will-change:transform,opacity}.confirm-badge{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:10px;font-size:var(--font-size-xs);font-weight:500}.confirm-badge svg{width:1.15em;height:1.15em;flex-shrink:0}.confirm-badge--verified{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-glow)}.confirm-badge--warning{background:#f59e0b1f;color:var(--color-warning);border:1px solid rgba(245,158,11,.25)}.confirm-badge--muted{background:#94a3b814;color:var(--color-text-muted);border:1px solid rgba(148,163,184,.15)}.confirm-page--in .btn--primary{background:var(--color-primary);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:all var(--transition-normal);border:none}.confirm-page--in .btn--primary:hover{background:var(--color-primary-hover);transform:scale(1.02)}.confirm-page--in .btn--primary:active{transform:scale(.98)}.confirm-page--out .btn--primary{background:var(--color-secondary-status);color:var(--color-text-inverse);font-weight:500;font-size:15px;border-radius:12px;box-shadow:none;transition:all var(--transition-normal);border:none}.confirm-page--out .btn--primary:hover{background:#2563eb;transform:scale(1.02)}.confirm-page--out .btn--primary:active{transform:scale(.98)}.confirm-auto-close{margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);animation:fadeInUp .5s ease-out .6s both;will-change:transform,opacity;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);background:transparent;border:none;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background var(--transition-fast);width:100%}.confirm-auto-close:hover{background:#ffffff0d}.confirm-auto-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-auto-close__text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.confirm-countdown-progress{width:100%;max-width:200px;height:4px;border-radius:var(--radius-full);background:#ffffff1a;overflow:hidden;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none}.confirm-countdown-progress::-webkit-progress-bar{background:#ffffff1a;border-radius:var(--radius-full)}.confirm-page--in .confirm-countdown-progress::-webkit-progress-value{background-color:var(--color-primary);border-radius:var(--radius-full);transition:width 1s linear}.confirm-page--in .confirm-countdown-progress::-moz-progress-bar{background-color:var(--color-primary);border-radius:var(--radius-full)}.confirm-page--out .confirm-countdown-progress::-webkit-progress-value{background-color:var(--color-secondary-status);border-radius:var(--radius-full);transition:width 1s linear}.confirm-page--out .confirm-countdown-progress::-moz-progress-bar{background-color:var(--color-secondary-status);border-radius:var(--radius-full)}.skeleton{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton--icon{width:6rem;height:6rem;border-radius:50%;margin:0 auto var(--spacing-xl)}.skeleton--title{width:60%;height:2rem;margin:0 auto var(--spacing-md)}.skeleton--time{width:50%;height:2.5rem;margin:0 auto var(--spacing-sm)}.skeleton--name{width:40%;height:1.25rem;margin:0 auto var(--spacing-xl)}.skeleton--badges{width:80%;height:2rem;margin:0 auto var(--spacing-xl)}.skeleton--button{width:100%;height:3rem;border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.confirm-error-message{text-align:center;padding:var(--spacing-xl)}.confirm-error-message h2{font-size:var(--font-size-xl);color:var(--color-error);margin:0 0 var(--spacing-md) 0}.confirm-error-message p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.confirm-page{padding:var(--spacing-md)}.confirm-content{padding:var(--spacing-lg);border-radius:18px}.confirm-icon{width:5rem;height:5rem}.confirm-icon svg{width:3rem;height:3rem}.confirm-time{font-size:var(--font-size-3xl)}.confirm-status{font-size:22px}.confirm-badges{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.skeleton--icon{width:5rem;height:5rem}.confirm-countdown-progress{max-width:150px}}@media (prefers-reduced-motion: reduce){.confirm-icon,.confirm-status,.confirm-time,.confirm-name,.confirm-late-banner,.confirm-badges,.confirm-auto-close{animation:none;opacity:1;transform:none;will-change:auto}.skeleton{animation:none;background:#ffffff14}.confirm-page--in .btn--primary:hover,.confirm-page--in .btn--primary:active,.confirm-page--out .btn--primary:hover,.confirm-page--out .btn--primary:active{transform:none}}.reports-page{width:100%;background:var(--color-bg-primary);min-height:100vh;min-height:100dvh}.reports-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0a0f1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(148,163,184,.15)}@supports not (backdrop-filter: blur(12px)){.reports-header{background:#0a0f1afa}}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reports-header__left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.reports-header__title{display:flex;flex-direction:column}.reports-header__title h1{font-size:17px;font-weight:600;color:var(--color-text-primary);margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-header__back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;color:var(--color-primary);transition:background .15s;cursor:pointer;padding:0;flex-shrink:0}.reports-header__back:hover{background:#30d15814}.reports-header__back:active{transform:scale(.96)}.reports-header__back:focus,.reports-header__back:focus-visible{outline:none}.reports-header__back svg{width:20px;height:20px}.reports-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);padding-bottom:var(--spacing-xl);position:relative;z-index:1;max-width:800px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 767px){.reports-header{padding:10px 16px}.reports-header__title h1{font-size:15px}.reports-content{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}.reports-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;animation:fadeInSlideUp .4s ease-out .1s both}.reports-date-button,.reports-export-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-md);background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,transform .15s;gap:var(--spacing-xs);-webkit-tap-highlight-color:transparent}.reports-date-button:hover{background:#1e293bcc}.reports-date-button:active{transform:scale(.98)}.reports-export-button{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.reports-export-button:hover:not(:disabled){background:var(--color-primary-hover)}.reports-export-button:active:not(:disabled){transform:scale(.98)}.reports-export-button:disabled{opacity:.7;cursor:not-allowed}.reports-date-button:focus,.reports-date-button:focus-visible,.reports-export-button:focus,.reports-export-button:focus-visible{outline:none}.reports-date-icon,.reports-export-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.reports-date-label,.reports-export-label{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;line-height:1.2;text-align:center}.reports-history-section{animation:fadeInSlideUp .5s ease-out .2s both;flex:1;display:flex;flex-direction:column}.reports-history-title{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.2em;margin:0 0 var(--spacing-md) var(--spacing-sm)}.reports-page .reports-history-card{background:var(--color-bg-tertiary);border:1px solid rgba(255,255,255,.04);border-radius:18px;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;padding:0;box-shadow:none;flex:1;display:flex;flex-direction:column;min-height:28rem}.reports-history-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.reports-history-empty svg{width:2rem;height:2rem;margin:0 auto var(--spacing-md);opacity:.5;color:var(--color-primary)}.reports-history-empty p{font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.2em;margin:0 0 var(--spacing-xs) 0}.reports-history-empty span{font-size:var(--font-size-3xs);color:var(--color-text-muted);display:block}.reports-history-list{display:flex;flex-direction:column;flex:1}.reports-history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--glass-border);transition:background var(--transition-fast);background:transparent}.reports-history-item:last-child{border-bottom:none}.reports-history-item:hover{background:var(--color-bg-tertiary)}.reports-history-item-left{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.reports-history-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);color:var(--color-primary);flex-shrink:0}.reports-history-icon svg{width:1rem;height:1rem}.reports-history-details{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;flex:1}.reports-history-filename{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2;word-break:break-word}.reports-history-meta{font-size:var(--font-size-3xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.reports-history-item-right{text-align:right;flex-shrink:0;margin-left:var(--spacing-md)}.reports-history-date{font-size:var(--font-size-2xs);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;line-height:1.2;font-variant-numeric:tabular-nums}.reports-history-time{font-size:var(--font-size-3xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-variant-numeric:tabular-nums}.reports-history-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--glass-border);margin-top:auto}.reports-history-pagination__arrow{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:0}.reports-history-pagination__arrow:hover:not(:disabled){background:#ffffff0f;color:var(--color-primary);border-color:#30d1584d}.reports-history-pagination__arrow:disabled{opacity:.3;cursor:not-allowed}.reports-history-pagination__arrow svg{width:.875rem;height:.875rem}.reports-history-pagination__page{min-width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;cursor:pointer;transition:all var(--transition-fast);padding:0}.reports-history-pagination__page:hover{background:var(--glass-bg-light-hover);color:var(--color-text-primary)}.reports-history-pagination__page--active{color:var(--color-primary)}.reports-range-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.reports-range-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0f1ae6;backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light)}.reports-range-modal-content{position:relative;width:100%;max-width:24rem;background:var(--color-bg-tertiary);border-radius:18px;border:1px solid rgba(255,255,255,.04);padding:var(--spacing-xl);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.reports-range-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.reports-range-modal-title{font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.2em;margin:0}.reports-range-modal-close{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--glass-bg-light);border:none;border-radius:50%;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.reports-range-modal-close:hover{background:var(--glass-bg-light-hover);color:var(--color-text-primary)}.reports-range-modal-close:active{transform:scale(.95)}.reports-range-modal-close svg{width:1rem;height:1rem}.reports-range-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.reports-range-button{padding:.75rem;border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:var(--glass-bg-light);color:var(--color-text-muted);font-size:var(--font-size-micro);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all var(--transition-fast)}.reports-range-button:hover{background:var(--glass-bg-light-hover)}.reports-range-button:active{transform:scale(.98)}.reports-range-button--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.reports-range-button:focus,.reports-range-button:focus-visible{outline:none}.reports-range-button--active:hover{background:var(--color-primary);color:var(--color-text-inverse)}.reports-custom-range{background:var(--color-bg-primary);border-radius:var(--radius-2xl);padding:var(--spacing-lg);border:1px solid var(--glass-border);position:relative}.reports-custom-range-field{margin-bottom:var(--spacing-lg)}.reports-custom-range-field:last-of-type{margin-bottom:0}.reports-custom-range-label{display:block;font-size:var(--font-size-3xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-xs);padding-left:var(--spacing-xs)}.reports-custom-range-input{width:100%;padding:.75rem var(--spacing-md);background:var(--glass-bg-light);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-xs);font-family:var(--font-family);outline:none;transition:border-color var(--transition-fast)}.reports-custom-range-input:focus{border-color:var(--color-primary)}.reports-custom-range-connector{display:flex;justify-content:center;align-items:center;margin:var(--spacing-sm) 0;color:#30d15866}.reports-custom-range-connector svg{width:1rem;height:1rem}.reports-custom-range-apply{width:100%;margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-lg);border:none;background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all var(--transition-fast)}.reports-custom-range-apply:hover{background:var(--color-primary-hover)}.reports-custom-range-apply:active{transform:scale(.98)}@media (max-width: 767px){.reports-content{padding:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.reports-header,.reports-actions,.reports-history-section,.reports-range-modal-content{animation:none;opacity:1;transform:none}.reports-date-button:active,.reports-export-button:hover:not(:disabled),.reports-export-button:active:not(:disabled),.reports-range-modal-close:active,.reports-range-button:active,.reports-custom-range-apply:active{transform:none}.reports-loading-skeleton,.reports-export-spinner{animation:none}}.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}.reports-page--error{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.reports-error-container{text-align:center;padding:var(--spacing-2xl);max-width:400px}.reports-error-container h2{font-size:var(--font-size-2xl);color:var(--color-error);margin:var(--spacing-lg) 0 var(--spacing-md) 0}.reports-error-container p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.reports-error{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:#ff453a14;border:1px solid rgba(255,69,58,.2);border-radius:18px;margin-bottom:var(--spacing-lg)}.reports-error svg{width:1.25rem;height:1.25rem;color:var(--color-error);flex-shrink:0;margin-top:.125rem}.reports-error-content{flex:1}.reports-error-content p{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-error);font-weight:var(--font-weight-medium)}.reports-error-content button{background:transparent;border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.reports-error-content button:hover{background:#ff453a1a}.reports-feedback{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);animation:slideInFeedback .3s ease-out}@keyframes slideInFeedback{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reports-feedback svg{width:1.125rem;height:1.125rem;flex-shrink:0}.reports-feedback span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.reports-feedback--success{background:#30d1581f;border:1px solid rgba(48,209,88,.25);color:var(--color-primary)}.reports-feedback--error{background:#ff453a14;border:1px solid rgba(255,69,58,.2);color:var(--color-error)}.reports-loading{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.reports-loading-skeleton{height:4rem;background:#ffffff0d;border-radius:var(--radius-lg);position:relative;overflow:hidden}.reports-loading-skeleton:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.reports-loading-skeleton--short{width:60%}.reports-export-spinner{width:1.125rem;height:1.125rem;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reports-date-error{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ff453a14;border:1px solid rgba(255,69,58,.2);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-error);text-align:center}@media (max-width: 767px){.reports-feedback{padding:var(--spacing-sm) var(--spacing-md)}.reports-feedback span{font-size:var(--font-size-xs)}}:root{--color-bg-primary: #0a0f1a;--color-bg-secondary: #0f172a;--color-bg-tertiary: #1e293b;--color-bg-deep: #0a1628;--color-bg-accent: #1a1a2e;--color-bg-card: rgba(30, 41, 59, .7);--color-bg-card-hover: rgba(30, 41, 59, .9);--color-primary: #30D158;--color-primary-hover: #28C04C;--color-primary-light: rgba(48, 209, 88, .12);--color-primary-glow: rgba(48, 209, 88, .3);--color-text-primary: #ffffff;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #0a1628;--color-surface-light: #ffffff;--color-surface-light-hover: #f1f5f9;--color-surface-dark: #1e293b;--color-surface-dark-hover: #334155;--color-border: rgba(148, 163, 184, .2);--color-border-focus: var(--color-primary);--color-error: #FF453A;--color-success: #22c55e;--color-warning: #f59e0b;--color-secondary-status: #3b82f6;--color-secondary-status-light: rgba(59, 130, 246, .2);--color-secondary-status-glow: rgba(59, 130, 246, .4);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;--font-size-3xs: .5rem;--font-size-micro: .5625rem;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .25);--shadow-glow: 0 0 20px var(--color-primary-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--layout-header-height-mobile: 64px;--layout-header-height-desktop: 80px;--header-height-mobile: var(--layout-header-height-mobile);--header-height-desktop: var(--layout-header-height-desktop);--layout-error-slot-height: 0px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-overlay: 1000;--glass-bg: rgba(22, 27, 38, .4);--glass-bg-hover: rgba(22, 27, 38, .5);--glass-bg-light: rgba(255, 255, 255, .03);--glass-bg-light-hover: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-border-top: rgba(255, 255, 255, .06);--glass-border-focus: rgba(48, 209, 88, .4);--glass-blur: blur(24px) saturate(180%);--glass-blur-light: blur(12px) saturate(150%);--glow-primary: rgba(16, 185, 129, .1);--glow-blur: 60px;--focus-ring-primary: 0 0 0 4px rgba(48, 209, 88, .1);--focus-ring-error: 0 0 0 3px rgba(255, 69, 58, .1);--shadow-card: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2);--shadow-button-glow: 0 10px 15px -3px rgba(16, 185, 129, .25);--shadow-button-glow-hover: 0 12px 20px -4px rgba(16, 185, 129, .35);--content-width-narrow: 420px;--content-width-medium: 500px;--content-width-wide: 800px;--radius-card: 2.5rem;--radius-button-pill: 1.5rem;--color-info-text: #93c5fd;--color-info-bg: rgba(59, 130, 246, .1);--color-info-border: rgba(59, 130, 246, .2);--color-label-accent: rgba(48, 209, 88, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;color-scheme:dark}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.app{flex:1;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}p{color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}button:active:not(:disabled),.kiosk-btn:active,.home-header__signin-btn:active{transform:scale(.98);transition:transform var(--transition-fast)}input,button,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;border:none;background:none}input:focus,button:focus,textarea:focus,select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:480px;margin:0 auto;padding:var(--spacing-lg)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.form-grid-row-md{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width: 768px){.form-grid-row-md{display:grid;grid-template-columns:1fr 1fr}}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.page{flex:1;display:flex;flex-direction:column;min-height:100vh;padding:var(--spacing-lg)}.page-centered{justify-content:center;align-items:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}.spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.spinner--lg{width:48px;height:48px;border-width:3px}.status-message{padding:.75rem 1rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;margin-bottom:var(--spacing-md);animation:fadeIn .3s ease-out;display:flex;align-items:center;justify-content:center;gap:.5rem}.status-message--error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.status-message--success{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#6ee7b7}.status-message--info{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#93c5fd}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-surface-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-surface-dark-hover)}.glass-panel{background:#10172ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.glass-header{background:#0a0f1ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}@media (max-width: 480px){html{font-size:14px}.container{padding:var(--spacing-md)}}
