/* index.css – GlassShadowX 登录页 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
    --bg:#f8ecde;
    --text:#7f5700;
    --accent:#ffa500;
    --accent-hover:#e69500;
    --input-bg:#fff;
    --border:rgba(127,87,0,0.2);
    --radius-lg:28px;
    --radius-md:18px;
    --radius-sm:12px;
    --font:'Segoe UI','PingFang SC',system-ui,-apple-system,sans-serif;
    --transition:0.2s cubic-bezier(0.4,0,0.2,1);
    font-family:var(--font);
    font-size:16px;
    line-height:1.5;
    color:var(--text);
    background:var(--bg);
}
body{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    -webkit-font-smoothing:antialiased;
}

.app-shell{
    width:100%;
    max-width:420px;
}

/* 品牌 */
.brand{text-align:center;margin-bottom:40px;}
.brand-logo{width:52px;height:52px;margin:0 auto 12px;display:block;}
.brand-name{font-size:36px;font-weight:700;letter-spacing:-0.5px;color:var(--text);}
.brand-desc{font-size:14px;opacity:0.6;margin-top:4px;}

/* Tab */
.tab-bar{display:flex;gap:4px;background:rgba(127,87,0,0.08);border-radius:var(--radius-sm);padding:4px;margin-bottom:32px;}
.tab{flex:1;padding:14px 20px;border:none;background:transparent;color:var(--text);font-size:17px;font-weight:600;border-radius:10px;cursor:pointer;transition:all var(--transition);font-family:inherit;}
.tab.active{background:var(--accent);color:#fff;}
.tab:hover:not(.active){background:rgba(255,165,0,0.15);}

/* 消息框 */
.msg-box{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;margin-bottom:20px;display:none;}
.msg-box.success{background:rgba(56,142,60,0.12);color:#2e7d32;display:block;}
.msg-box.error{background:rgba(211,47,47,0.1);color:#c62828;display:block;}

/* 表单面板 */
.form-panel{display:none;}
.form-panel.active{display:block;animation:fadeIn 0.25s ease;}

/* 输入组 */
.input-group{margin-bottom:20px;}
.input-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;opacity:0.85;}
.input-field{width:100%;padding:14px 18px;background:var(--input-bg);border:2px solid var(--border);border-radius:var(--radius-md);font-size:16px;color:var(--text);outline:none;transition:border-color var(--transition),box-shadow var(--transition);font-family:inherit;}
.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,165,0,0.2);}
.input-field::placeholder{color:rgba(127,87,0,0.4);}

/* 文件上传 */
.file-upload{position:relative;}
.file-label{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--input-bg);border:2px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);font-size:14px;color:var(--text);opacity:0.8;}
.file-label:hover{border-color:var(--accent);opacity:1;}
.file-label.has-file{border-style:solid;border-color:var(--accent);}
.hidden-file{display:none;}
.preview-thumb{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-left:auto;display:none;border:2px solid var(--border);}
.preview-thumb.visible{display:block;}

/* 按钮 */
.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:18px;font-weight:700;cursor:pointer;transition:background var(--transition),transform var(--transition);font-family:inherit;letter-spacing:2px;}
.btn-accent:hover{background:var(--accent-hover);transform:translateY(-1px);}
.btn-accent:active{transform:translateY(0);}
.btn-accent:disabled{opacity:0.6;cursor:not-allowed;transform:none;}
.btn-loader{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:spin 0.6s linear infinite;}
.btn-accent.loading .btn-loader{display:block;}
.btn-accent.loading .btn-text{display:none;}

.text-btn{background:none;border:none;color:var(--accent);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:3px;padding:4px 0;margin-bottom:24px;display:block;text-align:right;width:100%;}
.text-btn:hover{color:var(--accent-hover);}

/* 对话框 */
.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;}
.dialog{background:var(--bg);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:400px;box-shadow:0 20px 40px rgba(0,0,0,0.05);}
.dialog-title{font-size:24px;font-weight:700;margin-bottom:8px;}
.dialog-desc{font-size:14px;opacity:0.7;margin-bottom:24px;}
.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;}

/* 验证结果页 */
.result-page{text-align:center;padding:48px 0;}
.result-icon{margin-bottom:20px;}
.result-title{font-size:28px;font-weight:700;margin-bottom:8px;}
.result-desc{font-size:16px;opacity:0.8;margin-bottom:24px;}
.text-link{color:var(--accent);font-weight:600;text-decoration:none;font-size:16px;}

@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes spin{to{transform:rotate(360deg);}}

@media (max-width:480px){
    .brand-name{font-size:28px;}
    .btn-accent{padding:14px 20px;font-size:16px;}
}