/* Campus login uses the supplied 心晴 homepage tokens; authentication stays native. */
:root{--brand-dark:#1C63D6;--brand-accent:#1C63D6;--brand-accent-hover:#1653B6;--brand-medium:#2F7BEE;--brand-light:#E3F0FF;--brand-text:#20334D;--brand-medium-20:rgba(47,123,238,.2);--brand-medium-0:rgba(47,123,238,0);--brand-dark-0:rgba(28,99,214,0)}
html{min-width:320px}body{margin:0;color:var(--brand-text);background:linear-gradient(180deg,#E3F0FF,#F6FAFF);font-family:system-ui,-apple-system,"PingFang TC","Microsoft JhengHei",sans-serif}
.campus-login-page{min-height:100svh;padding:32px 16px;box-sizing:border-box;overflow:hidden}
.campus-login-card{box-sizing:border-box;border-radius:24px!important;background:rgba(255,255,255,.88)!important;padding:32px 24px!important}
input:not([type=checkbox]),textarea{user-select:text;font-size:16px!important;min-height:44px;box-sizing:border-box}button,a.ds-btn{min-height:44px}button svg{flex-shrink:0}
.ds-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:12px;border-radius:16px;border:0;cursor:pointer;color:white;font-weight:700;font-size:16px;text-decoration:none;background:#2F7BEE;box-shadow:0 6px 16px rgba(47,123,238,.2)}.ds-btn:active{transform:translateY(1px)}.ds-btn--ghost{color:#1C63D6;background:white;border:1px solid #D1E4FF;box-shadow:none}
.glass-modal{background:rgba(255,255,255,.98);border:1px solid #D1E4FF;border-radius:24px;box-shadow:0 16px 40px rgba(47,123,238,.18)}
.bg-success{background:#16805A}.bg-error{background:#B93E45}.bg-info{background:#1C63D6}
#cancelPrivacy,#cancelRegister,#cancelForgotPassword{color:#1C63D6;background:#F6FAFF;border:1px solid #D1E4FF;border-radius:16px}
@media(max-width:430px){.campus-login-page{padding:24px 16px}.campus-login-card{padding:28px 20px!important}}
        /* 統一品牌色彩學 (CIS) 輔助類 */
        .text-brand {
            color: var(--brand-text);
        }

        .text-brand-dark {
            color: var(--brand-dark);
        }

        .text-brand-medium {
            color: var(--brand-medium);
        }

        .text-brand-light {
            color: var(--brand-light);
        }

        .bg-brand-dark {
            background-color: var(--brand-dark);
        }

        .bg-brand-medium {
            background-color: var(--brand-medium);
        }

        .bg-brand-light {
            background-color: var(--brand-light);
        }

        .border-brand-dark {
            border-color: var(--brand-dark);
        }

        .border-brand-medium {
            border-color: var(--brand-medium);
        }

        .border-brand-light {
            border-color: var(--brand-light);
        }

        .focus-brand-medium:focus {
            --tw-ring-color: var(--brand-medium) !important;
            border-color: var(--brand-medium) !important;
            outline: none;
            box-shadow: 0 0 0 3px var(--brand-medium-20);
        }

        /* 品牌漸變按鈕 */
        .btn-brand-gradient {
            background: linear-gradient(to right, var(--brand-medium), var(--brand-dark)) !important;
            color: white !important;
            transition: all 0.2s;
        }

        .btn-brand-gradient:hover {
            background: linear-gradient(to right, var(--brand-dark), var(--brand-dark)) !important;
        }

        /* 支援 Tailwind from/to 類別的變數定義 */
        .from-brand-medium {
            --tw-gradient-from: var(--brand-medium) !important;
            --tw-gradient-to: var(--brand-medium-0) !important;
            --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
        }

        .to-brand-dark {
            --tw-gradient-to: var(--brand-dark) !important;
        }

        .hover\:from-brand-dark:hover {
            --tw-gradient-from: var(--brand-dark) !important;
            --tw-gradient-to: var(--brand-dark-0) !important;
            --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
        }

        .hover\:to-brand-dark:hover {
            --tw-gradient-to: var(--brand-dark) !important;
        }

        /* 簡潔的背景漸變 - CIS 色調 */
        .bg-gradient-primary {
            background: linear-gradient(135deg, var(--brand-light) 0%, var(--brand-dark) 100%);
        }

        /* 卡片陰影 */
        .card-shadow {
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
        }

        .card-shadow-lg {
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }

