.login-shell {
            width: min(calc(100% - 2rem), 980px);
            margin: var(--km-space-5, 1.5rem) auto var(--km-space-7, 3rem);
        }

        .login-panel {
            min-height: 460px;
        }

        .login-brand-image {
            width: 76px;
            height: 76px;
            border-radius: 1.2rem;
            border: 1px solid var(--card-border-color);
            object-fit: cover;
        }

        .login-preview {
            background: linear-gradient(135deg, rgba(10, 143, 80, 0.09), rgba(36, 127, 214, 0.09));
            border-left: 1px solid var(--card-border-color);
        }

        .login-preview-stack {
            min-height: 100%;
        }

        .login-preview-row {
            border: 1px solid var(--card-border-color);
            background: rgba(255, 255, 255, 0.72);
            border-radius: 0.85rem;
        }

        .login-preview-note {
            border-top: 1px solid var(--card-border-color);
            padding-top: 1rem;
        }

        [data-theme="dark"] .login-preview-row {
            background: rgba(26, 32, 40, 0.72);
        }

        .kakao-login-btn {
            background: #fee500;
            color: #191919;
            border-color: #fee500;
        }

        .kakao-login-btn:hover {
            background: #f2d800;
            border-color: #f2d800;
            color: #191919;
        }

        .oauth-complete-page {
            min-height: 100vh;
            margin: 0;
            display: grid;
            place-items: center;
            background: var(--km-color-bg, #f6f8fb);
            color: var(--km-color-text, #202327);
            font-family: var(--km-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
        }

        .oauth-complete {
            width: min(100% - 32px, 360px);
            padding: 28px;
            text-align: center;
            background: var(--km-color-surface, #ffffff);
            border: 1px solid var(--km-color-border, #e6eaf0);
            border-radius: var(--km-radius-lg, 16px);
            box-shadow: var(--km-shadow-sm, 0 10px 30px rgba(18, 28, 45, 0.06));
        }

        .oauth-spinner {
            width: 36px;
            height: 36px;
            margin: 0 auto 16px;
            border: 4px solid #dce5ee;
            border-top-color: var(--km-color-primary, #0a8f50);
            border-radius: 50%;
            animation: oauth-spin 0.8s linear infinite;
        }

        .oauth-complete p {
            margin: 0;
            color: var(--km-color-muted, #667085);
            line-height: 1.5;
        }

        @keyframes oauth-spin {
            to {
                transform: rotate(360deg);
            }
        }

        @media (max-width: 991px) {
            .login-preview {
                border-left: 0;
                border-top: 1px solid var(--card-border-color);
            }
        }

        @media (max-width: 575px) {
            .login-shell {
                margin-top: 1.5rem !important;
                margin-bottom: 2rem !important;
            }

            .login-panel {
                min-height: auto;
            }

            .login-brand-image {
                width: 62px;
                height: 62px;
                border-radius: 1rem;
            }

            .login-preview {
                display: none !important;
            }
        }
