:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f6f8;--panel:#fff;--text:#1f2329;--muted:#6b7280;--accent:#1668dc;--danger:#d4380d;--ok:#389e0d;--border:#e5e7eb;--field-bg:#fff;--code-bg:#f6f8fa;--badge-pending-bg:#fff7e6;--badge-pending-fg:#d46b08;--badge-success-bg:#f6ffed;--badge-success-fg:#389e0d;--badge-failed-bg:#fff2f0;--badge-failed-fg:#cf1322;--badge-running-bg:#e6f4ff;--badge-running-fg:#0958d9}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#101418;--panel:#1a2027;--text:#e6e8eb;--muted:#98a0a8;--accent:#4c8dff;--danger:#e5694a;--ok:#58a55c;--border:#2c343d;--field-bg:#12171d;--code-bg:#12171d;--badge-pending-bg:#3d2e14;--badge-pending-fg:#f0a04b;--badge-success-bg:#14291a;--badge-success-fg:#6cc473;--badge-failed-bg:#38191a;--badge-failed-fg:#ef7b6d;--badge-running-bg:#142438;--badge-running-fg:#6aa5f0}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}.container{max-width:960px;margin:0 auto;padding:16px}.nav{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 16px;display:flex}.nav a{color:var(--text);border-radius:6px;padding:4px 8px;text-decoration:none}.nav a.active{background:var(--accent);color:#fff}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:16px}h1{margin:8px 0;font-size:20px}h2{margin:8px 0;font-size:16px}label{color:var(--muted);margin:8px 0 4px;display:block}input,select,textarea{border:1px solid var(--border);background:var(--field-bg);width:100%;color:var(--text);border-radius:6px;padding:8px 10px;font-size:14px}input[type=checkbox]{width:auto}input[type=time]{width:auto}input[type=date]{width:auto}button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.actions select{width:auto}.actions input[type=date]{width:auto}.row-actions{gap:8px;display:flex}label.check{color:var(--text);align-items:center;gap:8px;margin:12px 0 4px;display:inline-flex}label.time-row{color:var(--text);align-items:center;gap:8px;margin:6px 0;display:flex}label.time-row>span{min-width:3.5em;color:var(--muted)}label.time-row input{flex:none}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:8px 10px}th{color:var(--muted);font-weight:500}.muted{color:var(--muted)}.ok{color:var(--ok)}.danger{color:var(--danger)}.badge{border-radius:10px;padding:1px 8px;font-size:12px;display:inline-block}.badge.pending{background:var(--badge-pending-bg);color:var(--badge-pending-fg)}.badge.success{background:var(--badge-success-bg);color:var(--badge-success-fg)}.badge.failed{background:var(--badge-failed-bg);color:var(--badge-failed-fg)}.badge.running{background:var(--badge-running-bg);color:var(--badge-running-fg)}pre{background:var(--code-bg);border-radius:6px;max-height:300px;padding:10px;font-size:12px;overflow:auto}h3{margin:12px 0 2px;font-size:14px}.guide-item p{margin:2px 0 0}ol.flow{margin:8px 0;padding-left:20px}ol.flow li{margin:4px 0}.pwd-reset{gap:8px;margin-top:8px;display:flex}.pwd-reset input{flex:1;min-width:140px}.modal-backdrop{z-index:50;background:rgba(0,0,0,.45);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:min(480px,100vw - 32px);padding:16px}.subnav{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.subnav a{color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 12px;text-decoration:none}.subnav a.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filters{align-items:flex-end}.filters .filter-item{flex-direction:column;gap:2px;display:flex}.filters .filter-item label{margin:0 0 2px}.filters input,.filters select{min-width:120px}.filters .filter-btns{flex-direction:row;align-items:center;gap:8px}.pager{align-items:center;gap:12px;margin-top:12px;display:flex}