@charset "UTF-8";
:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#30302c;background:#f5f3ed;color-scheme:light;font-synthesis:none;--ink:#30302c;--muted:#817d74;--line:#e3dfd5;--green:#6b7758}
*{box-sizing:border-box}body{margin:0}button{font:inherit}button:focus-visible,summary:focus-visible{outline:3px solid #d69a81;outline-offset:4px}
.appbar{height:72px;border-bottom:1px solid var(--line);background:#fdfcf8;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1180px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:17px;letter-spacing:.2px}.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:#c87355;color:#fff7ee;border-radius:9px}.brand-mark svg{width:20px;height:20px}.appbar-note{font-size:12px;color:var(--muted)}
main{max-width:1180px;margin:42px auto;padding:0 28px}.eyebrow{color:#938b7f;font-size:11px;font-weight:650;letter-spacing:2px;text-transform:uppercase}header{display:flex;align-items:center;justify-content:space-between;gap:20px}h1{font-size:36px;letter-spacing:-1.3px;line-height:1.2;margin:12px 0 10px;font-weight:650}p{line-height:1.7}.subtitle{color:#857e72;font-size:14px;margin:0}button{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;flex-shrink:0;background:white;border:1px solid #dcd6ca;border-radius:10px;color:#544d43;padding:11px 17px;font-size:13px;cursor:pointer;box-shadow:0 2px 3px #483b2804;transition:background .15s,transform .15s}button:hover{background:#efe9de;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:wait}button svg{width:15px;height:15px}
.status{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:24px 0 30px;color:#948b7d;font-size:11px}.status #connection{border:1px solid #e1dbce;background:#eeece2;padding:5px 9px;border-radius:6px;color:#747158}.status #time{margin-left:auto}.dot{color:#6b7758!important}
.overview{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:32px;border:1px solid var(--line);border-radius:14px;background:#fdfcf8;overflow:hidden}.overview-item{padding:20px 25px;display:flex;align-items:center;gap:18px}.overview-item+.overview-item{border-left:1px solid var(--line)}.overview-value{font-size:30px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.overview-label{font-size:12px;color:#82796c}.overview-hint{display:block;font-size:11px;color:#a69c8d;margin-top:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.section-heading h2{font-size:16px;margin:0;font-weight:650}.section-heading span{font-size:11px;color:#9c9283}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid #dfd9ce;border-radius:18px;padding:26px;min-width:0;box-shadow:0 5px 18px #483b2803;position:relative;overflow:hidden}.card.active{border-top:3px solid #c77a5c;padding-top:24px}.card.idle{border-top:3px solid #d7cdbb;padding-top:24px}.top{display:flex;justify-content:space-between;align-items:center;gap:8px}.gpu-index{display:flex;align-items:center;gap:10px;color:#7b7062;font-size:12px;font-weight:600;letter-spacing:1px}.chip-icon{width:30px;height:30px;background:#f3efe6;border:1px solid #e7dfd2;border-radius:8px;display:grid;place-items:center}.chip-icon svg{height:18px;width:18px}.tag{font-size:11px;color:#76785c;background:#eeeee3;padding:5px 9px;border-radius:6px;white-space:nowrap}.tag.busy{color:#a45e42;background:#f5e6dc}.card h2{font-size:18px;font-weight:600;letter-spacing:-.4px;margin:18px 0 2px}.hardware-note{font-size:11px;color:#a49a8c}.occupant{display:flex;align-items:center;gap:14px;padding:22px 0;margin:6px 0 0}.avatar{width:45px;height:45px;flex:0 0 45px;border-radius:50%;display:grid;place-items:center;background:#f2e0d3;color:#ab694d;font-size:13px;font-weight:700}.idle .avatar{background:#f1eee6;color:#938870}.owner{font-size:25px;font-weight:600;letter-spacing:-.5px;overflow-wrap:anywhere}.owner-hint{font-size:11px;color:#958b7d;margin-top:4px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid #ece7df;padding-top:22px}.metric-label{color:#908577;font-size:11px}.metric strong{display:block;font-size:29px;font-weight:550;letter-spacing:-1px;margin:8px 0 13px;font-variant-numeric:tabular-nums}.metric strong small{font-size:11px;letter-spacing:0;font-weight:400;color:#a09586;white-space:nowrap}.bar{height:5px;background:#f0ebe2;border-radius:9px;overflow:hidden}.fill{height:100%;background:#c8795b;border-radius:9px;transition:width .6s}.memory-fill{background:#c9b79c}.foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #ece7df;margin-top:24px;padding-top:16px;color:#938777;font-size:11px}.foot b{color:#6c5d4c;font-weight:500;margin-left:5px}.section{margin-top:32px}.tablewrap{background:#fdfcf8;border:1px solid var(--line);border-radius:14px;overflow:hidden}table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}th,td{text-align:left;padding:16px 20px;border-bottom:1px solid #ece7df;vertical-align:top}th{background:#f7f4ee;color:#9a8e7d;font-size:11px;font-weight:500}th:nth-child(1){width:13%}th:nth-child(2){width:19%}th:nth-child(3){width:14%}th:nth-child(4){width:16%}tr:last-child td{border-bottom:0}td b{font-weight:600}td .muted{display:block;color:#a79b8a;font-size:11px;margin-top:4px}.gpu-pill{background:#f1ede4;border:1px solid #e7dfd2;padding:4px 7px;border-radius:5px;font-size:10px;white-space:nowrap}.mono{font-family:Consolas,monospace;color:#8c7d69;font-size:12px}details{min-width:0}summary{color:#a5684f;cursor:pointer;overflow-wrap:anywhere}details p{margin:10px 0 0;color:#9a8974;font-size:11px;overflow-wrap:anywhere}code{font-family:Consolas,monospace;color:#8e7b63;overflow-wrap:anywhere;white-space:normal}.notice{background:#fff0ec;border:1px solid #f2d9d0;color:#a45943;padding:16px;border-radius:12px;margin:20px 0;font-size:13px}.stale{opacity:.5}footer{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:25px 0 35px;padding-top:18px;border-top:1px solid var(--line);color:#9a8e7d;font-size:11px;line-height:1.8}footer details{max-width:620px}footer summary{color:#91816b}.muted{color:var(--muted);font-size:13px}.empty{padding:25px;color:var(--muted)}
@media(min-width:1400px){main{margin-top:54px}}
@media(max-width:760px){.appbar{height:58px;padding:0 20px}.appbar-note{display:none}main{padding:0 20px;margin:28px auto}.grid{grid-template-columns:1fr}.status #time{margin-left:0;width:100%}.overview-item{padding:16px 14px;display:block}.overview-value{font-size:25px}.overview-label{margin-top:6px}.overview-hint{display:none}h1{font-size:30px}.card{padding:23px}.card.active,.card.idle{padding-top:21px}.section-heading span{font-size:10px}footer{display:block}footer details{margin-top:10px}table,tbody{display:block}thead{display:none}tr{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:18px 20px;border-bottom:1px solid var(--line)}tr:last-child{border-bottom:0}td{display:block;padding:0;border:0;min-width:0}td::before{content:attr(data-label);display:block;color:#a49682;font-size:10px;margin-bottom:7px}td:last-child{grid-column:1/-1}.subtitle{font-size:12px}.status{gap:10px;margin-bottom:22px}.occupant{padding:20px 0}.metrics{gap:18px}}
@media(max-width:380px){main{padding:0 14px}.appbar{padding:0 14px}header{align-items:flex-start;flex-wrap:wrap;gap:16px}h1{font-size:28px}.card{padding:18px}.card.active,.card.idle{padding-top:16px}.card h2{font-size:16px}.metric strong{font-size:25px}.metric strong small{display:block;margin-top:4px}.foot{font-size:10px}.overview-item{padding:14px 10px}.overview-label{font-size:10px}.owner{font-size:24px}}

/* Warm paper, editorial typography, and restrained terracotta accents. */
:root{--accent:#c8795b;--surface:#fdfcf8;--serif:Georgia,"Times New Roman","Songti SC","SimSun",serif}
body{background:#f5f3ed}
.appbar{background:transparent;border-bottom-color:#e6e1d7}
.brand{font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:-.8px}
.brand-mark{background:transparent;color:var(--accent);width:31px;height:31px;border-radius:0}
.brand-mark svg{width:28px;height:28px}
main{max-width:1100px}
h1{font-family:var(--serif);font-size:44px;font-weight:400;letter-spacing:-1.8px}
.eyebrow{letter-spacing:1.5px;font-size:10px}
.subtitle{font-size:13px;line-height:1.8}
button{background:#c8795b;color:#fffaf5;border-color:#c8795b;box-shadow:none;border-radius:9px}
button:hover{background:#b76a4e;border-color:#b76a4e}
.overview{background:transparent;border-radius:0;border-width:1px 0}
.overview-item{padding:22px 24px}
.overview-value{font-family:var(--serif);font-size:34px;font-weight:400}
.overview-hint{font-size:9px;letter-spacing:1px}
.section-heading h2{font-weight:500;letter-spacing:.2px}
.card{border-radius:13px;box-shadow:none}
.card.active,.card.idle{border-top-width:1px;padding-top:26px;border-top-color:#dfd9ce}
.tag{border-radius:5px}
.card h2{font-size:17px;font-weight:500}
.owner{font-family:var(--serif);font-weight:400;font-size:29px}
.avatar{border-radius:11px;font-weight:500}
.metric strong{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.8px}
.metric strong small{font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.bar{height:4px}
.tablewrap{border-radius:12px}
.dot{color:#747158!important}
@media(max-width:760px){h1{font-size:36px}.overview-item{padding:17px 14px}.overview-value{font-size:29px}.card.active,.card.idle{padding-top:23px}}
@media(max-width:380px){h1{font-size:33px}.overview-item{padding:15px 10px}.card.active,.card.idle{padding-top:18px}.metric strong{font-size:28px}.metric:first-child strong small{display:inline}.owner{font-size:27px}}

/* Semantic success states stay green within the warm neutral theme. */
.status #connection.dot {
  color: #32734c !important;
  background: #edf5eb;
  border-color: #d4e6d0;
}
.tag:not(.busy) {
  color: #32734c;
  background: #edf5eb;
}
.idle .avatar {
  color: #478052;
  background: #edf5eb;
}
#gpu-free {
  color: #32734c;
}

.server-switch{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 28px;padding:5px;background:#ece8df;border:1px solid #e3ddd2;border-radius:11px;width:fit-content}
.server-switch button{background:transparent;color:#837868;border-color:transparent;padding:9px 14px;font-size:12px;box-shadow:none}
.server-switch button[aria-pressed="true"]{background:#fdfcf8;color:#935d43;border-color:#e0d8cc;box-shadow:0 1px 3px #49341d0a}
.server-switch button small{font-size:10px;opacity:.65;margin-left:4px}
@media(max-width:380px){.server-switch{gap:3px;width:100%}.server-switch button{flex:1;padding:9px 6px;font-size:11px}}
.card.fault{border-color:#dfb7ae;background:#fffaf7}
.tag.fault-tag,.tag.fault-tag:not(.busy){color:#a64236;background:#f9e5df}
.fault .avatar{color:#a64236;background:#f9e5df}
.fault .owner{color:#a64236}

/* Manual desktop split: fixed card counts; no automatic wrapping. */
body main,body.eight-gpus main{max-width:none;width:100%;min-width:1100px;padding:0 28px;margin:30px auto}
.appbar{min-width:1100px;padding-left:28px;padding-right:28px}
.workspace-layout{display:grid;grid-template-columns:minmax(0,var(--split,72fr)) 18px minmax(0,var(--rest,28fr));align-items:start;gap:0}
.gpu-panel,.tasks-panel.section{min-width:0;max-width:100%;margin:0}
.gpu-panel .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.eight-gpus .gpu-panel .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gpu-panel .card,.gpu-panel .card.active,.gpu-panel .card.idle{padding:16px}
.gpu-panel .card h2{font-size:14px;margin-top:14px;overflow-wrap:anywhere}
.gpu-panel .occupant{padding:16px 0;gap:9px;min-width:0}
.gpu-panel .occupant>div:last-child{min-width:0}
.gpu-panel .avatar{width:32px;height:32px;flex-basis:32px;font-size:10px}
.gpu-panel .owner{font-size:24px}
.gpu-panel .owner-hint{font-size:10px;line-height:1.5}
.gpu-panel .metrics{gap:10px;padding-top:16px;min-width:0}
.gpu-panel .metric{min-width:0}
.gpu-panel .metric strong{font-size:25px;margin:7px 0 10px}
.gpu-panel .metric strong small{display:block;font-size:10px;margin-top:3px}
.gpu-panel .metric:first-child strong small{display:inline}
.gpu-panel .foot{margin-top:17px;padding-top:13px;font-size:10px;gap:7px}
.gpu-panel .top{flex-wrap:wrap}
.overview{margin-bottom:24px}.overview-item{padding:16px 24px}
.tasks-panel table,.tasks-panel tbody{display:block}
.tasks-panel thead{display:none}
.tasks-panel tr{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:16px;border-bottom:1px solid var(--line)}
.tasks-panel tr:last-child{border-bottom:0}
.tasks-panel td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
.tasks-panel td::before{content:attr(data-label);display:block;color:#a49682;font-size:10px;margin-bottom:5px}
.tasks-panel td:last-child{grid-column:1/-1}
.tasks-panel .section-heading{min-height:20px;flex-wrap:wrap}
.tasks-panel .section-heading span{font-size:10px}
.tasks-panel .tablewrap{max-height:calc(100vh - 100px);overflow:auto;scrollbar-width:thin;scrollbar-color:#d5cbbd transparent}
.tasks-panel{position:sticky;top:24px}
#splitter{align-self:stretch;min-height:240px;position:relative;cursor:col-resize;touch-action:none;outline:none}
#splitter::before{content:"";position:absolute;top:0;bottom:0;left:8px;width:2px;background:#e3ddd2;border-radius:4px;transition:background .15s}
#splitter::after{content:"⋮";position:absolute;top:110px;left:2px;width:14px;line-height:36px;text-align:center;background:#eee8dd;border:1px solid #ddd3c4;border-radius:6px;color:#a5826a}
#splitter:hover::before,#splitter:focus-visible::before,body.resizing #splitter::before{background:#c8795b;width:3px}
body.resizing,body.resizing *{cursor:col-resize!important;user-select:none!important}
