/* ============ 橙媒客服全域AI · 管理后台样式 ============ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; background:#F5F6FA; color:#1E293B; font-size:14px; }

/* 登录 */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#FFF7ED,#FFEDD5); }
.login-card { background:#fff; border-radius:16px; padding:44px 40px; width:360px; box-shadow:0 8px 30px rgba(234,88,12,.12); }
.login-logo { font-size:26px; font-weight:800; color:#EA580C; text-align:center; }
.login-logo span { color:#1E293B; font-weight:600; margin-left:4px; }
.login-sub { text-align:center; color:#94A3B8; font-size:13px; margin:6px 0 26px; }
.login-card input { width:100%; padding:12px 14px; border:1px solid #E2E8F0; border-radius:8px; margin-bottom:14px; font-size:14px; outline:none; }
.login-card input:focus { border-color:#EA580C; }
.login-err { color:#DC2626; font-size:13px; text-align:center; min-height:20px; margin-top:10px; }

/* 布局 */
.app { display:flex; min-height:100vh; }
.side { width:210px; background:#1E293B; color:#CBD5E1; display:flex; flex-direction:column; position:fixed; top:0; bottom:0; }
.side-logo { padding:20px 18px; font-size:17px; font-weight:800; color:#FB923C; border-bottom:1px solid #334155; }
.side-logo span { color:#fff; font-weight:500; font-size:14px; margin-left:4px; }
#nav { flex:1; padding:12px 0; overflow-y:auto; }
#nav a { display:block; padding:11px 20px; color:#94A3B8; cursor:pointer; font-size:14px; border-left:3px solid transparent; }
#nav a:hover { color:#fff; background:#33415555; }
#nav a.active { color:#FB923C; border-left-color:#EA580C; background:#33415555; }
.side-foot { padding:14px 20px; border-top:1px solid #334155; font-size:13px; display:flex; justify-content:space-between; }
.side-foot a { color:#FB923C; cursor:pointer; }
.main { flex:1; margin-left:210px; padding:0 28px 40px; }
.topbar { padding:22px 0 16px; border-bottom:1px solid #E2E8F0; margin-bottom:20px; }
.topbar h1 { font-size:20px; font-weight:700; }
.view { display:none; } .view.active { display:block; }

/* 卡片与表格 */
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.stat { background:#fff; border-radius:12px; padding:20px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.stat .num { font-size:26px; font-weight:800; color:#EA580C; margin-top:6px; }
.stat .lbl { color:#64748B; font-size:13px; }
.panel { background:#fff; border-radius:12px; padding:20px; box-shadow:0 1px 3px rgba(0,0,0,.06); margin-bottom:20px; }
.panel h3 { font-size:15px; margin-bottom:14px; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th,td { text-align:left; padding:9px 10px; border-bottom:1px solid #F1F5F9; vertical-align:middle; }
th { color:#64748B; font-weight:600; background:#F8FAFC; }
tr:hover td { background:#FAFAFA; }
.tag { display:inline-block; padding:2px 8px; border-radius:10px; font-size:12px; }
.tag-green { background:#D1FAE5; color:#047857; } .tag-red { background:#FEE2E2; color:#B91C1C; }
.tag-gray { background:#F1F5F9; color:#64748B; } .tag-orange { background:#FFEDD5; color:#C2410C; }
.tag-blue { background:#DBEAFE; color:#1D4ED8; }

/* 按钮与表单 */
.btn { padding:8px 16px; border:1px solid #E2E8F0; border-radius:8px; background:#fff; cursor:pointer; font-size:13px; }
.btn:hover { border-color:#CBD5E1; }
.btn-primary { background:#EA580C; border-color:#EA580C; color:#fff; }
.btn-primary:hover { background:#C2410C; }
.btn-block { width:100%; padding:12px; font-size:15px; }
.btn-sm { padding:4px 10px; font-size:12px; margin-right:6px; }
.btn-danger { color:#B91C1C; border-color:#FECACA; }
.toolbar { display:flex; gap:10px; margin-bottom:16px; align-items:center; flex-wrap:wrap; }
.toolbar select, .toolbar input { padding:8px 12px; border:1px solid #E2E8F0; border-radius:8px; font-size:13px; }

/* 弹窗 */
.modal { position:fixed; inset:0; background:rgba(15,23,42,.45); display:flex; align-items:center; justify-content:center; z-index:100; }
.modal-card { background:#fff; border-radius:14px; padding:26px; width:460px; max-height:85vh; overflow-y:auto; }
.modal-card h3 { font-size:16px; margin-bottom:16px; }
.modal-card label { display:block; font-size:13px; color:#64748B; margin:10px 0 4px; }
.modal-card input, .modal-card select, .modal-card textarea { width:100%; padding:9px 12px; border:1px solid #E2E8F0; border-radius:8px; font-size:13px; outline:none; }
.modal-card input:focus { border-color:#EA580C; }
.modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }

/* Toast */
#toast { position:fixed; top:24px; left:50%; transform:translateX(-50%); background:#1E293B; color:#fff; padding:10px 22px; border-radius:10px; font-size:13px; opacity:0; transition:opacity .3s; z-index:200; pointer-events:none; }
#toast.show { opacity:1; }
.muted { color:#94A3B8; font-size:12px; }
