:root{--md-sys-color-primary: #b34a1f;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #f4c4ad;--md-sys-color-on-primary-container: #5e2010;--md-sys-color-secondary: #1f7a4d;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #bce3cf;--md-sys-color-on-secondary-container: #0e3d28;--md-sys-color-tertiary: #7d5800;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #fae2a0;--md-sys-color-on-tertiary-container: #422c00;--md-sys-color-background: #fafdf8;--md-sys-color-on-background: #191c1a;--md-sys-color-surface: #fafdf8;--md-sys-color-on-surface: #191c1a;--md-sys-color-surface-variant: #dde5dc;--md-sys-color-on-surface-variant: #414942;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-container-low: #f4f7f1;--md-sys-color-surface-container: #eef1eb;--md-sys-color-surface-container-high: #e8ebe6;--md-sys-color-surface-container-highest: #e2e6e0;--md-sys-color-inverse-surface: #2e312e;--md-sys-color-inverse-on-surface: #f0f1ec;--md-sys-color-inverse-primary: #e89878;--md-sys-color-outline: #717971;--md-sys-color-outline-variant: #c1c9bf;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-scrim: #000000;--agroiot-color-success: #1f7a4d;--agroiot-color-success-container: #bce3cf;--agroiot-color-on-success: #ffffff;--agroiot-color-warning: #7d5800;--agroiot-color-warning-container: #fae2a0;--agroiot-color-on-warning: #ffffff;--agroiot-color-device-online: #1f7a4d;--agroiot-color-device-offline: #757970;--agroiot-color-device-error: #ba1a1a;--md-sys-typescale-font: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--md-sys-typescale-display-large-size: 57px;--md-sys-typescale-display-large-line: 64px;--md-sys-typescale-display-large-weight: 400;--md-sys-typescale-headline-small-size: 24px;--md-sys-typescale-headline-small-line: 32px;--md-sys-typescale-headline-small-weight: 400;--md-sys-typescale-title-large-size: 22px;--md-sys-typescale-title-large-line: 28px;--md-sys-typescale-title-large-weight: 500;--md-sys-typescale-title-medium-size: 16px;--md-sys-typescale-title-medium-line: 24px;--md-sys-typescale-title-medium-weight: 500;--md-sys-typescale-title-medium-tracking: .15px;--md-sys-typescale-body-large-size: 16px;--md-sys-typescale-body-large-line: 24px;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-body-medium-size: 14px;--md-sys-typescale-body-medium-line: 20px;--md-sys-typescale-body-medium-weight: 400;--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-line: 20px;--md-sys-typescale-label-large-weight: 500;--md-sys-shape-corner-none: 0;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px;--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0 1px 2px 0 rgba(0,0,0,.3), 0 1px 3px 1px rgba(0,0,0,.15);--md-sys-elevation-level2: 0 1px 2px 0 rgba(0,0,0,.3), 0 2px 6px 2px rgba(0,0,0,.15);--md-sys-elevation-level3: 0 4px 8px 3px rgba(0,0,0,.15), 0 1px 3px 0 rgba(0,0,0,.3);--md-sys-elevation-level4: 0 6px 10px 4px rgba(0,0,0,.15), 0 2px 3px 0 rgba(0,0,0,.3);--md-sys-elevation-level5: 0 8px 12px 6px rgba(0,0,0,.15), 0 4px 4px 0 rgba(0,0,0,.3);--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-spacing-1: 4px;--md-sys-spacing-2: 8px;--md-sys-spacing-3: 12px;--md-sys-spacing-4: 16px;--md-sys-spacing-5: 20px;--md-sys-spacing-6: 24px;--md-sys-spacing-8: 32px;--chaba-accent-0-bg: #f4c4ad;--chaba-accent-0-fg: #5e2010;--chaba-accent-1-bg: #fae2a0;--chaba-accent-1-fg: #422c00;--chaba-accent-2-bg: #f0dab8;--chaba-accent-2-fg: #3d3520;--chaba-accent-3-bg: #bce3cf;--chaba-accent-3-fg: #0e3d28;--chaba-accent-4-bg: #d4a373;--chaba-accent-4-fg: #4a2e15;--chaba-accent-5-bg: #e89878;--chaba-accent-5-fg: #5e2010}html[data-theme=dark]{--md-sys-color-primary: #e89878;--md-sys-color-on-primary: #5e2010;--md-sys-color-primary-container: #7c2e10;--md-sys-color-on-primary-container: #f4c4ad;--md-sys-color-secondary: #4ec18e;--md-sys-color-on-secondary: #003822;--md-sys-color-secondary-container: #0e3d28;--md-sys-color-on-secondary-container: #bce3cf;--md-sys-color-tertiary: #ffb958;--md-sys-color-on-tertiary: #422c00;--md-sys-color-tertiary-container: #5d4200;--md-sys-color-on-tertiary-container: #fae2a0;--md-sys-color-background: #0f1411;--md-sys-color-on-background: #e1e3df;--md-sys-color-surface: #0f1411;--md-sys-color-on-surface: #e1e3df;--md-sys-color-surface-variant: #414942;--md-sys-color-on-surface-variant: #c1c9bf;--md-sys-color-surface-container-lowest: #0a0f0c;--md-sys-color-surface-container-low: #181c19;--md-sys-color-surface-container: #1c201d;--md-sys-color-surface-container-high: #262b27;--md-sys-color-surface-container-highest: #313632;--md-sys-color-inverse-surface: #e1e3df;--md-sys-color-inverse-on-surface: #2e312e;--md-sys-color-inverse-primary: #b34a1f;--md-sys-color-outline: #8b938a;--md-sys-color-outline-variant: #414942;--md-sys-color-error: #ffb4ab;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000a;--md-sys-color-on-error-container: #ffdad6;--agroiot-color-success: #4ec18e;--agroiot-color-success-container: #0e3d28;--agroiot-color-on-success: #003822;--agroiot-color-warning: #ffb958;--agroiot-color-warning-container: #5d4200;--agroiot-color-on-warning: #422c00;--chaba-accent-0-bg: #7c2e10;--chaba-accent-0-fg: #fdf3e3;--chaba-accent-1-bg: #7d5800;--chaba-accent-1-fg: #fdf3e3;--chaba-accent-2-bg: #5a4f3e;--chaba-accent-2-fg: #fdf3e3;--chaba-accent-3-bg: #0e4a2c;--chaba-accent-3-fg: #fdf3e3;--chaba-accent-4-bg: #5a3819;--chaba-accent-4-fg: #fdf3e3;--chaba-accent-5-bg: #a04a25;--chaba-accent-5-fg: #fdf3e3}@media (prefers-reduced-motion: reduce){:root{--md-sys-motion-duration-short1: 0ms;--md-sys-motion-duration-short2: 0ms;--md-sys-motion-duration-medium1: 0ms;--md-sys-motion-duration-medium2: 0ms;--md-sys-motion-duration-long1: 0ms;--md-sys-motion-duration-long2: 0ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-background);background:var(--md-sys-color-background);overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:none}button{background:none;border:none;padding:0;cursor:pointer}fieldset{border:none;padding:0;min-inline-size:0}ul[role=list],ol[role=list]{list-style:none;padding:0}dialog{padding:0}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{display:flex;flex-direction:column;min-height:100dvh;padding-top:var(--safe-area-top);padding-right:var(--safe-area-right);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left)}.app-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--md-sys-spacing-1);height:56px;padding:0 var(--md-sys-spacing-4);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant)}html[data-theme=dark] .app-bar{background:var(--md-sys-color-surface-container)}.app-bar__title{flex:1;font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:var(--md-sys-spacing-2)}.app-build-footer{position:fixed;bottom:calc(2px + var(--safe-area-bottom, 0px));left:50%;transform:translate(-50%);z-index:5;font-size:10px;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--md-sys-color-on-surface-variant);opacity:.55;pointer-events:none}.app-bar__logo{flex:0 0 auto;width:34px;height:34px;border-radius:var(--md-sys-shape-corner-small);overflow:hidden}.app-bar__action{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.app-bar__action:hover{background:var(--md-sys-color-surface-container-high)}.app-bar__action:active{background:var(--md-sys-color-surface-container-highest)}.m3-icon-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.m3-icon-button:hover{background:var(--md-sys-color-surface-container-high)}.m3-icon-button:active{background:var(--md-sys-color-surface-container-highest)}.m3-icon-button:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}main{flex:1;display:flex;flex-direction:column;width:100%;max-width:1024px;margin:0 auto;padding:var(--md-sys-spacing-4)}main>h2{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line);margin-bottom:var(--md-sys-spacing-4);color:var(--md-sys-color-on-background)}.devices-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--md-sys-spacing-2);margin-bottom:var(--md-sys-spacing-4)}.devices-header h2{margin:0}.devices-header__chips{display:flex;gap:var(--md-sys-spacing-2)}.devices-chip{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line);padding:4px 12px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.devices-chip--online{background:var(--agroiot-color-success-container);color:var(--agroiot-color-on-success-container, #002111)}html[data-theme=dark] .devices-chip--online{color:var(--agroiot-color-on-success-container, #bce3cf)}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--md-sys-spacing-3);list-style:none;padding:0;margin:0}.accent-0{--tile-accent: var(--chaba-accent-0-bg);--tile-on-accent: var(--chaba-accent-0-fg)}.accent-1{--tile-accent: var(--chaba-accent-1-bg);--tile-on-accent: var(--chaba-accent-1-fg)}.accent-2{--tile-accent: var(--chaba-accent-2-bg);--tile-on-accent: var(--chaba-accent-2-fg)}.accent-3{--tile-accent: var(--chaba-accent-3-bg);--tile-on-accent: var(--chaba-accent-3-fg)}.accent-4{--tile-accent: var(--chaba-accent-4-bg);--tile-on-accent: var(--chaba-accent-4-fg)}.accent-5{--tile-accent: var(--chaba-accent-5-bg);--tile-on-accent: var(--chaba-accent-5-fg)}.device-tile{display:flex;flex-direction:column;gap:var(--md-sys-spacing-1);padding:var(--md-sys-spacing-4);aspect-ratio:1 / 1;background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-level2);border:1px solid transparent;transition:background-color var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}.device-tile:hover{box-shadow:var(--md-sys-elevation-level3)}.device-tile--on{background:var(--tile-accent);border-color:color-mix(in srgb,var(--tile-accent) 70%,var(--md-sys-color-outline))}.device-tile--offline{opacity:.72}.device-tile--virtual{border:1px dashed var(--md-sys-color-outline);box-shadow:var(--md-sys-elevation-level1)}html[data-theme=dark] .device-tile{background:var(--md-sys-color-surface-container-high)}.device-tile__demo-badge{flex:0 0 auto;font-family:var(--md-sys-typescale-font);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;line-height:1;padding:3px 6px;border-radius:var(--md-sys-shape-corner-full);border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}.device-tile--on .device-tile__demo-badge{color:var(--tile-on-accent);border-color:color-mix(in srgb,var(--tile-on-accent) 60%,transparent)}.device-tile__type-badge{flex:0 0 auto;font-family:var(--md-sys-typescale-font);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;line-height:1;padding:3px 6px;border-radius:var(--md-sys-shape-corner-full)}.device-tile__type-badge--gateway{border:1px solid var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 14%,transparent);color:var(--md-sys-color-primary)}.device-tile__type-badge--remote{border:1px solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant)}.device-tile--on .device-tile__type-badge--gateway,.device-tile--on .device-tile__type-badge--remote{color:var(--tile-on-accent);border-color:color-mix(in srgb,var(--tile-on-accent) 60%,transparent)}.device-tile__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--md-sys-spacing-2)}.device-tile__icon{width:48px;height:48px;border-radius:var(--md-sys-shape-corner-medium);background:var(--tile-accent);color:var(--tile-on-accent);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard)}.device-tile__icon .material-symbols-outlined{font-size:36px;font-variation-settings:"FILL" 1}.device-tile__icon--on{transform:scale(1.08)}.device-tile--on .device-tile__icon--on{background:var(--md-sys-color-surface-container-lowest);color:var(--tile-on-accent)}.device-tile__edit{width:32px;height:32px;color:var(--md-sys-color-on-surface-variant);opacity:.75}.device-tile__name{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line);letter-spacing:var(--md-sys-typescale-title-medium-tracking, .15px);color:var(--md-sys-color-on-surface);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.device-tile--on .device-tile__name{color:var(--tile-on-accent)}.device-tile__subtitle{display:flex;align-items:center;gap:var(--md-sys-spacing-1);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant);min-height:20px;flex:1}.device-tile--on .device-tile__subtitle{color:var(--tile-on-accent)}.device-tile__status-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.device-tile__status-dot{width:8px;height:8px;border-radius:var(--md-sys-shape-corner-full);background:var(--agroiot-color-device-online);flex:0 0 auto}.device-tile__status-dot--offline{background:var(--agroiot-color-device-offline)}.device-tile__bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between}.device-tile__switch{flex:0 0 auto;margin-left:auto}.signal-bars{display:inline-flex;align-items:flex-end;gap:2px;flex:0 0 auto;margin-left:auto;height:12px}.signal-bars i{display:block;width:4px;border-radius:1px;background:var(--md-sys-color-outline-variant)}.signal-bars i:nth-child(1){height:5px}.signal-bars i:nth-child(2){height:8px}.signal-bars i:nth-child(3){height:12px}.signal-bars--1 i:nth-child(-n+1),.signal-bars--2 i:nth-child(-n+2),.signal-bars--3 i:nth-child(-n+3){background:currentColor}.signal-bars--1 i:nth-child(1){background:var(--agroiot-color-warning)}.device-tile--on .m3-switch input:checked~.m3-switch__track,.device-tile--on .m3-switch input:checked~.m3-switch__thumb{border-color:var(--tile-on-accent)}.m3-dialog{width:min(92vw,380px);padding:var(--md-sys-spacing-6);border:none;border-radius:var(--md-sys-shape-corner-extra-large);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-level3)}.m3-dialog::backdrop{background:#0006}.m3-dialog__title{margin:0 0 var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight)}.m3-dialog__supporting{margin:0 0 var(--md-sys-spacing-4);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant)}.m3-text-field{width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-extra-small);border:1px solid var(--md-sys-color-outline);background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-large-size)}.m3-text-field:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-1px;border-color:transparent}.addr-row{display:flex;gap:var(--md-sys-spacing-2);align-items:center;margin-top:var(--md-sys-spacing-3)}.addr-row .addr-input{flex:1;min-width:0;font-size:var(--md-sys-typescale-body-medium-size)}.addr-row .addr-locate{flex-shrink:0;white-space:nowrap}.addr-copy{margin-top:var(--md-sys-spacing-2)!important;margin-bottom:0!important}.m3-dialog__actions{display:flex;justify-content:flex-end;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-5)}.m3-filled-button,.m3-text-button{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line);padding:10px 24px;border-radius:var(--md-sys-shape-corner-full);border:none;cursor:pointer}.m3-filled-button{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.m3-filled-button:disabled{opacity:.5;cursor:not-allowed}.m3-text-button{background:transparent;color:var(--md-sys-color-primary)}.m3-text-button:disabled{opacity:.5;cursor:not-allowed}.m3-switch{position:relative;display:inline-block;flex:0 0 auto;width:52px;height:32px;cursor:pointer;-webkit-tap-highlight-color:transparent}.m3-switch input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.m3-switch input[type=checkbox]:disabled{cursor:not-allowed}.m3-switch__track{position:absolute;inset:0;border-radius:16px;background:var(--md-sys-color-surface-container-highest);border:2px solid var(--md-sys-color-outline);transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.m3-switch__thumb{position:absolute;top:8px;left:8px;width:16px;height:16px;border-radius:50%;background:var(--md-sys-color-outline);box-shadow:0 1px 2px #0000004d,0 1px 3px 1px #00000026;transition:left .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),width .1s cubic-bezier(.4,0,.2,1),height .1s cubic-bezier(.4,0,.2,1);pointer-events:none}.m3-switch input:checked~.m3-switch__track{background:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.m3-switch input:checked~.m3-switch__thumb{left:28px;background:var(--md-sys-color-on-primary)}.m3-switch input:checked~.m3-switch__track .m3-switch__thumb,.m3-switch input:checked~.m3-switch__thumb{width:24px;height:24px;top:4px;left:24px}.m3-switch input:disabled~.m3-switch__track{opacity:.5}.m3-switch input:disabled~.m3-switch__thumb{opacity:.5}.m3-switch input:focus-visible~.m3-switch__track{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.offline-banner{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-medium-size);margin-bottom:var(--md-sys-spacing-4)}.offline-banner__icon{flex:0 0 auto}.snackbar-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:var(--md-sys-spacing-2);z-index:100;pointer-events:none}.snackbar{pointer-events:auto;display:flex;align-items:center;gap:var(--md-sys-spacing-3);min-width:288px;max-width:568px;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--md-sys-shape-corner-extra-small);box-shadow:var(--md-sys-elevation-level3);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-medium-size);animation:snackbar-enter var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-emphasized-decelerate)}.snackbar__action{font-weight:var(--md-sys-typescale-label-large-weight);color:var(--md-sys-color-inverse-primary);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-small)}@keyframes snackbar-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.connect{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--md-sys-spacing-6);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-4)}.connect__heading{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line)}.connect__sub{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line);color:var(--md-sys-color-on-surface-variant);max-width:360px}.connect__buttons{display:flex;flex-direction:column;gap:var(--md-sys-spacing-2);width:100%;max-width:280px}.error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-4)}.error__icon{width:64px;height:64px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);display:inline-flex;align-items:center;justify-content:center;font-size:32px}.error__heading{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line);color:var(--md-sys-color-on-background)}.error__body{font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line);color:var(--md-sys-color-on-surface-variant);max-width:360px}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-4);color:var(--md-sys-color-on-surface-variant)}.agent-card{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-5);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);color:inherit;text-decoration:none;transition:background-color .15s ease,transform .15s ease}.agent-card:hover{background:var(--md-sys-color-surface-container-high)}.agent-card:active{transform:scale(.99)}.agent-card__photo{width:52px;height:52px;border-radius:var(--md-sys-shape-corner-medium);object-fit:cover;flex:none}.agent-card__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-family:var(--md-sys-typescale-font)}.agent-card__copy strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line);color:var(--md-sys-color-on-background)}.agent-card__copy>span{font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant)}.agent-card__go{flex:none;color:var(--agroiot-color-success)}.subscription-card{display:flex;align-items:center;flex-wrap:wrap;gap:var(--md-sys-spacing-2) var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-5);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);font-family:var(--md-sys-typescale-font)}.subscription-card__icon{flex:none;color:var(--md-sys-color-primary);font-size:28px}.subscription-card__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.subscription-card__copy strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line);color:var(--md-sys-color-on-background)}.subscription-card__price{white-space:nowrap}.subscription-card__status{font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant)}.sub--active .subscription-card__status{color:var(--agroiot-color-success)}.sub--grace .subscription-card__status{color:var(--agroiot-color-warning)}.sub--lapsed .subscription-card__status{color:var(--md-sys-color-error)}.subscription-card__cta{flex:none;margin-left:auto;padding:8px 14px;border-radius:999px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);text-decoration:none;white-space:nowrap;transition:transform .15s ease,filter .15s ease}.subscription-card__cta:hover{filter:brightness(1.08)}.subscription-card__cta:active{transform:scale(.98)}.notify-card{display:flex;align-items:center;flex-wrap:wrap;gap:var(--md-sys-spacing-2) var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-5);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);font-family:var(--md-sys-typescale-font)}.notify-card__icon{flex:none;color:var(--md-sys-color-primary);font-size:28px}.notify-card__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notify-card__copy strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line);color:var(--md-sys-color-on-background)}.notify-card__status{font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant)}.notify-card--on .notify-card__status{color:var(--agroiot-color-success)}.notify-card__switch{flex:none;margin-left:auto}.voice-fab{position:fixed;right:1.25rem;bottom:1.25rem;width:3.5rem;height:3.5rem;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-primary, #2e6b3f);color:var(--md-sys-color-on-primary, #fff);box-shadow:0 4px 14px #00000047;cursor:pointer;z-index:40;transition:transform .15s ease,opacity .15s ease;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.voice-fab:active{transform:scale(.94)}.voice-fab .material-symbols-outlined{font-size:26px}.voice-fab--locked{background:var(--md-sys-color-surface-container, #e8e8e4);color:var(--md-sys-color-on-surface-variant, #555);box-shadow:0 2px 8px #00000024;opacity:.9}.voice-fab--rec{background:var(--md-sys-color-error, #b3261e);color:#fff;animation:voice-pulse 1.4s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 #b3261e73}50%{box-shadow:0 0 0 14px #b3261e00}}.voice-sheet{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);width:min(26rem,calc(100vw - 2rem));background:var(--md-sys-color-surface-container-high, #fff);color:var(--md-sys-color-on-surface, #111);border-radius:18px;padding:1.1rem 1.25rem;box-shadow:0 10px 32px #00000052;z-index:50}.voice-sheet__icon{font-size:26px;color:var(--md-sys-color-primary, #2e6b3f);margin-bottom:.25rem}.voice-sheet__action{font-size:1.05rem;margin:.35rem 0 .25rem}.voice-sheet__sub{color:var(--md-sys-color-on-surface-variant, #555);font-size:.9rem;margin:.25rem 0}.voice-sheet__row{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.voice-sheet__cancel,.voice-sheet__confirm{border:none;border-radius:999px;padding:.55rem 1.1rem;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-block}.voice-sheet__cancel{background:transparent;color:var(--md-sys-color-on-surface-variant, #555)}.voice-sheet__confirm{background:var(--md-sys-color-primary, #2e6b3f);color:var(--md-sys-color-on-primary, #fff)}.voice-sheet__confirm:disabled{opacity:.5;cursor:default}.app-bar__menu-anchor{position:relative;flex:0 0 auto}.app-bar__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:224px;padding:var(--md-sys-spacing-2);border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);box-shadow:var(--md-sys-elevation-level2);display:flex;flex-direction:column;gap:2px}.app-bar__menu-item{display:flex;align-items:center;gap:var(--md-sys-spacing-3);width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border:none;border-radius:var(--md-sys-shape-corner-small);background:transparent;color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.app-bar__menu-item:hover{background:var(--md-sys-color-surface-container-high)}.app-bar__menu-item:active{background:var(--md-sys-color-surface-container-highest)}.app-bar__menu-item .material-symbols-outlined{font-size:20px;color:var(--md-sys-color-on-surface-variant)}.app-bar__menu-label{flex:1}.app-bar__menu-item--danger,.app-bar__menu-item--danger .material-symbols-outlined{color:var(--md-sys-color-error)}.app-bar__menu-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--md-sys-color-error);color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.messages-back{flex:none}.message-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.message-item{padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container);font-family:var(--md-sys-typescale-font)}.message-item__head{display:flex;align-items:center;gap:var(--md-sys-spacing-2)}.message-item__icon{flex:none;color:var(--md-sys-color-primary);font-size:20px}.message-item__title{flex:1;min-width:0;font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-background);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-item__time{flex:none;font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.message-item__body{margin:var(--md-sys-spacing-2) 0 0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line);color:var(--md-sys-color-on-surface-variant);white-space:pre-wrap;overflow-wrap:anywhere}.messages-footnote{color:var(--md-sys-color-on-surface-variant);font-size:.8rem;margin-top:.75rem}
