.auth-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.auth-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;width:100%;max-width:420px;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.15);animation:authModalSlideIn .15s ease-out;overflow:hidden}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1.25rem;right:1.25rem;width:28px;height:28px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;transition:color .15s;z-index:1}.auth-modal-close:hover{color:var(--text-primary)}.auth-modal-close svg{width:100%;height:100%}.auth-modal-header{padding:1.5rem 1.75rem 1.25rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.auth-modal-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.auth-modal-header p{color:var(--text-secondary);margin:0;font-size:.875rem}.auth-modal-form{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.75rem}.auth-error{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:#dc2626;padding:.75rem 1rem;border-radius:4px;font-size:.875rem;line-height:1.4}.auth-input-group{display:flex;flex-direction:column;gap:.5rem}.auth-input-group label{font-size:.75rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.auth-input-group input{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;background:transparent;color:var(--text-primary);transition:border-color .15s,box-shadow .15s,background .15s}.auth-input-group input:hover{border-color:#3a8fb7}.auth-input-group input:focus{outline:none;border-color:#0f4c75;background:var(--bg-primary);box-shadow:0 0 0 3px rgba(15,76,117,.1)}.auth-input-group input::-moz-placeholder{color:var(--text-muted);font-weight:300}.auth-input-group input::placeholder{color:var(--text-muted);font-weight:300}[data-theme=dark] .auth-input-group input{background:hsla(0,0%,100%,.03);border-color:hsla(0,0%,100%,.1)}[data-theme=dark] .auth-input-group input:hover{border-color:rgba(58,143,183,.5)}.auth-submit-button{margin-top:.25rem;padding:.875rem 1.5rem;background:#0f4c75;color:#fff;border:none;border-radius:6px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-height:48px}.auth-submit-button:hover:not(:disabled){background:#3a8fb7;transform:translateY(-2px);box-shadow:0 4px 12px rgba(15,76,117,.4)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-spinner{width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-modal-footer{padding:1rem 1.75rem 1.25rem;border-top:1px solid var(--border-color);text-align:center;background:var(--bg-secondary)}.auth-modal-footer p{color:var(--text-secondary);margin:0;font-size:.875rem}.auth-modal-footer button{background:none;border:none;color:#1b6b93;font-weight:600;cursor:pointer;padding:0;font-size:inherit}.auth-modal-footer button:hover{text-decoration:underline}[data-theme=dark] .auth-modal{box-shadow:0 20px 40px rgba(0,0,0,.4)}[data-theme=dark] .auth-modal-footer,[data-theme=dark] .auth-modal-header{background:rgba(0,0,0,.2)}[data-theme=dark] .auth-error{background:rgba(239,68,68,.12);color:#f87171}[data-theme=dark] .auth-input-group input:focus{background:hsla(0,0%,100%,.05);border-color:#3a8fb7;box-shadow:0 0 0 3px rgba(58,143,183,.15)}