/* ============================================================
 *  Green Theme - Login Page Common (Rose)
 *  登录页公共样式 - 基于 blue 版本同步
 * ============================================================ */

/* ====== 通用工具类 ====== */
.clearfix::after {
    content: '';
    display: table;
    clear: both;
}
.fl { float: left; }
.fr { float: right; }

/* ====== 链接样式重置 ====== */
a {
    color: #DB2777;
    text-decoration: none;
    transition: color 0.2s ease;
}
a:hover {
    color: #BE185D;
}

/* ====== 表单控件统一样式清除 ====== */
textarea,
input {
    resize: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* ====== 输入框通用增强 ====== */
input[type="text"],
input[type="password"] {
    border-radius: 10px;
    transition: all 0.2s ease;
}

/* ====== 下拉选择框样式 ====== */
select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394A3B8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px !important;
}

/* ====== 错误提示样式 ====== */
.error-msg {
    color: #EF4444;
    font-size: 12px;
    margin-top: 4px;
    display: none;
}
.form li.error .error-msg {
    display: block;
}
.form li.error input,
.form li.error select {
    border-color: #EF4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.08);
}

/* ====== 加载动画 ====== */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(219,39,119,0.2);
    border-top-color: #DB2777;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}

/* ====== 响应式适配 ====== */
@media screen and (max-width: 480px) {
    .login_box {
        margin-left: -50%;
        width: 90%;
        min-width: auto;
        padding: 24px 20px;
    }
    .welcome {
        font-size: 18px;
    }
}
