.auth-container{display:flex;flex:1;align-items:center;justify-content:center;padding:16px}.passport-card{width:100%;max-width:440px;margin:auto;background:#fffdf5;border-radius:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,inset 0 0 0 1px #0000000d;overflow:hidden;font-family:var(--font-body);padding:0!important}.passport-card .passport-header{background:var(--color-polder-green);color:var(--color-surface);padding:14px 24px;border-top-left-radius:20px;border-top-right-radius:20px;display:block;background-image:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.05) 75%,transparent 75%,transparent);background-size:20px 20px}.passport-header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.passport-logo{font-family:var(--font-display);font-weight:700;letter-spacing:.05em}.passport-controls{display:flex;align-items:center;gap:12px}.passport-card .passport-body{display:block;padding:32px 30px}.auth-header-internal{text-align:center;margin-bottom:20px}.stamp-icon{width:48px;height:48px;border-radius:12px;background:#1a4d3e1a;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1px dashed var(--color-polder-green)}.auth-header-internal h1{font-family:var(--font-display);font-size:1.35rem;margin-bottom:6px;color:var(--color-polder-green);text-transform:uppercase;letter-spacing:.04em}.auth-header-internal p{color:var(--color-text-light);font-family:var(--font-body);font-size:.88rem;line-height:1.4}.auth-header-internal--compact{margin-bottom:16px}.auth-header-internal--compact h1{margin-bottom:0;font-size:1.25rem}.social-auth{display:flex;width:100%;margin-bottom:16px}.btn-social{width:100%;min-height:var(--touch-target-min, 44px);display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:var(--radius-md);border:1px solid rgba(26,77,62,.18);background:var(--color-surface);color:var(--color-charcoal);font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.btn-social:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--color-polder-green)}.divider{display:flex;align-items:center;text-align:center;margin:16px 0;color:var(--color-text-light);font-size:.74rem;font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px dashed rgba(26,77,62,.2)}.divider span{padding:0 10px}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#1a4d3e0f;padding:4px;border-radius:var(--radius-md);margin-bottom:16px}.auth-mode-tab{display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 10px;border-radius:6px;border:1px solid transparent;background:transparent;font-size:.82rem;font-weight:600;color:var(--color-text-light);cursor:pointer;transition:all .16s ease;font-family:var(--font-body)}.auth-mode-tab.active{background:var(--color-surface);color:var(--color-polder-green);border-color:#1a4d3e24;box-shadow:var(--shadow-sm);font-weight:700}.auth-mode-tab:focus-visible{outline:2px solid var(--color-oranje);outline-offset:2px}.form-hint{display:block;margin-top:6px;font-size:.78rem;color:var(--color-text-light);font-family:var(--font-body);line-height:1.4}.magic-link-success-card{background:var(--color-surface);border:1px solid rgba(26,77,62,.22);border-radius:12px;padding:22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.magic-link-success-card h3{font-family:var(--font-display);font-size:1.12rem;color:var(--color-polder-green);margin:0}.magic-link-success-card p{font-family:var(--font-body);font-size:.88rem;color:var(--color-charcoal);margin:0;line-height:1.45}.btn-retry-magic{background:none;border:none;color:var(--color-polder-green);font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:6px 8px;min-height:var(--touch-target-min, 44px);font-family:var(--font-body)}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:6px;font-size:.76rem;font-weight:700;color:var(--color-polder-green);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper svg{position:absolute;left:14px;color:var(--color-polder-green);opacity:.65;pointer-events:none}.input-wrapper input{width:100%;min-height:var(--touch-target-min, 44px);padding:11px 14px 11px 42px;background:var(--color-surface);border:1px solid rgba(26,77,62,.22);border-radius:var(--radius-md);font-size:.95rem;transition:border-color .16s ease,box-shadow .16s ease;font-family:var(--font-body);color:var(--color-charcoal);box-sizing:border-box}.input-wrapper input::placeholder{font-family:var(--font-body);color:var(--color-text-light);opacity:.65}.input-wrapper input:focus{border-color:var(--color-polder-green);outline:none;box-shadow:0 0 0 3px #1a4d3e1a}.auth-container .btn-primary{width:100%;min-height:46px;padding:12px 16px;background:var(--color-polder-green);color:var(--color-surface);border:none;border-radius:var(--radius-md);font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s;letter-spacing:.02em;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;gap:8px}.auth-container .btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-container .btn-primary:focus-visible{outline:2px solid var(--color-oranje);outline-offset:2px}.auth-footer{margin-top:18px;text-align:center;font-size:.86rem;color:var(--color-text-light);font-family:var(--font-body)}.btn-guest-bypass{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--touch-target-min, 44px);padding:10px 20px;border-radius:var(--radius-md);background:#1a4d3e0d;color:var(--color-polder-green);font-weight:600;font-size:.88rem;text-decoration:none!important;border:1px solid rgba(26,77,62,.18);transition:all .2s;width:100%;box-sizing:border-box}.btn-guest-bypass:hover{background:#1a4d3e1a;color:var(--color-primary-dark);transform:translateY(-1px)}.alert.error{background:var(--color-surface);color:var(--color-charcoal);padding:10px 14px;border-radius:var(--radius-md);margin-bottom:16px;font-size:.86rem;border:1px solid var(--color-oranje);text-align:center;display:flex;align-items:center;justify-content:center;font-family:var(--font-body)}@media(max-width:480px){.auth-container{padding:8px 12px;align-items:flex-start}.passport-card .passport-body{padding:18px 18px 20px}.auth-header-internal{margin-bottom:14px}.auth-header-internal h1{font-size:1.18rem;margin-bottom:4px}.auth-header-internal p{font-size:.82rem}.stamp-icon{width:38px;height:38px;margin-bottom:8px}.passport-card .passport-header{padding:10px 16px}.passport-logo-text{font-size:1.1rem}.social-auth{margin-bottom:12px}.divider{margin:12px 0}.auth-mode-tabs,.form-group{margin-bottom:12px}}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#0000000a;padding:4px;border-radius:8px;margin-bottom:20px}.auth-mode-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:6px;border:none;background:transparent;font-size:.82rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.auth-mode-tab.active{background:#fff;color:var(--color-polder-green);box-shadow:0 1px 3px #00000014;font-weight:700}.form-hint{display:block;margin-top:6px;font-size:.78rem;color:#64748b;font-family:var(--font-body);line-height:1.4}.magic-link-success-card{background:#fff;border:1px solid rgba(26,77,62,.2);border-radius:12px;padding:24px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.magic-link-success-card h3{font-family:var(--font-display);font-size:1.15rem;color:var(--color-polder-green);margin:0}.magic-link-success-card p{font-family:var(--font-body);font-size:.9rem;color:#475569;margin:0;line-height:1.5}.btn-retry-magic{background:none;border:none;color:var(--color-polder-green);font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:4px;font-family:var(--font-body)}.verifying-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:16px}.verifying-state h2{font-family:var(--font-display);font-size:1.3rem;color:var(--color-polder-green);margin:0}.verifying-state p{font-family:var(--font-body);font-size:.95rem;color:var(--color-text-light);margin:0}.spin-icon{animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
