:root{--paper:#f6f7f3;--white:#fff;--ink:#1f312a;--muted:#637168;--green:#285748;--deep:#1a392e;--soft:#e8efe6;--line:#dce5db;--gold:#b47d38;--red:#a4483c;--radius:18px;--shadow:0 8px 24px #182c1e0a;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8db29e;outline-offset:2px}h1,h2,h3,p{margin:0}h1{font-size:clamp(25px,3.5vw,34px);line-height:1.28;letter-spacing:-.035em}h2{font-size:21px;line-height:1.35}h3{font-size:16px;line-height:1.5}p{line-height:1.65}svg{display:block}input,select,textarea{width:100%;background:#fff;border:1px solid #cddacf;border-radius:10px;padding:11px 12px;min-height:43px;color:var(--ink)}textarea{min-height:108px;resize:vertical}input[type=file]{padding:8px}input[type=checkbox]{width:17px;min-height:17px;margin:0;accent-color:var(--green)}label{display:grid;gap:7px;font-size:13px;font-weight:650}label.check{display:flex;gap:9px;align-items:start;font-weight:500}small,.muted{color:var(--muted);font-size:13px;line-height:1.6}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.loading{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:14px}.mark{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:13px;background:#285748 url("/favicon.svg") center/cover;color:transparent}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}.brand strong{display:block;font-size:18px;letter-spacing:.04em}.brand small{display:block;font-size:11px;letter-spacing:.1em;margin-top:3px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:11px;font-weight:800;letter-spacing:.17em}.eyebrow:before{content:"";width:7px;height:7px;background:#78a184;border-radius:50%}
.entry{min-height:100svh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(360px,.85fr);max-width:1500px;margin:auto}.entry-art{position:relative;min-height:560px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5.7vw,84px);background:radial-gradient(ellipse at 66% 64%,#3e6953 0,transparent 57%),linear-gradient(135deg,#172f26,#274d3f);color:#f1f6e9}.entry-art:after,.hero:after{content:"";position:absolute;pointer-events:none;width:460px;height:460px;right:-100px;top:10%;border:1px solid #d9e8d15c;border-radius:48% 52% 60% 40% / 43% 60% 40% 57%;transform:rotate(-28deg);box-shadow:0 0 0 36px #d9e8d11a,0 0 0 72px #d9e8d111,0 0 0 110px #d9e8d109}.entry-art>*{position:relative;z-index:1}.entry-art .brand small{color:#c4d5ca}.entry-art .eyebrow{color:#d5e5d3}.entry-art h1{font-size:clamp(39px,6vw,80px);line-height:1.13;margin:20px 0;font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-weight:650}.entry-art p{color:#d5e4d7;max-width:29em}.entry-art footer{font-size:12px;color:#bad2c2}.entry-form{min-width:0;align-self:center;padding:clamp(24px,6vw,96px)}.entry-form h2{font-size:30px;margin:13px 0 8px}.entry-form form{display:grid;gap:16px;margin:26px 0}.entry-form .btn{min-height:46px}.entry-note{padding-top:14px;border-top:1px solid var(--line)}
.btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;text-decoration:none;border:1px solid #cad9ce;border-radius:10px;padding:8px 13px;background:var(--white);color:var(--green);font-size:13px;font-weight:700;line-height:1.4}.btn:hover{background:#eff5ee}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:#193e32}.btn.quiet{background:transparent;border-color:transparent}.btn.danger{color:var(--red)}.btn svg,.nav svg,.ico svg{width:18px;height:18px}.ico{width:36px;height:36px;border-radius:10px;background:var(--soft);color:var(--green);display:grid;place-items:center;flex:none}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100svh}.side{position:sticky;top:0;height:100svh;overflow-y:auto;padding:25px 15px 16px;background:#eef2ea;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:20px}.side .brand{margin:2px 7px 5px}.nav-group{display:grid;gap:4px}.nav-label{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:750;margin:6px 10px 4px}.nav{border:1px solid transparent;background:transparent;border-radius:9px;display:flex;align-items:center;gap:10px;text-align:left;color:#465b4f;padding:9px 10px;line-height:1.4;font-size:13px;font-weight:650}.nav:hover{background:#e6ede3}.nav[aria-current=page]{background:#dae8da;color:#214c3b;border-color:#d0e1d1}.side-bottom{margin-top:auto;padding:11px;border-top:1px solid #d9e3d7;display:grid;gap:8px}.identity{display:flex;align-items:center;gap:9px;min-width:0}.identity strong,.identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{border-radius:50%;display:grid;place-items:center;width:35px;height:35px;background:#dce9d7;color:var(--green);font-weight:800;flex:none}.main{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 32px;border-bottom:1px solid var(--line);background:#fbfcf9}.topbar strong{font-size:13px}.topright{display:flex;align-items:center;gap:12px}.layout{max-width:1440px;margin:auto;padding:28px 32px 50px;display:grid;gap:21px}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:14px}.pagehead h1{margin:8px 0 5px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:100%;font-size:11px;font-weight:720;line-height:1.3;border-radius:999px;padding:5px 9px;background:#eef2ec;color:#4a6555}.badge.good{background:#e2efe1;color:#2c6345}.badge.wait{background:#f7ecdb;color:#855922}.badge.stop{background:#f7e7e3;color:#914439}
.hero{position:relative;min-height:239px;overflow:hidden;border-radius:23px;background:radial-gradient(ellipse at 76% 10%,#4c775e,transparent 50%),linear-gradient(111deg,#234a3d,#315f4d);color:#f7faf2;padding:32px;display:grid;align-content:center;gap:12px}.hero>*{position:relative;z-index:1;max-width:600px}.hero:after{top:-100px;right:-100px}.hero .eyebrow{color:#d5e9d6}.hero h1{font-size:clamp(27px,4vw,43px)}.hero p{color:#e2ede3}.hero .btn{width:max-content;background:#edf5e9;color:#244d3d;border-color:transparent;margin-top:6px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}.stat{min-height:112px;display:grid;gap:9px;align-content:start;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:15px;box-shadow:var(--shadow);color:var(--ink)}.stat:hover{border-color:#91b59d}.stat strong{font-size:26px;line-height:1.15}.stat span{color:var(--muted);font-size:12px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:19px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.two{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.rows{display:grid;gap:9px}.rowlink{display:flex;align-items:center;text-align:left;gap:11px;color:inherit;background:#f9fbf8;border:1px solid var(--line);border-radius:12px;padding:11px;width:100%}.rowlink:hover{border-color:#90b09a}.rowlink span:last-child{margin-left:auto}.notice{padding:12px 14px;border:1px solid #d5e3d4;border-radius:12px;background:#eff5ed;color:#375e49;font-size:13px;line-height:1.65}.notice.warn{background:#fbf3e7;color:#765120;border-color:#ecdec7}.notice.error{background:#f9eeeb;color:#8d3f36;border-color:#efd7d2}.notice[hidden]{display:none}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.toolbar input{width:min(100%,340px)}.toolbar select{width:auto;max-width:100%}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}.card{overflow:hidden;display:flex;flex-direction:column;gap:0;min-width:0}.card-body{display:grid;gap:10px;min-width:0}.card h3,.wrap{overflow-wrap:anywhere}.card .actions{margin-top:2px}.card-image{display:block;width:calc(100% + 38px);height:168px;object-fit:cover;margin:-19px -19px 15px;background:#e8efe6}.content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#43554a;line-height:1.75}.preview-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.empty{grid-column:1/-1;display:grid;gap:9px;justify-items:center;text-align:center;padding:38px 18px;border:1px dashed #cfdccf;border-radius:var(--radius);background:#fafcf9}.empty .ico{margin-bottom:4px}.stack{display:grid;gap:14px;align-content:start}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:550px}.table th{font-weight:750;background:#f5f8f3;color:#486353}.table th,.table td{padding:11px 9px;border-bottom:1px solid #e5ebe3}.table tr:last-child td{border-bottom:0}.table .actions{flex-wrap:nowrap}.table td:first-child{overflow-wrap:anywhere}
dialog{width:min(590px,calc(100% - 24px));max-height:calc(100% - 30px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--ink);padding:0;box-shadow:0 20px 80px #11281d50}dialog::backdrop{background:#17302777}.dialog-inner{padding:21px;display:grid;gap:15px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.dialog-foot{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap}.dialog-image{width:100%;max-height:430px;object-fit:contain;background:var(--soft);border-radius:12px}.error-text{color:var(--red);font-size:13px}.error-text:empty{display:none}#toast{display:none;position:fixed;right:18px;bottom:17px;z-index:9;max-width:min(420px,calc(100% - 36px));padding:12px 16px;border-radius:12px;background:#204738;color:#fff;box-shadow:var(--shadow);font-size:13px}#toast.show{display:block}#toast.error{background:#823e34}
@media(max-width:950px){.shell{grid-template-columns:193px minmax(0,1fr)}.side{padding:20px 10px 12px}.layout,.topbar{padding-left:20px;padding-right:20px}.two{grid-template-columns:1fr}}
@media(max-width:650px){.entry{display:block}.entry-art{padding:26px 20px;min-height:0;gap:22px}.entry-art h1{font-size:39px;margin:8px 0}.entry-art footer{display:none}.entry-art:after{width:210px;height:210px}.entry-form{padding:26px 20px}.shell{display:block}.side{position:relative;height:auto;display:block;overflow:hidden;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.side .brand{margin-bottom:9px}.side-nav{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.nav-group{display:flex;flex:none}.nav-label,.side-bottom{display:none}.nav{white-space:nowrap;padding:7px 8px}.nav svg{width:15px;height:15px}.layout{padding:17px 13px 35px;gap:16px}.topbar{padding:9px 13px}.topright{gap:4px}.hero{padding:22px;min-height:210px}.pagehead{align-items:start;flex-direction:column}.grid2{grid-template-columns:1fr}.panel{padding:15px}.card-image{width:calc(100% + 30px);margin:-15px -15px 12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar>*{flex:1}.table .actions{flex-wrap:wrap}}
@media(min-width:651px){.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
