:root{color:#edf5ff;font-synthesis:none;text-rendering:optimizelegibility;--panel:#08182af0;--panel-strong:#0a1a2d;--line:#203a55;--line-bright:#2185b5;--text:#edf5ff;--muted:#9db6d3;--cyan:#31c7ff;--green:#42e6a4;--danger:#ff6d89;background:#061321;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:linear-gradient(#1f42602b 1px,#0000 1px) 0 0/96px 96px,linear-gradient(90deg,#1f42602b 1px,#0000 1px) 0 0/96px 96px,radial-gradient(circle at 12% 82%,#16a1851f,#0000 32%),#061321;min-height:100vh}button,input,select{font:inherit}.app-shell{min-height:100vh}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#040c17f0;align-items:center;gap:16px;min-height:104px;padding:18px clamp(18px,3vw,46px);display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:13px;display:flex}.brand-preview{align-items:center;gap:8px;width:118.4px;height:62.4px;display:flex}.brand-mark{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#38bdf838,#55e48b14),#081426;border:1px solid #38bdf88c;border-radius:12px;place-items:center;width:52px;display:grid;box-shadow:inset 0 0 22px #38bdf821,0 0 22px #38bdf81f}.brand-mark-ath-iot{aspect-ratio:auto;transform-origin:0;justify-content:center;align-items:center;gap:3px;width:98.6667px;height:52px;padding:5px;display:flex;transform:scale(1.2)}.brand-mark-ath-iot img{flex:0 0 46px;width:46px;height:32px}.brand-mark-ath-iot span{letter-spacing:-.03em;font-size:15px;font-weight:900}.brand-copy{white-space:nowrap;gap:2px;display:grid}.eyebrow{color:#8cb9ec;letter-spacing:.18em;margin:0 0 4px;font-size:11px;font-weight:900}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(22px,3vw,30px)}.live-indicator{color:var(--muted);letter-spacing:.1em;align-items:center;gap:8px;margin-left:auto;font-size:11px;font-weight:800;display:flex}.live-indicator span{background:var(--green);width:8px;height:8px;box-shadow:0 0 14px var(--green);border-radius:50%}.page-content{width:min(1800px,100% - 32px);margin:0 auto;padding:42px 0 64px}.page-intro{margin:0 0 28px}.page-intro h2{letter-spacing:-.055em;margin-bottom:8px;font-size:clamp(48px,7vw,86px);line-height:.94}.page-intro>p:last-child{color:var(--muted);margin-bottom:0;font-size:clamp(16px,2vw,22px)}.panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;margin-top:16px;overflow:hidden;box-shadow:0 18px 50px #00000029}.telemetry-layout{grid-template-columns:minmax(0,65fr) minmax(380px,35fr);align-items:stretch;gap:16px;display:grid}.telemetry-layout>.panel{flex-direction:column;min-width:0;height:83.16vh;display:flex}.telemetry-layout>.panel .table-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;flex:auto;min-height:0;overflow:auto}.section-heading{border-bottom:1px solid var(--line);padding:18px 20px;display:block}.section-heading-content{width:100%;min-width:0}.section-meta-row{justify-content:space-between;align-items:baseline;gap:14px;min-width:0;display:flex}.section-meta-row .eyebrow{margin-bottom:0}.section-heading h2{margin-bottom:0;font-size:clamp(20px,2vw,26px)}.section-meta-row+h2{white-space:nowrap;margin-top:12px}.record-count,.uid-label{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow:hidden}.filter-grid{grid-template-columns:repeat(6,minmax(170px,1fr));gap:12px;padding:18px 20px 22px;display:grid}.filter-grid label{gap:7px;display:grid}.filter-grid label>span{color:#a9c9ec;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}select,input{width:100%;min-height:44px;color:var(--text);background:#061522;border:1px solid #275170;border-radius:10px;outline:none;padding:9px 11px}select:focus,input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #31c7ff29}select option{background:#071725}input::-webkit-calendar-picker-indicator{filter:invert();opacity:.75}.state-stack{gap:8px;margin-top:16px;display:grid}.state{border:1px solid var(--line);background:var(--panel-strong);color:var(--muted);border-radius:12px;padding:14px 18px}.loading-state{color:#bdeaff;border-color:#276886}.error-state{color:#ffc1ce;border-color:#8b3450}.empty-state{text-align:center}.table-scroll{overscroll-behavior-inline:contain;overflow-x:auto}.telemetry-panel .table-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;max-height:83.16vh;overflow:auto}table{border-collapse:collapse;width:100%}.telemetry-table{table-layout:fixed;min-width:0}.telemetry-table th,.telemetry-table td{text-align:center}.telemetry-table th:first-child,.telemetry-table th:nth-child(2){width:18%}.telemetry-table th:nth-child(3),.telemetry-table th:nth-child(4){width:12%}.telemetry-table th:nth-child(n+5){width:13.333%}.telemetry-table th,.telemetry-table td{overflow-wrap:anywhere;white-space:normal;padding:9px 7px}.detail-table{table-layout:fixed;min-width:0}.detail-table th:first-child{width:55%}.detail-table th:not(:first-child){width:15%}.detail-table th,.detail-table td{padding:9px 6px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #203a55b8;border-right:1px solid #203a55b8;padding:12px 14px}thead th{z-index:1;color:var(--cyan);letter-spacing:.03em;background:#0b2236;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;position:sticky;top:0}tbody td,tbody th{color:#d7e6f8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}tbody tr{background:#0613216b;transition:background .15s,box-shadow .15s}.telemetry-table tbody tr{cursor:pointer}tbody tr:hover{background:#1f597a42}.telemetry-table tbody tr.selected{box-shadow:inset 4px 0 0 var(--cyan);background:#1588ab3d}.telemetry-table tbody tr:focus{outline:2px solid var(--cyan);outline-offset:-2px}.detail-table tbody th{color:#9ddcff;overflow-wrap:anywhere;white-space:normal;font-weight:700}.detail-table thead th:not(:first-child),.detail-table tbody td{text-align:center}.dir-symbol{text-align:center;min-width:1.25em;font-size:18px;font-weight:900;line-height:1;display:inline-block}.dir-up{color:#62c8ff;text-shadow:0 0 8px #62c8ff73}.dir-zero{color:#62e69a;text-shadow:0 0 8px #62e69a66}.dir-down{color:#ff7185;text-shadow:0 0 8px #ff71856b}.bool-led{vertical-align:-1px;border:1px solid #0000;border-radius:50%;width:11px;height:11px;display:inline-block}.bool-true{background:#55e88f;border-color:#9affbd;box-shadow:0 0 8px #55e88fb8}.bool-false{background:#718197;border-color:#a7b2c1;box-shadow:0 0 5px #a7b2c152}.bool-alarm{background:#ff536f;border-color:#ff9aaa;box-shadow:0 0 9px #ff536fbf}.bool-warning{background:#ffad5c;border-color:#ffd09d;box-shadow:0 0 9px #ffad5cb3}.ctr-in-value{font-weight:900}.ctr-up{color:#62c8ff;text-shadow:0 0 8px #62c8ff7a}.ctr-up-slow{color:#5de6dc;text-shadow:0 0 8px #5de6dc73}.ctr-down{color:#ff7185;text-shadow:0 0 8px #ff71857a}.ctr-down-slow{color:#ffad5c;text-shadow:0 0 8px #ffad5c73}.ctr-stop{color:#d7e0ec;text-shadow:0 0 7px #d7e0ec52}.login-shell{place-items:center;padding:24px;display:grid}.login-panel{width:min(460px,100%);margin:0}.login-form{gap:18px;padding:22px;display:grid}.login-form label{gap:7px;display:grid}.login-form label>span{color:#a9c9ec;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:900}.login-form button,.logout-button{border:1px solid var(--line-bright);min-height:42px;color:var(--text);cursor:pointer;background:#0b3853;border-radius:10px;padding:9px 16px}.login-form button:hover,.logout-button:hover{border-color:var(--cyan);background:#0d496b}.login-error{color:var(--danger);margin:0}.logout-button{flex:none}@media (width<=1280px){.filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media (width<=1100px){.telemetry-layout{grid-template-columns:1fr;gap:0}}@media (width<=760px){.topbar{min-height:84px;padding:12px}.brand{gap:10px}.live-indicator{display:none}.page-content{width:calc(100% - 20px);padding:30px 0 40px}.page-intro h2{font-size:52px}.filter-grid{grid-template-columns:1fr;padding:14px}.section-heading{flex-direction:column;align-items:flex-start;padding:15px}th,td{padding:11px 12px}}
