:root{color-scheme:light;--bg:#f5f7fa;--card:#fff;--text:#17253b;--muted:#69778c;--line:#e4e9f0;--accent:#1766ce;--soft:#eaf2ff;--danger:#b43442;--sidebar:#fff;--shadow:0 6px 24px #193b6510;font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.65}[hidden]{display:none!important}h1,h2,p{margin:0}h1{font-size:30px;letter-spacing:-.6px;line-height:1.35;font-weight:650}h2{font-size:18px;font-weight:650;margin-bottom:10px}.muted,small{color:var(--muted)}small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:650;color:var(--accent);margin-bottom:9px}button,input,select,textarea{font:inherit}button,.file-label{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 15px;border-radius:9px;cursor:pointer;transition:background .16s,transform .12s,border-color .16s}button:hover,.file-label:hover{background:var(--soft);border-color:#abc8ed}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4389e660;outline-offset:2px}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:#1458b4;color:white}.quiet{border:0;background:transparent;color:var(--accent)}.danger{color:var(--danger);border-color:#d8a7ae}.danger-zone{border-left:3px solid var(--danger)!important}.error{color:var(--danger);min-height:24px;margin-top:12px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);padding:10px 12px;min-height:43px}textarea{font:13px/1.6 Consolas,monospace;min-height:240px;resize:vertical}label{display:block;font-weight:550;margin-bottom:16px}label input,label select,label textarea{margin-top:7px;font-weight:400}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1440px;margin:auto;padding:60px 8%;gap:12%}.login-card{max-width:420px}.login-card img{object-fit:contain;margin-bottom:30px}.login-card h1{font-size:36px;margin-bottom:12px}.login-card form{margin:30px 0 12px}.login-card .primary{width:100%;display:flex;justify-content:space-between}.login-aside{position:relative;min-height:440px;display:flex;justify-content:center;flex-direction:column;padding:40px}.login-aside h2{font-size:32px;line-height:1.6;letter-spacing:-.7px;position:relative}.login-aside p{position:relative;color:var(--muted)}.orbit{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c4deff,#e3e9fa 55%,transparent 72%);top:0;right:0;filter:blur(10px)}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--sidebar);padding:26px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:650;font-size:14px;margin-bottom:34px}.brand small{display:block;font-weight:400;font-size:11px}.brand img{object-fit:contain}.sidebar nav{display:grid;gap:6px}.sidebar nav button{width:100%;text-align:left;border:0;background:transparent;padding:11px 14px;color:var(--muted)}.sidebar nav button.active{background:var(--soft);color:var(--accent);font-weight:650}.nav-caption{font-size:11px;color:var(--muted);margin:24px 14px 9px}.sidebar-bottom{display:grid;gap:8px;margin-top:auto;padding-top:24px}.sidebar-bottom button{text-align:left}.sidebar-bottom small{padding:0 14px}.main{max-width:1550px;padding:40px 44px 64px;margin-left:230px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.badge{background:var(--soft);color:var(--accent);padding:6px 12px;border-radius:20px;font-size:12px;white-space:nowrap}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:var(--shadow);margin-bottom:22px}.card>p+button,.card>p+.button-row{margin-top:22px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.metric{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}.metric small{display:block}.metric strong{display:block;font-size:30px;line-height:1.4;margin-top:8px;font-weight:650}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-column .card{height:calc(100% - 22px)}.button-row,.toolbar{display:flex;align-items:center;gap:10px}.toolbar{justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.toolbar h2{margin:0}.segmented{display:flex;padding:4px;gap:4px;border:1px solid var(--line);background:var(--bg);border-radius:11px}.segmented button{border:0;background:transparent;padding:7px 18px;color:var(--muted)}.segmented .selected{background:var(--card);color:var(--accent);box-shadow:0 2px 8px #18335914}.search{margin:0;max-width:320px;flex:1}.search input{margin:0}.word-row,.device-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.word-row:last-child,.device-row:last-child{border-bottom:0}.word-row strong{font-size:19px;font-weight:600}.word-row p,.device-row p{font-size:12px;color:var(--muted);margin-top:5px}.pager{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;font-weight:550;color:var(--muted)}td:last-child button+button{margin-left:6px}.form-card{max-width:650px}.form-card form{margin-top:24px;max-width:420px}.file-label{display:inline-block;font-weight:400;margin:22px 0 0}.file-label input{width:100%;border:0;padding:6px 0;background:transparent}.section-icon{font-size:24px;color:var(--accent);margin-bottom:12px}.notice{background:var(--soft);border:1px solid var(--line);padding:12px 16px;border-radius:10px;margin-bottom:20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(650px,90vw);padding:14px 22px;background:var(--text);color:var(--card);border-radius:12px;box-shadow:0 6px 24px #0002;z-index:10}dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 80px #0003;padding:25px;width:min(680px,92vw);max-height:88vh;overflow:auto}dialog::backdrop{background:#0b18385c;backdrop-filter:blur(3px)}dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}dialog header h2{margin:0}.close{border:0;padding:0 7px;font-size:25px;background:transparent;color:var(--muted)}dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden}.compact{margin:16px 0 0}.compact .metric{box-shadow:none;padding:15px}.compact .metric strong{font-size:20px}.empty{padding:36px 16px;text-align:center;color:var(--muted)}body.dark{color-scheme:dark;--bg:#141b26;--card:#1d2634;--sidebar:#192230;--text:#e8eef8;--muted:#9babc1;--line:#303e51;--accent:#80b7ff;--soft:#243c5a;--danger:#ff9eae;--shadow:0 6px 24px #0001}body.dark .primary{background:#357ad3;color:white;border-color:#357ad3}body.dark .orbit{opacity:.22}section[data-section]{animation:enter .22s ease-out}@keyframes enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:1100px){.main{padding:30px 24px}.metrics{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.two-column .card{height:auto}.sidebar{width:200px}.main{margin-left:200px}}@media(max-width:720px){.login-screen{display:block;padding:45px 25px}.login-card{margin:auto}.login-aside{display:none}.sidebar{position:relative;width:auto;padding:15px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{width:auto;white-space:nowrap}.sidebar nav #admin-navigation{display:flex}.nav-caption{display:none}.sidebar-bottom{display:flex;align-items:center;padding-top:12px}.main{margin-left:0;padding:22px 16px}.page-header h1{font-size:25px}.card{padding:18px}.metric{padding:16px}.metric strong{font-size:26px}.word-row,.device-row{align-items:flex-start;flex-wrap:wrap}.button-row{flex-wrap:wrap}.sidebar-bottom small{margin-left:auto}.toolbar .search{min-width:180px}.orbit{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
