/* === 全局 & 登录页 === */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Arial,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;
background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}
.login-box{background:rgba(255,255,255,0.95);padding:40px;border-radius:16px;width:360px;
box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.login-box h1{text-align:center;margin-bottom:8px;color:#333;font-size:1.8em}
.login-box p{text-align:center;color:#666;margin-bottom:24px;font-size:0.9em}
input{width:100%;padding:12px 16px;margin-bottom:16px;border:2px solid #e0e0e0;border-radius:8px;
font-size:1em;transition:border-color 0.3s}
input:focus{outline:none;border-color:#667eea}
button{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:white;
border:none;border-radius:8px;font-size:1.1em;cursor:pointer;transition:opacity 0.3s}
button:hover{opacity:0.9}
.error{color:#e74c3c;text-align:center;margin-bottom:16px;font-size:0.9em}

/* === Dashboard 布局 === */
.dashboard-body{display:flex;min-height:100vh;background:#f5f7fa;align-items:stretch}
.sidebar{width:240px;background:linear-gradient(180deg,#667eea 0%,#764ba2 100%);
color:white;padding:20px 0;display:flex;flex-direction:column;flex-shrink:0}
.sidebar-title{font-size:1.3em;font-weight:bold;padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,0.2)}
.nav-link{color:rgba(255,255,255,0.85);text-decoration:none;padding:14px 20px;
transition:all 0.3s;font-size:1em;display:block}
.nav-link:hover,.nav-link.active{background:rgba(255,255,255,0.15);color:white}
.logout-link{margin-top:auto;color:rgba(255,255,255,0.7)}
.logout-link:hover{background:rgba(231,76,60,0.3);color:#fff}
.content{flex:1;padding:40px;color:#333}
.content h1{font-size:2em;margin-bottom:16px;color:#333}
.content p{font-size:1.1em;color:#555;margin-bottom:12px}
.token-info{margin-top:30px;padding:16px;background:rgba(102,126,234,0.1);border-radius:8px;
font-size:0.85em;word-break:break-all;color:#555}
.sub-content{margin-top:20px;padding:30px;background:white;border-radius:12px;
box-shadow:0 2px 12px rgba(0,0,0,0.08);min-height:300px}

/* === 账户管理卡片 === */
.card{margin-top:24px;padding:24px;background:#fff;border-radius:12px;
box-shadow:0 2px 12px rgba(0,0,0,0.08);max-width:860px}
.card h2{margin-bottom:16px;font-size:1.35em;color:#333}
.acct-create{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.acct-create input{flex:1;min-width:150px;margin-bottom:0}
.acct-create button{width:auto;padding:10px 20px;margin-bottom:0;font-size:1em}
.acct-msg{min-height:1.3em;font-size:.9em;margin-bottom:8px}
.acct-msg.ok{color:#27ae60}.acct-msg.err{color:#e74c3c}
.table-wrap{overflow-x:auto}
table.acct{width:100%;border-collapse:collapse;font-size:.95em}
table.acct th,table.acct td{padding:10px 12px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}
table.acct th{background:#f8f9fb;color:#555}
.badge{display:inline-block;padding:2px 10px;border-radius:10px;font-size:.85em}
.badge.on{background:#e8f8ef;color:#27ae60}
.badge.off{background:#fdeaea;color:#e74c3c}
.linkbtn{background:none;border:none;color:#667eea;cursor:pointer;font-size:.95em;padding:2px 6px;font-family:inherit}
.linkbtn.danger{color:#e74c3c}
.linkbtn:hover{text-decoration:underline}
.hint-inline{color:#999;font-size:.9em}
#behavePanel{margin-top:20px}
#behavePanel h3{font-size:1.1em;margin-bottom:10px;color:#333}

/* === 平板适配 === */
@media (max-width:900px){
  .content{padding:28px}
  .content h1{font-size:1.6em}
}

/* === 手机适配：侧栏变顶栏，内容全宽 === */
@media (max-width:768px){
  .dashboard-body{flex-direction:column}
  .sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:8px;align-items:center}
  .sidebar-title{padding:8px 10px;border-bottom:none;font-size:1.05em}
  .nav-link{padding:8px 10px;font-size:.92em;white-space:nowrap}
  .logout-link{margin-top:0;margin-left:auto}
  .content{padding:16px}
  .content h1{font-size:1.3em}
  .content p{font-size:1em}
  .token-info{font-size:.78em;padding:12px;margin-top:16px}
  .card{padding:16px}
  .login-box{width:90%;max-width:360px;padding:28px 22px}
}
