:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#202521;background:#f6f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f7f4}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{padding:72px;display:flex;flex-direction:column;justify-content:space-between;background:#1f3a32;color:#fff}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#f4eadb;color:#234338;font-family:serif;font-size:22px}.login-brand h1{max-width:620px;margin:0;font-family:serif;font-size:56px;line-height:1.15;font-weight:500}.login-brand p{color:#bdd0c8}.login-panel{display:grid;place-items:center;padding:40px}.login-box{width:min(390px,100%);padding:40px;border:1px solid #e2e4df;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(32,45,38,.08)}.login-box h2{margin:0 0 8px;font-size:28px}.login-box>p{margin:0 0 30px;color:#7d857f}.field{display:block;margin:18px 0;color:#555e58;font-size:13px}.field input{width:100%;height:48px;margin-top:8px;padding:0 14px;border:1px solid #dfe3de;border-radius:12px;outline:none}.field input:focus{border-color:#406c5b;box-shadow:0 0 0 3px #e6f0eb}.primary{width:100%;height:48px;border:0;border-radius:12px;background:#295746;color:#fff;font-weight:650}.error{min-height:22px;color:#b94f45;font-size:13px}.shell{min-height:100vh;display:grid;grid-template-columns:228px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:24px 16px;border-right:1px solid #e2e5e0;background:#fff}.sidebar .brand{padding:0 8px 24px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:#68706b;text-align:left}.nav button.active{background:#e9f0ec;color:#234c3d;font-weight:650}.nav-icon{width:22px;color:#809089}.side-foot{position:absolute;left:16px;right:16px;bottom:20px;padding:14px;border-radius:12px;background:#f2f5f2;color:#647068;font-size:12px}.side-foot b{display:block;margin-bottom:4px;color:#294b3e}.main{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #e1e4df;background:rgba(255,255,255,.92);backdrop-filter:blur(16px)}.topbar h1{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:#8a918c;font-size:12px}.top-actions{display:flex;align-items:center;gap:10px}.ghost{padding:9px 13px;border:1px solid #dfe3de;border-radius:10px;background:#fff;color:#4f5953}.content{padding:30px 34px 60px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{padding:22px;border:1px solid #e2e5e0;border-radius:16px;background:#fff}.stat span{color:#858d87;font-size:13px}.stat strong{display:block;margin-top:14px;font-family:Georgia,serif;font-size:30px;font-weight:600}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.panel{overflow:hidden;border:1px solid #e2e5e0;border-radius:16px;background:#fff}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eceeea}.panel-head h2{margin:0;font-size:16px}.panel-head span{color:#919892;font-size:12px}.trend{height:250px;display:flex;align-items:flex-end;gap:16px;padding:30px 24px 22px}.bar-item{flex:1;min-width:0;text-align:center;color:#8a918c;font-size:11px}.bar{min-height:4px;margin-bottom:10px;border-radius:7px 7px 2px 2px;background:linear-gradient(#6d9988,#315e4d)}.summary-list{padding:14px 22px}.summary-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #eef0ed}.summary-row:last-child{border:0}.summary-row span{color:#737c76}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 18px;border-bottom:1px solid #eceeea;text-align:left;font-size:13px;white-space:nowrap}.table th{color:#7f8882;background:#fafbf9;font-weight:500}.table td{color:#39413c}.tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf1ee;color:#5f6d65;font-size:12px}.tag.ok{background:#e4f2e9;color:#357052}.tag.warn{background:#fff0d7;color:#976a2c}.tag.bad{background:#fbe5e2;color:#a64d44}.empty{padding:56px;text-align:center;color:#929a94}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.page-head h2{margin:0 0 6px;font-size:24px}.page-head p{margin:0;color:#89918b;font-size:13px}.search{width:240px;height:40px;padding:0 12px;border:1px solid #dfe3de;border-radius:10px;background:#fff;outline:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;background:#eee}.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px}.setting{padding:18px;border:1px solid #e5e8e3;border-radius:12px}.setting b{display:block;margin-bottom:7px}.setting span{color:#7c857f;font-size:13px}.good{color:#317052!important}.bad-text{color:#b45149!important}@media(max-width:980px){.shell{grid-template-columns:76px 1fr}.sidebar{padding:20px 10px}.sidebar .brand b,.nav button span:last-child,.side-foot{display:none}.nav button{justify-content:center}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:680px){.login{grid-template-columns:1fr}.login-brand{display:none}.shell{display:block}.sidebar{position:static;width:100%;height:auto;border:0;border-bottom:1px solid #ddd}.sidebar .brand{display:none}.nav{flex-direction:row;overflow:auto}.nav button{min-width:70px}.main{width:100%}.topbar{padding:0 18px}.content{padding:20px 14px}.stat-grid{grid-template-columns:1fr 1fr}.stat{padding:16px}.stat strong{font-size:24px}.top-actions .ghost:first-child{display:none}.settings{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:12px}.search{width:150px}}
