.console-root{--console-bg:#000;--console-surface:#1c1c1e;--console-border:hsla(0,0%,100%,.07);--console-sep:hsla(0,0%,100%,.13);--console-sep2:hsla(0,0%,100%,.075);--console-accent:#0a84ff;--console-accent-soft:rgba(10,132,255,.18);--console-text:#fff;--console-muted:rgba(235,235,245,.72);--console-faint:rgba(235,235,245,.52);--console-fill:hsla(240,3%,49%,.24);--console-input:hsla(240,3%,49%,.2);--console-hover:hsla(0,0%,100%,.045);--console-green:#30d158;--console-orange:#ff9f0a;--console-red:#ff453a;--console-ink:#fff;color-scheme:dark;min-height:100dvh;background:var(--console-bg);color:var(--console-text);font-size:13px;letter-spacing:-.005em;-webkit-font-smoothing:antialiased}.console-root,.console-root *{font-family:-apple-system,SF Pro Text,SF Pro Display,Helvetica Neue,system-ui,sans-serif}.console-shell{display:flex;min-height:100dvh}.console-sidebar{width:252px;flex-shrink:0;height:100dvh;position:sticky;top:0;overflow-y:auto;border-right:1px solid var(--console-sep2);background:rgba(28,28,30,.72);backdrop-filter:blur(32px) saturate(180%);-webkit-backdrop-filter:blur(32px) saturate(180%);color:var(--console-text);padding:20px 12px 16px;display:flex;flex-direction:column;gap:2px}.console-brand{font-weight:600;font-size:15px;margin:4px 12px 16px;letter-spacing:-.02em}.console-brand span{font-weight:500}.console-brand span,.console-sidebar .console-nav-link{color:var(--console-muted)}.console-sidebar .console-nav-link:hover{background:var(--console-hover);color:var(--console-text)}.console-sidebar .console-nav-link.active{background:var(--console-fill);color:var(--console-text);font-weight:500}.console-sidebar .console-nav-link.active svg{color:var(--console-accent)}.console-nav-link{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;color:var(--console-muted);text-decoration:none;font-size:13px;font-weight:400;transition:background .15s,color .15s}.console-nav-link.active,.console-nav-link:hover{background:var(--console-fill);color:var(--console-text)}.console-main{flex:1;min-width:0;padding:24px 24px 80px;overflow:auto;background:var(--console-bg)}.console-main>*{max-width:1440px;width:100%;margin-left:auto;margin-right:auto}.console-main h1{margin:0 0 8px;font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.15}.console-main .text-sm.text-\[var\(--console-muted\)\],.console-main h1+p{font-size:15px;line-height:1.47}.console-main a:not(.console-btn):not(.console-card):not(.console-stat):not(.console-badge-pill):not(.console-device-card):not(.console-company-card){color:var(--console-accent);text-decoration:none}.console-main a:not(.console-btn):not(.console-card):not(.console-stat):not(.console-badge-pill):not(.console-device-card):not(.console-company-card):hover{opacity:.75}.console-card{background:var(--console-surface);border:1px solid var(--console-border);border-radius:16px;padding:16px;color:var(--console-text)}.console-card h2{font-size:17px;font-weight:600;letter-spacing:-.02em}.console-device-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:960px){.console-device-grid{grid-template-columns:1fr 1fr}}.console-device-card{display:flex;flex-direction:column;gap:12px;min-height:228px;padding:16px;border-radius:16px;background:var(--console-surface);border:1px solid var(--console-border);color:var(--console-text);text-decoration:none}a.console-device-card:hover{background:#242426}.console-device-title{margin:0;font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.console-device-person{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center}.console-device-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--console-fill);color:var(--console-text);font-size:13px;font-weight:600}.console-device-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.console-device-stat{min-width:0;padding:10px 12px;border-radius:12px;background:hsla(240,4%,48%,.18)}.console-device-stat span{display:block;margin-bottom:4px;font-size:11px;font-weight:600;color:var(--console-faint)}.console-device-stat strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--console-text)}.console-company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.console-company-card{display:block;padding:14px 16px;border-radius:16px;background:var(--console-surface);border:1px solid var(--console-border);border-left-width:3px;color:var(--console-text);text-decoration:none}.console-company-card.tone-red{border-left-color:var(--console-red)}.console-company-card.tone-yellow{border-left-color:var(--console-orange)}.console-company-card.tone-green{border-left-color:var(--console-green)}a.console-card:hover,a.console-company-card:hover{background:#242426}.console-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:20px}.console-stat{padding:16px;border-radius:16px;background:var(--console-surface);border:1px solid var(--console-border);color:inherit;text-decoration:none;display:block}a.console-stat:hover{background:#242426}.console-stat-value{font-size:28px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}.console-stat-label{font-size:13px;color:var(--console-muted);margin-top:8px}.console-field{border-radius:16px;border:1px solid var(--console-border);background:var(--console-surface);padding:12px 16px}.console-badge-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:10px;border:0;background:var(--console-fill);color:var(--console-muted);font-size:13px;font-weight:500;text-decoration:none}.console-badge-pill.is-on,.console-badge-pill.tone-blue{background:var(--console-accent-soft);color:var(--console-accent)}.console-badge-pill.tone-green{background:rgba(48,209,88,.16);color:var(--console-green)}.console-badge-pill.tone-red{background:rgba(255,69,58,.16);color:var(--console-red)}.console-badge-pill.tone-amber{background:rgba(255,159,10,.16);color:var(--console-orange)}.console-badge-pill.tone-purple{background:rgba(191,90,242,.16);color:#bf5af2}.console-badge-pill.tone-muted{background:var(--console-fill);color:var(--console-faint)}.console-root input:not([type=checkbox]):not([type=radio]),.console-root select:not([hidden]),.console-root textarea:not([hidden]):not([aria-hidden=true]){border:0;background-color:var(--console-input)!important;background-image:none!important;color:var(--console-text)!important;-webkit-text-fill-color:var(--console-text);font-size:13px;outline:none}.console-input,.console-select,.console-textarea{width:100%;min-height:32px;padding:8px 12px;border-radius:10px;border:0;background-color:var(--console-input)!important;background-image:none!important;color:var(--console-text)!important;-webkit-text-fill-color:var(--console-text);font-size:13px;outline:none;box-shadow:none}.console-textarea{min-height:78px;resize:vertical;line-height:1.45}.console-input:focus,.console-root input:not([type=checkbox]):not([type=radio]):focus,.console-root select:focus,.console-root textarea:focus,.console-select:focus,.console-textarea:focus{box-shadow:inset 0 0 0 1.5px var(--console-accent)}.console-root input::-moz-placeholder,.console-root textarea::-moz-placeholder{color:var(--console-faint);-webkit-text-fill-color:var(--console-faint)}.console-root input::placeholder,.console-root textarea::placeholder{color:var(--console-faint);-webkit-text-fill-color:var(--console-faint)}.console-label{display:block;font-size:12px;font-weight:500;color:var(--console-muted);margin-bottom:8px}.console-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600;border:none;cursor:pointer;text-decoration:none;transition:opacity .15s}.console-btn:disabled{opacity:.5;cursor:not-allowed}.console-btn-primary{background:var(--console-accent);color:#fff}.console-btn-primary:hover{opacity:.88;background:var(--console-accent)}.console-btn-ghost{background:var(--console-fill);color:var(--console-text);border:0}.console-map-wrap{position:relative;width:100%;aspect-ratio:16/10;max-height:560px;min-height:420px;border-radius:12px;overflow:hidden;border:1px solid var(--console-border);background:#0d1220}.console-map-leaflet .console-leaflet-map{width:100%;height:100%;min-height:420px;background:#0d1220;z-index:1}.console-leaflet-cluster-icon,.console-leaflet-marker-icon{background:transparent!important;border:none!important}.console-leaflet-marker{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0a84ff;color:#fff;font-size:12px;font-weight:600;border:2px solid #e0e7ff;box-shadow:0 2px 8px rgba(0,0,0,.45);cursor:pointer}.console-leaflet-marker.is-selected{background:#0a84ff;transform:scale(1.12);z-index:1000!important}.console-leaflet-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0a84ff;color:#fff;font-size:13px;font-weight:700;border:2px solid #0a84ff;box-shadow:0 2px 12px rgba(67,56,202,.6)}.console-leaflet-tooltip{background:var(--console-surface)!important;border:1px solid var(--console-border)!important;color:var(--console-text)!important;font-size:12px!important;padding:4px 8px!important;border-radius:6px!important;box-shadow:0 4px 12px rgba(0,0,0,.35)!important}.console-leaflet-tooltip:before{border-top-color:var(--console-border)!important}.leaflet-control-zoom a{background:var(--console-surface)!important;color:var(--console-text)!important;border-color:var(--console-border)!important}.leaflet-control-attribution{background:rgba(11,15,26,.85)!important;color:var(--console-muted)!important;font-size:10px!important}.leaflet-control-attribution a{color:#0a84ff!important}.console-map-marker{cursor:pointer;transition:transform .15s}.console-map-marker:hover{transform:scale(1.08)}.console-drawer{position:absolute;top:0;right:0;width:min(360px,100%);height:100%;background:var(--console-surface);border-left:1px solid var(--console-border);padding:1rem;overflow-y:auto;box-shadow:-8px 0 24px rgba(0,0,0,.35)}.console-wizard-steps{display:flex;gap:.5rem;margin-bottom:1.5rem}.console-wizard-step{flex:1;height:4px;border-radius:2px;background:var(--console-border)}.console-wizard-step.done{background:var(--console-accent)}.console-wizard-step.active{background:#0a84ff}.console-table{width:100%;border-collapse:collapse;font-size:13px}.console-table td,.console-table th{text-align:left;padding:10px 16px;border-bottom:1px solid var(--console-sep2);color:var(--console-text)}.console-table tbody tr:hover{background:var(--console-hover)}.console-table th{color:var(--console-faint);font-size:11px;font-weight:600}.console-main .console-table a{color:var(--console-text);font-weight:500;text-decoration:none}.console-main .console-table a:hover{color:var(--console-accent);opacity:1}.console-login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--console-bg);padding:1rem}.console-login-card{width:100%;max-width:400px}.pipeline-live{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border:1px solid var(--console-border);border-radius:999px;color:var(--console-muted);font-size:.72rem}.pipeline-live.online{color:#86efac;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}.pipeline-session-card{overflow:hidden}.pipeline-preliminary{padding:.2rem .5rem;border-radius:999px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.1);color:#fcd34d;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.pipeline-stepper{display:flex;align-items:stretch;min-width:680px;margin:1.35rem 0 .75rem}.pipeline-stepper-scroll{overflow-x:auto}.pipeline-step-wrap{display:flex;align-items:center;flex:1;min-width:0}.pipeline-step{display:flex;align-items:center;gap:.45rem;color:#64748b;min-width:-moz-fit-content;min-width:fit-content;text-align:left}.pipeline-step-icon{width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid #334155;border-radius:999px;font-size:.75rem}.pipeline-step.done{color:#86efac}.pipeline-step.done .pipeline-step-icon{border-color:#22c55e;background:rgba(34,197,94,.12)}.pipeline-step.current{color:#0a84ff}.pipeline-step.current .pipeline-step-icon{border-color:#0a84ff;background:rgba(99,102,241,.18);box-shadow:0 0 0 4px rgba(99,102,241,.08)}.pipeline-step.failed{color:#fca5a5}.pipeline-step.failed .pipeline-step-icon{border-color:#ef4444;background:rgba(239,68,68,.12)}.pipeline-step-copy{display:flex;flex-direction:column;font-size:.78rem;line-height:1.1}.pipeline-step-copy small{min-height:.75rem;margin-top:.2rem;font-size:.65rem;color:var(--console-muted)}.pipeline-step-line{height:1px;min-width:18px;flex:1;margin:0 .5rem;background:#263249}.pipeline-step-line.done{background:#22c55e}.pipeline-failure{display:flex;align-items:flex-start;gap:.75rem;margin-top:1rem;padding:.85rem;border:1px solid rgba(239,68,68,.3);border-radius:.65rem;background:rgba(239,68,68,.08);color:#fecaca}.pipeline-failure code,.pipeline-failure p{display:block;margin-top:.2rem;font-size:.75rem}.pipeline-details-toggle{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;color:var(--console-muted);font-size:.78rem}.pipeline-details-toggle:hover{color:var(--console-text)}.pipeline-details{margin:1rem -1.25rem -1.25rem;padding:1.1rem 1.25rem 1.25rem;border-top:1px solid var(--console-border);background:rgba(5,9,18,.32)}.pipeline-timeline{display:grid;gap:.35rem}.pipeline-timeline-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,1fr) 80px;align-items:center;gap:.75rem;padding:.55rem .7rem;border:1px solid transparent;border-radius:.5rem;text-align:left}.pipeline-timeline-row.selected,.pipeline-timeline-row:hover{border-color:var(--console-border);background:var(--console-accent-soft)}.pipeline-event{padding:.75rem;border:1px solid var(--console-border);border-left:3px solid #64748b;border-radius:.5rem;background:#0d1220}.pipeline-event.warning{border-left-color:#f59e0b}.pipeline-event.error{border-left-color:#ef4444}.pipeline-event.info{border-left-color:#0a84ff}.pipeline-progress-json{overflow-x:auto;margin-top:.55rem;padding:.55rem;border-radius:.4rem;background:#080c16;color:#94a3b8;font-size:.7rem;white-space:pre-wrap}