:root{color-scheme:dark;--bg:#101820;--card:#1c2732;--line:#344653;--ink:#edf3f6;--muted:#b1c1cc;--accent:#59d2b4}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.wrap{max-width:1180px;margin:32px auto;padding:0 24px}#login{max-width:460px;margin:10vh auto}#app{display:none}[hidden]{display:none!important}
h1{font-size:30px;margin:0}h2{font-size:21px;margin:0 0 20px}p{margin:10px 0}a{color:#8ce4cf;overflow-wrap:anywhere}
header,.row,.who,.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap}header{justify-content:space-between;margin-bottom:24px}.who{font-size:14px}
.card{background:var(--card);padding:24px;border:1px solid var(--line);border-radius:14px;margin-bottom:20px;min-width:0}
.sub,.tag,.small,.warn-note{color:var(--muted)}.small,.warn-note{font-size:14px}.field,.purl,.count-field{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.label{display:block;font-weight:650}.row input{flex:1;min-width:180px}.row input[type=checkbox]{flex:0;min-width:0}
input,select,button{font:inherit;border:1px solid #587181;border-radius:8px;padding:10px 12px;background:#111d28;color:var(--ink);min-height:44px;max-width:100%}
input[type=checkbox]{min-height:20px;width:20px;height:20px;accent-color:var(--accent)}input:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button{cursor:pointer;white-space:normal}button:hover{background:#2a3e4f}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:#116452;border-color:#35a88d;font-weight:650}.primary:hover{background:#157b66}
.ghost,.refresh{background:transparent}.refresh{font-size:14px;padding:7px 10px;min-height:38px}.err-msg{color:#ffb5b5;overflow-wrap:anywhere}.inline-status{white-space:pre-wrap;overflow-wrap:anywhere}
.post-item{border:1px solid var(--line);border-radius:10px;padding:18px;margin:16px 0;position:relative;min-width:0}.del{float:right;color:#ffb5b5;margin-left:8px}
.counts{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:16px}.post-url{width:100%}.purl{clear:both}
.devices{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px;margin:18px 0}.dev{display:grid;grid-template-columns:24px minmax(0,1fr);gap:3px 10px;background:#14202b;border:1px solid var(--line);padding:14px;border-radius:8px;align-items:center}
.dev .serial,.dev .device-status{grid-column:2;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.dev .model{overflow-wrap:anywhere}.dev.unavailable{opacity:.65}.job-label{font-weight:650;overflow-wrap:anywhere}.job-summary{font-size:14px}
progress{width:100%;height:15px;accent-color:var(--accent)}summary{cursor:pointer;padding:10px 0}.table-wrap{overflow:auto;max-width:100%}.task-table{width:100%;min-width:660px;border-collapse:collapse;table-layout:fixed;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}th:nth-child(1){width:12%}th:nth-child(2){width:23%}th:nth-child(3){width:15%}th:nth-child(4){width:50%}
pre{font:12px/1.6 ui-monospace,monospace;max-height:480px;overflow:auto;background:#101923;padding:12px;border-radius:7px}.task-detail{overflow-wrap:anywhere}.pagination{justify-content:center;margin-top:20px}
@media(max-width:680px){.wrap{padding:0 12px;margin:18px auto}.card{padding:18px 14px}.counts{grid-template-columns:repeat(2,minmax(80px,1fr));gap:10px}.devices{grid-template-columns:1fr}header{align-items:flex-start}h1{font-size:25px}.row{align-items:stretch}.row input{width:100%}.card .row button{flex:1}.task-table{min-width:620px}}
