
        /* =========================================
           LOGIN PAGE SPECIFIC STYLES
        ========================================= */

        body {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        /* Minimal auth layout */
        .auth-page {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 100px 24px 48px;
            /* 100px top accounts for the left-sidebar + nav height offset on desktop */
        }

        .auth-card {
            width: 100%;
            max-width: 440px;
            background: var(--bg-white);
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 48px 44px;
        }

        .auth-logo {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 36px;
            text-decoration: none;
        }
        .auth-logo img {
            width: 32px;
            height: 32px;
            object-fit: contain;
        }
        .auth-logo span {
            font-family: var(--font-disp);
            font-size: 1.3rem;
            letter-spacing: 0.12em;
            color: var(--ink);
        }

        /* Tab switcher */
        .auth-tabs {
            display: flex;
            gap: 0;
            margin-bottom: 32px;
            border-bottom: 2px solid var(--border);
        }
        .auth-tab {
            background: none;
            border: none;
            border-bottom: 2px solid transparent;
            margin-bottom: -2px;
            font-family: var(--font-body);
            font-size: 0.92rem;
            font-weight: 600;
            color: var(--muted);
            padding: 10px 20px 12px;
            cursor: pointer;
            transition: color var(--tr), border-color var(--tr);
            letter-spacing: 0.02em;
        }
        .auth-tab.active {
            color: var(--accent);
            border-bottom-color: var(--accent);
        }
        .auth-tab:first-child { padding-left: 0; }

        /* Auth form panels */
        .auth-panel { display: none; }
        .auth-panel.active { display: block; }

        .auth-panel h2 {
            font-family: var(--font-disp);
            font-size: 1.8rem;
            letter-spacing: 0.03em;
            color: var(--ink);
            margin-bottom: 6px;
        }
        .auth-panel .auth-subtitle {
            font-size: 0.88rem;
            color: var(--muted);
            margin-bottom: 28px;
            line-height: 1.5;
        }

        /* Form fields */
        .form-group {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-bottom: 18px;
        }
        .form-group label {
            font-size: 0.82rem;
            font-weight: 600;
            color: var(--ink-mid);
            letter-spacing: 0.02em;
        }
        .form-group input {
            width: 100%;
            padding: 11px 14px;
            border: 1.5px solid var(--border);
            border-radius: 4px;
            background: var(--bg);
            font-family: var(--font-body);
            font-size: 0.95rem;
            color: var(--ink);
            outline: none;
            transition: border-color var(--tr);
        }
        .form-group input:focus {
            border-color: var(--accent);
            background: var(--bg-white);
        }
        .form-group input::placeholder { color: var(--muted); }

        .form-submit {
            width: 100%;
            padding: 13px;
            background: var(--accent);
            color: #fff;
            font-family: var(--font-body);
            font-size: 0.92rem;
            font-weight: 700;
            letter-spacing: 0.03em;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background var(--tr), transform var(--tr);
            margin-top: 8px;
        }
        .form-submit:hover {
            background: #1345d4;
            transform: translateY(-1px);
        }
        .form-submit:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            transform: none;
        }

        .form-divider {
            text-align: center;
            font-size: 0.8rem;
            color: var(--muted);
            margin: 18px 0;
            position: relative;
        }
        .form-divider::before,
        .form-divider::after {
            content: '';
            position: absolute;
            top: 50%;
            width: calc(50% - 24px);
            height: 1px;
            background: var(--border);
        }
        .form-divider::before { left: 0; }
        .form-divider::after { right: 0; }

        .form-forgot {
            display: block;
            text-align: right;
            font-size: 0.8rem;
            color: var(--muted);
            margin-top: -10px;
            margin-bottom: 18px;
            transition: color var(--tr);
        }
        .form-forgot:hover { color: var(--accent); }

        /* Feedback messages */
        .auth-feedback {
            display: none;
            padding: 12px 16px;
            border-radius: 4px;
            font-size: 0.85rem;
            line-height: 1.45;
            margin-bottom: 16px;
        }
        .auth-feedback.success {
            display: block;
            background: rgba(20, 184, 166, 0.1);
            color: #0f766e;
            border: 1px solid rgba(20, 184, 166, 0.3);
        }
        .auth-feedback.error {
            display: block;
            background: rgba(220, 38, 38, 0.08);
            color: #b91c1c;
            border: 1px solid rgba(220, 38, 38, 0.2);
        }

        /* Footer link */
        .auth-footer {
            margin-top: 28px;
            padding-top: 20px;
            border-top: 1px solid var(--border);
            text-align: center;
            font-size: 0.82rem;
            color: var(--muted);
        }
        .auth-footer a {
            color: var(--accent);
            font-weight: 600;
        }
        .auth-footer a:hover { text-decoration: underline; }

        /* Responsive */
        @media (max-width: 768px) {
            .auth-page { padding: 80px 16px 40px; }
            .auth-card { padding: 36px 24px; }
        }
    
.portal-note{font-size:.78rem;color:var(--muted);margin-top:20px;text-align:center}.auth-feedback:not(:empty){display:block}.form-submit:disabled{opacity:.6;cursor:wait}
