@import "https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&display=swap";:root{--font:"DM Sans", system-ui, -apple-system, sans-serif;--bg:#f1f3f7;--card:#fff;--border:#e5e7ec;--bgl:#f7f8fa;--t1:#1a1d23;--t2:#3d4250;--t3:#8b8f9a;--t4:#b4b8c4;--accent:#1d4ed8;--accent-bg:#eff6ff;--red:#dc2626;--red-bg:#fef2f2;--amber:#d97706;--amber-bg:#fffbeb;--green:#059669;--green-bg:#f0fdf4;--purple:#7e22ce;--purple-bg:#f5f3ff;--r:12px;--rs:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);color:var(--t1);background:var(--bg);-webkit-font-smoothing:antialiased}#root{justify-content:center;min-height:100vh;padding:12px;display:flex}button{font:inherit;cursor:pointer;background:0 0;border:none}.shell{background:var(--card);border-radius:18px;flex-direction:column;width:100%;max-width:480px;min-height:min(730px,94vh);display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0000000a,0 20px 50px -10px #0000001a}.hdr{border-bottom:1px solid var(--bgl);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.hdr-left{align-items:center;gap:8px;display:flex}.hdr-logo{background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.hdr-title{letter-spacing:-.02em;font-size:14px;font-weight:800}.hdr-user{color:var(--t3);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:10px;overflow:hidden}.hdr-btn{width:28px;height:28px;color:var(--t3);border-radius:6px;justify-content:center;align-items:center;transition:background .15s;display:flex}.hdr-btn:hover{background:var(--bgl)}.qnav{border-bottom:1px solid var(--bgl);background:#fafbfc;flex-shrink:0;gap:2px;padding:6px 10px;display:flex}.qnav-btn{border-radius:var(--rs);flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 4px;transition:background .15s;display:flex;position:relative}.qnav-btn:hover{background:var(--bgl)}.qnav-btn svg{opacity:.5}.qnav-lbl{color:var(--t3);font-size:10px;font-weight:600}.qnav-bdg{color:#fff;background:var(--red);border-radius:99px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:8px;font-weight:700;display:flex;position:absolute;top:2px;right:calc(50% - 15px)}.tabs{border-bottom:1px solid var(--bgl);flex-shrink:0;display:flex}.tab{color:var(--t3);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 0;font-size:12px;font-weight:500;transition:all .2s;display:flex}.tab.on{color:var(--t1);font-weight:700}.tab-ct{background:var(--bgl);color:var(--t3);border-radius:99px;padding:1px 6px;font-size:10px;font-weight:700}.body{flex:1;padding:4px 12px 20px;overflow:hidden auto}.body::-webkit-scrollbar{width:3px}.body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}.foot{border-top:1px solid var(--bgl);color:var(--t4);background:#fafbfc;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:7px 16px;font-size:10px;display:flex}.foot svg{flex-shrink:0}.b{white-space:nowrap;border-radius:99px;align-items:center;gap:2px;padding:1px 6px;font-size:10px;font-weight:600;line-height:16px;display:inline-flex}.erow{cursor:pointer;border-radius:10px;gap:10px;padding:11px 8px;transition:background .12s;display:flex;position:relative}.erow:hover{background:var(--bgl)}.erow-u{border-left:3px solid var(--red)}.erow-n{border-left:3px solid #0000}.av{letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.btn{border-radius:var(--rs);align-items:center;gap:5px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.btn-p{background:var(--accent);color:#fff}.btn-p:hover{background:#1e40af}.btn-o{border:1px solid var(--border);background:var(--card);color:var(--t2)}.btn-g{color:var(--t3)}.btn-s{padding:5px 10px;font-size:11px}.sh{align-items:center;gap:6px;padding:10px 0 5px;display:flex}.sh-l{text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:700}.sh-s{color:var(--t3);font-size:10px;font-weight:500}.icard{border:1px solid var(--border);background:#f8fafc;border-radius:10px;margin-top:12px;padding:14px}.stats{grid-template-columns:repeat(4,1fr);gap:7px;margin:6px 0 14px;display:grid}.stat{text-align:center;border:1px solid var(--border);background:#f8fafc;border-radius:10px;padding:11px 4px}.stat-n{font-size:19px;font-weight:800}.stat-l{color:var(--t3);margin-top:1px;font-size:9.5px;font-weight:500}.toast{color:#fff;white-space:nowrap;z-index:100;background:#0f172a;border-radius:99px;align-items:center;gap:5px;padding:7px 16px;font-size:12px;font-weight:600;animation:.3s fu;display:flex;position:absolute;bottom:44px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.login{flex-direction:column;align-items:center;gap:18px;padding:40px 26px 34px;display:flex}.login-logo{background:linear-gradient(135deg,#1d4ed8,#7e22ce);border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 8px 20px #1d4ed84d}.login h1{letter-spacing:-.03em;font-size:22px;font-weight:800}.login-sub{color:var(--t3);text-align:center;margin-top:-12px;font-size:13px;line-height:1.4}.login-feat{color:var(--t2);align-items:center;gap:9px;font-size:12.5px;font-weight:500;display:flex}.login-feat svg{opacity:.5;flex-shrink:0}.gbtn{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:600;display:flex;box-shadow:0 1px 3px #0000000d}.gbtn:hover{box-shadow:0 2px 8px #00000014}.login-note{color:var(--t4);text-align:center;font-size:10px;line-height:1.5}.login-err{color:var(--red);text-align:center;background:var(--red-bg);border-radius:var(--rs);width:100%;padding:8px 12px;font-size:12px}.spin{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fu{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=520px){#root{padding:0}.shell{border-radius:0;max-width:100%;min-height:100vh}}
