/* Design system lifted verbatim from the box's local web UI (app/server.py).
 *
 * The portal must look and behave like the interface engineers already know,
 * so rather than approximating that design we reuse its stylesheet directly.
 * Regenerate with: python tools/extract_css.py
 *
 * DO NOT EDIT BY HAND - changes belong in app/server.py.
 */
.wrap{max-width:1280px;padding-top:10px;padding-bottom:16px}.remotePage{width:100%;max-width:1220px;margin:0 auto;padding:0}.flightBar{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px;align-items:stretch;margin-bottom:8px}.flightTile{min-height:58px;border-radius:20px;padding:10px 14px;background:linear-gradient(180deg,rgba(10,16,27,.98),rgba(20,31,49,.98));border:1px solid rgba(255,255,255,.10);box-shadow:0 14px 28px rgba(15,23,42,.22),inset 0 1px 0 rgba(255,255,255,.10);color:#f8fafc}.flightTile .k{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;font-weight:950}.flightTile .v{margin-top:3px;font-size:20px;line-height:1;font-weight:1000;letter-spacing:-.035em}.flightTile .v.gold{color:var(--gold)}.flightTile .sub{margin-top:4px;color:#cbd5e1;font-size:11px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remoteStage{display:grid;grid-template-columns:minmax(150px,1fr) minmax(350px,430px) minmax(150px,1fr);gap:10px;align-items:stretch}.sideDock,.remoteBody{border-radius:26px;background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(7,12,22,.98));border:1px solid rgba(255,255,255,.10);box-shadow:0 16px 34px rgba(15,23,42,.26),inset 0 1px 0 rgba(255,255,255,.10);padding:12px}.sideDock{display:flex;flex-direction:column;gap:9px;justify-content:center}.remoteHiddenStats{display:none}.dockStat{border-radius:17px;padding:10px 12px;background:linear-gradient(180deg,rgba(15,23,42,.80),rgba(3,7,18,.78));border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);margin-bottom:2px}.dockStat .k{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8;font-weight:1000}.dockStat .v{margin-top:3px;font-size:18px;line-height:1;font-weight:1000;color:#f8fafc;letter-spacing:-.03em}.dockStat .sub{margin-top:5px;color:#cbd5e1;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dockTitle{text-align:center;color:#94a3b8;font-size:10px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase}.remoteBody{min-height:0}.remoteTop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.signalDot{display:inline-flex;align-items:center;gap:7px;color:#cbd5e1;font-weight:900;font-size:12px}.signalDot:before{content:"";width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 14px rgba(34,197,94,.85)}.digitsDisplay{min-height:46px;border-radius:18px;background:rgba(2,6,23,.72);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#f8fafc;font-size:25px;font-weight:1000;letter-spacing:.14em;margin-bottom:9px}.remoteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.remoteBtn{border:0;border-radius:18px;min-height:48px;padding:8px;color:#f8fafc;font-size:18px;font-weight:1000;cursor:pointer;background:linear-gradient(180deg,#26344e,#111827);border:1px solid rgba(255,255,255,.10);box-shadow:0 8px 16px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.10);transition:transform .06s ease,filter .12s ease;user-select:none}.remoteBtn:active{transform:translateY(2px) scale(.985);filter:brightness(1.20)}.remoteBtn.small{min-height:38px;font-size:12px;letter-spacing:.04em}.remoteBtn.tall{min-height:82px;font-size:22px}.remoteBtn.wide{grid-column:span 2}.remoteBtn.gold{background:linear-gradient(135deg,#b7811f,#f0d572);color:#111827}.remoteBtn.red{background:linear-gradient(180deg,#ef4444,#991b1b)}.remoteBtn.green{background:linear-gradient(180deg,#22c55e,#15803d)}.remoteBtn.blue{background:linear-gradient(180deg,#3b82f6,#1d4ed8)}.remoteBtn.dark{background:linear-gradient(180deg,#172033,#0b1220)}.remoteBtn.ghost{background:rgba(255,255,255,.08);color:#dbeafe}.roundPad{width:min(230px,100%);aspect-ratio:1;margin:0 auto 9px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.08) 0 26%,transparent 27%),linear-gradient(180deg,#1f2a3d,#0b1220);border:1px solid rgba(255,255,255,.10);position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 24px rgba(0,0,0,.18)}.padBtn{position:absolute;border:0;border-radius:999px;background:rgba(255,255,255,.08);color:white;font-weight:1000;cursor:pointer;border:1px solid rgba(255,255,255,.10)}.padBtn:active{filter:brightness(1.25)}.padUp{top:5%;left:30%;right:30%;height:28%}.padDown{bottom:5%;left:30%;right:30%;height:28%}.padLeft{left:5%;top:30%;bottom:30%;width:28%}.padRight{right:5%;top:30%;bottom:30%;width:28%}.padOk{left:34%;right:34%;top:34%;bottom:34%;background:linear-gradient(135deg,#b7811f,#f0d572);color:#111827;font-size:16px}.quickChannels{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.channelChip{border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.78);border-radius:12px;min-height:34px;font-size:12px;font-weight:950;color:#0f172a;cursor:pointer}.channelChip.active{background:linear-gradient(135deg,#0a84ff,#0066d6);color:#fff}.hintStrip{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.hintStrip span{border-radius:999px;background:rgba(255,255,255,.70);border:1px solid rgba(15,23,42,.08);padding:5px 8px;font-size:10px;font-weight:850;color:#334155}@media (max-width:1050px){.wrap{padding:8px 10px 12px}.remoteStage{grid-template-columns:minmax(125px,.85fr) minmax(310px,1.6fr) minmax(125px,.85fr);gap:8px}.remoteBtn{min-height:44px;font-size:16px}.remoteBtn.tall{min-height:72px}.roundPad{width:min(205px,100%)}.flightBar{grid-template-columns:1fr 1fr 1fr}.flightTile .v{font-size:18px}.flightTile .sub{display:none}}@media (max-width:760px){.wrap{padding:8px 8px 12px}.remoteStage{grid-template-columns:1fr}.sideDock{display:grid;grid-template-columns:1fr 1fr}.dockTitle{grid-column:1/-1}.flightBar{grid-template-columns:1fr;gap:6px}.flightTile{min-height:48px}.flightTile .v{font-size:18px}.flightTile .sub{display:block}.remoteGrid{gap:7px}.remoteBtn{border-radius:16px;min-height:44px}.remoteBtn.tall{min-height:58px}.quickChannels{grid-template-columns:repeat(5,1fr)}.roundPad{width:min(190px,100%)}}@media (max-height:820px) and (min-width:761px){.top{padding-top:10px;padding-bottom:10px}.nav{padding-top:7px;padding-bottom:7px}.wrap{padding-top:7px}.flightTile{min-height:50px;padding:8px 12px}.flightTile .sub{display:none}.remoteBtn{min-height:42px;font-size:16px}.remoteBtn.tall{min-height:68px}.digitsDisplay{min-height:40px;font-size:22px}.roundPad{width:min(190px,100%);margin-bottom:7px}.sideDock,.remoteBody{padding:10px;border-radius:24px}.quickChannels{display:none}.hintStrip{display:none}}
