/* 📍 完全克隆自 login.php 的 CSS 樣式表 */
        :root {
            --brand-black: #000000;
            --brand-bg: #f8f9fa;
            --card-shadow: rgba(0, 0, 0, 0.08);
        }
        body { 
            background-color: var(--brand-bg); 
            font-family: "PingFang TC", "Microsoft JhengHei", sans-serif; 
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0;
            padding: 15px;
        }
        .login-card { 
            width: 100%; 
            max-width: 400px; 
            border: none; 
            border-radius: 35px; 
            box-shadow: 0 10px 40px var(--card-shadow); 
            overflow: hidden;
            background: #ffffff;
        }
        .brand-section { padding: 45px 20px 25px 20px; }
        .brand-logo-img { width: 90px; height: 90px; object-fit: contain; margin-bottom: 20px; }
        .omway-title { letter-spacing: 5px; font-weight: 900; color: var(--brand-black); margin-bottom: 8px; font-size: 1.75rem; }
        .slogan { font-size: 0.85rem; color: #888; font-style: italic; letter-spacing: 0.5px; }
        
        .form-control { 
            padding: 16px 20px; border-radius: 18px; background-color: #f1f3f5;
            border: 2px solid transparent; font-size: 1rem; transition: 0.3s;
            font-weight: 600;
        }
        .form-control:focus { background-color: #fff; border-color: var(--brand-black); box-shadow: 0 0 0 4px rgba(0,0,0,0.05); outline: none; }
        
        .btn-login {
            padding: 16px; font-weight: 800; border-radius: 18px;
            background-color: var(--brand-black); border: none; color: #fff;
            font-size: 1.1rem; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .btn-login:hover:not(:disabled) { background-color: #333; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.15); }
        .btn-login:disabled { opacity: 0.3; cursor: not-allowed; }
        
        .footer-text { font-size: 0.75rem; color: #adb5bd; letter-spacing: 1px; font-weight: 500; }
        .alert-custom { border-radius: 15px; font-weight: 700; font-size: 0.85rem; background-color: #fff1f0; color: #cf1322; border: 1px solid #ffa39e; }
        .alert-success-custom { border-radius: 30px; font-weight: 600; font-size: 0.95rem; background-color: #f6ffed; color: #389e0d; border: 1px solid #b7eb8f; padding: 40px 30px; }

        /* 註冊專用微調：強度計 */
        .strength-meter { height: 3px; background: #eee; border-radius: 5px; margin-top: 12px; overflow: hidden; }
        .strength-bar { height: 100%; width: 0; transition: 0.5s ease; }
        .strength-bar.strength-0 { width: 0; background-color: #eee; }
        .strength-bar.strength-1 { width: 25%; background-color: #ff4d4f; }
        .strength-bar.strength-2 { width: 50%; background-color: #ffa940; }
        .strength-bar.strength-3 { width: 75%; background-color: #3b82f6; }
        .strength-bar.strength-4 { width: 100%; background-color: #52c41a; }
        .hint-text { font-size: 0.72rem; font-weight: 700; margin-top: 6px; color: #adb5bd; display: flex; justify-content: space-between; align-items: center; }
        #match_text { font-size: 0.72rem; font-weight: 800; margin-top: 6px; min-height: 18px; }

/* Extracted fixed presentation attributes. */
.om-register-inline-001 { font-size: 3.5rem; }
