    .login-page {
        min-height: 100vh;
        display: grid;
        place-items: center;
        overflow: hidden;
        padding: 24px;
        background:
            radial-gradient(circle at 18% 22%, rgba(176, 93, 41, 0.08) 0, transparent 28%),
            radial-gradient(circle at 80% 30%, rgba(120, 74, 36, 0.05) 0, transparent 24%),
            radial-gradient(circle at 62% 82%, rgba(176, 93, 41, 0.05) 0, transparent 30%),
            linear-gradient(180deg, #f7efe6 0%, #f4ede4 100%);
        position: relative;
    }

    .login-page::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0.03;
        background-image:
            linear-gradient(to right, #6f5743 1px, transparent 1px),
            linear-gradient(to bottom, #6f5743 1px, transparent 1px);
        background-size: 56px 56px;
        pointer-events: none;
    }

    .login-frame {
        position: relative;
        z-index: 1;
        width: min(100%, 1100px);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(360px, 470px);
        gap: 34px;
        align-items: center;
    }

    .login-brand-panel {
        display: grid;
        gap: 24px;
        align-content: center;
        padding: 24px 0;
    }

    .login-kicker {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        width: fit-content;
        min-height: 40px;
        padding: 0 16px;
        border-radius: 999px;
        border: 1px solid #dcc8b3;
        background: rgba(255, 255, 255, 0.55);
        backdrop-filter: blur(10px);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.28em;
        color: #9b6a3e;
        text-transform: uppercase;
    }

    .login-kicker::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: #b15b27;
        flex: 0 0 auto;
    }

    .login-brand {
        display: grid;
        gap: 16px;
    }

    .login-brand-title {
        margin: 0;
        font-size: clamp(64px, 10vw, 112px);
        line-height: 0.9;
        letter-spacing: -0.07em;
        font-weight: 900;
        color: #2b1c12;
    }

    .login-brand-line {
        width: 128px;
        height: 1px;
        background: linear-gradient(90deg, #b86d3a 0%, #d8b79b 58%, transparent 100%);
    }

    .login-brand-copy {
        display: grid;
        gap: 16px;
        padding-top: 4px;
    }

    .login-brand-subtitle {
        margin: 0;
        font-size: clamp(28px, 3vw, 30px);
        line-height: 1.4;
        font-family: 'MaruBuri', 'Noto Serif KR', serif;
        font-weight: 600;
        letter-spacing: -0.03em;
        color: #6d5644;
    }

    .login-brand-description {
        max-width: 480px;
        margin: 0;
        font-size: 15px;
        line-height: 2;
        color: #75604d;
    }

    .login-panel-wrap {
        position: relative;
    }

    .login-panel-glow {
        position: absolute;
        inset: -32px;
        border-radius: 40px;
        background: radial-gradient(circle at top, rgba(177, 91, 39, 0.12) 0, transparent 58%);
        filter: blur(32px);
        pointer-events: none;
    }

    .login-panel {
        position: relative;
        overflow: hidden;
        display: grid;
        gap: 28px;
        align-content: start;
        padding: 44px 40px 28px;
        border-radius: 36px;
        border: 1px solid #dbc6b1;
        background: linear-gradient(180deg, rgba(255, 252, 248, 0.96), rgba(250, 244, 237, 0.93));
        box-shadow: 0 28px 70px rgba(80, 50, 29, 0.12);
    }

    .login-panel::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
        pointer-events: none;
    }

    .login-panel::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
        pointer-events: none;
    }

    .login-panel-header {
        position: relative;
        display: grid;
        gap: 14px;
    }

    .login-panel-header .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.32em;
        color: #a36f46;
    }

    .login-panel-header .eyebrow::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 999px;
        background: #b15b27;
        flex: 0 0 auto;
    }

    .login-panel-heading {
        display: grid;
        gap: 12px;
    }

    .login-panel-title {
        margin: 0;
        font-size: clamp(34px, 5vw, 40px);
        line-height: 1.05;
        letter-spacing: -0.05em;
        font-weight: 900;
        color: #2d1e13;
    }

    .login-panel-description {
        margin: 0;
        font-size: 14px;
        line-height: 2;
        color: #77604f;
    }

    .login-form {
        position: relative;
        display: grid;
        gap: 16px;
        padding-top: 4px;
    }

    .alert-error {
        padding: 14px 16px;
        border-radius: 18px;
        border: 1px solid rgba(180, 35, 24, 0.18);
        background: rgba(251, 232, 228, 0.95);
        color: #9f281d;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.6;
    }

    .alert-info {
        padding: 14px 16px;
        border-radius: 18px;
        border: 1px solid rgba(148, 104, 62, 0.18);
        background: rgba(245, 236, 225, 0.95);
        color: #7f5737;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.6;
    }

    .button.block {
        width: 100%;
        min-height: 56px;
        border-radius: 18px;
    }

    .login-button {
        position: relative;
        gap: 12px;
        overflow: hidden;
        border: 1px solid #cba88c;
        background: #a76638;
        box-shadow: 0 10px 22px rgba(95, 59, 35, 0.14);
        font-size: 15px;
        font-weight: 700;
        transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .login-button:hover {
        transform: translateY(-1px);
        border-color: #d8b79c;
        background: #9d5f34;
        box-shadow: 0 16px 30px rgba(95, 59, 35, 0.2);
    }

    .login-button:disabled {
        cursor: default;
        opacity: 0.72;
        transform: none;
        box-shadow: 0 10px 22px rgba(95, 59, 35, 0.12);
    }

    .login-button-shine {
        position: absolute;
        inset: 0;
        background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.16) 42%, transparent 72%);
        transform: translateX(-140%);
        transition: transform 0.7s ease;
    }

    .login-button:hover .login-button-shine {
        transform: translateX(140%);
    }

    .login-button-icon,
    .login-button-text {
        position: relative;
        z-index: 1;
    }

    .login-button-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(255, 255, 255, 0.12);
        font-size: 14px;
        font-weight: 800;
        transition: transform 0.3s ease, background-color 0.3s ease;
    }

    .login-button:hover .login-button-icon {
        transform: scale(1.05);
        background: rgba(255, 255, 255, 0.2);
    }

    .login-panel-footer {
        position: relative;
        display: grid;
        gap: 8px;
        padding-top: 16px;
        border-top: 1px solid #e8d8c7;
        text-align: right;
    }

    .login-footer-line {
        margin: 0;
        font-size: 12px;
        line-height: 1.6;
        color: #8d7159;
    }

    @media (max-width: 960px) {
        .login-frame {
            grid-template-columns: 1fr;
            gap: 24px;
        }

        .login-brand-panel {
            gap: 16px;
            padding: 0;
        }
    }

    @media (max-width: 640px) {
        .login-page {
            padding: 16px;
        }

        .login-panel {
            padding: 36px 24px 24px;
            border-radius: 28px;
        }

        .login-brand-title {
            font-size: clamp(58px, 22vw, 84px);
        }
    }
