:root{color-scheme:light;--bg:#f4f6fa;--paper:#fff;--text:#18263b;--muted:#516278;--border:#dce3ec;--nav:#132339;--active:#284462;--blue:#1755a5;--soft:#edf4ff;--green:#17604d;--amber:#835609;font-family:Inter,"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{background:var(--blue);color:white;border:1px solid transparent;padding:.62rem .9rem;border-radius:7px;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-weight:650;white-space:nowrap}button:hover{filter:brightness(.92)}button:disabled{opacity:.5;cursor:default}.secondary,.file{border:1px solid var(--border);color:var(--blue);background:#fff}.ghost{background:transparent;color:var(--muted);padding:.45rem .55rem}.icon{width:20px;height:20px;flex:none}.shell{min-height:100dvh;display:grid;grid-template-columns:228px minmax(0,1fr)}aside{background:var(--nav);color:#d4e0ee;padding:22px 15px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;align-self:start}.brand{display:flex;align-items:center;gap:11px;padding:6px 6px 30px;color:#fff}.brand-icon{display:inline-grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#3868a4;color:white;flex:none}.brand small{display:block;margin-top:3px;color:#b8c9dc}.brand strong{white-space:nowrap;letter-spacing:.02em}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:11px;color:#c9d8e8;padding:11px;border-radius:7px}nav [aria-current=page]{color:white;background:var(--active);font-weight:700}nav a:hover{background:#263b54;text-decoration:none}.logout{margin-top:auto;padding-top:24px}.logout .ghost{color:#c9d8e8}header{height:61px;background:var(--paper);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 31px;font-size:.9rem;color:var(--muted)}.slash{margin:0 8px;color:#8392a4}.admin i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2a8468;margin-right:4px}.workspace{width:min(1480px,100%);margin:auto;padding:27px 31px 38px}.heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}h1,h2,p{margin:0}h1{font-size:1.9rem;letter-spacing:-.035em}h2{font-size:1.08rem}.heading p,.panel-head p{color:var(--muted);margin-top:6px;font-size:.9rem;line-height:1.6}.metrics,.columns{display:grid;gap:16px;margin-bottom:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.metric,.panel,.loginbox{background:var(--paper);border:1px solid var(--border);border-radius:11px}.metric{padding:16px 19px;display:grid;gap:6px}.metric span,.metric small{color:var(--muted)}.metric strong{font-size:1.95rem;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.panel{margin-bottom:16px;overflow:hidden}.columns>.panel,.columns>div>.panel:last-child{margin-bottom:0}.panel-head,.panel-foot{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel-foot{justify-content:flex-start;border-top:1px solid var(--border);font-size:.87rem}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}th{background:#f7f9fc;color:var(--muted);font-weight:650}td,th{padding:11px 17px;border-top:1px solid var(--border);line-height:1.5}td small{display:block;color:var(--muted)}.pill{display:inline-block;border-radius:20px;background:#eef2f7;color:#485872;padding:3px 9px;font-size:.8rem;line-height:1.5}.green{background:#e9f6ef;color:var(--green)}.amber{background:#fff4df;color:var(--amber)}.progress{display:flex;align-items:center;gap:8px;white-space:nowrap}.progress progress{width:72px;height:7px;appearance:none;border:0;border-radius:20px;background:#e7edf5;color:var(--blue)}progress::-webkit-progress-bar{background:#e7edf5;border-radius:20px}progress::-webkit-progress-value{background:#4a79bf;border-radius:20px}.list{padding:0;margin:0;list-style:none}.list li,.reference{border-top:1px solid var(--border);padding:12px 18px}.list li{display:flex;justify-content:space-between;align-items:center;gap:10px}.list li span{display:block;color:var(--muted);font-size:.85rem;margin-top:5px}.list .pill{margin:0;white-space:nowrap}.stack li{display:block;overflow-wrap:anywhere}.empty{padding:18px;color:var(--muted);border-top:1px solid var(--border)}summary{cursor:pointer;color:var(--blue);line-height:1.6}.reference p,.bodytext{padding:6px 0;overflow-wrap:anywhere;line-height:1.6}.bodytext{white-space:pre-wrap;max-height:320px;overflow:auto}.filters,.inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}input,select,textarea{border:1px solid #becbda;padding:8px 10px;border-radius:6px;background:white;color:var(--text);max-width:100%;min-width:0}textarea{resize:vertical}.fields{border-top:1px solid var(--border);padding:16px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fields label,.login label{display:grid;gap:6px;font-size:.9rem;font-weight:650}.full{grid-column:1/-1}.notice{background:#e8f6ee;color:#145447;border:1px solid #b1ddc9;border-radius:8px;padding:11px 14px;margin-bottom:14px}.notice.error{background:#fff0ec;color:#852c23;border-color:#f0cec8}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.loginbox{width:min(450px,100%);padding:31px}.loginbox h1{font-size:1.6rem;margin:12px 0 7px}.loginbox p{color:var(--muted);margin-bottom:18px}.login form{display:grid;gap:14px}.login button{justify-content:center}.file{border-radius:6px;padding:.28rem .5rem;font-size:.85rem}.nowrap{white-space:nowrap}.wrap{overflow-wrap:anywhere}.panel-head>h2{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4884cd;outline-offset:2px}@media(max-width:1000px){.columns{grid-template-columns:1fr}.workspace{padding:20px}.shell{grid-template-columns:186px minmax(0,1fr)}.brand strong{font-size:.88rem}}@media(max-width:700px){.shell{display:block}aside{min-height:auto;position:static;padding:9px 12px}.brand{padding:4px 0 8px}nav{display:flex;overflow:auto}nav a{white-space:nowrap;padding:8px}.logout{padding:3px 0 0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}header{padding:0 16px;height:43px}.workspace{padding:15px}.heading h1{font-size:1.5rem}.heading{align-items:flex-start}.heading button{white-space:normal}.fields{grid-template-columns:1fr}}
