:root{--bg:#0f172a;--panel:#111c33;--card:#17233d;--muted:#8ea0c6;--text:#eff5ff;--brand:#f59e0b;--brand2:#22d3ee;--line:rgba(255,255,255,.11);--ok:#34d399;--danger:#fb7185}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% 0%,#21345f 0,#0f172a 34%,#09111f 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:rgba(17,28,51,.92);border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.logo{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--brand),#ef4444);display:grid;place-items:center;font-weight:900;color:#111827;margin-bottom:18px}.login h1,.hero h1{margin:0 0 10px;font-size:30px;line-height:1.15}.login p,.muted{color:var(--muted);line-height:1.6}.field{display:grid;gap:8px;margin:18px 0}.field label{color:#cbd7f1;font-weight:650}.field input,.search input,.select{width:100%;border:1px solid var(--line);border-radius:16px;background:#0c1426;color:var(--text);padding:13px 14px;font-size:16px;outline:none}.field input:focus,.search input:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(34,211,238,.15)}button{border:0;border-radius:16px;background:linear-gradient(135deg,var(--brand),#f97316);color:#111827;font-weight:800;padding:12px 16px;font-size:15px;cursor:pointer}button.ghost{background:#17233d;color:#dce8ff;border:1px solid var(--line)}button.link{background:transparent;color:#cbd7f1;border:0;padding:0}.error{color:#fecdd3;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.32);padding:10px 12px;border-radius:14px}.shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{border-right:1px solid var(--line);padding:24px;background:rgba(9,17,31,.82);position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.brand .logo{width:42px;height:42px;border-radius:14px;margin:0}.brand strong{display:block}.nav{display:grid;gap:8px}.nav button{text-align:left;background:transparent;color:#cbd7f1;border:1px solid transparent;padding:11px 12px;border-radius:14px}.nav button.active,.nav button:hover{background:#17233d;border-color:var(--line);color:#fff}.userbox{margin-top:24px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#101b31}.content{padding:28px;max-width:1500px}.top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.hero{background:linear-gradient(135deg,rgba(245,158,11,.18),rgba(34,211,238,.1));border:1px solid var(--line);border-radius:30px;padding:26px}.stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;min-width:390px}.stat{background:#101b31;border:1px solid var(--line);border-radius:20px;padding:16px}.stat b{font-size:28px}.quick{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0 24px}.quick-card{background:#101b31;border:1px solid var(--line);border-radius:22px;padding:18px;cursor:pointer;transition:.15s}.quick-card:hover{transform:translateY(-2px);border-color:rgba(34,211,238,.42)}.quick-card strong{display:block;margin-bottom:8px}.toolbar{display:grid;grid-template-columns:1.8fr .8fr .8fr .8fr;gap:12px;margin:20px 0}.pillbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.pill{background:#17233d;color:#cbd7f1;border:1px solid var(--line);border-radius:999px;padding:8px 11px;cursor:pointer}.pill.active{background:rgba(34,211,238,.18);border-color:var(--brand2);color:#e7fdff}.grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:16px}.card{background:rgba(16,27,49,.95);border:1px solid var(--line);border-radius:22px;padding:18px;min-height:210px;display:flex;flex-direction:column;gap:12px}.card.case{border-color:rgba(245,158,11,.38)}.meta{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12px;color:#dce8ff;background:#1d2d4f;border:1px solid var(--line);border-radius:999px;padding:5px 8px}.badge.hot{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.38);color:#fde7ba}.card h3{margin:0;font-size:19px;line-height:1.35}.card p{margin:0;color:#afbddb;line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.reader{position:fixed;inset:0;background:rgba(2,6,23,.62);display:none;z-index:10}.reader.open{display:block}.reader-panel{margin-left:auto;width:min(900px,100%);height:100%;background:#f8fafc;color:#111827;overflow:auto;padding:28px 34px;box-shadow:-18px 0 50px rgba(0,0,0,.35)}.reader-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;position:sticky;top:0;background:#f8fafc;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.reader h2{font-size:26px;margin:0 0 8px}.reader-body{line-height:1.82;white-space:pre-wrap;font-size:17px;padding:20px 0 60px}.empty{text-align:center;color:var(--muted);padding:50px;border:1px dashed var(--line);border-radius:22px}.small{font-size:13px;color:var(--muted)}@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.top{display:block}.stats{min-width:0;margin-top:14px}.quick{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.content{padding:18px}.quick,.grid,.stats,.toolbar{grid-template-columns:1fr}.reader-panel{padding:20px}.hero h1{font-size:25px}}

.assistant-fab{position:fixed;right:24px;bottom:24px;z-index:8;border-radius:999px;padding:14px 18px;box-shadow:0 18px 45px rgba(0,0,0,.32)}
.assistant{position:fixed;right:24px;bottom:86px;width:min(430px,calc(100vw - 32px));max-height:72vh;background:#0b1324;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.45);display:none;z-index:9;overflow:hidden}.assistant.open{display:grid;grid-template-rows:auto 1fr auto}.assistant-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.assistant-head h3{margin:0}.assistant-body{padding:16px;overflow:auto;display:grid;gap:12px}.bubble{padding:12px 14px;border-radius:18px;line-height:1.6}.bubble.user{background:rgba(34,211,238,.14);justify-self:end;max-width:86%}.bubble.bot{background:#15213a}.assistant-form{padding:14px;border-top:1px solid var(--line);display:flex;gap:10px}.assistant-form input{flex:1;border:1px solid var(--line);border-radius:16px;background:#0c1426;color:var(--text);padding:12px;font-size:15px}.recommend{display:grid;gap:8px;margin-top:10px}.rec-card{background:#0f1b31;border:1px solid var(--line);border-radius:14px;padding:10px;cursor:pointer}.rec-card:hover{border-color:var(--brand2)}.rec-card strong{display:block;font-size:14px}.task{border-left:3px solid var(--brand);padding:10px 12px;background:rgba(245,158,11,.1);border-radius:12px;margin-top:10px;color:#fde7ba}.mobile-tabs{display:none}@media(max-width:700px){.assistant-fab{right:16px;bottom:76px}.assistant{right:10px;bottom:132px;width:calc(100vw - 20px);max-height:68vh}.mobile-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;background:#08101f;border-top:1px solid var(--line);z-index:7;padding:8px;gap:8px}.mobile-tabs button{flex:1;padding:10px 6px;border-radius:14px;font-size:13px}.content{padding-bottom:90px}}
.section-head{background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(245,158,11,.08));border:1px solid var(--line);border-radius:26px;padding:22px;margin-bottom:18px}.section-head h1{margin:0 0 8px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;background:#101b31;border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:22px}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--line);border-radius:14px;background:#0c1426;color:var(--text);padding:12px 13px;font-size:15px;outline:none}.admin-form textarea{min-height:92px;resize:vertical}.admin-form textarea,.admin-form button{grid-column:1/-1}.badge.done{background:rgba(52,211,153,.15);border-color:rgba(52,211,153,.4);color:#bbf7d0}.reader-actions{position:sticky;bottom:0;background:#f8fafc;padding:16px 0;border-top:1px solid #e2e8f0}.progress-stats{min-width:0;margin:0 0 20px}.list-panel{display:grid;gap:10px;margin-bottom:24px}.record-line{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#101b31;border:1px solid var(--line);border-radius:16px;padding:12px 14px}.record-line span{color:var(--muted);font-size:13px}@media(max-width:700px){.admin-form{grid-template-columns:1fr}.record-line{display:block}.record-line span{display:block;margin-top:6px}}
