.hidden{display:none!important}.auth-ui .btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .15s ease;display:inline-flex;align-items:center;gap:.375rem;text-decoration:none;color:inherit;background:0 0}.auth-ui .btn-primary{background:#2563eb;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}.auth-ui .btn-primary:hover{background:#1d4ed8;box-shadow:0 2px 4px rgba(37,99,235,.3)}.auth-ui .btn-secondary{background:0 0;color:#2563eb;border:1px solid #2563eb}.auth-ui .btn-secondary:hover{background:#2563eb;color:#fff}.auth-ui .form-field{margin-bottom:.75rem}.auth-ui .form-field label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.8125rem;color:#374151}.auth-ui .form-field input,.auth-ui .form-field select,.auth-ui .form-field textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;color:#1f2937;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;box-sizing:border-box}.auth-ui .form-field input:focus,.auth-ui .form-field select:focus,.auth-ui .form-field textarea:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.auth-ui .form-field input::placeholder,.auth-ui .form-field textarea::placeholder{color:#9ca3af}.auth-ui .form-field input[type=checkbox]{width:auto;margin-right:.5rem;accent-color:#2563eb}.auth-ui .help-text{font-size:.75rem;color:#6b7280;margin-top:.375rem}.auth-ui .modal-overlay,.auth-ui.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(17,24,39,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9998}.auth-ui .modal{background:#fff;border-radius:12px;padding:1.75rem;width:100%;max-width:420px;box-shadow:0 20px 40px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}.auth-ui .modal h2{margin:0 0 1.5rem;color:#2563eb;text-align:center;font-size:1.375rem}.auth-ui .auth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.auth-ui .auth-modal-header h2{margin:0;flex:1;text-align:left}.auth-ui .auth-modal-close{width:2.25rem;height:2.25rem;border:none;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:1.5rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .15s ease,color .15s ease,transform .15s ease}.auth-ui .auth-modal-close:hover{background:#dbeafe;color:#1e40af;transform:translateY(-1px)}.auth-ui .auth-modal-close:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.auth-ui .modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.auth-ui .modal-actions .btn{flex:1;justify-content:center}#auth-modal .modal{max-width:760px;max-height:92vh;overflow-y:auto}#auth-modal.auth-login .modal{max-width:420px}#auth-modal.auth-login .auth-grid{grid-template-columns:1fr}.auth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 .75rem}.auth-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 .75rem}.auth-register-fields{display:none}#auth-modal.auth-register .auth-login-fields{display:none}#auth-modal.auth-register .auth-register-fields{display:block}#auth-modal.auth-register .auth-grid-3.auth-register-fields{display:grid}.auth-link-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.875rem}.auth-link-btn{background:0 0;border:none;padding:0;color:#2563eb;font-size:.8125rem;font-weight:600;cursor:pointer}.auth-link-btn:hover{color:#1d4ed8;text-decoration:underline}.auth-context-note{margin-top:.875rem;padding:.75rem .875rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:8px;font-size:.8125rem;line-height:1.45}.auth-span-2{grid-column:span 2}.auth-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.25rem}.auth-choice{border:1px solid #d1d5db;border-radius:8px;padding:.75rem;cursor:pointer;background:#fff;font-size:.8125rem;color:#374151}.auth-choice:has(input:checked){border-color:#2563eb;background:#eff6ff}.auth-choice input{margin-right:.375rem;accent-color:#2563eb}.auth-choice strong{display:block;margin-bottom:.25rem}.auth-choice span{display:block;color:#6b7280;font-size:.75rem;line-height:1.35}.auth-register-note{padding:.625rem .75rem;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:8px;font-size:.8125rem;margin-bottom:.75rem}.pw-strength{margin-top:.375rem}.pw-strength-bar{height:6px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:.25rem}.pw-strength-fill{height:100%;width:0%;transition:width .2s,background .2s;background:#ef4444}.pw-strength[data-score="1"] .pw-strength-fill{width:20%;background:#ef4444}.pw-strength[data-score="2"] .pw-strength-fill{width:40%;background:#f59e0b}.pw-strength[data-score="3"] .pw-strength-fill{width:60%;background:#eab308}.pw-strength[data-score="4"] .pw-strength-fill{width:80%;background:#22c55e}.pw-strength[data-score="5"] .pw-strength-fill{width:100%;background:#16a34a}.pw-strength-label{font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.25rem}.pw-strength[data-score="1"] .pw-strength-label{color:#ef4444}.pw-strength[data-score="2"] .pw-strength-label{color:#f59e0b}.pw-strength[data-score="3"] .pw-strength-label{color:#ca8a04}.pw-strength[data-score="4"] .pw-strength-label,.pw-strength[data-score="5"] .pw-strength-label{color:#16a34a}.pw-strength-checks{list-style:none;padding:0;margin:.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.125rem .5rem}.pw-strength-checks li{font-size:.7rem;color:#9ca3af;padding-left:1rem;position:relative;line-height:1.3}.pw-strength-checks li::before{content:"○";position:absolute;left:0;top:0;color:#9ca3af;font-weight:700}.pw-strength-checks li.ok{color:#16a34a}.pw-strength-checks li.ok::before{content:"✓";color:#16a34a}@media (max-width:720px){.auth-choice-grid,.auth-grid,.auth-grid-3{grid-template-columns:1fr}.auth-span-2{grid-column:span 1}#auth-modal .modal{width:calc(100vw - 1rem);padding:1.25rem 1.25rem 0}.auth-ui .modal-actions{position:sticky;bottom:0;margin:1.25rem -1.25rem 0;padding:.875rem 1.25rem;background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.06);border-top:1px solid #e5e7eb;z-index:2}.auth-blocking-reason{display:block;margin:.5rem 0 0;padding:.5rem .625rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:.72rem;font-weight:600}}@media (min-width:721px){.auth-blocking-reason{display:none}}.auth-ui .form-field input.field-invalid,.auth-ui .form-field select.field-invalid,.auth-ui .form-field textarea.field-invalid{border-color:#ef4444!important;background:#fef2f2!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important}.auth-ui .field-error-msg{display:block;margin-top:.25rem;font-size:.72rem;font-weight:600;color:#dc2626;line-height:1.3}.auth-ui-toast-container{position:fixed;bottom:1rem;right:1rem;z-index:2147483647;display:flex;flex-direction:column-reverse;gap:.5rem}.auth-ui-toast{padding:.875rem 1.25rem;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 1px rgba(0,0,0,.05);font-size:.875rem;color:#374151;max-width:360px;animation:authSlideIn .25s ease}.auth-ui-toast.success{border-left:4px solid #10b981;background:#f0fdf4}.auth-ui-toast.error{border-left:4px solid #ef4444;background:#fef2f2}.auth-ui-toast.warning{border-left:4px solid #f59e0b;background:#fffbeb}.auth-ui-toast.info{border-left:4px solid #3b82f6;background:#eff6ff}@keyframes authSlideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.auth-ui-loading{position:fixed;inset:0;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;z-index:9999}.auth-ui-loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:authSpin 1s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}