:root{--side:#111c2e;--side2:#18263b;--blue:#356ae6;--ink:#1d2939;--muted:#667085;--bg:#f2f4f7;--line:#e4e7ec;--white:#fff;--green:#16a36a;--amber:#d88912;--red:#d92d20;--shadow:0 2px 10px rgba(16,24,40,.05)}*{box-sizing:border-box}body{margin:0;font:14px/1.6 "Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}.admin-body{padding-left:244px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:244px;z-index:20;display:flex;flex-direction:column;background:var(--side);color:#9ba9bd}.admin-logo{height:72px;display:flex;align-items:center;gap:12px;padding:0 23px;border-bottom:1px solid #27344a;color:#fff}.admin-logo i{width:38px;height:38px;display:grid;place-items:center;background:#e1372b;border-radius:9px;font-size:20px;font-style:normal;font-weight:900}.admin-logo b,.admin-logo small{display:block}.admin-logo b{font-size:17px}.admin-logo small{font-size:8px;letter-spacing:.15em;color:#6f8098}.side-label{padding:24px 23px 8px;font-size:10px;letter-spacing:.15em;color:#53647c}.sidebar nav a{height:46px;display:flex;align-items:center;gap:13px;padding:0 21px;border-left:3px solid transparent}.sidebar nav a i{width:20px;text-align:center;color:#788aa3;font-style:normal;font-size:17px}.sidebar nav a span{flex:1}.sidebar nav a em{font-style:normal;font-size:9px;color:#76a6ff;border:1px solid #3d5e91;border-radius:4px;padding:1px 5px}.sidebar nav a:hover,.sidebar nav a.on{background:var(--side2);color:#fff;border-left-color:#5b8cff}.sidebar nav a.on i{color:#75a0ff}.side-bottom{margin-top:auto;padding:14px;border-top:1px solid #27344a}.side-bottom a{display:block;padding:8px;color:#8291a7}.side-bottom i{display:inline-block;width:26px;font-style:normal}.admin-shell{min-height:100vh}.admin-top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:1px solid var(--line)}.menu-toggle{display:none;border:0;background:none;font-size:20px}.breadcrumb-admin{color:#7a8798}.admin-user{display:flex;align-items:center;gap:10px}.system-ok{margin-right:18px;color:var(--green);font-size:11px}.admin-user>i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e8effd;color:var(--blue);font-style:normal;font-weight:700}.admin-user b,.admin-user small{display:block}.admin-user b{font-size:12px}.admin-user small{font-size:10px;color:#98a2b3}.admin-main{padding:30px;max-width:1600px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title h1{margin:0;font-size:25px}.page-title p{margin:4px 0 0;color:var(--muted)}.page-title>div:last-child{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border:1px solid transparent;border-radius:6px;font:inherit;font-weight:600;cursor:pointer}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;border-color:#d0d5dd;color:#344054}.btn.text{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.metric-grid.three{grid-template-columns:repeat(3,1fr)}.metric{display:flex;align-items:center;gap:16px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:10px;font-size:20px}.m0{background:#e9efff;color:#356ae6}.m1{background:#e9f8f2;color:#16a36a}.m2{background:#fff3e0;color:#d88912}.m3{background:#f1eefe;color:#7557d9}.metric span,.metric strong,.metric small{display:block}.metric span{color:var(--muted);font-size:12px}.metric strong{font-size:28px;line-height:1.3}.metric small{color:#98a2b3;font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) 340px;gap:20px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-bottom:20px}.card-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.card-head h2{margin:0;font-size:16px}.card-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.card-head>a{color:var(--blue);font-size:12px}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse}.admin-table th{padding:11px 16px;text-align:left;background:#f9fafb;color:#667085;font-size:11px;font-weight:600;white-space:nowrap}.admin-table td{padding:14px 16px;border-top:1px solid #eef0f3;color:#475467;white-space:nowrap}.entity{display:flex;align-items:center;gap:10px}.entity>i{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:8px;background:#eaf0fb;color:var(--blue);font-style:normal;font-weight:700}.entity b,.entity small{display:block}.entity b{color:#344054}.entity small{color:#98a2b3;font-size:10px}.status,.verify{display:inline-block;padding:3px 8px;border-radius:12px;font-size:10px}.status.published,.verify.verified{color:#12805c;background:#e8f7f0}.status.draft{color:#667085;background:#f0f2f5}.status.pending,.verify.pending{color:#b76b00;background:#fff3dd}.blank{text-align:center;padding:45px!important;color:#98a2b3}.quick{padding-bottom:8px}.quick>a{display:flex;align-items:center;gap:12px;margin:10px;padding:12px;border:1px solid #edf0f4;border-radius:7px}.quick>a>i{width:38px;height:38px;display:grid;place-items:center;background:#ecf2ff;color:var(--blue);font-style:normal}.quick>a span{flex:1}.quick>a b,.quick>a small{display:block}.quick>a small{color:#98a2b3;font-size:10px}.quick>a em{color:#98a2b3;font-style:normal}.health{padding:0 20px 14px}.health .card-head{padding-left:0;padding-right:0}.health p,.setting-row{display:flex;justify-content:space-between}.green{color:var(--green)}.amber{color:var(--amber)}.filterbar{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.filter-search{display:flex;align-items:center;width:320px;border:1px solid #d0d5dd;border-radius:6px}.filter-search i{padding-left:12px;font-style:normal}.filter-search input{border:0}.filterbar select{width:150px}.result-count{margin-left:auto;color:var(--muted);font-size:11px}.actions a{margin-right:10px;color:var(--blue)}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #d0d5dd;border-radius:6px;background:#fff;font:inherit;color:var(--ink)}textarea{resize:vertical}label{display:block;color:#475467;font-size:12px;font-weight:600}.formgrid,.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor>.admin-card,.editor>.panel{padding:20px;margin-bottom:18px;background:#fff;border:1px solid var(--line)}.panel-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:18px}.panel-title h2{margin:0 0 15px}.panel-title span{color:var(--muted)}.multi{min-height:160px}.publishbar{align-items:end}.notice{padding:11px;margin-bottom:15px;border:1px solid #bfe7d4;background:#eaf8f1;color:#12805c}.ghost-button{padding:8px 13px;border:1px solid #d0d5dd;border-radius:6px}.import-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.import-main{padding:26px}.workflow{display:flex;align-items:center;justify-content:center;margin-bottom:45px}.workflow>div{text-align:center;color:#98a2b3}.workflow i{width:30px;height:30px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#f0f2f5;font-style:normal}.workflow .active i{background:var(--blue);color:#fff}.workflow span{display:block;margin-top:6px;font-size:10px}.workflow>b{width:80px;border-top:1px dashed #c8d0da;margin:0 8px}.import-box{max-width:780px;margin:auto;text-align:center;padding:45px;background:#f7f9fc;border:1px dashed #b8c6da}.import-label{color:var(--blue);font-size:10px;letter-spacing:.18em}.import-box h2{font-size:24px;margin:10px}.import-box p{color:var(--muted)}.import-box form>div{display:flex;margin-top:25px;background:#fff;border:1px solid #b8c6da}.import-box form i{display:grid;place-items:center;width:50px;font-style:normal;color:#98a2b3}.import-box input{border:0}.import-box button{width:170px;border:0;background:var(--blue);color:#fff;font-weight:700}.check-list{list-style:none;margin:0;padding:16px 20px}.check-list li{padding:9px 0;border-bottom:1px solid #edf0f4}.check-list li:before{content:"✓";margin-right:10px;color:var(--green)}.hint{padding:0 20px 15px;color:var(--muted);font-size:12px}.batch{padding:20px;background:#172944;color:#fff}.batch span{font-size:9px;color:#75a0ff}.batch p{color:#8fa0b6}.batch button{border:1px solid #42546d;background:transparent;color:#7d8da3;padding:8px;width:100%}.import-result{margin-top:25px;border:1px solid var(--line)}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.result-grid>div{padding:15px;background:#fff}.result-grid span,.result-grid b{display:block}.result-grid span{color:var(--muted);font-size:10px}.result-description{padding:15px}.result-description span{color:var(--muted);font-size:10px}.result-good{color:var(--green)}.result-bad,.alert-error{color:var(--red)}.taxonomy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.count-pill{padding:4px 9px;border-radius:12px;background:#eef2f6;color:var(--muted);font-size:10px}.taxonomy-add{padding:18px;background:#f8fafc;border-bottom:1px solid var(--line)}.taxonomy-add>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.taxonomy-add>div:last-child{align-items:end;margin:0}.taxonomy-table{max-height:580px;overflow:auto}.taxonomy-table>div{display:grid;grid-template-columns:1fr 140px;align-items:center;padding:10px 18px;border-bottom:1px solid #edf0f4}.taxonomy-table>div>span{display:flex;align-items:center;gap:9px}.taxonomy-table i{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#edf2fb;color:var(--blue);font-style:normal}.taxonomy-table code{color:#8490a1}.taxonomy-th{background:#f9fafb;color:#667085;font-size:10px}.capability-list{padding:5px 20px 20px}.capability-list>div{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #edf0f4}.capability-list i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e8f7f0;color:var(--green);font-style:normal}.capability-list b,.capability-list small{display:block}.capability-list small{color:var(--muted)}.setting-row{padding:0 20px}.admin-login-body{background:#0d192a}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{position:relative;display:flex;align-items:center;padding:10%;color:#fff;background:radial-gradient(circle at 75% 30%,#244a7f,transparent 30%),linear-gradient(135deg,#0d192a,#152c4c)}.login-brand:after{content:"128";position:absolute;right:5%;bottom:-8%;font-size:240px;font-weight:900;color:rgba(255,255,255,.025)}.admin-logo.big{padding:0;border:0;height:auto}.admin-logo.big i{width:48px;height:48px}.login-brand h1{font-size:42px;line-height:1.35;margin:55px 0 18px}.login-brand p{max-width:520px;color:#91a3ba}.login-features{display:flex;gap:20px;margin-top:35px;color:#b8c6d8;font-size:12px}.login-copy{position:absolute;left:10%;bottom:30px;color:#52657e}.login-panel{display:grid;place-items:center;background:#fff}.login-panel form{width:min(400px,80%)}.login-title span{color:var(--blue);font-size:10px;letter-spacing:.18em}.login-title h2{font-size:28px;margin:8px 0}.login-title p{color:var(--muted);margin-bottom:35px}.login-panel label{margin-bottom:20px}.input-icon{display:flex;align-items:center;margin-top:7px;border:1px solid #cfd6df;border-radius:6px}.input-icon i{width:45px;text-align:center;color:#8996a7;font-style:normal}.input-icon input{border:0}.login-btn{width:100%;display:flex;justify-content:space-between;padding:13px 18px;border:0;border-radius:6px;background:var(--blue);color:#fff;font:inherit;font-weight:700}.back-site{display:block;text-align:center;margin-top:20px;color:var(--muted);font-size:12px}@media(max-width:900px){.admin-body{padding-left:0}.sidebar{display:none}.menu-toggle{display:inline}.dashboard-grid,.import-layout,.taxonomy-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.login-screen{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh}}@media(max-width:600px){.admin-main{padding:18px}.page-title{align-items:flex-start}.page-title p{display:none}.metric-grid{grid-template-columns:1fr}.system-ok{display:none}.formgrid,.twocol{grid-template-columns:1fr}.filterbar{flex-wrap:wrap}.filter-search{width:100%}.result-count{width:100%;margin:0}.workflow>b{width:20px}.import-main{padding:14px}.result-grid{grid-template-columns:1fr}}
