/* ============================================
   表单页面共享样式 — 暗金主题
   ============================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html, body { width:100%; height:100%; background:#0f1319; }
body { font-family:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif; color:#e8e6e3; -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; }

.fm-header {
    position:fixed; top:0; left:0; right:0; height:50px;
    background:linear-gradient(180deg, rgba(15,19,25,0.98), rgba(15,19,25,0.92));
    backdrop-filter:blur(20px); display:flex; align-items:center; justify-content:space-between;
    padding:0 12px; z-index:100; border-bottom:1px solid rgba(212,165,116,0.08);
}
.fm-back { width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:none; border:none; color:#D4A574; cursor:pointer; }
.fm-title { font-size:17px; font-weight:600; color:#e8e6e3; }
.fm-right { width:36px; }

.fm-tabs {
    position:fixed; top:50px; left:0; right:0; height:44px;
    background:rgba(15,19,25,0.95); backdrop-filter:blur(20px);
    display:flex; z-index:90; border-bottom:1px solid rgba(212,165,116,0.08);
}
.fm-tab {
    flex:1; height:44px; display:flex; align-items:center; justify-content:center;
    background:none; border:none; font-size:14px; color:rgba(255,255,255,0.35);
    cursor:pointer; font-family:inherit; position:relative;
}
.fm-tab.active { color:#D4A574; font-weight:600; }
.fm-tab.active::after {
    content:''; position:absolute; bottom:0; left:20%; right:20%;
    height:2px; background:linear-gradient(90deg, transparent, #D4A574, transparent); border-radius:1px;
}

.fm-content {
    position:fixed; top:50px; left:0; right:0; bottom:0;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.fm-content.has-tabs { top:94px; }
.fm-content::-webkit-scrollbar { display:none; }

.fm-section { background:rgba(255,255,255,0.02); padding:0 16px; margin-bottom:10px; border-bottom:1px solid rgba(212,165,116,0.06); }

.fm-group { padding:18px 0; border-bottom:1px solid rgba(212,165,116,0.06); }
.fm-group:last-child { border-bottom:none; }
.fm-label { font-size:14px; font-weight:500; color:#e8e6e3; margin-bottom:10px; display:flex; justify-content:space-between; align-items:center; }
.fm-label .required { color:#E94560; }
.fm-label .fm-toggle { font-size:13px; color:#D4A574; cursor:pointer; background:none; border:none; font-family:inherit; }

.fm-input {
    width:100%; padding:12px 0; border:none; border-bottom:1px solid rgba(212,165,116,0.08);
    font-size:15px; color:#e8e6e3; background:transparent; outline:none; font-family:inherit;
}
.fm-input::placeholder { color:rgba(255,255,255,0.25); }
.fm-input:focus { border-bottom-color:#D4A574; }

.fm-select-wrap { position:relative; }
.fm-select {
    width:100%; padding:12px 30px 12px 0; border:none; border-bottom:1px solid rgba(212,165,116,0.08);
    font-size:15px; color:#e8e6e3; background:transparent; outline:none;
    appearance:none; -webkit-appearance:none; font-family:inherit; cursor:pointer;
}
.fm-select option { background:#1a1f2e; color:#e8e6e3; }
.fm-select:invalid, .fm-select option[value=""] { color:rgba(255,255,255,0.25); }
.fm-select-arrow { position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:14px; color:rgba(255,255,255,0.3); pointer-events:none; }

.fm-btn {
    display:block; width:100%; padding:14px; margin:8px 0;
    border:none; border-radius:6px; font-size:16px; font-weight:500;
    cursor:pointer; font-family:inherit; text-align:center;
}
.fm-btn-primary {
    background:linear-gradient(135deg, #D4A574, #E8C07A);
    color:#0f1319; font-weight:600;
    box-shadow:0 2px 10px rgba(212,165,116,0.25);
}
.fm-btn-primary:active { opacity:0.85; }
.fm-btn-secondary { background:rgba(255,255,255,0.04); color:rgba(255,255,255,0.6); border:1px solid rgba(212,165,116,0.1); }
.fm-btn-secondary:active { background:rgba(255,255,255,0.06); }

.fm-tip {
    background:rgba(212,165,116,0.06); padding:14px 16px; margin:16px;
    border-radius:8px; font-size:13px; line-height:1.7; color:#D4A574;
    border:1px solid rgba(212,165,116,0.1);
}
.fm-tip-title { font-weight:600; margin-bottom:4px; }

.fm-panel { display:none; }
.fm-panel.active { display:block; }

.toast {
    position:fixed; top:50%; left:50%;
    transform:translate(-50%,-50%) scale(0.8);
    background:rgba(0,0,0,0.85); color:#fff;
    padding:12px 24px; border-radius:8px; font-size:14px;
    z-index:9999; opacity:0; pointer-events:none;
    transition:all 0.3s cubic-bezier(0.16,1,0.3,1);
}
.toast.show { opacity:1; transform:translate(-50%,-50%) scale(1); }
