:root{--accent:#07c160;--accent-hover:#06ad56;--rail-bg:#2e2e2e;--panel-bg:#f5f5f5;--content-bg:#fff;--text:#191919;--text-2:#5f5f5f;--text-3:#9a9a9a;--border:#e6e6e6;--danger:#d93026;--warn:#b26a00;color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--content-bg);margin:0}button{font:inherit}.login{background:#e9a062 url(/bg.jpg) 38%/cover no-repeat;align-items:center;padding-left:6vw;display:flex;position:fixed;inset:0}.login-card{-webkit-backdrop-filter:blur(14px);background:#ffffffd1;border-radius:16px;flex-direction:column;gap:14px;width:min(360px,90vw);padding:28px;display:flex;box-shadow:0 12px 40px #0000002e}.login-title{font-size:20px;font-weight:600}.field{background:#fff;border:1px solid #d9d9d9;border-radius:8px;outline:none;width:100%;height:42px;padding:0 12px;font-size:15px}.field:focus{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;height:42px;font-size:15px}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:default}.link-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;align-self:center;font-size:13px}.hint{color:var(--text-2);margin:0;font-size:13px;line-height:1.6}.hint a{color:var(--accent);margin-left:4px}.hint.warn{color:var(--warn)}.error{color:var(--danger);margin:0;font-size:13px}.shell{grid-template-columns:72px 240px minmax(0,1fr);height:100vh;display:grid}.rail{background:var(--rail-bg);flex-direction:column;align-items:center;gap:10px;padding:20px 0;display:flex}.rail-btn{cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:10px;width:48px;height:48px;font-size:26px;line-height:1;position:relative}.rail-btn:hover{opacity:.85}.rail-btn.active{opacity:1;background:#ffffff1f}.rail-btn.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:12px;bottom:12px;left:-12px}.rail-spacer{flex:1}.rail-lock{color:#a8a8a8;cursor:pointer;background:0 0;border:none;padding:10px;display:flex}.rail-lock:hover{color:#fff}.panel{border-right:1px solid var(--border);background:var(--panel-bg);overflow-y:auto}.panel-title{padding:22px 20px 12px;font-size:16px;font-weight:600}.panel-hint{color:var(--text-3);padding:0 20px;font-size:13px}.menu-item{width:100%;height:52px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:0 20px;font-size:16px;display:flex}.menu-item:hover{background:#0000000a}.menu-item.active{background:var(--accent);color:#fff}.content{padding:20px 28px 32px;overflow-y:auto}.content-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.content-header h1{margin:0;font-size:20px;font-weight:600}.spacer{flex:1}.toggle{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#d0d0d0;border-radius:11px;width:40px;height:22px;transition:background .15s;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.placeholder{border:1px dashed var(--border);color:var(--text-2);border-radius:10px;padding:16px 20px;font-size:14px;line-height:1.7}.placeholder p{margin:0 0 4px}.placeholder ul{margin:0;padding-left:20px}.status-box{background:var(--panel-bg);border-radius:10px;margin-bottom:16px;padding:16px 20px;font-size:14px}.status-title{margin-bottom:8px;font-weight:600}.status-box dl{grid-template-columns:88px 1fr;gap:6px 12px;margin:0;display:grid}.status-box dt{color:var(--text-3)}.status-box dd{margin:0}@media (width<=760px){.login{background-position:50%;justify-content:center;padding-left:0}.shell{grid-template-columns:56px 150px minmax(0,1fr)}.menu-item{padding:0 12px;font-size:14px}.content{padding:16px}}
