:root{color-scheme:dark;font-family:system-ui,sans-serif;color:#e7eee9;background:#0f120e}*{box-sizing:border-box}body{margin:0;min-height:100dvh}main{width:min(1040px,100%);margin:auto;padding:32px}.signed-out main{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}#welcome{width:100%;display:flex;flex-direction:column;align-items:center;gap:32px;padding:24px 0 64px}.banner{display:block;width:100%;height:auto;object-fit:contain;border-radius:8px}#workspace>.banner{max-height:270px;object-fit:cover}button,.primary{border:1px solid #34483b;border-radius:8px;padding:12px 18px;color:#e2eee6;background:#1a281f;font:inherit;font-size:14px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:16px}.primary{background:#b5df31;color:#11180a;border-color:#b5df31;font-weight:650}.login{min-width:230px;padding:16px 24px}button:hover,.primary:hover{filter:brightness(1.12)}button:focus-visible,a:focus-visible{outline:3px solid #e1f5a1;outline-offset:5px}[hidden]{display:none!important}header,.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:20px}header{margin:24px 0 32px;border-bottom:1px solid #28362d;padding-bottom:20px}h1{font-size:28px;font-weight:600;margin:0}h1 span{font-size:14px;font-weight:500;color:#b5df31;vertical-align:middle;background:#223019;padding:5px 10px;border-radius:20px;margin-left:8px}h2{font-size:16px;font-weight:500}.sectionhead{margin-bottom:12px}.job{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;background:#131d16;border:1px solid #2a3a2e;border-radius:10px;padding:22px;margin-bottom:12px}.job h3{font-size:17px;margin:10px 0}.job p{color:#9caf9f;font-size:12px;line-height:1.6;margin:4px 0}.badge{font-size:10px;color:#b5df31;letter-spacing:1px;text-transform:uppercase}.job button:disabled{opacity:.45;cursor:default}.panel{margin-top:22px}.panel p{font-size:13px;color:#9caf9f;line-height:1.6}#notice:empty{display:none}#notice:not(:empty){width:100%;background:#29321d;border:1px solid #637540;border-radius:8px;padding:14px 18px;margin-bottom:20px;color:#e0e8cd;font-size:14px}@media(max-width:600px){main{padding:20px}#welcome{gap:24px}.job{grid-template-columns:1fr;gap:12px}.job button{width:100%}h1{font-size:24px}#workspace>.banner{object-fit:contain}}

#admin-nav{display:flex;gap:10px;margin:0 0 24px}#admin-nav button[aria-pressed=true]{background:#283a1b;color:#c8ed67;border-color:#66802c}.revoke{border-color:#815447;color:#efb7a7}button:disabled{opacity:.45;cursor:default}

.banner{width:min(680px,100%);margin-inline:auto;border-radius:0}#workspace>.banner{width:min(630px,100%);max-height:none;object-fit:contain}

.sectionhead { flex-wrap: wrap; }
.sectionhead > button { margin-left: auto; }
#admin-nav { flex-wrap: wrap; margin: 0; }
.job { grid-template-columns: minmax(0, 1fr) auto; overflow-wrap: anywhere; }
.job li { color: #9caf9f; font-size: 13px; line-height: 1.7; }
.badge { text-transform: none; letter-spacing: normal; font-size: 12px; }
@media (max-width: 600px) { .job { grid-template-columns: minmax(0, 1fr); } }
#session-note { color: #9caf9f; font-size: 13px; }

.downloads { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin: 1em 0; }
.downloads:not(:has(a:not([hidden]))) { display: none; }

.job.worker-card{grid-template-columns:minmax(0,1fr) auto;gap:16px}
.worker-identity h3{margin:0}
.worker-status{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:650}
.worker-status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.worker-status.is-online{color:#87e5a1;background:#203629}.worker-status.is-offline{color:#ffabab;background:#382623}
.worker-sessions{grid-column:1/-1;margin:0;padding:0;list-style:none}
.worker-sessions li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #2a3a2e}
.worker-sessions strong,.worker-sessions small{display:block}.worker-sessions strong,.worker-sessions dd{color:#e7eee9}
.worker-sessions dl{display:flex;gap:20px;margin:0;text-align:right}.worker-sessions dt{font-size:11px}.worker-sessions dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
@media(max-width:600px){.worker-sessions li{grid-template-columns:minmax(0,1fr)}.worker-sessions dl{text-align:left}}
