/**
 * Authentication Pages Styling (Login & Create Account)
 * 统一登录和注册页面的样式，与一页支付保持一致
 * @version 1.0.0 2024-05-14
 */

/* 容器样式 */
#loginDefault,
#createAcctDefault {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* 标题样式 */
#loginDefaultHeading,
#createAcctDefaultHeading {
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #0073aa;
    color: #222;
    letter-spacing: 0.3px;
}

/* Fieldset 样式 */
#loginDefault fieldset,
#createAcctDefault fieldset {
    background: #fff;
    padding: 25px;
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

#loginDefault fieldset legend,
#createAcctDefault fieldset legend {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 20px 0;
    padding: 0 10px;
    color: #222;
    letter-spacing: 0.3px;
}

/* 表单标签样式 */
#loginDefault label.inputLabel,
#createAcctDefault label.inputLabel,
#loginDefault label.selectLabel,
#createAcctDefault label.selectLabel {
    display: block;
    font-weight: 500;
    margin-bottom: 8px;
    color: #444;
    font-size: 14px;
    letter-spacing: 0.2px;
    width: 100% !important;
    float: none !important;
}

/* 输入框样式 */
#loginDefault input[type="text"],
#loginDefault input[type="email"],
#loginDefault input[type="tel"],
#loginDefault input[type="password"],
#createAcctDefault input[type="text"],
#createAcctDefault input[type="email"],
#createAcctDefault input[type="tel"],
#createAcctDefault input[type="password"],
#loginDefault select,
#createAcctDefault select {
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #ccc !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: #333 !important;
    background-color: #fff !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    margin-left: 0 !important;
    margin-bottom: 15px !important;
    height: 46px !important;
}

#loginDefault input[type="text"]:hover,
#loginDefault input[type="email"]:hover,
#loginDefault input[type="tel"]:hover,
#loginDefault input[type="password"]:hover,
#createAcctDefault input[type="text"]:hover,
#createAcctDefault input[type="email"]:hover,
#createAcctDefault input[type="tel"]:hover,
#createAcctDefault input[type="password"]:hover,
#loginDefault select:hover,
#createAcctDefault select:hover {
    border-color: #b0b0b0 !important;
}

#loginDefault input[type="text"]:focus,
#loginDefault input[type="email"]:focus,
#loginDefault input[type="tel"]:focus,
#loginDefault input[type="password"]:focus,
#createAcctDefault input[type="text"]:focus,
#createAcctDefault input[type="email"]:focus,
#createAcctDefault input[type="tel"]:focus,
#createAcctDefault input[type="password"]:focus,
#loginDefault select:focus,
#createAcctDefault select:focus {
    border-color: #0073aa !important;
    outline: 0 !important;
    box-shadow: 0 0 0 1px rgba(0, 115, 170, 0.1) !important;
    background-color: #fafafa !important;
}

/* Select 下拉框样式 */
#loginDefault select,
#createAcctDefault select {
    cursor: pointer;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3e%3cpolyline points="6 9 12 15 18 9"%3e%3c/polyline%3e%3c/svg%3e');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Placeholder 样式 */
#loginDefault input::placeholder,
#createAcctDefault input::placeholder {
    color: #999;
    opacity: 1;
}

/* Radio 和 Checkbox 样式 */
#loginDefault input[type="radio"],
#loginDefault input[type="checkbox"],
#createAcctDefault input[type="radio"],
#createAcctDefault input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    cursor: pointer;
    accent-color: #0073aa;
    vertical-align: middle;
}

#loginDefault label.radioButtonLabel,
#loginDefault label.checkboxLabel,
#createAcctDefault label.radioButtonLabel,
#createAcctDefault label.checkboxLabel {
    display: inline-block;
    font-weight: normal;
    margin-right: 20px;
    margin-bottom: 10px;
    cursor: pointer;
    user-select: none;
}

/* 按钮行样式 */
#loginDefault .buttonRow,
#createAcctDefault .buttonRow {
    margin: 20px 0 10px 0;
}

#loginDefault .buttonRow.forward,
#createAcctDefault .buttonRow.forward {
    float: none;
    text-align: center;
}

#loginDefault .buttonRow.back,
#createAcctDefault .buttonRow.back {
    float: none;
    text-align: center;
    margin-top: 15px;
}

/* 提交按钮样式 */
#loginDefault input[type="image"],
#createAcctDefault input[type="image"] {
    width: auto !important;
    height: auto !important;
    min-width: 200px;
    padding: 14px 32px !important;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #0073aa 0%, #005a87 100%);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 115, 170, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#loginDefault input[type="image"]:hover,
#createAcctDefault input[type="image"]:hover {
    background: linear-gradient(135deg, #005a87 0%, #004d73 100%);
    box-shadow: 0 6px 12px rgba(0, 115, 170, 0.4);
    transform: translateY(-2px);
}

#loginDefault input[type="image"]:active,
#createAcctDefault input[type="image"]:active {
    background: linear-gradient(135deg, #004d73 0%, #003f5c 100%);
    box-shadow: 0 2px 4px rgba(0, 115, 170, 0.3);
    transform: translateY(0);
}

/* 浮动框样式（登录页面的两列布局） */
#loginDefault .floatingBox {
    background: #fff;
    padding: 25px;
    margin-bottom: 20px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    width: 48% !important;
    float: left;
    box-sizing: border-box;
}

#loginDefault .floatingBox.back {
    margin-right: 4%;
}

#loginDefault .floatingBox.forward {
    float: right;
}

#loginDefault .floatingBox legend {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 20px 0;
    padding: 0;
    color: #222;
    letter-spacing: 0.3px;
}

/* 信息文本样式 */
#loginDefault .information,
#createAcctDefault .information {
    padding: 15px;
    margin-bottom: 15px;
    background: #f9f9f9;
    border-left: 3px solid #66afe9;
    font-size: 14px;
    color: #666;
    line-height: 1.6;
}

/* 警告/提示样式 */
#loginDefault .alert,
#createAcctDefault .alert {
    color: #e74c3c;
    font-size: 13px;
    margin-left: 5px;
}

#loginDefault .advisory,
#createAcctDefault .advisory {
    padding: 15px;
    margin-bottom: 20px;
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    color: #856404;
    border-radius: 4px;
}

/* 重要链接样式 */
#loginDefault .important a,
#createAcctDefault .important a {
    color: #0073aa;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

#loginDefault .important a:hover,
#createAcctDefault .important a:hover {
    color: #005a87;
    text-decoration: underline;
}

/* 登录链接提示 */
#createAcctDefaultLoginLink {
    text-align: center;
    padding: 15px;
    margin-bottom: 20px;
    background: #f0f8ff;
    border: 1px solid #b3d9ff;
    border-radius: 6px;
    font-size: 15px;
}

#createAcctDefaultLoginLink a {
    color: #0073aa;
    font-weight: 600;
    text-decoration: none;
}

#createAcctDefaultLoginLink a:hover {
    color: #005a87;
    text-decoration: underline;
}

/* 清除浮动 */
#loginDefault::after,
#createAcctDefault::after {
    content: "";
    display: table;
    clear: both;
}

/* 响应式设计 */
@media (max-width: 768px) {
    #loginDefault .floatingBox {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
        margin-bottom: 20px;
    }
    
    #loginDefault .floatingBox.back,
    #loginDefault .floatingBox.forward {
        float: none !important;
    }
    
    #loginDefault,
    #createAcctDefault {
        padding: 15px;
    }
    
    #loginDefault fieldset,
    #createAcctDefault fieldset {
        padding: 20px 15px;
    }
    
    #loginDefaultHeading,
    #createAcctDefaultHeading {
        font-size: 24px;
    }
}

/* 消息提示样式 */
.messageStackError,
.messageStackWarning,
.messageStackSuccess {
    padding: 12px 15px;
    margin-bottom: 20px;
    border-radius: 4px;
    border-left: 4px solid;
}

.messageStackError {
    background-color: #f8d7da;
    border-color: #dc3545;
    color: #721c24;
}

.messageStackWarning {
    background-color: #fff3cd;
    border-color: #ffc107;
    color: #856404;
}

.messageStackSuccess {
    background-color: #d4edda;
    border-color: #28a745;
    color: #155724;
}
