/* um-banner.css - 追爽文背单词 顶部横幅 + 用户管理弹窗样式 */
/* 从 index.html 提取，用于所有子页面 */

/* ===== 顶部横幅 ===== */
.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-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}
a.um-a{color:#c471f5;text-decoration:none;font-weight:600;cursor:pointer}
a.um-a:hover{text-decoration:underline}

/* 安全问题 */
.um-q-box{background:#faf8ff;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;margin-bottom:8px;box-sizing:border-box}
.um-hint{font-size:11px;color:#52c41a;margin-top:4px;display:none}

/* 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:#fff;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-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}

/* Device modal */
.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}

@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,.78);color:#fff;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;z-index:99999;pointer-events:none;animation:fadeInOut 2.5s ease forwards;white-space:nowrap;max-width:80vw;text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.2)}
