:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#26354a;background:#f5f7fa;font-synthesis:none;--primary:#3478ee;--ink:#26354a;--muted:#8490a2;--border:#e9edf3;--sidebar:#fff}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #82b6ff;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #b7d3ff;border-color:var(--primary)}h1,h2,h3,p{margin:0}button{border:0}button:active:not(:disabled){transform:translateY(1px)}.app-shell{min-height:100dvh;display:grid;grid-template-columns:250px minmax(0,1fr)}aside{position:fixed;inset:0 auto 0 0;width:250px;display:flex;flex-direction:column;background:var(--sidebar);border-right:1px solid var(--border);padding:30px 18px 18px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 14px;font-weight:750;font-size:25px;letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:39px;height:42px;color:var(--primary)}.brand-mark lw-icon{width:36px;height:36px}.brand-sub{display:block;font-size:8px;letter-spacing:2px;color:#8590a0;margin-top:4px;font-weight:600}.workspace-chip{display:flex;align-items:center;gap:10px;margin:35px 4px 28px;padding:11px 10px;background:#f8f9fc;border:1px solid var(--border);border-radius:9px}.workspace-avatar{display:grid;place-items:center;background:#e7eefb;color:#5576a2;width:32px;height:32px;border-radius:7px;font-weight:700;font-size:11px}.workspace-chip strong{font-size:11px;display:block}.workspace-chip small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.workspace-dot{width:6px;height:6px;background:#60b99c;border-radius:50%;margin-left:auto}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#a0a8b6;margin:0 14px 12px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:12px;min-height:45px;padding:0 13px;color:#758093;font-size:12px;font-weight:550;border-radius:7px;transition:background .15s}nav a:hover{background:#f6f8fc}nav a.active{background:#eaf2ff;color:#3575d8}nav a lw-icon{width:18px;height:18px}.nav-count{margin-left:auto;background:#d9e8ff;border-radius:5px;font-size:10px;min-width:22px;text-align:center;padding:3px 5px}.sidebar-bottom{margin-top:auto;padding-top:30px}.local-card{background:#f6f9fc;border:1px solid #e9eff4;border-radius:10px;padding:15px;margin:12px 4px 22px;color:#7791a6}.local-card lw-icon{color:#4da98f;width:22px;height:22px;margin-bottom:9px}.local-card strong{display:block;font-size:11px;color:#4c6177}.local-card p{font-size:10px;line-height:1.8;margin-top:5px}.profile{display:flex;gap:10px;align-items:center;padding:15px 4px 0;border-top:1px solid var(--border)}.avatar{display:grid;place-items:center;background:#ebeff7;color:#527398;border-radius:50%;width:36px;height:36px;font-size:11px;font-weight:700;flex-shrink:0}.avatar.small{width:31px;height:31px;font-size:10px}.profile strong{font-size:10px;display:block}.profile small{color:var(--muted);font-size:10px;display:block;margin-top:5px}.app-main{grid-column:2;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 38px;border-bottom:1px solid var(--border);background:#ffffffd9}.breadcrumb{font-size:11px;color:#8d96a6;display:flex;gap:15px}.breadcrumb strong{color:#566278;font-weight:500}.breadcrumb span{color:#bec6d1}.topbar-right{display:flex;align-items:center;gap:17px}.demo-tag{display:flex;align-items:center;gap:6px;color:#927240;font-size:10px}.demo-tag i{width:6px;height:6px;background:#c6a363;border-radius:50%}.top-divider{height:23px;width:1px;background:var(--border)}.icon-button{background:transparent;display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:8px;color:#8190a6}.icon-button:hover{background:#eef3fa}.mobile-menu{display:none}main{padding:33px 38px 25px;max-width:1700px;margin:auto}footer{padding:12px 38px 24px;font-size:10px;color:#a2abb9;display:flex;justify-content:space-between}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#8794a7;margin-bottom:9px}h1{font-size:29px;letter-spacing:-1px;line-height:1.3;font-weight:650}.heading-dot{color:var(--primary)}.page-heading p:not(.eyebrow){font-size:12px;color:#8490a1;margin-top:8px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 17px;border-radius:7px;font-size:11px;font-weight:600;white-space:nowrap;transition:background .15s}.button lw-icon{width:16px;height:16px}.primary{background:var(--primary);color:#fff;box-shadow:0 3px 6px #3478ee1a}.primary:hover:not(:disabled){background:#2768d5}.secondary{background:#fff;border:1px solid #dfe5ee;color:#5c6c83}.secondary:hover:not(:disabled){background:#f7faff}.subtle{background:#f3f6fb;color:#577293;min-height:32px;padding:0 12px}.danger{background:#fff6f5;color:#bd635c;border:1px solid #f1dad6}.welcome-banner{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:247px;border-radius:12px;background:linear-gradient(115deg,#182b43,#1e354d 65%,#203b51);padding:29px 34px;margin-bottom:23px;color:#fff}.banner-label{display:flex;align-items:center;gap:7px;letter-spacing:1.6px;font-size:8px;color:#a7c0d8;font-weight:600}.banner-label i{width:5px;height:5px;background:#60c8af;border-radius:50%}.welcome-banner h2{font-size:29px;line-height:1.25;font-weight:550;letter-spacing:-.5px;margin:15px 0 11px}.welcome-banner p{font-size:11px;color:#9bafc4;line-height:1.8}.welcome-banner a{margin-top:19px;display:inline-flex;align-items:center;gap:10px;color:#c6e1ff;font-size:10px;font-weight:600}.welcome-banner a lw-icon{width:14px;height:14px}.house-illustration{position:absolute;right:50px;top:12px;width:330px;height:240px;display:flex;align-items:center;justify-content:center}.house-illustration>svg{width:240px;position:relative;z-index:2;filter:drop-shadow(0 16px 10px #07192933)}.orbit{position:absolute;border:1px solid #769db322;border-radius:50%;transform:rotate(-20deg)}.orbit-one{width:270px;height:160px}.orbit-two{width:355px;height:215px}.floating-icon{position:absolute;z-index:3;background:#334d65aa;color:#aacbdf;border:1px solid #6f96b333;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;box-shadow:0 6px 14px #071b2920}.f-one{right:25px;top:37px}.f-two{left:25px;top:70px;color:#7bd5bf}.f-three{right:31px;bottom:45px}.illustration-caption{position:absolute;bottom:7px;font-size:7px;letter-spacing:1.5px;color:#7c9bb0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:26px}.stat-card{padding:19px 20px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 3px 5px #20365302}.stat-top{font-size:10px;color:#7c8798;display:flex;align-items:center;justify-content:space-between;gap:8px;line-height:1.5}.stat-icon{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:8px;flex-shrink:0}.stat-icon lw-icon{width:16px;height:16px}.blue{color:#598ee2;background:#eef4ff}.green{color:#43a68e;background:#eaf7f2}.purple{color:#9880c8;background:#f3effc}.amber{color:#c59b4c;background:#fff7e8}.stat-card>strong{font-size:30px;font-weight:600;display:block;margin-top:8px;letter-spacing:-1px}.stat-card>small{display:block;color:#9aa4b3;font-size:9px;margin-top:8px}.overview-columns{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,1fr);gap:22px;align-items:start;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--border);border-radius:11px;overflow:hidden;min-width:0}.panel-heading{padding:23px 23px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading h2{font-size:14px;font-weight:600}.panel-heading p{font-size:10px;color:#99a2b0;margin-top:7px;line-height:1.5}.text-link{color:#6085b7;font-size:10px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.text-link lw-icon{width:14px;height:14px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:8px;letter-spacing:.8px;color:#99a4b4;font-weight:600;background:#fafbfd;padding:13px 21px;white-space:nowrap;border-top:1px solid #f0f3f7;border-bottom:1px solid #f0f3f7}td{padding:17px 21px;border-bottom:1px solid #eff2f7;color:#718097;line-height:1.5}td strong{font-weight:550;color:#425169}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdff}.person-cell{display:flex;align-items:center;gap:10px;min-width:150px}.customer-avatar{width:33px;height:33px;border-radius:9px;background:#edf2fb;font-size:10px}.person-cell small{display:block;margin-top:3px;font-size:9px;color:#a0a9b6}.badge{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 8px;border-radius:5px;background:#f1f4f8;color:#8795a8;font-size:9px;line-height:1.2}.badge.success{background:#eef8f3;color:#4b9f81}.badge.warning{background:#fff7e8;color:#bb974d}.equipment-count{display:flex;align-items:center;gap:6px;font-size:11px;color:#7d8ba1}.equipment-count lw-icon{width:14px;height:14px}.readiness{padding-bottom:20px}.readiness>.panel-heading>lw-icon{color:#a5b6c8}.connection-item{margin:0 22px;display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid #f2f4f8}.connection-symbol{width:29px;height:29px;border-radius:7px;display:grid;place-items:center;font-weight:700;font-size:12px}.supabase{background:#e9f9ef;color:#54ae84}.cloudflare{background:#fff3e9;color:#df9a53}.node{background:#eef3f8;color:#7092ac}.connection-item strong{font-size:10px;display:block;font-weight:550}.connection-item small{font-size:9px;color:#9ba6b4;display:block;margin-top:4px}.connection-item .badge{margin-left:auto;font-size:8px}.connection-note{display:flex;align-items:flex-start;gap:8px;padding:13px;border-radius:7px;background:#f8fafc;margin:17px 22px;color:#95a6b8}.connection-note lw-icon{width:15px;height:15px;margin-top:2px}.connection-note p{font-size:9px;line-height:1.8}.readiness>.text-link{margin:0 22px}.activity-panel .panel-heading{padding-bottom:12px}.activity-row{display:flex;align-items:center;gap:13px;padding:15px 24px;border-top:1px solid #f3f5f8}.activity-dot{width:7px;height:7px;background:#8cafdd;border:3px solid #edf3fa;box-sizing:content-box;border-radius:50%;flex-shrink:0}.activity-row strong{display:block;font-size:11px;font-weight:550}.activity-row small{display:block;color:#98a3b2;font-size:10px;margin-top:5px}.activity-row time{margin-left:auto;color:#a4adba;font-size:9px;white-space:nowrap}.empty-state{padding:44px 25px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px}.empty-icon{display:inline-grid;place-items:center;width:52px;height:52px;background:#f1f5fb;color:#8ca5c5;border:1px solid #e9eef6;border-radius:14px;margin-bottom:3px}.empty-icon lw-icon{width:25px;height:25px}.empty-state h3{font-size:14px;font-weight:550}.empty-state p{font-size:11px;line-height:1.8;color:#8d9bac;max-width:360px}.empty-state .button{margin-top:7px}.inline-empty{padding:23px;font-size:11px;color:#98a5b5;line-height:1.8}.toolbar{display:flex;align-items:center;gap:15px;padding:20px 23px}.search-field{display:flex;align-items:center;gap:9px;border:1px solid #e6ebf2;border-radius:7px;background:#fbfcfe;padding:0 12px;flex:1;max-width:420px;color:#99a8bc}.search-field lw-icon{width:16px;height:16px}.search-field input{border:0;background:transparent;min-width:0;width:100%;height:38px;font-size:11px;color:var(--ink)}.search-field input::placeholder{color:#a3aebc}.toolbar select{max-width:240px}.result-count{margin-left:auto;font-size:10px;color:#a0aaba;white-space:nowrap}select,input,textarea{border:1px solid #dfe6ef;border-radius:7px;background:#fff;color:#4a5d76;padding:10px 12px;font-size:12px;max-width:100%}select{min-height:39px}code,.mono{font-family:Consolas,monospace;font-size:11px}.block{display:block}.block small,small.block{font-size:9px;color:#98a5b5;margin-top:5px}.back-link{font-size:11px;display:inline-block;color:#8395ac;margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:23px;margin-bottom:25px}.detail-card{padding-bottom:23px}.detail-card dl{padding:0 24px}.panel dl{margin:5px 0 0}dt{font-size:9px;color:#a0a9b5;letter-spacing:.3px;margin-top:18px}dd{font-size:12px;color:#5d6e84;margin:7px 0 0;line-height:1.6;overflow-wrap:anywhere}.preserve-lines{white-space:pre-wrap}.connection-empty{display:flex;align-items:center;flex-direction:column;text-align:center;gap:13px;padding:12px 35px 22px}.connection-empty h3{font-size:14px}.connection-empty p{font-size:11px;color:#8b9bae;line-height:1.8}.full{display:flex;margin:0 23px;width:calc(100% - 46px)}.info-strip{display:flex;gap:10px;align-items:center;margin-top:20px;padding:16px 20px;border:1px solid #e7edf5;background:#f0f4f9;border-radius:8px;color:#8496aa}.info-strip p{font-size:11px;line-height:1.7}.integration-hero{padding:42px 25px;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center;margin-bottom:24px;background:radial-gradient(ellipse at top,#eef4fd,#fff 75%)}.integration-symbol{width:62px;height:62px;border:1px solid #dce8f7;background:#fff;border-radius:17px;display:grid;place-items:center;color:#7e9bbf;box-shadow:0 6px 18px #4266a00c}.integration-symbol lw-icon{width:29px;height:29px}.integration-hero h2{font-size:23px;font-weight:550;letter-spacing:-.5px}.integration-hero p{max-width:510px;font-size:12px;line-height:1.9;color:#8c9aab}.integration-hero .button{margin-top:7px}.settings-card{padding:25px}.settings-card h2{font-size:16px;font-weight:550;margin:17px 0 12px}.settings-card>p{font-size:11px;color:#8b98aa;line-height:1.9}.settings-card dl{margin:22px 0}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 13px}.settings-card>.block{line-height:1.7}.checklist{list-style:none;margin:24px 0;padding:0;display:grid;gap:18px;font-size:11px;color:#6f8198}.checklist li{display:flex;align-items:center;gap:10px}.checklist lw-icon{color:#53a38a;width:16px;height:16px}.pending-circle{width:14px;height:14px;border:1px solid #ccd5e2;border-radius:50%;margin:0 1px}.settings-card .connection-note{margin:24px 0 0}.danger-zone{display:flex;justify-content:space-between;align-items:center;padding:24px;gap:20px}.danger-zone h2{font-size:13px;font-weight:550}.danger-zone p{font-size:11px;color:#95a2b2;margin-top:8px}.modal-backdrop{position:fixed;inset:0;z-index:80;background:#17293f75;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{background:#fff;border-radius:14px;width:min(620px,100%);max-height:calc(100dvh - 50px);overflow:auto;box-shadow:0 20px 70px #0c203a33;padding:26px}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal h2{font-size:23px;letter-spacing:-.5px;font-weight:600}.form-hint{font-size:11px;color:#95a1b0;line-height:1.8;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#6b7b91}.form-grid small{font-size:9px;color:#99a6b6;line-height:1.6}.span-2{grid-column:1/-1}.form-grid textarea{resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--border)}.form-error{margin:15px 0;padding:12px;background:#fff1f0;border-radius:7px;color:#b6554d;font-size:11px;line-height:1.7}.toast{position:fixed;right:25px;bottom:25px;z-index:100;background:#223850;color:#eff6ff;border-radius:10px;padding:13px 13px 13px 20px;display:flex;align-items:center;gap:18px;font-size:12px;box-shadow:0 10px 30px #18314433;max-width:calc(100% - 30px)}.toast button{background:transparent;color:#b9cfe5;display:grid;place-items:center;width:30px;height:30px}.toast lw-icon{width:16px;height:16px}.storage-error{position:fixed;bottom:0;left:0;right:0;background:#ffe4db;color:#8e3426;padding:16px;z-index:110;font-size:12px}.scrim{display:none}@media(min-width:1500px){main{padding-top:42px}.welcome-banner{min-height:270px}.house-illustration{right:90px;top:22px}.overview-columns{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}@media(max-width:1200px){.app-shell{grid-template-columns:220px minmax(0,1fr)}aside{width:220px;padding-left:12px;padding-right:12px}.workspace-chip{gap:7px}.brand{font-size:23px}main{padding:28px 24px}.topbar{padding:0 24px}.overview-columns{grid-template-columns:1fr}.readiness{display:none}.house-illustration{right:10px;transform:scale(.85);transform-origin:right center}.stats-grid{gap:12px}.stat-card{padding:14px}.stat-top{font-size:9px}.stat-icon{width:27px;height:27px}td,th{padding-left:16px;padding-right:16px}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.app-main{grid-column:1}aside{transform:translate(-100%);transition:transform .2s;width:250px}aside.open{transform:none}.mobile-menu{display:inline-flex}.scrim{display:block;position:fixed;inset:0;background:#17293f60;z-index:25}.topbar{gap:13px;height:65px}.breadcrumb{margin-right:auto}.house-illustration{right:30px;transform:scale(.85)}.detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){main{padding:23px 17px}.topbar{padding:0 14px;gap:6px}.breadcrumb{font-size:10px;gap:6px}.breadcrumb>strong{display:none}.topbar-right{gap:7px}.top-divider,.topbar-right>.avatar{display:none}.demo-tag{font-size:9px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading .button{min-height:36px;padding:0 11px;font-size:10px;margin-top:15px}.page-heading .button lw-icon{display:none}h1{font-size:24px}.eyebrow{font-size:8px;letter-spacing:1px}.page-heading p:not(.eyebrow){font-size:11px;max-width:230px}.welcome-banner{padding:23px;min-height:240px}.welcome-banner h2{font-size:27px}.welcome-banner p{max-width:215px;font-size:10px}.house-illustration{right:-70px;top:20px;transform:scale(.6);opacity:.45;pointer-events:none}.welcome-banner>div:first-child{z-index:4;position:relative}.banner-label{font-size:7px}.stats-grid{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.stat-card{padding:16px}.stat-top{font-size:10px}.stat-card>strong{font-size:28px}.stat-card>small{font-size:8px}.overview-columns{margin-bottom:20px}.panel-heading{padding:19px 17px}.panel-heading p{font-size:9px}.panel-heading .button{padding:0 10px;font-size:9px}.panel-heading .button lw-icon{display:none}.text-link{font-size:9px}.panel-heading h2{font-size:13px}table{min-width:560px}td,th{padding-left:17px;padding-right:17px}.toolbar{flex-wrap:wrap;padding:17px;gap:12px}.search-field{flex-basis:100%;max-width:none}.toolbar select{flex:1;max-width:none;font-size:11px}.result-count{font-size:9px}.detail-grid{grid-template-columns:1fr;gap:18px}.activity-row{padding:15px 17px;gap:10px}.activity-row time{font-size:8px}.activity-row small{max-width:180px;font-size:9px;line-height:1.6}.activity-row strong{font-size:10px}.modal-backdrop{padding:10px}.modal{padding:21px;max-height:calc(100dvh - 20px)}.form-grid{grid-template-columns:1fr;gap:14px}.modal h2{font-size:21px}.span-2{grid-column:auto}.danger-zone{align-items:flex-start;flex-direction:column}.settings-card{padding:22px}.button-row .button{font-size:10px}.integration-hero{padding:32px 21px}.integration-hero h2{font-size:21px}.integration-hero p{font-size:11px}.info-strip{align-items:flex-start;padding:14px}.info-strip p{font-size:10px}.info-strip lw-icon{width:16px;height:16px;flex-shrink:0}footer{padding:10px 18px 22px;font-size:9px}.toast{right:15px;bottom:15px;font-size:11px}}.login-layout{min-height:100dvh;display:grid;place-items:center}.login-card{width:min(450px,100%);padding:35px}.login-card .brand{margin-bottom:30px;padding:0}.login-card h1{font-size:25px}.login-card>p{font-size:12px;color:#7d8a9b;line-height:1.7;margin:16px 0 24px}.login-card label,.ha-content label{display:grid;gap:8px;font-size:12px;margin:16px 0}.login-card .button{width:100%;margin:7px 0}.ha-panel{margin-bottom:24px}.ha-content{padding:0 24px 24px}.ha-content p{font-size:12px;line-height:1.7;margin-bottom:15px}.ha-content details{padding-top:20px;border-top:1px solid #e5ebf3;margin-top:20px}.ha-content summary{cursor:pointer;font-size:13px;margin-bottom:15px}.ha-content input{width:100%}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
