:root{color-scheme:dark;--bg:#0b1220;--panel:#121e30;--line:#26354a;--text:#e9f1ff;--muted:#94a8bf;--blue:#35b9f4;--green:#5cdbb1;--red:#ff9e9e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#0c1524}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:21px;color:var(--text);text-decoration:none}.brand-icon{color:var(--blue);font-size:32px}.brand small{font-size:11px;font-weight:400;background:#1b3149;color:#a8cce9;padding:2px 8px;border-radius:5px}main{max-width:1420px;margin:auto;padding:36px 5% 70px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:34px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:3px;margin:0 0 8px}h1{font-size:30px;margin:0 0 10px;line-height:1.4}h2{font-size:18px;margin:0 0 12px}p{margin:8px 0}.muted,.footnote{color:var(--muted)}.footnote{font-size:12px;overflow-wrap:anywhere;margin:22px 0}.connection{padding:10px 16px;border:1px solid var(--line);border-radius:24px;white-space:nowrap;color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--muted);border-radius:50%;margin-right:9px}.dot.online{background:var(--green)}button,.button{font:inherit;border:1px solid var(--line);background:#1a293e;color:var(--text);padding:8px 15px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}button:hover,.button:hover{border-color:#5b809f;background:#24394f}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:#05233a;font-weight:650}.primary:hover{background:#70d2fb}.danger{color:var(--red)}.actions,.inline{display:flex;align-items:center;gap:9px}.actions{justify-content:flex-end;flex-wrap:wrap}.spacer{flex:1}nav{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px;flex-wrap:wrap}nav button.selected{background:#183750;color:#87dcff;border-color:#265c7b}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 20px #0002}.cover{width:100%;height:172px;object-fit:cover;display:block}.card-body{padding:18px}.card h2{font-size:18px;overflow-wrap:anywhere;margin-bottom:3px}.card-meta{color:var(--muted);font-size:12px}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.card-actions button{padding:6px 11px;font-size:13px}.card .secondary-actions{margin-top:12px;display:flex;gap:12px}.link-button{background:none;border:0;padding:0;font-size:12px;color:var(--muted)}.empty{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:14px}.empty p{color:var(--muted);margin-bottom:24px}.empty-icon{font-size:46px;color:#5881a1;margin-bottom:12px}.task-panel{margin-top:38px;border-top:1px solid var(--line);padding-top:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title h2{margin:0}.section-title span{font-size:12px}.task,.release{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin:10px 0}.task-head{display:flex;justify-content:space-between;gap:12px}.progress{height:5px;background:#293c52;border-radius:8px;overflow:hidden;margin:10px 0}.progress>div{height:100%;background:var(--blue);transition:width .3s}.badge{display:inline-block;padding:3px 9px;border-radius:6px;background:#25334b;color:#b5c8e2;font-size:12px;white-space:nowrap}.badge.pending{background:#4a3b1b;color:#ffda87}.badge.approved{background:#123f35;color:#89e0be}.badge.rejected,.error{color:var(--red)}.note{padding:9px 12px;border-left:2px solid #dfba69;background:#ffffff05;margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}dialog{background:var(--panel);color:var(--text);border:1px solid #38506b;border-radius:16px;padding:28px;width:min(540px,92vw);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020815bb;backdrop-filter:blur(3px)}label{display:block;color:#bbcee3;font-size:13px;margin:18px 0}input,select,textarea{display:block;width:100%;font:inherit;background:#0b1525;color:var(--text);border:1px solid #35475e;border-radius:8px;padding:10px 12px;margin-top:7px}input:focus,textarea:focus{outline:2px solid #358eb5}.inline input{margin:0;min-width:0}.inline button{flex-shrink:0}.inline{margin-top:7px}dialog .actions{margin-top:25px}.qr{display:block;width:220px;height:220px;background:white;padding:12px;margin:20px auto}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:90vw;background:#e3f4ff;color:#13253b;border-radius:10px;padding:12px 20px;box-shadow:0 8px 40px #0006;display:none;z-index:999}#toast.show{display:block}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:12px}td{font-size:13px}.login-page{max-width:470px;margin:8vh auto}.stat-row{display:flex;gap:14px;margin-bottom:25px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;flex:1}.stat strong{font-size:28px;display:block}.stat span{color:var(--muted)}[hidden]{display:none!important}@media(max-width:700px){header{height:auto;min-height:78px;padding:15px 5%;gap:16px;flex-wrap:wrap}.brand{font-size:18px}.intro{align-items:flex-start;flex-direction:column}h1{font-size:25px}.section-title{align-items:flex-start;flex-wrap:wrap}.section-title span{font-size:11px}.stat-row{flex-wrap:wrap}.stat{min-width:110px}.grid{grid-template-columns:1fr}.task-head{flex-wrap:wrap}}
