:root{--background:#f4f1e8;--surface:rgba(255,255,255,0.84);--surface-strong:#ffffff;--border:rgba(53,86,59,0.14);--foreground:#1b2b1c;--muted:#5f6f61;--primary:#659968;--primary-deep:#35563b;--accent:#d7e022;--alert:#bf3f3f;--shadow:0 24px 60px rgba(53,86,59,0.12);--background-glow-primary:rgba(215,224,34,0.28);--background-glow-secondary:rgba(101,153,104,0.16);--background-gradient-start:#fbf8f0;--background-gradient-mid:#f4f1e8;--background-gradient-end:#edf1e8;--app-frame-background:radial-gradient(circle at top left,var(--background-glow-primary),transparent 28%),radial-gradient(circle at right 20%,var(--background-glow-secondary),transparent 30%),linear-gradient(180deg,var(--background-gradient-start) 0%,var(--background-gradient-mid) 52%,var(--background-gradient-end) 100%);--content-background:transparent;--toolbar-background:rgba(251,248,240,0.88);--rail-background-start:rgba(255,255,255,0.76);--rail-background-end:rgba(255,255,255,0.45);--control-border:rgba(53,86,59,0.16);--control-shadow:0 10px 24px rgba(53,86,59,0.08);--nav-divider:rgba(53,86,59,0.12);--nav-section-border:rgba(53,86,59,0.12);--nav-default-background-start:rgba(255,255,255,0.78);--nav-default-background-end:rgba(255,255,255,0.42);--nav-lab-background-start:rgba(215,224,34,0.12);--nav-lab-background-end:rgba(255,255,255,0.28);--nav-lab-text:#7a7f1b;--nav-platform-background-start:rgba(53,86,59,0.12);--nav-platform-background-end:rgba(255,255,255,0.3);--nav-platform-border:rgba(53,86,59,0.18);--nav-field-background-start:rgba(72,128,157,0.14);--nav-field-background-end:rgba(255,255,255,0.3);--nav-field-border:rgba(72,128,157,0.2);--nav-field-text:#30586d;--nav-link-hover-border:rgba(101,153,104,0.22);--nav-link-hover-background:rgba(101,153,104,0.1);--hero-background-primary:rgba(101,153,104,0.22);--hero-background-accent:rgba(215,224,34,0.14);--hero-border:rgba(101,153,104,0.18);--tile-border:rgba(53,86,59,0.14);--tile-glow:rgba(215,224,34,0.14);--tile-hover-border:rgba(53,86,59,0.3);--metric-accent-text:#8f9610;--map-frame-border:rgba(53,86,59,0.12);--input-border:rgba(53,86,59,0.18);--input-active-outline:rgba(215,224,34,0.9);--input-active-border:rgba(101,153,104,0.4);--input-active-background:rgba(215,224,34,0.12);--button-secondary-background:rgba(101,153,104,0.1);--button-danger-background:rgba(191,63,63,0.12);--table-border:rgba(53,86,59,0.1);--status-active-background:rgba(101,153,104,0.16);--status-maintenance-background:rgba(215,224,34,0.22);--status-retired-background:rgba(191,63,63,0.12);--empty-panel-background:rgba(244,241,232,0.85);--auth-copy-glow:rgba(215,224,34,0.26);--auth-copy-background:rgba(101,153,104,0.26);--dialog-backdrop:rgba(27,43,28,0.34);--highlight-border:rgba(53,86,59,0.12);--popup-surface-glow:rgba(215,224,34,0.16);--popup-shadow:0 24px 48px rgba(27,43,28,0.16);--popup-section-border:rgba(53,86,59,0.12);--popup-tag-background:rgba(101,153,104,0.1);--popup-card-border:rgba(53,86,59,0.08);--sensor-row-hover:rgba(101,153,104,0.08);--assignment-column-background-primary:rgba(215,224,34,0.14);--assignment-card-border:rgba(53,86,59,0.12);--assignment-card-hover-border:rgba(53,86,59,0.24);--assignment-card-hover-shadow:0 16px 30px rgba(53,86,59,0.08);--toolbar-height:72px}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,var(--background-glow-primary),transparent 28%),radial-gradient(circle at right 20%,var(--background-glow-secondary),transparent 30%),linear-gradient(180deg,var(--background-gradient-start) 0,var(--background-gradient-mid) 52%,var(--background-gradient-end) 100%)}body,html{color:var(--foreground)}body{margin:0;min-height:100vh;font-family:var(--font-body-active,var(--font-body)),sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-frame{min-height:100vh;background:var(--app-frame-background)}.shell{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh;padding-top:var(--toolbar-height)}.app-toolbar{position:fixed;inset:0 0 auto 0;z-index:40;height:var(--toolbar-height);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 16px;border-bottom:1px solid var(--border);background:var(--toolbar-background);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app-toolbar-brand{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:20px;height:100%;flex:0 0 auto;min-width:0}.app-logo{display:block;width:auto;height:calc(var(--toolbar-height) - 8px);max-height:100%;max-width:none;object-fit:contain;border-radius:12px}.app-toolbar-brand>div{justify-content:center;min-width:0}.app-toolbar-brand>div,.rail{display:flex;flex-direction:column}.rail{padding:16px 14px;border-right:1px solid var(--border);background:linear-gradient(180deg,var(--rail-background-start),var(--rail-background-end));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app-toolbar h1,.auth-card h1,.brand-lockup h1,.detail-hero h1,.hero h1,.panel h3,.topbar h2{margin:0;font-family:var(--font-display-active,var(--font-display)),serif;font-weight:600;letter-spacing:-.03em}.eyebrow{margin:0 0 4px;color:var(--primary-deep);font-family:var(--font-body-active,var(--font-body)),sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.section-label{display:inline-flex;align-items:center;gap:8px}.muted{color:var(--muted)}.small{font-size:.92rem}.nav{display:grid;gap:4px;margin:8px 0 0}.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--control-border);border-radius:999px;padding:0;background:rgba(255,255,255,.86);color:var(--primary-deep);font-weight:700;box-shadow:var(--control-shadow)}.nav-section{display:grid;gap:1px}.nav-section-header{padding:0}.nav-section-header .eyebrow{margin-bottom:0;line-height:1}.nav-section-links{display:grid;gap:1px;justify-items:start;align-items:start;grid-auto-rows:max-content}.nav-account-switcher{margin-top:2px;padding-top:4px;border-top:1px solid var(--nav-divider)}.nav-section-default,.nav-section-field,.nav-section-lab,.nav-section-platform{padding:4px;border:1px solid var(--nav-section-border);border-radius:10px}.nav-section-default{background:linear-gradient(180deg,var(--nav-default-background-start),var(--nav-default-background-end))}.nav-section-lab{background:linear-gradient(180deg,var(--nav-lab-background-start),var(--nav-lab-background-end))}.nav-section-platform{background:linear-gradient(180deg,var(--nav-platform-background-start),var(--nav-platform-background-end));border-color:var(--nav-platform-border)}.nav-section-field{background:linear-gradient(180deg,var(--nav-field-background-start),var(--nav-field-background-end));border-color:var(--nav-field-border)}.nav-section-lab .eyebrow{color:var(--nav-lab-text)}.nav-section-field .eyebrow{color:var(--nav-field-text)}.nav-section-platform .eyebrow{color:var(--primary-deep)}.nav-link{justify-self:start;align-self:start;padding:3px 7px;border:1px solid transparent;border-radius:8px;color:var(--muted);line-height:1;transition:.18s ease}.nav-link,.nav-link-content{display:inline-flex;align-items:center}.nav-link-content{gap:6px}.nav-link.active,.nav-link:hover{border-color:var(--nav-link-hover-border);background:var(--nav-link-hover-background);color:var(--primary-deep)}.nav-link-button{width:auto;background:transparent;font-weight:inherit;text-align:left;cursor:pointer}.nav-link-mobile-hidden{display:inline-flex}.auth-card,.metric-card,.panel,.rail-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.content,.rail-card{padding:14px}.content{background:var(--content-background)}.topbar-main{flex:1 1 auto;gap:10px;justify-content:flex-end}.topbar-main,.topbar-page{display:flex;align-items:center;min-width:0}.topbar-page{gap:12px}.topbar-page h2{margin:0;font-family:var(--font-display-active,var(--font-display)),serif;font-weight:600;letter-spacing:-.02em}.topbar-help-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--control-border);border-radius:999px;padding:0;background:rgba(255,255,255,.86);color:var(--primary-deep);box-shadow:var(--control-shadow)}.markdown-help,.page-content{display:grid;gap:12px}.markdown-help__heading,.markdown-help__list,.markdown-help__paragraph,.markdown-help__subheading{margin:0}.markdown-help__heading,.markdown-help__subheading{font-family:var(--font-display-active,var(--font-display)),serif;letter-spacing:-.02em}.markdown-help__list{padding-left:20px;color:var(--foreground)}.detail-hero,.hero{padding:20px;border-radius:18px;background:linear-gradient(135deg,var(--hero-background-primary),rgba(255,255,255,.72)),linear-gradient(160deg,var(--hero-background-accent),transparent 55%);border:1px solid var(--hero-border)}.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.detail-hero-copy{display:grid;gap:8px;min-width:0}.detail-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;align-self:start}.detail-hero-controls{display:grid;gap:12px;justify-items:end;align-self:start}.detail-hero-range{width:min(240px,100%)}.detail-hero-actions form{margin:0}.detail-grid,.detail-layout,.hero-grid,.map-layout,.metric-grid,.reports-grid{display:grid;gap:16px}.reports-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.report-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.report-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.report-tile{display:grid;gap:10px;padding:18px;border:1px solid var(--tile-border);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,241,232,.88)),radial-gradient(circle at top right,var(--tile-glow),transparent 38%);box-shadow:var(--shadow);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.report-tile:focus-visible,.report-tile:hover{transform:translateY(-2px);border-color:var(--tile-hover-border)}.report-tile__meta{display:grid;gap:4px}.report-tile__meta h3{margin:0}.report-tile__cta{color:var(--primary-deep);font-weight:700}.report-category-card{overflow:hidden;border-radius:18px;color:#fffdf6;box-shadow:var(--shadow)}.report-category-card--new{background:linear-gradient(135deg,#bf3f3f,#8e2a2a)}.report-category-card--still{background:linear-gradient(135deg,#d7a322,#a36f11)}.report-category-card--none{background:linear-gradient(135deg,var(--primary),var(--primary-deep))}.report-category-card--info{background:linear-gradient(135deg,#3a74bf,#214d8f)}.report-category-card__summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;cursor:pointer;list-style:none}.report-category-card__summary::-webkit-details-marker{display:none}.report-category-card__summary p{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.report-category-card__summary strong{display:block;margin-top:8px;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1}.report-category-card__hint{font-size:.9rem;font-weight:700}.report-category-card[open] .report-category-card__hint:after{content:"Hide sensors"}.report-category-card:not([open]) .report-category-card__hint:after{content:"Show sensors"}.report-category-card__body{padding:0 18px 18px}.report-category-card__body table{background:rgba(255,255,255,.96);color:var(--foreground);border-radius:14px;overflow:hidden}.mildew-threshold-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.4fr);gap:20px;align-items:center}.mildew-threshold-copy{display:grid;align-content:center}.mildew-threshold-title{margin:0;font-size:clamp(1.7rem,3vw,2.3rem)}.mildew-threshold-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.mildew-threshold-box{min-height:124px;border:1px solid rgba(22,35,18,.4)}.mildew-threshold-box+.mildew-threshold-box{border-left-width:0}.mildew-threshold-box--active{position:relative;z-index:1;border-color:transparent}.mildew-threshold-box--active:after{content:"";position:absolute;inset:-6px;border:4px solid #000000;pointer-events:none}.mildew-threshold-box--green{background:linear-gradient(135deg,#659968,#44794e)}.mildew-threshold-box--yellow{background:linear-gradient(135deg,#d7a322,#ad7e10)}.mildew-threshold-box--red{background:linear-gradient(135deg,#bf3f3f,#8f2626)}.mildew-threshold-box--purple{background:linear-gradient(135deg,#6e4aa3,#4d2f7c)}.chart-stack{display:grid;gap:16px}.lab-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.hero-grid{grid-template-columns:1.5fr 1fr}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{padding:16px}.metric-detail,.metric-label{margin:0}.metric-label{color:var(--muted)}.metric-value{margin:6px 0;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:700}.metric-alert .metric-value{color:var(--alert)}.metric-accent .metric-value{color:var(--metric-accent-text)}.panel{padding:16px}.panel-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.trend-chart{width:100%;height:auto}.chart-frame{width:100%;min-height:0}.compact-map-frame{border:1px solid var(--map-frame-border);position:relative}.app-report-map-wrap,.compact-map-frame{overflow:hidden;border-radius:12px}.compact-leaflet-map{min-height:420px;height:420px}.compact-map-frame>.compact-leaflet-map{display:block;min-height:420px;height:420px}.app-list-row--new td:first-child{color:#8e2a2a}.app-list-row--still td:first-child{color:#8a6204}.app-list-row--none td:first-child{color:#2f5b33}.app-list-row--info td:first-child{color:#214d8f}.geofence-draw-map{min-height:320px;height:320px}.compact-map-frame>.geofence-draw-map{display:block;min-height:320px;height:320px}.field-label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:700;color:var(--primary-deep)}.select-input,.text-input,textarea{width:100%;padding:10px 12px;border:1px solid var(--input-border);border-radius:12px;background:rgba(255,255,255,.86);color:var(--foreground)}.lab-input{width:100%;padding:12px 10px;border:1px solid var(--input-border);border-radius:14px;background:rgba(255,255,255,.92);text-align:center;font-size:1.05rem;font-weight:700}.lab-input.active{outline:2px solid var(--input-active-outline);border-color:var(--input-active-border);background:var(--input-active-background)}.button-danger,.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.button-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,white));color:#fdfcf8}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-secondary{background:var(--button-secondary-background);color:var(--primary-deep)}.button-danger{background:var(--button-danger-background);color:#8d3a3a}.action-row,.mode-toggle{display:flex;gap:10px;flex-wrap:wrap}.action-grid{display:grid;gap:10px}.action-grid__button{width:100%}.filter-row{display:flex;gap:12px;align-items:end}.checkbox-row{display:inline-flex;align-items:center;gap:8px;color:var(--foreground);font-weight:600}.checkbox-stack{display:grid;gap:8px}.table-wrap{overflow-x:auto}.desktop-only{display:block}.mobile-only{display:none}table{width:100%;border-collapse:collapse}td,th{padding:10px 8px;border-bottom:1px solid var(--table-border);text-align:left}th{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:6px 10px;border-radius:999px;background:rgba(148,163,184,.14);color:#51606d;font-size:.8rem;font-weight:700;text-transform:capitalize}.status-active{background:var(--status-active-background);color:var(--primary-deep)}.status-maintenance{background:var(--status-maintenance-background);color:#6c7211}.status-inactive,.status-retired{background:var(--status-retired-background);color:#8d3a3a}.stack{display:grid;gap:10px}.empty-panel{padding:14px;border-radius:12px;background:var(--empty-panel-background);color:var(--muted)}.error-text{color:var(--alert)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px;background-color:var(--auth-page-background-color,transparent);background-image:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.2)),var(--auth-page-background-image,none);background-position:50%;background-repeat:no-repeat;background-size:cover}.auth-card{width:min(1080px,100%);display:grid;grid-template-columns:1.15fr minmax(340px,420px);overflow:hidden}.auth-copy,.auth-form{padding:36px}.auth-copy{background:radial-gradient(circle at top left,var(--auth-copy-glow),transparent 30%),linear-gradient(160deg,var(--auth-copy-background),rgba(255,255,255,.86))}.auth-form{display:grid;align-content:center}.auth-page-simple .auth-card{width:min(460px,100%);grid-template-columns:1fr;border:1px solid var(--border);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.auth-page-simple .auth-form{gap:20px}.auth-branding{display:grid;justify-items:center;gap:10px;text-align:center}.auth-branding h1{font-size:clamp(2rem,5vw,2.6rem)}.auth-title-graphic{width:min(240px,100%);max-height:112px;object-fit:contain}.auth-title-text{margin:0;font-family:var(--font-display-active,var(--font-display)),serif;font-size:1.15rem;font-weight:600;letter-spacing:-.02em}.auth-credentials-form,.auth-form-stack{display:grid;gap:12px}.auth-error{margin:0;color:var(--alert);font-weight:600}.auth-card-single,.auth-page-narrow .auth-card{width:min(520px,100%);grid-template-columns:1fr}.panel-form{max-width:560px}.account-menu-copy{display:grid;text-align:left}.account-menu-nav{display:grid;gap:4px}.button-compact{padding:8px 12px}.dialog-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:var(--dialog-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dialog-card{width:min(680px,100%);max-height:min(90vh,820px);overflow:auto;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong);box-shadow:var(--shadow)}.dialog-card-wide{width:min(920px,100%)}.highlight-list{display:grid;gap:10px;margin-top:20px}.highlight-list div{padding:12px 14px;border:1px solid var(--highlight-border);border-radius:10px;background:rgba(255,255,255,.42)}.map-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.map-panel{height:calc(100vh - var(--toolbar-height) - 28px);min-height:620px;padding:0;overflow:hidden}.map-controls-panel{position:sticky;top:20px}.leaflet-map{width:100%;height:100%;min-height:100%}.map-controls{display:grid;gap:14px}.history-map-point-shell,.map-marker-shell{background:transparent;border:0}.map-marker{position:relative;width:34px;height:34px;display:grid;place-items:center}.map-marker__body{position:absolute;inset:6px;border-radius:999px;background:var(--pin-color);border:2px solid rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(27,43,28,.2)}.map-marker__heading{position:absolute;inset:0;display:grid;place-items:center;transform-origin:center center;transform:rotate(var(--pin-rotation))}.map-marker__heading span{position:relative;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:14px solid #132216;filter:drop-shadow(0 1px 1px rgba(255,255,255,.35));transform:translateY(-9px)}.map-marker__heading span:after{content:"";position:absolute;left:-1.5px;top:12px;width:3px;height:9px;border-radius:999px;background:#132216}.history-map-point{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--history-point-color) 18%,white);border:2px solid var(--history-point-color);box-shadow:0 4px 10px rgba(27,43,28,.2)}.history-map-point__icon{width:16px;height:16px;display:block;fill:var(--history-point-color)}.leaflet-popup-content-wrapper{border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(244,241,232,.94)),radial-gradient(circle at top right,var(--popup-surface-glow),transparent 38%);box-shadow:var(--popup-shadow)}.leaflet-popup-content{width:280px!important;margin:12px 14px!important}.leaflet-popup-tip{background:rgba(255,255,255,.96)}.map-popup-card{display:grid;gap:12px}.map-popup-card__header{display:grid;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--popup-section-border)}.map-popup-card__header h3{margin:0;font-size:1.15rem}.map-popup-card__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem;font-weight:600}.map-popup-card__meta span{padding:4px 8px;border-radius:999px;background:var(--popup-tag-background)}.map-popup-card__details,.map-popup-card__measurements,.map-popup-card__sparklines{display:grid;gap:8px}.map-popup-card__actions{display:flex;justify-content:flex-end}.map-popup-card__measurement-block{display:grid;gap:6px}.map-popup-card__detail,.map-popup-card__measurement,.map-popup-sparkline__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-popup-card__detail,.map-popup-card__measurement{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.68);border:1px solid var(--popup-card-border)}.map-popup-card__detail span,.map-popup-card__measurement span,.map-popup-card__state,.map-popup-sparkline__header span{color:var(--muted);font-size:.85rem}.map-popup-card__detail strong,.map-popup-card__measurement strong,.map-popup-sparkline__header strong{color:var(--foreground)}.map-popup-sparkline{display:grid;gap:6px;padding:10px;border-radius:14px;background:rgba(255,255,255,.76);border:1px solid var(--popup-card-border)}.map-popup-sparkline__chart{width:100%;height:44px}.map-popup-sparkline__empty{color:var(--muted);font-size:.82rem}.definition-grid,.detail-grid{display:grid;gap:12px}.detail-layout{grid-template-columns:1.2fr .8fr;align-items:start}.detail-column{display:grid;gap:16px;align-content:start;min-width:0}.definition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}dt{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}dd{margin:4px 0 0;font-weight:600}.detail-grid{grid-template-columns:1.2fr .8fr}.definition-grid>*,.detail-grid>*,.detail-layout>*{min-width:0}.metadata-block{max-width:100%;padding:12px;border-radius:12px;background:rgba(244,241,232,.86);overflow:auto}.metadata-block,pre{overflow-wrap:anywhere}pre{margin:0;white-space:pre-wrap;word-break:break-word}.stacked-values{display:grid;gap:6px;min-width:0}.history-details{min-width:0}.history-details summary{cursor:pointer;color:var(--primary-deep);font-weight:700}.history-details[open] summary{margin-bottom:10px}.history-group__events,.history-list,.history-section{display:grid;gap:12px}.history-section__toolbar{display:flex;gap:10px;flex-wrap:wrap}.history-group{border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden}.history-group__summary{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.history-group__summary::-webkit-details-marker{display:none}.history-group__content{display:grid;gap:14px;padding:0 14px 14px}.history-group__chevron{transition:transform .16s ease}.history-group[open] .history-group__chevron{transform:rotate(180deg)}.history-tile{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.74)}.history-tile--compact{padding:10px 12px;background:rgba(255,255,255,.62);box-shadow:none}.history-tile__body,.history-tile__meta,.history-tile__row,.history-tile__title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-tile__row{justify-content:space-between}.history-tile__title{min-width:0}.history-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.66)}.history-tile__meta{justify-content:flex-end}.history-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.7);color:var(--primary-deep);font-size:.84rem}.history-chip__label{color:var(--muted)}.history-tile__icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:6px;background:rgba(255,255,255,.76);color:var(--foreground);cursor:pointer}.sensor-table-row{cursor:pointer;transition:background-color .18s ease}.sensor-table-row:focus-visible,.sensor-table-row:hover{background:var(--sensor-row-hover);outline:none}.sensor-tiles{display:grid;gap:12px}.sensor-tiles.mobile-only{display:none}.sensor-tile{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sensor-tile-header{display:flex;align-items:start;justify-content:space-between;gap:12px}.sensor-tile-header h3{margin:0}.sensor-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.sensor-tile-grid-wide{grid-column:1/-1}.sensor-inline-detail{display:inline-flex;align-items:center;gap:6px}.sensor-tile-cta{display:inline-flex;align-items:center;gap:8px;color:var(--primary-deep);font-weight:700}.record-tiles{display:grid;gap:12px}.record-tiles.mobile-only{display:none}.record-tiles-dense,.record-tiles-nested{gap:8px}.record-tile{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.record-tile-compact,.record-tile-dense{gap:8px;padding:10px 12px}.record-tile-compact{box-shadow:none}.record-tile__header{display:flex;align-items:start;justify-content:space-between;gap:10px}.record-tile__header h3{margin:0;font-size:1rem;line-height:1.2}.record-tile__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0}.record-tile__grid--compact{gap:8px 10px}.record-tile__grid-wide{grid-column:1/-1}.record-tile__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.record-tile__subsection .eyebrow{margin-bottom:0}.assignment-board__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}.assignment-board__toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.assignment-column{min-height:320px}.assignment-column-unassigned{background:linear-gradient(160deg,var(--assignment-column-background-primary),rgba(255,255,255,.88)),linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.58))}.assignment-sensor-list{display:grid;gap:12px}.assignment-sensor-card{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--assignment-card-border);border-radius:12px;background:rgba(255,255,255,.9);cursor:grab;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.assignment-sensor-card:hover{transform:translateY(-1px);border-color:var(--assignment-card-hover-border);box-shadow:var(--assignment-card-hover-shadow)}.assignment-sensor-card:active{cursor:grabbing}.assignment-sensor-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.assignment-sensor-card__header h3{margin:0;font-size:.98rem;line-height:1.2}.assignment-sensor-card__ids{margin:0;line-height:1.25}@media (max-width:1100px){.auth-card,.detail-grid,.detail-layout,.hero-grid,.map-layout,.metric-grid,.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--border)}.leaflet-map,.map-panel{min-height:480px}.map-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (max-width:720px){.auth-copy,.auth-form,.content,.rail{padding:16px}.topbar-main{width:100%}.app-toolbar,.panel-header{flex-direction:column;align-items:stretch}.button-danger,.button-primary,.button-secondary{min-height:44px}.section-label{gap:6px}.assignment-board__toolbar,.filter-row{flex-direction:column;align-items:stretch}td,th{padding:12px 8px}.definition-grid{grid-template-columns:1fr}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.geofence-draw-map{height:280px}.compact-map-frame>.geofence-draw-map{min-height:280px;height:280px}.map-controls-panel{position:static}}@media (max-width:640px) and (orientation:portrait){:root{--toolbar-height:72px}.shell{display:block}.content{padding:12px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.app-toolbar{flex-direction:row;align-items:center}.app-toolbar-brand{display:none}.topbar-main{width:100%;justify-content:flex-start}.topbar-page{flex:1 1 auto;justify-content:space-between}.rail,.topbar-help-button{display:none}.rail{padding:12px;border-bottom:1px solid var(--border)}.rail.rail-open{display:block}.auth-card,.detail-hero,.hero,.metric-card,.panel,.rail-card{border-radius:14px}.detail-hero,.hero,.metric-card,.panel{padding:16px}.detail-hero-grid{grid-template-columns:1fr}.detail-hero-actions{justify-content:flex-start}.detail-hero-controls{justify-items:stretch}.detail-hero-range{width:100%}.auth-card h1,.detail-hero h1,.hero h1{font-size:clamp(1.8rem,7vw,2.4rem)}.definition-grid,.detail-grid,.detail-layout,.map-layout,.metric-grid,.report-category-grid,.reports-grid,.reports-grid--triple,.sensor-tile-grid{grid-template-columns:1fr}.mildew-threshold-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mildew-threshold-layout{grid-template-columns:1fr}.mildew-threshold-box{min-height:88px}.map-panel{height:calc(100vh - var(--toolbar-height) - 24px);min-height:360px}.leaflet-map{min-height:100%}.compact-leaflet-map,.compact-map-frame>.compact-leaflet-map{min-height:320px;height:320px}.table-wrap{margin-inline:-4px}.fleet-table{min-width:640px}.status-pill{min-width:0}.desktop-only{display:none}.mobile-only{display:block}.nav-link-mobile-hidden{display:none}.record-tiles.mobile-only,.sensor-tiles.mobile-only{display:grid}.auth-page{padding:16px}.auth-copy,.auth-form{padding:20px}}@media (max-width:480px) and (orientation:portrait){.auth-copy,.auth-form,.auth-page,.content,.rail{padding:12px}.app-toolbar{padding:10px 12px}.topbar-main{align-items:center}.nav{margin:10px 0 0}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.geofence-draw-map,.leaflet-map,.map-panel{min-height:300px}.compact-map-frame>.geofence-draw-map{min-height:300px;height:300px}.map-panel{height:calc(100vh - var(--toolbar-height) - 20px)}.map-controls{gap:12px}.sensor-tile{padding:14px}.record-tile__header,.sensor-tile-header{flex-direction:column;align-items:stretch}.record-tile__grid{grid-template-columns:1fr}.button-compact{padding:10px 12px}}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-body:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}.__variable_ea7542{--font-body-raleway:"Raleway","Raleway Fallback"}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/200388358b398524-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6e67fad4fa881005-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/10dadb2e82d03733-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/95d1875af7c44e92-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Raleway;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/630c17af355fa44e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Raleway Fallback;src:local("Arial");ascent-override:90.51%;descent-override:22.53%;line-gap-override:0.00%;size-adjust:103.86%}.__className_ea7542{font-family:Raleway,Raleway Fallback;font-style:normal}.__variable_ea7542{--font-display-raleway:"Raleway","Raleway Fallback"}