.iot-shell{min-height:100vh;background:#f3f6f9;color:#1d262e;font-size:14px}.iot-shell button{font:inherit;min-height:44px}.iot-shell svg{flex-shrink:0}.iot-app-header{display:flex;align-items:center;gap:28px;min-height:72px;padding:10px 32px;background:#111b20;color:#fff;border-bottom:1px solid #293439}.iot-header-section{font-size:13px;color:#b3c1c7}.iot-profile-menu{min-width:0;display:flex;align-items:center;gap:10px;margin-left:auto;font-size:12px}.iot-profile-menu>span:not(.iot-avatar){max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iot-avatar{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;background:#f1dbc7;color:#53535b;font-size:12px;font-weight:700;flex-shrink:0}.iot-profile-menu button{flex-shrink:0;border:1px solid #52666f;border-radius:5px;background:transparent;color:#e1ebef;font-size:12px;padding:8px 12px}.iot-workspace{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 72px)}.iot-sidebar{min-width:0;background:#152127;color:#bdc8ce;display:flex;flex-direction:column;padding:25px 13px 16px}.iot-sidebar nav{display:flex;flex-direction:column;gap:6px}.iot-sidebar nav button,.iot-sidebar nav a{min-height:44px;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:5px;color:#c9d4d9;background:transparent;text-align:left;text-decoration:none;font-size:12px;font-weight:500}.iot-sidebar nav a:hover{background:#ffffff09;color:#fff}.iot-sidebar nav button:disabled{opacity:.65;cursor:default}.iot-sidebar nav button.active{background:linear-gradient(100deg,#76dfad,#57d19f);color:#153c32;font-weight:650;box-shadow:0 2px 8px #060e1444}.iot-sidebar-help{margin:12px 0;padding:0 10px;font-size:12px;color:#c9d4d9}.iot-sidebar-help summary{cursor:pointer;min-height:44px;padding:10px 0;line-height:1.6}.iot-sidebar-help p{margin:0;color:#c9d4d9;font-size:12px;line-height:1.7}.iot-personal-links{display:flex;flex-direction:column;gap:4px;border-top:1px solid #314148;margin-top:12px;padding:16px 10px;font-size:12px}.iot-personal-links>span{color:#c9d4d9;margin-bottom:6px;line-height:1.5}.iot-personal-links a{min-height:44px;display:flex;align-items:center;color:#8fe7bd}.iot-personal-links small{color:#c9d4d9;font-size:12px;line-height:1.6}.iot-sidebar-bottom{margin-top:auto;border-top:1px solid #314148;padding:20px 6px 0;display:flex;gap:10px;align-items:center;font-size:12px}.iot-sidebar-bottom>span:last-child{min-width:0}.iot-sidebar-bottom small{display:block;font-size:12px;line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.iot-main{min-width:0;margin:0;padding:34px 38px;background:#f3f6f9}.iot-content{max-width:1180px;margin:0 auto}.iot-page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.iot-eyebrow{color:#627481;letter-spacing:1.2px;font-size:12px;font-weight:650}.iot-page-heading h1{margin:6px 0 0;font-size:25px;line-height:1.3;letter-spacing:-.7px;font-weight:700}.iot-shell button.iot-primary{background:linear-gradient(110deg,#099c77,#078970);border:1px solid #078970;color:#fff;box-shadow:0 3px 7px #00a97b14}.iot-shell button.iot-primary:hover:enabled{background:#078366}.iot-add-device{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:5px;font-size:12px!important}.iot-add-device:disabled{opacity:.65;cursor:default}.iot-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px}.iot-toolbar p{color:#607380;font-size:12px;margin:0}.iot-shell button.iot-refresh{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid #d8e2e7;color:#526b78;padding:8px 10px;font-size:12px}.iot-device-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.iot-device{display:flex;flex-direction:column;min-width:0;min-height:215px;margin:0;padding:23px 20px 18px;border:1px solid #e3e9ef;border-radius:8px;background:#fff;box-shadow:0 2px 6px #27334c03;overflow-wrap:anywhere}.iot-device-summary{display:flex;align-items:center;gap:13px}.iot-device-summary>svg{color:#33434c;width:27px;height:29px}.iot-device h3{font-size:14px;margin:0 0 5px;font-weight:650;line-height:1.4}.iot-device-summary p{font-size:12px;margin:0 0 6px;color:#607380}.iot-device-status{display:flex;align-items:center;gap:5px;color:#607380;font-size:12px;line-height:1.5}.iot-device-status:before{content:"";width:6px;height:6px;flex-shrink:0;background:#8395a0;border-radius:50%}.iot-device-status.confirmed{color:#09804e}.iot-device-status.confirmed:before{background:#0b9b65}.iot-confirmed-state{color:#607380;font-size:12px;line-height:1.6;margin:14px 0 5px}.iot-confirmed-state strong{font-weight:650;color:#3c5462}.iot-device-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:auto;padding-top:15px;flex-wrap:wrap}.iot-device-controls>button{min-height:44px;padding:9px 13px;font-size:12px;border:1px solid #d6e0e8;border-radius:5px;background:#f4f6fa;color:#465d6b}.iot-device:has(.iot-primary) .iot-device-controls{justify-content:flex-start}.iot-command-recovery{width:100%}.iot-command-recovery p{margin:0 0 8px;font-size:12px;color:#8e6410}.iot-command-recovery span{display:block;margin-top:4px;font-size:12px}.iot-command-recovery button{width:100%;padding:9px;border:1px solid #b2d5c7;border-radius:4px;background:#eaf8f2;color:#0e7657;font-size:12px}.iot-device-controls>.iot-toggle{position:relative;width:64px;min-height:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent}.iot-toggle:before{content:"";position:absolute;width:44px;height:24px;top:10px;left:10px;border-radius:15px;background:#8c9da9;box-shadow:inset 0 1px 2px #4a5f6710}.iot-toggle.is-on:before{background:#0c9f75}.iot-toggle>span{position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:13px;left:13px;box-shadow:0 1px 3px #47606c33;pointer-events:none;transition:transform .15s}.iot-toggle.is-on>span{transform:translate(20px)}.iot-device-controls>.iot-toggle:disabled{opacity:.7;cursor:default}.iot-unconfigured .iot-device-summary>svg{color:#607380}.iot-unconfigured .iot-device-controls>button:disabled{cursor:default;opacity:.65}.iot-unavailable-note{color:#607380;font-size:12px;line-height:1.6;margin:0 0 18px}.iot-device .iot-unavailable-note{margin:14px 0 0}.iot-sensor-reading{color:#078752;display:flex;gap:7px;align-items:center;font-size:17px}.iot-sensor-reading svg{width:26px;height:26px}.iot-sensor-reading strong{font-size:15px;font-weight:600}.iot-footnote{display:flex;gap:6px;align-items:flex-start;color:#607380;font-size:12px;line-height:1.7;margin:21px 0 0}.iot-notice{padding:12px 15px;border:1px solid #f0d5d5;border-radius:6px;background:#fff4f4;font-size:12px;margin:0 0 15px}.iot-notice.iot-success{border-color:#bdebd5;background:#e9fbf1;color:#12724f}.iot-empty{display:grid;justify-items:center;padding:70px 20px;border:1px solid #e1e8ef;border-radius:8px;background:#fff;color:#607380;text-align:center}.iot-empty>svg{color:#7f9da6}.iot-empty h2{margin:15px 0 7px;color:#43545f;font-size:17px}.iot-empty p{margin:0;font-size:12px}.iot-login{display:grid;grid-template-columns:1fr 1fr;max-width:900px;min-height:470px;margin:70px auto;padding:0;border:1px solid #e2e8ed;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 12px 45px #213d5210}.iot-login-intro{padding:50px 38px 32px;background:#edf9f4;display:flex;flex-direction:column}.iot-login-intro h1{font-size:31px;letter-spacing:-1px;line-height:1.18;margin:15px 0 10px;max-width:250px}.iot-login-intro p{color:#4c6f62;font-size:13px;line-height:1.6;max-width:250px}.iot-login-intro small{font-size:12px;color:#4c6f62;line-height:1.6}.iot-login-illustration{display:grid;place-items:center;flex:1;min-height:160px}.iot-login-illustration svg{width:135px;height:135px;padding:25px;color:#0b8b69;background:#d8f4e8;border:1px solid #c1e9d8;border-radius:25px;transform:rotate(-8deg)}.iot-login-form{padding:43px 35px;display:flex;flex-direction:column;justify-content:center}@media(max-width:1100px){.iot-workspace{grid-template-columns:190px minmax(0,1fr)}.iot-main{padding:28px 22px}.iot-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.iot-device{padding:20px 16px}.iot-sidebar nav button,.iot-sidebar nav a{padding:11px 10px;gap:10px}.iot-app-header{gap:18px}.iot-profile-menu>span:not(.iot-avatar){max-width:220px}}@media(max-width:780px){.iot-workspace{grid-template-columns:1fr}.iot-sidebar{padding:10px 18px}.iot-sidebar nav{flex-direction:row;overflow-x:auto;padding-bottom:5px}.iot-sidebar nav button,.iot-sidebar nav a{flex-shrink:0;padding:10px 12px}.iot-sidebar-bottom{display:none}.iot-personal-links{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 20px;padding:10px 0 0;margin-top:6px}.iot-personal-links>span{width:100%;margin:0}.iot-personal-links small{width:100%}.iot-sidebar-help{margin:4px 0;padding:0}.iot-main{padding:25px 20px}.iot-app-header{min-height:64px;padding:10px 20px}.iot-header-section{display:none}.iot-login{margin:35px 20px}.iot-login-intro,.iot-login-form{padding:35px 25px}}@media(max-width:600px){.iot-app-header{flex-wrap:wrap;gap:12px}.iot-profile-menu{width:100%;gap:8px}.iot-profile-menu>span:not(.iot-avatar){min-width:0;flex:1;max-width:none}.iot-main{padding:22px 16px}.iot-device-grid{grid-template-columns:1fr}.iot-page-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.iot-page-heading h1{font-size:23px}.iot-toolbar{gap:12px;align-items:flex-start;flex-wrap:wrap}.iot-login{display:block;margin:25px 15px}.iot-login-intro,.iot-login-form{padding:25px}.iot-login-intro h1{font-size:26px;max-width:none}.iot-login-illustration{display:none}.iot-login-intro small{margin-top:8px}}.iot-single-screen{max-width:1400px;margin:0 auto;width:100%}.iot-reason-dialog{margin:1.5rem 0;padding:1.5rem;max-width:40rem}.iot-reason-dialog button{padding:.7rem 1rem;border-radius:.4rem}@font-face{font-family:Inter;src:url(/assets/InterVariable-DiVDrmQJ.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#182127;background:#f3f6f8;font-synthesis:none;--green:#0ba87f;--mint:#73e5ad;--dark:#10191f;--muted:#657583;--border:#e5eaf0}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{min-height:44px;border:1px solid var(--border);border-radius:6px;background:#f6f8fa;color:#4c5968;padding:10px 16px;font-size:13px;font-weight:550;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#edf4f1;border-color:#b4d8c9}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #37c79b;outline-offset:3px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;color:#263340;font-size:13px}input::placeholder,textarea::placeholder{color:#a0abb8}input:disabled{background:#f8fafb;color:#9aa5b2}label{display:block;font-size:13px;font-weight:500;color:#455060}label input,label select{margin-top:8px}fieldset{min-width:0;border:0;padding:0;margin:0}legend{padding:0;font-size:24px;font-weight:750;margin-bottom:25px}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;letter-spacing:-.7px}h2{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin-bottom:20px;font-weight:750}h3{font-size:16px;letter-spacing:-.2px;font-weight:650}p{line-height:1.7;font-size:13px}.icon{flex-shrink:0;vertical-align:middle}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.button-primary,button.button-primary{background:linear-gradient(125deg,#12b791,#079b79);border-color:transparent;color:#fff;box-shadow:0 2px 4px #00967212}.button-primary:hover:not(:disabled){background:linear-gradient(125deg,#0fa680,#07896c);border-color:transparent}.button-secondary{background:#f4f7f9;color:#546172}.button-mint{color:#103f2c;background:linear-gradient(120deg,#8ceab5,#50d68d);border-color:transparent}.button-ghost{background:transparent;border-color:transparent}.button-outline{background:transparent;border-color:#506258;color:#8be7b9}.button-small{font-size:12px;padding:7px 11px}.icon-button{width:44px;height:44px;padding:7px;border-radius:5px}.wide{width:100%}.muted,.chart-caption{color:var(--muted);font-size:12px}.app-header{height:70px;background:linear-gradient(100deg,#111a20,#0d171d);color:#d7e0e2;display:flex;align-items:center;padding:0 38px;gap:32px;border-bottom:1px solid #253139;position:relative;z-index:20}.brand{color:#50d799;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.brand>span{font-size:16px;color:#f6fcf9;font-weight:730;letter-spacing:-.4px}.brand em{font-style:normal;color:#5adf9d}.brand-button{background:transparent;border:0;padding:0}.brand-button:hover:not(:disabled){background:transparent}.top-nav{display:flex;height:100%;align-items:stretch;gap:25px}.top-nav button{border:0;background:transparent;color:#b9c3c7;font-weight:450;font-size:12px;padding:0 2px;border-radius:0;border-bottom:2px solid transparent}.top-nav button:hover:not(:disabled){color:#76e6b1;background:transparent}.top-nav button[aria-pressed=true]{color:#61dfa4;border-bottom-color:#50d69b}.header-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.header-login{color:#e2ebed;border-color:#405158;background:transparent}.user-trigger{color:#e2ebed;background:transparent;border:0;padding:7px;display:flex;gap:9px}.user-name{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.avatar{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#d0dcda;color:#475c53;font-size:13px;font-weight:650;border:2px solid #f1f5f3;flex-shrink:0}.mobile-menu-button{display:none;min-width:44px;color:#fff;padding:6px;background:transparent;border:0}.simulation-notice{display:flex;align-items:center;justify-content:center;gap:7px;background:#e9f7f0;color:#477263;font-size:12px;padding:6px 15px;line-height:1.4;letter-spacing:.1px}.main-content{max-width:1280px;margin:0 auto;padding:35px 38px 65px;min-height:calc(100vh - 97px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.page-heading h1,.page-heading h2{margin:0}.page-heading>p{margin:0}.page-heading p{margin:5px 0 0}.panel,.chart-card{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 3px 16px #152b3a04;padding:23px}.panel+.panel{margin-top:20px}.section-label{color:#697785;font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:650}.status-success,[role=status].status-success{background:#e5fbef;border:1px solid #b6efd4;color:#16834b;border-radius:6px;padding:14px 16px;font-size:12px;display:flex;gap:10px;align-items:flex-start}.status-info{background:#eaf3ff;border:1px solid #cde1ff;color:#346fc2;border-radius:6px;padding:12px 14px;font-size:12px;display:flex;align-items:flex-start;gap:8px}[role=alert]{font-size:12px;line-height:1.7;padding:12px 15px;border-radius:6px;background:#fff1f1;border:1px solid #ffd9d9;color:#b64750;overflow-wrap:anywhere}[role=status]{color:#557568;font-size:12px}.badge{display:inline-flex;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:550;background:#f0f3f6;color:#74818c;white-space:nowrap}.badge.success,.badge-success{background:#dcf9e9;color:#0c9a60}.badge.danger,.badge-danger{background:#ffe9e9;color:#e75a64}.badge.warning{background:#fff3d6;color:#d59a15}.tabs{display:flex;gap:3px;background:#f1f3f6;border-radius:20px;padding:3px;width:fit-content;margin-bottom:24px}.tabs button,.tab{background:transparent;border:0;padding:8px 24px;border-radius:18px;font-size:12px;font-weight:500;color:#647080}.tabs button[aria-selected=true],.tabs button[aria-pressed=true],.tab.active{background:linear-gradient(120deg,#12b58d,#079c79);color:#fff;box-shadow:0 2px 4px #06896515}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .span-2{grid-column:1/-1}.back-link{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;font-size:12px;color:#667582;margin-bottom:25px}.hero{min-height:calc(100vh - 97px);position:relative;color:#fff;background:linear-gradient(90deg,#071014e8,#07101494,#07101430),var(--hero-image) center 52%/cover;display:flex;flex-direction:column;padding:clamp(55px,8vh,115px) 7.5% 0}.hero-copy{max-width:600px;padding-bottom:75px}.hero h1{font-size:clamp(44px,5.1vw,76px);line-height:1.12;letter-spacing:-2.2px;margin-bottom:23px;font-weight:760}.hero h1 span{color:#5adf91}.hero-copy>p{max-width:405px;font-size:17px;line-height:1.75;color:#d2dcdf;margin-bottom:28px}.hero-buttons{display:flex;gap:14px}.hero-buttons button{min-width:155px;padding:14px 22px;font-size:13px}.hero-features{margin-top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:26px 0 25px;border-top:1px solid #b9cec11c}.hero-feature{display:flex;align-items:flex-start;gap:14px}.hero-feature .icon{color:#52dd9c;margin-top:3px}.hero-feature h3{color:#e3eeeb;font-size:12px;margin:0 0 4px}.hero-feature p{color:#94a6a9;font-size:10px;margin:0}.hero-available{display:inline-flex;align-items:center;gap:7px;color:#7de2aa;font-size:12px;margin-bottom:21px}.status-dot{width:7px;height:7px;border-radius:50%;background:#45cf89;display:inline-block}.how-section{padding-top:40px;max-width:1080px;margin:auto}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.step-number{width:38px;height:38px;border-radius:50%;background:#e0f8ec;color:#129e71;display:grid;place-items:center;margin-bottom:22px}.auth-layout{min-height:calc(100vh - 97px);display:grid;place-items:center;padding:45px 20px;background:#f5f8fa}.auth-card{width:min(100%,430px);background:#fff;padding:38px;border:1px solid var(--border);border-radius:9px;box-shadow:0 10px 45px #28384506}.auth-card label{margin-bottom:20px}.auth-card fieldset>button{width:100%;margin-top:7px}.auth-subtitle{color:#7f8995;font-size:12px;margin:-12px 0 24px}.auth-footer{text-align:center;margin-top:24px;color:#7b8894}.auth-mark{color:var(--green);margin-bottom:24px}.purchase-page{max-width:1120px;margin:10px auto;display:grid;grid-template-columns:170px minmax(0,1fr);gap:38px;min-height:560px;padding:0}.purchase-intro{border-right:1px solid var(--border);padding:25px 20px}.purchase-content{padding:30px 30px 30px 0}.purchase-content h2{margin-bottom:26px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0 38px}.plan-card{background:#fff;border:1px solid var(--border);border-radius:7px;padding:23px 19px;min-height:235px;display:flex;flex-direction:column;align-items:stretch}.plan-card h3{font-size:14px;margin-bottom:11px}.plan-price{font-size:27px;font-weight:750;letter-spacing:-.8px;margin-bottom:10px;color:#1c252b}.plan-card>p{font-size:12px;color:#84909c}.plan-card button{margin-top:auto}.payment-brands{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.payment-brands>span{height:34px;min-width:57px;border:1px solid var(--border);border-radius:5px;padding:5px 10px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#202831;font-weight:650;background:#fff}.brand-visa{font-style:italic;color:#2143ac!important;font-weight:900!important}.brand-mastercard{display:inline-flex}.brand-mastercard i{display:inline-block;border-radius:50%;width:19px;height:19px;background:#f04432}.brand-mastercard i+i{background:#ffa20b;margin-left:-7px;opacity:.95}.payment-card{max-width:410px;margin:12px auto 0;padding:30px;background:#fff;border:1px solid var(--border);border-radius:8px}.payment-card h2{margin-bottom:8px}.payment-card .status-info{margin:22px 0}.payment-card .form-grid,.card-details{margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.card-preview{padding:14px 0}.card-number{position:relative}.payment-summary{font-size:14px;margin-bottom:7px}.record-id,.payment-order-id{color:#8b97a4;font-size:10px;overflow-wrap:anywhere}.payment-receipt{margin-top:20px}.payment-receipt button{margin-top:14px;width:100%}.admin-layout{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:var(--dark);padding:21px 13px;display:flex;flex-direction:column;gap:6px}.sidebar-label{color:#607078;text-transform:uppercase;letter-spacing:1.6px;font-size:9px;padding:12px 13px 10px;margin:0}.admin-sidebar button,.admin-sidebar a{display:flex;gap:11px;align-items:center;width:100%;text-align:left;justify-content:flex-start;color:#aab8bd;padding:12px 13px;font-size:12px;background:transparent;border:0;border-radius:5px}.admin-sidebar button:hover:not(:disabled),.admin-sidebar a:hover{background:#1b2c2c;color:#e2f5e9;text-decoration:none}.admin-sidebar button[aria-pressed=true],.admin-sidebar a.active{background:linear-gradient(120deg,#8fe4bc,#55d59a);color:#143b2a;font-weight:650}.admin-sidebar button:disabled{opacity:.4}.admin-content{min-width:0;padding:30px 32px 50px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat-card{border:1px solid var(--border);background:linear-gradient(120deg,#fafbfd,#f4f6f9);padding:20px;border-radius:7px}.stat-label{display:block;color:#778493;font-size:12px;margin-bottom:11px}.stat-value{display:block;font-size:27px;line-height:1.2;font-weight:750;letter-spacing:-.8px;margin-bottom:7px}.stat-note{font-size:11px;color:#139e72}.chart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px}.chart-card h3{font-size:14px;margin-bottom:22px}.chart-svg{display:block;width:100%;height:auto;max-height:270px}.chart-legend{display:flex;gap:15px;flex-wrap:wrap;align-items:center;font-size:10px;color:#82909d;margin:10px 0 18px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot,.chart-legend i{width:7px;height:7px;border-radius:50%;background:#13b788;display:inline-block}.chart-caption{line-height:1.6;margin:14px 0 0}.chart-empty{min-height:140px;display:grid;place-items:center;text-align:center;color:#93a0ad;font-size:12px;border-radius:5px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 34px,#f1f4f7 35px);padding:25px}.donut-layout{display:flex;align-items:center;justify-content:space-evenly;gap:15px}.donut-chart{width:170px;max-width:55%}.donut-legend{font-size:11px;color:#7d8d99;list-style:none;padding:0}.donut-legend li{margin-bottom:14px}.donut-legend .legend-dot{margin-right:7px}.table-wrap{position:relative;overflow:auto;overscroll-behavior-x:contain;width:100%;background:#fff;border-radius:7px;border:1px solid var(--border)}.data-table,.order-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}.data-table th,.order-table th{background:#f5f7fa;color:#7c8795;font-size:11px;font-weight:550;padding:14px 17px}.data-table td,.order-table td{border-bottom:1px solid #eef1f5;padding:15px 17px;color:#526071}.data-table tbody tr:last-child td,.order-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover,.order-table tbody tr:hover{background:#fcfefd}.table-panel{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px}.table-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:20px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.filters select,.date-control{width:auto;min-width:130px}.search-field,.search-input{position:relative;width:100%;margin-bottom:20px}.search-field input,.search-input input{padding-left:37px}.search-field>.icon,.search-input>.icon{position:absolute;left:12px;top:12px;color:#98a6b3}.table-empty{text-align:center;padding:30px;color:#8995a2}.event-result{display:inline-flex;align-items:center;gap:7px}.event-result.success{color:#16aa72}.event-result.danger{color:#ed6066}.event-result.warning{color:#d49c2d}.occupancy-panel{max-width:440px;margin:10px auto}.occupancy-count{font-size:38px;font-weight:750;margin:15px 0 5px;letter-spacing:-1px}.occupancy-live{display:flex;align-items:center;gap:9px;color:#14a36f;font-size:13px}.occupancy-meter{height:17px;background:#e8f0ed;border-radius:4px;overflow:hidden;margin:18px 0}.occupancy-meter>span{display:block;height:100%;background:linear-gradient(90deg,#0faa87,#72dcb5)}.occupancy-forecast{border-top:1px solid var(--border);margin-top:25px;padding-top:25px}.forecast-grid{min-height:100px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 25px,#eef2f5 26px);display:grid;place-items:center;color:#9aa5af;font-size:12px}.revenue-total{font-size:34px;font-weight:750;margin:25px 0}.membership-page{max-width:1050px;margin:auto}.membership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px}.membership-card{padding:26px;border:1px solid var(--border);background:#fff;border-radius:8px}.card-heading,.membership-title{display:flex;gap:12px;align-items:center;margin-bottom:20px}.card-heading h3,.membership-title h3{flex:1;margin:0}.membership-icon{color:#13a67a;background:#e6faef;padding:10px;border-radius:6px;display:inline-flex}.qr-display{padding:22px;border:1px solid var(--border);border-radius:6px;width:fit-content;background:#fff;margin:20px auto}.qr-display svg{display:block;width:min(220px,55vw);height:auto}.qr-page{max-width:380px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:8px;padding:25px;text-align:center}.qr-page .status-success{text-align:left;margin-bottom:20px}.qr-details{font-size:12px;color:#7a8795;text-align:center}.qr-details strong{color:#159b68;font-weight:600}.membership-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.recovery-panel{background:#fff9eb;border-color:#f1dba4;margin-bottom:22px}.recovery-panel p{overflow-wrap:anywhere}.progress-track{height:8px;border-radius:5px;background:#edf1f3;overflow:hidden;margin:18px 0 8px}.progress-track>span{height:100%;display:block;background:#13a782;border-radius:inherit}.profile-panel{max-width:800px;margin:auto}.profile-summary{display:flex;gap:20px;background:#fff;padding:25px;border:1px solid var(--border);border-radius:7px;overflow-wrap:anywhere}.membership-summary{border:1px solid #e5eeea;border-radius:7px;padding:22px;background:#fff;margin-bottom:16px;display:flex;gap:18px}.membership-details{min-width:0;flex:1}.membership-details p{font-size:12px;color:#81909a;margin-bottom:9px}.membership-progress{display:flex;align-items:center;gap:15px;font-size:12px;color:#83919b}.membership-progress .progress-track{flex:1}.profile-summary dt{color:#86929d;font-size:12px;margin-top:18px}.profile-summary dd{margin:6px 0 0;font-size:14px}.profile-summary dd:first-of-type{font-size:19px;font-weight:650}.chat-page{max-width:760px;margin:auto}.chat-window{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 3px 16px #152b3a04}.chat-header{padding:15px 20px;display:flex;align-items:center;gap:10px;background:var(--dark);color:#fff}.chat-header h2{font-size:15px;letter-spacing:0;margin:0}.chat-header .icon{color:#53d99b}.chat-header .icon-button{margin-left:auto;color:#a8b7ba;background:transparent;border:0}.chat-body{padding:24px;min-height:260px;max-height:520px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.chat-message{display:flex;gap:10px;align-items:flex-start;max-width:90%}.chat-bubble{background:#f1f4f7;padding:14px 17px;border-radius:3px 12px 12px;color:#526171;font-size:13px;line-height:1.75}.chat-message.outgoing{align-self:flex-end}.chat-message.outgoing .chat-bubble{background:linear-gradient(120deg,#16b991,#079c7a);color:#fff;border-radius:12px 3px 12px 12px}.chat-sources{font-size:11px;color:#809181;margin-top:10px}.chat-sources ul{padding-left:15px;margin-bottom:0}.chat-suggestions{padding:0 22px 18px;display:flex;gap:9px;flex-wrap:wrap}.chat-suggestions button{font-size:11px;padding:7px 10px}.chat-form{border-top:1px solid var(--border);display:flex;gap:10px;padding:16px 22px}.chat-form label{flex:1}.chat-form input{margin:0;border:0;background:#f4f7fa}.chat-form button{color:#fff;background:#8d9ba4;border:0;width:42px}.chat-privacy{font-size:10px;color:#8a97a3;margin:12px 0 0;text-align:center}.chat-launcher{position:fixed;bottom:25px;right:28px;display:flex;align-items:center;gap:9px;background:#0ba981;color:#fff;padding:13px 18px;border:0;border-radius:25px;box-shadow:0 5px 20px #007c6733;z-index:25}.purchase-content .plan-price{color:#182127;font-size:27px;font-weight:750}.payment-methods{display:block}.payment-methods h3{font-size:12px;margin-bottom:0}.payment-methods small{display:block;margin-top:10px}.text-button{border:0;background:transparent;color:#698277;padding:0;font-size:11px}.refresh-link{margin-top:26px}.brand-google b{color:#4285f4}.payment-card .card-preview,.card-number{display:block}.card-number input{padding-right:50px}.card-number b{position:absolute;right:12px;top:19px;font-size:11px}.payment-card>button{width:100%}.payment-card .status-success{display:flex;flex-direction:column;gap:5px}.payment-card .status-success strong{display:flex;align-items:center;gap:6px}.payment-receipt small{display:block;overflow-wrap:anywhere;font-size:10px}.qr-page .membership-card{padding:0;border:0}.qr-page .card-heading,.qr-page .membership-validity,.qr-page .membership-count{display:none}.qr-page .page-heading h2{font-size:17px}.qr-page .page-heading{gap:8px}.qr-page .qr-display{padding:16px;margin-top:14px}.wallet-button{background:#111b20;color:#fff;padding:10px 13px;margin:18px auto 5px;opacity:.6!important;font-size:11px}.wallet-button span{color:#4fdf85}.qr-page .membership-actions{justify-content:center}.auth-layout>.page-content{width:min(100%,430px)}.auth-card legend{line-height:1.4}.auth-footer{font-size:12px}.auth-card .auth-footer{margin-top:20px}.auth-card .auth-footer p{margin-bottom:0}.chart-card h2{font-size:16px;margin-bottom:20px;letter-spacing:-.25px}.profile-summary>.avatar{width:50px;height:50px;font-size:23px}.profile-summary h3{margin-bottom:8px}.profile-summary p{margin-bottom:6px}.revenue-total>span{display:block;font-size:14px;font-weight:500;margin-bottom:20px}.revenue-total strong{display:block;margin-bottom:22px}.search-field>span{position:absolute;left:12px;top:9px;font-size:20px;color:#8e9ba8}.table-toolbar .search-field,.table-toolbar .search-input{margin-bottom:0}.empty-state{padding:22px;color:#8897a3;text-align:center}.page-intro{margin:-10px 0 22px}.eyebrow{color:#84958d;letter-spacing:1.5px;font-size:10px}.occupancy-page{max-width:440px;margin:auto}.occupancy-page .page-heading h2{font-size:22px}.occupancy-page .occupancy-panel{margin:0}.occupancy-live{flex-wrap:wrap}.occupancy-live .muted{width:100%}.auth-card .form-grid{display:block}.auth-card .form-grid small{display:block;margin-bottom:18px}.auth-card .form-grid button{margin-top:8px}.auth-layout .auth-footer .button-ghost{padding:4px 3px;color:var(--green)}.donut-chart{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut-chart>span{width:64%;aspect-ratio:1;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;font-weight:650;color:#314151}.donut-chart small{display:block;font-size:9px;color:#99a5af;font-weight:400;margin-top:5px}.donut-legend>div{display:flex;gap:8px;align-items:flex-start;margin-bottom:19px}.donut-legend i{width:7px;height:7px;border-radius:50%;display:inline-block;margin-top:3px}.donut-legend strong{display:block;font-size:12px;margin-top:4px;font-weight:600;color:#6b7d8c}.occupancy-count>span{display:block;color:#8c99a5;font-size:12px;font-weight:400;letter-spacing:0;margin-top:8px}.occupancy-meter{display:flex;gap:2px}.occupancy-meter>span{flex:1;background:#cad8d0}.occupancy-meter>span:first-child{background:#43bf98}.occupancy-meter>span:nth-child(2){background:#82d6b4}.occupancy-meter>span:nth-child(3){background:#e0e8cf}.occupancy-forecast h2{font-size:15px;margin-bottom:15px}.forecast-grid{display:block;min-height:125px}.occupancy-page h1{font-size:22px}.admin-sidebar>a{margin-top:3px}.order-page{max-width:1050px;margin:auto}.membership-grid .membership-card h3{font-size:14px}.membership-page .page-heading{margin-bottom:23px}.badge-warning{background:#fff2d5;color:#c09222}@media(max-width:1050px){.app-header{gap:24px;padding:0 22px}.top-nav{display:none;position:absolute;top:100%;left:0;right:0;height:auto;padding:10px 22px;background:#13232a;flex-wrap:wrap;gap:5px 18px;border-top:1px solid #314147}.top-nav.is-open{display:flex}.top-nav button{min-height:44px;padding:10px 8px}.mobile-menu-button{display:inline-flex}.user-name{max-width:100px}.admin-layout{grid-template-columns:190px minmax(0,1fr)}.admin-content{padding:25px 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.plan-grid{gap:13px}.chart-grid{grid-template-columns:1fr}.purchase-page{grid-template-columns:110px minmax(0,1fr);gap:25px}.purchase-content{padding-right:25px}}@media(max-width:760px){.app-header{height:62px;padding:0 17px;gap:14px}.brand>span{font-size:14px}.brand svg{width:23px}.header-actions{gap:6px}.header-login,.header-actions>.button-mint{padding:8px 10px;font-size:11px}.mobile-menu-button{display:inline-flex}.top-nav{padding:10px 17px}.user-name{max-width:85px}.main-content{padding:25px 17px 75px}.hero{min-height:calc(100svh - 89px);padding:50px 27px 0;background-position:center,63% center}.hero-copy{padding-bottom:50px}.hero h1{font-size:47px;letter-spacing:-1.7px}.hero-copy>p{font-size:14px;max-width:300px}.hero-buttons{gap:10px}.hero-buttons button{min-width:0;padding:12px 17px;font-size:12px}.hero-features{grid-template-columns:repeat(2,1fr);gap:23px 15px;padding:24px 0}.hero-feature{gap:9px}.hero-feature h3{font-size:12px}.hero-feature p{font-size:12px;line-height:1.5;color:#bdcfce}.hero-feature .icon{width:19px}.purchase-intro{border:0;padding:20px 20px 0;min-height:auto}.purchase-content{padding:0 20px 25px}.purchase-page{margin:0;display:block}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.plan-card{padding:19px 15px}.plan-price{font-size:24px}.admin-layout{display:block}.admin-sidebar{display:flex;flex-direction:row;overflow-x:auto;padding:9px 12px;gap:5px}.admin-sidebar button,.admin-sidebar a{width:auto;flex-shrink:0;padding:10px 13px;white-space:nowrap}.sidebar-label{display:none}.admin-content{padding:23px 17px 75px}.stats-grid{gap:11px}.stat-card{padding:15px}.stat-value{font-size:23px}.stat-label{font-size:11px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:13px}h2{font-size:23px}.chart-card,.panel{padding:19px}.membership-grid,.how-steps{grid-template-columns:1fr}.chat-launcher{bottom:18px;right:18px;padding:12px 15px}.chat-body{padding:18px 15px}.chat-message{max-width:96%}.chat-form{padding:14px}.auth-card{padding:28px 24px}.profile-summary{padding:20px}.tabs{max-width:100%;flex-wrap:wrap}.tabs button{padding:8px 13px}.payment-card{padding:25px}.table-panel{padding:17px}}.page-content{min-width:0}.chart-grid>.panel{margin-top:0}.chart-card{min-width:0}.filters,.filters input,.filters select{max-width:100%;min-width:0}.page-heading>.filters{flex-wrap:wrap}.membership-summary>.membership-icon{align-self:flex-start;width:47px;height:47px;flex-shrink:0}.membership-page .membership-icon{align-self:center}.payment-card,.qr-page{max-width:100%}.payment-receipt{overflow-wrap:anywhere}.admin-content>.page-content{min-width:0}.profile-panel .tabs{width:100%;border-radius:6px}.profile-panel .tabs button{flex:1;border-radius:5px}.profile-panel .tabs button[aria-selected=true]{background:#e5faf1;color:#0e9d73}@media(max-width:1050px){.chart-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.user-name{display:none}.header-actions{gap:2px}.user-trigger{gap:5px;padding:4px}.app-header{gap:10px}.header-actions>.button-small{font-size:10px}.admin-sidebar{max-width:100%;min-width:0}.page-heading>.filters{width:100%}.filters input[type=date]{flex:1;width:140px}.filters select{flex:1;width:130px}.filters .icon-button{flex:0 0 44px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-width:0}.stat-value{overflow-wrap:anywhere}.donut-layout{flex-wrap:wrap}.profile-panel .membership-summary{padding:18px;gap:12px}.profile-panel .membership-title{align-items:flex-start;flex-wrap:wrap}.occupancy-page .page-heading{flex-wrap:nowrap}.occupancy-page h1{font-size:20px}.qr-page .page-heading{flex-wrap:nowrap}.qr-page .page-heading h2{font-size:16px}}.admin-sidebar .sidebar-brand{padding:7px 10px 24px}.sidebar-navigation{display:flex;flex-direction:column;gap:6px;min-width:0}.sidebar-account{margin-top:auto;border-top:1px solid #293a3d;padding-top:16px;display:flex;gap:4px;align-items:center;min-width:0}.sidebar-account>button:first-child{flex:1;min-width:0;padding:7px}.sidebar-account>button:first-child>span:last-child{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:10px}.sidebar-account>.icon-button{width:44px;flex:0 0 44px;padding:8px}.sidebar-account .avatar{width:25px;height:25px}.sidebar-label{font-size:8px;padding:4px 10px 16px}.admin-content{padding-top:28px}.admin-sidebar a{margin-top:0}@media(max-width:760px){.admin-sidebar{flex-direction:column;gap:0;padding:13px 14px 10px;position:relative}.admin-sidebar .sidebar-brand{padding:0 0 15px;width:fit-content}.sidebar-navigation{flex-direction:row;overflow-x:auto;gap:5px;width:100%;padding-top:4px}.sidebar-navigation>button,.sidebar-navigation>a{flex-shrink:0;width:auto}.sidebar-account{position:absolute;right:14px;top:9px;border:0;padding:0;margin:0;width:105px}.sidebar-account>button:first-child>span:last-child{display:none}.sidebar-account>button:first-child{width:44px;flex:0 0 44px;padding:6px}.admin-content{padding-top:23px}.admin-sidebar>.sidebar-label{display:none}}.qr-page{width:min(100%,380px)}.payment-card{width:min(100%,410px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.unavailable-note{color:#607080;font-size:12px;line-height:1.65;margin:-8px 0 20px}.table-scroll-hint{display:none;color:#657583;font-size:12px;line-height:1.6;margin:0 0 10px}.table-wrap:focus-visible{outline:3px solid #37c79b;outline-offset:3px}.sidebar-help{color:#b6c4c8;font-size:12px;line-height:1.6;padding:8px 12px}.sidebar-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.sidebar-help p{font-size:12px;line-height:1.6;margin:0 0 10px}.sidebar-personal-label{padding:12px;color:#b6c4c8;font-size:12px}.admin-sidebar .sidebar-label{font-size:11px;color:#a9babf}.record-id,.payment-order-id,.payment-receipt small{font-size:12px;color:#657583}.badge,.stat-note{font-size:12px}.stat-label{color:#657583}.data-table th,.order-table th{font-size:12px;color:#657583}.profile-panel .membership-details p{color:#657583}.profile-panel .membership-title{flex-wrap:wrap}.profile-panel .membership-summary{min-width:0}.profile-panel .membership-progress{flex-wrap:wrap}.profile-panel .membership-progress small{font-size:12px}.profile-summary>div{min-width:0}@media(max-width:1050px){.app-header,.header-actions{min-width:0}.top-nav{max-height:calc(100svh - 150px);overflow-y:auto}.header-actions button{min-height:44px}.user-name{max-width:220px}.table-scroll-hint{display:block}.admin-sidebar .sidebar-help{flex:0 0 100%}}@media(max-width:760px){.user-trigger{width:44px;height:44px;justify-content:center}.user-trigger>.icon{display:none}.header-actions>.button-small{min-width:44px;font-size:12px}.admin-sidebar{overflow:visible}.sidebar-navigation{padding-bottom:5px}.sidebar-account{width:92px}.sidebar-account>button{min-height:44px}.sidebar-help{max-width:100%;padding:6px 0}.sidebar-help summary{justify-content:flex-start}.sidebar-account>button:first-child>span:last-child{display:none}}@media(max-width:480px){.app-header{height:auto;min-height:64px;flex-wrap:wrap;padding:9px 15px;gap:4px 12px}.mobile-menu-button{margin-left:auto}.header-actions{flex:1 0 100%;justify-content:flex-end;gap:8px}.header-actions .header-login,.header-actions>.button-mint{font-size:12px;padding:8px 12px}.header-actions>.icon-button,.header-actions>.button-small:has(svg){width:44px;padding:8px}.app-header .brand-button{min-height:44px}.simulation-notice{font-size:12px}.profile-panel .membership-summary{padding:16px;gap:10px}.profile-panel .membership-summary>.membership-icon{width:38px;height:38px;padding:6px}.membership-title{gap:8px}.tabs button{font-size:12px}.profile-summary{gap:12px;padding:18px}.profile-summary>.avatar{width:38px;height:38px;font-size:18px}.profile-panel .tabs{gap:4px}.data-table td,.order-table td{padding:13px}}.consent-field{display:flex!important;align-items:flex-start;gap:.65rem}.consent-field input{width:auto;margin-top:.2rem;flex-shrink:0}.account-qr{max-width:38rem;margin:1.5rem auto}.occupancy-home{max-width:62rem;margin:2rem auto}.aggregate-bars{display:grid;gap:.7rem;margin:1rem 0;max-height:22rem;overflow:auto}.aggregate-bar{display:grid;grid-template-columns:7rem minmax(1rem,1fr) 6rem;gap:.6rem;align-items:center}.aggregate-bar i{display:block;min-height:.8rem;background:#13a980;border-radius:3px}.aggregate-bar strong{text-align:right}.filters label{display:flex;align-items:center;gap:.4rem}.filters input{padding:.5rem;border:1px solid #d2dce2;border-radius:.5rem}.form-grid textarea{min-height:6rem}.data-table td button{margin:.2rem}.data-table td select{max-width:10rem;padding:.3rem}.table-toolbar{flex-wrap:wrap;gap:1rem}@media(max-width:600px){.aggregate-bar{grid-template-columns:5.5rem minmax(1rem,1fr) 4.5rem;font-size:.8rem}.occupancy-home{margin:1rem}}
