/* v2 theme overlay for auth/passwords/email.blade.php */

.auth-v2-page {
    --ns-bg-primary: #0d0d0d;
    --ns-bg-secondary: #1a1a1a;
    --ns-bg-tertiary: #262626;
    --ns-accent: #f59e0b;
    --ns-accent-hover: #d97706;
    --ns-text-primary: #ffffff;
    --ns-text-secondary: #a3a3a3;
    --ns-text-muted: #737373;
    --ns-input-bg: #1a1a1a;
    --ns-input-border: #333333;
    --ns-focus-ring: 0 0 0 3px rgba(245, 158, 11, 0.15);

    min-height: 100vh;
    padding: 32px 16px;
    background: var(--ns-bg-primary);
    color: var(--ns-text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-v2-page .auth-v2-shell {
    width: 100%;
    max-width: 560px;
}

.auth-v2-page .auth-v2-card {
    background: var(--ns-bg-secondary);
    border: 1px solid var(--ns-bg-tertiary);
    border-radius: 12px;
    padding: 28px;
}

.auth-v2-page .auth-v2-head {
    text-align: center;
    margin-bottom: 20px;
}

.auth-v2-page .auth-v2-icon {
    color: var(--ns-accent);
    font-size: 1.875rem;
    margin-bottom: 8px;
}

.auth-v2-page .auth-v2-title {
    margin: 0 0 8px;
    color: var(--ns-text-primary);
}

.auth-v2-page .auth-v2-subtitle {
    margin: 0;
    color: var(--ns-text-secondary);
}

.auth-v2-page .auth-v2-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.auth-v2-page .auth-v2-field,
.auth-v2-page .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.auth-v2-page .auth-v2-label,
.auth-v2-page label {
    color: var(--ns-text-secondary);
    font-weight: 500;
    margin: 0;
}

.auth-v2-page .auth-v2-input,
.auth-v2-page .form-control,
.auth-v2-page input[type="email"],
.auth-v2-page input[type="text"] {
    width: 100%;
    min-height: 44px;
    border-radius: 8px;
    border: 1px solid var(--ns-input-border);
    background: var(--ns-input-bg);
    color: var(--ns-text-primary);
    padding: 11px 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.auth-v2-page .auth-v2-input::placeholder,
.auth-v2-page input::placeholder {
    color: var(--ns-text-muted);
}

.auth-v2-page .auth-v2-input:focus,
.auth-v2-page .form-control:focus,
.auth-v2-page input:focus {
    border-color: var(--ns-accent);
    box-shadow: var(--ns-focus-ring);
    outline: none;
}

.auth-v2-page .auth-v2-hint {
    margin: 0;
    color: var(--ns-text-muted);
    font-size: 0.85rem;
}

.auth-v2-page .auth-v2-error,
.auth-v2-page .invalid-feedback {
    margin: 0;
    color: #fca5a5;
    font-size: 0.85rem;
}

.auth-v2-page .is-invalid,
.auth-v2-page .auth-v2-input.is-invalid,
.auth-v2-page .form-control.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}

.auth-v2-page .auth-v2-btn,
.auth-v2-page .btn,
.auth-v2-page .btn-primary,
.auth-v2-page .btn-info,
.auth-v2-page .btn-success,
.auth-v2-page .auth-v2-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 8px;
    border: 1px solid var(--ns-accent) !important;
    background: var(--ns-accent) !important;
    color: #0d0d0d !important;
    font-weight: 600;
    padding: 10px 16px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.auth-v2-page .auth-v2-btn:hover,
.auth-v2-page .btn:hover,
.auth-v2-page .btn-primary:hover,
.auth-v2-page .btn-info:hover,
.auth-v2-page .btn-success:hover,
.auth-v2-page .auth-v2-btn-primary:hover,
.auth-v2-page .auth-v2-btn:active,
.auth-v2-page .btn:active,
.auth-v2-page .btn-primary:active,
.auth-v2-page .btn-info:active,
.auth-v2-page .btn-success:active,
.auth-v2-page .btn-primary:not(:disabled):not(.disabled):active,
.auth-v2-page .btn-primary:not(:disabled):not(.disabled).active,
.auth-v2-page .show > .btn-primary.dropdown-toggle {
    background: var(--ns-accent-hover) !important;
    border-color: var(--ns-accent-hover) !important;
    color: #0d0d0d !important;
}

.auth-v2-page .auth-v2-btn:focus-visible,
.auth-v2-page .btn:focus-visible,
.auth-v2-page .btn-primary:focus,
.auth-v2-page .btn-primary.focus {
    outline: none;
    box-shadow: var(--ns-focus-ring) !important;
}

.auth-v2-page .auth-v2-btn:disabled,
.auth-v2-page .btn:disabled,
.auth-v2-page .btn.disabled {
    opacity: 0.65;
    cursor: not-allowed;
    background: var(--ns-accent) !important;
    border-color: var(--ns-accent) !important;
    color: #0d0d0d !important;
}

.auth-v2-page .auth-v2-btn-block {
    width: 100%;
}

.auth-v2-page .auth-v2-footer-note {
    margin-top: 16px;
    text-align: center;
    color: var(--ns-text-secondary);
}

.auth-v2-page .ns-alert,
.auth-v2-page .alert {
    border-radius: 10px;
    border: 1px solid var(--ns-bg-tertiary);
    padding: 12px 14px;
}

.auth-v2-page .ns-alert-success,
.auth-v2-page .alert-success {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.35);
    color: #86efac;
}

.auth-v2-page .ns-alert-error,
.auth-v2-page .alert-danger {
    background: rgba(220, 38, 38, 0.12);
    border-color: rgba(220, 38, 38, 0.35);
    color: #fca5a5;
}

.auth-v2-page .ns-alert-warning,
.auth-v2-page .alert-warning {
    background: rgba(245, 158, 11, 0.14);
    border-color: rgba(245, 158, 11, 0.4);
    color: #fcd34d;
}

.auth-v2-page a,
.auth-v2-page .auth-v2-link,
.auth-v2-page .auth-v2-link-inline {
    color: var(--ns-accent);
    text-decoration: none;
}

.auth-v2-page a:hover,
.auth-v2-page .auth-v2-link:hover,
.auth-v2-page .auth-v2-link-inline:hover {
    color: var(--ns-accent-hover);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .auth-v2-page {
        padding: 20px 12px;
    }

    .auth-v2-page .auth-v2-card {
        padding: 20px;
    }
}
