:root{--color-brand-primary: #00676c;--color-brand-primary-hover: #005256;--color-brand-primary-light: #e0f2f1;--color-brand-secondary: #e5ad38;--color-brand-secondary-hover: #ca9428;--color-brand-accent: #e5ad38;--color-bg-main: #004d52;--color-bg-card: #00363a;--color-bg-card-hover: #00454a;--color-bg-passport-header: linear-gradient(135deg, #002d30 0%, #00676c 100%);--color-bg-stamp-paper: #fffdf5;--color-bg-input: #002b2e;--color-text-primary: #ffffff;--color-text-secondary: #d1e5e6;--color-text-muted: #8eb4b6;--color-text-dark: #00363a;--color-text-gold: #e5ad38;--color-border: #00676c;--color-border-focused: #e5ad38;--color-border-subtle: #00565b;--color-status-completed-bg: #14532d;--color-status-completed-fg: #4ade80;--color-status-completed-border: #16a34a;--color-status-unlocked-bg: #004d52;--color-status-unlocked-fg: #e5ad38;--color-status-unlocked-border: #e5ad38;--color-status-pending-bg: #4a350a;--color-status-pending-fg: #fde047;--color-status-pending-border: #e5ad38;--color-status-danger-bg: #450a0a;--color-status-danger-fg: #fca5a5;--color-status-danger-border: #991b1b;--font-family-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif;--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: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-stamp: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2), 0 2px 4px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .15);--shadow-passport: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 10px 10px -5px rgba(0, 0, 0, .2);--touch-target-min-size: 44px;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-bounce-subtle: cubic-bezier(.34, 1.56, .64, 1);--transition-press: .14s var(--ease-out);--transition-fast: .18s var(--ease-out);--transition-normal: .24s var(--ease-out);--transition-slow: .35s var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background-color:var(--color-bg-main);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}:focus-visible{outline:3px solid var(--color-brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}.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}button,a,input[type=button],input[type=submit],input[type=reset],input[type=checkbox],input[type=radio],select,.touch-target{min-height:var(--touch-target-min-size);min-width:var(--touch-target-min-size)}input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{min-height:var(--touch-target-min-size);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);transition:border-color var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=password]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--color-brand-primary);outline:none}.passport-container{width:100%;max-width:480px;margin:0 auto;padding:var(--space-4);min-height:100vh;display:flex;flex-direction:column}.passport-cover{background:var(--color-bg-passport-header);border:2px solid var(--color-brand-primary);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-4);box-shadow:var(--shadow-passport);position:relative;overflow:hidden;text-align:center}.passport-cover:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--color-brand-primary),var(--color-brand-accent),var(--color-brand-primary))}.perforation-line{height:2px;width:100%;border-top:2px dashed var(--color-brand-primary);margin:var(--space-4) 0;opacity:.6}.stamp-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-stamp);padding:var(--space-4);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);position:relative}.stamp-card:hover,.stamp-card:focus-within{border-color:var(--color-brand-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stamp-card.completed{border-color:var(--color-status-completed-border)}.stamp-card.unlocked{border-color:var(--color-status-unlocked-border);box-shadow:0 0 0 1px var(--color-status-unlocked-border)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:1000}.dialog-content{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:440px;box-shadow:var(--shadow-passport);position:relative}@media print{body{background-color:#fff!important;color:#000!important}.no-print{display:none!important}.print-only{display:block!important}}@keyframes authCardEnter{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-card-enter{animation:authCardEnter .24s var(--ease-out) forwards;will-change:transform,opacity}@keyframes formFadeEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-fade-enter{animation:formFadeEnter .2s var(--ease-out) forwards}@keyframes fieldErrorEnter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.field-error-enter{animation:fieldErrorEnter .16s var(--ease-out) forwards}.btn-interactive{transition:transform var(--transition-press),background-color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);will-change:transform}.btn-interactive:active:not(:disabled){transform:scale(.97)}@media(hover:hover)and (pointer:fine){.btn-interactive:hover:not(:disabled){filter:brightness(1.04)}}.input-interactive{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-interactive:focus{box-shadow:0 0 0 3px #e5ad3833}.role-tab-btn{transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-press)}.role-tab-btn:active{transform:scale(.98)}@media(prefers-reduced-motion:reduce){.auth-card-enter,.form-fade-enter,.field-error-enter{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.btn-interactive:active:not(:disabled),.role-tab-btn:active{transform:none!important}}
