/* =================================================================
 * 企业智能用工法务系统 · 样式（白标 · 金色高级感）
 * ================================================================= */
:root {
  --gold:#E8C268; --gold-2:#C9922E; --gold-deep:#A87C2A; --gold-soft:#FBF3E2;
  --gold-line:#EAD9B0;
  --ink:#1d1d1f; --ink-2:#4b4b50; --gray:#6e6e73;
  --bg:#f5f5f7; --card:#ffffff; --line:#e8e8ed; --line-2:#efeef2;
  --sidebar-1:#26221b; --sidebar-2:#16130e; --side-text:#cfc7b8; --side-dim:#8a8170;
  --ok:#1e9e4f; --warn:#d98a1f; --danger:#d70015;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 30px rgba(0,0,0,.06);
  --radius:18px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html, body { height:100%; }
body {
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",
    "Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased;
  letter-spacing:.1px;
}
.hidden { display:none !important; }
button { font-family:inherit; cursor:pointer; }
a { color:inherit; }

/* ===================== 登录 ===================== */
#login {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:
    radial-gradient(900px 500px at 18% -8%, rgba(232,194,104,.22), transparent 60%),
    radial-gradient(800px 520px at 108% 16%, rgba(201,146,46,.16), transparent 55%),
    linear-gradient(180deg,#fbfaf7,#f3f1ec);
}
.login-card {
  width:380px; max-width:100%; background:var(--card); border:1px solid var(--line);
  border-radius:24px; padding:38px 34px 30px; box-shadow:var(--shadow);
  text-align:center;
}
.login-brand { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:18px; }
.login-mark { width:40px; height:40px; filter:drop-shadow(0 4px 10px rgba(201,146,46,.3)); }
.login-word { font-size:17px; font-weight:700; color:var(--ink); letter-spacing:.5px; }
.login-card h1 { font-size:24px; font-weight:700; margin-bottom:6px; }
.login-card .sub { color:var(--gray); font-size:13.5px; margin-bottom:24px; }
.field { text-align:left; margin-bottom:14px; }
.field label { display:block; font-size:12.5px; color:var(--ink-2); margin-bottom:7px; font-weight:600; }
.login-input {
  width:100%; height:46px; padding:0 14px; font-size:15px; color:var(--ink);
  background:#fbfbfd; border:1px solid var(--line); border-radius:12px; outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.login-input:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(232,194,104,.18); }
.login-btn {
  width:100%; height:48px; margin-top:8px; border:none; border-radius:13px;
  color:#3a2c08; font-size:16px; font-weight:700; letter-spacing:2px;
  background:linear-gradient(135deg,#FFD685,#E8C268 55%,#C9922E);
  box-shadow:0 6px 18px rgba(201,146,46,.32); transition:transform .12s, filter .12s;
}
.login-btn:hover { filter:brightness(1.04); }
.login-btn:active { transform:translateY(1px); }
.login-err { color:var(--danger); font-size:13px; margin-top:12px; min-height:16px; }
.login-tip { color:var(--gray); font-size:11.5px; line-height:1.6; margin-top:14px; }

/* ===================== 布局 ===================== */
.app { display:flex; height:100vh; overflow:hidden; }

/* ===================== 侧边栏（高级感） ===================== */
.sidebar {
  width:248px; flex:0 0 248px; display:flex; flex-direction:column;
  background:linear-gradient(180deg,var(--sidebar-1),var(--sidebar-2));
  color:var(--side-text); padding:20px 14px 16px; position:sticky; top:0;
}
.side-brand { display:flex; align-items:center; gap:11px; padding:6px 8px 18px; }
.side-logo-img { width:38px; height:38px; border-radius:11px; object-fit:cover; box-shadow:0 4px 12px rgba(0,0,0,.35); }
.side-logo-init {
  width:38px; height:38px; flex:0 0 38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:800; color:#3a2c08;
  background:linear-gradient(135deg,#FFD685,#C9922E); box-shadow:0 4px 12px rgba(0,0,0,.35);
}
.side-brand b { color:#fff; font-size:15px; font-weight:700; display:block; line-height:1.2; }
.side-brand span { color:var(--side-dim); font-size:11.5px; }

.nav { display:flex; flex-direction:column; gap:3px; margin-top:4px; }
.nav-group { font-size:10.5px; letter-spacing:1.5px; color:var(--side-dim);
  text-transform:uppercase; padding:16px 10px 6px; }
.nav-item {
  display:flex; align-items:center; gap:11px; padding:11px 12px; border:none; background:transparent;
  color:var(--side-text); font-size:14px; font-weight:500; text-align:left; width:100%;
  border-radius:11px; position:relative; transition:background .15s, color .15s; cursor:pointer;
}
.nav-item svg { width:19px; height:19px; flex:0 0 19px; opacity:.85; }
.nav-item:hover { background:rgba(232,194,104,.09); color:#fff; }
.nav-item.active {
  background:linear-gradient(90deg, rgba(232,194,104,.18), rgba(232,194,104,.05));
  color:#fff; font-weight:600;
}
.nav-item.active::before {
  content:""; position:absolute; left:0; top:8px; bottom:8px; width:3.5px;
  border-radius:0 3px 3px 0; background:linear-gradient(180deg,#FFD685,#C9922E);
  box-shadow:0 0 10px rgba(232,194,104,.6);
}
.nav-item.active svg { opacity:1; color:var(--gold); }

.side-foot { margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }
.side-foot-pill {
  display:flex; align-items:center; gap:7px; font-size:12px; color:var(--side-dim);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06);
  padding:7px 11px; border-radius:999px;
}
.side-foot-pill .dot { width:7px; height:7px; border-radius:50%; background:#34c759; box-shadow:0 0 8px #34c759; }
.side-foot-pill .clock { margin-left:auto; font-variant-numeric:tabular-nums; color:var(--side-text); }
.side-foot-slogan { margin:14px 2px 4px; }
.gold-grad {
  font-size:15px; font-weight:800; line-height:1.4; letter-spacing:.3px;
  background:linear-gradient(90deg,#FFE3A8,#E8C268 55%,#C9922E);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.side-foot-meta { display:flex; gap:14px; margin-top:12px; padding:0 4px; }
.side-foot-meta a { font-size:12.5px; color:var(--side-dim); text-decoration:none; transition:color .15s; }
.side-foot-meta a:hover { color:var(--gold); }

/* ===================== 主区 ===================== */
.main { flex:1; display:flex; flex-direction:column; min-width:0; background:var(--bg); }
.topbar {
  height:60px; flex:0 0 60px; display:flex; align-items:center; gap:14px; padding:0 22px;
  background:rgba(255,255,255,.86); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line); position:sticky; top:0; z-index:5;
}
.topbar-left { display:flex; align-items:center; gap:11px; min-width:0; }
.topbar-mark {
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#3a2c08; background:linear-gradient(135deg,#FFD685,#C9922E); font-size:15px;
}
.topbar-title { display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.topbar-title strong { font-size:15px; font-weight:700; }
.topbar-title span { font-size:11.5px; color:var(--gray); display:flex; align-items:center; gap:5px; }
.topbar-title .dot { width:6px; height:6px; border-radius:50%; background:var(--ok); }
.crumb { color:var(--gray); font-size:12.5px; padding-left:14px; margin-left:6px; border-left:1px solid var(--line); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.spacer { flex:1; }
.topbar-actions { display:flex; gap:9px; }
.ghost-btn {
  height:36px; padding:0 15px; border:1px solid var(--line); background:#fff; color:var(--ink-2);
  border-radius:10px; font-size:13.5px; font-weight:600; transition:border-color .15s, color .15s, background .15s;
}
.ghost-btn:hover { border-color:var(--gold); color:var(--gold-deep); }
.primary-btn {
  height:36px; padding:0 18px; border:none; border-radius:10px; color:#3a2c08; font-size:13.5px; font-weight:700;
  background:linear-gradient(135deg,#FFD685,#E8C268 55%,#C9922E); box-shadow:0 4px 12px rgba(201,146,46,.28);
  transition:filter .12s, transform .12s;
}
.primary-btn:hover { filter:brightness(1.04); }
.primary-btn:active { transform:translateY(1px); }

/* ===================== 聊天主区 ===================== */
.chat { flex:1; overflow-y:auto; padding:30px 26px 10px; }
.hero { display:flex; gap:32px; align-items:center; padding:34px 34px; background:var(--card);
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); margin-bottom:26px; }
.hero-visual { flex:0 0 auto; }
.hero-logo-wrap { position:relative; width:140px; height:140px; display:flex; align-items:center; justify-content:center; }
.hero-logo { width:132px; height:132px; border-radius:24px; object-fit:cover; box-shadow:0 12px 34px rgba(201,146,46,.28); animation:xyFloaty 6s ease-in-out infinite; }
.hero-logo-init {
  width:132px; height:132px; border-radius:24px; display:flex; align-items:center; justify-content:center;
  font-size:54px; font-weight:800; color:#3a2c08; background:linear-gradient(135deg,#FFD685,#C9922E);
  box-shadow:0 12px 34px rgba(201,146,46,.28); animation:xyFloaty 6s ease-in-out infinite;
}
.hero-pulse { position:absolute; inset:-6px; border-radius:30px; border:2px solid rgba(232,194,104,.5); animation:xyPulse 3.4s ease-out infinite; pointer-events:none; }
.hero-content { min-width:0; }
.hero-eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.6px; color:var(--gold-deep);
  background:var(--gold-soft); border:1px solid var(--gold-line); padding:5px 12px; border-radius:999px; margin-bottom:14px; }
.hero-title { font-size:31px; font-weight:800; line-height:1.25; letter-spacing:-.3px; }
.hero-title em { font-style:normal; background:linear-gradient(90deg,#E8C268,#C9922E); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-sub { color:var(--ink-2); font-size:14.5px; line-height:1.8; margin:14px 0 18px; }
.hero-sub b { color:var(--ink); }
.hero-meta { display:flex; flex-wrap:wrap; gap:10px; }
.hero-pill { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink-2);
  background:#fff; border:1px solid var(--line); padding:7px 13px; border-radius:999px; }
.hero-pill .hp-dot { width:7px; height:7px; border-radius:50%; background:var(--gold); }
.hero-pill .hp-dot.ok { background:var(--ok); }
.hero-pill .hp-dot.gold { background:var(--gold-2); }

.sec-head { display:flex; align-items:baseline; gap:12px; margin:30px 4px 16px; }
.sec-head h2 { font-size:19px; font-weight:750; }
.sec-head .sec-sub { font-size:13px; color:var(--gray); }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.value-card { background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:20px 18px;
  box-shadow:var(--shadow); transition:transform .16s, box-shadow .16s, border-color .16s; position:relative; overflow:hidden; }
.value-card:hover { transform:translateY(-3px); border-color:var(--gold-line); box-shadow:0 14px 40px rgba(201,146,46,.14); }
.value-card::after { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--c1,#E8C268),var(--c2,#C9922E)); opacity:0; transition:opacity .16s; }
.value-card:hover::after { opacity:1; }
.vc-icon { width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  color:#3a2c08; background:linear-gradient(135deg,var(--c1,#FFD685),var(--c2,#C9922E)); margin-bottom:14px; box-shadow:0 6px 16px rgba(201,146,46,.22); }
.vc-icon svg { width:24px; height:24px; }
.value-card h3 { font-size:16px; font-weight:700; margin-bottom:7px; }
.value-card p { font-size:13px; color:var(--gray); line-height:1.7; min-height:44px; }
.vc-tag { display:inline-block; margin-top:12px; font-size:11px; font-weight:700; color:var(--gold-deep);
  background:var(--gold-soft); border:1px solid var(--gold-line); padding:3px 10px; border-radius:999px; }

.quick-section { margin-bottom:20px; }
.qs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.q-card { display:flex; align-items:center; gap:13px; text-align:left; background:var(--card); border:1px solid var(--line);
  border-radius:15px; padding:16px 17px; box-shadow:var(--shadow); transition:transform .15s, border-color .15s, background .15s; cursor:pointer; }
.q-card:hover { transform:translateY(-2px); border-color:var(--gold); background:linear-gradient(180deg,#fffdf8,#fdf6e8); }
.q-card:hover .qc-emoji { transform:scale(1.12) rotate(-4deg); }
.qc-emoji { font-size:24px; flex:0 0 auto; transition:transform .18s; }
.q-card b { display:block; font-size:14.5px; font-weight:700; color:var(--ink); margin-bottom:3px; }
.q-card span { font-size:12.5px; color:var(--gray); }
.chat-tail { height:20px; }

/* ===================== 输入区 ===================== */
.composer { flex:0 0 auto; padding:14px 22px 12px; background:rgba(255,255,255,.9); backdrop-filter:blur(10px); border-top:1px solid var(--line); }
.composer-inner { background:#fff; border:1px solid var(--line); border-radius:16px; padding:10px 12px 8px; transition:border-color .15s, box-shadow .15s; }
.composer-inner:focus-within { border-color:var(--gold); box-shadow:0 0 0 4px rgba(232,194,104,.16); }
.composer-tools { display:flex; align-items:center; gap:12px; padding:2px 4px 8px; }
.composer-tools .hint { font-size:12px; color:var(--gray); }
.counter { margin-left:auto; font-size:12px; color:var(--gray); font-variant-numeric:tabular-nums; }
.counter.warn { color:var(--warn); }
.counter.danger { color:var(--danger); font-weight:700; }
.switch { display:inline-flex; align-items:center; gap:8px; cursor:pointer; user-select:none; }
.switch input { display:none; }
.switch .track { width:40px; height:23px; border-radius:999px; background:#d8d8de; position:relative; transition:background .15s; }
.switch .track .thumb { position:absolute; top:2px; left:2px; width:19px; height:19px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .15s; }
.switch input:checked + .track { background:linear-gradient(135deg,#E8C268,#C9922E); }
.switch input:checked + .track .thumb { transform:translateX(17px); }
.switch-text { font-size:13px; color:var(--ink-2); font-weight:600; }
.composer-input-row { display:flex; align-items:flex-end; gap:10px; }
#input { flex:1; resize:none; border:none; outline:none; font-size:15px; line-height:1.5; padding:8px 6px;
  max-height:160px; background:transparent; color:var(--ink); font-family:inherit; }
.send-btn { flex:0 0 auto; height:42px; padding:0 20px; border:none; border-radius:12px; color:#3a2c08; font-weight:700; font-size:14px;
  display:flex; align-items:center; gap:7px; background:linear-gradient(135deg,#FFD685,#E8C268 55%,#C9922E); box-shadow:0 5px 14px rgba(201,146,46,.3); transition:filter .12s, transform .12s; }
.send-btn:hover { filter:brightness(1.05); }
.send-btn:active { transform:translateY(1px); }
.send-btn svg { width:18px; height:18px; }
.disclaimer { font-size:11px; color:var(--gray); text-align:center; margin-top:9px; line-height:1.5; }

/* ===================== 消息气泡 ===================== */
.msg { display:flex; gap:12px; margin:18px 0; align-items:flex-start; }
.msg .avatar { width:36px; height:36px; flex:0 0 36px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; }
.msg.user { flex-direction:row-reverse; }
.msg.user .avatar { background:linear-gradient(135deg,#dfe3ea,#c3c9d4); color:#3a3f4a; }
.msg.ai .avatar { background:linear-gradient(135deg,#FFD685,#C9922E); color:#3a2c08; }
.msg .bubble { max-width:78%; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px 16px; font-size:14.5px; line-height:1.75; box-shadow:var(--shadow); }
.msg.user .bubble { background:linear-gradient(135deg,#FFE9BE,#FBDD9A); border-color:#f0cf8c; }
.msg .bubble h1,.msg .bubble h2,.msg .bubble h3 { margin:10px 0 6px; line-height:1.35; }
.msg .bubble p { margin:7px 0; }
.msg .bubble ul,.msg .bubble ol { margin:7px 0 7px 22px; }
.msg .bubble li { margin:4px 0; }
.msg .bubble code { background:#f1efe9; padding:1px 6px; border-radius:6px; font-size:13px; }
.msg .bubble .risk { font-weight:700; padding:1px 7px; border-radius:6px; font-size:12.5px; }
.risk.high { background:#ffe1de; color:#d70015; }
.risk.mid { background:#fdeccf; color:#a35a00; }
.risk.low { background:#dff3e6; color:#1e7a3c; }
.think-status { color:var(--gold-deep); font-size:13.5px; font-style:italic; }

/* ===================== 弹窗 ===================== */
.overlay { position:fixed; inset:0; background:rgba(20,18,14,.42); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; z-index:50; padding:20px; }
.modal { width:520px; max-width:100%; max-height:88vh; overflow-y:auto; background:var(--card); border-radius:20px; padding:24px 24px 22px; box-shadow:0 30px 80px rgba(0,0,0,.32); }
.modal.wide { width:760px; }
.modal.status { width:460px; }
.modal-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.modal-head h3 { font-size:18px; font-weight:750; }
.modal-head .x { width:32px; height:32px; border:none; background:#f1f1f4; border-radius:9px; font-size:20px; color:var(--gray); line-height:1; }
.modal-head .x:hover { background:#e6e6ea; }
.modal-tip { font-size:12.5px; color:var(--gray); line-height:1.6; margin-bottom:16px; }
.form-grid { display:grid; grid-template-columns:1fr; gap:4px 14px; }
.form-grid.two-col { grid-template-columns:1fr 1fr; }
.fld-label { font-size:12.5px; color:var(--ink-2); font-weight:600; margin-top:10px; }
.fld { width:100%; height:42px; padding:0 12px; font-size:14px; color:var(--ink); background:#fbfbfd; border:1px solid var(--line); border-radius:10px; outline:none; margin-top:5px; transition:border-color .15s, box-shadow .15s; }
.fld:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(232,194,104,.16); }
.fld.area { height:auto; min-height:72px; padding:10px 12px; resize:vertical; line-height:1.6; }
.modal-foot { display:flex; align-items:center; gap:14px; margin-top:18px; }
.save-btn { height:42px; padding:0 22px; border:none; border-radius:11px; color:#3a2c08; font-weight:700; font-size:14.5px; background:linear-gradient(135deg,#FFD685,#E8C268 55%,#C9922E); box-shadow:0 5px 14px rgba(201,146,46,.3); transition:filter .12s, transform .12s; }
.save-btn:hover { filter:brightness(1.05); }
.save-btn:active { transform:translateY(1px); }
.save-btn:disabled { opacity:.6; cursor:default; }
.ok-msg { color:var(--ok); font-size:13px; font-weight:600; }
.err-msg { color:var(--danger); font-size:13px; font-weight:600; }

.case-add { display:grid; grid-template-columns:1fr 140px; gap:10px; margin-bottom:18px; }
.case-add .area { grid-column:1 / -1; }
.case-add .save-btn { grid-column:1 / -1; justify-self:start; }
.case-list { display:flex; flex-direction:column; gap:10px; }
.case-item { border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:#fbfbfd; }
.case-top { display:flex; align-items:center; gap:9px; margin-bottom:5px; }
.case-tag { font-size:11px; font-weight:700; color:var(--gold-deep); background:var(--gold-soft); border:1px solid var(--gold-line); padding:2px 8px; border-radius:999px; }
.case-top b { font-size:14px; }
.case-ts { margin-left:auto; font-size:11.5px; color:var(--gray); }
.case-sum { font-size:13px; color:var(--ink-2); line-height:1.6; }
.case-out { font-size:12.5px; color:var(--ok); margin-top:4px; }
.empty { color:var(--gray); font-size:13px; text-align:center; padding:18px; }

.doc-cols { display:grid; grid-template-columns:240px 1fr; gap:20px; }
.doc-templates { display:flex; flex-direction:column; gap:9px; }
.doc-tpl { text-align:left; background:#fbfbfd; border:1px solid var(--line); border-radius:12px; padding:11px 13px; transition:border-color .15s, background .15s; }
.doc-tpl b { display:block; font-size:14px; margin-bottom:3px; }
.doc-tpl span { font-size:11.5px; color:var(--gray); line-height:1.5; }
.doc-tpl:hover { border-color:var(--gold); }
.doc-tpl.active { border-color:var(--gold); background:linear-gradient(180deg,#fffdf8,#fdf6e8); box-shadow:0 0 0 3px rgba(232,194,104,.14); }
.doc-result { margin-top:16px; }
.doc-text { white-space:normal; }
.doc-actions { display:flex; gap:10px; margin-top:12px; }

.status-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:16px; }
.status-item { background:#fbfbfd; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.status-item .l { font-size:12px; color:var(--gray); margin-bottom:5px; }
.status-item .v { font-size:15px; font-weight:700; }
.status-item .v.ok { color:var(--ok); }
.status-item .v.danger { color:var(--danger); }
.status-item .v.gray { color:var(--ink-2); }
.status-section { font-size:13px; color:var(--ink-2); line-height:1.7; background:#fbfbfd; border:1px solid var(--line); border-radius:12px; padding:13px 15px; }
.status-section b { color:var(--ink); }
.status-section code { background:#f1efe9; padding:1px 6px; border-radius:6px; font-size:12px; }

/* ===================== 管理后台 ===================== */
.admin-view { flex:1; overflow-y:auto; padding:26px 30px 30px; }
.admin-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:22px; }
.admin-head h1 { font-size:24px; font-weight:800; }
.admin-head p { font-size:13.5px; color:var(--gray); margin-top:5px; }
.admin-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:24px; }
.stat-card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 20px; box-shadow:var(--shadow); }
.stat-card .sv { font-size:30px; font-weight:800; line-height:1; }
.stat-card .sl { font-size:13px; color:var(--gray); margin-top:7px; }
.stat-card.gold .sv { color:var(--gold-deep); }
.stat-card.ok .sv { color:var(--ok); }
.stat-card.gray .sv { color:var(--gray); }
.admin-table-wrap { background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; }
.admin-table { width:100%; border-collapse:collapse; font-size:13.5px; }
.admin-table th { text-align:left; font-size:12px; color:var(--gray); font-weight:700; padding:14px 16px; background:#fafafc; border-bottom:1px solid var(--line); }
.admin-table td { padding:13px 16px; border-bottom:1px solid var(--line-2); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tbody tr:hover { background:#fcfbf8; }
.badge { display:inline-block; font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:999px; }
.badge.ok { background:#dff3e6; color:#1e7a3c; }
.badge.gray { background:#ececed; color:#6b6b70; }
.badge.warn { background:#fdeccf; color:#a35a00; }
.ops { display:flex; gap:7px; white-space:nowrap; }
.op { height:30px; padding:0 12px; border:1px solid var(--line); background:#fff; border-radius:8px; font-size:12.5px; font-weight:600; color:var(--ink-2); transition:border-color .15s, color .15s; }
.op:hover { border-color:var(--gold); color:var(--gold-deep); }
.op-disable { color:#a35a00; }
.op-enable { color:var(--ok); }
.op-del { color:var(--danger); }
.op-del:hover { border-color:var(--danger); }
.view-body { font-size:14px; line-height:1.7; }
.view-logo { margin-bottom:6px; }
.view-logo img { width:64px; height:64px; border-radius:14px; object-fit:cover; box-shadow:0 6px 16px rgba(0,0,0,.15); }
.view-company { font-size:17px; font-weight:750; }
.view-meta { font-size:12.5px; color:var(--gray); margin:7px 0 16px; }
.view-profile { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-bottom:8px; }
.vp { display:flex; gap:8px; font-size:13.5px; }
.vp span { color:var(--gray); flex:0 0 84px; }
.view-body h4 { font-size:15px; font-weight:700; margin:18px 0 10px; }
.view-cases { display:flex; flex-direction:column; gap:9px; }

@keyframes xyFloaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes xyPulse { 0% { transform:scale(1); opacity:.6; } 100% { transform:scale(1.12); opacity:0; } }

@media (max-width:920px) {
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .qs-grid { grid-template-columns:1fr; }
  .admin-stats { grid-template-columns:repeat(2,1fr); }
  .doc-cols { grid-template-columns:1fr; }
  .hero { flex-direction:column; text-align:center; }
  .crumb { display:none; }
}
