:root{color:#17201b;background:#eef2ea;font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(42,86,68,.16),transparent 38%),linear-gradient(225deg,rgba(219,119,43,.16),transparent 34%),#eef2ea}button,input{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;background:#1e5a44;color:#fff;padding:0 16px;cursor:pointer;transition:transform .16s ease,background .16s ease,opacity .16s ease}button:hover:not(:disabled){transform:translateY(-1px);background:#174836}button:disabled{cursor:not-allowed;opacity:.48}input{min-height:46px;width:100%;border:1px solid rgba(24,34,28,.18);border-radius:8px;background:#fffdf6;padding:0 14px;color:#17201b}.shell{width:min(1240px,calc(100vw - 32px));margin:0 auto;padding:32px 0 48px}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel{width:min(440px,100%);border:1px solid rgba(24,34,28,.12);border-radius:8px;background:#fffdf6db;box-shadow:0 22px 80px #2b3e3224;padding:28px}.login-panel h1{font-size:40px;line-height:1}.login-form{display:grid;gap:12px;margin-top:24px}.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:36px 0 28px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#1e5a44;font-weight:700}h1{max-width:720px;margin:12px 0 10px;font-size:clamp(36px,6vw,72px);line-height:.95;letter-spacing:0}p{max-width:640px;margin:0;color:#50645a;font-size:18px;line-height:1.7}.stats{display:grid;grid-template-columns:repeat(3,108px);gap:10px}.stats div{border:1px solid rgba(24,34,28,.12);border-radius:8px;background:#fffdf6b8;padding:16px}.stats span{display:block;font-size:30px;font-weight:800}.stats small,.row small,.panel-title span,.log-list small{color:#6d7b72}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:14px}.create-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;flex:1}.ghost{background:#fffdf6b8;color:#17201b;border:1px solid rgba(24,34,28,.14)}.ghost:hover:not(:disabled){background:#fffdf6}.danger{background:#b13d30}.danger:hover:not(:disabled){background:#913026}.notice{border-radius:8px;margin:12px 0;padding:12px 14px}.success{background:#d9f2df;color:#1b5d31}.error{background:#f8ded7;color:#8d2c1d}.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.panel{border:1px solid rgba(24,34,28,.12);border-radius:8px;background:#fffdf6cc;box-shadow:0 18px 60px #2b3e321a}.panel-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(24,34,28,.1);padding:18px 18px 14px}h2{margin:0;font-size:18px}.table{overflow-x:auto}.row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(230px,1.4fr) 120px 120px 156px;gap:12px;align-items:center;min-width:820px;border-bottom:1px solid rgba(24,34,28,.08);padding:14px 18px}.row:last-child{border-bottom:0}.row.header{color:#6d7b72;font-size:13px;font-weight:700;text-transform:uppercase}.row strong,.row small{display:block}.mono{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.status.active{background:#d9f2df;color:#1b5d31}.status.disabled{background:#f8ded7;color:#8d2c1d}.actions{display:flex;gap:8px}.actions button{width:38px;min-height:38px;padding:0}.log-list{display:grid;gap:1px}.log-list article{display:grid;gap:3px;border-bottom:1px solid rgba(24,34,28,.08);padding:14px 18px}.log-list article:last-child{border-bottom:0}.log-list span{color:#50645a;font-size:13px;overflow-wrap:anywhere}.empty{color:#6d7b72;padding:28px 18px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.hero,.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar,.create-form{grid-template-columns:1fr}.toolbar{display:grid}}@media(max-width:560px){.shell{width:min(100vw - 20px,1240px);padding-top:18px}.hero{padding-top:18px}h1{font-size:38px}p{font-size:16px}}
