:root{--ink:#172e32;--muted:#687b7d;--green:#10765e;--line:#dce5df;--paper:#f4f6f2;--nav:#122e32}*{box-sizing:border-box}body{margin:0;font:14px/1.6 system-ui,-apple-system,"Microsoft YaHei",sans-serif;background:var(--paper);color:var(--ink)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer;padding:9px 14px;border:1px solid var(--line);background:#fff;border-radius:8px;color:var(--ink)}button:hover{border-color:var(--green);background:#eff7f2}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:#fff;border-color:var(--green)}.danger{color:#ab3a39}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:750;letter-spacing:-1px}.brand>span{font-size:19px;letter-spacing:0}aside{width:224px;background:var(--nav);color:#edf4ee;position:fixed;inset:0 auto 0 0;padding:32px 20px}aside .eyebrow{margin-top:48px;color:#90aaa5}nav button{display:block;text-align:left;width:100%;border:0;background:transparent;color:#bcd0c9;margin:5px 0;padding:12px 15px}nav button.active{background:#265047;color:#fff;border-left:3px solid #95d3a7;border-radius:4px}.sidebar-foot{position:absolute;bottom:28px;font-size:12px;color:#bdcec9}.sidebar-foot span{color:#7e9c95}main{margin-left:224px;padding:38px 42px;max-width:1700px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--green);margin:0 0 7px}h1{font-size:29px;line-height:1.3;margin:0;letter-spacing:-.6px}h2{font-size:18px;margin:0 0 16px}h3{font-size:15px}.header-actions,.toolbar,.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{font-size:12px;display:inline-block;padding:3px 10px;border-radius:20px;background:#e3efe6;color:#32734f}.badge.off{background:#f2e5df;color:#98543a}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px}.card .number{font-size:33px;font-weight:700;line-height:1.6}.muted{color:var(--muted)}.panel{margin:18px 0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.hero{padding:26px 28px;background:#deeadf;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero p{margin:8px 0 0;color:#526e60}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);padding:12px 10px}td{padding:15px 10px;border-bottom:1px solid #edf0eb}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted)}.row-actions button{font-size:12px;padding:5px 9px}.toolbar{margin:16px 0}.toolbar input{max-width:280px;margin-right:auto}label{display:block;font-weight:500;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #cdd9d3;border-radius:7px;padding:10px 12px;background:#fff;color:var(--ink);margin-top:6px}input:focus,textarea:focus,select:focus{outline:2px solid #9bc3ac;outline-offset:1px}textarea{min-height:125px;resize:vertical;font-family:inherit}pre{white-space:pre-wrap;word-break:break-all;background:#f2f5f1;padding:15px;border-radius:8px;max-height:430px;overflow:auto}code{font-family:ui-monospace,monospace;font-size:12px}.error{color:#aa3333}#notice:not(:empty){padding:12px 16px;background:#e3efe6;border-left:3px solid var(--green);border-radius:5px;margin-bottom:16px}footer{font-size:11px;color:var(--muted);margin-top:35px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.auth{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 10% 20%,#d2e2d0,transparent 65%),#ecf1ea}.auth-card{width:min(440px,94vw);padding:40px;background:#fff;border-radius:18px;box-shadow:0 15px 70px #183b2010}.auth-card .brand{margin-bottom:35px}.auth-card p{color:var(--muted)}.auth-card form{margin-top:25px}.auth-card button{width:100%}#setup-qr img{display:block;max-width:220px;margin:auto}dialog{border:1px solid var(--line);border-radius:14px;width:min(650px,95vw);max-height:90vh;padding:26px}dialog::backdrop{background:#102e3277;backdrop-filter:blur(2px)}.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:15px}.modal-head{margin-bottom:15px}.modal-head button{font-size:22px;border:0}.modal-foot{margin-top:20px}.help{font-size:12px;color:var(--muted)}a{color:var(--green)}.resource-main{margin:0 auto;max-width:1100px}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.article img{max-width:100%;height:auto}.article pre{white-space:pre-wrap}.metric-bar{height:5px;background:#e8eee7;border-radius:4px}.metric-bar span{display:block;height:100%;background:var(--green)}@media(max-width:850px){aside{position:static;width:auto;padding:18px}aside .brand{font-size:20px}aside .eyebrow,.sidebar-foot{display:none}nav{display:flex;overflow:auto;margin-top:12px}nav button{white-space:nowrap;width:auto;margin:0}main{margin:0;padding:24px 16px}.cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}header{align-items:flex-start}h1{font-size:24px}.header-actions{justify-content:flex-end}.panel{padding:16px}}@media(max-width:480px){.cards{gap:10px}.card{padding:16px}.hero{display:block}.header-actions .badge{display:none}}
