.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}}.signup-referral-banner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background-color:#1a4d3e0a;border:1px solid rgba(26,77,62,.28);border-radius:var(--radius-md, 8px);padding:12px 14px;margin-bottom:18px;text-align:left}.signup-referral-badge{display:inline-flex;align-items:center;gap:6px;color:var(--color-polder-green);background-color:#1a4d3e14;border:1px solid rgba(26,77,62,.18);border-radius:999px;padding:3px 9px;font-weight:700;font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.signup-referral-banner p{margin:0;font-size:.84rem;color:var(--color-charcoal);line-height:1.45;font-family:var(--font-body)}.signup-exam-banner{display:flex;flex-direction:column;gap:6px;background:#1a4d3e0d;border:1.5px solid rgba(26,77,62,.22);border-radius:12px;padding:12px 16px;margin-bottom:20px;text-align:left}.signup-exam-badge{display:inline-flex;align-items:center;gap:6px;color:var(--color-polder-green);font-weight:700;font-size:.8rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}.signup-exam-banner p{margin:0;font-size:.84rem;color:var(--color-charcoal);line-height:1.4;font-family:var(--font-body)}.privacy-terms-notice{font-size:.78rem;color:var(--color-text-light, #64748b);margin:-4px 0 16px;line-height:1.4;text-align:center;font-family:var(--font-body)}.privacy-terms-notice a{color:var(--color-polder-green);text-decoration:underline;font-weight:600}.privacy-terms-notice a:hover{color:var(--color-primary-dark)}.signup-role-selector{margin-bottom:20px}.signup-role-label{display:block;margin-bottom:8px;font-size:.76rem;font-weight:700;color:var(--color-polder-green);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-mono)}.signup-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signup-role-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:var(--touch-target-min, 44px);padding:12px;background-color:var(--color-canvas-sand);border:1px solid rgba(26,77,62,.16);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--motion-duration-micro, .12s) var(--motion-ease-consular, ease),background-color var(--motion-duration-micro, .12s) var(--motion-ease-consular, ease),box-shadow var(--motion-duration-micro, .12s) var(--motion-ease-consular, ease)}.signup-role-card:hover{border-color:var(--color-polder-green);background-color:var(--color-surface)}.signup-role-card.selected{background-color:var(--color-surface);border-color:var(--color-polder-green);box-shadow:0 0 0 1px var(--color-polder-green),var(--shadow-sm)}.signup-role-card:focus-visible{outline:2px solid var(--color-oranje);outline-offset:2px}.signup-role-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px}.signup-role-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background-color:#1a4d3e14;color:var(--color-polder-green);flex-shrink:0}.signup-role-card.selected .signup-role-icon{background-color:var(--color-polder-green);color:var(--color-surface)}.signup-role-dot{width:14px;height:14px;border-radius:999px;border:1.5px solid rgba(26,77,62,.3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.signup-role-card.selected .signup-role-dot{border-color:var(--color-oranje);background-color:var(--color-oranje)}.signup-role-card.selected .signup-role-dot:after{content:"";width:5px;height:5px;border-radius:999px;background-color:var(--color-surface)}.signup-role-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.signup-role-title{font-family:var(--font-display);font-size:.86rem;font-weight:700;color:var(--color-charcoal);line-height:1.25}.signup-role-sub{font-family:var(--font-body);font-size:.75rem;color:var(--color-text-light);line-height:1.35}@media(max-width:480px){.signup-role-selector{margin-bottom:14px}.signup-role-grid{grid-template-columns:1fr 1fr;gap:8px}.signup-role-card{padding:10px;gap:5px}.signup-role-title{font-size:.8rem}.signup-role-sub{font-size:.72rem;line-height:1.25}}
