:root{--font-display: "Rajdhani", "Trebuchet MS", sans-serif;--font-body: "Manrope", "Segoe UI", sans-serif;--bg-main: #ecf8ff;--bg-grad-1: #d9f4ff;--bg-grad-2: #e6fff4;--bg-grad-3: #f8fcff;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .94);--line: rgba(43, 100, 143, .18);--line-strong: rgba(63, 120, 161, .26);--ink-900: #0f2540;--ink-700: #1f3f5f;--ink-500: #466f96;--ink-400: #688aa8;--accent-700: #0065b5;--accent-600: #0382d3;--accent-500: #11a8e8;--accent-300: #72d7f8;--ok: #038f74;--danger: #ce345d;--shadow-soft: 0 14px 40px rgba(12, 73, 109, .14);--shadow-strong: 0 24px 56px rgba(11, 69, 106, .2)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px;color:var(--ink-900);font-family:var(--font-body);background:radial-gradient(circle at 18% 8%,var(--bg-grad-1) 0%,transparent 42%),radial-gradient(circle at 84% 18%,var(--bg-grad-2) 0%,transparent 46%),linear-gradient(140deg,var(--bg-main) 0%,var(--bg-grad-3) 72%);position:relative;overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:0;left:16px;transform:translateY(-140%);z-index:200;padding:10px 14px;border-radius:14px;color:#fff;background:linear-gradient(120deg,var(--accent-700) 0%,var(--accent-500) 100%);box-shadow:var(--shadow-strong);text-decoration:none;font-weight:800}.skip-link:focus{transform:translateY(12px)}body:before,body:after{content:"";position:fixed;border-radius:50%;z-index:-1;filter:blur(2px);animation:drift 16s ease-in-out infinite alternate}body:before{width:380px;height:380px;right:-120px;top:220px;background:radial-gradient(circle,#68d8ff42,#68d8ff00 70%)}body:after{width:420px;height:420px;left:-160px;top:-60px;background:radial-gradient(circle,#4ac7a33d,#4ac7a300 72%);animation-delay:1.4s}@keyframes drift{0%{transform:translateY(-12px) scale(1)}to{transform:translateY(14px) scale(1.03)}}.panel{border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:rise-in .5s ease both}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.eyebrow{margin:0;color:var(--accent-700);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.brand-title,h1,h2,h3{margin:0;color:var(--ink-900);font-family:var(--font-display);letter-spacing:.015em}.brand-subtitle,.empty-note,.table-note{margin:0;color:var(--ink-500)}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:14px;font-family:var(--font-body);font-size:.9rem;font-weight:700;cursor:pointer;padding:10px 14px;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.btn.disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.65;pointer-events:none}.btn-primary{color:#fff;border-color:#00569457;background:linear-gradient(120deg,var(--accent-700) 0%,var(--accent-500) 100%);box-shadow:0 10px 20px #0070af45}.btn-primary:hover{box-shadow:0 12px 24px #0070af54}.btn-ghost{color:var(--ink-700);border-color:var(--line-strong);background:#ffffffd9}.btn-ghost:hover{background:#fffffffa}.btn-danger{color:#fff;border-color:#8f1b3b57;background:linear-gradient(120deg,#b62453 0%,var(--danger) 100%);box-shadow:0 10px 20px #a0214847}.btn-danger:hover{box-shadow:0 12px 24px #a0214857}.theme-switch{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-strong);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-switch-btn{border:none;border-radius:999px;background:transparent;color:var(--ink-500);font-family:var(--font-body);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;cursor:pointer;transition:background .24s ease,box-shadow .24s ease,color .24s ease}.theme-switch-btn:hover{color:var(--ink-700)}.theme-switch-btn.active{color:var(--ink-900);background:linear-gradient(120deg,#0b83d133,#11a8e824);box-shadow:0 10px 20px #0070af1f}.theme-switch-btn:focus-visible{outline:2px solid rgba(17,168,232,.42);outline-offset:2px}.form-input{width:100%;border-radius:14px;border:1px solid var(--line-strong);background:#ffffffe6;color:var(--ink-900);font-size:.95rem;font-family:var(--font-body);padding:11px 14px;outline:none;transition:border-color .24s ease,box-shadow .24s ease}.form-input::placeholder{color:var(--ink-400)}.form-input:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px #11a8e824}.form-input[aria-invalid=true]{border-color:#ce345d6b;box-shadow:0 0 0 1px #ce345d1f}.form-input[aria-invalid=true]:focus{border-color:#ce345d9e;box-shadow:0 0 0 3px #ce345d24}.form-message{margin-top:12px;border-radius:12px;padding:9px 12px;font-size:.9rem;font-weight:600}.form-message.ok{color:var(--ok);background:#038f741f;border:1px solid rgba(3,143,116,.2)}.form-message.bad{color:var(--danger);background:#ce345d1c;border:1px solid rgba(206,52,93,.2)}.form-message.info{color:var(--ink-700);background:#11a8e81a;border:1px solid rgba(17,168,232,.22)}.status-banner{margin-top:12px;border-radius:16px;border:1px solid var(--line);padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;background:#ffffffe6}.status-banner.compact{padding:10px 12px}.status-banner-dot{width:11px;height:11px;border-radius:999px;margin-top:5px;background:var(--accent-500);box-shadow:0 0 0 4px #11a8e81f}.status-banner-copy strong,.empty-state-card h3{display:block;color:var(--ink-700);font-size:.94rem}.status-banner-copy p,.empty-state-card p{margin:4px 0 0;color:var(--ink-500);font-size:.86rem;line-height:1.45}.status-banner.ok{border-color:#038f7438;background:#038f7417}.status-banner.ok .status-banner-dot{background:var(--ok);box-shadow:0 0 0 4px #038f741f}.status-banner.bad{border-color:#ce345d38;background:#ce345d17}.status-banner.bad .status-banner-dot{background:var(--danger);box-shadow:0 0 0 4px #ce345d1f}.status-banner.warn{border-color:#c77b0038;background:#ffcb7929}.status-banner.warn .status-banner-dot{background:#c77b00;box-shadow:0 0 0 4px #c77b001f}.status-banner.info,.status-banner.neutral{border-color:#11a8e838;background:#11a8e814}.empty-state-card{border:1px dashed rgba(63,120,161,.32);border-radius:18px;padding:16px;background:#fcfeffdb}.empty-state-card.compact{padding:14px}.empty-state-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block{display:block;border-radius:999px;background:linear-gradient(90deg,#d9e8f3b8 25%,#f0f8fcfa,#d9e8f3b8 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s linear infinite}.skeleton-card{overflow:hidden}.skeleton-line{width:100%;height:12px}.skeleton-line-sm{width:38%}.skeleton-line-md{width:56%;height:14px}.skeleton-line-lg{width:72%;height:16px}.skeleton-pill{width:96px;height:24px}.skeleton-level{width:168px;height:64px;margin-top:12px;border-radius:24px}.skeleton-chart{width:100%;height:min(220px,100%);border-radius:18px}.chart-loading-skeleton,.latest-panel-skeleton,.config-version-skeleton-list,.config-editor-skeleton,.device-list-skeleton{display:grid;gap:12px}.history-table-skeleton{display:grid;gap:10px}.device-remove-skeleton{width:82px;height:42px;border-radius:14px}@media(max-width:560px){.btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:before,body:after,.panel,.skeleton-block{animation:none!important}.btn:hover{transform:none}}.app-shell{width:min(1240px,100%);margin:0 auto;padding:24px clamp(16px,2.5vw,28px) 48px;position:relative}.shell-ambience{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.shell-orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55}.shell-orb-a{width:260px;height:260px;top:24px;right:-90px;background:radial-gradient(circle,#11a8e82e,#11a8e800)}.shell-orb-b{width:320px;height:320px;left:-150px;bottom:120px;background:radial-gradient(circle,#038f7424,#038f7400)}.shell-grid{position:absolute;inset:12px 0 auto;height:100%;background-image:linear-gradient(rgba(63,120,161,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(63,120,161,.06) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.18),transparent 65%);mask-image:linear-gradient(180deg,rgba(0,0,0,.18),transparent 65%)}.boot-panel{margin-top:16vh;padding:34px;text-align:center}.portal-header{padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:flex-start;gap:18px;background:var(--surface-strong);position:relative;z-index:20;overflow:visible;isolation:isolate}.portal-header-main{min-width:0;display:grid;gap:18px}.portal-brand-cluster{display:flex;gap:16px;align-items:flex-start}.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--accent-700),var(--accent-500));box-shadow:0 14px 30px #0070af38}.portal-brand-copy{min-width:0}.brand-title{margin-top:6px;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05}.brand-subtitle{margin-top:8px;font-size:.95rem}.portal-summary-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}.portal-summary-chip{border:1px solid var(--line);border-radius:18px;padding:12px 14px;background:#ffffffb8;display:grid;gap:6px}.portal-summary-chip span{color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-summary-chip strong{color:var(--ink-700);font-size:.95rem}.portal-summary-chip small{color:var(--ink-500);font-size:.8rem;line-height:1.35}.header-actions{display:grid;gap:10px;width:min(100%,520px);margin-left:auto;align-self:flex-start;position:relative;z-index:21}.header-actions-row{display:grid;gap:10px;align-items:center}.header-actions-row-primary{grid-template-columns:auto minmax(0,1fr) auto}.header-actions-row-secondary{grid-template-columns:auto 44px auto;justify-content:end}.header-alert-anchor{position:relative;width:44px;min-width:44px;height:44px}.user-pill-wrap{display:grid;gap:4px;min-width:0}.user-pill-label{margin:0;color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-pill{margin:0;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-700);background:#ffffffd1;font-size:.87rem;overflow-wrap:anywhere;word-break:break-word}.account-alerts-wrap{position:absolute;top:0;right:0;width:44px;z-index:22}.account-alert-bell{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center}.account-alert-bell svg{width:20px;height:20px}.account-alert-bell.active{border-color:#027dbe85;background:linear-gradient(120deg,#11a8e833,#11a8e814)}.account-alert-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:999px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;background:#d02447;border:2px solid rgba(255,255,255,.92)}.account-alerts-panel{position:absolute;top:calc(100% + 8px);right:0;left:auto;width:min(420px,calc(100vw - 28px));max-height:min(62vh,520px);overflow:hidden;padding:12px;z-index:120;background:#fffffffa;border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.account-alerts-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.account-alerts-head-copy{display:grid;gap:4px}.account-alerts-head h3{font-size:1.2rem}.account-alerts-head-copy p,.account-alert-results-meta,.account-alert-filter-hint{margin:0;color:var(--ink-500);font-size:.8rem;line-height:1.4}.account-alerts-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-alert-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-bottom:10px}.account-alert-list{list-style:none;margin:0;padding:0 2px 0 0;display:grid;gap:10px;max-height:min(52vh,420px);overflow:auto}.account-alert-item{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;display:grid;gap:8px}.account-alert-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-alert-item-head strong{color:var(--ink-700);font-size:.95rem}.account-alert-item p{margin:0;color:var(--ink-700);font-size:.87rem;line-height:1.42}.account-alert-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--ink-500);font-size:.77rem}.account-alert-item-meta-device{min-width:0;overflow-wrap:anywhere;word-break:break-word}.account-alert-item-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.portal-frame{margin-top:18px;display:grid;gap:18px}.portal-layout{display:grid;gap:18px;align-items:start;grid-template-columns:minmax(280px,336px) minmax(0,1fr)}.portal-layout.single-column{grid-template-columns:minmax(0,1fr)}.portal-tab-strip{padding:16px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));align-items:start}.portal-tab-copy{min-width:0;display:grid;gap:8px}.portal-tab-description{margin:0;color:var(--ink-500);font-size:.86rem;line-height:1.45}.portal-tab-context{width:fit-content;max-width:100%;display:inline-grid;gap:4px;border:1px solid var(--line);border-radius:16px;padding:10px 12px;background:#ffffffc2}.portal-tab-context span{color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-tab-context strong{color:var(--ink-700);font-size:.92rem;overflow-wrap:anywhere;word-break:break-word}.portal-tab-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:stretch;justify-content:stretch}.portal-tab-btn{min-width:0;white-space:normal}.portal-tab-btn.active,.workspace-switch-btn.active{border-color:#027dbe85;background:linear-gradient(120deg,#11a8e833,#11a8e814);color:var(--ink-900)}.dashboard-wrap,.device-workspace{display:grid;gap:16px}.workspace-switcher{padding:14px 16px;display:grid;gap:12px;grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;align-items:center}.workspace-switch-copy{min-width:0;display:grid;gap:4px}.workspace-switch-copy strong{color:var(--ink-900);font-size:1rem}.workspace-switch-copy span{color:var(--ink-500);font-size:.82rem}.workspace-switch-actions,.workspace-switch-quicklinks{display:flex;gap:8px;flex-wrap:wrap}.workspace-switch-actions{min-width:0}.workspace-switch-quicklinks{justify-content:flex-end}.workspace-loading-panel{min-height:180px;display:grid;align-content:center}.empty-state-panel{padding:30px}.empty-state-panel h2{font-size:1.5rem}.empty-state-panel p{margin-top:10px;color:var(--ink-500)}@media(max-width:1280px){.portal-layout,.portal-header{grid-template-columns:1fr}.portal-header-main,.header-actions{width:100%}.header-actions{margin-left:0}.header-actions-row{display:flex;flex-wrap:wrap;justify-content:flex-start}.portal-tab-strip,.workspace-switcher{grid-template-columns:1fr;align-items:stretch}.workspace-switch-quicklinks{justify-content:flex-start}}@media(max-width:780px){.header-actions{width:100%}.header-actions-row-primary,.header-actions-row-secondary{flex-direction:column;align-items:stretch}.header-actions-row-secondary>*{width:100%}.header-theme-switch,.header-alert-anchor,.account-alerts-wrap,.account-alert-bell,.user-pill-wrap,.header-actions-row-primary>.btn{width:100%}.header-alert-anchor{min-width:0}.portal-summary-strip{grid-template-columns:1fr}.account-alerts-panel{right:0;left:auto;width:min(420px,calc(100vw - 36px))}.account-alert-filter-bar{grid-template-columns:1fr}.portal-tab-description{max-width:none}.workspace-switch-actions{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.workspace-switch-btn{flex:0 0 auto;white-space:nowrap;width:auto}.workspace-switch-copy{gap:2px}.workspace-switch-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.app-shell{padding-inline:12px}.portal-header{border-radius:18px;padding:16px}.portal-brand-cluster{flex-direction:column}.portal-tab-strip{padding:14px}.portal-tab-description{display:none}.account-alerts-wrap{position:static;width:100%}.header-alert-anchor{position:static;width:100%;min-width:0;height:auto}.account-alert-bell{width:100%;height:44px}.account-alert-badge{right:8px;top:6px}.account-alerts-panel{position:static;width:100%;margin-top:8px;max-height:48vh;overflow:hidden}.account-alert-list{max-height:36vh}.account-alerts-head-actions,.account-alert-item-actions{display:grid;grid-template-columns:1fr}.workspace-back-btn,.header-theme-switch{width:100%}.user-pill-wrap{min-width:0}.workspace-switcher{padding:12px}.workspace-switch-quicklinks{grid-template-columns:1fr}.workspace-back-btn{width:100%}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:26px}.auth-card{width:min(980px,100%);padding:30px;background:#ffffffdb;box-shadow:var(--shadow-strong);display:grid;gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.auth-showcase{display:grid;align-content:start;gap:18px}.auth-showcase-copy{display:grid;gap:10px}.auth-title{margin-top:10px;font-size:clamp(2.1rem,4vw,3rem)}.auth-subtitle{margin-top:8px;line-height:1.45}.auth-signal-grid{display:grid;gap:12px}.auth-signal-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:inset 0 1px #ffffff14;display:grid;gap:6px}.auth-signal-card span{color:var(--accent-700);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-signal-card strong{color:var(--ink-900);font-size:1.02rem}.auth-signal-card p{margin:0;color:var(--ink-700);font-size:.86rem;line-height:1.45}.auth-form-shell{border:1px solid var(--line);border-radius:24px;padding:22px;background:#ffffffbd;display:grid;align-content:start;gap:14px}.auth-form-topbar{display:flex;justify-content:flex-end}.auth-form-copy{display:grid;gap:6px}.auth-form-copy p,.auth-form-copy h2{margin:0}.auth-form-support{color:var(--ink-500);font-size:.9rem;line-height:1.45}.mode-switch{margin-top:4px;padding:4px;border-radius:999px;border:1px solid var(--line);background:#ffffffe0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mode-pill{border:none;border-radius:999px;background:transparent;color:var(--ink-500);font-weight:700;font-family:var(--font-body);padding:10px 0;cursor:pointer}.mode-pill.active{color:var(--ink-900);background:linear-gradient(120deg,#0b83d133,#11a8e824)}.auth-form{margin-top:2px;display:grid;gap:12px}.form-field{display:grid;gap:6px}.form-label{color:var(--ink-700);font-size:.86rem;font-weight:700;letter-spacing:.01em}.form-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-inline-link{color:var(--accent-700);font-size:.82rem;font-weight:700;text-decoration:none}.password-input-wrap{position:relative;display:flex;align-items:center}.password-input{padding-right:52px}.password-toggle{position:absolute;top:50%;right:9px;transform:translateY(-50%);border:none;border-radius:10px;width:36px;height:36px;background:transparent;color:var(--ink-500);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .24s ease,color .24s ease}.password-toggle:hover{background:#11a8e81a;color:var(--ink-700)}.password-toggle:focus-visible,.auth-inline-link:focus-visible,.link-btn:focus-visible{outline:2px solid rgba(17,168,232,.42);outline-offset:2px}.password-toggle svg{width:20px;height:20px}.password-requirements{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:linear-gradient(180deg,#f7fcfff5,#ffffffeb);display:grid;gap:10px}.password-requirements-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.password-requirements-head strong{color:var(--ink-700);font-size:.84rem}.password-requirements-head span{color:var(--ink-500);font-size:.8rem;font-weight:700}.password-requirements-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.password-requirement{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--ink-500);font-size:.84rem}.password-requirement.met{color:var(--ink-700)}.password-requirement-icon{width:18px;height:18px;border-radius:999px;border:1px solid rgba(93,125,154,.35);display:grid;place-items:center;font-size:.72rem;font-weight:700;color:var(--ink-400);background:#ffffffeb}.password-requirement.met .password-requirement-icon{border-color:#038f7461;color:#0b8f73;background:#038f741f}.field-error{color:var(--danger);font-size:.82rem;font-weight:600;line-height:1.4}.auth-secondary-btn{width:100%}.auth-btn{margin-top:4px}.auth-footnote{margin:4px 2px 0;color:var(--ink-500)}.auth-link-row{display:flex;flex-wrap:wrap;gap:14px}.reset-help-card{margin-top:2px}.link-btn{border:none;background:none;color:var(--accent-700);font-family:var(--font-body);font-weight:700;cursor:pointer;padding:0;text-decoration:none}@media(max-width:780px){.auth-card{grid-template-columns:1fr}}@media(max-width:560px){.auth-card{border-radius:18px;padding:16px}.form-label-row{align-items:flex-start;flex-direction:column}.auth-link-row{flex-direction:column;gap:10px}.auth-form-topbar .theme-switch{width:100%}}.dashboard-priority-layout{display:grid;gap:16px;grid-template-columns:minmax(0,1.45fr) minmax(320px,.92fr);align-items:start}.dashboard-hero-stack,.dashboard-sidebar-stack{display:grid;gap:16px;min-width:0;align-content:start}.fleet-dashboard-header{padding:20px;display:flex;justify-content:space-between;align-items:end;gap:16px}.fleet-dashboard-copy,.fleet-dashboard-actions{display:grid;gap:8px}.fleet-dashboard-meta{margin:0;color:var(--ink-500);font-size:.84rem;line-height:1.45}.fleet-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.fleet-summary-card{padding:16px 18px;display:grid;gap:6px}.fleet-summary-card span{color:var(--ink-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.fleet-summary-card strong{color:var(--ink-900);font-size:clamp(1.8rem,4vw,2.4rem);font-family:var(--font-display);line-height:.95}.fleet-summary-card p{margin:0;color:var(--ink-500);font-size:.84rem;line-height:1.45}.fleet-controls-bar{padding:16px 18px;display:grid;gap:14px}.fleet-controls-main{display:grid;gap:12px;grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(180px,.72fr))}.fleet-control{display:grid;gap:6px;color:var(--ink-500);font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.fleet-control-search .form-input{font-size:.96rem}.fleet-controls-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.fleet-results-meta{margin:0;color:var(--ink-500);font-size:.84rem}.fleet-card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.fleet-tank-card{width:100%;font-family:var(--font-body);color:inherit;padding:18px;text-align:left;border:1px solid var(--line);display:grid;gap:14px;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.fleet-tank-card:hover{transform:translateY(-2px);border-color:#027dbe6b;box-shadow:var(--shadow-strong)}.fleet-tank-card.selected{border-color:#027dbe85;background:linear-gradient(120deg,#11a8e829,#ffffffe6)}.fleet-tank-card-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.fleet-tank-head-status{display:grid;gap:8px;justify-items:end}.fleet-tank-title-wrap{min-width:0;display:grid;gap:4px}.fleet-tank-kicker{margin:0;color:var(--accent-700);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800}.fleet-tank-title-wrap h3{font-size:1.4rem;overflow-wrap:anywhere;word-break:break-word}.fleet-tank-device{margin:0;color:var(--ink-500);font-size:.82rem}.fleet-alert-pill{display:inline-flex;width:fit-content;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;border:1px solid var(--line);font-size:.74rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.fleet-alert-pill.reserve,.fleet-alert-pill.bad{color:var(--danger);border-color:#ce345d40;background:#ce345d1a}.fleet-alert-pill.low,.fleet-alert-pill.warn{color:#915000;border-color:#c77b0052;background:#ffcb7940}.fleet-alert-pill.full{color:var(--ok);border-color:#038f7447;background:#038f741a}.fleet-tank-card-body{display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);align-items:center}.fleet-mini-tank-shell{width:112px;height:150px;border-radius:24px;border:2px solid rgba(15,109,171,.42);background:linear-gradient(180deg,#e1f7ff66,#d0efff24);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6}.fleet-mini-tank-water{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--accent-300),var(--accent-500) 52%,var(--accent-600) 100%);transition:height .9s ease;overflow:hidden}.fleet-mini-tank-wave{position:absolute;left:-30%;top:-18px;width:160%;height:34px;border-radius:45%;background:#ffffff59;animation:wave-shift 6.6s linear infinite}.fleet-mini-tank-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,#ffffff70,#ffffff0f 58%,#fff0)}.fleet-tank-readout{min-width:0;display:grid;gap:6px}.fleet-tank-level{margin:0;font-size:2.7rem;color:var(--accent-700);font-family:var(--font-display);line-height:.94}.fleet-tank-level.empty{color:var(--ink-400)}.fleet-tank-state{margin:0;color:var(--ink-700);font-size:1rem;font-weight:700}.fleet-tank-meta,.fleet-tank-mode{margin:0;color:var(--ink-500);font-size:.82rem}.fleet-tank-card-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--ink-500);font-size:.8rem;font-weight:700}.fleet-card-skeleton-head{display:flex;justify-content:space-between;gap:10px}.fleet-card-skeleton-body{display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);align-items:center}.fleet-card-skeleton-copy{display:grid;gap:10px}.fleet-mini-tank-skeleton{width:112px;height:150px;border-radius:24px}.dashboard-header{display:flex;justify-content:space-between;align-items:end;gap:16px}.dashboard-header h2{margin-top:8px;font-size:1.9rem}.dashboard-status-panel,.telemetry-state-panel,.history-panel{padding:18px 20px 20px;min-width:0}.dashboard-status-panel{display:grid;gap:12px}.dashboard-status-panel>.status-banner.compact,.dashboard-status-panel>.telemetry-state-banner,.dashboard-status-panel>.level-banner{margin-top:0}.dashboard-status-panel .dashboard-header{align-items:flex-start}.dashboard-status-panel .dashboard-status-meta{max-width:none}.dashboard-status-panel .dashboard-actions{justify-content:flex-start}.dashboard-status-row{margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashboard-status-detail,.dashboard-status-meta{margin:6px 0 0;color:var(--ink-500);font-size:.82rem}.dashboard-status-meta{max-width:68ch}.dashboard-status-buffered{margin:8px 0 0;color:var(--ink-700);font-size:.82rem;font-weight:700}.dashboard-status-disclosure{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong, rgba(255, 255, 255, .72));overflow:hidden}.dashboard-status-disclosure summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:.82rem;font-weight:700;color:var(--ink-900)}.dashboard-status-disclosure summary::-webkit-details-marker{display:none}.dashboard-status-disclosure[open] summary{border-bottom:1px solid var(--line);background:var(--surface, rgba(241, 247, 251, .72))}.dashboard-status-disclosure-body{display:grid;gap:8px;padding:12px 14px 14px}.dashboard-status-disclosure-body p{margin:0;color:var(--ink-500);font-size:.8rem;line-height:1.45}.dashboard-status-disclosure-body strong{color:var(--ink-700)}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.level-banner{padding:12px 16px;border-radius:16px;border-width:1px;border-style:solid}.level-banner p{margin:0;font-weight:700;font-size:.95rem;letter-spacing:.01em}.level-banner.reserve{border-color:#b8123661;background:#ce345d21}.level-banner.reserve p{color:#9f173d}.level-banner.low{border-color:#c77b0059;background:#ffcb7947}.level-banner.low p{color:#8e5b00}.level-banner.full{border-color:#038f7457;background:#038f7421}.level-banner.full p{color:#0b6f5b}.live-mode-note{margin-top:8px;font-size:.85rem;font-weight:700;letter-spacing:.02em}.live-mode-note.on{color:var(--ok)}.live-mode-note.off{color:var(--ink-500)}.ws-status-pill,.transport-status-pill,.zoom-pill,.chart-legend-pill,.chart-alert-chip,.alert-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--line)}.ws-status-pill{padding:4px 10px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#ffffffe0}.ws-status-pill.connected{color:var(--ok);border-color:#038f7447;background:#038f741a}.ws-status-pill.connecting,.ws-status-pill.reconnecting{color:#0b63a7;border-color:#056eb64d;background:#11a8e824}.ws-status-pill.fallback{color:#8e5b00;border-color:#c77b0052;background:#ffcb793d}.ws-status-pill.error{color:var(--danger);border-color:#ce345d40;background:#ce345d1a}.ws-status-pill.idle{color:var(--ink-500);border-color:var(--line-strong);background:#f1f7fbeb}.transport-status-pill{padding:4px 10px;font-size:.72rem;font-weight:700;letter-spacing:.03em;background:#ffffffd6;color:var(--ink-700)}.transport-status-pill.connected{border-color:#038f743d;background:#038f7414}.transport-status-pill.reconnecting,.transport-status-pill.connecting{border-color:#056eb63d;background:#11a8e817}.transport-status-pill.fallback{border-color:#c77b0047;background:#ffcb792e}.transport-status-pill.error{border-color:#ce345d38;background:#ce345d14}.transport-status-pill.idle{border-color:var(--line-strong);background:#f1f7fbe0}.btn-live{border-color:#038f7457;background:#038f7414;color:#0b6f5b}.btn-live:hover{box-shadow:0 8px 20px #038f7438}.btn-live.active{border-color:#038f746b;background:linear-gradient(135deg,#038f7433,#038f741c);color:#075b4a}.live-toggle-btn{min-width:132px;gap:10px;font-weight:800;letter-spacing:.02em}.live-toggle-btn:not(.active){border-color:#466a8b3d;background:linear-gradient(135deg,#e8f0f6fa,#f7fafcf0);color:var(--ink-700);box-shadow:inset 0 1px #ffffffd1,0 10px 22px #4a6c8a14}.live-toggle-btn:not(.active):hover{border-color:#11a8e842;background:linear-gradient(135deg,#eff5f9,#fafcfdfa);box-shadow:inset 0 1px #ffffffeb,0 12px 26px #4a6c8a1f}.live-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #11a8e82e,0 12px 26px #038f743d}.live-toggle-btn.active{border-color:#35e3a180;background:linear-gradient(135deg,#066352fa,#0aa27ff5);color:#f5fffb;box-shadow:0 14px 30px #038f7447,inset 0 1px #ffffff24}.live-toggle-btn.active:hover{box-shadow:0 16px 34px #038f7457,inset 0 1px #ffffff29}.live-toggle-indicator{width:10px;height:10px;border-radius:999px;flex:0 0 10px;background:currentColor;opacity:.7}.live-toggle-indicator.inactive{background:#7d93aa;opacity:.95;box-shadow:0 0 0 4px #7d93aa1f}.live-toggle-btn.active .live-toggle-indicator{background:#dbfff2;opacity:1;box-shadow:0 0 0 4px #dbfff229,0 0 14px #dbfff275;animation:live-toggle-pulse 1.8s ease-in-out infinite}.live-toggle-label{white-space:nowrap}.live-toggle-btn:not(.active) .live-toggle-label{color:inherit}@keyframes live-toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.telemetry-state-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#ffffffc7}.telemetry-state-banner.info{border-color:#056eb63d;background:#11a8e81a}.telemetry-state-banner.warn{border-color:#c77b0047;background:#ffcb793d}.telemetry-state-banner.bad{border-color:#ce345d40;background:#ce345d1a}.telemetry-banner-copy{display:grid;gap:4px}.telemetry-banner-copy strong{color:var(--ink-700)}.telemetry-banner-copy p{margin:0;color:var(--ink-500);font-size:.9rem}.telemetry-state-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.telemetry-state-copy h3{margin:0;font-size:1.35rem}.telemetry-state-copy p{margin:6px 0 0;color:var(--ink-500);font-size:.88rem;max-width:70ch}.telemetry-mode-switcher{padding:0;margin-left:auto}.telemetry-health-grid{margin-top:16px}.telemetry-health-card{min-height:126px}.dashboard-top{display:grid;gap:16px;grid-template-columns:minmax(300px,1.05fr) minmax(260px,.95fr);align-items:stretch}.latest-panel{padding:20px;height:100%}.latest-panel h3,.tank-header h3,.history-toolbar h3{font-size:1.45rem}.latest-level{margin:16px 0 0;font-size:clamp(3.2rem,8vw,4.8rem);line-height:.95;color:var(--accent-700);font-family:var(--font-display)}.latest-caption{margin:8px 0 0;color:var(--ink-500);font-weight:600}.latest-reading-meta{margin:10px 0 0;color:var(--ink-500);font-size:.84rem;line-height:1.45}.quick-stats{margin-top:16px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat-chip{padding:10px;border-radius:14px;border:1px solid var(--line);background:#ffffffc4}.stat-chip span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-400)}.stat-chip strong{margin-top:6px;display:block;font-size:1.06rem;color:var(--ink-700)}.tank-panel{padding:20px;overflow:hidden;height:auto;align-self:start;background:radial-gradient(circle at 100% -10%,#11a8e833,#11a8e800),#ffffffc7}.tank-header p{margin-top:8px;color:var(--ink-500)}.tank-widget{margin-top:12px;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr);align-items:center}.tank-shell{width:180px;height:270px;border-radius:36px;border:2px solid rgba(15,109,171,.5);background:linear-gradient(180deg,#e1f7ff66,#d0efff29);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6}.tank-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,#ffffff7a,#ffffff0a 55%,#fff0)}.tank-mark{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(57,131,170,.34)}.tank-mark span{position:absolute;right:10px;top:-10px;color:#26638ab8;font-size:.66rem;font-weight:700}.tank-water{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--accent-300),var(--accent-500) 52%,var(--accent-600) 100%);transition:height 1.2s cubic-bezier(.28,.71,.32,1);overflow:hidden}.wave{position:absolute;left:-35%;width:170%;border-radius:45%;animation:wave-shift linear infinite}.wave-a{top:-28px;height:52px;background:#ffffff70;animation-duration:5.8s}.wave-b{top:-20px;height:46px;background:#e1fbff52;animation-duration:7.4s;animation-delay:-1.2s}.wave-c{top:-24px;height:48px;background:#a2eeff38;animation-duration:9s;animation-delay:-.5s}@keyframes wave-shift{0%{transform:translate(0) rotate(0)}to{transform:translate(26%) rotate(360deg)}}.bubble{position:absolute;bottom:10px;border-radius:50%;background:#f7ffffb3;animation:bubble-rise ease-in infinite}.bubble-1{width:10px;height:10px;left:20%;animation-duration:4.2s}.bubble-2{width:14px;height:14px;left:48%;animation-duration:5.4s;animation-delay:.9s}.bubble-3{width:8px;height:8px;left:72%;animation-duration:3.8s;animation-delay:1.4s}@keyframes bubble-rise{0%{transform:translateY(0) scale(.7);opacity:0}30%{opacity:.9}to{transform:translateY(-130px) scale(1.16);opacity:0}}.tank-readout{align-self:start}.tank-level{margin:0;font-size:3rem;color:var(--accent-700);font-family:var(--font-display);line-height:.95}.tank-state{margin:8px 0 0;color:var(--ink-700);font-weight:700}.tank-loading{margin:10px 0 0;color:var(--ink-500);font-size:.86rem}.history-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.history-toolbar-copy{display:grid;gap:4px}.history-toolbar-copy h3{margin:0}.history-toolbar-meta{margin:0;color:var(--ink-500);font-size:.84rem}.history-toolbar-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.history-select{display:grid;gap:4px;font-size:.76rem;color:var(--ink-500);letter-spacing:.02em;min-width:0}.history-select .form-input{min-width:138px;padding:8px 10px}.trend-summary-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.smart-insights-panel{margin-top:14px;padding:18px 20px 20px;background:radial-gradient(circle at top right,#ffcb792e,#ffcb7900),linear-gradient(135deg,#1097db14,#ffffffeb)}.smart-insights-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.smart-insights-copy{display:grid;gap:4px}.smart-insights-copy h4{margin:0;font-size:1.04rem;color:var(--ink-700)}.smart-insights-copy p{margin:0;color:var(--ink-500);font-size:.84rem;line-height:1.45;max-width:76ch}.smart-insights-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.smart-insight-card{background:#ffffffe6}.smart-insights-banners{margin-top:14px;display:grid;gap:10px}.trend-summary-card{border:1px solid var(--line);border-radius:16px;background:#ffffffd6;padding:12px 14px;display:grid;gap:4px}.trend-summary-card span{font-size:.75rem;color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase}.trend-summary-card strong{color:var(--ink-700);font-size:1.24rem}.trend-summary-card p{margin:0;color:var(--ink-500);font-size:.82rem}.analytics-grid{margin-top:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.chart-shell{--chart-panel-min-height: 396px;--chart-visual-height: 260px;margin-top:12px;min-height:var(--chart-panel-min-height);border:1px solid var(--line);border-radius:18px;background:#ffffffc2;padding:10px;min-width:0;max-width:100%}.chart-panel{margin-top:0;min-height:var(--chart-panel-min-height);height:auto;padding:16px;display:grid;gap:14px;grid-template-rows:auto auto auto}.chart-span-wide{grid-column:1 / -1;--chart-panel-min-height: 470px;--chart-visual-height: 280px}.chart-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.chart-panel-copy{display:grid;gap:4px;min-width:0}.chart-panel-copy h4{margin:0;font-size:1rem;color:var(--ink-700)}.chart-panel-copy p{margin:0;color:var(--ink-500);font-size:.84rem}.chart-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.chart-panel-body{display:grid;grid-template-rows:auto;align-content:start;gap:12px;min-height:0;min-width:0}.chart-panel-visual{height:var(--chart-visual-height);min-height:var(--chart-visual-height);width:100%;min-width:0;max-width:100%}.chart-panel-visual>.recharts-responsive-container{min-height:100%;max-width:100%}.chart-panel-visual .recharts-surface{display:block}.chart-panel-supplemental{display:grid;gap:8px}.mobile-zoom-controls{display:flex;flex-wrap:wrap;gap:8px}.mobile-zoom-btn.active{border-color:#027dbe85;background:linear-gradient(120deg,#11a8e833,#11a8e814);color:var(--ink-900)}.chart-empty{display:flex;align-items:center;justify-content:center;text-align:center;min-height:200px}.chart-panel-note{margin:0;color:var(--ink-500);font-size:.82rem;line-height:1.45}.chart-alert-strip{display:flex;gap:8px;flex-wrap:wrap}.chart-alert-chip{gap:8px;background:#ffffffe0;padding:6px 10px;color:var(--ink-700);font-size:.75rem;font-weight:700;line-height:1.2}.chart-alert-chip.triggered{border-color:#c77b003d;background:#ffcb7929}.chart-alert-chip.resolved{border-color:#5d7d9a3d;background:#f1f7fbeb}.chart-alert-chip.more{color:var(--ink-500);border-style:dashed}.chart-alert-chip-dot{width:10px;height:10px;border-radius:999px;border:2px solid transparent;flex:0 0 auto}.zoom-pill{padding:4px 10px;background:#1097db1f;border:1px solid rgba(16,151,219,.24);color:var(--accent-700);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.zoom-pill.subdued{color:var(--ink-500);border-color:#5d7d9a33;background:#f1f7fbe6}.chart-legend-pills{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.chart-legend-pill{gap:7px;padding:5px 10px;background:#ffffffdb;color:var(--ink-700);font-size:.74rem;font-weight:700;line-height:1.2}.chart-legend-swatch{width:9px;height:9px;border-radius:999px;flex:0 0 auto}.history-table-wrap{margin-top:14px;width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.telemetry-table{min-width:648px}.history-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem;overflow:hidden;border-radius:14px;border:1px solid var(--line)}.history-table th,.history-table td{text-align:left;padding:10px 12px}.history-table th{background:#e4f6fff2;color:var(--ink-500);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.history-table tbody tr{background:#ffffffd6}.history-table tbody tr:nth-child(2n){background:#f5fcffe0}.history-table tbody tr:hover{background:#e1f7ffeb}.telemetry-table-virtualized{min-width:648px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#ffffffd6}.history-table-virtualized-head{background:#e4f6fff2;border-bottom:1px solid var(--line)}.history-table-virtualized-body{max-height:420px;overflow-y:auto;overflow-x:hidden}.history-table-virtualized-window{will-change:transform}.history-table-virtualized-row{min-height:46px;display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(132px,1.05fr) repeat(4,minmax(86px,.8fr));align-items:center}.history-table-virtualized-row:nth-child(2n){background:#f5fcffe0}.history-table-virtualized-row:hover{background:#e1f7ffeb}.history-table-virtualized-row-head,.history-table-virtualized-row-head:hover{background:transparent}.history-table-virtualized-cell{padding:10px 12px;text-align:left}.history-table-virtualized-row-head .history-table-virtualized-cell{color:var(--ink-500);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.alert-pill{padding:2px 8px;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.alert-pill.status.triggered,.alert-pill.severity.warning{color:#915000;border-color:#c77b0052;background:#ffcb7940}.alert-pill.status.resolved{color:var(--ok);border-color:#038f7447;background:#038f741a}.alert-pill.severity.critical{color:var(--danger);border-color:#ce345d40;background:#ce345d1a}.table-note{margin-top:8px;font-size:.8rem}.telemetry-record-card-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.telemetry-record-card{border:1px solid var(--line);border-radius:16px;background:#ffffffe0;padding:12px;display:grid;gap:10px}.telemetry-record-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.telemetry-record-card-head strong{color:var(--ink-700);font-size:.92rem}.telemetry-record-card-head span{color:var(--ink-500);font-size:.78rem;font-weight:700}.telemetry-record-card-grid{margin:0;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-record-card-row{border:1px solid rgba(63,120,161,.16);border-radius:12px;padding:10px;background:#f5fcffbd}.telemetry-record-card-row dt{color:var(--ink-500);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.telemetry-record-card-row dd{margin:6px 0 0;color:var(--ink-700);font-size:.92rem;font-weight:700}@media(max-width:1080px){.dashboard-priority-layout,.dashboard-top,.trend-summary-grid,.analytics-grid{grid-template-columns:1fr}.fleet-controls-main{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-control-search{grid-column:1 / -1}.chart-span-wide{grid-column:auto}.tank-widget{grid-template-columns:auto 1fr}.fleet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.dashboard-header,.fleet-dashboard-header,.telemetry-state-header,.telemetry-state-banner{flex-direction:column;align-items:flex-start}.telemetry-mode-switcher{margin-left:0;width:100%}.dashboard-actions,.chart-panel-actions,.chart-legend-pills{width:100%;justify-content:flex-start}.fleet-controls-main{grid-template-columns:1fr}.fleet-controls-meta{flex-direction:column;align-items:flex-start}.history-toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.history-toolbar-actions .btn,.history-select,.history-select .form-input{width:100%;min-width:0}.fleet-card-grid,.fleet-summary-grid,.quick-stats,.fleet-tank-card-body,.tank-widget{grid-template-columns:1fr}.fleet-tank-head-status{justify-items:start}.tank-widget{justify-items:center}.tank-readout,.fleet-tank-readout{text-align:center}.trend-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-tank-card-foot{flex-direction:column}}@media(max-width:560px){.latest-panel,.tank-panel,.history-panel,.telemetry-state-panel,.empty-state-panel{border-radius:18px;padding:16px}.trend-summary-grid{grid-template-columns:1fr}.chart-panel{--chart-panel-min-height: 360px;--chart-visual-height: 228px;padding:14px}.chart-span-wide{--chart-panel-min-height: 424px;--chart-visual-height: 250px}.chart-shell{min-height:var(--chart-panel-min-height)}.chart-legend-pill{width:100%;justify-content:flex-start}.mobile-zoom-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-zoom-btn{width:100%}.telemetry-record-card-grid{grid-template-columns:1fr}.history-table-virtualized-row{grid-template-columns:minmax(148px,1.35fr) minmax(120px,1fr) repeat(4,minmax(72px,.78fr))}.telemetry-table,.telemetry-table-virtualized{min-width:556px}}.devices-card{padding:20px;position:sticky;top:14px}.devices-head h2{font-size:1.6rem}.devices-head p{margin:8px 0 0;color:var(--ink-500)}.devices-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.device-input-row{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.token-label{display:inline-block;margin-bottom:6px;color:var(--ink-500);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.token-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.token-field{font-family:Courier New,monospace;font-size:.84rem}.token-expiry{margin:8px 0 0;color:var(--ink-500);font-size:.82rem}.device-list-wrap{margin-top:16px}.device-list-wrap.collapsed{display:none}.device-footnote{margin-top:10px;color:var(--ink-500);font-size:.77rem}.devices-list-toggle-row{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}.devices-list-summary{margin:0;color:var(--ink-500);font-size:.83rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.device-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.device-list-skeleton .device-chip{cursor:default}.device-row{display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.device-chip{width:100%;min-width:0;text-align:left;border:1px solid var(--line-strong);border-radius:14px;padding:10px 12px;background:#ffffffd9;color:var(--ink-700);font-family:var(--font-body);font-weight:600;cursor:pointer;display:grid;gap:6px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.device-chip:hover{transform:translate(3px);border-color:#027dbe6b}.device-chip.selected{background:linear-gradient(120deg,#11a8e833,#11a8e814);border-color:#027dbe85;color:var(--ink-900)}.device-chip-name{display:block;color:var(--accent-700);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.device-chip-id,.device-id-text,.config-version-diff,.config-version-note,.config-diff-values span{overflow-wrap:anywhere;word-break:break-word}.device-chip-id{display:block;font-weight:700;line-height:1.35}.device-chip-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.presence-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:999px;border:1px solid var(--line);font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.presence-pill.online{color:var(--ok);border-color:#038f7447;background:#038f741a}.presence-pill.offline{color:var(--danger);border-color:#ce345d40;background:#ce345d1a}.presence-pill.unknown{color:var(--ink-500);border-color:var(--line-strong);background:#f1f7fbeb}.presence-pill.stale{color:#8a5a00;border-color:#b57e004d;background:#ffd37642}.presence-pill.never-reported{color:#5e6f80;border-color:#5d7d9a47;background:#eff6fcf5}.presence-pill.config-pending{color:#915000;border-color:#c77b0052;background:#ffcb7940}.presence-pill.live-active{color:#0b63a7;border-color:#056eb652;background:#11a8e82e}.last-seen-text{color:var(--ink-500);font-size:.78rem;font-weight:600}.health-summary-text{color:var(--ink-500);font-size:.75rem;font-weight:600}.device-remove-btn{padding-inline:12px}.device-overview-header,.device-overview-card{padding:20px}.overview-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-cell{border:1px solid var(--line);border-radius:14px;background:#fffc;padding:10px 12px;display:grid;gap:6px}.overview-cell span{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.overview-cell strong{color:var(--ink-700);font-size:.98rem;overflow-wrap:anywhere;word-break:break-word}.device-overview-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.device-nickname-box{margin-top:14px;padding:14px;border-radius:16px;border:1px solid var(--line);background:#ffffffd1;display:grid;gap:12px}.device-nickname-copy strong{display:block;color:var(--ink-700);font-size:.95rem}.device-nickname-copy p,.config-review-meta,.config-versions-meta{margin:4px 0 0;color:var(--ink-500);font-size:.84rem}.device-nickname-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.device-profile-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.device-profile-field{display:grid;gap:6px}.device-profile-field span,.config-edit-cell span,.config-version-cell span{font-size:.78rem;color:var(--ink-500)}.device-profile-field-wide{grid-column:1 / -1}.device-profile-field textarea.form-input{min-height:112px;resize:vertical}.device-profile-actions{display:flex;justify-content:flex-end}.device-tag{margin-top:8px}.device-tag strong{color:var(--ink-700)}.config-versions-header{padding:20px}.config-versions-list,.config-review-panel,.config-editor-panel{padding:18px}.config-version-items{margin:0;padding:0;list-style:none;display:grid;gap:10px}.config-version-item{border:1px solid var(--line);border-radius:14px;background:#ffffffc7;overflow:hidden}.config-version-summary{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font-weight:700;color:var(--ink-700);background:#e4f6ff99}.config-version-body{padding:12px 14px 14px;display:grid;gap:12px}.config-version-diff{margin:0;color:var(--ink-500);font-size:.85rem}.config-version-section h3{font-size:1.05rem;margin-bottom:8px}.config-version-grid,.config-edit-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.config-version-cell,.config-edit-cell{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#ffffffd1;display:grid;gap:6px}.config-version-cell strong{color:var(--ink-700);font-size:.92rem}.config-diff-grid{margin-top:12px;display:grid;gap:8px}.config-diff-item{border:1px solid var(--line);border-radius:12px;background:#fffc;padding:10px}.config-diff-label{margin:0;color:var(--ink-700);font-size:.84rem;font-weight:700}.config-diff-values{margin:6px 0 0;color:var(--ink-500);font-size:.82rem;display:flex;gap:16px;flex-wrap:wrap}.config-sync-save-box{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#ffffffc7;padding:12px}.config-note-input{resize:vertical}.config-version-note{margin:0;border-left:3px solid rgba(2,125,190,.34);padding:8px 10px;border-radius:8px;background:#11a8e814;color:var(--ink-700);font-size:.84rem}@media(max-width:1080px){.devices-card{position:static}}@media(max-width:780px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-nickname-row,.device-profile-grid,.config-version-grid,.config-edit-grid,.config-version-summary{grid-template-columns:1fr}.config-version-summary{flex-direction:column;align-items:flex-start}.config-diff-values{display:grid;gap:4px}}@media(max-width:560px){.devices-card{border-radius:18px;padding:16px}.device-input-row{grid-template-columns:1fr}.devices-head-row,.devices-list-toggle-row{flex-direction:column;align-items:stretch}.device-row,.overview-grid{grid-template-columns:1fr}}.danger-dialog-overlay{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:18px;background:#0b2a427a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.danger-dialog{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;background:#fffffffa;box-shadow:var(--shadow-strong);scrollbar-gutter:stable;overscroll-behavior:contain}.danger-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.danger-dialog-head h2{margin-top:6px;font-size:clamp(1.55rem,4vw,2.05rem)}.danger-dialog-subtitle{margin:8px 0 0;color:var(--ink-500);line-height:1.52}.danger-dialog-facts{margin:16px 0 0;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.danger-dialog-fact{border:1px solid var(--line);border-radius:14px;background:#f7fcfff5;padding:12px}.danger-dialog-fact dt{color:var(--ink-500);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.danger-dialog-fact dd{margin:6px 0 0;color:var(--ink-700);font-size:.93rem;font-weight:700;line-height:1.42;overflow-wrap:anywhere;word-break:break-word}.danger-dialog-section{margin-top:16px}.danger-dialog-section h3{font-size:1.06rem}.danger-dialog-list{margin:10px 0 0;padding-left:18px;display:grid;gap:6px;color:var(--ink-700);line-height:1.5}.danger-dialog-choice-grid{margin-top:10px;display:grid;gap:10px}.danger-dialog-choice{border:1px solid var(--line);border-radius:14px;padding:12px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;background:#ffffffe6;cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.danger-dialog-choice:hover{transform:translateY(-1px);border-color:#027dbe61}.danger-dialog-choice.selected{border-color:#027dbe80;background:linear-gradient(120deg,#11a8e81f,#11a8e80d)}.danger-dialog-choice.danger.selected{border-color:#b6245366;background:linear-gradient(120deg,#ce345d1f,#ce345d0a)}.danger-dialog-choice input{margin-top:3px}.danger-dialog-choice-copy{display:grid;gap:4px}.danger-dialog-choice-copy strong{color:var(--ink-700);font-size:.94rem}.danger-dialog-choice-copy span{color:var(--ink-500);font-size:.85rem;line-height:1.45}.danger-dialog-export{margin-top:16px;border:1px solid rgba(199,123,0,.24);border-radius:14px;padding:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#ffcb7929}.danger-dialog-export strong{display:block;color:#8e5b00;font-size:.94rem}.danger-dialog-export p{margin:6px 0 0;color:var(--ink-700);font-size:.86rem;line-height:1.45}.danger-dialog-confirm-input{font-family:Courier New,monospace;letter-spacing:.05em}.danger-dialog-confirm-hint{margin:8px 0 0;color:var(--ink-500);font-size:.82rem}.danger-dialog-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.wizard-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0b2a426b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.wizard-modal{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;background:var(--surface-strong);box-shadow:var(--shadow-strong);scrollbar-gutter:stable;overscroll-behavior:contain}.wizard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.wizard-head h2{margin-top:6px;font-size:clamp(1.6rem,4vw,2.2rem)}.wizard-subtitle{margin:8px 0 0;color:var(--ink-500)}.wizard-close-btn{white-space:nowrap}.wizard-progress{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.wizard-progress-item{border:1px solid var(--line);border-radius:12px;padding:6px;display:grid;gap:4px;background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:inset 0 1px #ffffff14;color:var(--ink-500);transition:border-color .25s ease,transform .25s ease,background .25s ease}.wizard-progress-btn{width:100%;border:none;background:transparent;cursor:pointer;display:grid;justify-items:center;gap:8px;text-align:center;color:inherit;font:inherit;padding:6px}.wizard-progress-item.locked .wizard-progress-btn{cursor:not-allowed}.wizard-progress-dot{width:26px;height:26px;border-radius:999px;border:1px solid var(--line-strong);display:grid;place-items:center;font-weight:800;font-size:.8rem;color:var(--ink-700);background:var(--surface-strong)}.wizard-progress-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.wizard-progress-item.active{border-color:#027dbe73;background:linear-gradient(120deg,#11a8e826,#11a8e80d);color:var(--ink-900);transform:translateY(-1px)}.wizard-progress-item.active .wizard-progress-dot{border-color:#027dbe80;color:#fff;background:linear-gradient(120deg,var(--accent-700),var(--accent-500))}.wizard-progress-item.done{border-color:#038f7452;background:#038f7414;color:var(--ink-700)}.wizard-progress-item.done .wizard-progress-dot{border-color:#038f746b;color:#fff;background:linear-gradient(120deg,#0b8f73,#21b391)}.wizard-progress-item.locked{background:linear-gradient(180deg,var(--surface),var(--surface-strong));border-color:#5d7d9a3b}.wizard-progress-item.locked .wizard-progress-dot{color:var(--ink-400);border-color:#5d7d9a40;background:var(--surface-strong)}.wizard-lock-tag{justify-self:center;border-radius:999px;border:1px solid rgba(93,125,154,.3);padding:2px 8px;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ink-500);background:var(--surface-strong)}.wizard-progress-item.hint{animation:wizard-step-hint .42s ease}@keyframes wizard-step-hint{0%{transform:translate(0)}25%{transform:translate(4px)}50%{transform:translate(-4px)}75%{transform:translate(2px)}to{transform:translate(0)}}.wizard-stage{margin-top:14px;border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:inset 0 1px #ffffff14}.wizard-stage h3{font-size:1.25rem}.wizard-stage p{margin:8px 0 0;color:var(--ink-500)}.wizard-token-wrap{margin-top:12px}.wizard-token-field{margin-top:2px;resize:none;font-family:Courier New,monospace;font-size:.84rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.wizard-sync-card{margin-top:12px;border:1px solid rgba(25,136,191,.26);border-radius:14px;background:linear-gradient(120deg,#11a8e817,#11a8e805);padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;transition:border-color .25s ease,background .25s ease,transform .25s ease}.wizard-sync-card.ready{border-color:#038f7459;background:linear-gradient(120deg,#038f741f,#038f7408);transform:translateY(-1px)}.wizard-sync-orb{width:16px;height:16px;border-radius:999px;margin-top:5px;background:var(--accent-600);box-shadow:0 0 #11a8e857;animation:wizard-sync-pulse 1.5s ease infinite}.wizard-sync-card.ready .wizard-sync-orb{background:var(--ok);box-shadow:0 0 #038f7452}@keyframes wizard-sync-pulse{0%{transform:scale(.94);box-shadow:0 0 #11a8e85c}70%{transform:scale(1);box-shadow:0 0 0 14px #11a8e800}to{transform:scale(.94);box-shadow:0 0 #11a8e800}}.wizard-sync-copy p{margin:0}.wizard-sync-title{color:var(--ink-900)!important;font-size:.94rem;font-weight:700}.wizard-sync-subtitle{margin-top:4px!important;color:var(--ink-500);font-size:.87rem}.wizard-sync-meta{margin-top:6px!important;color:var(--ink-400);font-size:.78rem;letter-spacing:.02em}.wizard-instruction-list{margin:12px 0 0;padding-left:18px;color:var(--ink-700);font-size:.92rem;display:grid;gap:5px}.wizard-code-row{margin-top:12px}.wizard-code-input{max-width:220px;font-family:Courier New,monospace;font-size:1.15rem;letter-spacing:.18em;text-align:center}.wizard-chip-line{margin-top:8px!important;padding:7px 10px;border-radius:10px;border:1px solid rgba(64,123,163,.23);background:linear-gradient(180deg,var(--surface-strong),var(--surface));display:inline-block;color:var(--ink-700)!important;font-size:.84rem;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.wizard-inline-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.wizard-stage-complete{border-color:#038f744d;background:#038f7414}.security-modal{width:min(680px,100%);display:grid;gap:18px}.security-modal-head{align-items:flex-start}.security-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#085b8e14,#129a7c14)}.security-card-copy strong,.security-form-head h3,.security-danger-panel h3{display:block;margin:0}.security-card-copy p,.security-form-head p,.security-danger-panel p{margin:6px 0 0;color:var(--ink-500)}.security-form{display:grid;gap:12px}.security-form-actions{display:flex;justify-content:flex-end}.security-danger-panel{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px;border:1px solid rgba(183,28,28,.18);border-radius:18px;background:#b71c1c0d}@media(max-width:780px){.wizard-overlay,.danger-dialog-overlay{place-items:start center;overflow-y:auto;padding:12px}.wizard-modal,.danger-dialog{width:min(100%,760px);max-height:min(calc(100dvh - 24px),calc(100vh - 24px))}.wizard-head,.danger-dialog-head{flex-direction:column}.wizard-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.security-card,.danger-dialog-facts{grid-template-columns:1fr}.security-danger-panel{flex-direction:column;align-items:stretch}.danger-dialog-export{flex-direction:column}}@media(max-width:560px){.wizard-overlay{padding:12px}.wizard-modal,.danger-dialog{border-radius:18px;padding:16px}.danger-dialog-actions{display:grid;grid-template-columns:1fr}.security-form-actions,.security-danger-panel{justify-content:stretch}.security-form-actions .btn,.security-danger-panel .btn{width:100%}.wizard-progress,.wizard-inline-actions,.wizard-sync-card{grid-template-columns:1fr}.wizard-sync-orb{margin-top:0}.wizard-code-input{max-width:100%}.wizard-chip-line{display:block}}
