/* 体卫科艺AI工作台 · 平台版增强样式 */

/* ===== 登录 / 注册层 ===== */
.auth-overlay{
  position:fixed;inset:0;z-index:3000;background:radial-gradient(1200px 600px at 70% -10%,rgba(34,211,238,.08),transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));
  display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;
}
.auth-card{
  width:min(430px,100%);background:linear-gradient(180deg,rgba(19,38,59,.75),rgba(10,20,32,.9));
  border:1px solid var(--line-strong);border-radius:20px;padding:38px 34px 30px;box-shadow:var(--shadow);
}
.auth-logo{display:flex;align-items:center;gap:13px;margin-bottom:6px;}
.auth-logo .al-ico{
  width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,rgba(34,211,238,.22),rgba(45,212,191,.12));
  border:1px solid rgba(34,211,238,.4);display:flex;align-items:center;justify-content:center;color:var(--cyan);flex-shrink:0;
}
.auth-card h1{font-size:20px;font-weight:900;margin:0;letter-spacing:.5px;}
.auth-card .auth-sub{font-size:12px;color:var(--txt-3);margin-top:3px;}
.auth-tabs{display:flex;gap:6px;background:rgba(8,15,26,.6);border:1px solid var(--line);border-radius:11px;padding:4px;margin:24px 0 16px;}
.auth-tabs button{flex:1;padding:9px 0;border:0;background:transparent;color:var(--txt-2);font-size:13px;font-weight:600;border-radius:8px;cursor:pointer;font-family:inherit;}
.auth-tabs button.on{background:rgba(34,211,238,.14);color:var(--cyan);}
.auth-form label{display:block;font-size:11.5px;color:var(--txt-2);margin:13px 0 6px;font-weight:600;}
.auth-form input{
  width:100%;box-sizing:border-box;background:rgba(8,15,26,.6);border:1px solid var(--line);border-radius:10px;
  padding:11px 13px;color:var(--txt-1);font-size:13.5px;outline:none;font-family:inherit;
}
.auth-form input:focus{border-color:rgba(34,211,238,.45);}
.auth-tip{font-size:11px;color:var(--txt-3);line-height:1.6;margin-top:13px;padding:9px 11px;background:rgba(34,211,238,.05);border:1px dashed rgba(34,211,238,.25);border-radius:9px;}
.auth-err{font-size:12px;color:var(--rose);margin-top:11px;min-height:17px;}
.auth-btn{
  width:100%;margin-top:14px;padding:12px 0;border:0;border-radius:11px;background:linear-gradient(135deg,var(--cyan),var(--teal));
  color:#04101C;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;letter-spacing:1px;
}
.auth-btn:disabled{opacity:.5;cursor:wait;}

/* ===== 顶栏用户区 ===== */
.tb-user{display:flex;align-items:center;gap:9px;margin-left:8px;}
.tb-user .tu-ava{
  width:32px;height:32px;border-radius:10px;background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.35);
  display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;color:var(--cyan);
}
.tb-user .tu-name{font-size:12.5px;font-weight:700;line-height:1.2;}
.tb-user .tu-role{font-size:10px;color:var(--txt-3);}
.tb-user .tu-logout{
  margin-left:6px;padding:6px 10px;font-size:11px;border-radius:8px;border:1px solid var(--line);background:rgba(19,38,59,.5);
  color:var(--txt-2);cursor:pointer;font-family:inherit;
}
.tb-user .tu-logout:hover{color:var(--rose);border-color:rgba(251,113,133,.4);}

/* ===== 台账中心 ===== */
.ledger-tabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap;}
.ledger-tabs button{
  padding:8px 16px;border-radius:10px;border:1px solid var(--line);background:rgba(19,38,59,.45);color:var(--txt-2);
  font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;
}
.ledger-tabs button.on{background:rgba(34,211,238,.13);border-color:rgba(34,211,238,.4);color:var(--cyan);}
.ledger-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:13px;flex-wrap:wrap;}
.ledger-toolbar input,.ledger-toolbar select{
  background:rgba(8,15,26,.6);border:1px solid var(--line);border-radius:9px;color:var(--txt-1);
  padding:8px 11px;font-size:12.5px;outline:none;font-family:inherit;
}
.ledger-toolbar input{min-width:190px;}
.ledger-toolbar select{min-width:110px;}
.ledger-toolbar .lt-spacer{flex:1;}
.btn-cy{
  padding:8px 15px;border-radius:9px;border:1px solid rgba(34,211,238,.4);background:rgba(34,211,238,.12);
  color:var(--cyan);font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;
}
.btn-cy:hover{background:rgba(34,211,238,.2);}
.btn-cy.danger{border-color:rgba(251,113,133,.4);background:rgba(251,113,133,.1);color:var(--rose);}
.btn-cy.danger:hover{background:rgba(251,113,133,.18);}
.ledger-count{font-size:12px;color:var(--txt-3);}

/* 表格 */
.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(19,38,59,.35);}
table.ledger-tbl{width:100%;border-collapse:collapse;font-size:12px;min-width:680px;}
table.ledger-tbl th{
  text-align:left;padding:10px 12px;background:rgba(8,15,26,.5);color:var(--txt-2);font-weight:700;font-size:11.5px;
  border-bottom:1px solid var(--line-strong);white-space:nowrap;position:sticky;top:0;
}
table.ledger-tbl td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--txt-1);vertical-align:middle;}
table.ledger-tbl tr:hover td{background:rgba(34,211,238,.045);}
table.ledger-tbl .tbl-empty{text-align:center;color:var(--txt-3);padding:30px 0;}
table.ledger-tbl .row-ops{white-space:nowrap;text-align:right;}
table.ledger-tbl .row-ops button{
  margin-left:6px;padding:4px 9px;font-size:11px;border-radius:7px;border:1px solid var(--line);background:rgba(19,38,59,.6);
  color:var(--txt-2);cursor:pointer;font-family:inherit;
}
table.ledger-tbl .row-ops button:hover{color:var(--cyan);border-color:rgba(34,211,238,.4);}
table.ledger-tbl .row-ops button.del:hover{color:var(--rose);border-color:rgba(251,113,133,.4);}
.tag-lv{display:inline-block;padding:2px 8px;border-radius:6px;font-size:10.5px;font-weight:700;}
.tag-lv.校级{background:rgba(126,178,214,.12);color:#8FB9D8;}
.tag-lv.区级{background:rgba(34,211,238,.12);color:var(--cyan);}
.tag-lv.市级{background:rgba(77,166,255,.14);color:var(--blue);}
.tag-lv.国家级{background:rgba(245,181,68,.13);color:var(--gold);}
.tag-lv.国际{background:rgba(167,139,250,.14);color:var(--violet);}

/* 弹窗 */
.modal-mask{position:fixed;inset:0;z-index:2500;background:rgba(4,10,18,.72);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px);}
.modal-mask.show{display:flex;}
.modal{
  width:min(560px,100%);max-height:86vh;overflow-y:auto;background:linear-gradient(180deg,rgba(19,38,59,.92),rgba(10,20,32,.97));
  border:1px solid var(--line-strong);border-radius:16px;padding:24px 26px;box-shadow:var(--shadow);
}
.modal h3{margin:0 0 16px;font-size:16px;font-weight:800;}
.modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
.modal .form-grid .full{grid-column:1/-1;}
.modal label{display:block;font-size:11px;color:var(--txt-2);margin:10px 0 5px;font-weight:600;}
.modal input,.modal select,.modal textarea{
  width:100%;box-sizing:border-box;background:rgba(8,15,26,.6);border:1px solid var(--line);border-radius:9px;
  color:var(--txt-1);padding:9px 11px;font-size:12.5px;outline:none;font-family:inherit;
}
.modal textarea{min-height:62px;resize:vertical;}
.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:rgba(34,211,238,.45);}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
.modal-actions button{padding:9px 18px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;border:1px solid var(--line);background:rgba(19,38,59,.6);color:var(--txt-2);}
.modal-actions button.primary{border:0;background:linear-gradient(135deg,var(--cyan),var(--teal));color:#04101C;}
.modal-actions button.primary:hover{filter:brightness(1.08);}

/* 只读提示条 */
.ro-banner{
  display:flex;align-items:center;gap:9px;padding:10px 14px;margin-bottom:14px;border-radius:10px;
  background:rgba(34,211,238,.06);border:1px dashed rgba(34,211,238,.3);color:var(--txt-2);font-size:12px;
}
.ro-banner b{color:var(--cyan);font-weight:700;}

/* 对话回复排版 */
.msg-bubble .ai-md{line-height:1.75;}
.msg-bubble .ai-md h4{margin:10px 0 5px;font-size:13.5px;color:var(--cyan);font-weight:800;}
.msg-bubble .ai-md ul,.msg-bubble .ai-md ol{margin:6px 0;padding-left:20px;}
.msg-bubble .ai-md li{margin:3px 0;}
.msg-bubble .ai-md table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11.5px;}
.msg-bubble .ai-md th,.msg-bubble .ai-md td{border:1px solid var(--line-strong);padding:5px 8px;text-align:left;}
.msg-bubble .ai-md th{background:rgba(34,211,238,.08);color:var(--cyan);}
.msg-bubble .ai-md hr{border:0;border-top:1px dashed var(--line-strong);margin:8px 0;}
.msg-bubble .ai-md strong{color:#fff;}

/* 移动端适配 */
@media (max-width:920px){
  .tb-user .tu-name,.tb-user .tu-role{display:none;}
  .modal .form-grid{grid-template-columns:1fr;}
}
