/* ===== auth.css — 追爽文背单词 用户管理样式 ===== */

/* 顶部横幅 */
.um-top-wrap{margin-bottom:20px}
.um-top-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 20px;
  background:linear-gradient(135deg,#f8bbd9 0%,#f5a3c7 30%,#e890b5 60%,#d482ab 100%);
  border-radius:14px 14px 0 0;
  box-shadow:0 3px 12px rgba(232,144,181,.25);
  position:relative;z-index:10
}
.um-brand{font-weight:700;font-size:16px;letter-spacing:1px;text-shadow:0 1px 3px rgba(180,80,120,.2);white-space:nowrap;color:#fff}
.um-update-bar{
  display:flex;align-items:center;gap:8px;
  padding:10px 16px;
  background:linear-gradient(135deg,#fce4ec 0%,#f8bbd9 50%,#f5a3c7 100%);
  border-radius:0 0 14px 14px;
  border-top:1px solid rgba(255,255,255,.4)
}
.um-new-badge{background:#2196F3;color:#fff;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:.5px;flex-shrink:0}
.um-notice-text{flex:1;font-size:13px;font-weight:600;color:#333;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.um-notice-btn{padding:5px 16px;background:linear-gradient(135deg,#e91e63,#f06292);color:#fff;border:none;border-radius:18px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}
.um-notice-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(233,30,99,.35)}
.um-btn-sm{padding:6px 16px;border:none;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.um-login-btn{background:#fff;color:#c44a78}
.um-login-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.15)}
.um-logout-btn{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.45)}
.um-dashboard-btn{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.45)}

/* 弹窗遮罩 + 面板 */
.um-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:9999;justify-content:center;align-items:center;padding:20px;backdrop-filter:blur(4px)}
.um-overlay.active{display:flex}
.um-panel{background:#fff;border-radius:20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;padding:36px 28px;box-shadow:0 20px 60px rgba(0,0,0,.25);position:relative}
.um-close{position:absolute;top:14px;right:16px;background:#f0f0f5;border:none;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#888;transition:all .15s}
.um-close:hover{background:#e0e0e8;color:#333}

/* 表单 */
.um-title{text-align:center;font-size:22px;font-weight:700;margin-bottom:6px;background:linear-gradient(135deg,#ff6b9d,#c471f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.um-subtitle{text-align:center;color:#999;font-size:13px;margin-bottom:24px}
.um-group{margin-bottom:16px}
.um-label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:6px}
.um-input{width:100%;padding:10px 14px;border:2px solid #e8e8f0;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box;transition:border-color .2s}
.um-input:focus{border-color:#c471f5;box-shadow:0 0 0 3px rgba(196,113,245,.1)}
.um-btn{width:100%;padding:12px;background:linear-gradient(135deg,#ff6b9d,#c471f5);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:all .2s}
.um-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(196,113,245,.3)}
.um-btn-outline{width:100%;padding:12px;background:#fff;color:#c471f5;border:2px solid #c471f5;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s}
.um-btn-outline:hover{background:#faf5ff}
.um-link{text-align:center;margin-top:14px;font-size:13px;color:#999}
.um-a{color:#c471f5;text-decoration:none;font-weight:600;cursor:pointer}
.um-a:hover{text-decoration:underline}

/* 安全问题 */
.um-q-box{background:#f8f6ff;border-radius:10px;padding:12px;margin-bottom:10px;border:1px solid #ede7f6}
.um-q-box select{width:100%;padding:8px 10px;border:2px solid #e8e8f0;border-radius:8px;font-size:13px;outline:none;background:#fff;box-sizing:border-box;margin-bottom:6px}
.um-hint{font-size:11px;color:#22c55e;margin-top:4px}

/* Dashboard */
.dash-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
.dash-stat{background:linear-gradient(135deg,#f8f6ff,#fff);border-radius:12px;padding:14px;text-align:center;border:1px solid #ede7f6}
.dash-stat .n{font-size:26px;font-weight:800;background:linear-gradient(135deg,#ff6b9d,#c471f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.dash-stat .l{font-size:11px;color:#999;margin-top:2px}

/* 兑换码卡片 */
.code-item{background:white;border-radius:12px;padding:14px 16px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:all .2s;border:1px solid #f0f0f5}
.code-item:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.1)}
.code-item-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.code-val{font-size:16px;font-weight:700;font-family:'Courier New',monospace;color:#1a237e}
.code-tag{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}
.tag-cet4{background:#e6f7ff;color:#0066cc}
.tag-cet6{background:#fff3e6;color:#cc6600}
.tag-kaoyan{background:#f0ffe6;color:#339900}
.tag-ielts{background:#ffe6f0;color:#cc0066}
.code-info{font-size:12px;color:#888;display:flex;gap:12px;flex-wrap:wrap}

/* Demo账号提示 */
.demo-acct{margin-top:14px;padding:12px;background:linear-gradient(135deg,#fef8ff,#f5f0ff);border-radius:10px;font-size:12px;border:1px dashed #c471f5;line-height:1.8;color:#666}

/* 设备弹窗 */
.dev-row{display:flex;align-items:center;padding:12px;background:#faf8ff;border-radius:10px;margin-bottom:8px;gap:10px;border:1px solid #ede7f6}
.dev-icon{width:36px;height:36px;background:linear-gradient(135deg,rgba(255,107,157,.12),rgba(196,113,245,.12));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.dev-info{flex:1}
.dev-name{font-size:13px;font-weight:600;color:#333}
.dev-meta{font-size:11px;color:#999;line-height:1.4}
.btn-unbind{background:#fff0f0;color:#ef4444;border:none;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;transition:all .15s}
.btn-unbind:hover{background:#fee2e2}

/* Toast */
@keyframes fadeInOut{0%{opacity:0;transform:translateX(-50%) translateY(10px)}20%{opacity:1;transform:translateX(-50%) translateY(0)}80%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(-10px)}}
.um-toast{position:fixed;top:20%;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:12px 24px;border-radius:10px;font-size:14px;z-index:99999;animation:fadeInOut 2s forwards;pointer-events:none}

/* 主页卡片 */
.container{max-width:800px;margin:0 auto;position:relative;z-index:1}
.header{text-align:center;margin-bottom:40px;position:relative;padding:40px 20px}
.title-box{display:inline-block;border:3px solid #d32f2f;padding:20px 50px;background:#fff;position:relative}
.title-box h1{font-size:2.2em;color:#1a237e;font-weight:700;letter-spacing:2px;margin-bottom:10px}
.title-box .subtitle{font-size:1.1em;color:#555;font-style:normal;margin-top:8px}
.header .description{font-size:1em;line-height:1.8;color:#666;max-width:600px;margin:25px auto 0}
.cards-container{display:flex;flex-direction:column;gap:25px;margin-bottom:40px}
.card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}
.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.1)}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.card-title{font-size:20px;font-weight:700;color:#1a237e}
.card-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.badge-available{background:#e8f5e9;color:#2e7d32}
.badge-disabled{background:#f5f5f5;color:#999}
.card-info{display:flex;gap:16px;margin-bottom:12px;font-size:14px;color:#666}
.card-description{font-size:14px;color:#888;margin-bottom:20px;line-height:1.6}
.card-button{background:linear-gradient(135deg,#ff6b9d,#c471f5);color:#fff;border:none;padding:12px 32px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;width:100%}
.card-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(196,113,245,.3)}
.flower{position:fixed;font-size:30px;opacity:.15;z-index:0;pointer-events:none}
.flower-1{top:15%;right:5%;transform:rotate(15deg)}
.flower-2{bottom:20%;left:3%;transform:rotate(-10deg);font-size:40px}
.flower-3{top:50%;right:2%;transform:rotate(25deg);font-size:25px}
.star{position:fixed;font-size:20px;opacity:.2;z-index:0;pointer-events:none}
.star-1{top:25%;right:8%}
.star-2{bottom:35%;left:5%;font-size:28px}

/* VIP弹窗复用um-panel样式 */
.vip-modal .um-panel{max-width:480px}
