﻿        @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins',sans-serif;
        }

        body {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: linear-gradient(135deg,#667eea 0%,#764ba2 100%);
        }

        .container {
            max-width: 520px;
            width: 100%;
            background: #fff;
            padding: 48px 42px;
            border-radius: 28px;
            box-shadow: 0 25px 60px rgba(0,0,0,0.25);
            position: relative;
            overflow: hidden;
        }

        header {
            font-size: 2rem;
            color: #5a67d8;
            font-weight: 700;
            text-align: center;
            margin-bottom: 6px;
        }

        .subtitle {
            text-align: center;
            color: #718096;
            font-size: 0.95rem;
            margin-bottom: 38px;
        }

        .input-box {
            margin-top: 26px;
            position: relative;
        }

            .input-box label {
                display: block;
                color: #2d3748;
                font-weight: 500;
                margin-bottom: 9px;
                font-size: 0.98rem;
            }

        .required {
            color: #e53e3e;
        }

        /* 強制蓋掉 ASP.NET 的預設樣式，恢復圓角美觀 */
        input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
            height: 56px !important;
            width: 100% !important;
            outline: none !important;
            border: 1.5px solid #e2e8f0 !important;
            border-radius: 16px !important;
            padding: 0 20px !important;
            font-size: 1rem !important;
            background: #fcfcfc !important;
            transition: all .3s !important;
            box-shadow: none !important;
        }

        input:focus {
            border-color: #667eea !important;
            box-shadow: 0 0 0 4px rgba(102,126,234,0.18) !important;
        }

        .status-msg {
            position: absolute;
            left: 0;
            top: 100%;
            margin-top: 6px;
            font-size: 0.88rem;
            font-weight: 500;
            height: 24px;
        }

            .status-msg.success {
                color: #48bb78;
            }

            .status-msg.error {
                color: #f56565;
            }

            .status-msg.loading {
                color: #667eea;
            }

        .column {
            display: flex;
            gap: 16px;
        }

        .phone-group {
            display: flex;
            gap: 16px;
            align-items: center;
        }

            .phone-group .input-box:first-child {
                flex: 0 0 100px; /* 原本是 0.38 → 現在固定 100px，足夠放下 +852 */
                min-width: 100px;
            }

            .phone-group .input-box:last-child {
                flex: 1; /* 電話號碼欄位自動撐滿剩餘空間 */
            }

            .phone-group input {
                text-align: center;
                font-weight: 600;
            }

        .role-box {
            margin-top: 30px;
        }

            .role-box h3 {
                color: #2d3748;
                font-weight: 500;
                margin-bottom: 14px;
            }

        .role-option {
            display: flex;
            gap: 40px;
            flex-wrap: wrap;
        }

        .role {
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
        }

            .role input[type="checkbox"] {
                width: 22px;
                height: 22px;
                accent-color: #667eea;
                border-radius: 6px;
            }

            .role label {
                font-size: 1.05rem;
                color: #2d3748;
                cursor: pointer;
            }

        .submit-btn {
            height: 60px;
            width: 100%;
            background: #e53e3e;
            color: white;
            font-size: 1.2rem;
            font-weight: 600;
            border: none;
            border-radius: 18px;
            cursor: pointer;
            margin-top: 42px;
            transition: all .3s;
            box-shadow: 0 10px 20px rgba(229,62,62,0.3);
        }

            .submit-btn:hover {
                background: #c53030;
                transform: translateY(-3px);
            }

        @media (max-width:520px) {
            .column, .phone-group {
                flex-direction: column;
            }

            .container {
                padding: 40px 25px;
            }
        }

        /* 標題右邊的小狀態文字 */
        .title-status {
            margin-left: 12px;
            font-size: 0.88rem;
            font-weight: 600;
            color: #718096;
            display: inline-block;
            min-height: 24px;
        }

            .title-status.loading {
                color: #667eea;
            }

            .title-status.success {
                color: #48bb78;
            }

            .title-status.error {
                color: #f56565;
            }
