:root{--lp-max: 1200px;--lp-nav-h: 72px;--lp-bg: #f7fbff;--lp-bg-2: #eef7ff;--lp-surface: rgba(255,255,255,.92);--lp-card: #ffffff;--lp-border: rgba(15,23,42,.1);--lp-text: #0f172a;--lp-muted: rgba(15,23,42,.7);--lp-navy: #061428;--lp-navy-2: #071b2f;--lp-teal: #14b8a6;--lp-cyan: #06b6d4;--lp-emerald: #10b981;--lp-amber: #f59e0b;--lp-red: #ef4444}.lp-root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--lp-text);background:radial-gradient(900px 600px at 15% 10%,rgba(6,182,212,.1) 0%,transparent 55%),radial-gradient(900px 600px at 85% 20%,rgba(16,185,129,.1) 0%,transparent 55%),var(--lp-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}.lp-root,.lp-root *{box-sizing:border-box}.lp-root .lp-nav-link,.lp-root .lp-footer-linkbtn,.lp-root .lp-logo,.lp-root .lp-hamburger{box-shadow:none;transform:none}.lp-root .lp-nav-link:hover,.lp-root .lp-footer-linkbtn:hover,.lp-root .lp-logo:hover,.lp-root .lp-hamburger:hover{box-shadow:none}.lp-root .lp-footer-linkbtn:hover{transform:translate(2px)}.lp-root .lp-nav-link:hover,.lp-root .lp-logo:hover{transform:none}.lp-container{width:100%;max-width:var(--lp-max);margin:0 auto;padding:0 24px}.lp-section{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.lp-section.lp-revealed{opacity:1;transform:translateY(0)}@keyframes lpFloatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes lpFloatTiny{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes lpSheen{0%{transform:translate(-40%) rotate(12deg);opacity:0}25%{opacity:.12}65%{opacity:.12}to{transform:translate(140%) rotate(12deg);opacity:0}}@keyframes lpScan{0%{transform:translateY(-120%);opacity:0}15%{opacity:.1}70%{opacity:.08}to{transform:translateY(120%);opacity:0}}@keyframes lpParticleDrift{0%,to{transform:translateZ(0) scale(var(--s));opacity:0}18%{opacity:.22}50%{transform:translate3d(0,-14px,0) scale(var(--s));opacity:.12}88%{opacity:.22}}@keyframes lpMiniLine{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120}}@keyframes lpSensorPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.85);opacity:.55}}@keyframes lpStepPulse{0%{box-shadow:0 14px 40px #06b6d41a;transform:translateZ(0) scale(1)}50%{box-shadow:0 18px 52px #06b6d42e;transform:translateZ(0) scale(1.05)}to{box-shadow:0 14px 40px #06b6d41a;transform:translateZ(0) scale(1)}}@keyframes lpBarGrow{0%{transform:scaleY(0);opacity:0}18%{opacity:1}to{transform:scaleY(1);opacity:1}}.lp-header{position:sticky;top:0;z-index:50;height:var(--lp-nav-h);background:#f7fbffc7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}.lp-header--scrolled{background:#f7fbffeb;border-color:#0f172a1a;box-shadow:0 10px 30px #02061712}.lp-header-inner{max-width:var(--lp-max);margin:0 auto;height:var(--lp-nav-h);padding:0 24px;display:flex;align-items:center;gap:14px}.lp-logo{border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:10px;color:inherit}.lp-logo-mark{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;color:var(--lp-cyan);background:radial-gradient(circle at 30% 30%,#06b6d42e,#10b98124 45%,#14b8a61a 70%);border:1px solid rgba(6,182,212,.22);box-shadow:0 10px 24px #06b6d41a}.lp-logo-text{font-weight:950;letter-spacing:-.4px;white-space:nowrap}.lp-nav{flex:1;display:flex;justify-content:center;gap:4px}.lp-nav-link{border:none;background:transparent;cursor:pointer;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:800;color:#0f172ab8;transition:background .15s ease,color .15s ease}.lp-nav-link:hover{background:#06b6d41a;color:#0f172aeb}.lp-header-actions{display:flex;align-items:center;gap:10px}.lp-btn-login{border:1px solid rgba(6,182,212,.2);background:linear-gradient(135deg,#06b6d41a,#10b9811a);cursor:pointer;padding:9px 14px;border-radius:12px;font-size:13px;font-weight:900;color:#0f172ae6;transition:transform .15s ease,filter .15s ease;white-space:nowrap}.lp-btn-login:hover{transform:translateY(-1px);filter:brightness(1.02)}.lp-hamburger{display:none;border:none;background:transparent;cursor:pointer;padding:8px;border-radius:12px}.lp-hamburger span{display:block;width:22px;height:2px;border-radius:999px;background:#0f172abf;margin:4px 0}.lp-mobile-menu{border-top:1px solid rgba(15,23,42,.1);background:#f7fbfff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:12px 16px 16px;display:grid;gap:8px}.lp-mobile-link{border:1px solid rgba(15,23,42,.08);background:#ffffffb3;padding:12px;border-radius:14px;font-weight:850;color:#0f172ad1;cursor:pointer;text-align:left}.lp-mobile-link:hover{background:#06b6d41a}.lp-mobile-login{width:100%;justify-content:center}.lp-hero{position:relative;padding:48px 0 66px;min-height:calc(92svh - var(--lp-nav-h));display:flex;align-items:center}.lp-hero:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#06b6d400,#06b6d459,#10b9814d,#06b6d400);opacity:.9}.lp-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.lp-hero-grad{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(900px 520px at 18% 25%,#06b6d424,#06b6d400 55%),radial-gradient(900px 520px at 88% 30%,#10b98124,#10b98100 55%),linear-gradient(180deg,#f7fbff00,#eef7ffa6)}.lp-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(15,23,42,.09) 1px,transparent 1px);background-size:34px 34px;opacity:.35;-webkit-mask-image:radial-gradient(circle at 55% 35%,black 0%,black 55%,transparent 80%);mask-image:radial-gradient(circle at 55% 35%,black 0%,black 55%,transparent 80%)}.lp-hero-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.9;animation:lpFloatSlow 8s ease-in-out infinite}.lp-hero-orb--a{width:520px;height:520px;left:-220px;top:-220px;background:#06b6d438}.lp-hero-orb--b{width:520px;height:520px;right:-240px;top:40px;background:#10b98133;animation-delay:.6s}.lp-hero-orb--c{width:380px;height:380px;left:45%;bottom:-260px;background:#14b8a629;animation-delay:1.1s}.lp-hero-streak{position:absolute;top:-120px;right:-180px;bottom:-120px;left:-180px;background:linear-gradient(115deg,#06b6d400,#06b6d41a 45%,#10b9811a 55%,#06b6d400);transform:rotate(-8deg);opacity:.7;-webkit-mask-image:radial-gradient(circle at 60% 45%,black 0%,black 52%,transparent 80%);mask-image:radial-gradient(circle at 60% 45%,black 0%,black 52%,transparent 80%)}.lp-hero-scan{position:absolute;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06b6d400,#06b6d41f,#06b6d400);height:38%;top:22%;opacity:0;animation:lpScan 9s ease-in-out infinite}.lp-hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.lp-hero-particles span{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#67e8f959,#10b9812e);filter:blur(.2px);box-shadow:0 0 0 8px #06b6d408;animation:lpParticleDrift 6.8s ease-in-out infinite;animation-delay:var(--d);transform:scale(var(--s));opacity:0}.lp-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.08fr;gap:40px;align-items:center;width:100%}.lp-hero-panel{position:relative;border-radius:24px;padding:22px 20px;background:radial-gradient(circle at 20% 20%,#06b6d41a,#ffffffbf 55%),#ffffffb3;border:1px solid rgba(6,182,212,.16);box-shadow:0 24px 70px #02061714;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.lp-hero-panel:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:24px;padding:1px;background:linear-gradient(135deg,#06b6d459,#14b8a64d,#10b9814d);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.65}.lp-hero-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;background:repeating-linear-gradient(90deg,rgba(15,23,42,.06) 0 1px,transparent 1px 10px);opacity:.05;pointer-events:none}.lp-hero-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(6,182,212,.18);color:#0f172acc;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.lp-hero-badge-dot{width:9px;height:9px;border-radius:50%;background:var(--lp-emerald);box-shadow:0 0 0 6px #10b98126}.lp-hero-title{margin:14px 0 12px;font-size:clamp(34px,4.2vw,58px);line-height:1.02;letter-spacing:-1.1px;font-weight:1000;color:var(--lp-text)}.lp-title-grad{background:linear-gradient(90deg,var(--lp-cyan) 0%,var(--lp-teal) 35%,var(--lp-emerald) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-hero-sub{color:var(--lp-muted);font-size:16px;line-height:1.75;max-width:620px}.lp-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.lp-btn-primary{border:none;cursor:pointer;font-weight:900;padding:12px 18px;border-radius:14px;color:#001017;background:linear-gradient(135deg,#06b6d4,#14b8a6 35%,#10b981);box-shadow:0 12px 28px #06b6d429,0 10px 22px #10b98124;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.lp-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.02);box-shadow:0 18px 44px #06b6d42e,0 14px 30px #10b98129}.lp-btn-primary--light{background:linear-gradient(135deg,#fff,#e0f2fe 45%,#d1fae5);color:#001017}.lp-btn-ghost{border:1px solid rgba(15,23,42,.14);background:#ffffffb3;cursor:pointer;font-weight:900;padding:12px 18px;border-radius:14px;color:#0f172ae0;transition:transform .15s ease,background .15s ease,border-color .15s ease}.lp-btn-ghost:hover{transform:translateY(-2px);background:#ffffffd9;border-color:#06b6d433}.lp-hero-chips{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.lp-chip{display:inline-flex;gap:10px;align-items:center;padding:10px 12px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(15,23,42,.1);color:#0f172acc;font-size:13px;font-weight:800}.lp-chip-ic{color:#06b6d4f2}.lp-hero-visual{position:relative;min-height:520px}.lp-hero-mock{position:relative;width:min(620px,100%);margin-left:auto;border-radius:24px;background:#fffffff0;border:1px solid rgba(6,182,212,.18);box-shadow:0 30px 90px #02061724;overflow:hidden}.lp-hero-mock:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:24px;padding:1px;background:linear-gradient(135deg,#06b6d48c,#14b8a673,#10b98173);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.65}.lp-mock-topbar{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafcf2;border-bottom:1px solid rgba(15,23,42,.08)}.lp-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.lp-dot--r{background:#ef44448c}.lp-dot--y{background:#f59e0b8c}.lp-dot--g{background:#10b9818c}.lp-mock-topbar-title{flex:1;text-align:center;font-size:12px;font-weight:950;color:#0f172ab3;letter-spacing:.06em;text-transform:uppercase}.lp-mock-live{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:950;color:#0f172ab8;background:#10b9811a;border:1px solid rgba(16,185,129,.18);padding:6px 10px;border-radius:999px}.lp-pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--lp-emerald);box-shadow:0 0 0 7px #10b9811a}.lp-pulse-dot--green{background:var(--lp-emerald)}.lp-mock-body{padding:16px;display:grid;gap:14px}.lp-mock-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lp-metric{border-radius:16px;padding:12px;background:#02061708;border:1px solid rgba(2,6,23,.06)}.lp-metric-val{font-size:20px;font-weight:1000;letter-spacing:-.5px;color:#0f172aeb}.lp-metric-label{margin-top:2px;font-size:10px;font-weight:900;color:#475569eb;text-transform:uppercase;letter-spacing:.08em}.lp-mock-mid{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.lp-mock-chart-card{border-radius:18px;padding:12px;background:#fffffff5;border:1px solid rgba(2,6,23,.08);box-shadow:0 10px 30px #0206170f}.lp-mock-chart-card--tone{background:radial-gradient(circle at 20% 20%,#06b6d41a,#fffffff5 65%);border-color:#06b6d429}.lp-mock-card-title{font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#475569eb;margin-bottom:8px}.lp-mini-chart{width:100%;height:84px}.lp-mini-line{stroke-dasharray:16 12;animation:lpMiniLine 6.8s linear infinite;filter:drop-shadow(0 0 4px rgba(6,182,212,.22))}.lp-mock-card-foot{margin-top:8px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#475569e6}.lp-mock-card-foot b{color:#0f172ae0}.lp-alert-pill{margin-top:6px;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#10b9811f;border:1px solid rgba(16,185,129,.18);color:#0f172ae6;font-weight:950}.lp-mock-muted{margin-top:10px;font-size:12px;color:#475569cc}.lp-mock-sheen{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);width:36%;transform:translate(-40%) rotate(12deg);animation:lpSheen 9s ease-in-out infinite}.lp-mock-scan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(180deg,rgba(15,23,42,.06) 0 1px,transparent 1px 6px);opacity:.08}.lp-float-chip{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#ffffffeb;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 40px #0206171a;animation:lpFloatTiny 5.8s ease-in-out infinite}.lp-float-ic{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#02061708;border:1px solid rgba(2,6,23,.06);font-size:16px}.lp-float-label{display:block;font-size:10px;font-weight:900;color:#475569e6;text-transform:uppercase;letter-spacing:.08em}.lp-float-val{display:block;font-size:13px;font-weight:1000;color:#0f172ae6;margin-top:2px}.lp-float-chip.c1{left:2%;top:12%}.lp-float-chip.c2{right:4%;top:10%}.lp-float-chip.c3{right:-2%;top:46%}.lp-float-chip.c4{left:6%;bottom:10%}.lp-float-chip.c2{animation-delay:.6s}.lp-float-chip.c3{animation-delay:1.1s}.lp-float-chip.c4{animation-delay:.3s}.lp-float-chip--teal{box-shadow:0 18px 40px #14b8a61f}.lp-float-chip--cyan{box-shadow:0 18px 40px #06b6d41f}.lp-float-chip--emerald{box-shadow:0 18px 40px #10b9811f}.lp-section-head{margin-bottom:30px}.lp-section-head--center{text-align:center}.lp-section-kicker{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#0f172a8c}.lp-kicker-teal{color:#0f766ed9}.lp-kicker-emerald{color:#059669d9}.lp-h2{margin:10px 0 12px;font-size:clamp(28px,3.4vw,44px);line-height:1.12;letter-spacing:-.7px;font-weight:1000;color:var(--lp-text)}.lp-p{font-size:15.5px;line-height:1.75;color:var(--lp-muted);max-width:860px;margin:0 auto}.lp-overview{padding:70px 0;background:var(--lp-bg)}.lp-flow{padding:74px 0;background:var(--lp-bg-2);position:relative;overflow:hidden}.lp-signage{padding:74px 0;background:var(--lp-bg)}.lp-monitor{padding:74px 0;background:var(--lp-bg-2);position:relative;overflow:hidden}.lp-preview{padding:74px 0;background:var(--lp-bg)}.lp-reports{padding:74px 0;background:var(--lp-bg-2);position:relative;overflow:hidden}.lp-apps{padding:74px 0;background:var(--lp-bg)}.lp-how{padding:74px 0;background:var(--lp-bg-2)}.lp-cta{padding:74px 0 90px;background:var(--lp-bg)}.lp-flow:before,.lp-monitor:before,.lp-reports:before{content:"";position:absolute;top:-120px;right:-220px;bottom:-120px;left:-220px;background:radial-gradient(800px 520px at 25% 25%,rgba(6,182,212,.12) 0%,transparent 60%),radial-gradient(780px 520px at 85% 35%,rgba(16,185,129,.1) 0%,transparent 60%),repeating-linear-gradient(90deg,rgba(15,23,42,.06) 0 1px,transparent 1px 26px);opacity:.45;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 50% 40%,black 0%,black 55%,transparent 80%);mask-image:radial-gradient(circle at 50% 40%,black 0%,black 55%,transparent 80%)}.lp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lp-apps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.lp-card{position:relative;border-radius:20px;padding:18px 16px;background:var(--lp-card);border:1px solid var(--lp-border);box-shadow:0 22px 70px #0206170f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lp-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,#06b6d459,#14b8a640,#10b98140);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .18s ease}.lp-card:hover{transform:translateY(-3px);border-color:#06b6d433;box-shadow:0 30px 90px #02061714}.lp-card:hover:before{opacity:.75}.lp-card-ic{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#06b6d4f2;background:#06b6d41a;border:1px solid rgba(6,182,212,.16)}.lp-card-title{margin-top:12px;font-weight:1000;letter-spacing:-.3px;color:#0f172aeb}.lp-card-desc{margin-top:6px;color:#475569d1;line-height:1.65;font-size:13.5px}.lp-flow-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;position:relative;margin-top:16px}.lp-flow-grid:before{content:"";position:absolute;left:18px;right:18px;top:34px;height:2px;background:linear-gradient(90deg,#06b6d4b3,#14b8a6b3,#10b981a6);opacity:.55}.lp-flow-step{position:relative;border-radius:18px;background:#ffffffd9;border:1px solid rgba(15,23,42,.1);padding:14px 12px;text-align:center;box-shadow:0 20px 60px #0206170f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lp-flow-step:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,#06b6d44d,#14b8a642,#10b98142);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.35}.lp-flow-step:hover{transform:translateY(-3px);border-color:#06b6d438;box-shadow:0 30px 90px #02061714}.lp-flow-ic{width:44px;height:44px;margin:0 auto;border-radius:16px;display:grid;place-items:center;color:#06b6d4f2;background:#06b6d41a;border:1px solid rgba(6,182,212,.16)}.lp-flow-title{margin-top:10px;font-weight:950;font-size:12.5px;color:#0f172ae6;line-height:1.25}.lp-flow-stepno{margin-top:4px;font-size:11px;font-weight:900;color:#475569b3}.lp-stat-row{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lp-stat{border-radius:16px;padding:14px;background:linear-gradient(180deg,#061428f5,#071b2ff5);color:#ffffffeb;border:1px solid rgba(6,182,212,.18);box-shadow:0 18px 50px #0206172e}.lp-stat-k{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f0c7}.lp-stat-v{margin-top:6px;font-size:20px;font-weight:1000;letter-spacing:-.4px}.lp-sensor-grid{margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.lp-sensor-card{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#ffffffe6;border:1px solid rgba(15,23,42,.1);box-shadow:0 22px 70px #0206170f;overflow:hidden}.lp-sensor-ic{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#10b9811a;border:1px solid rgba(16,185,129,.14);font-size:18px;flex-shrink:0}.lp-sensor-name{font-size:11px;font-weight:900;color:#475569cc;letter-spacing:.08em;text-transform:uppercase}.lp-sensor-val{margin-top:2px;font-size:18px;font-weight:1000;letter-spacing:-.3px;color:#0f172aeb}.lp-sensor-unit{font-size:12px;font-weight:850;color:#475569b3;margin-left:2px}.lp-sensor-status{position:absolute;right:14px;width:10px;height:10px;border-radius:50%;background:var(--lp-emerald);box-shadow:0 0 0 6px #10b9811f;animation:lpSensorPulse 2.2s ease-in-out infinite}.lp-trend{margin-top:16px;border-radius:22px;background:#ffffffeb;border:1px solid rgba(15,23,42,.1);box-shadow:0 30px 90px #0206170f;padding:16px}.lp-trend-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.lp-trend-k{font-size:11px;font-weight:900;color:#475569b8;text-transform:uppercase;letter-spacing:.08em}.lp-trend-t{margin-top:4px;font-weight:1000;color:#0f172aeb}.lp-trend-legend{display:flex;gap:14px;flex-wrap:wrap;color:#475569c7;font-size:12px;font-weight:850}.lp-trend-legend span{display:inline-flex;align-items:center;gap:8px}.lp-dot-mini{width:9px;height:9px;border-radius:50%;display:inline-block}.lp-dot-mini--teal{background:var(--lp-teal);box-shadow:0 0 0 6px #14b8a61a}.lp-dot-mini--amber{background:var(--lp-amber);box-shadow:0 0 0 6px #f59e0b1a}.lp-dot-mini--red{background:var(--lp-red);box-shadow:0 0 0 6px #ef44441a}.lp-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end}.lp-bar{display:flex;flex-direction:column;align-items:center;gap:8px}.lp-bar-fill{width:100%;max-width:62px;border-radius:12px;background:linear-gradient(135deg,#06b6d4f2,#10b981e6);box-shadow:0 16px 40px #06b6d424}.lp-bar-x{font-size:10px;font-weight:850;color:#4755699e}.lp-preview-frame{border-radius:24px;overflow:hidden;background:#fffffff2;border:1px solid rgba(6,182,212,.18);box-shadow:0 30px 90px #02061714}.lp-preview-top{display:flex;align-items:center;gap:8px;padding:14px 16px;background:#f8fafcf5;border-bottom:1px solid rgba(15,23,42,.08);flex-wrap:wrap}.lp-preview-title{flex:1;text-align:center;font-size:12px;font-weight:1000;color:#0f172ab3;letter-spacing:.06em;text-transform:uppercase}.lp-preview-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lp-preview-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#0f172abd;background:#02061708;border:1px solid rgba(2,6,23,.08)}.lp-preview-chip--live{background:#10b9811a;border-color:#10b9812e;color:#0f172ab8}.lp-preview-chip--export{background:#06b6d41a;border-color:#06b6d42e}.lp-preview-body{padding:16px}.lp-preview-stats{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.lp-preview-stat{border-radius:18px;background:#02061708;border:1px solid rgba(2,6,23,.06);padding:12px}.lp-preview-val{font-weight:1000;font-size:16px;color:#0f172aeb}.lp-preview-lbl{margin-top:3px;font-size:10px;font-weight:900;color:#475569eb;text-transform:uppercase;letter-spacing:.08em}.lp-preview-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.lp-preview-card{border-radius:22px;background:#fffffff5;border:1px solid rgba(2,6,23,.08);box-shadow:0 18px 60px #0206170f;padding:14px}.lp-preview-card-title{font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#475569eb;margin-bottom:10px}.lp-preview-table{display:grid;gap:8px}.lp-pt-head,.lp-pt-row{display:grid;grid-template-columns:1.2fr .9fr .9fr .9fr;gap:8px;align-items:center}.lp-pt-head{font-size:10px;font-weight:900;color:#475569eb;text-transform:uppercase;letter-spacing:.08em}.lp-pt-row{background:#02061708;border:1px solid rgba(2,6,23,.06);padding:10px;border-radius:16px;font-size:12px;color:#0f172ac7}.lp-pt-dev{font-weight:950}.lp-pt-status{justify-self:end;font-weight:950;padding:6px 10px;border-radius:999px;background:#10b9811f;border:1px solid rgba(16,185,129,.18);color:#065f46;white-space:nowrap}.lp-pt-status--warning{background:#f59e0b24;border-color:#f59e0b38;color:#92400e}.lp-pt-status--danger{background:#ef444424;border-color:#ef444438;color:#991b1b}.lp-app-card{border-radius:20px;padding:16px 14px;background:#ffffffe6;border:1px solid rgba(15,23,42,.1);box-shadow:0 22px 70px #0206170f;display:flex;align-items:center;gap:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lp-app-card:hover{transform:translateY(-3px);border-color:#06b6d433;box-shadow:0 30px 90px #02061714}.lp-app-ic{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#06b6d4f2;background:#06b6d41a;border:1px solid rgba(6,182,212,.16)}.lp-app-title{font-weight:1000;color:#0f172aeb;letter-spacing:-.2px}.lp-timeline{max-width:980px;margin:0 auto;display:grid;gap:12px;position:relative}.lp-tl-row{--d: 0ms}.lp-tl-row:nth-child(1){--d: 0ms}.lp-tl-row:nth-child(2){--d: .12s}.lp-tl-row:nth-child(3){--d: .24s}.lp-tl-row:nth-child(4){--d: .36s}.lp-tl-row:nth-child(5){--d: .48s}.lp-tl-row:nth-child(6){--d: .6s}.lp-tl-row:nth-child(7){--d: .72s}.lp-tl-row:nth-child(8){--d: .84s}.lp-tl-row{opacity:0;transform:translateY(10px);transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1);transition-delay:var(--d);will-change:opacity,transform}.lp-how.lp-revealed .lp-tl-row{opacity:1;transform:translateY(0)}.lp-how.lp-revealed .lp-tl-row .lp-tl-dot{animation:lpStepPulse 1.2s ease-out both;animation-delay:var(--d)}.lp-tl-bar{overflow:hidden}.lp-tl-bar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#06b6d4bf,#14b8a6a6,#10b981a6);border-radius:999px;transform:scaleY(0);transform-origin:top;opacity:0}.lp-how.lp-revealed .lp-tl-row .lp-tl-bar:before{animation:lpBarGrow .65s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d)}@media (prefers-reduced-motion: reduce){.lp-tl-row{opacity:1;transform:none;transition:none}.lp-tl-bar:before,.lp-how.lp-revealed .lp-tl-row .lp-tl-dot{animation:none}}.lp-tl-row{display:grid;grid-template-columns:auto 18px 1fr;gap:14px;align-items:center}.lp-tl-dot{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:1000;color:#0f172ae6;background:radial-gradient(circle at 30% 30%,#06b6d42e,#ffffffeb);border:1px solid rgba(6,182,212,.26);box-shadow:0 14px 40px #06b6d41a;position:relative}.lp-tl-dot:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:999px;border:1px solid rgba(6,182,212,.2);opacity:.55}.lp-tl-bar{width:2px;height:100%;justify-self:center;background:linear-gradient(180deg,#06b6d4a6,#14b8a68c,#10b9818c);border-radius:999px;position:relative}.lp-tl-bar:after{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:10px;height:100%;background:radial-gradient(circle at 50% 25%,rgba(6,182,212,.22),transparent 60%);opacity:.55}.lp-tl-pill{border-radius:18px;background:#ffffffeb;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 60px #0206170f;padding:14px;font-weight:950;color:#0f172ae6;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.lp-tl-row:hover .lp-tl-pill{transform:translateY(-2px);border-color:#06b6d433;box-shadow:0 24px 80px #02061714}.lp-cta-card{position:relative;border-radius:24px;overflow:hidden;padding:44px 24px;text-align:center;background:var(--lp-navy);color:#fffffff0;box-shadow:0 30px 90px #02061738}.lp-cta-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:24px;padding:1px;background:linear-gradient(135deg,#06b6d48c,#14b8a666,#10b98173);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.75}.lp-cta-bg{position:absolute;top:-90px;right:-90px;bottom:-90px;left:-90px;background:radial-gradient(900px 600px at 20% 30%,#06b6d438,#06b6d400 60%),radial-gradient(900px 600px at 85% 55%,#10b98138,#10b98100 60%),linear-gradient(180deg,#061428,#071b2f);opacity:1;pointer-events:none}.lp-cta-title{position:relative;z-index:1;font-size:clamp(26px,3.2vw,42px);font-weight:1000;letter-spacing:-.7px}.lp-cta-sub{position:relative;z-index:1;margin:12px auto 20px;max-width:820px;color:#e2e8f0d1;line-height:1.75;font-size:16px}.lp-cta .lp-btn-primary{position:relative;z-index:1}.lp-footer{background:#050b18;color:#94a3b8d6;padding:64px 0 0;position:relative}.lp-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#06b6d400,#06b6d473,#10b98159,#06b6d400);opacity:.9}.lp-footer:after{content:"";position:absolute;inset:-220px -220px auto -220px;height:320px;background:radial-gradient(700px 260px at 25% 10%,rgba(6,182,212,.22) 0%,transparent 60%),radial-gradient(700px 260px at 85% 0%,rgba(16,185,129,.18) 0%,transparent 60%);pointer-events:none;opacity:.35}.lp-footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:44px;position:relative;z-index:1}.lp-footer-title{font-weight:1000;letter-spacing:-.4px;font-size:18px;color:#ffffffeb}.lp-footer-desc{margin-top:10px;color:#94a3b8c7;line-height:1.75;max-width:520px}.lp-footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;min-width:0;width:100%}.lp-footer-col-h{font-size:12px;font-weight:950;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f0d1;margin-bottom:10px}.lp-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;align-items:start}.lp-footer-contact,.lp-footer-admin{display:grid;gap:10px}.lp-footer-item{font-size:13px;line-height:1.6;color:#94a3b8bf;word-break:break-word}.lp-footer-link{display:inline-block;font-size:13px;color:#22d3eeeb;text-decoration:none;font-weight:850}.lp-footer-link:hover{text-decoration:underline}.lp-footer-linkbtn{border:none;background:transparent;color:#94a3b8d6;font-size:13px;padding:4px 0;cursor:pointer;text-align:left;font-weight:850;transition:color .15s ease,transform .15s ease}.lp-footer-linkbtn:hover{color:#22d3eef2;transform:translate(2px)}.lp-footer-bottom{border-top:1px solid rgba(148,163,184,.18);padding:16px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#64748be0;position:relative;z-index:1}@media (max-width: 1180px){.lp-preview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.lp-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lp-flow-grid:before,.lp-flow-grid:after{display:none}}@media (max-width: 980px){.lp-nav{display:none}.lp-hamburger{display:block}.lp-hero-inner{grid-template-columns:1fr;gap:22px}.lp-hero-mock{margin:0 auto}.lp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-grid-3{grid-template-columns:1fr}.lp-sensor-grid,.lp-stat-row,.lp-apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-preview-grid{grid-template-columns:1fr}.lp-footer-inner{flex-direction:column}.lp-footer-cols{min-width:0;grid-template-columns:1fr 1fr}}@media (max-width: 720px){.lp-container,.lp-header-inner{padding:0 16px}.lp-hero{padding:34px 0 56px}.lp-hero-panel{padding:18px 16px}.lp-hero-streak{opacity:.35}.lp-hero-cta{flex-direction:column}.lp-btn-primary,.lp-btn-ghost,.lp-chip{width:100%}.lp-mock-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-mock-mid{grid-template-columns:1fr}.lp-bars{grid-template-columns:repeat(6,minmax(0,1fr))}.lp-grid-4,.lp-sensor-grid,.lp-apps-grid,.lp-footer-cols,.lp-footer-links{grid-template-columns:1fr}.lp-footer-bottom{flex-direction:column;text-align:center}}@media (max-width: 520px){.lp-hero-visual{display:flex;flex-direction:column;gap:10px}.lp-float-chip{position:static;width:100%}.lp-hero-orb,.lp-hero-scan{display:none}}@media (max-width: 768px){.lp-footer-cols{grid-template-columns:1fr;gap:28px}.lp-footer-links{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.lp-root .lp-footer-linkbtn{width:auto;justify-content:flex-start;padding:4px 0;border-radius:0;background:transparent;color:#94a3b8d6;font-weight:850}.lp-root .lp-footer-linkbtn:hover{background:transparent;color:#22d3eef2}.lp-cta{padding:36px 20px 40px}.lp-cta .lp-btn-primary{margin-bottom:4px}.lp-hero-inner,.lp-hero-mock,.lp-hero-panel,.lp-preview,.lp-preview-mock{max-width:100%}}@media (max-width: 480px){.lp-header-inner{padding:0 12px;gap:8px;min-width:0;width:100%}.lp-logo{min-width:0;flex:1 1 auto;overflow:hidden}.lp-logo-text{font-size:13px;max-width:9.5rem;overflow:hidden;text-overflow:ellipsis}.lp-header-actions{flex-shrink:0;margin-left:auto;gap:6px}.lp-btn-login{padding:7px 10px;font-size:11.5px}.lp-hamburger{flex-shrink:0;padding:6px}.lp-container{padding:0 14px}.lp-hero{min-height:auto;padding:28px 0 44px;align-items:flex-start}.lp-hero-title{font-size:clamp(22px,6.5vw,32px);line-height:1.08;letter-spacing:-.5px}.lp-hero-sub{font-size:14px;max-width:100%}.lp-hero-badge{font-size:11px;padding:7px 12px}.lp-logo-mark{width:34px;height:34px;border-radius:12px}}.login-shell{position:relative;min-height:100vh;padding:22px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 1px 1px,rgba(15,118,110,.12) 1px,transparent 1px),radial-gradient(circle at 1px 1px,rgba(17,24,39,.05) 1px,transparent 1px);background-size:26px 26px,52px 52px;background-position:0 0,8px 8px;opacity:.6}.login-bg-orb{position:absolute;width:520px;height:520px;border-radius:999px;filter:blur(42px);opacity:.55;transform:translateZ(0)}.login-bg-orb--teal{left:-220px;top:-220px;background:radial-gradient(circle at 30% 30%,#14b8a638,#14b8a600)}.login-bg-orb--emerald{right:-240px;bottom:-240px;background:radial-gradient(circle at 40% 40%,#10b9812e,#10b98100)}.login-bg-scan{position:absolute;left:-10%;right:-10%;top:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.35),transparent);opacity:.35;animation:login-scan 7.5s ease-in-out infinite}.login-layout{position:relative;width:min(1240px,100%);display:grid;grid-template-areas:"visual form";grid-template-columns:1.18fr .82fr;gap:0;align-items:stretch;z-index:1;border:1.5px solid #dce7ef;border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 28px 70px #0f172a1f;min-height:520px}.login-layout>*{position:relative;z-index:1}.login-visual{grid-area:visual;position:relative;border:0;border-radius:0;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:none;padding:26px 26px 22px;overflow:hidden}.login-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(15,118,110,.06),transparent 40%),radial-gradient(800px 360px at 25% 15%,rgba(20,184,166,.13),transparent 60%),radial-gradient(700px 320px at 85% 80%,rgba(16,185,129,.12),transparent 58%),repeating-linear-gradient(90deg,rgba(15,118,110,.05) 0px,rgba(15,118,110,.05) 1px,transparent 1px,transparent 44px),repeating-linear-gradient(0deg,rgba(17,24,39,.035) 0px,rgba(17,24,39,.035) 1px,transparent 1px,transparent 44px);pointer-events:none}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 18% 64%,rgba(20,184,166,.22) 0 2px,transparent 3px),radial-gradient(circle at 46% 28%,rgba(16,185,129,.2) 0 2px,transparent 3px),radial-gradient(circle at 78% 58%,rgba(20,184,166,.22) 0 2px,transparent 3px),linear-gradient(90deg,transparent 0 22%,rgba(20,184,166,.1) 22% 23%,transparent 23% 100%),linear-gradient(0deg,transparent 0 38%,rgba(16,185,129,.08) 38% 39%,transparent 39% 100%);opacity:.9;mix-blend-mode:multiply;pointer-events:none;animation:login-board-shift 9s ease-in-out infinite}.login-visual{box-shadow:inset 0 1px #ffffffd9,inset 0 0 0 1px #0f172a09}.login-layout:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:24px;pointer-events:none;border:1px dashed rgba(15,118,110,.18);box-shadow:inset 0 0 0 1px #0f172a0a,0 1px #fffc;opacity:.9}.login-layout:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1200px 520px at 20% 30%,rgba(20,184,166,.08),transparent 60%),radial-gradient(900px 460px at 90% 80%,rgba(16,185,129,.06),transparent 58%);opacity:.9}.login-visual>*{position:relative;z-index:1}.login-brand{position:relative;display:flex;gap:14px;align-items:center}.login-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;background:#0f766e;box-shadow:0 10px 24px #0f766e38}.login-brand-text h1{margin:0;font-size:20px;line-height:1.1;letter-spacing:-.3px;font-weight:900;color:#0f172a}.login-brand-text p{margin:4px 0 0;font-size:12.5px;font-weight:600;color:#475569}.login-tagline{position:relative;margin:14px 0 0;color:#111827;font-weight:650;line-height:1.55;font-size:14px;max-width:44ch}.login-badges{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.login-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border:1px solid #dce7ef;background:#fff;color:#0f172a}.login-badge-dot{width:8px;height:8px;border-radius:999px;background:#10b981;box-shadow:0 0 0 4px #10b9812e;animation:login-pulse 2.6s ease-in-out infinite}.login-badge--online{border-color:#a7f3d0;background:#f0fdf4}.login-badge--teal{border-color:#ccfbf1;background:#f0fdfa;color:#0f766e}.login-badge--emerald{border-color:#d1fae5;background:#f0fdf4;color:#065f46}.login-badge--navy{border-color:#dce7ef;background:#f8fafc;color:#111827}.login-panel{position:relative;margin-top:14px;border-radius:18px;border:1px solid #dce7ef;background:linear-gradient(180deg,#fff,#f8fafc),repeating-linear-gradient(90deg,rgba(15,118,110,.05) 0 1px,transparent 1px 34px),repeating-linear-gradient(0deg,rgba(17,24,39,.03) 0 1px,transparent 1px 34px);overflow:hidden}.login-panel:before{content:"";position:absolute;left:-20%;right:-20%;top:-40px;height:80px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.18),rgba(16,185,129,.12),transparent);opacity:.75;transform:translateY(0);animation:login-panel-scan 4.6s ease-in-out infinite;pointer-events:none}.login-panel:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#0f766e,#14b8a6,#10b981);opacity:.9}.login-panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px}.login-panel-title{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0f172a}.login-panel-pill{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#0f766e;background:#ccfbf1;border:1px solid #7dd3c7;padding:4px 10px;border-radius:999px}.login-panel-body{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 16px 14px}.login-mini-metric{border:1px solid #eef2f7;background:#f8fafc;border-radius:14px;padding:10px 10px 9px}.login-mini-label{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#475569}.login-mini-val{margin-top:6px;font-size:16px;font-weight:900;color:#0f172a}.login-spark{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;padding:0 16px 16px;align-items:end}.login-spark span{height:10px;border-radius:999px;background:#14b8a659;animation:login-spark 2.8s ease-in-out infinite}.login-spark span:nth-child(3n){background:#10b9814d}.login-spark span:nth-child(2){animation-delay:-.2s;height:18px}.login-spark span:nth-child(3){animation-delay:-.4s;height:14px}.login-spark span:nth-child(4){animation-delay:-.15s;height:22px}.login-spark span:nth-child(5){animation-delay:-.33s;height:12px}.login-spark span:nth-child(6){animation-delay:-.55s;height:20px}.login-spark span:nth-child(7){animation-delay:-.42s;height:14px}.login-spark span:nth-child(8){animation-delay:-.25s;height:24px}.login-spark span:nth-child(9){animation-delay:-.36s;height:15px}.login-spark span:nth-child(10){animation-delay:-.18s;height:20px}.login-spark span:nth-child(11){animation-delay:-.48s;height:13px}.login-spark span:nth-child(12){animation-delay:-.12s;height:18px}.login-decor{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.login-node{position:absolute;width:10px;height:10px;border-radius:999px;background:#14b8a6;box-shadow:0 0 0 6px #14b8a624;animation:login-pulse 2.9s ease-in-out infinite}.login-node--1{left:14%;top:60%;animation-delay:-.6s}.login-node--2{left:46%;top:28%;animation-delay:-1.1s;background:#10b981;box-shadow:0 0 0 6px #10b98124}.login-node--3{left:78%;top:58%;animation-delay:-.2s}.login-trace{position:absolute;height:2px;opacity:.65;background:repeating-linear-gradient(90deg,#14b8a600 0,#14b8a600 14px,#14b8a694 14px,#14b8a694 26px);background-size:52px 2px;animation:login-dash 3.2s linear infinite}.login-trace--1{left:8%;right:32%;top:58%}.login-trace--2{left:34%;right:8%;top:30%;animation-delay:-1.6s;background:repeating-linear-gradient(90deg,#10b98100 0,#10b98100 14px,#10b98185 14px,#10b98185 26px)}.login-chip{position:absolute;padding:8px 10px;border-radius:14px;border:1px solid #dce7ef;background:#fff;color:#111827;font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 24px #0f172a14;animation:login-float 4.8s ease-in-out infinite}.login-chip--1{left:18%;top:78%;animation-delay:-1.5s}.login-chip--3{left:78%;top:76%;animation-delay:-.8s}.login-chip--4{left:70%;top:44%;animation-delay:-.2s;border-color:#0f766e2e;background:#fff;box-shadow:0 12px 30px #0f172a17}.login-sweep{position:absolute;left:6%;right:10%;top:68%;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(20,184,166,.45),rgba(16,185,129,.35),transparent);opacity:.55;filter:blur(.1px);animation:login-sweep 3.9s ease-in-out infinite}.login-screw{position:absolute;width:14px;height:14px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#fff,#f1f5f9 55%,#e2e8f0);border:1px solid rgba(15,23,42,.1);box-shadow:0 8px 18px #0f172a1a,inset 0 1px #fffc;opacity:.95}.login-screw:after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1px;background:#0f172a59;transform:translateY(-50%);border-radius:999px}.login-screw--tl{left:12px;top:12px}.login-screw--tr{right:12px;top:12px}.login-screw--bl{left:12px;bottom:12px}.login-screw--br{right:12px;bottom:12px}.login-form{grid-area:form;display:grid;align-items:center;background:#fff;border-left:1px solid #eef2f7;padding:26px 28px;justify-items:center}.login-form-inner{width:100%;max-width:460px;display:grid;gap:14px;justify-items:start}.login-back{border:1px solid rgba(15,23,42,.1);background:linear-gradient(135deg,#ffffffeb,#f0fdfaeb);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900;color:#0f172ad1;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 10px 24px #0f766e1a;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.login-back:hover{transform:translateY(-1px);border-color:#14b8a64d;background:linear-gradient(135deg,#fffffff5,#ccfbf1eb);box-shadow:0 14px 32px #0f766e24}.login-card{position:relative;width:100%;max-width:460px;margin:0 auto;border-radius:26px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 24px 54px #0f172a1f,0 2px 10px #0f172a0d}.login-card:before{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:999px;background:linear-gradient(90deg,#0f766e,#14b8a6,#10b981);opacity:.9;pointer-events:none}.login-card-head{display:flex;gap:14px;align-items:flex-start}.login-card .auth-icon-wrap{box-shadow:0 12px 30px #0f766e1f;position:relative;overflow:hidden}.login-card .auth-icon-wrap:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 30% 30%,rgba(20,184,166,.2),transparent 60%);animation:login-lock-glow 4.8s ease-in-out infinite;pointer-events:none}.login-input{position:relative}.login-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#1118278c;pointer-events:none;display:inline-flex;align-items:center}.login-input input{padding-left:40px;height:44px;border-color:#dce7ef;background:#fff}.login-input input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a624}.login-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:2px}.login-checkbox input{width:16px;height:16px;accent-color:#0f766e}.login-forgot{font-size:13px;font-weight:700;color:#0f766e;text-decoration:none;padding:6px 8px;border-radius:10px}.login-forgot:hover{background:#f0fdfa;color:#0d5f58}.login-btn{background:#0f766e;box-shadow:0 12px 24px #0f766e38}.login-btn:hover{background:#0d5f58;box-shadow:0 14px 28px #0f766e42}.login-footnote{margin-top:8px;text-align:center;font-size:12.5px;color:#475569;font-weight:600}.login-card:hover{transform:translateY(-1px);box-shadow:0 28px 62px #0f172a24,0 2px 12px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease}.login-input input{height:46px}.login-btn{box-shadow:0 14px 30px #0f766e3d}.login-btn:hover{box-shadow:0 18px 36px #0f766e47}.login-footnote{display:inline-flex;justify-content:center;align-items:center;gap:8px}.login-footnote:before{content:"";width:7px;height:7px;border-radius:999px;background:#10b981;box-shadow:0 0 0 4px #10b98129;animation:login-pulse 2.4s ease-in-out infinite}@media (max-width: 980px){.login-layout{grid-template-columns:1fr;grid-template-areas:"form" "visual";max-width:720px}.login-visual{padding:22px}.login-form{border-left:0;border-top:1px solid #eef2f7;padding:22px 22px 26px}.login-panel-body{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.login-shell{padding:18px}.login-form-inner{max-width:100%}.login-badges{gap:6px}.login-badge{font-size:10px;padding:6px 9px}.login-decor,.login-bg-scan{display:none}}@media (prefers-reduced-motion: reduce){.login-bg-scan,.login-badge-dot,.login-spark span,.login-node,.login-trace,.login-chip,.login-visual:after,.login-panel:before,.login-card .auth-icon-wrap:after{animation:none!important}.login-sweep,.login-layout:before,.login-layout:after,.login-footnote:before{animation:none!important}}@keyframes login-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes login-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.85}}@keyframes login-trace{0%,to{opacity:.25;transform:translate(0)}50%{opacity:.65;transform:translate(12px)}}@keyframes login-scan{0%,to{transform:translateY(0);opacity:.2}50%{transform:translateY(180px);opacity:.4}}@keyframes login-spark{0%,to{transform:scaleY(.8);opacity:.65}50%{transform:scaleY(1.6);opacity:1}}@keyframes login-dash{0%{background-position:0 0}to{background-position:104px 0}}@keyframes login-panel-scan{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(120px);opacity:.72}}@keyframes login-board-shift{0%,to{transform:translateY(0);opacity:.75}50%{transform:translateY(8px);opacity:.95}}@keyframes login-lock-glow{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(10px);opacity:.95}}@keyframes login-sweep{0%,to{transform:translate(-8px);opacity:.4}50%{transform:translate(18px);opacity:.72}}:root{--primary: #0f766e;--primary-dark: #0d5f58;--primary-light: #14b8a6;--secondary: #10b981;--accent: #06b6d4;--bg: #ffffff;--bg-soft: #f1f5f9;--panel: #ffffff;--panel-strong: #ffffff;--line: #e2e8f0;--line-soft: #f1f5f9;--line-teal: #ccfbf1;--text: #0f172a;--heading: #0f1f44;--muted: #64748b;--blue: #0f766e;--blue-dark: #0d5f58;--blue-soft: #f0fdfa;--blue-mid: #ccfbf1;--green: #059669;--green-soft: #d1fae5;--green-text: #065f46;--red-soft: #fee2e2;--red-text: #991b1b;--purple-soft: #f3e8ff;--purple-text: #7c3aed;--cyan-soft: #cffafe;--cyan-text: #0e7490;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 32px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.05);--radius-sm: 10px;--radius: 16px;--radius-lg: 20px;--radius-xl: 24px;--sidebar-w: 240px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}body{font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button,input,select{font:inherit}button{border:none;background:var(--primary);color:#fff;padding:10px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px;transition:background .15s ease,box-shadow .15s ease,transform .15s ease,opacity .15s ease;box-shadow:0 1px 3px #0f766e33;display:inline-flex;align-items:center;gap:6px}button:hover{background:var(--primary-dark);box-shadow:0 4px 12px #0f766e40;transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}button:active:not(:disabled){transform:translateY(0) scale(.98);transition:transform .08s ease}.ghost-btn{background:#fff;color:var(--primary);border:1.5px solid var(--line-teal);box-shadow:var(--shadow-sm)}.ghost-btn:hover{background:#f0fdfa;border-color:var(--primary-light);box-shadow:0 2px 8px #0f766e1a}input,select{width:100%;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:10px 14px;color:var(--text);outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-size:14px}input:focus,select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #0f766e14;background:#fff}input::placeholder{color:#94a3b8}.admin-shell{min-height:100vh;overflow-x:hidden;width:100%;max-width:100%}.admin-layout{min-height:100vh;position:relative;width:100%;max-width:100%;background:#f8fafc;padding-left:var(--sidebar-w)}.admin-sidebar{width:var(--sidebar-w);height:100vh;display:flex;flex-direction:column;padding:18px 16px;background:#ffffffdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-right:1px solid var(--line);box-shadow:0 18px 40px #0f172a12;overflow:hidden}.admin-sidebar--desktop{position:fixed;top:0;left:0;z-index:60}.admin-sidebar--drawer{position:absolute;left:0;top:0;height:100%;width:min(320px,calc(100vw - 64px));border-right:1px solid var(--line);box-shadow:0 24px 54px #0f172a2e}.admin-main{width:100%;max-width:100%;min-height:100vh;display:flex;flex-direction:column;min-width:0}.admin-sidebar-brand{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#ffffffeb;border:1px solid #dce7ef;box-shadow:var(--shadow-sm)}.admin-brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#0f172a;flex-shrink:0}.admin-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-brand-title{font-size:15px;font-weight:900;color:var(--heading);letter-spacing:-.2px;line-height:1.15;white-space:normal}.admin-brand-sub{font-size:11.5px;font-weight:700;color:#64748b;white-space:normal}.admin-sidebar-surface{margin-top:14px;flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;border-radius:16px;background:#ffffffeb;border:1px solid #dce7ef;box-shadow:var(--shadow-sm)}.admin-sidebar-top{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.admin-status-pill{margin-top:0;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:#f0fdfa;border:1.5px solid #bfe8e2;color:#0f766e;font-size:12px;font-weight:800;box-shadow:var(--shadow-sm)}.admin-status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b98124;animation:pulseDot 2s ease-in-out infinite;flex-shrink:0}.admin-nav{display:flex;flex-direction:column;gap:8px;margin-top:12px}.admin-nav-btn{width:100%;display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:11px 12px;border-radius:14px;background:transparent;color:#0f172a;border:1px solid transparent;box-shadow:none;font-size:13px;font-weight:800;letter-spacing:-.1px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;transform:none;min-height:42px}.admin-nav-btn:hover{background:#f0fdfa;border-color:var(--line-teal);color:var(--primary);box-shadow:none;transform:none}.admin-nav-btn:active:not(:disabled){transform:none}.admin-nav-btn.is-active{background:#14b8a61a;border-color:#14b8a659;color:var(--primary-dark);box-shadow:inset 3px 0 #14b8a6d9}.admin-nav-btn.is-active:hover{background:#14b8a61f;color:var(--primary-dark);border-color:#14b8a673}.admin-nav-btn:disabled{opacity:.55;cursor:not-allowed;background:transparent}.admin-nav-ico{width:20px;height:20px;display:grid;place-items:center;color:currentColor;flex-shrink:0}.admin-nav-label{flex:1;min-width:0;text-align:left}.admin-sidebar-footer{margin-top:12px;display:flex;flex-direction:column;gap:8px}.admin-nav-btn--refresh{background:#ffffffd9;border-color:#dce7ef}.admin-nav-btn--refresh:hover{background:#fff;border-color:#b7e7df;color:var(--primary)}.admin-nav-btn--logout{background:#fff5f5;border-color:#fecaca;color:#b91c1c}.admin-nav-btn--logout:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.admin-mobile-topbar{display:none;position:sticky;top:0;z-index:40;background:#ffffffeb;border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 12px;gap:10px;align-items:center}.admin-menu-btn{background:#fff;color:#0f172a;border:1.5px solid #dce7ef;box-shadow:var(--shadow-sm);padding:9px 10px;border-radius:12px}.admin-menu-btn:hover{background:#f8fafc;color:var(--primary);border-color:#b7e7df;transform:none;box-shadow:var(--shadow-sm)}.admin-mobile-title{font-size:13px;font-weight:900;color:#0f172a;letter-spacing:-.2px}.admin-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none}.admin-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a6b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .18s ease}.admin-drawer .admin-sidebar--drawer{transform:translate(-105%);transition:transform .22s cubic-bezier(.22,1,.36,1)}.admin-drawer.is-open{pointer-events:auto}.admin-drawer.is-open .admin-drawer-backdrop{opacity:1}.admin-drawer.is-open .admin-sidebar--drawer{transform:translate(0)}.admin-drawer-head{display:none;margin-bottom:10px}.admin-drawer-close{background:#fff;color:#0f172a;border:1.5px solid #dce7ef;box-shadow:var(--shadow-sm);padding:9px 10px;border-radius:12px}.admin-drawer-close:hover{background:#f8fafc;color:var(--primary);border-color:#b7e7df;transform:none;box-shadow:var(--shadow-sm)}.admin-layout .admin-content{max-width:1500px}.admin-powered-by{margin-top:auto;padding:14px 0 18px;text-align:center;color:#0f172a8c;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:none}.topbar{position:sticky;top:0;z-index:20;width:100%;max-width:100%;background:#fffffff7;border-bottom:1px solid #dbe6f3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px #e2e8f0,0 8px 24px #0f1f440f;overflow:hidden}.dash-container--bar{max-width:1440px;width:100%;margin:0 auto;padding:10px 24px 8px;display:flex;flex-direction:column;gap:8px;box-sizing:border-box}.topbar-row{display:flex;align-items:center;width:100%;max-width:100%;min-width:0}.topbar-row--brand{justify-content:space-between;gap:12px}.topbar-row--nav{gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;max-width:100%}.topbar-row--nav::-webkit-scrollbar{display:none}.topbar-brand{display:flex;align-items:center;gap:10px;flex-shrink:1;min-width:0;overflow:hidden}.brand-mark{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--primary);box-shadow:0 2px 8px #0f766e40;flex-shrink:0}.brand-text h1{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--heading);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text p{margin:2px 0 0;font-size:11.5px;color:#475569;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:600;cursor:pointer;border:1.5px solid transparent;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap;flex-shrink:0}.nav-pill:hover{transform:translateY(-1px)}.nav-pill:active{transform:translateY(0) scale(.97);transition:transform .08s ease}.nav-pill--blue{background:var(--primary);color:#fff;box-shadow:0 3px 10px #0f766e3d}.nav-pill--blue:hover{background:var(--primary-dark);box-shadow:0 6px 16px #0f766e4d}.nav-pill--indigo{background:#fff;color:#0f766e;border-color:#bfe8e2}.nav-pill--indigo:hover{background:#f0fdfa;border-color:var(--primary-light)}.nav-pill--ghost{background:#fff;color:#334155;border-color:#d7e2ee}.nav-pill--ghost:hover{background:#f8fafc;color:var(--primary);border-color:#b7e7df}.nav-pill--logout{background:#fff5f5;color:#b91c1c;border-color:#fecaca;margin-left:4px}.nav-pill--logout:hover{background:#fee2e2;border-color:#fca5a5}.topbar-chip--api{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;background:#f0fdfa;color:#0f766e;border:1.5px solid #bfe8e2;font-size:12px;font-weight:600;flex-shrink:0}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chip-dot--green{background:#10b981;box-shadow:0 0 0 2px #10b98140;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{box-shadow:0 0 0 2px #10b98140}50%{box-shadow:0 0 0 4px #10b9811a}}.sys-status-capsule{display:flex;align-items:center;background:#fff;border:1.5px solid #dce7ef;border-radius:10px;padding:0;box-shadow:var(--shadow-sm);flex-shrink:0;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease;animation:capsuleFadeIn .4s ease both;animation-delay:.15s}@keyframes capsuleFadeIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.sys-status-capsule:hover{box-shadow:var(--shadow);border-color:#b7e7df}.sys-status-item{display:flex;align-items:center;gap:8px;padding:8px 14px;transition:background .15s ease}.sys-status-item:hover{background:#f8fafc}.sys-status-sep{width:1px;height:24px;background:var(--line);flex-shrink:0}.sys-status-icon{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0}.sys-status-icon--clock{background:#f0fdfa;color:var(--primary);border:1px solid var(--line-teal)}.sys-status-icon--device{background:#f0fdfa;color:#0f766e;border:1px solid #bfe8e2}.sys-status-icon--online{background:#f0fdf4;border:1px solid #a7f3d0;display:grid;place-items:center}.sys-online-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 2px #10b98140;animation:sysOnlinePulse 2.4s ease-in-out infinite}@keyframes sysOnlinePulse{0%,to{box-shadow:0 0 0 2px #10b98140}50%{box-shadow:0 0 0 4px #10b9811a}}.sys-status-body{display:flex;flex-direction:column;gap:1px;min-width:0}.sys-status-label{font-size:9px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.08em;line-height:1;white-space:nowrap}.sys-status-value{font-size:13px;font-weight:800;color:var(--heading);line-height:1.2;white-space:nowrap}.sys-status-value--green{color:#059669}.sys-status-mobile{display:none}.sys-status-mobile-row{display:flex;gap:8px;width:100%}.sys-status-mobile-card{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1.5px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);min-width:0}.sys-status-mobile-icon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;flex-shrink:0}.sys-status-mobile-body{display:flex;flex-direction:column;gap:1px;min-width:0;overflow:hidden}.sys-status-mobile-label{font-size:8.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;line-height:1}.sys-status-mobile-value{font-size:12px;font-weight:800;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sys-status-mobile-value--green{color:#059669}.admin-content{width:100%;max-width:1500px;margin:0 auto;padding:24px 32px 52px;box-sizing:border-box;overflow-x:hidden;position:relative}.dash-container{max-width:1440px;margin:0 auto;width:100%}.dash-section{margin-bottom:20px}.dash-section-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#334155;margin:24px 0 10px;display:flex;align-items:center;gap:10px}.dash-section-label:after{content:"";flex:1;height:1px;background:#dce7ef}.hero-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;background:#fff;border-radius:var(--radius-xl);padding:28px 30px;width:100%;box-sizing:border-box;border:1px solid #dce7ef;box-shadow:0 14px 30px #11182714;margin-bottom:24px;animation:heroPanelIn .6s cubic-bezier(.22,1,.36,1) forwards}.hero-panel:before{content:"";position:absolute;left:18px;top:18px;width:9px;height:9px;border-radius:999px;background:#0f766e6b;box-shadow:0 0 0 6px #0f766e1a;opacity:.95}.hero-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 12% 18%,rgba(20,184,166,.08) 0 2px,transparent 2px),radial-gradient(circle at 88% 76%,rgba(16,185,129,.08) 0 2px,transparent 2px);pointer-events:none}@keyframes heroPanelIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-grid-overlay,.hero-blob{display:none}@keyframes blobDrift1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-10px,6px) scale(1.03)}66%{transform:translate(6px,-8px) scale(.98)}}@keyframes blobDrift2{0%,to{transform:translate(0)}50%{transform:translate(8px,-12px)}}@keyframes blobDrift3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-5px,8px) scale(1.06)}}.hero-copy{position:relative;z-index:2}.hero-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:10.5px;font-weight:700;margin-bottom:16px;letter-spacing:.06em;text-transform:uppercase}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:pulseDot 2s ease-in-out infinite}.hero-copy h2{margin:0 0 10px;font-size:31px;line-height:1.12;font-weight:800;letter-spacing:-.4px;max-width:100%;color:var(--heading)}.hero-copy p{margin:0;color:#475569;font-size:13.5px;line-height:1.62;max-width:95%}.hero-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.meta-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;background:#f8fafc;border:1px solid #dbe6f3;color:#334155}.meta-pill--live{background:#ecfdf5;border-color:#86efac;color:#065f46}.meta-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:pulseDot 1.5s ease-in-out infinite}.hero-vis{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:240px}.hero-glow-ring{position:absolute;border-radius:50%;pointer-events:none}.hero-glow-ring--1{width:240px;height:240px;background:radial-gradient(circle,rgba(15,118,110,.08) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:glowPulse 4s ease-in-out infinite}.hero-glow-ring--2{width:170px;height:170px;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:glowPulse 4s ease-in-out infinite 1s}@keyframes glowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}.hero-glass-card{position:relative;width:100%;max-width:320px;background:#f8fbff;border:1px solid #d3e1ef;border-radius:18px;box-shadow:0 12px 24px #0f1f441a,inset 0 1px #fff;overflow:hidden;animation:cardFloat 6s ease-in-out infinite}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-glass-header{display:flex;align-items:center;gap:8px;padding:9px 13px;background:#eef6ff;border-bottom:1px solid #d3e1ef}.hero-glass-dots{display:flex;gap:5px}.hgd{width:7px;height:7px;border-radius:50%}.hgd--r{background:#ff6464a6}.hgd--y{background:#ffc832a6}.hgd--g{background:#50dc78a6}.hero-glass-title{flex:1;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#334155;text-align:center}.hero-glass-live{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:800;letter-spacing:.1em;color:#10b981}.hero-live-pulse{width:5px;height:5px;border-radius:50%;background:#10b981;animation:pulseDot 1.5s ease-in-out infinite}.hero-glass-body{display:flex;align-items:center;gap:12px;padding:12px 14px 8px}.hero-ring-wrap{position:relative;width:68px;height:68px;flex-shrink:0}.hero-ring-svg{width:68px;height:68px;transform:rotate(-90deg)}.hero-ring-track{fill:none;stroke:#ffffff1f;stroke-width:5}.hero-ring-fill{fill:none;stroke:url(#ringGrad);stroke-width:5;stroke-linecap:round;stroke-dasharray:226;stroke-dashoffset:56;animation:ringFill 2s cubic-bezier(.22,1,.36,1) forwards .5s}@keyframes ringFill{0%{stroke-dashoffset:226}to{stroke-dashoffset:56}}.hero-ring-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.hero-ring-value{font-size:17px;font-weight:900;color:#fff;line-height:1}.hero-ring-value{color:var(--heading)}.hero-ring-label{font-size:8px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.hero-waveform{display:flex;align-items:center;gap:3px;flex:1;height:44px}.hero-wave-bar{flex:1;border-radius:2px;background:#0f766e59;min-height:4px;animation:waveAnim 1.6s ease-in-out infinite alternate}@keyframes waveAnim{0%{transform:scaleY(.4);opacity:.4}to{transform:scaleY(1);opacity:.8}}.hero-signal-svg{display:block;width:100%;height:32px;padding:0 14px;box-sizing:border-box}.hero-signal-line{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.hero-signal-line--1{stroke:#10b9818c;stroke-dasharray:400;stroke-dashoffset:400;animation:signalDraw 2s ease forwards .8s}.hero-signal-line--2{stroke:#0f766e57;stroke-dasharray:400;stroke-dashoffset:400;animation:signalDraw 2s ease forwards 1.1s}@keyframes signalDraw{to{stroke-dashoffset:0}}.hero-status-row{display:flex;align-items:center;padding:9px 13px;background:#edf5ff;border-top:1px solid #d3e1ef;gap:0}.hero-status-mini{display:flex;align-items:center;gap:5px;flex:1;padding:0 7px;color:#334155}.hero-status-mini:first-child{padding-left:0}.hero-status-mini:last-child{padding-right:0}.hero-status-mini-sep{width:1px;height:20px;background:#d3e1ef;flex-shrink:0}.hero-status-mini-label{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b;line-height:1}.hero-status-mini-val{font-size:12px;font-weight:800;color:var(--heading);line-height:1.2}.hero-status-mini-val--green{color:#10b981}.hero-status-mini-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:pulseDot 2s ease-in-out infinite;flex-shrink:0}.hero-sensor-chip{position:absolute;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#fff;border:1px solid #dbe6f3;font-size:10.5px;font-weight:600;color:#334155;box-shadow:0 6px 14px #0f1f441a;animation:chipFloat 5s ease-in-out infinite;white-space:nowrap;z-index:3}.hero-sensor-chip:nth-child(3){top:-8px;left:-10px;animation-delay:0s}.hero-sensor-chip:nth-child(4){top:10px;right:-14px;animation-delay:.5s}.hero-sensor-chip:nth-child(5){bottom:60px;left:-16px;animation-delay:1s}.hero-sensor-chip:nth-child(6){bottom:20px;right:-10px;animation-delay:1.5s}.hero-sensor-chip:nth-child(7){animation:chipFloat5 5s ease-in-out infinite 2s;top:50%;left:-20px}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes chipFloat5{0%,to{transform:translateY(calc(-50% + 0px))}50%{transform:translateY(calc(-50% - 4px))}}.hero-chip-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.hero-chip-label{font-size:9.5px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.hero-chip-value{font-size:11px;font-weight:800;color:#0f766e}.hero-chip-unit{font-size:8.5px;color:#94a3b8;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:24px;width:100%}.stat-card{background:#fff;border:1.5px solid #dce7ef;border-radius:var(--radius-lg);padding:20px 18px 16px;box-shadow:0 9px 20px #0f172a14;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden;animation:statCardIn .5s cubic-bezier(.22,1,.36,1) both;min-width:0;box-sizing:border-box}.stat-card:before{content:"";position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:999px;background:#0f766e73;box-shadow:0 0 0 6px #0f766e1a;opacity:.9}.stats-grid .stat-card:nth-child(1){animation-delay:60ms}.stats-grid .stat-card:nth-child(2){animation-delay:.11s}.stats-grid .stat-card:nth-child(3){animation-delay:.16s}.stats-grid .stat-card:nth-child(4){animation-delay:.21s}.stats-grid .stat-card:nth-child(5){animation-delay:.26s}@keyframes statCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 30px #0f172a24;border-color:#b9dbe8}.stat-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.stat-card-icon-wrap{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:#f8fafc;border:1px solid #dce7ef;box-shadow:inset 0 1px #ffffffe6}.tone-green .stat-card-icon-wrap,.tone-red .stat-card-icon-wrap{background:#f8fafc;border-color:#dce7ef}.stat-dot{display:none;width:7px;height:7px;border-radius:50%;margin-top:4px}.tone-green .stat-dot{display:block;background:#10b981;box-shadow:0 0 0 4px #10b98124}.tone-red .stat-dot{display:block;background:#ef4444;box-shadow:0 0 0 4px #ef44441f;opacity:.9}.stat-card-value{font-size:34px;font-weight:900;line-height:1;margin-bottom:5px;letter-spacing:-1px}.tone-blue .stat-card-value,.tone-purple .stat-card-value,.tone-cyan .stat-card-value,.tone-green .stat-card-value,.tone-red .stat-card-value{color:#0f172a}.tone-red .stat-card-hint{color:#b91c1c;font-weight:600}.stat-card-label{font-size:13px;font-weight:700;color:#111827;margin-bottom:3px}.stat-card-hint{font-size:11.5px;color:#64748b;font-weight:500}.panel{background:#fff;border:1.5px solid #dce7ef;border-radius:var(--radius-xl);padding:24px;box-shadow:0 8px 18px #0f172a12;animation:panelIn .45s cubic-bezier(.22,1,.36,1) both;width:100%;box-sizing:border-box;min-width:0}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panel--form{position:relative}.panel--form:before{content:none}.panel--form:after{content:"";position:absolute;top:14px;right:16px;width:26px;height:26px;border-top:2px solid #b8e6dc;border-right:2px solid #b8e6dc;border-radius:0 8px 0 0;opacity:.8}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.section-header h3{margin:0;font-size:17px;font-weight:700;color:#111827;letter-spacing:-.2px}.section-header p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px;width:100%}.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.panel-actions{margin-top:16px;display:flex;justify-content:flex-end}.panel--form input,.panel--form select,.panel--schedule input,.panel--schedule select{border-color:#dce7ef;background:#fcfefe}.panel--form input:focus,.panel--form select:focus,.panel--schedule input:focus,.panel--schedule select:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61f}.panel--form .panel-actions button,.panel--schedule .schedule-grid button{min-height:38px;font-weight:700;letter-spacing:.01em}.schedule-grid{display:grid;grid-template-columns:1.2fr 1.2fr .7fr .7fr auto;gap:12px;align-items:center;width:100%}.selected-info{margin-top:12px;padding:10px 14px;border-radius:var(--radius-sm);background:#f8fafc;border:1px solid var(--line);color:var(--muted);font-size:13px;word-break:break-all}.selected-info span{font-family:ui-monospace,monospace;color:var(--primary);word-break:break-all}.schedule-prereq{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fbfefd;border:1.5px dashed #b8e6dc;border-radius:var(--radius-sm)}.prereq-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.prereq-icon{font-size:18px;flex-shrink:0}.file-picker-wrap{display:flex;flex-direction:column;gap:6px}.file-picker-label{display:flex;align-items:center;gap:10px;cursor:pointer}.file-picker-label input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.file-picker-btn{flex-shrink:0;padding:9px 14px;border-radius:8px;background:#f0fdfa;color:var(--primary);border:1.5px solid var(--line-teal);font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.file-picker-label:hover .file-picker-btn{background:#ccfbf1;border-color:var(--primary-light);box-shadow:0 4px 10px #0f766e24}.file-selected-name{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch}.table-wrap--devices{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap--devices table{min-width:960px}table{width:100%;border-collapse:collapse}th,td{padding:12px 14px;text-align:left;vertical-align:middle}th{background:#f8fafc;color:var(--muted);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line);white-space:nowrap}th:first-child{border-radius:var(--radius-sm) 0 0 0}th:last-child{border-radius:0 var(--radius-sm) 0 0}td{color:var(--text);font-size:13.5px;border-bottom:1px solid var(--line-soft)}tbody tr:last-child td{border-bottom:none}.td-muted{color:var(--muted);font-size:13px}.th-actions,.td-actions{width:1%;white-space:nowrap;vertical-align:middle;text-align:center}.table-actions{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;vertical-align:middle}.table-actions>button,.table-actions .ghost-btn,.table-actions .ap-stop-btn,.table-actions .btn-danger-sm{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;min-height:32px;padding:0 12px!important;font-size:12px!important;font-weight:700;line-height:1;border-radius:8px;white-space:nowrap;flex-shrink:0;box-shadow:none;transform:none}.table-actions>button:hover,.table-actions .ghost-btn:hover,.table-actions .ap-stop-btn:hover,.table-actions .btn-danger-sm:hover{transform:none}.table-actions>div{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;white-space:nowrap}.btn-table{padding:0 12px;font-size:12px;border-radius:8px;box-shadow:none}.device-name-cell{font-weight:700;font-size:14px;color:var(--text)}.token-cell{font-family:ui-monospace,monospace;font-size:11.5px;color:var(--muted);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700;text-transform:capitalize}.status-badge.online{background:#f0fdf4;color:#065f46;border:1px solid #a7f3d0}.status-badge.offline{background:#fff1f2;color:#991b1b;border:1px solid #fecaca}.device-delete-confirm{display:flex;flex-direction:column;gap:4px;min-width:160px}.device-delete-confirm__label{font-size:12px;font-weight:700;color:var(--red-text)}.device-delete-confirm__hint{font-size:11px;color:var(--muted)}.device-delete-confirm__btns{display:flex;gap:6px;margin-top:4px}.btn-danger-sm{background:#fff1f2;color:#b91c1c;border:1px solid #fecaca;box-shadow:none;padding:5px 10px;font-size:11px;font-weight:700;border-radius:7px}.btn-danger-sm:hover{background:#fee2e2;transform:none;box-shadow:none}.mono{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.device-card-list{display:none}.device-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:16px;margin-bottom:10px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.device-card:hover{box-shadow:var(--shadow)}.device-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.device-card-name{font-size:15px;font-weight:700;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:14px}.device-card-field{display:flex;flex-direction:column;gap:2px}.device-card-field-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.device-card-field-value{font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card-token{font-family:ui-monospace,monospace;font-size:11px;color:var(--muted);background:#f8fafc;padding:2px 6px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.device-card-actions{display:flex;gap:8px;flex-wrap:wrap}.device-card-actions button{flex:1;min-width:0;justify-content:center;padding:9px 12px;font-size:12.5px}.sensor-panel{background:#fff}.sensor-panel{position:relative}.sensor-panel:before{content:none}.sensor-command-center{margin-bottom:20px}.sensor-device-select{min-width:200px;padding:8px 14px;border-radius:8px;border:1.5px solid #b7e7df;background:#f8fffd;color:#134e4a;font-weight:700;font-size:13px;cursor:pointer}.sensor-device-select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #0f766e14}.sensor-device-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;background:#f8fbff;border:1.5px solid #dbe6f3;border-radius:var(--radius-sm);margin-bottom:16px}.sensor-device-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.sensor-device-name{font-weight:700;font-size:15px;color:var(--heading)}.sensor-device-loc{font-size:13px;color:var(--muted)}.sensor-device-token{font-size:11.5px;color:#475569;background:#eef2f7;padding:3px 8px;border-radius:6px;font-family:ui-monospace,monospace}.sensor-device-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sensor-meta-pill{display:flex;align-items:center;gap:6px;font-size:13px}.sensor-meta-label,.sensor-meta-time{font-size:12px;color:var(--muted)}.sensor-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;width:100%}.sensor-live-card{border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:4px;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden;min-width:0;box-sizing:border-box;border:1.5px solid #dbe6f3;background:#fff}.sensor-live-card:hover{transform:translateY(-3px);box-shadow:0 12px 22px #0f1f441a}.sensor-live-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sensor-live-icon{font-size:20px}.sensor-live-badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:capitalize}.sensor-live-value{font-size:28px;font-weight:900;line-height:1;letter-spacing:-.5px}.sensor-live-unit{font-size:12px;font-weight:600;margin-left:3px;opacity:.6}.sensor-live-label{font-size:12px;font-weight:700;color:#475569;margin-top:4px}.sensor-live-time{font-size:11px;color:var(--muted);margin-top:2px;opacity:.6}.sensor-data-status{margin-bottom:12px;font-size:12.5px;font-weight:600}.sensor-data-status--live{color:#059669;display:flex;align-items:center;gap:6px}.sensor-data-status--waiting{color:var(--muted)}.sensor-alerts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.sensor-alert-card{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);flex:1 1 260px;min-width:220px;animation:alertSlideIn .35s ease both;box-shadow:0 6px 14px #0f1f4414}@keyframes alertSlideIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.sensor-empty{padding:18px 14px;text-align:center;color:var(--muted);font-size:13.5px;border:1px dashed #bde8df;border-radius:12px;background:#fbfefd}.sensor-empty--error{color:var(--red-text)}.sensor-refresh-hint{margin-top:10px;font-size:12px;color:var(--muted);text-align:right}.sensor-panel .empty-state{padding:18px 10px 14px;border:1px dashed #b8e6dc;border-radius:14px;background:#fbfefd}.sensor-panel .empty-art{width:118px}.sensor-panel .empty-state h4{margin-top:10px;font-size:15px}.sensor-panel .empty-state p{font-size:12.5px;max-width:460px}.sensor-empty-board{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;border:1px solid #dce7ef;border-radius:14px;padding:14px;background:#f8fcfc}.sensor-empty-board-left h4{margin:8px 0 5px;color:#111827;font-size:16px}.sensor-empty-board-left p{margin:0;color:#475569;font-size:12.5px;line-height:1.5}.sensor-empty-pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0f766e;background:#ccfbf1;border:1px solid #7dd3c7;border-radius:999px;padding:4px 10px}.sensor-empty-chip-row{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.sensor-empty-chip{font-size:10.5px;font-weight:700;color:#334155;background:#fff;border:1px solid #dce7ef;border-radius:999px;padding:4px 9px}.sensor-empty-board-right{background:#fff;border:1px dashed #9fded2;border-radius:12px;padding:10px 12px}.sensor-empty-checklist-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#0f172a;margin-bottom:6px}.sensor-empty-checklist{margin:0;padding-left:16px;color:#475569;font-size:12px;line-height:1.5}.sensor-empty-cta{margin-top:8px;padding:7px 9px;border-radius:8px;border:1px solid #86efac;background:#ecfdf5;color:#065f46;font-size:11px;font-weight:700}.fleet-empty-board{border:1px solid #dce7ef;border-radius:14px;padding:14px;background:#fbfdff}.fleet-empty-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.fleet-empty-head h4{margin:0 0 3px;font-size:15px;color:#111827}.fleet-empty-head p{margin:0;font-size:12.5px;color:#475569}.fleet-empty-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#ccfbf1;border:1px solid #7dd3c7}.fleet-empty-placeholder-card{border:1px dashed #b8d1e2;border-radius:12px;background:#fff;padding:10px 12px}.fleet-empty-placeholder-title{font-size:12px;font-weight:700;color:#0f172a;margin-bottom:7px}.fleet-empty-status-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px;font-size:12px;color:#475569;margin-bottom:6px}.fleet-dot{width:8px;height:8px;border-radius:50%}.fleet-dot--idle{background:#f59e0b}.fleet-dot--ready{background:#10b981}.fleet-status-label{font-weight:700;color:#334155}.fleet-empty-help{margin-top:8px;font-size:11.5px;color:#0f766e;font-weight:600}.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%}.asset-card{border:1.5px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-width:0;box-sizing:border-box}.asset-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-teal)}.asset-preview{height:140px;background:#f8fafc;display:grid;place-items:center;overflow:hidden}.asset-preview img{width:100%;height:100%;object-fit:cover}.asset-preview video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.asset-audio-thumb{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--primary);font-weight:700;font-size:12px}.asset-body{padding:12px}.asset-title{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:8px}.asset-tag{background:#f0fdfa;color:var(--primary);padding:2px 8px;border-radius:999px;font-weight:700;font-size:11px;border:1px solid var(--line-teal)}.asset-link{font-weight:600;font-size:12px;color:var(--primary)}.asset-link:hover{text-decoration:underline}.asset-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.media-delete-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;color:#b91c1c;background:#fff1f2;border:1.5px solid #fecaca;box-shadow:none;cursor:pointer;transition:background .15s,border-color .15s}.media-delete-btn:hover:not(:disabled){background:#fee2e2;border-color:#f87171;transform:none;box-shadow:0 1px 4px #b91c1c1f}.media-delete-btn:disabled{opacity:.55;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;padding:32px 10px;text-align:center}.empty-art{width:180px;max-width:100%}.empty-svg{width:100%;display:block}.empty-state h4{margin:14px 0 6px;font-size:16px;font-weight:700;color:var(--text)}.empty-state p{margin:0;max-width:380px;color:var(--muted);font-size:13.5px;line-height:1.6}.panel--table .empty-state,.panel--schedule .empty-state{padding:18px 10px 14px;border:1px dashed #c6d9eb;border-radius:14px;background:#fbfdff}.panel--table .empty-art,.panel--schedule .empty-art{width:116px}.panel--table .empty-state h4,.panel--schedule .empty-state h4{font-size:15px;margin-top:9px}.panel--table .empty-state p,.panel--schedule .empty-state p{font-size:12.5px}.dash-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;margin-bottom:16px;line-height:1.5;word-break:break-word}.dash-banner--success{background:#f0fdf4;color:#065f46;border:1px solid #a7f3d0;animation:bannerIn .3s ease forwards}.dash-banner--error{background:#fff1f2;color:#991b1b;border:1px solid #fecaca;animation:bannerIn .3s ease forwards}@keyframes bannerIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dash-banner-close{background:none;border:none;box-shadow:none;padding:0 4px;font-size:14px;cursor:pointer;color:inherit;opacity:.55;flex-shrink:0;line-height:1}.dash-banner-close:hover{opacity:1;transform:none;background:none;box-shadow:none}.topbar-row--brand{background:#fff;border:1px solid #dce7ef;border-radius:14px;padding:8px 10px}.brand-mark{width:46px;height:46px;border-radius:12px;background:#0f172a}.brand-text h1{font-size:20px;letter-spacing:-.02em}.topbar-row--nav{background:#f8fafc;border:1px solid #dce7ef;border-radius:12px;padding:6px}.sys-status-capsule{background:#f8fafc}.hero-panel{grid-template-columns:1.02fr .98fr;border-radius:18px}.hero-copy{padding-right:8px}.hero-copy h2{font-size:34px;line-height:1.08}.hero-vis{justify-content:flex-end}.hero-glass-card{background:#0f172a;border:1px solid #223147;box-shadow:0 18px 34px #0f172a52}.hero-glass-header{background:#111827;border-bottom:1px solid #25344b}.hero-glass-title{color:#cbd5e1}.hero-ring-track{stroke:#94a3b838}.hero-ring-fill{stroke:#14b8a6}.hero-ring-value{color:#f8fafc}.hero-ring-label{color:#94a3b8}.hero-wave-bar{background:#14b8a673}.hero-status-row{background:#0b1220;border-top:1px solid #25344b}.hero-status-mini{color:#cbd5e1}.hero-status-mini-val{color:#f8fafc}.hero-status-mini-label{color:#94a3b8}.hero-status-mini-sep{background:#25344b}.hero-sensor-chip{background:#0f172a;color:#cbd5e1;border:1px solid #334155}.hero-chip-label{color:#94a3b8}.hero-chip-unit{color:#64748b}.stats-grid{grid-template-columns:repeat(5,minmax(180px,1fr))}.stat-card{border-radius:14px;padding:18px 16px 14px}.stat-card:after{content:none}.tone-blue:after,.tone-green:after,.tone-red:after,.tone-purple:after,.tone-cyan:after{content:none}.stat-card-meter{display:none;margin-top:0}.stat-card-meter-track{height:4px;width:100%;background:#e2e8f0;border-radius:999px;display:block;overflow:hidden}.stat-card-meter-fill{display:block;height:100%;background:#0f766e;border-radius:999px}.tone-green .stat-card-meter-fill{background:#10b981}.tone-red .stat-card-meter-fill{background:#ef4444}.tone-purple .stat-card-meter-fill,.tone-cyan .stat-card-meter-fill{background:#0f766e}.panel--workflow{padding-top:34px}.workflow-step-badge{position:absolute;top:10px;left:16px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#0f766e;background:#ccfbf1;border:1px solid #7dd3c7;border-radius:999px;padding:4px 10px}.panel--schedule,.panel--table{position:relative}.panel--table:before{content:none}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:440px;background:#fff;border-radius:var(--radius-xl);padding:36px 32px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:18px;border:1.5px solid var(--line)}.auth-card h2{margin:0 0 8px}.auth-icon-wrap{width:64px;height:64px;border-radius:18px;background:#f0fdfa;border:1px solid var(--line-teal);display:grid;place-items:center;color:var(--primary);margin-bottom:4px}.auth-icon-wrap--green{background:#f0fdf4;border-color:#a7f3d0;color:#059669}.auth-heading h2{margin:0 0 6px;font-size:24px;font-weight:800;color:var(--text)}.auth-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.field-group{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:600;color:var(--text)}.auth-btn{width:100%;padding:13px;font-size:15px;border-radius:8px;margin-top:2px}.auth-alert{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;line-height:1.45}.auth-alert--error{background:#fff1f2;color:#991b1b;border:1px solid #fecaca}.auth-alert--success{background:#f0fdf4;color:#065f46;border:1px solid #a7f3d0}.auth-alert-icon{flex-shrink:0;font-style:normal}.auth-footer-link{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600;margin-top:2px}.checkbox-row{display:flex;gap:8px;align-items:center;color:var(--text);font-size:14px}.error-text{color:#dc2626;font-size:14px;font-weight:700}.success-text{color:#059669;font-size:14px}.auth-links{margin-top:4px;display:flex;justify-content:space-between}.otp-input{font-size:22px;font-weight:800;letter-spacing:.25em;text-align:center;padding:16px 14px}.password-wrap{position:relative}.password-wrap input{padding-right:48px}.pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;box-shadow:none;padding:4px;font-size:16px;cursor:pointer;color:var(--muted);line-height:1}.pw-toggle:hover{transform:translateY(-50%);background:none;box-shadow:none}.strength-wrap{display:flex;align-items:center;gap:10px;margin-top:6px}.strength-bar{display:flex;gap:4px;flex:1}.strength-segment{height:4px;flex:1;border-radius:999px;transition:background .3s ease}.strength-label{font-size:12px;font-weight:700;min-width:44px;text-align:right}.match-hint{font-size:12px;font-weight:700;margin-top:4px}.match-hint--ok{color:#059669}.match-hint--err{color:#dc2626}.auth-spinner-row{display:inline-flex;align-items:center;gap:8px}.auth-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.auth-success-card{text-align:center;align-items:center}.auth-progress-bar{width:100%;height:4px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:8px}.auth-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:999px;animation:progressFill 2.2s ease forwards}@keyframes progressFill{0%{width:0%}to{width:100%}}.topbar--ap .brand-mark{color:#fff;font-size:22px;font-weight:900;letter-spacing:-.02em}.ap-header-right{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.ap-live-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:10px;background:#fff;border:1.5px solid #dce7ef;box-shadow:var(--shadow-sm);font-size:12px;font-weight:800;color:#0f172a;white-space:nowrap}.ap-live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b98124;animation:sysOnlinePulse 2.4s ease-in-out infinite}.ap-page{padding-top:14px}.ap-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:center;border-radius:18px;margin-bottom:18px;overflow:hidden;position:relative}.ap-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 14% 16%,rgba(20,184,166,.1) 0 2px,transparent 2px),radial-gradient(circle at 86% 74%,rgba(16,185,129,.08) 0 2px,transparent 2px);opacity:.9}.ap-hero-left{position:relative;z-index:1;padding-right:6px}.ap-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}.ap-hero-badge-dot{width:7px;height:7px;border-radius:50%;background:#10b981;animation:pulseDot 2s ease-in-out infinite}.ap-hero-title{margin:0 0 8px;font-size:26px;font-weight:900;color:#0f172a;letter-spacing:-.5px;line-height:1.12}.ap-hero-sub{margin:0;font-size:13.5px;color:#475569;font-weight:600;line-height:1.65}.ap-hero-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ap-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#fff;border:1.5px solid #dce7ef;color:#334155;font-size:12px;font-weight:700}.ap-chip b{font-weight:900}.ap-chip--live{background:#ecfdf5;border-color:#86efac;color:#065f46}.ap-hero-right{position:relative;z-index:1;display:flex;justify-content:flex-end}.ap-telemetry-card{width:100%;max-width:440px;background:#0f172a;border:1px solid #223147;border-radius:16px;box-shadow:0 18px 34px #0f172a42;padding:14px 14px 12px;overflow:hidden;position:relative}.ap-telemetry-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.18),transparent 45%),radial-gradient(circle at 80% 70%,rgba(16,185,129,.14),transparent 50%);opacity:.65;pointer-events:none}.ap-telemetry-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ap-telemetry-title{font-size:11px;font-weight:900;color:#cbd5e1;text-transform:uppercase;letter-spacing:.08em}.ap-telemetry-pill{font-size:10px;font-weight:900;color:#10b981;letter-spacing:.14em;text-transform:uppercase}.ap-telemetry-bars{position:relative;z-index:1;display:flex;align-items:flex-end;gap:6px;height:56px;padding:10px 4px 4px}.ap-telemetry-bar{flex:1;height:16px;border-radius:6px;background:#14b8a666;transform-origin:bottom;animation:audioBar 1.6s ease-in-out infinite alternate}.ap-telemetry-bar:nth-child(3n){background:#10b98161}.ap-telemetry-bar:nth-child(2n){animation-duration:1.35s}.ap-telemetry-meta{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.18);font-size:12px;color:#cbd5e1;font-weight:600}.ap-telemetry-meta b{color:#f8fafc;font-weight:900}.ap-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.ap-stat-card{min-height:120px}.ap-filter-panel{padding:14px 18px;margin-bottom:18px}.ap-filter-label{font-size:12px;font-weight:900;color:#0f172a;letter-spacing:.08em;text-transform:uppercase}.ap-filter-select{width:auto;min-width:240px;max-width:420px}.ap-filter-clear{padding:8px 14px;font-size:13px}.ap-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.ap-board-head h3{margin:0;font-size:17px;font-weight:800;color:#111827;letter-spacing:-.2px}.ap-board-head p{margin:4px 0 0;color:#475569;font-size:13px;font-weight:600}.ap-board-chips{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ap-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.ap-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ap-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.ap-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ap-cell-title{font-weight:700;font-size:14px;color:var(--text)}.ap-cell-sub{font-size:12px;color:var(--muted);margin-top:3px}.ap-thumb-cell{position:relative;width:56px;height:40px;border-radius:8px;overflow:hidden;background:#f8fafc;flex-shrink:0}.ap-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.ap-media-type-dot{position:absolute;bottom:2px;right:2px;font-size:10px;line-height:1}.ap-stop-btn{background:#fff1f2;color:#b91c1c;border:1px solid #fecaca;box-shadow:none;padding:7px 13px;font-size:12px;font-weight:700;border-radius:8px;white-space:nowrap}.ap-stop-btn:hover{background:#fee2e2;transform:none;box-shadow:none}.ap-stop-confirm-btn{background:#dc2626;color:#fff;box-shadow:0 4px 12px #dc262638;padding:10px 20px;border-radius:8px;font-weight:700}.ap-stop-confirm-btn:hover{background:#b91c1c}.ap-empty-state{display:flex;flex-direction:column;align-items:center;padding:52px 24px;text-align:center}.ap-empty-icon-wrap{width:80px;height:80px;border-radius:20px;background:#f0fdfa;border:1px solid var(--line-teal);display:grid;place-items:center;color:var(--primary);margin-bottom:20px}.ap-empty-title{margin:0 0 10px;font-size:19px;font-weight:700;color:var(--text)}.ap-empty-body{margin:0 0 24px;font-size:14px;color:var(--muted);max-width:400px;line-height:1.6}.ap-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--muted);font-size:14px}.ap-loading-spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.ap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.ap-dialog{background:#fff;border-radius:var(--radius-xl);padding:32px 28px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);text-align:center;border:1.5px solid var(--line)}.ap-dialog-icon{font-size:34px;margin-bottom:12px}.ap-dialog-title{margin:0 0 12px;font-size:19px;font-weight:800;color:var(--text)}.ap-dialog-body{margin:0 0 24px;font-size:14px;color:var(--muted);line-height:1.6}.ap-dialog-body strong{color:var(--text)}.ap-dialog-actions{display:flex;gap:12px;justify-content:center}.psd-section{margin-bottom:14px}.psd-section-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:8px}.ml-page{padding-top:14px}.ml-page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:14px}.ml-page-heading{display:flex;flex-direction:column;gap:3px}.ml-page-title{display:flex;align-items:center;gap:10px;margin:0;font-size:24px;font-weight:900;color:var(--heading);letter-spacing:-.4px}.ml-page-subtitle{margin:0;font-size:13.5px;color:#475569;font-weight:600}.ml-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px;padding:18px 20px;border-radius:18px;background:#fff;border:1.5px solid #dce7ef;box-shadow:0 10px 22px #0f172a0f}.ml-search-wrap{position:relative;display:flex;align-items:center;flex:1 1 320px;min-width:220px}.ml-search-icon{position:absolute;left:12px;pointer-events:none;z-index:1;color:var(--muted);display:flex;align-items:center}.ml-search-input{width:100%;padding:11px 38px;border-radius:12px;border:1.5px solid #dce7ef;background:#fff;font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.ml-search-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 4px #14b8a61f;transform:none}.ml-search-input::placeholder{color:#94a3b8}.ml-search-clear{position:absolute;right:10px;background:none;border:none;box-shadow:none;padding:4px 6px;font-size:12px;color:var(--muted);cursor:pointer;border-radius:6px;line-height:1}.ml-search-clear:hover{background:#f1f5f9;transform:none;box-shadow:none;color:var(--text)}.ml-filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.ml-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:12px;background:#fff;color:#0f172a;border:1.5px solid #dce7ef;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 1px #fffc;transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s}.ml-filter-tab:hover{background:#f0fdfa;color:var(--primary);border-color:#b7e7df;transform:translateY(-1px);box-shadow:0 8px 16px #0f172a0f}.ml-filter-tab--active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #0f766e38}.ml-filter-tab--active:hover{background:var(--primary-dark)}.ml-filter-count{background:#0000001a;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700;min-width:20px;text-align:center}.ml-filter-tab:not(.ml-filter-tab--active) .ml-filter-count{background:#e2e8f0;color:var(--muted)}.ml-result-info{font-size:12.5px;color:#475569;font-weight:700;white-space:nowrap;margin-left:auto;display:flex;align-items:center;gap:6px}.ml-result-loading{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.ml-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:28px;align-items:stretch}.ml-card{display:flex;flex-direction:column;border:1.5px solid #dce7ef;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 20px #0f172a0f;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;height:100%}.ml-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #0f172a1f;border-color:#b7e7df}.ml-card-thumb{position:relative;width:100%;padding-top:62%;background:#f1f5f9;overflow:hidden;flex-shrink:0}.ml-card-thumb>*{position:absolute;top:0;right:0;bottom:0;left:0}.ml-preview-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .3s ease}.ml-card:hover .ml-preview-img{transform:scale(1.03)}.ml-preview-video{width:100%;height:100%;object-fit:cover;object-position:center;display:block;background:#0a0a14}.ml-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;background:#f8fafc}.ml-preview-placeholder--video{background:#0f172a;background-image:radial-gradient(circle at 25% 22%,rgba(20,184,166,.14) 0 2px,transparent 2px),radial-gradient(circle at 72% 68%,rgba(16,185,129,.1) 0 2px,transparent 2px)}.ml-preview-placeholder--audio{background:#f0fdfa}.ml-placeholder-icon{font-size:26px;line-height:1;opacity:.6}.ml-placeholder-label{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.ml-placeholder-label--audio{color:var(--primary)}.ml-audio-waveform{display:flex;align-items:center;gap:3px;height:36px}.ml-audio-bar{width:3px;border-radius:2px;background:linear-gradient(180deg,#14b8a6,#0f766e);opacity:.65;animation:audioBar 1.4s ease-in-out infinite alternate}.ml-audio-bar:nth-child(odd){animation-delay:.1s}.ml-audio-bar:nth-child(2n){animation-delay:.3s}.ml-audio-bar:nth-child(3n){animation-delay:.5s}@keyframes audioBar{0%{opacity:.35;transform:scaleY(.55)}to{opacity:.85;transform:scaleY(1)}}.ml-type-badge{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:700;text-transform:capitalize;letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);width:auto;height:auto;inset:auto;top:8px;left:8px}.ml-type-label{line-height:1}.ml-type-image{background:#f0fdfaeb;color:#0f766e;border-color:#5eead480}.ml-type-video{background:#0f172ab8;color:#e2e8f0;border-color:#ffffff26}.ml-type-audio{background:#f0fdfaeb;color:#0f766e;border-color:#5eead480}.ml-card-footer{display:flex;flex-direction:column;gap:8px;padding:14px 16px 16px;flex:1;min-width:0}.ml-card-title{font-size:14px;font-weight:800;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;letter-spacing:-.1px}.ml-card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.ml-card-date{font-size:11.5px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ml-card-size{font-size:11px;font-weight:700;color:var(--primary);background:#f0fdfa;padding:2px 7px;border-radius:999px;white-space:nowrap;flex-shrink:0;border:1px solid var(--line-teal)}.ml-audio-player{width:100%;height:32px;border-radius:8px;margin-top:2px}.ml-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto}.ml-open-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;background:#f0fdfa;color:var(--primary);border:1.5px solid var(--line-teal);font-size:12.5px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}.ml-open-btn:hover{background:#ccfbf1;border-color:var(--primary-light);box-shadow:0 2px 8px #0f766e1f;transform:translateY(-1px);color:var(--primary-dark)}.ml-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--muted);font-size:14px;font-weight:600}.ml-empty{display:flex;flex-direction:column;align-items:center;padding:44px 24px;text-align:center;border:1.5px dashed #b7e7df;border-radius:18px;background:#fbfdff}.ml-empty-icon{font-size:44px;margin-bottom:14px;line-height:1}.ml-empty-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text)}.ml-empty-body{margin:0;color:var(--muted);max-width:380px;font-size:14px;line-height:1.6}.ml-empty-action{margin-top:18px}.ml-header-right{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.ml-header-count{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;background:#fff;border:1.5px solid #dce7ef;box-shadow:var(--shadow-sm);color:#0f172a;font-weight:800;font-size:12.5px}.ml-header-count-dot{width:9px;height:9px;border-radius:50%;background:#14b8a6f2;box-shadow:0 0 0 4px #14b8a624}.ml-header-count-label{color:#475569;font-weight:800;letter-spacing:.02em}.ml-header-count-val{color:#0f172a;font-variant-numeric:tabular-nums}.ml-pagination{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:20px 0 8px}.ml-page-btn{padding:8px 14px;font-size:13px;border-radius:8px;display:inline-flex;align-items:center;gap:5px}.ml-page-numbers{display:flex;align-items:center;gap:4px}.ml-page-num{width:34px;height:34px;border-radius:8px;background:#fff;color:var(--text);border:1.5px solid var(--line);font-size:13px;font-weight:600;box-shadow:none;padding:0;display:grid;place-items:center;transition:background .15s,border-color .15s,color .15s}.ml-page-num:hover{background:#f0fdfa;border-color:var(--line-teal);color:var(--primary);transform:none;box-shadow:none}.ml-page-num--active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #0f766e38}.ml-page-num--active:hover{background:var(--primary-dark);transform:none}.ml-page-ellipsis{width:28px;text-align:center;color:var(--muted);font-size:14px;font-weight:700;-webkit-user-select:none;user-select:none}.ml-page-info{font-size:12.5px;color:var(--muted);font-weight:600;margin-left:8px}.sm-topbar .sm-topbar-inner{max-width:1440px;margin:0 auto;padding:12px 28px 10px;display:flex;flex-direction:column;gap:8px}.sm-topbar-brand-row{display:flex;align-items:center}.sm-topbar-nav-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sm-page{padding-top:8px}.sm-toolbar{padding:14px 18px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px;border-radius:var(--radius-lg)}.sm-toolbar-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sm-toolbar-row--top{gap:10px}.sm-toolbar-row--filters{gap:8px}.sm-search-wrap{position:relative;display:flex;align-items:center;flex:1 1 220px;min-width:160px}.sm-search-icon{position:absolute;left:12px;pointer-events:none;color:var(--muted);display:flex;align-items:center;z-index:1}.sm-search-input{width:100%;padding:9px 36px;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-size:13.5px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.sm-search-input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #0f766e14;transform:none}.sm-search-input::placeholder{color:#94a3b8}.sm-search-clear{position:absolute;right:10px;background:none;border:none;box-shadow:none;padding:4px 6px;font-size:12px;color:var(--muted);cursor:pointer;border-radius:6px;line-height:1}.sm-search-clear:hover{background:#f1f5f9;transform:none;box-shadow:none;color:var(--text)}.sm-device-select-wrap{position:relative;display:flex;align-items:center;flex-shrink:0}.sm-device-icon{position:absolute;left:11px;pointer-events:none;color:var(--muted);z-index:1}.sm-device-select{width:auto;min-width:160px;padding:9px 32px;border-radius:8px;border:1.5px solid var(--line);background:#fff;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s,box-shadow .2s}.sm-device-select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #0f766e14;transform:none}.sm-filter-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:1}.sm-filter-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:8px;background:#f8fafc;color:var(--muted);border:1.5px solid var(--line);font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .15s}.sm-filter-chip:hover{background:#f0fdfa;color:var(--primary);border-color:var(--line-teal);transform:translateY(-1px)}.sm-filter-chip--active{box-shadow:0 2px 8px #0f766e1f;border-width:1.5px}.sm-chip-icon{font-size:11px;line-height:1}.sm-chip-count{background:#00000014;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700;min-width:18px;text-align:center}.sm-filter-chip--active .sm-chip-count{background:#0000001f}.sm-result-count{font-size:12.5px;color:var(--muted);font-weight:600;white-space:nowrap;margin-left:auto;display:flex;align-items:center;gap:5px}.sm-result-loading{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.sm-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.sm-summary-card{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.sm-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.sm-summary-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sm-summary-body{display:flex;flex-direction:column;gap:1px;min-width:0}.sm-summary-count{font-size:22px;font-weight:900;line-height:1;letter-spacing:-.5px}.sm-summary-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.sm-table-panel{padding:0;overflow:hidden}.sm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sm-table{width:100%;border-collapse:collapse;min-width:600px}.sm-th{padding:11px 14px;text-align:left;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f8fafc;border-bottom:1.5px solid var(--line);white-space:nowrap}.sm-th--num{width:52px;text-align:center}.sm-tr{transition:background .12s ease}.sm-tr:hover{background:#f8fafc}.sm-td{padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle;font-size:13.5px;color:var(--text)}.sm-td--num{text-align:center;color:var(--muted);font-size:12.5px;font-weight:600}.sm-td--date{font-size:12.5px;color:var(--muted);white-space:nowrap}.sm-tr:last-child .sm-td{border-bottom:none}.sm-device-name{font-weight:700;font-size:13.5px;color:var(--text)}.sm-media-title{display:block;font-weight:700;font-size:13.5px;color:var(--text)}.sm-media-type{display:block;font-size:11.5px;color:var(--muted);font-weight:500;margin-top:2px;text-transform:capitalize}.sm-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid transparent;white-space:nowrap}.sm-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sm-card-list{display:none}.sm-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--muted);font-size:14px;font-weight:600}.sm-empty{display:flex;flex-direction:column;align-items:center;padding:52px 24px;text-align:center}.sm-empty-icon{font-size:44px;margin-bottom:14px;line-height:1}.sm-empty-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text)}.sm-empty-body{margin:0;color:var(--muted);max-width:380px;font-size:14px;line-height:1.6}.sm-empty-action{margin-top:16px}.topbar:not(.topbar--command){padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar-left{display:flex;gap:12px;align-items:center}.topbar-left h1{margin:0;font-size:19px;font-weight:800;letter-spacing:-.3px;color:var(--text);line-height:1.1}.topbar-left p{margin:2px 0 0;font-size:12px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.topbar-right button{white-space:nowrap}.topbar-chip{padding:6px 12px;border-radius:8px;background:#f0fdfa;color:var(--primary);border:1.5px solid var(--line-teal);font-weight:600;font-size:12.5px}.topbar-brand-nav{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.topbar-action-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.topbar-status-panel{display:flex;align-items:center;gap:0;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:8px 14px;box-shadow:var(--shadow-sm);flex-shrink:0}.status-panel-item{display:flex;flex-direction:column;align-items:center;padding:0 12px;gap:2px}.status-panel-divider{width:1px;height:28px;background:var(--line);flex-shrink:0}.status-panel-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.status-panel-value{font-size:13px;font-weight:800;color:var(--text)}.status-panel-value--green{color:var(--green)}.sensor-placeholder-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.sensor-placeholder{background:#f8fafc;border:1px dashed var(--line-teal);border-radius:var(--radius);padding:18px;text-align:center;font-weight:700;color:var(--primary);transition:transform .18s ease}.sensor-placeholder:hover{transform:translateY(-2px)}.upm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a73;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;animation:upmOverlayIn .2s ease both}@keyframes upmOverlayIn{0%{opacity:0}to{opacity:1}}.upm-card{background:#fff;border-radius:22px;padding:36px 32px 32px;width:100%;max-width:380px;box-shadow:var(--shadow-lg);border:1.5px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;animation:upmCardIn .28s cubic-bezier(.22,1,.36,1) both;position:relative;overflow:hidden}.upm-card:before{content:none}@keyframes upmCardIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes upmShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.upm-anim-wrap{position:relative;width:84px;height:84px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.upm-cloud-icon{animation:upmCloudFloat 2s ease-in-out infinite;display:flex;align-items:center;justify-content:center}@keyframes upmCloudFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.upm-arrow-anim{animation:upmArrowBounce 1.2s ease-in-out infinite;transform-origin:center bottom}@keyframes upmArrowBounce{0%,to{transform:translateY(0);opacity:1}40%{transform:translateY(-5px);opacity:1}70%{transform:translateY(-2px);opacity:.7}}.upm-orbit{position:absolute;top:0;right:0;bottom:0;left:0;animation:upmOrbitSpin 3s linear infinite}@keyframes upmOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upm-dot{position:absolute;width:7px;height:7px;border-radius:50%}.upm-dot--1{top:4px;left:50%;transform:translate(-50%);background:var(--primary);opacity:.9}.upm-dot--2{bottom:4px;right:8px;background:var(--primary-light);opacity:.6}.upm-dot--3{bottom:4px;left:8px;background:var(--accent);opacity:.4}.upm-title{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.2px;margin-bottom:6px}.upm-title--success{color:#059669}.upm-title--error{color:#b91c1c}.upm-filename{font-size:12.5px;color:var(--muted);font-weight:500;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:16px;background:#f8fafc;padding:4px 12px;border-radius:999px;border:1px solid var(--line)}.upm-pct{font-size:36px;font-weight:900;color:var(--primary);letter-spacing:-1px;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}.upm-bar-track{width:100%;height:7px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-bottom:12px}.upm-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 50%,var(--primary) 100%);background-size:200% 100%;transition:width .3s ease;animation:upmBarShimmer 1.8s linear infinite}@keyframes upmBarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.upm-hint{font-size:12px;color:var(--muted);font-weight:500}.upm-hint--success{color:#059669;font-weight:600}.upm-success-icon{margin-bottom:18px;animation:upmSuccessPop .38s cubic-bezier(.22,1,.36,1) both}@keyframes upmSuccessPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.upm-check-draw{stroke-dasharray:40;stroke-dashoffset:40;animation:upmCheckDraw .5s ease forwards .2s}@keyframes upmCheckDraw{to{stroke-dashoffset:0}}.upm-error-icon{margin-bottom:18px;animation:upmSuccessPop .32s cubic-bezier(.22,1,.36,1) both}.upm-error-msg{font-size:13px;color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;margin-top:4px;margin-bottom:18px;max-width:100%;word-break:break-word;line-height:1.5}.upm-close-btn{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:10px 26px;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #dc262638;transition:background .15s ease,transform .15s ease;margin-top:4px}.upm-close-btn:hover{background:#b91c1c;transform:translateY(-1px)}@media (max-width: 480px){.upm-card{padding:26px 18px 22px;border-radius:18px}.upm-title{font-size:15px}.upm-pct{font-size:30px}.upm-anim-wrap{width:68px;height:68px;margin-bottom:14px}}.fade-up{opacity:0;transform:translateY(14px);animation:fadeUp .5s cubic-bezier(.22,1,.36,1) forwards}.fade-up:nth-child(1){animation-delay:0ms}.fade-up:nth-child(2){animation-delay:40ms}.fade-up:nth-child(3){animation-delay:80ms}.fade-up:nth-child(4){animation-delay:.12s}.fade-up:nth-child(5){animation-delay:.16s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes spin{to{transform:rotate(360deg)}}tbody tr{transition:background .12s ease}tbody tr:hover{background:#f8fafc}.panel--interactive{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;will-change:transform}.panel--interactive:hover{transform:translateY(-2px);box-shadow:0 14px 26px #0f172a1a;border-color:#b9dbe8}.panel--interactive:focus-within{border-color:var(--primary-light);box-shadow:0 0 0 3px #14b8a61a,0 14px 26px #0f172a14}.hero-glass-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#fff0,#fff0 10px,#ffffff09 11px);opacity:.35;transform:translateY(-30%);animation:ccScanline 7s linear infinite;mix-blend-mode:overlay}@keyframes ccScanline{0%{transform:translateY(-30%)}to{transform:translateY(30%)}}.stat-card-value{font-variant-numeric:tabular-nums}.stat-card-value>span{display:inline-block;animation:ccNumIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes ccNumIn{0%{opacity:.8;transform:translateY(2px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.sensor-live-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease;will-change:transform}.sensor-live-card.is-live:hover{transform:translateY(-2px);box-shadow:0 12px 18px #0f172a1a}.sensor-live-card.is-idle:hover{transform:translateY(-1px)}.sensor-live-badge{position:relative;padding-left:18px}.sensor-live-badge:before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;border-radius:999px;transform:translateY(-50%);background:#64748b73;box-shadow:0 0 #64748b00}.sensor-live-badge--normal.is-live:before{background:#10b981f2;animation:ccPulseGreen 2.4s ease-in-out infinite}.sensor-live-badge--warning.is-live:before{background:#f59e0bf2;animation:ccPulseAmber 2.8s ease-in-out infinite}.sensor-live-badge--danger.is-live:before{background:#ef4444f2;animation:ccPulseRed 3s ease-in-out infinite}@keyframes ccPulseGreen{0%,to{box-shadow:0 0 #10b98100}50%{box-shadow:0 0 0 6px #10b9811f}}@keyframes ccPulseAmber{0%,to{box-shadow:0 0 #f59e0b00}50%{box-shadow:0 0 0 6px #f59e0b1f}}@keyframes ccPulseRed{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 6px #ef44441f}}.data-table tbody tr,.sm-tr{animation:ccRowIn .32s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--row-i, 0) * 28ms)}@keyframes ccRowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.data-table tbody tr:hover,.sm-tr:hover{background:#f8fafc}.ml-card--reveal,.asset-card--reveal{animation:ccItemIn .38s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i, 0) * 35ms)}@keyframes ccItemIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 1440px){.ml-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1280px){.hero-panel{grid-template-columns:1fr}.hero-vis{display:none}.stats-grid,.asset-grid,.ml-grid,.sensor-placeholder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1100px){.sensor-live-grid,.ml-grid,.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.admin-sidebar--desktop{display:none}.admin-mobile-topbar{display:flex}.admin-drawer-head{display:flex;justify-content:flex-end}.admin-layout{padding-left:0}.admin-main{padding:0}.sensor-empty-board{grid-template-columns:1fr}.dash-container--bar{padding:12px 20px 10px}.action-grid,.form-grid-two{grid-template-columns:1fr}.schedule-grid{grid-template-columns:1fr 1fr;gap:10px}.schedule-grid button{grid-column:1 / -1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-stats-row{grid-template-columns:repeat(2,1fr)}.ml-grid,.sensor-live-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy h2{font-size:24px}.hero-panel{padding:24px}.hero-sensor-chip{display:none}.sm-summary-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.topbar-row--brand,.topbar-row--nav{border-radius:10px}.brand-mark{width:40px;height:40px}.brand-text h1{font-size:17px}.hero-copy h2{font-size:27px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-step-badge{top:8px;left:12px}.panel--workflow{padding-top:30px}.fleet-empty-status-row{grid-template-columns:12px 1fr auto}.dash-container--bar{padding:10px 14px 8px;gap:6px}.topbar-row--brand{gap:8px}.brand-text h1{font-size:16px}.brand-text p{font-size:11px}.brand-mark{width:36px;height:36px;border-radius:9px}.sys-status-capsule{display:none!important}.sys-status-mobile{display:block;width:100%;max-width:100%}.topbar-row--nav{gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;flex-wrap:nowrap;max-width:100%}.topbar-row--nav::-webkit-scrollbar{display:none}.nav-pill{padding:6px 10px;font-size:12px;flex-shrink:0}.admin-content{padding:14px 14px 40px}.hero-panel{padding:20px 16px;grid-template-columns:1fr;border-radius:18px}.hero-copy h2{font-size:21px;line-height:1.2}.hero-copy p{font-size:13.5px}.hero-vis,.hero-sensor-chip{display:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px 12px 12px}.stat-card-value{font-size:28px}.sensor-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sensor-device-strip{flex-direction:column;align-items:flex-start;gap:8px}.sensor-device-select{width:100%;min-width:unset;border-radius:8px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.schedule-grid{grid-template-columns:1fr}.table-wrap--devices{display:none}.device-card-list{display:block}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:500px}.panel{padding:16px}.ml-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-stats-row{grid-template-columns:repeat(2,1fr)}.ml-toolbar{flex-direction:column;align-items:stretch}.ml-result-info{margin-left:0}.sm-topbar .sm-topbar-inner{padding:10px 14px 8px;gap:6px}.sm-topbar-nav-row{gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;flex-wrap:nowrap}.sm-topbar-nav-row::-webkit-scrollbar{display:none}.sm-toolbar-row--top{flex-direction:column;align-items:stretch}.sm-search-wrap{flex:1 1 100%}.sm-device-select-wrap,.sm-device-select{width:100%}.sm-filter-chips{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.sm-filter-chips::-webkit-scrollbar{display:none}.sm-filter-chip{flex-shrink:0}.sm-result-count{margin-left:0}.sm-toolbar-row--filters{flex-wrap:nowrap;overflow-x:auto}.sm-table-wrap{display:none}.sm-card-list{display:flex;flex-direction:column;gap:0}.sm-row-card{padding:14px 16px;border-bottom:1px solid var(--line-soft);transition:background .12s ease}.sm-row-card:last-child{border-bottom:none}.sm-row-card:hover{background:#f8fafc}.sm-row-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sm-row-num{font-size:12px;font-weight:700;color:var(--muted);background:#f0fdfa;border:1px solid var(--line-teal);border-radius:6px;padding:2px 8px}.sm-row-card-body{display:flex;flex-direction:column;gap:8px}.sm-row-field{display:flex;flex-direction:column;gap:2px}.sm-row-field-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.sm-row-field-value{font-size:13.5px;color:var(--text)}.sm-row-card-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sm-summary-row{grid-template-columns:repeat(2,1fr);gap:8px}.sm-summary-card{padding:10px 12px}.sm-summary-count{font-size:18px}}@media (max-width: 640px){.topbar-row--nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow-x:visible;flex-wrap:unset;padding-bottom:2px}.topbar-row--nav>.topbar-chip--api{grid-column:1 / -1;justify-content:center}.topbar-row--nav>.nav-pill--blue{grid-column:1 / -1;justify-content:center}.topbar-row--nav>.nav-pill{justify-content:center;flex-shrink:1;min-height:36px;font-size:11.5px;padding:7px 8px}.nav-pill--logout{margin-left:0}.sys-status-mobile-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sys-status-mobile-card{flex-direction:column;align-items:flex-start;padding:8px 10px;gap:3px;border-radius:10px}.sys-status-mobile-icon{width:20px;height:20px;border-radius:6px;margin-bottom:2px}.sys-status-mobile-label{font-size:8.5px}.sys-status-mobile-value{font-size:13px;font-weight:800}.dash-container--bar{padding:8px 10px 6px;gap:6px}.sensor-empty-board{padding:12px;gap:10px}.sensor-empty-board-left h4{font-size:14px}.sensor-empty-checklist{font-size:11.5px}.fleet-empty-board{padding:12px}.fleet-empty-head h4{font-size:14px}.brand-text h1{font-size:15px}.hero-copy h2{font-size:23px}.dash-container--bar{padding:8px 12px 6px;gap:5px}.topbar-row--brand{gap:8px;flex-wrap:nowrap}.topbar--ml .topbar-row--brand{flex-wrap:wrap;align-items:flex-start}.topbar--ml .ml-header-right{width:100%;justify-content:flex-start}.topbar--ml .ml-header-count{flex:1;justify-content:center}.brand-text h1{font-size:14px}.brand-text p{font-size:10px}.brand-mark{width:32px;height:32px;border-radius:8px;flex-shrink:0}.nav-pill{padding:6px 9px;font-size:11px;flex-shrink:0}.topbar-chip--api{padding:5px 8px;font-size:10.5px}.sys-status-mobile-row{gap:6px;width:100%}.sys-status-mobile-card{min-width:0;flex:1;padding:7px 8px;gap:6px}.sys-status-mobile-icon{width:22px;height:22px;flex-shrink:0}.sys-status-mobile-label{font-size:8px}.sys-status-mobile-value{font-size:12px}.admin-content{padding:10px 10px 32px}.hero-panel{padding:16px 14px;border-radius:14px;margin-bottom:16px}.hero-copy h2{font-size:18px;line-height:1.2}.hero-copy p{font-size:13px}.hero-badge{font-size:10px;padding:4px 10px;margin-bottom:10px}.hero-meta{margin-top:12px;gap:5px;flex-wrap:wrap}.meta-pill{font-size:10px;padding:4px 8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.stat-card{padding:12px 10px 10px;border-radius:12px}.stat-card-value{font-size:24px;letter-spacing:-.5px}.stat-card-icon-wrap{width:30px;height:30px;font-size:14px;border-radius:8px}.stat-card-label{font-size:11.5px}.stat-card-hint{font-size:10.5px}.sensor-live-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sensor-live-value{font-size:20px}.sensor-live-card{padding:10px}.sensor-alert-card{flex:1 1 100%;min-width:0}.sensor-device-strip{padding:10px 12px}.action-grid{gap:10px}.panel{padding:14px;border-radius:16px}.panel-actions{justify-content:stretch}.panel-actions button{width:100%;justify-content:center}.schedule-grid{grid-template-columns:1fr;gap:8px}.schedule-grid button{width:100%;justify-content:center}.form-grid-two{grid-template-columns:1fr;gap:8px}.file-picker-label{flex-direction:column;align-items:flex-start;gap:8px}.file-selected-name{max-width:100%}.device-card{padding:14px}.device-card-actions{gap:6px}.device-card-actions button{font-size:12px;padding:8px 10px}.ml-grid,.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ap-stats-row{grid-template-columns:1fr 1fr}.ap-dialog{padding:20px 14px}.dash-section-label{font-size:10px;margin:20px 0 10px}.sm-topbar .sm-topbar-inner{padding:8px 12px 6px}.sm-summary-row{grid-template-columns:repeat(2,1fr);gap:6px}.sm-summary-card{padding:8px 10px}.sm-summary-count{font-size:16px}.sm-summary-label{font-size:10px}.table-wrap table{min-width:440px}}@media (max-width: 400px){.dash-container--bar{padding:7px 10px 5px}.brand-text p{display:none}.brand-text h1{font-size:13px}.brand-mark{width:30px;height:30px;border-radius:7px}.admin-content{padding:8px 8px 28px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.stat-card-value{font-size:20px}.sensor-live-grid,.ml-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.asset-grid{grid-template-columns:1fr}.sys-status-mobile-row{gap:4px}.sys-status-mobile-card{padding:6px 7px;gap:5px}.sys-status-mobile-value{font-size:11px}.hero-panel{padding:14px 12px}.hero-copy h2{font-size:16px}.topbar-row--nav{gap:5px}.topbar-row--nav>.nav-pill{font-size:11px;padding:6px;min-height:34px}.sys-status-mobile-card{padding:6px 8px}.sys-status-mobile-value{font-size:12px}.sys-status-mobile-label{font-size:7.5px}}@media (max-width: 360px){.stats-grid,.sensor-live-grid,.ml-grid,.ap-stats-row{grid-template-columns:1fr}.sys-status-mobile-row{flex-direction:column;gap:4px}.sys-status-mobile-card{width:100%;flex-direction:row}}.sa-topbar-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;flex-wrap:wrap}.sa-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:14px}.sa-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.sa-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.ap-header-right,.ml-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.export-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0f172a7a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.export-modal-card{background:#fff;border-radius:20px;width:100%;max-width:520px;box-shadow:0 20px 60px #0f172a2e;border:1.5px solid #f1f5f9;overflow:hidden;margin:auto;max-height:calc(100vh - 32px);display:flex;flex-direction:column}.export-modal-body{padding:22px 28px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.export-modal-footer{padding:16px 28px 24px;border-top:1px solid #f1f5f9;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.ap-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm)}.ap-table-wrap table{min-width:680px}.topbar--legacy{flex-wrap:wrap;gap:10px;padding:12px 20px}.topbar--legacy .topbar-left{min-width:0;flex:1}.topbar--legacy .topbar-right{flex-wrap:wrap;gap:6px}@media (max-width: 768px){.sa-topbar-actions{width:100%;justify-content:flex-end}.sa-filter-grid{grid-template-columns:1fr}.sa-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-charts-grid{grid-template-columns:1fr}.export-modal-overlay{padding:10px;align-items:flex-end}.export-modal-card{border-radius:20px 20px 16px 16px;max-height:92vh}.export-modal-footer{flex-direction:row}.ap-stats-row{grid-template-columns:repeat(2,1fr)}.ap-table-wrap table{min-width:600px}.topbar--legacy{padding:10px 14px}.topbar--legacy .topbar-left h1{font-size:16px}.topbar--legacy .topbar-left p{font-size:11px}.topbar--legacy .topbar-right{width:100%}}@media (max-width: 640px){.sa-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sa-charts-grid{grid-template-columns:1fr;gap:12px}.export-modal-footer{flex-direction:column-reverse;gap:8px}.export-modal-footer button{width:100%;justify-content:center}.export-modal-body{padding:16px 18px;gap:16px}.ap-stats-row{grid-template-columns:1fr 1fr}.topbar--legacy .topbar-right button{font-size:12px;padding:7px 11px}}@media (max-width: 400px){.sa-summary-grid{grid-template-columns:1fr 1fr;gap:6px}.export-modal-overlay{padding:6px}}@media (max-width: 360px){.sa-summary-grid{grid-template-columns:1fr}}.ap-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.ap-live-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#f0fdf4;color:#065f46;border:1.5px solid #a7f3d0;font-size:12px;font-weight:700;white-space:nowrap}.ap-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.ap-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:20px}.ap-hero-left{min-width:0}.ap-hero-title{font-size:20px;font-weight:800;color:var(--text);margin:8px 0 6px;line-height:1.25}.ap-hero-sub{font-size:13.5px;color:var(--muted);line-height:1.6}.ap-hero-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#f0fdfa;color:#0f766e;border:1.5px solid #ccfbf1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.ap-hero-badge-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:pulseDot 2s ease-in-out infinite}.ap-hero-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.ap-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:600;background:#f8fafc;border:1.5px solid var(--line);color:var(--muted)}.ap-chip--live{background:#f0fdf4;border-color:#a7f3d0;color:#065f46}.ap-live-dot{width:6px;height:6px;border-radius:50%;background:#10b981;animation:pulseDot 1.8s ease-in-out infinite}.ap-hero-right{flex-shrink:0}.ap-telemetry-card{background:#f8fafc;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;min-width:220px}.ap-telemetry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ap-telemetry-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.ap-telemetry-pill{font-size:10px;font-weight:800;letter-spacing:.08em;color:#0f766e;background:#ccfbf1;border:1px solid #7dd3c7;padding:3px 8px;border-radius:999px}.ap-telemetry-bars{display:flex;align-items:flex-end;gap:4px;height:36px;margin-bottom:10px}.ap-telemetry-bar{flex:1;border-radius:2px;background:linear-gradient(180deg,#14b8a6,#0f766e);min-height:4px;opacity:.7;animation:waveAnim 1.6s ease-in-out infinite alternate}.ap-telemetry-meta{display:flex;gap:10px;font-size:11.5px;color:var(--muted);flex-wrap:wrap}.ap-telemetry-meta b{color:var(--text)}.ap-filter-panel{margin-bottom:18px}.ap-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ap-filter-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ap-filter-label{font-size:13.5px;font-weight:600;color:var(--muted);white-space:nowrap}.ap-filter-select{width:auto;min-width:200px;padding:8px 12px;border-radius:8px}.ap-table{width:100%;border-collapse:collapse}.ap-stat-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:18px 16px 14px;box-shadow:var(--shadow-sm);min-width:0;animation:statCardIn .5s cubic-bezier(.22,1,.36,1) both}.ap-stat-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}.ap-stat-card-value{font-size:30px;font-weight:900;line-height:1;letter-spacing:-.5px;margin-bottom:4px}.ap-stat-card-hint{font-size:11.5px;color:var(--muted)}@media (max-width: 900px){.ap-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ap-hero{grid-template-columns:1fr}.ap-hero-right{display:none}}@media (max-width: 640px){.ap-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ap-hero-title{font-size:17px}.ap-filter-select{width:100%;min-width:unset}.ap-filter-left{width:100%}.ap-toolbar{flex-direction:column;align-items:stretch}.ap-header-right{display:none}}@media (max-width: 400px){.ap-stat-grid{grid-template-columns:1fr 1fr;gap:6px}}.ml-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.ml-header-count{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}@media (max-width: 640px){.ml-header-right{flex-wrap:wrap;gap:6px}.ml-header-count{display:none}}.admin-shell,.admin-content,.dash-container,.panel,.stat-card,.sensor-live-card,.asset-card,.ml-card,.device-card,.sm-summary-card{max-width:100%;box-sizing:border-box}.panel .table-wrap,.panel .sm-table-wrap,.panel .ap-table-wrap,.sa-readings-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.sa-readings-table-wrap table{min-width:900px}@media (max-width: 768px){.topbar-row--brand,.topbar-brand{min-width:0;overflow:hidden}.sa-readings-table-wrap table{min-width:700px}.ap-filter-left{flex-direction:column;align-items:stretch}.ap-filter-select{width:100%}}@media (max-width: 640px){.login-visual{display:none}.login-layout{grid-template-areas:"form";grid-template-columns:1fr;border-radius:20px}.login-form{border-left:none;padding:20px 18px 24px}.login-shell{padding:12px}.ap-dialog{max-width:calc(100vw - 24px);padding:20px 16px}.upm-card{max-width:calc(100vw - 24px)}.sa-readings-table-wrap table{min-width:600px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-panel,.brand-mark,.hero-glass-card,.hero-wave-bar,.hero-glass-card:after,.hero-signal-line--1,.hero-signal-line--2,.hero-ring-fill,.hero-sensor-chip,.hero-glow-ring,.hero-blob,.chip-dot--green,.sys-online-dot,.ml-audio-bar,.upm-arrow-anim,.upm-dot,.upm-bar-fill,.upm-cloud-icon,.upm-check-draw,.sensor-live-badge--normal.is-live:before,.sensor-live-badge--warning.is-live:before,.sensor-live-badge--danger.is-live:before,.data-table tbody tr,.sm-tr,.ml-card--reveal,.asset-card--reveal,.stat-card-value>span{animation:none!important;transition:none!important}}.mp-powered-by{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:90;padding:6px 10px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 24px #0206171a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#0f172aad;font-size:11px;font-weight:800;letter-spacing:.06em;pointer-events:none;max-width:calc(100vw - 24px);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 560px){.mp-powered-by{font-size:10px;bottom:8px}}
