@import"https://fonts.googleapis.com/css2?family=Sansation:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap";.screen-network{overflow:hidden;display:flex;flex-direction:column;position:relative;z-index:1;flex:1;min-height:0;width:100%}.network-container{padding:24px;flex:1;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.network-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.network-title{font-size:32px;font-weight:400;font-family:var(--font-heading);font-style:italic;color:var(--text-ink-1);margin:0;letter-spacing:-.3px}.network-subtitle{font-size:14px;color:var(--text-secondary);margin:0;font-weight:400}.network-view-toggle{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;background:var(--glass-bg);border:.33px solid var(--glass-border);border-radius:10px;backdrop-filter:blur(var(--glass-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%)}.view-toggle-btn{min-width:112px;border:0;border-radius:8px;padding:9px 14px;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.view-toggle-btn:hover,.view-toggle-btn:focus-visible{color:var(--text-ink-1)}.view-toggle-btn.active{background:rgba(var(--ar),var(--ag),var(--ab),.12);color:var(--text-ink-1);box-shadow:inset 0 0 0 .33px rgba(var(--ar),var(--ag),var(--ab),.18)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%);border:.33px solid var(--glass-border);border-radius:22px;padding:16px}.search-wrapper{position:relative;flex:1;min-width:200px;display:flex;align-items:center}.search-icon{position:absolute;left:12px;width:18px;height:18px;color:var(--text-secondary);pointer-events:none;flex-shrink:0}.search-input{width:100%;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:14px;padding:10px 16px 10px 40px;color:var(--text-ink-1);font-size:14px;font-family:var(--font-body);transition:all .3s ease;outline:none}.search-input::placeholder{color:var(--text-ink-4)}.search-input:focus,.search-input:hover{background:rgba(var(--ar),var(--ag),var(--ab),.09);border-color:rgba(var(--ar),var(--ag),var(--ab),.15)}.filter-select{background:var(--glass-bg);border:.33px solid var(--glass-border);border-radius:14px;padding:10px 12px;color:var(--text-ink-1);font-size:13px;font-family:var(--font-body);cursor:pointer;color-scheme:dark;transition:all .3s ease;outline:none;min-width:140px}.filter-select:hover,.filter-select:focus{background:rgba(var(--ar),var(--ag),var(--ab),.09);border-color:rgba(var(--ar),var(--ag),var(--ab),.15)}.filter-select option{background:#162716;color:var(--text-primary)}[data-mode=light] .filter-select{background:#f5fae9b8;color:var(--brand-forest);color-scheme:light}[data-mode=light] .filter-select option{background:var(--brand-cream);color:var(--brand-forest)}.clear-filters-btn{background:#b482781a;border:.33px solid rgba(180,130,120,.2);border-radius:8px;padding:8px 14px;color:var(--text-ink-3);font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.clear-filters-btn:hover{background:#b4827826;border-color:#b4827859}.network-map-shell{display:flex;flex-direction:column;gap:18px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%);border:.33px solid var(--glass-border);border-radius:18px;padding:18px}.network-map-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.network-map-title{margin:0 0 4px;color:var(--text-ink-1);font-family:var(--font-heading);font-size:22px;font-style:italic;font-weight:400}.network-map-subtitle{margin:0;color:var(--text-secondary);font-size:13px}.map-reset-btn{flex-shrink:0;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.16);border-radius:8px;padding:8px 12px;background:rgba(var(--ar),var(--ag),var(--ab),.07);color:var(--text-ink-2);font-family:var(--font-body);font-size:12px;cursor:pointer;transition:background .25s ease,border-color .25s ease}.map-reset-btn:hover,.map-reset-btn:focus-visible{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.26)}.network-map-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,360px);gap:20px;align-items:stretch}.network-map-canvas{min-height:430px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:rgba(var(--ar),var(--ag),var(--ab),.035);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.08)}.network-greece-map{width:min(100%,760px);height:auto;max-height:560px;filter:drop-shadow(0 20px 42px rgba(0,0,0,.22))}.network-map-region{fill:rgba(var(--ar),var(--ag),var(--ab),.64);stroke:#ffffff29;stroke-width:1;opacity:.82;cursor:pointer;transform-box:fill-box;transform-origin:center;transition:fill .25s ease,opacity .25s ease,filter .25s ease,transform .25s ease,stroke .25s ease}.network-map-region:hover,.network-map-region:focus-visible{fill:rgba(var(--ar),var(--ag),var(--ab),.92);opacity:1;filter:drop-shadow(0 0 14px rgba(var(--ar),var(--ag),var(--ab),.45));transform:scale(1.018);outline:none}.network-map-region[data-selected=true]{fill:rgba(var(--ar),var(--ag),var(--ab),1);opacity:1;stroke:#ffffffd1;stroke-width:1.5;filter:drop-shadow(0 0 18px rgba(var(--ar),var(--ag),var(--ab),.5))}.network-map-panel{display:flex;flex-direction:column;min-height:430px;padding:18px;border-radius:12px;background:rgba(var(--ar),var(--ag),var(--ab),.045);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1)}.map-panel-heading{display:flex;flex-direction:column;gap:4px;padding-bottom:14px;margin-bottom:14px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12)}.map-panel-kicker{color:var(--text-ink-4);font-size:11px;font-weight:600;letter-spacing:0;text-transform:uppercase}.map-panel-heading h3{margin:0;color:var(--text-ink-1);font-family:var(--font-heading);font-size:23px;font-style:italic;font-weight:400;line-height:1.15}.map-panel-heading p{margin:0;color:var(--text-secondary);font-size:13px}.map-city-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:4px}.map-city-chip{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:8px;padding:9px 11px;background:rgba(var(--ar),var(--ag),var(--ab),.045);color:var(--text-ink-2);font-family:var(--font-body);font-size:13px;text-align:left;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease}.map-city-chip span{min-width:26px;border-radius:999px;padding:2px 7px;background:rgba(var(--ar),var(--ag),var(--ab),.1);color:var(--text-ink-4);font-size:11px;text-align:center}.map-city-chip:hover,.map-city-chip:focus-visible{transform:translate(3px);background:rgba(var(--ar),var(--ag),var(--ab),.08);border-color:rgba(var(--ar),var(--ag),var(--ab),.18)}.map-city-chip.active{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.28);color:var(--text-ink-1)}.map-empty-note,.map-panel-placeholder{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);font-size:13px;line-height:1.5}.map-panel-placeholder{flex-direction:column;gap:14px}.map-panel-placeholder svg{width:42px;height:42px;color:var(--text-ink-4);opacity:.7}.results-info{display:flex;justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;color:var(--text-secondary)}.results-count{font-weight:500}.results-filter{color:var(--text-ink-4);font-size:12px}.companies-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));animation:fadeInGrid .5s ease-out}@keyframes fadeInGrid{0%{opacity:0}to{opacity:1}}.company-tile{display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:.33px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);animation:tileEnter .5s ease-out backwards;outline:none;pointer-events:auto;-webkit-user-select:none;user-select:none}@keyframes tileEnter{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.company-tile:hover,.company-tile:focus-visible{transform:scale(1.01);background:rgba(var(--ar),var(--ag),var(--ab),.08);border-color:rgba(var(--ar),var(--ag),var(--ab),.15)}.company-tile:focus-visible{outline:.5px solid rgba(var(--ar),var(--ag),var(--ab),.4);outline-offset:2px}.tile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.company-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#ffffff1a}.connection-badge{background:rgba(var(--ar),var(--ag),var(--ab),.12);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.2);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:500;color:var(--text-ink-2);white-space:nowrap}.tile-company-name{font-size:18px;font-weight:400;font-family:var(--font-heading);font-style:italic;color:var(--text-ink-1);margin:0;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.tile-location{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.location-icon{width:14px;height:14px;flex-shrink:0}.industry-tag{display:inline-flex;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:400;color:var(--text-ink-4);white-space:nowrap;font-family:var(--font-body)}.load-more-btn{margin:20px auto 0;padding:12px 32px;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:400;cursor:pointer;transition:all .3s ease;display:block;font-family:var(--font-body)}.load-more-btn:hover{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.25)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 24px;text-align:center;min-height:400px}.empty-state svg{width:64px;height:64px;color:var(--text-secondary);opacity:.5}.empty-state h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.empty-state p{font-size:14px;color:var(--text-secondary);margin:0;max-width:400px}.reset-btn{padding:10px 24px;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:400;cursor:pointer;transition:all .3s ease;font-family:var(--font-body)}.reset-btn:hover{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.25)}.network-company-backdrop{position:fixed;inset:0;z-index:9999;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out;pointer-events:auto;opacity:1}@keyframes fadeIn{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}.company-modal{position:relative;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;background:#1e1e1ef2;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:24px;padding:32px;gap:24px;display:flex;flex-direction:column;animation:modalEnter .3s cubic-bezier(.34,1.56,.64,1);pointer-events:auto;z-index:10000}[data-mode=light] .network-company-backdrop{background:#2d4b2f38}[data-mode=light] .company-modal{background:#f5fae9f0;border-color:#2d4b2f38;box-shadow:0 24px 80px #2d4b2f38;color:var(--text-ink-1)}@keyframes modalEnter{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:8px;color:var(--text-primary);font-size:20px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#ffffff1f;border-color:#ffffff40}.modal-content{display:flex;flex-direction:column;gap:24px}.modal-header{display:flex;align-items:flex-start;gap:20px}.modal-logo{width:80px;height:80px;border-radius:12px;object-fit:cover;flex-shrink:0}.modal-company-name{font-size:26px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.modal-industry{font-size:13px;color:rgba(var(--ar),var(--ag),var(--ab),1);margin:0;font-weight:500}.modal-description{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0}.modal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item span,.info-item value{font-size:15px;font-weight:500;color:var(--text-primary)}.modal-contacts{display:flex;flex-direction:column;gap:16px}.modal-contacts h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.contact-details{display:flex;flex-direction:column;gap:10px}.contact-link{display:flex;align-items:center;gap:12px;padding:10px;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:8px;color:var(--text-ink-4);font-size:13px;text-decoration:none;transition:all .3s ease;word-break:break-all;font-family:var(--font-body)}.contact-link svg{width:16px;height:16px;flex-shrink:0;color:rgba(var(--ar),var(--ag),var(--ab),.7)}.contact-link:hover{background:#ffffff14;border-color:#fff3;color:var(--text-primary)}.modal-socials{display:flex;flex-direction:column;gap:12px}.modal-socials h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.social-links{display:flex;gap:12px}.social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:8px;color:var(--text-primary);font-size:16px;font-weight:400;text-decoration:none;transition:all .3s ease;cursor:pointer}.social-link:hover{background:rgba(var(--ar),var(--ag),var(--ab),.2);border-color:rgba(var(--ar),var(--ag),var(--ab),.4);transform:translateY(-2px)}.modal-actions{display:flex;gap:12px;margin-top:12px}.action-btn{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;border:none;font-family:inherit;outline:none}.action-btn svg{width:16px;height:16px}.primary-action{background:rgba(var(--ar),var(--ag),var(--ab),.1);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.2);color:var(--text-primary)}.primary-action:hover{background:rgba(var(--ar),var(--ag),var(--ab),.15);border-color:rgba(var(--ar),var(--ag),var(--ab),.3)}.secondary-action{background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);color:var(--text-ink-5);font-family:var(--font-body)}.secondary-action:hover{background:#ffffff1f;border-color:#ffffff40;color:var(--text-primary)}@media(min-width:768px)and (max-width:1023px){.companies-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.filter-bar{flex-wrap:wrap}.filter-select{flex:1;min-width:140px}.company-modal{max-width:90vw;padding:28px}}@media(min-width:1024px){.companies-grid{grid-template-columns:repeat(auto-fill,minmax(320px,350px));justify-content:center}.network-container{max-width:1600px;margin:0 auto;width:100%}.filter-bar{flex-wrap:nowrap}.search-wrapper{flex:1}.filter-select{flex:0 1 140px}.company-modal{max-width:650px}}@media(max-width:1023px){.network-map-layout{grid-template-columns:1fr}.network-map-canvas,.network-map-panel{min-height:auto}.network-map-canvas{min-height:360px}.network-map-panel{max-height:320px}}@media(max-width:768px){.network-container{padding:16px;gap:16px}.network-title{font-size:24px}.network-subtitle{font-size:13px}.companies-grid{grid-template-columns:1fr;gap:16px}.filter-bar{flex-direction:column;padding:12px;gap:10px}.search-wrapper{width:100%;min-width:auto}.search-input,.filter-select,.clear-filters-btn,.network-view-toggle{width:100%}.view-toggle-btn{flex:1;min-width:0}.network-map-shell{padding:12px;border-radius:14px}.network-map-toolbar{flex-direction:column}.map-reset-btn{width:100%}.network-map-canvas{min-height:300px;border-radius:10px}.network-greece-map{width:115%;max-height:390px}.network-map-panel{border-radius:10px;padding:14px}.company-tile{padding:16px;gap:10px}.tile-company-name{font-size:16px}.modal-backdrop{padding:12px}.company-modal{max-width:100%;padding:20px;border-radius:16px}.modal-header{gap:16px}.modal-logo{width:64px;height:64px}.modal-company-name{font-size:22px}.modal-info-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}.action-btn{width:100%}.results-info{flex-direction:column;align-items:flex-start}}.network-container::-webkit-scrollbar{width:6px}.network-container::-webkit-scrollbar-track{background:transparent}.network-container::-webkit-scrollbar-thumb{background:rgba(var(--ar),var(--ag),var(--ab),.6);border-radius:3px;min-height:40px}.network-container::-webkit-scrollbar-thumb:hover{background:rgba(var(--ar),var(--ag),var(--ab),.8)}.company-modal::-webkit-scrollbar{width:6px}.company-modal::-webkit-scrollbar-track{background:transparent}.company-modal::-webkit-scrollbar-thumb{background:rgba(var(--ar),var(--ag),var(--ab),.3);border-radius:3px}.company-modal::-webkit-scrollbar-thumb:hover{background:rgba(var(--ar),var(--ag),var(--ab),.5)}:focus-visible{outline-offset:2px}@media(prefers-contrast:more){.company-tile,.filter-select,.search-input,.connection-badge{border-width:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.company-tile,.modal-backdrop,.company-modal{animation:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}:root{--brand-forest: #2d4b2f;--brand-eucalyptus: #5f8062;--brand-sage: #afd19a;--brand-cream: #f5fae9;--brand-olive: #7f966d;--glass-bg: rgba(24, 39, 25, .52);--glass-border: rgba(175, 209, 154, .2);--glass-blur: 24px;--glass-shadow: 0 18px 54px rgba(20, 38, 21, .24), inset 0 1px 0 rgba(245, 250, 233, .05);--text-ink-1: rgba(245, 242, 238, .98);--text-ink-2: rgba(200, 192, 180, .95);--text-ink-3: rgba(170, 160, 145, .88);--text-ink-4: rgba(140, 130, 115, .75);--text-ink-5: rgba(110, 100, 85, .65);--text-ink-6: rgba(85, 75, 60, .55);--text-ink-7: rgba(60, 50, 35, .45);--text-ink-8: rgba(40, 30, 15, .35);--text-primary: var(--text-ink-1);--text-secondary: var(--text-ink-2);--font-body: "Sansation", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Sansation", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ar: 175;--ag: 209;--ab: 154;--bg-tint-1: rgba(95, 128, 98, .12);--bg-tint-2: rgba(45, 75, 47, .18);--bg-base: #162716;--bg-gradient-1: #0d1723;--bg-gradient-2: #162716;--accent-solid: var(--brand-sage)}[data-mode=light]{--glass-bg: rgba(245, 250, 233, .46);--glass-border: rgba(45, 75, 47, .2);--glass-blur: 28px;--glass-shadow: 0 18px 50px rgba(45, 75, 47, .14), inset 0 1px 0 rgba(245, 250, 233, .46);--text-ink-1: rgba(10, 15, 10, .9);--text-ink-2: rgba(45, 50, 45, .82);--text-ink-3: rgba(75, 80, 75, .72);--text-ink-4: rgba(105, 110, 105, .62);--text-ink-5: rgba(135, 140, 135, .52);--text-ink-6: rgba(165, 170, 165, .42);--text-ink-7: rgba(195, 200, 195, .32);--text-ink-8: rgba(215, 220, 215, .22);--ar: 45;--ag: 75;--ab: 47;--bg-tint-1: rgba(175, 209, 154, .24);--bg-tint-2: rgba(95, 128, 98, .22);--bg-base: var(--brand-cream);--bg-gradient-1: #d9e9f3;--bg-gradient-2: var(--brand-olive);--accent-solid: var(--brand-forest)}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg-base);font-family:var(--font-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .5s ease,color .5s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-style:normal;font-weight:700;letter-spacing:0}.grain-bg{position:fixed;inset:-28px;z-index:0;background:linear-gradient(180deg,#d9e9f3,#e5ede8 22%,#f5fae9 46%,#d7e6c2 66%,#a9bf86 84%,#7f966d);transform:scale(1.02);transition:background .5s ease,opacity .5s ease;overflow:hidden}[data-mode=dark] .grain-bg{background:radial-gradient(ellipse at 24% 18%,rgba(95,128,98,.12) 0%,transparent 58%),radial-gradient(ellipse at 76% 82%,rgba(45,75,47,.16) 0%,transparent 64%),linear-gradient(180deg,#0d1723,#0a131c 24%,#07100f 52%,#101b12 78%,#162716)}.grain-bg:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 7% 7%,rgba(235,246,255,.82) 0 1.2px,transparent 2.4px),radial-gradient(circle at 15% 15%,rgba(210,230,255,.58) 0 1px,transparent 2.2px),radial-gradient(circle at 24% 8%,rgba(245,250,255,.74) 0 1.1px,transparent 2.3px),radial-gradient(circle at 33% 22%,rgba(200,224,255,.42) 0 .9px,transparent 2px),radial-gradient(circle at 43% 12%,rgba(240,248,255,.68) 0 1.1px,transparent 2.3px),radial-gradient(circle at 53% 5%,rgba(215,235,255,.5) 0 .9px,transparent 2px),radial-gradient(circle at 64% 18%,rgba(245,250,255,.62) 0 1.1px,transparent 2.3px),radial-gradient(circle at 74% 9%,rgba(205,228,255,.48) 0 .9px,transparent 2px),radial-gradient(circle at 86% 17%,rgba(235,246,255,.54) 0 1px,transparent 2.2px),radial-gradient(circle at 94% 6%,rgba(245,250,255,.7) 0 1.1px,transparent 2.3px),radial-gradient(circle at 19% 34%,rgba(220,238,255,.24) 0 .8px,transparent 1.8px),radial-gradient(circle at 47% 31%,rgba(235,246,255,.2) 0 .8px,transparent 1.8px),radial-gradient(circle at 79% 36%,rgba(215,235,255,.18) 0 .8px,transparent 1.8px),radial-gradient(circle at 11% 26%,rgba(245,250,255,.42) 0 .9px,transparent 2px),radial-gradient(circle at 29% 17%,rgba(215,235,255,.36) 0 .8px,transparent 1.9px),radial-gradient(circle at 39% 6%,rgba(235,246,255,.5) 0 .9px,transparent 2px),radial-gradient(circle at 58% 29%,rgba(210,230,255,.26) 0 .8px,transparent 1.9px),radial-gradient(circle at 69% 4%,rgba(245,250,255,.54) 0 .9px,transparent 2px),radial-gradient(circle at 83% 27%,rgba(220,238,255,.3) 0 .8px,transparent 1.9px),radial-gradient(circle at 97% 24%,rgba(235,246,255,.32) 0 .8px,transparent 1.9px);filter:blur(.25px);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 24%,rgba(0,0,0,.42) 44%,transparent 70%);mask-image:linear-gradient(180deg,#000 0%,#000 24%,rgba(0,0,0,.42) 44%,transparent 70%);mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .5s ease}[data-mode=dark] .grain-bg:before{opacity:.68}.grain-bg:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");background-size:128px 128px;opacity:.08;mix-blend-mode:overlay;pointer-events:none}[data-mode=light] .grain-bg:after{mix-blend-mode:multiply;opacity:0}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:.33px solid var(--glass-border);border-radius:18px;box-shadow:var(--glass-shadow)}.page-dots{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:6px;align-items:center;pointer-events:none}.page-dot{width:6px;height:6px;border-radius:50%;background:rgba(var(--ar),var(--ag),var(--ab),.25);transition:all .3s ease}.page-dot.active{width:18px;border-radius:3px;background:rgba(var(--ar),var(--ag),var(--ab),.6)}.swipe-container{position:relative;z-index:1;width:100%;height:100%;display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1);will-change:transform}.swipe-container.no-transition{transition:none}.screen{min-width:100vw;width:100vw;height:100dvh;overflow:hidden;position:relative;flex-shrink:0}.screen-home{position:relative;overflow:hidden}@media(min-width:761px){section:has(.split-copy):has(video),div:has(.split-copy):has(video){display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(28px,5vw,72px)}section:has(.split-copy):has(video) video,div:has(.split-copy):has(video) video{position:relative!important;inset:auto!important;grid-column:1;width:100%;height:auto;min-height:0;object-fit:cover;transform:none!important}section:has(.split-copy):has(video) .split-copy,div:has(.split-copy):has(video) .split-copy{position:relative!important;inset:auto!important;grid-column:2;z-index:1;transform:none!important;max-width:none}}@media(max-width:760px){section:has(.split-copy):has(video),div:has(.split-copy):has(video){position:relative;display:block;min-height:clamp(620px,100dvh,860px);overflow:hidden}section:has(.split-copy):has(video) video,div:has(.split-copy):has(video) video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}section:has(.split-copy):has(video):after,div:has(.split-copy):has(video):after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0a120c3d,#0a120cb8),radial-gradient(circle at 50% 18%,rgba(175,209,154,.16),transparent 56%)}section:has(.split-copy):has(video) .split-copy,div:has(.split-copy):has(video) .split-copy{position:relative;z-index:2;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,7vw,42px);color:#fbfff0;text-shadow:0 2px 20px rgba(0,0,0,.42)}section:has(.split-copy):has(video) .split-copy .stack-list,div:has(.split-copy):has(video) .split-copy .stack-list{display:grid;gap:12px;margin-top:22px}}.blob-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.input-mode-toggle{display:flex;gap:8px;background:rgba(var(--ar),var(--ag),var(--ab),.06);padding:6px;border-radius:20px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-bottom:12px}.toggle-btn{width:40px;height:40px;border-radius:16px;border:none;background:transparent;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-ink-5)}.toggle-btn:hover{background:rgba(var(--ar),var(--ag),var(--ab),.1);color:var(--text-ink-3)}.toggle-btn.active{background:rgba(var(--ar),var(--ag),var(--ab),.15);color:var(--accent-solid)}.text-input-btn{width:64px;height:64px;border-radius:50%;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.text-input-btn:hover:not(:disabled){transform:scale(1.03);background:rgba(var(--ar),var(--ag),var(--ab),.12)}.text-input-btn:disabled{opacity:.6;cursor:not-allowed}.text-input-btn svg{width:24px;height:24px;fill:var(--accent-solid);stroke:var(--accent-solid)}.text-input-btn.busy{background:#b4827814}.text-input-btn.busy svg{fill:none;stroke:#b48278bf}.main-content{position:absolute;inset:0;width:100vw;height:100dvh}.login-screen{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px}.login-panel{width:min(100%,380px);display:grid;gap:22px;padding:28px;border-radius:8px}.login-logo{width:150px;max-width:70%;justify-self:center;filter:drop-shadow(0 10px 22px rgba(0,0,0,.18))}.login-fields{display:grid;gap:14px}.login-fields label{display:grid;gap:7px;color:var(--text-ink-2);font-size:.82rem;font-weight:700}.login-fields input{width:100%;min-height:46px;border-radius:8px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.22);background:#ffffff14;color:var(--text-primary);font:inherit;padding:0 13px;outline:none}[data-mode=light] .login-fields input{background:#ffffff6b}.login-fields input:focus{border-color:rgba(var(--ar),var(--ag),var(--ab),.58);box-shadow:0 0 0 3px rgba(var(--ar),var(--ag),var(--ab),.12)}.login-error{min-height:18px;color:#ffb4a8;font-size:.88rem}[data-mode=light] .login-error{color:#9f2f24}.login-submit{min-height:46px;border:none;border-radius:8px;background:var(--accent-solid);color:var(--bg-base);font:inherit;font-weight:700;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px)}.login-submit:disabled{cursor:default;opacity:.68}.floating-actions{position:fixed;top:20px;right:20px;display:flex;gap:10px;z-index:105}.settings-btn{width:44px;height:44px;border-radius:50%;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;padding:0}.settings-btn svg{transition:transform .5s ease;stroke:var(--text-ink-3)}.network-main-modal-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:fadeIn .25s ease-out;display:flex;align-items:center;justify-content:center}.network-main-modal-content{position:relative;width:90vw;max-width:1200px;height:90vh;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%);border:.33px solid var(--glass-border);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.settings-btn:hover{background:rgba(var(--ar),var(--ag),var(--ab),.1);transform:scale(1.05);border-color:rgba(var(--ar),var(--ag),var(--ab),.15)}.settings-btn:hover svg{transform:rotate(90deg);stroke:var(--text-ink-1)}.settings-modal-backdrop{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:fadeIn .25s ease-out}.settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:400px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(145%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%);border:.33px solid var(--glass-border);border-radius:24px;padding:24px;z-index:201;animation:slideUp .3s ease-out;max-height:80vh;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.08)}.settings-header h2{font-size:20px;font-weight:400;font-family:var(--font-heading);font-style:italic;margin:0;color:var(--text-ink-1)}.settings-close{width:32px;height:32px;background:rgba(var(--ar),var(--ag),var(--ab),.05);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:50%;color:var(--text-ink-3);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.settings-close:hover{background:rgba(var(--ar),var(--ag),var(--ab),.1);transform:scale(1.05)}.settings-content{display:flex;flex-direction:column;gap:24px}.settings-section{display:flex;flex-direction:column;gap:10px}.settings-label{font-size:12px;font-weight:500;color:var(--text-ink-3);text-transform:uppercase;letter-spacing:.8px}.settings-select{padding:10px 12px;background:var(--glass-bg);border:.33px solid var(--glass-border);border-radius:14px;color:var(--text-ink-1);color-scheme:dark;font-size:13px;font-family:var(--font-body);cursor:pointer;transition:all .2s ease}.settings-select:hover{background:rgba(var(--ar),var(--ag),var(--ab),.08);border-color:rgba(var(--ar),var(--ag),var(--ab),.15)}.settings-select:focus{outline:none;background:rgba(var(--ar),var(--ag),var(--ab),.1);border-color:var(--accent-solid)}.settings-select option{background:#162716;color:var(--text-primary);font-family:var(--font-body)}.settings-token-panel{padding:12px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:16px;background:rgba(var(--ar),var(--ag),var(--ab),.045)}.settings-token-grid{display:flex;flex-direction:column;gap:8px}.settings-token-grid label{display:flex;flex-direction:column;gap:5px}.settings-token-grid span{font-size:10px;color:var(--text-ink-4);letter-spacing:.7px;text-transform:uppercase}.settings-token-grid input,.settings-token-grid textarea{width:100%;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.16);border-radius:10px;background:#0000002e;color:var(--text-ink-1);font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 10px;outline:none}[data-mode=light] .settings-token-grid input,[data-mode=light] .settings-token-grid textarea{background:#ffffff75}.settings-token-grid textarea{min-height:74px;resize:vertical}.settings-token-actions{display:flex;gap:8px;margin-top:10px}.settings-token-actions button{border:1px solid rgba(var(--ar),var(--ag),var(--ab),.18);border-radius:10px;background:rgba(var(--ar),var(--ag),var(--ab),.12);color:var(--text-ink-1);cursor:pointer;font-size:12px;font-weight:700;padding:7px 11px}.settings-token-actions button:disabled{cursor:not-allowed;opacity:.45}.settings-token-status{margin-top:8px;color:var(--text-ink-3);font-size:11px;line-height:1.35}[data-mode=light] select{color-scheme:light}[data-mode=dark] select{color-scheme:dark}[data-mode=light] select option{background:var(--brand-cream);color:var(--brand-forest)}[data-mode=dark] select option{background:#162716;color:var(--text-primary)}.ui-mode-toggle{display:flex;gap:3px;padding:3px;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff0f}.ui-mode-toggle button{min-width:54px;height:26px;border:0;border-radius:999px;background:transparent;color:var(--text-ink-4);cursor:pointer;font-family:var(--font-body);font-size:11px;transition:background .2s ease,color .2s ease}.ui-mode-toggle button:hover,.ui-mode-toggle button.active{background:rgba(var(--ar),var(--ag),var(--ab),.24);color:var(--text-primary)}.swipe-hint{position:absolute;bottom:52px;right:24px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:6px;animation:pulseHint 2.5s ease-in-out infinite;pointer-events:none}@keyframes pulseHint{0%,to{opacity:.4;transform:translate(0)}50%{opacity:.8;transform:translate(-4px)}}.swipe-hint svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.screen-weather{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:32px 32px 80px}.agent-input-form{position:relative;display:flex;align-items:center;flex:1}.agent-input{background:transparent;border:none;padding:12px 0;color:var(--text-primary);width:100%;font-size:20px;font-weight:300;transition:opacity .3s ease}.agent-input:focus{outline:none}.agent-send-btn{background:none;border:none;color:var(--text-primary);padding:0;margin-left:12px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;display:flex;align-items:center;z-index:2}.agent-send-btn.visible{opacity:.8;pointer-events:auto}.agent-send-btn svg{width:24px;height:24px}.agent-blob-wrap{width:120px;height:120px;padding:0;border:0;background:transparent;cursor:pointer;transition:transform .3s ease,filter .3s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.agent-blob-wrap.has-answer{filter:drop-shadow(0 0 16px rgba(var(--ar),var(--ag),var(--ab),.95));animation:agentUnreadGlow 1.8s ease-in-out infinite}.agent-blob-canvas{width:100%!important;height:100%!important}@keyframes agentUnreadGlow{0%,to{filter:drop-shadow(0 0 12px rgba(var(--ar),var(--ag),var(--ab),.7))}50%{filter:drop-shadow(0 0 24px rgba(var(--ar),var(--ag),var(--ab),1))}}.weather-header{text-align:left;padding:0;flex-shrink:0}.w-city{font-size:22px;font-weight:500;letter-spacing:0}.w-temp-row{display:flex;align-items:center;gap:12px;margin-top:2px}.w-temp{font-size:62px;font-weight:200;line-height:.95;letter-spacing:0;margin:2px 0}.w-hilow-stacked{display:flex;flex-direction:column;font-size:17px;font-weight:500;opacity:.82;line-height:1.15}.w-condition{font-size:17px;font-weight:400;color:var(--text-secondary);display:inline-block;margin-right:12px}.w-hilow{font-size:14px;font-weight:300;color:var(--text-secondary);display:inline-block}.w-hilow span{color:var(--text-primary)}.section-label{font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-ink-3);padding:12px 16px 8px;display:flex;align-items:center;gap:6px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);font-family:var(--font-body)}.section-label svg{width:14px;height:14px;fill:currentColor;opacity:.5}.weather-card{margin-bottom:14px;overflow:hidden;border-radius:22px}.weather-card.tappable{cursor:pointer;transition:filter .15s ease;-webkit-tap-highlight-color:transparent}.weather-card.tappable:active{filter:brightness(1.08)}.hourly-scroll{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:14px 16px;display:flex;gap:20px;scrollbar-width:none}.hourly-scroll::-webkit-scrollbar{display:none}.hour-item{display:flex;flex-direction:column;align-items:center;gap:8px;scroll-snap-align:start;min-width:50px}.hour-time{font-size:13px;font-weight:400;color:var(--text-secondary)}.hour-icon{font-size:22px}.hour-temp{font-size:16px;font-weight:400}.day-row{display:flex;align-items:center;padding:12px 16px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.08);cursor:pointer;transition:transform .15s ease,filter .15s ease;-webkit-tap-highlight-color:transparent}.day-row:last-child{border-bottom:none}.day-row:active{transform:scale(.98);filter:brightness(1.12)}.day-name{font-size:16px;font-weight:400;min-width:80px}.day-icon{font-size:20px;flex:1;text-align:center}.day-precip{font-size:13px;color:#7ecfff;min-width:40px;text-align:right}.day-range{display:flex;gap:8px;align-items:center;min-width:90px;justify-content:flex-end}.day-low{font-size:15px;font-weight:300;color:var(--text-secondary)}.day-high{font-size:15px;font-weight:400}.temp-bar{height:4px;border-radius:2px;flex:1;background:rgba(var(--ar),var(--ag),var(--ab),.1);position:relative;overflow:hidden;min-width:50px;margin:0 10px}.temp-bar-fill{position:absolute;top:0;height:100%;border-radius:2px;background:linear-gradient(90deg,#7ecfff,#ff9f40)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.detail-tile{padding:12px;position:relative;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s ease,filter .15s ease;-webkit-tap-highlight-color:transparent}.detail-tile:active{transform:scale(.97);filter:brightness(1.15)}.detail-tile:after{content:"›";position:absolute;top:12px;right:14px;font-size:16px;color:rgba(var(--ar),var(--ag),var(--ab),.15)}.detail-tile-label{font-size:clamp(9px,.75vw,12px);letter-spacing:1px;text-transform:uppercase;color:var(--text-ink-4);margin-bottom:0;display:flex;align-items:center;gap:4px}.detail-tile-value{font-size:clamp(24px,2vw,36px);font-weight:650;line-height:1}.detail-tile-unit{font-size:clamp(12px,.95vw,16px);color:var(--text-secondary)}.detail-tile-desc{font-size:clamp(11px,.85vw,14px);color:var(--text-secondary);margin-top:0}.uv-bar{height:6px;border-radius:3px;background:linear-gradient(90deg,#4ade80,#facc15,#f97316,#dc2626,#7c3aed);margin-top:8px;position:relative}.uv-needle{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:rgba(var(--ar),var(--ag),var(--ab),.6);transform:translate(-50%)}.data-loading,.data-state{width:100%;min-height:132px;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.16);border-radius:8px;background:linear-gradient(135deg,#ffffff14,#ffffff05),rgba(var(--ar),var(--ag),var(--ab),.045);color:var(--text-ink-2)}.data-loading.is-compact,.data-state.is-compact{min-height:86px;padding:12px}.data-loading{flex-direction:column;font-size:13px;font-weight:700;text-align:center}.data-loading-ring{width:34px;height:34px;border-radius:50%;border:2px solid rgba(var(--ar),var(--ag),var(--ab),.16);border-top-color:rgba(var(--ar),var(--ag),var(--ab),.72);animation:spin .85s linear infinite}.data-loading-bars{display:flex;align-items:end;gap:4px;height:18px}.data-loading-bars i{display:block;width:5px;height:8px;border-radius:3px;background:rgba(var(--ar),var(--ag),var(--ab),.45);animation:loadingBars .9s ease-in-out infinite}.data-loading-bars i:nth-child(2){animation-delay:.12s}.data-loading-bars i:nth-child(3){animation-delay:.24s}.data-state{justify-content:flex-start;min-height:112px}.data-state-mark{flex:0 0 34px;width:34px;height:34px;border-radius:50%;position:relative;background:rgba(var(--ar),var(--ag),var(--ab),.12);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.3)}.data-state-mark:before,.data-state-mark:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:currentColor;border-radius:2px}.data-state--info .data-state-mark{color:#6aa4a5}.data-state--warning{border-color:#d6a85d57;background:linear-gradient(135deg,#d6a85d24,#ffffff05),rgba(var(--ar),var(--ag),var(--ab),.035)}.data-state--warning .data-state-mark{color:#d6a85d;background:#d6a85d24;border-color:#d6a85d57}.data-state--error{border-color:#c75d525c;background:linear-gradient(135deg,#c75d5224,#ffffff05),rgba(var(--ar),var(--ag),var(--ab),.035)}.data-state--error .data-state-mark{color:#c75d52;background:#c75d5224;border-color:#c75d525c}.data-state--info .data-state-mark:before{width:3px;height:14px;transform:translate(-50%,-38%)}.data-state--info .data-state-mark:after{width:4px;height:4px;top:27%}.data-state--warning .data-state-mark:before,.data-state--error .data-state-mark:before{width:3px;height:15px}.data-state--warning .data-state-mark:after{width:4px;height:4px;top:75%}.data-state--error .data-state-mark:before{transform:translate(-50%,-50%) rotate(45deg)}.data-state--error .data-state-mark:after{width:3px;height:15px;transform:translate(-50%,-50%) rotate(-45deg)}.data-state-copy{min-width:0;display:grid;gap:4px}.data-state-copy strong{color:var(--text-ink-1);font-size:14px;line-height:1.18}.data-state-copy span{color:var(--text-ink-3);font-size:12.5px;line-height:1.38;font-weight:700}.data-state-action{margin-left:auto;min-height:34px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.18);border-radius:8px;background:rgba(var(--ar),var(--ag),var(--ab),.08);color:var(--text-ink-2);font:inherit;font-size:12px;font-weight:700;padding:0 12px;cursor:pointer}@keyframes loadingBars{0%,to{height:7px;opacity:.45}50%{height:18px;opacity:1}}.loading-spinner{display:flex;flex-direction:column;align-items:center;padding:80px 20px;gap:14px;color:var(--text-secondary);font-size:14px}.spinner{width:28px;height:28px;border:2px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-top-color:rgba(var(--ar),var(--ag),var(--ab),.5);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-card{margin:16px;padding:20px}.error-msg{padding:4px 0 12px;color:#a06e6ecc;font-size:14px;line-height:1.5}.error-help{margin-top:14px;padding:14px;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:12px;font-size:13px;line-height:1.7;color:var(--text-ink-4)}.error-help strong{color:var(--text-primary);font-size:14px;display:block;margin-bottom:8px}.error-help code{display:block;margin:8px 0;padding:8px 10px;background:rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:8px;font-size:12px;color:#b8d8b8;font-family:var(--font-body)}.demo-btn{width:100%;padding:12px;margin-top:14px;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:18px;color:var(--text-ink-4);font-size:14px;font-family:var(--font-body);cursor:pointer;transition:all .2s}.demo-btn:hover{background:rgba(var(--ar),var(--ag),var(--ab),.12)}@keyframes skelShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel{display:block;background:linear-gradient(90deg,rgba(var(--ar),var(--ag),var(--ab),.04) 25%,rgba(var(--ar),var(--ag),var(--ab),.1),rgba(var(--ar),var(--ag),var(--ab),.04) 75%);background-size:200% 100%;animation:skelShimmer 1.6s ease-in-out infinite;border-radius:6px}.weather-card .section-label{pointer-events:none}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease;pointer-events:none}.modal-backdrop.visible{opacity:1;pointer-events:all}.modal-sheet{position:fixed;bottom:0;left:0;right:0;z-index:201;background:#09120fe0;backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-bottom:none;border-radius:24px 24px 0 0;padding:0 0 44px;transform:translateY(100%);transition:transform .4s cubic-bezier(.32,.72,0,1);max-height:84dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-sheet.visible{transform:translateY(0)}[data-mode=light] .modal-sheet{background:#f6faf3eb}[data-mode=light] .modal-title,[data-mode=light] .modal-stat-value,[data-mode=light] .modal-data-row,[data-mode=light] .modal-data-value{color:var(--text-ink-1)}[data-mode=light] .modal-subtitle,[data-mode=light] .modal-stat-label,[data-mode=light] .modal-data-title,[data-mode=light] .modal-data-label{color:var(--text-ink-3)}[data-mode=light] .range-tab{background:rgba(var(--ar),var(--ag),var(--ab),.08);border-color:rgba(var(--ar),var(--ag),var(--ab),.16);color:var(--text-ink-2)}[data-mode=light] .range-tab.active{background:rgba(var(--ar),var(--ag),var(--ab),.16);border-color:rgba(var(--ar),var(--ag),var(--ab),.28);color:var(--text-ink-1)}.modal-handle{width:36px;height:4px;border-radius:2px;background:rgba(var(--ar),var(--ag),var(--ab),.15);margin:12px auto 0}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 8px}.modal-title{font-size:21px;font-weight:400;font-family:var(--font-heading);font-style:italic;color:#fff}.modal-subtitle{font-size:13px;color:#ffffffb3;margin-top:3px;font-family:var(--font-body)}.modal-close{width:30px;height:30px;border-radius:50%;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);color:var(--text-primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:rgba(var(--ar),var(--ag),var(--ab),.15)}.modal-range-tabs{display:flex;gap:6px;padding:0 20px 14px}.range-tab{padding:6px 14px;border-radius:20px;font-size:12px;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);color:#ffffffb3;cursor:pointer;transition:all .2s;font-family:var(--font-body)}.range-tab.active{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.25);color:var(--text-primary)}.modal-chart-wrap{padding:0 20px 10px;position:relative;-webkit-user-select:none;user-select:none}.modal-chart-canvas{width:100%;height:190px;display:block;border-radius:12px}.chart-tooltip{position:absolute;pointer-events:none;background:rgba(var(--ar),var(--ag),var(--ab),.92);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.25);border-radius:9px;padding:7px 11px;font-size:13px;font-weight:600;white-space:nowrap;font-family:var(--font-body);transform:translate(-50%,-110%);opacity:0;transition:opacity .12s;z-index:10;color:#fff}.chart-tooltip.visible{opacity:1}.modal-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px 20px 6px}.modal-stat{background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:12px;padding:10px 12px;text-align:center}.modal-stat-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#fff9;font-family:var(--font-body)}.modal-stat-value{font-size:18px;font-weight:400;margin-top:4px;font-family:var(--font-body);color:#fff}.modal-data-section{padding:14px 20px 0}.modal-data-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff9;margin-bottom:10px;font-family:var(--font-body)}.modal-data-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.08);font-size:14px;font-family:var(--font-body);color:#fff}.modal-data-row:last-child{border-bottom:none}.modal-data-label{color:#ffffffbf;font-family:var(--font-body)}.modal-data-value{font-weight:400;font-family:var(--font-body);color:#fff}.modal-spinner{display:flex;align-items:center;justify-content:center;height:190px}.mic-btn.active{background:#a064641f;border-color:#8c6e6e40}.mic-btn.active svg{fill:#966e64cc}.windy-card{margin-bottom:14px;overflow:hidden}.windy-iframe-wrap{position:relative;width:100%;padding-bottom:62.5%;height:0;overflow:hidden;border-radius:0 0 18px 18px}.windy-iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}.windy-missing-key{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;text-align:center;color:var(--text-secondary)}.windy-missing-key span{font-size:24px}.windy-missing-key p{font-size:13px;line-height:1.6;color:var(--text-ink-4)}.windy-missing-key code{background:rgba(var(--ar),var(--ag),var(--ab),.08);border-radius:4px;padding:1px 5px;font-size:12px;color:#b8d8b8;font-family:var(--font-body)}.windy-missing-key a{font-size:13px;color:#7ecfff;text-decoration:none}.windy-missing-key a:hover{text-decoration:underline}.mic-btn.speaking{background:#788c961f;border-color:#788c9640;cursor:not-allowed;animation:speakPulse 1.2s ease-in-out infinite}.mic-btn.speaking svg{fill:#8296a0cc}@keyframes speakPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.mic-btn.thinking{background:#8c78641f;border-color:#8c786440;cursor:not-allowed}.mic-btn.thinking svg{stroke:#96826ecc;fill:none;animation:spin 1s linear infinite}.stt-toggle{display:flex;gap:4px;margin-bottom:16px;background:rgba(var(--ar),var(--ag),var(--ab),.06);border-radius:20px;padding:3px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12)}.stt-btn{font-family:var(--font-body);font-size:.72rem;font-weight:400;letter-spacing:.04em;padding:4px 14px;border:none;border-radius:16px;background:transparent;color:var(--text-ink-5);cursor:pointer;transition:all .2s}.stt-btn.active{background:rgba(var(--ar),var(--ag),var(--ab),.12);color:var(--text-primary)}.stt-btn:disabled{opacity:.4;cursor:default}.interim-transcript{display:block;margin-top:12px;font-size:.85rem;color:var(--text-ink-5);font-style:italic;max-width:280px;text-align:center;min-height:1.2em;font-family:var(--font-body)}.reply-text{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:24px;border-radius:22px;border:.33px solid var(--glass-border);color:var(--text-ink-1);max-width:90%;width:100%;font-size:1rem;line-height:1.6;text-align:center;animation:fadeIn .6s ease-out;font-family:var(--font-body)}.reply-line{color:var(--text-ink-2);font-size:13px;margin-bottom:4px}.reply-line-muted,.reply-line-list{color:var(--text-ink-3);margin-bottom:2px}.reply-line-list{padding-left:14px}.reply-line-heading{color:var(--text-ink-1);font-size:13px;font-weight:600;margin-top:10px;margin-bottom:4px}[data-mode=light] .reply-text{background:#f5fae9e0;color:var(--text-ink-1)}[data-mode=light] .user-query-card{background:rgba(var(--ar),var(--ag),var(--ab),.12);color:var(--text-ink-1)}.chat-input{flex:1;padding:18px 24px;border-radius:24px;border:.33px solid var(--glass-border);background:rgba(var(--ar),var(--ag),var(--ab),.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:1rem;line-height:1.4;outline:none;color:var(--text-ink-1);font-family:var(--font-body);transition:all .3s ease;resize:none}.chat-modal-sheet{inset:50% auto auto 50%;width:min(720px,calc(100vw - 32px));max-height:min(78dvh,760px);padding:0 0 20px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:28px;display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.98);transition:opacity .24s ease,transform .28s cubic-bezier(.22,1,.36,1)}.chat-modal-sheet.visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.chat-modal-sheet .modal-handle{display:none}.chat-modal-content{display:flex;flex-direction:column;gap:14px;min-height:0;padding:0 20px 18px;overflow-y:auto}.chat-compose-form{display:flex;align-items:flex-end;gap:12px;padding:0 20px}.chat-submit-btn svg{width:22px;height:22px}.user-query-card{max-width:80%;padding:14px 20px;border-radius:18px 18px 4px;background:rgba(var(--ar),var(--ag),var(--ab),.15);color:var(--text-ink-2);font-size:.95rem;line-height:1.5;margin-bottom:8px;align-self:flex-end;animation:fadeIn .4s ease-out;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.2)}.chat-input::placeholder{color:var(--text-ink-4)}.chat-input:focus{background:rgba(var(--ar),var(--ag),var(--ab),.12);border-color:rgba(var(--ar),var(--ag),var(--ab),.2)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-submit-btn{width:56px;height:56px;border-radius:12px;border:.33px solid var(--glass-border);background:rgba(var(--ar),var(--ag),var(--ab),.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-ink-1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.chat-submit-btn:hover:not(:disabled){background:rgba(var(--ar),var(--ag),var(--ab),.18);transform:scale(1.03)}.chat-submit-btn:active:not(:disabled){transform:scale(.95)}.chat-submit-btn:disabled{opacity:.5;cursor:not-allowed;background:rgba(var(--ar),var(--ag),var(--ab),.08)}.chat-submit-btn.thinking{background:rgba(var(--ar),var(--ag),var(--ab),.08)}.spinner{width:20px;height:20px;border:2px solid rgba(var(--ar),var(--ag),var(--ab),.2);border-top-color:var(--text-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.network-modal-backdrop{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out;padding:1rem}.network-modal-content{position:relative;background:rgba(var(--ar),var(--ag),var(--ab),.06);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:20px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.network-modal-inner{padding:2rem}.network-modal-close{position:absolute;top:1.5rem;right:1.5rem;width:36px;height:36px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.1);background:rgba(var(--ar),var(--ag),var(--ab),.08);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease;z-index:10000}.network-modal-close:hover{background:rgba(var(--ar),var(--ag),var(--ab),.15);transform:scale(1.05)}.network-modal-close:active{transform:scale(.95)}.network-modal-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.network-modal-logo{width:80px;height:80px;border-radius:12px;background:rgba(var(--ar),var(--ag),var(--ab),.08);display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12)}.network-modal-title{font-size:1.75rem;font-weight:400;font-family:var(--font-heading);font-style:italic;color:var(--text-primary);margin:0}.network-modal-industry{font-size:.9rem;color:var(--text-ink-5);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px;font-weight:400;font-family:var(--font-body)}.network-modal-description{font-size:.95rem;line-height:1.6;color:var(--text-ink-4);margin-bottom:2rem;padding:1rem;background:rgba(var(--ar),var(--ag),var(--ab),.06);border-radius:12px;border-left:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);font-family:var(--font-body)}.network-modal-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:12px}.network-modal-info-item{display:flex;flex-direction:column}.network-modal-info-item strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-ink-6);margin-bottom:.5rem;font-weight:400;font-family:var(--font-body)}.network-modal-info-item span{font-size:1rem;color:var(--text-primary);font-weight:400;font-family:var(--font-body)}.network-modal-contacts{margin-top:2rem;padding-top:2rem;border-top:.33px solid rgba(var(--ar),var(--ag),var(--ab),.08)}.network-modal-contacts h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-ink-6);margin:0 0 1rem;font-weight:400;font-family:var(--font-body)}.network-modal-contact-details{display:flex;flex-direction:column;gap:.5rem}.network-modal-contact-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:rgba(var(--ar),var(--ag),var(--ab),.08);border-radius:8px;text-decoration:none;color:var(--text-ink-4);font-size:.75rem;transition:all .3s ease;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);word-break:break-all;font-family:var(--font-body)}.network-modal-contact-link:hover{background:rgba(var(--ar),var(--ag),var(--ab),.12);transform:translate(4px);border-color:rgba(var(--ar),var(--ag),var(--ab),.2)}.network-modal-contact-link svg{width:16px;height:16px;flex-shrink:0}@media(max-width:768px){.network-modal-content{max-width:95vw;max-height:90vh}.network-modal-inner{padding:1.5rem}.network-modal-header{flex-direction:column;text-align:center;gap:1rem}.network-modal-logo{width:64px;height:64px;font-size:2rem}.network-modal-title{font-size:1.5rem}.network-modal-info-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem}.network-modal-close{width:32px;height:32px;font-size:1.25rem}}@media(min-width:1024px){.weather-desktop-top-row{display:block;margin-bottom:24px}.facility-overview{width:100%;min-height:0;display:flex;flex-direction:column}.weather-desktop-layout{display:flex;gap:14px;align-items:stretch;margin-bottom:24px}.weather-desktop-layout>.windy-card{flex:1;margin-bottom:0;display:flex;flex-direction:column}.weather-side-column{flex:1.25;display:grid;grid-template-columns:minmax(330px,1fr) minmax(250px,1fr);gap:14px;min-width:0}.weather-desktop-layout .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));margin-bottom:0;align-content:stretch}.weather-desktop-layout .detail-tile{aspect-ratio:1 / 1;padding:10px}.weather-desktop-layout .windy-iframe-wrap{flex:1;padding-bottom:0;height:auto}}.dashboard-primary-row{display:grid;grid-template-columns:minmax(250px,320px) minmax(620px,1fr);gap:16px;align-items:stretch;min-height:0;margin-bottom:18px}.dashboard-side-stack{display:grid;grid-template-rows:repeat(2,150px);gap:16px}.dashboard-primary-tile{min-height:0;border-radius:28px;overflow:hidden}.weather-summary-tile,.agent-dashboard-tile,.facility-chart-tile{position:relative;display:flex;flex-direction:column;padding:20px}.weather-summary-tile{justify-content:flex-end;padding:14px 16px}.weather-summary-actions{position:absolute;top:14px;right:14px;display:flex;justify-content:flex-end;gap:10px}.weather-summary-tile .settings-btn{color:var(--text-primary)}.weather-summary-tile .weather-header{padding-right:0}.weather-summary-tile .w-city{font-size:18px}.weather-summary-tile .w-temp{font-size:48px}.weather-summary-tile .w-hilow-stacked,.weather-summary-tile .w-condition{font-size:14px}.agent-dashboard-tile{justify-content:center;align-items:center;background:transparent;border:0;box-shadow:none}.agent-dashboard-tile .agent-blob-wrap{width:min(78%,148px);height:min(78%,148px);position:relative;overflow:hidden;--agent-blob-y-offset: .05}.agent-dashboard-tile .iflora-blob-root{width:100%!important;height:100%!important;max-width:100%;max-height:100%;margin:0 auto!important}.agent-dashboard-tile .iflora-blob-root .agent-blob-canvas{width:100%!important;height:100%!important;margin:0}.facility-chart-tile{min-width:0;height:calc(156px + (var(--chart-count, 1) * 160px))}.facility-chart-tile .modal-chart-wrap{flex:1;display:flex;min-height:0;padding:0 4px}.facility-chart-tile .modal-chart-canvas{flex:1;height:100%;min-height:0}.facility-overview{flex:1;display:flex;flex-direction:column;padding:20px;min-height:0;position:relative;overflow:hidden;font-size:1.04rem}.section-label.fo-overview-label{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;padding:0 0 12px;pointer-events:auto}.fo-history-controls,.fo-source-controls,.fo-device-select-label,.fo-range-controls{display:flex;align-items:center}.fo-history-controls{flex:1;min-width:0;gap:8px;flex-wrap:wrap}.fo-device-select-label{min-width:0;gap:6px}.fo-device-select-label span{flex:0 0 auto}.fo-device-select{min-width:170px;max-width:min(340px,42vw);height:31px;padding:5px 30px 5px 11px;border:1px solid var(--glass-border);border-radius:14px;background:var(--glass-bg);color:var(--text-primary);color-scheme:dark;font:inherit;letter-spacing:0;text-transform:none;cursor:pointer}.fo-device-select option{background:#162716;color:var(--text-primary)}[data-mode=light] .fo-device-select{background:#f5fae9b8;color:var(--brand-forest);color-scheme:light}.fo-device-select:disabled{cursor:default;opacity:.65}.fo-range-controls{flex:0 0 auto;gap:4px;padding:2px;border:1px solid var(--glass-border);border-radius:16px;background:#ffffff08}.fo-range-controls button{min-width:58px;height:27px;padding:0 8px;border:0;border-radius:13px;background:transparent;color:var(--text-secondary);font-size:11px;letter-spacing:0;cursor:pointer;transition:background .2s,color .2s}.fo-range-controls button:hover,.fo-range-controls button.active{background:rgba(var(--ar),var(--ag),var(--ab),.18);color:var(--text-primary)}.fo-source-controls{flex:0 0 auto;gap:8px}.fo-source-controls .demo-btn{border:1px solid var(--glass-border);border-radius:12px;background:transparent;cursor:pointer;font-size:10px;padding:2px 8px}.fo-source-controls .demo-btn.active{background:#fff3}.fo-charts-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--chart-count, 1),minmax(150px,1fr));gap:14px;flex:1;min-height:0;margin-top:12px}.fo-chart-col{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.fo-chart-placeholder{flex:1;width:100%;display:flex;align-items:center;justify-content:center;color:var(--text-ink-3);text-align:center}.fo-chart-header{display:flex;align-items:center;gap:10px;min-height:28px}.fo-chart-label{font-size:14px;color:var(--text-ink-2);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px;font-weight:700}.prediction-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;color:var(--text-ink-3);font-size:10px;font-weight:600}.prediction-pill{padding:3px 7px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.25);border-radius:999px;background:rgba(var(--ar),var(--ag),var(--ab),.1);color:var(--text-ink-2);letter-spacing:.02em}.prediction-accuracy-good{color:#70c58b}.prediction-accuracy-drift{color:#e78f3e}.prediction-storage-ok{color:var(--text-ink-3)}.prediction-storage-error{color:#e78f3e;cursor:help}.fo-groups-container{display:block;width:100%}.fo-devices-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,170px);justify-content:start;gap:14px;width:100%;padding:10px}.forecast-card{margin-bottom:0}.fo-status-tiles{display:flex;flex-wrap:wrap;align-items:start;gap:16px;width:auto}.fo-tile{z-index:1;flex:0 0 170px;width:170px;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.24),transparent 38%),linear-gradient(145deg,#ffffff29,#ffffff0e 46%,#ffffff05),#ffffff0b;backdrop-filter:blur(calc(var(--glass-blur) + 5px)) saturate(150%);-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 5px)) saturate(150%);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;aspect-ratio:1 / 1;cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;container-type:inline-size;overflow:hidden;box-shadow:0 18px 34px #0000002e,0 7px 16px #0000001f,inset 0 1px #ffffff38,inset -1px -1px #ffffff09}.fo-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0;overflow:visible}.fo-tile:hover{background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.3),transparent 40%),linear-gradient(145deg,#ffffff38,#ffffff12 48%,#ffffff06),#ffffff0e;transform:translateY(-6px) scale(1.025);box-shadow:0 32px 64px #0000004d,0 12px 26px #0003,inset 0 1px #ffffff5c,inset -1px -1px #ffffff14}.fo-tile.selected{border-color:rgba(var(--ar),var(--ag),var(--ab),.48)}[data-mode=light] .fo-tile{background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.72),transparent 40%),linear-gradient(145deg,#ffffff9e,#ffffff47 48%,#ffffff1f),#ffffff29;border-color:#ffffff75;box-shadow:0 20px 46px #1e442d2e,0 8px 18px #1e442d1f,inset 0 1px #ffffffb8,inset -1px -1px #ffffff38}.fo-tile-icon{order:2;flex:0 0 auto;width:40px;height:40px;padding:0;background:rgba(var(--ar),var(--ag),var(--ab),.05);border:1px solid rgba(var(--ar),var(--ag),var(--ab),.1);border-radius:15px;display:flex;align-items:center;justify-content:center;color:var(--text-ink-4);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.fo-tile-icon svg{width:22px;height:22px;fill:currentColor}.metric-dashboard-tile .fo-tile-icon,.plot-source-tile .fo-tile-icon{color:var(--text-ink-2);background:rgba(var(--ar),var(--ag),var(--ab),.09);border-color:rgba(var(--ar),var(--ag),var(--ab),.2)}.plot-source-tile.selected{border-color:rgba(var(--ar),var(--ag),var(--ab),.62);box-shadow:0 30px 58px #00000042,0 0 0 1px rgba(var(--ar),var(--ag),var(--ab),.24),inset 0 1px #ffffff57}.fo-plot-source-label{padding:0 10px 8px;color:var(--text-ink-2)}.fo-source-empty{font-size:clamp(15px,8cqw,22px);font-weight:800;color:var(--text-ink-3)}.fo-tile-power{cursor:pointer}.fo-tile-power:hover{background:rgba(var(--ar),var(--ag),var(--ab),.18);border-color:rgba(var(--ar),var(--ag),var(--ab),.32);box-shadow:0 8px 18px #0000002e;transform:scale(1.08)}.fo-tile-power:active{transform:scale(.96)}.fo-tile.is-on .fo-tile-icon svg{fill:var(--text-ink-1)}.fo-tile-label{order:1;flex:1 1 auto;min-width:0;font-size:clamp(13px,6.8cqw,17px);font-weight:650;line-height:1.15;color:var(--text-ink-2);text-transform:uppercase;letter-spacing:0;margin-bottom:5px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.fo-tile-value{flex:1 1 auto;width:100%;max-width:100%;min-width:0;font-size:clamp(17px,10cqw,26px);font-weight:700;color:var(--text-ink-1);display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:flex-end;gap:4px;line-height:1.05;overflow:visible}.fo-tile-temp{margin-left:0;opacity:.92;max-width:100%;font-size:clamp(24px,15cqw,30px);font-weight:900;overflow-wrap:anywhere}.switch-tile.is-on .fo-tile-power{color:#51cf66;background:#51cf6624;border-color:#51cf665c}.switch-tile.is-off .fo-tile-power{color:#f29b9b;background:#f29b9b1f;border-color:#f29b9b52}.switch-tile.is-offline .fo-tile-power{color:#a0a6aa;background:#a0a6aa1f;border-color:#a0a6aa47}.door-tile,.camera-tile{cursor:default}.camera-tile .fo-tile-value{color:var(--text-ink-2)}.door-tile.warning{border-color:#ff6b6b66;background:#ff6b6b14}.door-tile.warning .fo-tile-value{color:#ff6b6b}.door-tile.safe .fo-tile-value{color:#51cf66}.fo-settings-overlay{position:absolute;inset:0;background:var(--bg-base);opacity:.98;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;padding:24px;display:flex;flex-direction:column;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.fo-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;font-weight:600;font-size:1.1rem}.fo-settings-header button{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;opacity:.5}@media(max-width:640px){.section-label.fo-overview-label{align-items:flex-start;flex-direction:column}.ui-mode-toggle{flex:0 0 auto}.fo-history-controls,.fo-device-select-label,.fo-device-select,.fo-source-controls{width:100%}.fo-device-select{flex:1;max-width:none}.fo-range-controls{width:100%}.fo-range-controls button{flex:1}}@media(max-width:1180px){.dashboard-primary-row{grid-template-columns:1fr}.dashboard-side-stack{grid-template-rows:none;grid-template-columns:1fr}.dashboard-primary-tile{min-height:280px}.facility-chart-tile{height:auto}.weather-summary-tile,.agent-dashboard-tile{width:min(100%,360px);justify-self:stretch;aspect-ratio:auto}.weather-side-column{display:flex;flex-direction:column}.fo-tile{flex-basis:min(170px,100%);width:min(170px,100%)}}.floating-logo-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0;overflow:hidden}.floating-logo{width:60vw;max-width:600px;min-width:300px;opacity:.05;filter:blur(2px);animation:float-logo 20s ease-in-out infinite alternate}@keyframes float-logo{0%{transform:translate(0) scale(1) rotate(-2deg)}to{transform:translate(20px,-20px) scale(1.05) rotate(2deg)}}.metric-dashboard-value{gap:7px}.metric-dashboard-value span{font-size:clamp(22px,13cqw,30px);font-weight:900}.metric-dashboard-value small{width:100%;color:var(--text-ink-3);font-size:clamp(10px,5.4cqw,13px);font-weight:650;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ha-source-pill,.ha-schema-note{color:var(--text-ink-3);font-size:12px;font-weight:700}.fo-plot-source-label{gap:10px}.dashboard-primary-row{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}.dashboard-side-stack{grid-template-rows:150px 150px auto;align-self:start}.dashboard-side-stack .facility-overview{max-height:620px;overflow-y:auto;margin:0}.dashboard-side-stack .fo-devices-grid{grid-template-columns:1fr;padding:8px 2px 2px}.dashboard-side-stack .fo-tile{width:100%;min-height:138px}.graphs-container{background:transparent;border:0;box-shadow:none;height:auto;min-height:640px;overflow:visible}.graphs-container .fo-overview-label{padding-inline:4px}.fo-charts-row{grid-template-columns:minmax(0,1fr);grid-template-rows:none;align-content:start;gap:18px;overflow:visible}.fo-plot-tile{min-height:330px;padding:16px;border-radius:26px}.fo-plot-tile .modal-chart-wrap{padding:0}.fo-plot-tile .modal-chart-canvas{min-height:240px}.fo-chart-header{align-items:flex-start;justify-content:space-between;gap:12px}.fo-chart-range-controls{flex-wrap:nowrap;transform:scale(.96);transform-origin:right top}.weather-summary-tile{cursor:pointer}.weather-metrics-modal{inset:50% auto auto 50%;width:min(980px,calc(100vw - 34px));max-height:min(86dvh,820px);padding-bottom:22px;border-radius:28px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);transform:translate(-50%,-50%) scale(1)}.weather-modal-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:16px;padding:0 20px 18px}.weather-modal-forecast{margin:0}.weather-modal-details{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.weather-map-analytics-layout{grid-template-columns:minmax(300px,.68fr) minmax(520px,1.32fr);align-items:stretch}.analytics-card{display:flex;flex-direction:column;gap:14px;min-height:420px}.analytics-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-range-controls{flex:0 0 auto}.analytics-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-mini-tile{border:1px solid var(--glass-border);border-radius:18px;padding:12px;background:#ffffff0e;display:flex;flex-direction:column;gap:6px}.analytics-mini-tile span{color:var(--text-ink-3);font-size:11px;font-weight:700}.analytics-mini-tile strong{color:var(--text-ink-1);font-size:22px}.analytics-chart-wrap{min-height:230px;flex:1}.analytics-chart-wrap .modal-chart-wrap{padding:0;height:210px}.analytics-chart-wrap .modal-chart-canvas{height:100%}.analytics-suggestions{display:flex;flex-wrap:wrap;gap:8px}.analytics-suggestions span{border:1px solid var(--glass-border);border-radius:999px;padding:6px 10px;color:var(--text-ink-3);font-size:11px;font-weight:700}@media(max-width:1180px){.dashboard-side-stack{grid-template-rows:none}.weather-map-analytics-layout,.weather-modal-grid{grid-template-columns:1fr}}.dashboard-primary-row{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}.dashboard-side-stack{grid-template-rows:196px 132px auto;gap:12px}.compact-metrics-panel{padding:12px}.dashboard-side-stack .facility-overview{max-height:none;overflow:visible}.dashboard-side-stack .fo-groups-container{overflow:visible}.dashboard-side-stack .fo-devices-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:7px 0 0}.dashboard-side-stack .fo-tile.metric-dashboard-tile{min-height:82px;height:82px;padding:10px;border-radius:18px;text-align:left;border:1px solid var(--glass-border);appearance:none}.metric-dashboard-tile .fo-tile-top{align-items:center;gap:8px}.metric-dashboard-tile .fo-tile-label{font-size:12.5px;white-space:normal;line-height:1.05}.metric-category-icon{width:31px;height:31px;flex:0 0 31px}.metric-category-icon svg{width:18px;height:18px}.metric-dashboard-value{display:flex;align-items:baseline;gap:5px;margin-top:6px;color:var(--text-ink-2)}.metric-dashboard-value strong{color:var(--text-ink-1);font-size:22px;line-height:1}.metric-dashboard-value span{font-size:11px;font-weight:700}.graphs-container{min-height:430px}.fo-charts-row{grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.fo-charts-row.is-bar-view{grid-template-columns:minmax(0,1fr)}.fo-plot-tile{min-height:226px;padding:12px;border-radius:20px}.fo-plot-tile .modal-chart-canvas{min-height:150px;height:158px}.fo-chart-header{gap:8px}.fo-chart-label{font-size:13px;line-height:1.2}.fo-chart-title-block{min-width:0;flex:1}.ha-history-status{margin-top:-4px;color:var(--text-ink-3);font-size:11px;line-height:1.25;font-weight:700;text-transform:none;letter-spacing:0}.ha-history-status.is-stale{color:#f2894beb}.fo-chart-range-controls{transform:none;gap:4px}.fo-chart-range-controls button,.metric-view-toggle{min-height:28px;padding:5px 8px;border-radius:999px;border:1px solid var(--glass-border);background:#ffffff14;color:var(--text-ink-2);font-size:11px;font-weight:800;cursor:pointer}.metric-view-toggle:hover,.fo-chart-range-controls button:hover{color:var(--text-ink-1);background:rgba(var(--ar),var(--ag),var(--ab),.14)}.metric-bar-tile{min-height:360px}.metric-bar-chart{display:flex;flex-direction:column;gap:10px;padding-top:8px}.metric-bar-row{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(160px,2fr) minmax(74px,auto);align-items:center;gap:10px}.metric-bar-name{color:var(--text-ink-2);font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-bar-track{height:15px;border-radius:999px;background:#fff1;border:1px solid var(--glass-border);overflow:hidden}.metric-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--bar-color) 48%,transparent),var(--bar-color));box-shadow:0 0 16px color-mix(in srgb,var(--bar-color) 44%,transparent)}.metric-bar-value{color:var(--text-ink-1);font-size:13px;font-weight:850;text-align:right}.analytics-card{min-height:430px}.analytics-mini-tile{min-height:72px}.analytics-mini-tile strong{font-size:20px;overflow-wrap:anywhere}@media(max-width:1380px){.fo-charts-row{grid-template-columns:minmax(0,1fr)}}@media(max-width:1180px){.dashboard-side-stack .fo-devices-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.metric-bar-chart-vertical{min-height:260px;display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:end;gap:12px;padding:14px 4px 2px}.metric-bar-column{min-width:0;display:grid;grid-template-rows:auto 180px auto;gap:8px;align-items:end;justify-items:center}.metric-bar-chart-vertical .metric-bar-track{width:100%;max-width:54px;height:180px;display:flex;align-items:flex-end}.metric-bar-chart-vertical .metric-bar-fill{width:100%;height:auto;min-height:5%;background:linear-gradient(180deg,var(--bar-color),color-mix(in srgb,var(--bar-color) 42%,transparent))}.metric-bar-chart-vertical .metric-bar-name{width:100%;text-align:center;white-space:normal;line-height:1.05;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.metric-bar-chart-vertical .metric-bar-value{text-align:center;font-size:12px}.is-empty-history{opacity:.76}.empty-history-note{min-height:150px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center}.empty-history-note span{max-width:280px;color:var(--text-ink-3);font-size:12px;font-weight:650}.analytics-card{overflow:visible}.analytics-chart-wrap .fo-chart-placeholder{min-height:185px}.analytics-mini-tile strong{display:flex;align-items:baseline;gap:4px}.analytics-mini-tile strong small{color:var(--text-ink-3);font-size:11px;font-weight:800}.dashboard-side-stack .fo-devices-grid{grid-template-columns:1fr!important;gap:8px}.dashboard-side-stack .fo-tile.metric-dashboard-tile{height:64px;min-height:64px;background:#203421!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-mode=light] .dashboard-side-stack .fo-tile.metric-dashboard-tile{background:#f5fae9!important}.dashboard-side-stack .fo-tile.metric-dashboard-tile.selected{border-color:rgba(var(--ar),var(--ag),var(--ab),.72);outline:2px solid rgba(var(--ar),var(--ag),var(--ab),.12)}.metric-dashboard-tile .fo-tile-top{min-width:0}.metric-dashboard-value{margin-top:2px}.metric-dashboard-value strong{font-size:18px}.analytics-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.analytics-correlation-select{min-height:30px;max-width:210px;border:1px solid var(--glass-border);border-radius:999px;padding:5px 30px 5px 10px;background:#ffffff14;color:var(--text-ink-1);font:800 11px var(--font-body),monospace;outline:none}[data-mode=light] .analytics-correlation-select{background:#f5fae9eb}.analytics-correlation-select option{background:var(--bg-base);color:var(--text-ink-1)}@media(max-width:1180px){.dashboard-side-stack .fo-devices-grid{grid-template-columns:1fr!important}}.graphs-container{height:640px;min-height:640px;max-height:640px;overflow:hidden}.graphs-container .fo-overview-label{min-height:42px}.graphs-container .fo-charts-row{height:calc(100% - 50px);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-content:stretch;overflow:hidden}.graphs-container .fo-charts-row.is-bar-view{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.graphs-container .fo-plot-tile{min-height:0;height:100%;overflow:hidden}.graphs-container .fo-plot-tile .modal-chart-wrap{height:calc(100% - 46px);min-height:0}.graphs-container .fo-plot-tile .modal-chart-canvas{height:100%;min-height:0}.plot-slide-controls{display:inline-flex;align-items:center;gap:6px;padding:3px;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff0e}.plot-slide-controls button{min-height:26px;padding:4px 8px;border:0;border-radius:999px;background:rgba(var(--ar),var(--ag),var(--ab),.13);color:var(--text-ink-1);font:800 10px var(--font-body),monospace;cursor:pointer}.plot-slide-controls button:disabled{cursor:default;opacity:.38}.plot-slide-controls span{min-width:30px;color:var(--text-ink-3);font-size:10px;font-weight:850;text-align:center}.dashboard-side-stack .fo-devices-grid{justify-items:center}.dashboard-side-stack .fo-tile.metric-dashboard-tile{width:92px;height:92px;min-height:92px;aspect-ratio:1 / 1;padding:9px;align-items:center;justify-content:center;gap:0;text-align:center}.dashboard-side-stack .fo-tile.metric-dashboard-tile:hover{transform:translateY(-2px);background:#203421!important;box-shadow:none!important}[data-mode=light] .dashboard-side-stack .fo-tile.metric-dashboard-tile:hover{background:#f5fae9!important}.metric-dashboard-tile .fo-tile-top{flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%}.metric-dashboard-tile .fo-tile-label{width:100%;text-align:center;font-size:11.5px;line-height:1.05}.metric-category-icon{width:36px;height:36px;flex-basis:36px}.metric-category-icon svg{width:21px;height:21px}@media(max-width:1380px){.graphs-container{height:720px;min-height:720px;max-height:720px}}@media(max-width:860px){.graphs-container{height:auto;min-height:0;max-height:none;overflow:visible}.graphs-container .fo-charts-row{height:auto;grid-template-columns:1fr;grid-template-rows:none;overflow:visible}.graphs-container .fo-plot-tile{height:260px}}.dashboard-primary-row{align-items:stretch}.dashboard-side-stack{height:640px;align-self:stretch;grid-template-rows:196px 132px minmax(0,1fr)}.dashboard-side-stack .facility-overview.compact-metrics-panel{height:100%;min-height:0;display:flex;flex-direction:column}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-groups-container{flex:1;min-height:0;display:flex}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{flex:1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr;align-content:stretch;justify-items:stretch;gap:10px}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{width:100%;height:auto;min-height:0;aspect-ratio:1 / 1;align-self:stretch;justify-self:stretch}@media(max-width:1380px){.dashboard-side-stack{height:720px}}@media(max-width:860px){.dashboard-side-stack{height:auto;grid-template-rows:none}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}.dashboard-side-stack .facility-overview.compact-metrics-panel{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding-inline:0}.dashboard-side-stack .facility-overview.compact-metrics-panel .section-label{padding-inline:4px}.plot-slide-controls{gap:9px;padding:5px;border-width:1.5px;background:rgba(var(--ar),var(--ag),var(--ab),.14);box-shadow:0 10px 24px #0000002e}.plot-slide-controls button,.metric-view-toggle{min-height:36px;padding:8px 13px;font-size:12px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.28);background:rgba(var(--ar),var(--ag),var(--ab),.22)}.plot-slide-controls span{min-width:44px;font-size:12px;color:var(--text-ink-1)}.dashboard-side-stack .fo-tile.metric-dashboard-tile{border-color:rgba(var(--ar),var(--ag),var(--ab),.24)}.dashboard-side-stack .fo-tile.metric-dashboard-tile.selected{border-color:rgba(var(--ar),var(--ag),var(--ab),.78);outline:2px solid rgba(var(--ar),var(--ag),var(--ab),.18)}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:52px;height:52px;flex:0 0 52px;border:0!important;background:transparent!important;box-shadow:none!important}.metric-category-icon svg,.metric-dashboard-tile .fo-tile-icon.metric-category-icon svg{width:34px;height:34px}.metric-dashboard-tile .fo-tile-top{gap:6px}.metric-dashboard-tile .fo-tile-label{font-size:12px;font-weight:850}.weather-map-analytics-layout{grid-template-columns:minmax(520px,1.35fr) minmax(320px,.65fr);align-items:start}.weather-map-analytics-layout .analytics-card{min-height:0;height:auto}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.weather-map-analytics-layout .analytics-mini-tile{aspect-ratio:1 / 1;min-height:0;justify-content:center;align-items:flex-start;border-radius:22px}.weather-map-analytics-layout .analytics-mini-tile span{line-height:1.15}.weather-map-analytics-layout .analytics-mini-tile strong{font-size:clamp(18px,1.4vw,24px);line-height:1}.weather-map-analytics-layout>.windy-card{width:100%;aspect-ratio:1 / 1;margin-bottom:0;border-radius:28px;display:flex;flex-direction:column}.weather-map-analytics-layout>.windy-card .section-label{flex:0 0 auto}.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{flex:1;height:auto;min-height:0;padding-bottom:0;border-radius:0 0 24px 24px}@media(max-width:1180px){.weather-map-analytics-layout{grid-template-columns:1fr}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-map-analytics-layout>.windy-card{max-width:620px;justify-self:center}}.weather-map-analytics-layout{grid-template-columns:minmax(620px,1.7fr) minmax(260px,.55fr);gap:14px;align-items:start}.weather-map-analytics-layout .analytics-card{width:100%;min-height:0;height:auto;align-self:start}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}.weather-map-analytics-layout .analytics-mini-tile{width:100%;aspect-ratio:1 / 1;min-height:0!important;height:auto;border-radius:22px;justify-content:center}.weather-map-analytics-layout .analytics-chart-wrap{min-height:185px}.weather-map-analytics-layout .analytics-chart-wrap .modal-chart-wrap{height:180px}.weather-map-analytics-layout>.windy-card{width:min(100%,420px);justify-self:end;aspect-ratio:1 / 1;min-height:0}@media(max-width:1320px){.weather-map-analytics-layout{grid-template-columns:minmax(540px,1.5fr) minmax(250px,.6fr)}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.weather-map-analytics-layout{grid-template-columns:1fr}.weather-map-analytics-layout>.windy-card{width:min(100%,520px);justify-self:center}}.weather-map-analytics-layout{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:16px;align-items:stretch}.weather-map-analytics-layout .analytics-card{min-height:430px;height:100%}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(4,108px);justify-content:start;align-items:start;gap:10px}.weather-map-analytics-layout .analytics-mini-tile{width:108px;height:108px;aspect-ratio:auto;min-height:0!important;padding:10px;border-radius:20px}.weather-map-analytics-layout .analytics-mini-tile strong{font-size:18px}.weather-map-analytics-layout>.windy-card{width:100%;max-width:none;min-height:430px;aspect-ratio:auto;justify-self:stretch;align-self:stretch}.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{min-height:360px}@media(max-width:1320px){.weather-map-analytics-layout{grid-template-columns:1fr}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(4,108px)}}@media(max-width:680px){.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(2,108px)}}.weather-desktop-layout.weather-map-analytics-layout{display:grid!important;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);gap:16px;align-items:stretch}.weather-desktop-layout.weather-map-analytics-layout>.windy-card{display:flex!important;flex-direction:column;width:100%!important;min-width:0;min-height:430px;margin-bottom:0}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{position:relative;flex:1 1 auto;height:auto!important;min-height:360px;padding-bottom:0!important}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe{position:absolute;inset:0;width:100%;height:100%}*,*:before,*:after{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6,.modal-title{font-family:var(--font-heading);font-style:normal;letter-spacing:0}:root{--glass-bg: rgba(18, 20, 24, .46);--glass-border: rgba(255, 255, 255, .16);--glass-shadow: 0 18px 48px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .08)}[data-mode=light]{--glass-bg: rgba(255, 255, 255, .42);--glass-border: rgba(255, 255, 255, .48);--glass-shadow: 0 18px 44px rgba(26, 39, 52, .13), inset 0 1px 0 rgba(255, 255, 255, .58)}.glass,.weather-card,.dashboard-primary-tile,.fo-plot-tile,.analytics-card,.windy-card,.modal-sheet,.detail-tile,.forecast-card{background:var(--glass-bg)!important;border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow)}.fo-tile,.dashboard-side-stack .fo-tile.metric-dashboard-tile,.dashboard-side-stack .fo-tile.metric-dashboard-tile:hover,.analytics-mini-tile,.metric-bar-track,.plot-slide-controls,.analytics-correlation-select,.fo-chart-range-controls button,.metric-view-toggle,.analytics-range-controls button{background:linear-gradient(145deg,#ffffff24,#ffffff0b),#ffffff0e!important;border-color:var(--glass-border)!important}[data-mode=light] .fo-tile,[data-mode=light] .dashboard-side-stack .fo-tile.metric-dashboard-tile,[data-mode=light] .dashboard-side-stack .fo-tile.metric-dashboard-tile:hover,[data-mode=light] .analytics-mini-tile,[data-mode=light] .metric-bar-track,[data-mode=light] .plot-slide-controls,[data-mode=light] .analytics-correlation-select,[data-mode=light] .fo-chart-range-controls button,[data-mode=light] .metric-view-toggle,[data-mode=light] .analytics-range-controls button{background:linear-gradient(145deg,#ffffffb8,#ffffff3d),#ffffff38!important}.fo-tile:hover{background:linear-gradient(145deg,#fff3,#ffffff0f),#ffffff13!important}.dashboard-side-stack .fo-tile.metric-dashboard-tile.selected,.fo-tile.selected{border-color:#ffffff52!important;outline-color:#ffffff1f!important}.fo-tile,.dashboard-side-stack .fo-tile.metric-dashboard-tile,.dashboard-side-stack .fo-tile.metric-dashboard-tile:hover,.analytics-mini-tile,.detail-tile,.forecast-card,.metric-bar-track,.plot-slide-controls,.analytics-correlation-select,.fo-chart-range-controls button,.metric-view-toggle,.analytics-range-controls button,.daily-tip-item{background:transparent!important}.dashboard-side-stack .fo-tile.metric-dashboard-tile.selected,.fo-tile.selected,.fo-chart-range-controls button.active,.analytics-range-controls button.active,.metric-view-toggle:hover,.plot-slide-controls button:hover{border-color:#afd19ac2!important;color:var(--brand-sage)}.metric-bar-fill{background:linear-gradient(180deg,var(--brand-sage),var(--brand-forest))!important}.agent-dashboard-tile,.agent-dashboard-tile.glass,.agent-dashboard-tile .agent-blob-wrap{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.agent-dashboard-tile{padding:0!important}.agent-dashboard-tile .agent-blob-wrap{width:min(96%,176px);height:min(96%,176px)}.agent-blob-canvas,.blob-canvas{background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important}.weather-desktop-layout.weather-map-analytics-layout{grid-template-columns:minmax(360px,1fr) minmax(280px,.72fr) minmax(300px,.78fr);gap:14px}.weather-desktop-layout.weather-map-analytics-layout>.windy-card{min-height:340px}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{min-height:280px}.daily-tips-card{display:flex;flex-direction:column;gap:14px;min-height:340px}.daily-tips-card .section-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.daily-tips-list{display:grid;gap:12px;flex:1}.daily-tip-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--glass-border);border-radius:18px}.daily-tip-item span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#afd19a29;color:var(--brand-sage);font-weight:900}.daily-tip-item p{margin:0;color:var(--text-ink-2);font-size:13px;line-height:1.45;font-weight:700}@media(max-width:1320px){.weather-desktop-layout.weather-map-analytics-layout{grid-template-columns:1fr}}.analytics-card,.daily-tips-card,.windy-card{background:transparent!important}.metric-dashboard-tile .fo-tile-icon,.settings-btn svg,.modal-close svg,.windy-card .section-label svg{color:var(--brand-sage)}.plot-slide-controls button,.metric-view-toggle,.analytics-range-controls button{background:transparent!important}:root{--plot-line-color: #bdeca3;--plot-icon-color: #afd19a}[data-mode=light]{--plot-line-color: #2d4b2f;--plot-icon-color: #2d4b2f}.metric-category-icon,.metric-category-icon svg,.metric-dashboard-tile .fo-tile-icon.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon svg,.settings-btn,.settings-btn svg,.windy-card .section-label,.windy-card .section-label svg{color:var(--plot-icon-color)!important;fill:currentColor!important;stroke:currentColor}.analytics-range-controls,.analytics-range-controls.fo-chart-range-controls{transform:none;transform-origin:right top;gap:4px}.analytics-range-controls button,.analytics-range-controls.fo-chart-range-controls button{min-height:28px;padding:6px 9px;border-radius:999px;font-size:11px;border:1px solid var(--glass-border);background:transparent!important}.analytics-range-controls button.active,.analytics-range-controls.fo-chart-range-controls button.active{color:var(--plot-line-color)!important;border-color:color-mix(in srgb,var(--plot-line-color) 70%,transparent)!important}.weather-desktop-layout.weather-map-analytics-layout{align-items:stretch}.weather-desktop-layout.weather-map-analytics-layout>.analytics-card,.weather-desktop-layout.weather-map-analytics-layout>.daily-tips-card,.weather-desktop-layout.weather-map-analytics-layout>.windy-card{height:420px;min-height:420px;max-height:420px;align-self:stretch}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{min-height:0;flex:1 1 auto}.daily-tips-list,.analytics-card-grid{min-height:0}.analytics-mini-tile span{text-transform:none}@media(max-width:1320px){.weather-desktop-layout.weather-map-analytics-layout>.analytics-card,.weather-desktop-layout.weather-map-analytics-layout>.daily-tips-card,.weather-desktop-layout.weather-map-analytics-layout>.windy-card{height:auto;min-height:340px;max-height:none}}.facility-insights-card{overflow:hidden}.facility-insights-list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-height:0}.facility-insight-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.78fr);gap:8px;width:100%;min-height:0;padding:9px;border:1px solid var(--glass-border);border-radius:18px;background:transparent;overflow:hidden;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.facility-insight-item:hover{transform:translateY(-1px);border-color:rgba(var(--ar),var(--ag),var(--ab),.32)}.facility-insight-item:focus-visible{outline:2px solid rgba(var(--ar),var(--ag),var(--ab),.42);outline-offset:2px}.facility-insight-copy{min-width:0}.facility-insight-copy strong{display:block;color:var(--text-ink-1);font-size:12px;line-height:1.15;margin-bottom:4px}.facility-insight-copy p{margin:0;color:var(--text-ink-3);font-size:10.5px;line-height:1.28;font-weight:700}.facility-insight-item .recharts-tooltip-wrapper{z-index:5}.modal-sheet.insight-modal{inset:50% auto auto 50%;width:min(720px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 34px));border-radius:18px;border-bottom:.33px solid rgba(var(--ar),var(--ag),var(--ab),.15);padding:0 0 24px;transform:translate(-50%,calc(-50% + 24px)) scale(.98);opacity:0;transition:transform .26s ease,opacity .26s ease}.modal-sheet.insight-modal.visible{transform:translate(-50%,-50%) scale(1);opacity:1}.insight-modal-body{display:grid;gap:16px;min-height:0}.insight-modal-summary{margin:0;color:var(--text-ink-2);font-size:15px;line-height:1.5;font-weight:700}.insight-modal-chart{min-height:190px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:8px;padding:12px;background:rgba(var(--ar),var(--ag),var(--ab),.045)}.insight-modal-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.insight-modal-value{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12);border-radius:8px;padding:10px 12px;background:#ffffff09}.insight-modal-value span{min-width:0;color:var(--text-ink-3);font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insight-modal-value strong{flex:0 0 auto;color:var(--text-ink-1);font-size:14px}@media(max-width:1320px){.facility-insight-item{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.metric-icon-img{display:block;width:34px;height:34px;object-fit:contain;pointer-events:none}.metric-icon-img-light{display:none}.metric-icon-img-dark,[data-mode=light] .metric-icon-img-light{display:block}[data-mode=light] .metric-icon-img-dark{display:none}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:64px;height:64px;flex-basis:64px}.metric-icon-img{width:48px;height:48px}.facility-insights-card{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding-inline:0}.facility-insight-item{padding:12px;border-color:var(--glass-border);background:linear-gradient(145deg,#ffffff1a,#ffffff06),#ffffff09}[data-mode=light] .facility-insight-item{background:linear-gradient(145deg,#ffffff94,#ffffff2e),#ffffff29}.facility-insight-copy strong{font-size:14px;line-height:1.2}.facility-insight-copy p{font-size:12.5px;line-height:1.38;color:var(--text-ink-2)}.analytics-card{padding-left:22px}.analytics-card-grid{padding-left:6px}.analytics-mini-tile{padding:14px 14px 14px 18px}.analytics-mini-tile span{font-size:13px;line-height:1.2;color:var(--text-ink-2)}.analytics-mini-tile strong{font-size:26px;line-height:1.05}.metric-dashboard-tile .fo-tile-top{flex-direction:column;align-items:center;justify-content:center;gap:4px}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:78px;height:70px;flex:0 0 70px}.metric-icon-img{width:62px;height:62px}.metric-dashboard-tile .fo-tile-label{display:block;width:100%;margin-top:2px;text-align:center;font-size:12.5px;line-height:1.08}.facility-insight-copy strong{font-size:16px;line-height:1.18;margin-bottom:6px}.facility-insight-copy p{font-size:14px;line-height:1.42}.analytics-card-grid{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:12px;padding-left:12px}.analytics-mini-tile{flex:0 1 auto;width:fit-content;min-width:150px;max-width:100%;padding:16px 18px 16px 22px}.analytics-mini-tile span{font-size:14px}.analytics-mini-tile strong{font-size:28px}.weather-metrics-modal,.weather-metrics-modal.visible{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%) scale(1)!important;margin:0!important}.dashboard-side-stack .fo-tile.metric-dashboard-tile{padding:13px 8px 2px}.metric-dashboard-tile .fo-tile-top{display:grid;grid-template-rows:minmax(0,1fr) min-content;place-items:center;gap:0;width:100%;height:100%}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{grid-row:1;align-self:end}.metric-dashboard-tile .fo-tile-label{grid-row:2;align-self:start;margin-bottom:0;padding-bottom:0}@media(max-width:760px){html,body,#root{min-height:100%;overflow:hidden}.screen.screen-weather{height:100dvh;padding:10px 10px 32px;overflow-y:auto;overflow-x:hidden;scroll-padding-block:10px 32px}.weather-desktop-top-row,.weather-desktop-layout,.dashboard-primary-row,.dashboard-side-stack,.weather-desktop-layout.weather-map-analytics-layout{display:flex!important;flex-direction:column!important;width:100%;height:auto!important;min-height:0!important;max-height:none!important;gap:12px;margin:0 0 12px;overflow:visible!important}.dashboard-primary-tile,.weather-card,.graphs-container,.facility-chart-tile,.compact-metrics-panel,.analytics-card,.daily-tips-card,.windy-card{width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;border-radius:22px}.agent-dashboard-tile{order:1;height:118px!important;min-height:118px!important;padding:0!important}.agent-dashboard-tile .agent-blob-wrap{width:118px;height:118px}.weather-summary-tile{order:2;height:148px!important;min-height:148px!important;padding:14px 16px!important}.weather-summary-actions{top:12px;right:12px;gap:8px}.weather-summary-tile .settings-btn{width:34px;height:34px;border-radius:14px}.weather-summary-tile .w-city{font-size:17px}.weather-summary-tile .w-temp{font-size:46px}.weather-summary-tile .w-condition,.weather-summary-tile .w-hilow-stacked{font-size:13px}.compact-metrics-panel{order:3;padding:0!important}.dashboard-side-stack .facility-overview.compact-metrics-panel .section-label{padding:0 4px 6px}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-groups-container{display:block;flex:none;min-height:0;overflow:visible!important}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:8px;padding:0}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1 / 1;padding:9px 5px 4px;border-radius:18px}.metric-dashboard-tile .fo-tile-top{grid-template-rows:minmax(0,1fr) min-content;gap:0}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:56px;height:52px;flex:0 0 52px}.metric-icon-img{width:46px;height:46px}.metric-dashboard-tile .fo-tile-label{font-size:11px;line-height:1.05}.graphs-container{order:4;padding:0!important}.graphs-container .fo-overview-label{min-height:0;padding:0 2px 8px;gap:8px;align-items:flex-start;flex-wrap:wrap}.fo-history-controls,.fo-source-controls{width:100%;min-width:0;gap:6px;flex-wrap:wrap}.ha-source-pill{max-width:100%}.plot-slide-controls{gap:6px;padding:4px}.plot-slide-controls button,.metric-view-toggle,.fo-chart-range-controls button,.analytics-range-controls button{min-height:32px;padding:6px 10px;font-size:11px}.plot-slide-controls span{min-width:38px;font-size:11px}.graphs-container .fo-charts-row{display:grid;grid-template-columns:1fr!important;grid-template-rows:none!important;height:auto!important;gap:10px;overflow:visible!important}.graphs-container .fo-plot-tile{height:min(56svh,420px)!important;min-height:320px!important;max-height:420px!important;padding:12px;border-radius:22px;overflow:hidden!important}.fo-chart-header{flex-direction:column;gap:8px}.fo-chart-label{font-size:13px;line-height:1.18}.ha-history-status{font-size:10.5px;line-height:1.2;margin-top:2px}.fo-chart-range-controls{width:100%;justify-content:flex-start;flex-wrap:wrap;transform:none}.graphs-container .fo-plot-tile .modal-chart-wrap{height:calc(100% - 98px)!important;min-height:0!important;padding:0!important}.graphs-container .fo-plot-tile .modal-chart-canvas{width:100%!important;height:100%!important;min-height:0!important}.metric-bar-tile{min-height:320px!important}.metric-bar-chart-vertical{min-height:210px;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:8px;padding:8px 0 0}.metric-bar-column{grid-template-rows:auto 142px auto;gap:6px}.metric-bar-chart-vertical .metric-bar-track{max-width:42px;height:142px}.metric-bar-chart-vertical .metric-bar-name{font-size:9.5px}.metric-bar-chart-vertical .metric-bar-value{font-size:10px}.weather-desktop-layout.weather-map-analytics-layout>.analytics-card,.weather-desktop-layout.weather-map-analytics-layout>.daily-tips-card,.weather-desktop-layout.weather-map-analytics-layout>.windy-card{height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch}.analytics-card,.daily-tips-card,.windy-card{padding:12px!important}.analytics-header{flex-direction:column;gap:10px}.analytics-controls{width:100%;display:grid;gap:8px}.analytics-correlation-select{width:100%;min-height:36px}.analytics-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;padding-left:0!important}.analytics-mini-tile,.weather-map-analytics-layout .analytics-mini-tile{width:100%!important;height:auto!important;min-height:82px!important;aspect-ratio:auto!important;padding:12px!important;border-radius:18px}.analytics-mini-tile span{font-size:11px}.analytics-mini-tile strong{font-size:20px}.analytics-chart-wrap{min-height:218px!important}.analytics-chart-wrap .modal-chart-wrap{height:188px!important}.analytics-chart-wrap .modal-chart-canvas{height:188px!important;min-height:188px!important}.facility-insights-card{padding:0!important}.facility-insights-list{display:grid;grid-template-rows:none;gap:10px}.facility-insight-item{grid-template-columns:minmax(0,1fr) minmax(92px,.58fr);gap:8px;padding:10px;border-radius:18px}.facility-insight-copy strong{font-size:13.5px;line-height:1.15;margin-bottom:4px}.facility-insight-copy p{font-size:11.5px;line-height:1.28}.windy-card{min-height:292px!important}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{height:238px!important;min-height:238px!important;flex:none;border-radius:18px}.weather-metrics-modal,.weather-metrics-modal.visible{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;border-radius:22px}.weather-modal-grid{grid-template-columns:1fr!important;gap:12px;padding:0 12px 14px}.weather-modal-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-side-stack{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"agent weather" "metrics metrics";align-items:stretch;gap:10px}.agent-dashboard-tile{grid-area:agent}.weather-summary-tile{grid-area:weather}.agent-dashboard-tile,.weather-summary-tile{aspect-ratio:1 / 1;height:auto!important;min-height:0!important;overflow:hidden!important}.agent-dashboard-tile .agent-blob-wrap{width:100%;height:100%;margin-top:0;--agent-blob-scale: .46;--agent-blob-y-offset: .07}.agent-dashboard-tile .iflora-blob-root{position:relative;width:100%!important;height:100%!important}.agent-dashboard-tile .iflora-blob-root .agent-blob-canvas{position:absolute;inset:0;margin:0}.agent-dashboard-tile .iflora-blob-root>div{display:none}.weather-summary-tile{justify-content:flex-end;padding:11px!important}.weather-summary-actions{top:9px;right:9px;gap:6px}.weather-summary-tile .settings-btn{width:30px;height:30px;border-radius:12px}.weather-summary-tile .settings-btn svg{width:17px;height:17px}.weather-summary-tile .w-city{max-width:calc(100% - 68px);font-size:13.5px;line-height:1.05}.weather-summary-tile .w-temp-row{gap:7px;margin-top:4px}.weather-summary-tile .w-temp{font-size:38px;line-height:.92}.weather-summary-tile .w-hilow-stacked{font-size:11.5px}.weather-summary-tile .w-condition{max-width:100%;margin-top:4px;font-size:10.5px;line-height:1.15}.compact-metrics-panel{grid-area:metrics}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{padding:7px 5px 3px}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:74px;height:68px;flex:0 0 68px}.metric-icon-img{width:62px;height:62px}.metric-dashboard-tile .fo-tile-label{font-size:11.5px}.fo-source-controls{justify-content:flex-end}.metric-view-toggle{margin-right:auto}.plot-slide-controls{margin-left:auto;order:3}.plot-slide-controls button{min-width:38px;min-height:34px;padding:4px 11px;font-size:18px;line-height:1}.graphs-container .fo-charts-row:not(.is-bar-view){display:flex!important;grid-template-columns:none!important;gap:10px;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain}.graphs-container .fo-charts-row:not(.is-bar-view) .fo-plot-tile{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}.graphs-container .fo-charts-row.is-bar-view{display:grid!important;overflow:visible!important}.analytics-controls{display:grid;grid-template-columns:1fr;width:100%}.analytics-correlation-select{width:100%}.analytics-range-controls,.analytics-range-controls.fo-chart-range-controls{width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:6px}.analytics-range-controls button,.analytics-range-controls.fo-chart-range-controls button{width:100%;justify-content:center}.weather-summary-tile{width:clamp(142px,42vw,162px)!important;justify-self:end;align-self:center;padding:10px!important}.weather-summary-tile .w-city{font-size:14.5px}.weather-summary-tile .w-temp{font-size:42px}.weather-summary-tile .w-hilow-stacked{font-size:12.5px}.weather-summary-tile .w-condition{font-size:11.5px}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{grid-template-columns:repeat(3,clamp(84px,26vw,96px))!important;justify-content:center;gap:9px;padding:2px 3px 0}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{padding:6px 4px 3px}}@media(min-width:1181px){.screen-weather{--dashboard-plot-height: clamp(640px, 62vh, 820px);--analytics-row-min-height: clamp(420px, 34vh, 560px)}.dashboard-primary-row{grid-template-columns:minmax(300px,clamp(320px,20vw,390px)) minmax(0,1fr);gap:clamp(14px,1vw,20px)}.dashboard-side-stack{height:var(--dashboard-plot-height);grid-template-rows:clamp(196px,18vh,220px) clamp(122px,12vh,154px) minmax(0,1fr)}.graphs-container{height:var(--dashboard-plot-height);min-height:var(--dashboard-plot-height);max-height:var(--dashboard-plot-height)}.weather-desktop-layout.weather-map-analytics-layout{display:grid!important;grid-template-columns:minmax(420px,1.08fr) minmax(280px,.72fr) minmax(360px,.92fr);gap:clamp(12px,1vw,18px);align-items:stretch}.weather-desktop-layout.weather-map-analytics-layout>.analytics-card,.weather-desktop-layout.weather-map-analytics-layout>.daily-tips-card,.weather-desktop-layout.weather-map-analytics-layout>.windy-card{height:auto;min-height:var(--analytics-row-min-height);max-height:none;align-self:stretch}.weather-desktop-layout.weather-map-analytics-layout>.windy-card .windy-iframe-wrap{min-height:clamp(300px,27vh,470px)}.analytics-card{display:grid;grid-template-rows:auto auto minmax(190px,1fr);align-content:start;gap:clamp(10px,.9vw,14px);overflow:visible}.analytics-card-grid,.weather-map-analytics-layout .analytics-card-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(clamp(112px,8vw,150px),1fr));align-items:stretch;gap:clamp(8px,.75vw,12px);padding-left:0}.analytics-mini-tile,.weather-map-analytics-layout .analytics-mini-tile{width:100%;min-width:0;max-width:none;height:auto;min-height:clamp(76px,8vh,108px)!important;aspect-ratio:auto;padding:clamp(10px,.9vw,16px)}.analytics-mini-tile span{font-size:clamp(11px,.78vw,14px);line-height:1.15}.analytics-mini-tile strong{font-size:clamp(18px,1.45vw,28px);line-height:1.02;overflow-wrap:anywhere}.analytics-chart-wrap{min-height:clamp(190px,18vh,270px)}.analytics-chart-wrap .modal-chart-wrap{height:clamp(170px,16vh,240px)}.analytics-chart-wrap .modal-chart-canvas{height:100%;min-height:0}}.metric-dashboard-tile{--metric-icon-box-size: clamp(60px, 56%, 82px);--metric-icon-img-size: clamp(52px, 50%, 72px)}.metric-dashboard-tile .fo-tile-top{grid-template-rows:minmax(0,1fr) auto!important;gap:2px!important;overflow:hidden}.metric-category-icon,.metric-dashboard-tile .fo-tile-icon.metric-category-icon{width:var(--metric-icon-box-size)!important;height:var(--metric-icon-box-size)!important;flex:0 0 var(--metric-icon-box-size)!important;max-width:100%;min-height:0;align-self:center!important;justify-self:center;overflow:visible}.metric-icon-img{width:var(--metric-icon-img-size)!important;height:var(--metric-icon-img-size)!important;max-width:100%;max-height:100%;object-fit:contain}@media(max-width:760px){.metric-dashboard-tile{--metric-icon-box-size: clamp(54px, 58%, 70px);--metric-icon-img-size: clamp(48px, 52%, 62px)}}.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{grid-template-columns:repeat(2,minmax(0,146px))!important;justify-content:center;justify-items:center}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{width:100%!important;max-width:146px!important}@media(max-width:760px){.dashboard-side-stack .facility-overview.compact-metrics-panel .fo-devices-grid{grid-template-columns:repeat(3,clamp(92px,27vw,104px))!important}.dashboard-side-stack .facility-overview.compact-metrics-panel .metric-dashboard-tile{max-width:104px!important}}.weather-desktop-layout.weather-map-analytics-layout>.analytics-card{display:grid;grid-template-rows:auto auto minmax(260px,1fr);align-content:stretch;gap:10px;padding-bottom:12px}.weather-map-analytics-layout .analytics-header{align-items:center;gap:10px}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px}.weather-map-analytics-layout .analytics-mini-tile{min-height:88px!important;padding:12px;justify-content:center}.weather-map-analytics-layout .analytics-mini-tile span{font-size:12px}.weather-map-analytics-layout .analytics-mini-tile strong{font-size:clamp(20px,1.55vw,26px)}.weather-map-analytics-layout .analytics-chart-wrap{min-height:0!important;height:100%;display:flex;flex-direction:column}.weather-map-analytics-layout .analytics-chart-wrap .fo-chart-label{flex:0 0 auto;margin-bottom:8px}.weather-map-analytics-layout .analytics-chart-wrap .modal-chart-wrap{flex:1;height:auto!important;min-height:260px}.weather-map-analytics-layout .analytics-chart-wrap .modal-chart-canvas{height:100%!important;min-height:260px!important}@media(max-width:760px){.weather-desktop-layout.weather-map-analytics-layout>.analytics-card{grid-template-rows:auto auto minmax(220px,auto)}.weather-map-analytics-layout .analytics-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.open-field-dashboard{position:relative;z-index:2;width:min(100%,1720px);min-width:1040px;margin:0 auto;display:grid;grid-template-rows:minmax(570px,clamp(620px,66vh,790px)) minmax(170px,22vh);gap:16px}.open-field-map-shell{position:relative;min-height:0;overflow:hidden;border:1px solid rgba(213,230,194,.4);border-radius:8px;background:#7e8a63;box-shadow:0 28px 72px #192d1940}.open-field-satellite-base{position:absolute;inset:0;background:linear-gradient(32deg,transparent 0 42%,rgba(215,195,150,.42) 42.4% 46.2%,transparent 46.7% 100%),linear-gradient(154deg,transparent 0 55%,rgba(226,206,164,.36) 55.5% 58.2%,transparent 58.8% 100%),radial-gradient(ellipse at 20% 36%,rgba(34,67,42,.68) 0 7%,transparent 8%),radial-gradient(ellipse at 82% 24%,rgba(31,72,43,.55) 0 11%,transparent 12%),radial-gradient(ellipse at 55% 72%,rgba(47,83,47,.45) 0 13%,transparent 14%),repeating-linear-gradient(13deg,rgba(38,74,43,.32) 0 3px,transparent 3px 18px),repeating-linear-gradient(96deg,rgba(72,96,55,.24) 0 2px,transparent 2px 22px),linear-gradient(135deg,#9f966b,#b0a26f,#8f8b62 52%,#a18e61 77%,#7c865c);filter:saturate(.9) contrast(1.04)}.open-field-coordinate-map,.open-field-map-content,.open-field-satellite-tiles,.open-field-coordinate-overlay,.open-field-sensor-layer{position:absolute;inset:0}.open-field-coordinate-map{overflow:hidden}.open-field-map-content{transform-origin:0 0;will-change:transform}.open-field-satellite-tiles{pointer-events:none;overflow:hidden}.open-field-satellite-tiles img{position:absolute;display:block;opacity:.96;-webkit-user-select:none;user-select:none}.open-field-coordinate-overlay{width:100%;height:100%;overflow:visible}.open-field-sensor-layer{z-index:5;pointer-events:none}.open-field-satellite-base:before,.open-field-satellite-base:after{content:"";position:absolute;inset:0;pointer-events:none}.open-field-satellite-base:before{background:radial-gradient(circle at 16% 54%,rgba(25,55,32,.58) 0 2px,transparent 3px),radial-gradient(circle at 18% 57%,rgba(25,55,32,.58) 0 2px,transparent 3px),radial-gradient(circle at 20% 60%,rgba(25,55,32,.58) 0 2px,transparent 3px),radial-gradient(circle at 72% 18%,rgba(28,64,35,.5) 0 3px,transparent 4px),radial-gradient(circle at 75% 22%,rgba(28,64,35,.5) 0 3px,transparent 4px),radial-gradient(circle at 78% 26%,rgba(28,64,35,.5) 0 3px,transparent 4px),radial-gradient(circle at 82% 31%,rgba(28,64,35,.5) 0 3px,transparent 4px);background-size:72px 72px,72px 72px,72px 72px,86px 86px,86px 86px,86px 86px,86px 86px;opacity:.66}.open-field-satellite-base:after{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;mix-blend-mode:overlay;opacity:.35}.open-field-map-vignette{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(24,39,25,.16),transparent 20%,transparent 70%,rgba(24,39,25,.24)),linear-gradient(180deg,rgba(245,250,233,.08),transparent 24%,rgba(24,39,25,.12));pointer-events:none}.open-field-weather-station{position:absolute;z-index:7;top:22px;left:22px;width:300px;min-height:158px;padding:18px;border-radius:8px;cursor:pointer;color:var(--text-ink-1)}.open-field-weather-actions{position:absolute;top:16px;right:16px;display:flex;gap:9px}.open-field-weather-station .settings-btn{width:40px;height:40px;color:var(--text-ink-1);background:#f5fae96b}.open-field-station-kicker,.open-field-station-condition,.open-field-station-grid span{color:var(--text-ink-3)}.open-field-station-kicker{max-width:170px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.open-field-station-location{max-width:165px;margin-top:7px;font-size:17px;font-weight:700}.open-field-station-temp{display:flex;align-items:flex-start;gap:10px;margin-top:3px}.open-field-station-temp strong{font-size:56px;line-height:.95;font-weight:300}.open-field-station-temp span{padding-top:10px;font-size:13px;line-height:1.15;color:var(--text-ink-2)}.open-field-station-condition{margin-top:4px;font-size:13px;line-height:1.2}.open-field-station-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.open-field-station-grid span{min-width:0;padding:7px 8px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.16);border-radius:8px;background:#f5fae933;font-size:10px;line-height:1.1}.open-field-station-grid b{display:block;color:var(--text-ink-1);font-size:12px;line-height:1.2}.open-field-category-dock{position:absolute;z-index:8;top:18px;left:50%;width:min(690px,calc(100% - 720px));min-width:530px;transform:translate(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;border-radius:8px}.open-field-category-dock button{min-width:0;height:54px;display:grid;grid-template-rows:23px min-content;place-items:center;gap:3px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.18);border-radius:7px;background:#f5fae900;color:var(--brand-forest);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.open-field-category-dock button:hover,.open-field-category-dock button.active{transform:translateY(-1px);background:transparent;border-color:#2d4b2f6b}.open-field-category-dock svg{width:21px;height:21px}.open-field-category-dock span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.open-field-map-stage{position:absolute;inset:0;z-index:3;background:transparent!important;cursor:grab;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.open-field-map-stage:active{cursor:grabbing}.open-field-map-svg{position:absolute;inset:0;width:calc(100% - min(430px,30vw));height:100%;overflow:visible}.open-field-boundary{opacity:1;fill-opacity:.3;stroke:#4aa7ff;stroke-width:5;vector-effect:non-scaling-stroke;cursor:pointer;filter:drop-shadow(0 0 5px rgba(74,167,255,.8));transition:fill-opacity .2s ease,stroke-width .2s ease}.open-field-heat-fill{opacity:.62;mix-blend-mode:screen}.open-field-boundary:hover,.open-field-boundary.selected{fill-opacity:.46;stroke-width:7;stroke:#d7f0ff}.open-field-sensor-node{position:absolute;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:transparent;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto}.open-field-sensor-node .sensor-pulse{position:absolute;inset:0;border:1.25px solid rgba(232,255,223,.72);border-radius:999px;background:#71b4673d}.open-field-sensor-node .sensor-dot{position:absolute;left:50%;top:50%;width:9px;height:9px;border:1.8px solid #f9f5ea;border-radius:999px;background:#5fa35a;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.38))}.open-field-sensor-node:hover .sensor-pulse{border-width:1.8px;background:#71b46757}.open-field-sensor-popover{position:absolute;z-index:10;min-width:172px;padding:10px 12px;border-radius:8px;transform:translate(-50%,calc(-100% - 16px));pointer-events:none;color:var(--text-ink-1)}.open-field-sensor-popover strong,.open-field-sensor-popover b,.open-field-sensor-popover span,.open-field-sensor-popover small{display:block}.open-field-sensor-popover strong{font-size:13px}.open-field-sensor-popover span,.open-field-sensor-popover small{color:var(--text-ink-3);font-size:11px}.open-field-sensor-popover b{margin:5px 0 3px;font-size:19px;font-weight:800}.open-field-zone-chip{position:absolute;left:24px;bottom:24px;z-index:6;min-width:168px;padding:12px 14px;border-radius:8px}.open-field-zone-chip span,.open-field-zone-chip strong{display:block}.open-field-zone-chip span{font-size:11px;color:var(--text-ink-3);letter-spacing:1px;text-transform:uppercase}.open-field-zone-chip strong{margin-top:4px;font-size:22px}.open-field-map-attribution{position:absolute;right:calc(min(430px,30vw) + 28px);bottom:10px;z-index:8;padding:4px 7px;border-radius:999px;background:#f5fae9b8;color:var(--brand-forest);font-size:10px;font-weight:700;text-decoration:none}.open-field-graph-drawer{position:absolute;z-index:9;top:76px;right:18px;bottom:18px;width:min(420px,29vw);min-width:360px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden}.open-field-graph-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 10px;border-bottom:1px solid rgba(var(--ar),var(--ag),var(--ab),.14)}.open-field-graph-header span{color:var(--text-ink-3);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.open-field-graph-header strong{display:block;margin-top:4px;color:var(--text-ink-1);font-size:18px}.open-field-range-tabs{display:flex;gap:4px;padding:3px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.14);border-radius:999px;background:#ffffff0f}.open-field-range-tabs button{height:25px;min-width:54px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:var(--text-ink-3);cursor:pointer;font-size:10px;font-weight:700}.open-field-range-tabs button.active{background:rgba(var(--ar),var(--ag),var(--ab),.22);color:var(--text-ink-1)}.open-field-graph-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-width:thin;scrollbar-color:rgba(var(--ar),var(--ag),var(--ab),.4) transparent}.open-field-graph-list::-webkit-scrollbar{display:block;width:8px}.open-field-graph-list::-webkit-scrollbar-track{background:transparent}.open-field-graph-list::-webkit-scrollbar-thumb{background:rgba(var(--ar),var(--ag),var(--ab),.32);border-radius:999px}.open-field-chart-card{min-height:212px;padding:12px 10px 8px;margin-bottom:10px;border:1px solid rgba(var(--ar),var(--ag),var(--ab),.15);border-radius:8px;background:#f5fae91a}.open-field-chart-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}.open-field-prediction-meta{padding:0 14px 4px}.open-field-chart-card header div{min-width:0}.open-field-chart-card header span,.open-field-chart-card header strong,.open-field-chart-card header b{display:block}.open-field-chart-card header span{color:var(--text-ink-4);font-size:9px;letter-spacing:1px;text-transform:uppercase}.open-field-chart-card header strong{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-ink-2);font-size:12px;line-height:1.2}.open-field-chart-card header b{flex:0 0 auto;color:var(--text-ink-1);font-size:14px}.open-field-chart-card .modal-chart-wrap{height:154px;padding:0}.open-field-chart-card .modal-chart-canvas{height:154px;border-radius:8px}.open-field-chart-empty,.open-field-loading{min-height:180px;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--text-ink-3);text-align:center}.open-field-loading{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,-50%);border-radius:8px}[data-mode=light] .open-field-weather-station,[data-mode=light] .open-field-category-dock,[data-mode=light] .open-field-graph-drawer,[data-mode=light] .open-field-sensor-popover,[data-mode=light] .open-field-zone-chip{background:#f5fae900}.open-field-dashboard{display:block;min-width:0;margin-bottom:24px}.open-field-map-shell{height:var(--dashboard-plot-height, clamp(640px, 62vh, 820px));border-radius:22px;border-color:var(--glass-border)}.open-field-weather-station,.open-field-category-dock,.open-field-graph-drawer,.open-field-sensor-popover,.open-field-zone-chip{border-radius:22px}.open-field-weather-station{background:var(--glass-bg);border:.33px solid var(--glass-border);box-shadow:var(--glass-shadow)}.open-field-weather-station .settings-btn{background:rgba(var(--ar),var(--ag),var(--ab),.06)}.open-field-category-dock{width:clamp(520px,42vw,700px);min-width:0;column-gap:16px;row-gap:8px;padding:10px;border-radius:18px}.open-field-category-dock button{flex:initial!important;width:auto!important;min-width:0!important;max-width:100%;aspect-ratio:auto!important;box-sizing:border-box;height:58px;display:grid!important;grid-template-rows:35px minmax(12px,auto);place-items:center;gap:2px;margin:0!important;padding:5px 5px 4px!important;border-radius:13px;background:rgba(var(--ar),var(--ag),var(--ab),.08);color:var(--text-primary);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.14);overflow:hidden;transform:none!important;box-shadow:none}.open-field-category-dock button:hover,.open-field-category-dock button.active{background:rgba(var(--ar),var(--ag),var(--ab),.16);border-color:rgba(var(--ar),var(--ag),var(--ab),.32)}.open-field-category-dock .metric-icon-img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}.open-field-category-dock span{display:block;width:100%;color:var(--text-ink-2);font-size:8.5px;line-height:1;letter-spacing:0;text-transform:none;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.open-field-map-svg{width:100%;height:100%;cursor:inherit;overflow:hidden}.open-field-map-content{transform-box:fill-box;transform-origin:0 0}.open-field-map-controls{position:absolute;top:232px;left:22px;right:auto;z-index:8;display:grid;grid-template-rows:34px 24px 34px;align-items:center;justify-items:center;width:42px;padding:4px;border-radius:18px}.open-field-map-controls button{width:34px;height:34px;border:0;border-radius:14px;background:rgba(var(--ar),var(--ag),var(--ab),.16);color:var(--text-primary);cursor:pointer;font-size:21px;font-weight:700;line-height:1}.open-field-map-controls button:disabled{cursor:default;opacity:.38}.open-field-map-controls span{color:var(--text-ink-3);font-size:9px;font-weight:800}.open-field-source-note{position:absolute;left:22px;bottom:184px;z-index:8;max-width:min(520px,calc(100% - 44px));padding:10px 12px;border-radius:8px;color:var(--text-ink-2);font-size:12px;line-height:1.35}.open-field-floating-agent{position:absolute;left:22px;bottom:22px;z-index:8;width:180px;height:150px}.open-field-floating-agent .agent-dashboard-tile{width:100%;height:100%;min-height:0;padding:0}.open-field-floating-agent .agent-dashboard-tile .agent-blob-wrap{width:150px;height:150px}.open-field-graph-drawer{top:88px;background:#161f186b!important;border:.33px solid rgba(255,255,255,.2);border-radius:22px;box-shadow:0 24px 72px #08120c3d,inset 0 1px #ffffff29;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}.open-field-graph-drawer.is-hidden{opacity:0;pointer-events:none;transform:translate(18px) scale(.985);visibility:hidden}.open-field-chart-card{background:#f5fae929!important;border-color:#fff3;border-radius:18px}[data-mode=light] .open-field-graph-drawer{background:#f5fae970!important;border-color:#ffffff6b;box-shadow:0 24px 72px #192d1929,inset 0 1px #ffffff6b}[data-mode=light] .open-field-chart-card{background:#f5fae93d!important;border-color:#ffffff61}@media(max-width:1320px){.open-field-category-dock{width:500px;column-gap:12px;row-gap:6px;padding:8px}.open-field-category-dock button{height:50px;padding:4px 2px}.open-field-category-dock .metric-icon-img{width:34px!important;height:34px!important}.open-field-category-dock span{display:none}}@media(min-width:1500px){.open-field-category-dock button{height:58px}.open-field-category-dock .metric-icon-img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}.open-field-category-dock span{font-size:9.5px}}.devices-modal{width:min(1120px,calc(100vw - 32px));height:min(820px,calc(100dvh - 32px));inset:50% auto auto 50%;transform:translate(-50%,calc(-50% + 18px));display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:12px;padding:22px;border-radius:8px}.devices-modal.visible{transform:translate(-50%,-50%)}.devices-modal-header{align-items:flex-start;flex-shrink:0}.devices-toolbar{display:grid;gap:12px}.devices-kpis,.devices-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.devices-kpis span{min-height:30px;display:inline-flex;align-items:center;padding:0 11px;border-radius:999px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.16);background:rgba(var(--ar),var(--ag),var(--ab),.08);color:var(--text-ink-2);font-size:.78rem;font-weight:700}.devices-filters input,.devices-filters select,.devices-filters button,.device-inline-control input,.device-inline-control button,.device-select-control select,.device-action-button{min-height:36px;border-radius:8px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.18);background:#ffffff14;color:var(--text-primary);font:inherit;outline:none}[data-mode=light] .devices-filters input,[data-mode=light] .devices-filters select,[data-mode=light] .devices-filters button,[data-mode=light] .device-inline-control input,[data-mode=light] .device-inline-control button,[data-mode=light] .device-select-control select,[data-mode=light] .device-action-button{background:#ffffff9e}.devices-filters input{width:min(100%,330px);padding:0 12px}.devices-filters select{min-width:150px;padding:0 10px}.devices-filters button,.device-inline-control button,.device-action-button{padding:0 13px;cursor:pointer;font-weight:700;color:var(--accent-solid)}.devices-filters button:disabled,.device-inline-control button:disabled,.device-action-button:disabled,.device-toggle:disabled,.device-select-control select:disabled,.device-inline-control input:disabled{cursor:default;opacity:.58}.devices-note,.devices-action-ok,.devices-inline-error{border-radius:8px;padding:10px 12px;font-size:.8rem;line-height:1.35;text-align:left}.devices-note{color:var(--text-ink-3);background:rgba(var(--ar),var(--ag),var(--ab),.06);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.12)}.devices-action-ok{color:#bde7b2;background:#50965a29;border:.33px solid rgba(120,220,140,.22)}[data-mode=light] .devices-action-ok{color:#245d2c}.devices-inline-error{color:#ffb4a8;background:#963c3229;border:.33px solid rgba(255,140,120,.22)}[data-mode=light] .devices-inline-error{color:#8f2b20}.devices-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:10px;padding-right:2px}.devices-empty-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:8px;padding:22px;border-radius:8px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.14);background:rgba(var(--ar),var(--ag),var(--ab),.05);color:var(--text-ink-3);text-align:center}.devices-empty-state strong{color:var(--text-ink-1);font-size:.96rem}.devices-empty-state p{margin:0;color:var(--text-ink-4);font-size:.82rem}.devices-empty-state button{min-height:34px;padding:0 13px;border-radius:8px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.18);background:#ffffff14;color:var(--accent-solid);font:inherit;font-weight:700;cursor:pointer}.device-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:16px;align-items:center;min-height:96px;padding:14px;border-radius:8px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.14);background:#ffffff0d}[data-mode=light] .device-row{background:#ffffff75}.device-row.is-controllable{border-color:rgba(var(--ar),var(--ag),var(--ab),.26)}.device-main{min-width:0;display:grid;gap:7px;text-align:left}.device-title-row{display:flex;align-items:center;gap:10px;min-width:0}.device-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-ink-1);font-size:.96rem}.device-state-pill{flex:0 0 auto;min-height:28px;max-width:180px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:rgba(var(--ar),var(--ag),var(--ab),.08);border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.14);color:var(--text-ink-2);font-size:.75rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-state-pill.state-on{color:#c9f4b8;background:#5aaa5638;border-color:#82e67857}.device-state-pill.state-off{color:var(--text-ink-3)}.device-state-pill.state-unavailable,.device-state-pill.state-unknown{color:#ffb4a8;background:#963c3229}[data-mode=light] .device-state-pill.state-on{color:#245d2c}[data-mode=light] .device-state-pill.state-unavailable,[data-mode=light] .device-state-pill.state-unknown{color:#8f2b20}.device-meta{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.device-meta span,.device-last-seen,.device-control-empty,.device-select-control span,.device-inline-control span{color:var(--text-ink-4);font-size:.74rem;font-weight:700}.device-meta span{min-height:22px;max-width:280px;display:inline-flex;align-items:center;padding:0 8px;border-radius:6px;background:rgba(var(--ar),var(--ag),var(--ab),.06);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.device-toggle{width:58px;height:34px;border:.33px solid rgba(var(--ar),var(--ag),var(--ab),.2);border-radius:999px;background:rgba(var(--ar),var(--ag),var(--ab),.08);padding:3px;cursor:pointer}.device-toggle span{display:block;width:26px;height:26px;border-radius:50%;background:var(--text-ink-3);transition:transform .2s ease,background .2s ease}.device-toggle.is-on{background:#75cd6a3d;border-color:#82e67861}.device-toggle.is-on span{transform:translate(24px);background:#bde7b2}[data-mode=light] .device-toggle.is-on span{background:#2d6d35}.device-inline-control,.device-select-control,.device-inline-control label{display:flex;align-items:center;gap:6px}.device-inline-control input{width:78px;padding:0 8px}.device-select-control select{max-width:150px;padding:0 8px}.device-control-empty{justify-self:end;text-transform:uppercase;letter-spacing:.06em}@media(max-width:760px){.devices-modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:16px;gap:10px}.devices-filters,.devices-kpis{display:grid;grid-template-columns:1fr 1fr}.devices-filters input{grid-column:1 / -1;width:100%}.device-row{grid-template-columns:1fr;gap:12px}.device-controls{justify-content:flex-start}.device-title-row{align-items:flex-start;flex-direction:column}.device-state-pill{max-width:100%}}
