:root{--paper:#f5f6f3;--surface:#fff;--border:#e3e1da;--ink:#201e1a;--ink-muted:#5c584f;--action:#1f3a5f;--action-hover:#16293f;--led-good:#2f8f5b;--led-warn:#d98a12;--led-idle:#9b9686;--sans:"Space Grotesk", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--sans);color:var(--ink);margin:0;font-weight:500}p{margin:0}button,input{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--action)}:focus-visible{outline:2px solid var(--action);outline-offset:2px}code{font-family:var(--mono)}:root{--danger:#a13a2b;--r-ctl:8px;--r-box:12px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--tint:color-mix(in srgb, var(--paper) 55%, var(--surface));--ease:.14s ease}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot-good{background:var(--led-good)}.dot-warn{background:var(--led-warn)}.dot-idle{background:var(--led-idle)}.dot-stale{box-shadow:inset 0 0 0 2px var(--led-warn);background:0 0}.status{align-items:center;gap:8px;display:inline-flex}#app{flex-direction:column;min-height:100svh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--s4);padding:14px var(--s5);padding-inline:max(var(--s5), calc((100% - 1120px) / 2 + var(--s5)));background:var(--surface);border-bottom:1px solid var(--border);display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:500;display:flex}.brand .dot{width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--led-good) 18%, transparent)}.who .link-button{white-space:nowrap}.who{align-items:center;gap:var(--s3);min-width:0;color:var(--ink-muted);font-size:14px;display:flex}.who>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs{gap:var(--s5);padding:0 var(--s5);padding-inline:max(var(--s5), calc((100% - 1120px) / 2 + var(--s5)));background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{align-items:center;gap:var(--s2);color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:color var(--ease), border-color var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:14px 2px 12px;font-size:14px;display:inline-flex}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--action);font-weight:500}.tab-count{text-align:center;min-width:20px;color:var(--ink-muted);background:var(--paper);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:400;line-height:1.5}main{width:100%;max-width:1120px;padding:var(--s6) var(--s5) 72px;flex:1;margin:0 auto}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s5);display:flex}.page-head h1{letter-spacing:-.02em;font-size:28px;line-height:1.15}.page-desc{max-width:56ch;color:var(--ink-muted);margin-top:6px;font-size:15px}.page-actions{align-items:center;gap:var(--s3);flex:none;display:flex}.error-text{margin-bottom:var(--s4);padding:10px var(--s3);border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));border-radius:var(--r-ctl);background:color-mix(in srgb, var(--danger) 6%, var(--surface));color:var(--danger);font-size:14px}.ok-text{margin-bottom:var(--s4);padding:10px var(--s3);border:1px solid color-mix(in srgb, var(--led-good) 30%, var(--border));border-radius:var(--r-ctl);background:color-mix(in srgb, var(--led-good) 7%, var(--surface));color:var(--led-good);font-size:14px}.hint{margin:var(--s2) 0 0;color:var(--ink-muted);font-size:13px}.muted{color:var(--ink-muted)}.fleet{margin-bottom:var(--s5);padding:var(--s4) var(--s5) var(--s4);border:1px solid var(--border);border-radius:var(--r-box);background:var(--surface)}.fleet-top{justify-content:space-between;align-items:baseline;gap:var(--s4);margin-bottom:var(--s3);display:flex}.fleet-total{color:var(--ink-muted);font-size:15px}.fleet-total strong{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin-right:6px;font-size:28px;font-weight:500}.fleet-latest{align-items:center;gap:var(--s2);color:var(--ink-muted);font-size:14px;display:inline-flex}.fleet-bar{background:var(--paper);border-radius:999px;gap:3px;height:10px;display:flex;overflow:hidden}.fleet-seg{transform-origin:0;border-radius:999px;min-width:6px;animation:.6s cubic-bezier(.2,.7,.2,1) both fleet-grow}.fleet-seg.seg-good{background:var(--led-good)}.fleet-seg.seg-warn{background:var(--led-warn)}.fleet-seg.seg-idle{background:var(--led-idle)}.fleet-seg.seg-stale{background:repeating-linear-gradient(-45deg, var(--led-warn) 0 3px, var(--surface) 3px 6px);box-shadow:inset 0 0 0 1.5px var(--led-warn)}.fleet-legend{gap:var(--s2) var(--s5);margin:var(--s3) 0 0;color:var(--ink-muted);flex-wrap:wrap;padding:0;font-size:13px;list-style:none;display:flex}.fleet-legend li{align-items:center;gap:var(--s2);display:inline-flex}.fleet-legend strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.fleet-legend .is-zero{opacity:.55}@keyframes fleet-grow{0%{opacity:0;transform:scaleX(0)}}.table-wrap{border:1px solid var(--border);border-radius:var(--r-box);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px var(--s4);white-space:nowrap;vertical-align:middle}th:first-child,td:first-child{padding-left:var(--s5)}th:last-child,td:last-child{padding-right:var(--s5)}th{color:var(--ink-muted);background:var(--tint);border-bottom:1px solid var(--border);padding-top:11px;padding-bottom:11px;font-size:13px;font-weight:500}tbody tr:not(:last-child) td{border-bottom:1px solid var(--border)}tbody tr{transition:background var(--ease)}tbody tr:hover{background:var(--tint)}td{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);font-size:13px}td.mono{text-overflow:ellipsis;max-width:260px;overflow:hidden}.empty-state{color:var(--ink-muted);white-space:normal;padding:var(--s6) var(--s5)}.row-disabled td{opacity:.5}.row-actions{gap:var(--s4);white-space:nowrap;justify-content:flex-end;display:flex}.id-chip{border:1px solid var(--border);background:var(--paper);color:var(--ink);font-family:var(--mono);cursor:pointer;transition:border-color var(--ease), background var(--ease);border-radius:6px;padding:3px 8px;font-size:13px}.id-chip:hover{border-color:var(--action);background:var(--surface)}.version{background:var(--paper);font-family:var(--mono);border-radius:6px;padding:2px 8px;font-size:13px;display:inline-block}.badge-current{margin-left:var(--s2);color:var(--led-good);background:color-mix(in srgb, var(--led-good) 12%, transparent);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.badge-role,.badge-muted{border-radius:999px;padding:2px 9px;font-size:12px;display:inline-block}.badge-role{color:var(--ink-muted);background:color-mix(in srgb, var(--ink-muted) 12%, transparent)}.who .badge-role{margin-left:-4px}.badge-role.role-owner{color:var(--action);background:color-mix(in srgb, var(--action) 12%, transparent)}.badge-role.role-admin{color:var(--led-warn);background:color-mix(in srgb, var(--led-warn) 14%, transparent)}.badge-muted{margin-left:var(--s2);color:var(--led-warn);background:color-mix(in srgb, var(--led-warn) 12%, transparent)}.empty{align-items:flex-start;gap:var(--s2);padding:var(--s6) var(--s5);border:1px dashed var(--border);border-radius:var(--r-box);background:var(--surface);flex-direction:column;display:flex}.empty strong{font-size:16px;font-weight:500}.empty p{max-width:52ch;color:var(--ink-muted);font-size:14px}.empty .button-primary,.empty .button-secondary{margin-top:var(--s2)}.empty .dot{margin-bottom:var(--s1)}.device-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.device-card{gap:var(--s4);padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-box);background:var(--surface);flex-direction:column;display:flex}.device-card-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.device-card .status{font-size:16px;font-weight:500}.device-card .dot{width:12px;height:12px}.device-card dl{gap:var(--s2) var(--s5);padding-top:var(--s4);border-top:1px solid var(--border);grid-template-columns:max-content 1fr;margin:0;font-size:14px;display:grid}.device-card dt,.device-card dd{align-items:center;min-height:28px;margin:0;display:flex}.device-card dt{color:var(--ink-muted)}.button-primary,.button-secondary{border-radius:var(--r-ctl);cursor:pointer;min-height:38px;transition:background var(--ease), border-color var(--ease);border:1px solid #0000;padding:8px 16px;font-size:14px;font-weight:500}.button-primary{background:var(--action);color:#fff}.button-primary:hover{background:var(--action-hover)}.button-primary:disabled{opacity:.6;cursor:default}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--ink)}.button-secondary:hover{border-color:var(--action)}.link-button{color:var(--action);cursor:pointer;transition:color var(--ease);background:0 0;border:none;padding:0;font-size:14px}.link-button:hover{color:var(--action-hover);text-underline-offset:3px;text-decoration:underline}.link-button.danger{color:var(--danger)}.link-button:disabled{opacity:.5;cursor:default;text-decoration:none}.icon-button{border-radius:var(--r-ctl);width:32px;height:32px;color:var(--ink-muted);cursor:pointer;transition:background var(--ease), color var(--ease);background:0 0;border:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--paper);color:var(--ink)}label{color:var(--ink-muted);margin:var(--s4) 0 6px;font-size:13px;display:block}label:first-of-type{margin-top:0}input:not([type]),input[type=text],input[type=email],input[type=password]{width:100%;min-height:40px;padding:8px var(--s3);border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);transition:border-color var(--ease)}input:not([type]):hover,input[type=text]:hover,input[type=email]:hover,input[type=password]:hover{border-color:color-mix(in srgb, var(--ink-muted) 45%, var(--border))}input:not([type=file]):focus-visible{border-color:var(--action);box-shadow:0 0 0 3px color-mix(in srgb, var(--action) 18%, transparent);outline:none}td select,.upload-bar select,.modal select{border:1px solid var(--border);border-radius:var(--r-ctl);background-color:var(--surface);min-height:34px;font:inherit;cursor:pointer;max-width:180px;padding:5px 28px 5px 10px;font-size:13px}.modal select{width:100%;max-width:none;min-height:40px;font-size:14px}#signin{min-height:100svh;padding:var(--s5);place-items:center;display:grid}.signin-shell{border:1px solid var(--border);background:var(--surface);border-radius:20px;grid-template-columns:1fr 1fr;width:100%;max-width:880px;display:grid;overflow:hidden}.signin-aside{gap:var(--s5);background:var(--tint);border-right:1px solid var(--border);flex-direction:column;padding:44px 40px;display:flex}.signin-aside h2{letter-spacing:-.02em;max-width:14ch;font-size:26px;line-height:1.2}.signin-legend{gap:var(--s4);flex-direction:column;margin:auto 0 0;padding:0;list-style:none;display:flex}.signin-legend li{gap:var(--s3);color:var(--ink-muted);grid-template-columns:12px 1fr;align-items:baseline;font-size:14px;display:grid}.signin-legend strong{color:var(--ink);margin-bottom:2px;font-weight:500;display:block}.signin-legend .dot{width:10px;height:10px;transform:translateY(1px)}.signin-panel{justify-content:center;gap:var(--s4);flex-direction:column;padding:44px 40px;display:flex}.signin-panel h1{letter-spacing:-.015em;font-size:22px}.signin-panel .lede{color:var(--ink-muted);font-size:15px}.signin-panel .modal-actions{margin-top:var(--s5)}.signin-panel .modal-actions .button-primary{width:100%}.signin-action{justify-content:center;display:flex}.auth-tabs{gap:var(--s5);margin:0 0 var(--s2);border-bottom:1px solid var(--border);display:flex}.auth-tabs button{color:var(--ink-muted);font:inherit;cursor:pointer;transition:color var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 2px 10px;font-size:15px}.auth-tabs button.active{color:var(--ink);border-bottom-color:var(--action);font-weight:500}.or{align-items:center;gap:var(--s3);margin:var(--s2) 0;color:var(--ink-muted);font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--border);flex:1;height:1px}.modal-backdrop{z-index:10;padding:var(--s5);background:#201e1a61;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:440px;max-height:calc(100svh - 48px);padding:var(--s5);background:var(--surface);border-radius:16px;overflow-y:auto;box-shadow:0 24px 60px -16px #201e1a59}.modal-head{justify-content:space-between;align-items:center;gap:var(--s3);margin:-4px -8px var(--s4) 0;display:flex}.modal h2{letter-spacing:-.01em;font-size:18px}.modal>p{margin-bottom:var(--s3);color:var(--ink-muted);font-size:14px}.modal-actions{justify-content:flex-end;gap:var(--s3);margin-top:var(--s5);display:flex}.copy-field{align-items:flex-start;gap:var(--s2);display:flex}.copy-field .button-secondary{flex:none}.copy-field code{word-break:break-all;min-width:0;padding:9px var(--s3);background:var(--paper);border:1px solid var(--border);border-radius:var(--r-ctl);flex:1;font-size:13px}.player{border-radius:var(--r-ctl);background:#000;width:100%;max-height:60vh;display:block}.upload-bar{align-items:center;gap:var(--s3);margin-bottom:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-box);background:var(--surface);flex-wrap:wrap;display:flex}.upload-bar input[type=file]{color:var(--ink-muted);font-size:14px}.upload-bar input[type=file]::file-selector-button{margin-right:var(--s3);padding:7px var(--s4);border:1px solid var(--border);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;font-weight:500}.quota{align-items:center;gap:var(--s2);color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;display:inline-flex}.quota-bar{background:var(--paper);border:1px solid var(--border);border-radius:999px;width:96px;height:6px;overflow:hidden}.quota-bar span{background:var(--action);height:100%;display:block}.clip-name{font-weight:500}.profile-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.card{padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-box);background:var(--surface)}.card h2{margin:0 0 var(--s4);letter-spacing:-.01em;font-size:17px}.card dl{gap:var(--s2) var(--s5);margin:0 0 var(--s5);padding-bottom:var(--s5);border-bottom:1px solid var(--border);grid-template-columns:max-content 1fr;font-size:14px;display:grid}.card dt{color:var(--ink-muted)}.card dd{margin:0}.card .modal-actions{justify-content:flex-start}@media (width<=820px){.signin-shell{grid-template-columns:1fr}.signin-aside{border-right:none;border-bottom:1px solid var(--border);padding:28px 28px 24px}.signin-aside h2{max-width:none;font-size:22px}.signin-legend{display:none}.signin-panel{padding:28px}}@media (width<=640px){.topbar{padding:12px var(--s4)}.who>span:first-child{display:none}.tabs{padding:0 var(--s4);gap:var(--s4)}main{padding:var(--s5) var(--s4) var(--s7)}.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:24px}.fleet{padding:var(--s4)}#signin{padding:var(--s3)}.quota{margin-left:0}}@media (prefers-reduced-motion:reduce){.fleet-seg{animation:none}*{transition:none!important}}
