:root{--hig-blue:#007aff;--hig-green:#34c759;--hig-indigo:#5856d6;--hig-orange:#ff9500;--hig-pink:#ff2d55;--hig-purple:#af52de;--hig-red:#ff3b30;--hig-teal:#30b0c7;--hig-yellow:#fc0;--hig-mint:#00c7be;--hig-cyan:#32ade6;--hig-brown:#a2845e;--hig-gray:#8e8e93;--hig-gray2:#aeaeb2;--hig-gray3:#c7c7cc;--hig-gray4:#d1d1d6;--hig-gray5:#e5e5ea;--hig-gray6:#f2f2f7;--hig-tint:var(--hig-blue);--hig-tint-contrast:#fff;--hig-label:#000;--hig-label-secondary:#3c3c4399;--hig-label-tertiary:#3c3c434d;--hig-label-quaternary:#3c3c432e;--hig-fill:#78788033;--hig-fill-secondary:#78788029;--hig-fill-tertiary:#7878801f;--hig-fill-quaternary:#78788014;--hig-bg:#f2f2f7;--hig-bg-secondary:#fff;--hig-bg-tertiary:#f2f2f7;--hig-bg-plain:#fff;--hig-bg-plain-secondary:#f2f2f7;--hig-separator:#3c3c434a;--hig-separator-opaque:#c6c6c8;--hig-material:#f9f9f9c7;--hig-material-border:#0000001a;--hig-font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--hig-font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--hig-text-large-title:34px;--hig-text-title1:28px;--hig-text-title2:22px;--hig-text-title3:20px;--hig-text-headline:17px;--hig-text-body:17px;--hig-text-callout:16px;--hig-text-subheadline:15px;--hig-text-footnote:13px;--hig-text-caption:12px;--hig-text-caption2:11px;--hig-space-1:4px;--hig-space-2:8px;--hig-space-3:12px;--hig-space-4:16px;--hig-space-5:20px;--hig-space-6:24px;--hig-space-8:32px;--hig-radius-sm:6px;--hig-radius-md:10px;--hig-radius-lg:12px;--hig-radius-xl:16px;--hig-radius-full:980px;--hig-shadow-menu:0 0 0 .5px #0000000d, 0 5px 30px #0000002e;--hig-shadow-sheet:0 0 0 .5px #0000000d, 0 10px 60px #00000040;--hig-ease-out:cubic-bezier(.25, .1, .25, 1);--hig-duration-fast:.15s;--hig-duration:.25s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hig-blue:#0a84ff;--hig-green:#30d158;--hig-indigo:#5e5ce6;--hig-orange:#ff9f0a;--hig-pink:#ff375f;--hig-purple:#bf5af2;--hig-red:#ff453a;--hig-teal:#40c8e0;--hig-yellow:#ffd60a;--hig-mint:#63e6e2;--hig-cyan:#64d2ff;--hig-brown:#ac8e68;--hig-gray2:#636366;--hig-gray3:#48484a;--hig-gray4:#3a3a3c;--hig-gray5:#2c2c2e;--hig-gray6:#1c1c1e;--hig-label:#fff;--hig-label-secondary:#ebebf599;--hig-label-tertiary:#ebebf54d;--hig-label-quaternary:#ebebf529;--hig-fill:#7878805c;--hig-fill-secondary:#78788052;--hig-fill-tertiary:#7878803d;--hig-fill-quaternary:#7878802e;--hig-bg:#000;--hig-bg-secondary:#1c1c1e;--hig-bg-tertiary:#2c2c2e;--hig-bg-plain:#000;--hig-bg-plain-secondary:#1c1c1e;--hig-separator:#54545899;--hig-separator-opaque:#38383a;--hig-material:#1e1e1eb8;--hig-material-border:#ffffff1a;--hig-shadow-menu:0 0 0 .5px #ffffff14, 0 5px 30px #0000008c;--hig-shadow-sheet:0 0 0 .5px #ffffff14, 0 10px 60px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--hig-blue:#0a84ff;--hig-green:#30d158;--hig-indigo:#5e5ce6;--hig-orange:#ff9f0a;--hig-pink:#ff375f;--hig-purple:#bf5af2;--hig-red:#ff453a;--hig-teal:#40c8e0;--hig-yellow:#ffd60a;--hig-mint:#63e6e2;--hig-cyan:#64d2ff;--hig-brown:#ac8e68;--hig-gray2:#636366;--hig-gray3:#48484a;--hig-gray4:#3a3a3c;--hig-gray5:#2c2c2e;--hig-gray6:#1c1c1e;--hig-label:#fff;--hig-label-secondary:#ebebf599;--hig-label-tertiary:#ebebf54d;--hig-label-quaternary:#ebebf529;--hig-fill:#7878805c;--hig-fill-secondary:#78788052;--hig-fill-tertiary:#7878803d;--hig-fill-quaternary:#7878802e;--hig-bg:#000;--hig-bg-secondary:#1c1c1e;--hig-bg-tertiary:#2c2c2e;--hig-bg-plain:#000;--hig-bg-plain-secondary:#1c1c1e;--hig-separator:#54545899;--hig-separator-opaque:#38383a;--hig-material:#1e1e1eb8;--hig-material-border:#ffffff1a;--hig-shadow-menu:0 0 0 .5px #ffffff14, 0 5px 30px #0000008c;--hig-shadow-sheet:0 0 0 .5px #ffffff14, 0 10px 60px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.hig-desktop{--hig-text-large-title:26px;--hig-text-title1:22px;--hig-text-title2:17px;--hig-text-title3:15px;--hig-text-headline:13px;--hig-text-body:13px;--hig-text-callout:12px;--hig-text-subheadline:11px;--hig-text-footnote:10px;--hig-text-caption:10px;--hig-text-caption2:10px}.hig-desktop .hig-headline{font-weight:700}.hig-desktop .hig-button{border-radius:var(--hig-radius-sm);min-height:28px;font-size:13px}.hig-desktop .hig-button.large{min-height:36px;font-size:13px}.hig-desktop .hig-field{min-height:28px;font-size:13px}.hig-desktop .hig-list-item{min-height:32px;font-size:13px}.hig-desktop .hig-sidebar-item{min-height:28px;font-size:13px}.hig-desktop .hig-switch span{width:40px;height:24px}.hig-desktop .hig-switch span:after{width:20px;height:20px}.hig-desktop .hig-switch input:checked+span:after{transform:translate(16px)}.hig,.hig body,body.hig{font-family:var(--hig-font);font-size:var(--hig-text-body);color:var(--hig-label);background:var(--hig-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.4}.hig h1{font-size:var(--hig-text-large-title);font-weight:700}.hig h2{font-size:var(--hig-text-title1);font-weight:700}.hig h3{font-size:var(--hig-text-title2);font-weight:700}.hig h4{font-size:var(--hig-text-title3);font-weight:600}.hig-headline{font-size:var(--hig-text-headline);font-weight:600}.hig-subheadline{font-size:var(--hig-text-subheadline)}.hig-footnote{font-size:var(--hig-text-footnote)}.hig-caption{font-size:var(--hig-text-caption)}.hig-secondary{color:var(--hig-label-secondary)}.hig-tertiary{color:var(--hig-label-tertiary)}.hig a{color:var(--hig-tint);text-decoration:none}.hig a:hover{text-decoration:underline}.hig :focus-visible{outline:3px solid color-mix(in srgb, var(--hig-tint) 45%, transparent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.hig *,.hig :before,.hig :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hig-button{min-height:36px;padding:0 var(--hig-space-4);border-radius:var(--hig-radius-md);font-family:inherit;font-size:var(--hig-text-subheadline);color:var(--hig-tint-contrast);background:var(--hig-tint);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--hig-duration-fast) var(--hig-ease-out), transform var(--hig-duration-fast) var(--hig-ease-out);border:none;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.hig-button:hover{opacity:.85}.hig-button:active{opacity:.7;transform:scale(.98)}.hig-button:disabled{background:var(--hig-fill-tertiary);color:var(--hig-label-tertiary);cursor:default;transform:none}.hig-button.tinted{background:color-mix(in srgb, var(--hig-tint) 15%, transparent);color:var(--hig-tint)}.hig-button.gray{background:var(--hig-fill-tertiary);color:var(--hig-tint)}.hig-button.plain{color:var(--hig-tint);background:0 0;font-weight:400}.hig-button.destructive{background:var(--hig-red);color:#fff}.hig-button.destructive.plain,.hig-button.destructive.tinted{color:var(--hig-red);background:0 0}.hig-button.destructive.tinted{background:color-mix(in srgb, var(--hig-red) 15%, transparent)}.hig-button.small{min-height:28px;padding:0 var(--hig-space-3);font-size:var(--hig-text-footnote);border-radius:var(--hig-radius-sm)}.hig-button.large{min-height:50px;padding:0 var(--hig-space-5);font-size:var(--hig-text-body);border-radius:12px;width:100%}.hig-card{background:var(--hig-bg-secondary);border-radius:var(--hig-radius-lg);padding:var(--hig-space-4)}.hig-list{background:var(--hig-bg-secondary);border-radius:var(--hig-radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.hig-list-item{align-items:center;gap:var(--hig-space-3);min-height:44px;padding:var(--hig-space-2) var(--hig-space-4);font-size:var(--hig-text-body);color:var(--hig-label);display:flex;position:relative}.hig-list-item+.hig-list-item:before{content:"";top:0;left:var(--hig-space-4);background:var(--hig-separator);transform-origin:top;height:1px;position:absolute;right:0;transform:scaleY(.5)}.hig-list-item .hig-spacer{flex:1}.hig-list-item .hig-value{color:var(--hig-label-secondary)}a.hig-list-item,button.hig-list-item{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;text-decoration:none}a.hig-list-item:hover,button.hig-list-item:hover{background:var(--hig-fill-quaternary)}.hig-chevron{color:var(--hig-gray3);font-size:var(--hig-text-subheadline)}.hig-section-header{font-size:var(--hig-text-footnote);color:var(--hig-label-secondary);text-transform:uppercase;letter-spacing:.03em;padding:0 var(--hig-space-4);margin:var(--hig-space-6) 0 var(--hig-space-2)}.hig-section-footer{font-size:var(--hig-text-footnote);color:var(--hig-label-secondary);padding:0 var(--hig-space-4);margin:var(--hig-space-2) 0 0}.hig-field{width:100%;min-height:36px;padding:var(--hig-space-2) var(--hig-space-3);border-radius:var(--hig-radius-md);font-family:inherit;font-size:var(--hig-text-body);color:var(--hig-label);background:var(--hig-fill-tertiary);transition:box-shadow var(--hig-duration-fast) var(--hig-ease-out);border:none;display:block}.hig-field::placeholder{color:var(--hig-label-tertiary)}.hig-field:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--hig-tint) 35%, transparent);outline:none}textarea.hig-field{resize:vertical;min-height:80px}select.hig-field{appearance:auto}.hig-form-row{margin-bottom:var(--hig-space-4)}.hig-form-row>label{font-size:var(--hig-text-subheadline);margin-bottom:var(--hig-space-1);font-weight:500;display:block}.hig-switch{cursor:pointer;align-items:center;display:inline-flex}.hig-switch input{opacity:0;width:0;height:0;position:absolute}.hig-switch span{border-radius:var(--hig-radius-full);background:var(--hig-fill);width:51px;height:31px;transition:background var(--hig-duration) var(--hig-ease-out);flex-shrink:0;position:relative}.hig-switch span:after{content:"";width:27px;height:27px;transition:transform var(--hig-duration) var(--hig-ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040,0 0 0 .5px #0000000a}.hig-switch input:checked+span{background:var(--hig-green)}.hig-switch input:checked+span:after{transform:translate(20px)}.hig-switch input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--hig-tint) 45%, transparent);outline-offset:2px}.hig-segmented{background:var(--hig-fill-tertiary);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.hig-segmented label{position:relative}.hig-segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.hig-segmented span{min-height:28px;padding:0 var(--hig-space-4);font-size:var(--hig-text-footnote);color:var(--hig-label);cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out);border-radius:7px;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.hig-segmented input:checked+span{background:var(--hig-bg-secondary);font-weight:600;box-shadow:0 1px 4px #0000001f,0 0 0 .5px #0000000a}.hig-material{background:var(--hig-material);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px)}.hig-glass{background:var(--hig-material);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);position:relative;box-shadow:inset 0 1px #ffffff26,inset 0 0 0 .5px #ffffff14,0 8px 32px #0000001f}.hig-glass:after{content:"";border-radius:inherit;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/></filter><rect width='128' height='128' filter='url(%23n)'/></svg>");position:absolute;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hig-material,.hig-glass{background:var(--hig-bg-secondary)}}.hig-navbar{align-items:center;gap:var(--hig-space-3);min-height:52px;padding:0 var(--hig-space-4);z-index:10;border-bottom:1px solid var(--hig-material-border);display:flex;position:sticky;top:0}.hig-navbar .hig-navbar-title{font-size:var(--hig-text-headline);text-align:center;flex:1;font-weight:600}.hig-navbar>:first-child,.hig-navbar>:last-child{min-width:60px}.hig-navbar>:last-child{text-align:right}.hig-sidebar{width:260px;padding:var(--hig-space-3);border-right:1px solid var(--hig-material-border);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.hig-sidebar-item{align-items:center;gap:var(--hig-space-3);min-height:36px;padding:0 var(--hig-space-3);border-radius:var(--hig-radius-sm);font-size:var(--hig-text-subheadline);color:var(--hig-label);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-family:inherit;text-decoration:none;display:flex}.hig-sidebar-item:hover{background:var(--hig-fill-quaternary)}.hig-sidebar-item.active{background:color-mix(in srgb, var(--hig-tint) 18%, transparent);color:var(--hig-tint);font-weight:500}.hig-sidebar-heading{font-size:var(--hig-text-caption);color:var(--hig-label-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:var(--hig-space-4) var(--hig-space-3) var(--hig-space-1);font-weight:600}.hig-scrim{z-index:40;background:#0006;position:fixed;inset:0}.hig-sheet{background:var(--hig-bg-secondary);border-radius:var(--hig-radius-xl);box-shadow:var(--hig-shadow-sheet);padding:var(--hig-space-5);z-index:50;width:calc(100% - 32px);max-width:480px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.hig-sheet.bottom{border-radius:var(--hig-radius-xl) var(--hig-radius-xl) 0 0;padding-bottom:max(var(--hig-space-5), env(safe-area-inset-bottom));top:auto;bottom:0;left:50%;transform:translate(-50%)}.hig-menu{background:var(--hig-bg-secondary);border-radius:var(--hig-radius-lg);box-shadow:var(--hig-shadow-menu);padding:var(--hig-space-1);min-width:200px}.hig-menu-item{align-items:center;gap:var(--hig-space-2);width:100%;min-height:32px;padding:0 var(--hig-space-3);border-radius:var(--hig-radius-sm);font-family:inherit;font-size:var(--hig-text-subheadline);color:var(--hig-label);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.hig-menu-item:hover{background:var(--hig-tint);color:var(--hig-tint-contrast)}.hig-menu-item.destructive{color:var(--hig-red)}.hig-menu-item.destructive:hover{background:var(--hig-red);color:#fff}.hig-menu-separator{background:var(--hig-separator);height:1px;margin:var(--hig-space-1) 0}.hig-badge{border-radius:var(--hig-radius-full);min-height:20px;font-size:var(--hig-text-caption);background:var(--hig-red);color:#fff;align-items:center;padding:0 8px;font-weight:600;display:inline-flex}.hig-tag{border-radius:var(--hig-radius-full);min-height:24px;font-size:var(--hig-text-caption);background:color-mix(in srgb, var(--hig-tint) 15%, transparent);color:var(--hig-tint);align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.hig-progress{background:var(--hig-fill-tertiary);border-radius:2px;width:100%;height:4px;overflow:hidden}.hig-progress>div{background:var(--hig-tint);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--hig-progress,0));transition:transform var(--hig-duration) var(--hig-ease-out);border-radius:2px}.hig-empty{justify-content:center;align-items:center;gap:var(--hig-space-2);padding:var(--hig-space-8) var(--hig-space-4);text-align:center;color:var(--hig-label-secondary);flex-direction:column;display:flex}.hig-empty .hig-empty-icon{color:var(--hig-label-tertiary);font-size:44px}.hig-empty .hig-empty-title{font-size:var(--hig-text-title3);color:var(--hig-label);font-weight:600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--hig-tint:#1f7a36;--hig-tint-contrast:#fff}:root[data-theme=dark]{--hig-tint:#30d158;--hig-tint-contrast:#04250f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hig-tint:#30d158;--hig-tint-contrast:#04250f}}:root{--app-inset:var(--hig-space-4);--app-tabbar-h:calc(55px + env(safe-area-inset-bottom))}@media (width>=900px){:root{--app-inset:var(--hig-space-6)}}a.hig-button{color:var(--hig-tint-contrast)}.app-stat{gap:var(--hig-space-1);flex-direction:column;display:flex;position:relative}.app-stat-icon{top:var(--hig-space-4);right:var(--hig-space-4);color:var(--hig-label-tertiary);position:absolute}.app-stat-value{font-size:var(--hig-text-title1);font-variant-numeric:tabular-nums;color:var(--hig-label);font-weight:700}.app-stat-trend{font-size:var(--hig-text-caption);margin-top:var(--hig-space-1);align-items:center;gap:4px;font-weight:600;display:inline-flex}.app-stat-trend.positive{color:var(--hig-green)}.app-stat-trend.negative{color:var(--hig-red)}.app-badge-success{background:color-mix(in srgb, var(--hig-green) 15%, transparent);color:var(--hig-green)}.app-badge-warning{background:color-mix(in srgb, var(--hig-orange) 15%, transparent);color:var(--hig-orange)}.app-badge-info{background:color-mix(in srgb, var(--hig-blue) 15%, transparent);color:var(--hig-blue)}.app-empty-description{max-width:400px}.app-empty-action{margin-top:var(--hig-space-2)}.app-spinner{--app-spinner-size:28px;width:var(--app-spinner-size);height:var(--app-spinner-size);border-radius:var(--hig-radius-full);border:3px solid var(--hig-fill);border-top-color:var(--hig-tint);animation:.8s linear infinite app-spin;display:inline-block}.app-spinner-sm{--app-spinner-size:20px;border-width:2px}.app-spinner-lg{--app-spinner-size:40px;border-width:4px}@keyframes app-spin{to{transform:rotate(360deg)}}.app-spinner-fullpage{z-index:9999;background:color-mix(in srgb, var(--hig-bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-toast-container{bottom:var(--hig-space-6);right:var(--hig-space-6);z-index:9999;gap:var(--hig-space-3);pointer-events:none;flex-direction:column;width:calc(100vw - 32px);max-width:440px;display:flex;position:fixed}.app-toast{pointer-events:auto;border-radius:var(--hig-radius-lg);box-shadow:var(--hig-shadow-menu);animation:app-toast-in .2s var(--hig-ease-out) forwards;transition:transform var(--hig-duration-fast) var(--hig-ease-out);position:relative;overflow:hidden}.app-toast:hover{transform:translateY(-2px)}@keyframes app-toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.app-toast.app-toast-leaving{pointer-events:none;animation:.2s ease-in forwards app-toast-out}@keyframes app-toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.96)}}.app-toast-heatwave{border:1px solid color-mix(in srgb, var(--hig-red) 50%, transparent)}.app-toast-watering{border:1px solid color-mix(in srgb, var(--hig-blue) 50%, transparent)}.app-toast-storm{border:1px solid color-mix(in srgb, var(--hig-purple) 50%, transparent)}.app-toast-drought{border:1px solid color-mix(in srgb, var(--hig-orange) 50%, transparent)}.app-toast-default{border:1px solid color-mix(in srgb, var(--hig-green) 50%, transparent)}.app-toast-header{align-items:center;gap:var(--hig-space-2);padding:var(--hig-space-3) var(--hig-space-3) 6px;display:flex}.app-toast-icon-wrapper{border-radius:var(--hig-radius-md);background:var(--hig-fill-tertiary);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.app-toast-icon-heatwave{color:var(--hig-red)}.app-toast-icon-watering{color:var(--hig-blue)}.app-toast-icon-storm{color:var(--hig-purple)}.app-toast-icon-drought{color:var(--hig-orange)}.app-toast-icon-default{color:var(--hig-green)}.app-toast-title-group{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.app-toast-title{font-size:var(--hig-text-caption);color:var(--hig-label);letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.app-toast-badge{width:fit-content;font-size:var(--hig-text-caption2);padding:2px var(--hig-space-2);border-radius:var(--hig-radius-full);align-items:center;font-weight:600;line-height:1.2;display:inline-flex}.app-toast-badge-heatwave{background:color-mix(in srgb, var(--hig-red) 20%, transparent);color:var(--hig-red)}.app-toast-badge-watering{background:color-mix(in srgb, var(--hig-blue) 20%, transparent);color:var(--hig-blue)}.app-toast-badge-storm{background:color-mix(in srgb, var(--hig-purple) 20%, transparent);color:var(--hig-purple)}.app-toast-badge-drought{background:color-mix(in srgb, var(--hig-orange) 20%, transparent);color:var(--hig-orange)}.app-toast-badge-default{background:color-mix(in srgb, var(--hig-green) 20%, transparent);color:var(--hig-green)}.app-toast-close{color:var(--hig-label-secondary);border-radius:var(--hig-radius-sm);cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out), color var(--hig-duration-fast) var(--hig-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:4px;display:flex}.app-toast-close:hover{background:var(--hig-fill);color:var(--hig-label)}.app-toast-body{padding:4px var(--hig-space-3) var(--hig-space-3)}.app-toast-message{font-size:var(--hig-text-caption);color:var(--hig-label-secondary);word-break:break-word;margin:0;line-height:1.45}.app-toast-progress-track{background:var(--hig-fill-tertiary);width:100%;height:3px;overflow:hidden}.app-toast-progress-bar{width:100%;height:100%;animation:linear forwards app-toast-progress}.app-toast-progress-bar.paused{animation-play-state:paused}@keyframes app-toast-progress{0%{width:100%}to{width:0%}}.app-toast-heatwave .app-toast-progress-bar{background:var(--hig-red)}.app-toast-watering .app-toast-progress-bar{background:var(--hig-blue)}.app-toast-storm .app-toast-progress-bar{background:var(--hig-purple)}.app-toast-drought .app-toast-progress-bar{background:var(--hig-orange)}.app-toast-default .app-toast-progress-bar{background:var(--hig-green)}.app-sheet-header{justify-content:space-between;align-items:center;gap:var(--hig-space-3);margin-bottom:var(--hig-space-4);display:flex}.app-sheet-close{border-radius:var(--hig-radius-full);background:var(--hig-fill-tertiary);width:32px;height:32px;color:var(--hig-label-secondary);cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out), color var(--hig-duration-fast) var(--hig-ease-out);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-sheet-close:hover{background:var(--hig-fill);color:var(--hig-label)}.app-sheet-actions{gap:var(--hig-space-3);margin-top:var(--hig-space-2);display:flex}.app-sheet-actions .hig-button{flex:1}.app-sheet-scroll{max-height:calc(100vh - 64px);overflow-y:auto}.app-sheet-tree-card{background:color-mix(in srgb, var(--hig-tint) 8%, transparent);border:1px solid color-mix(in srgb, var(--hig-tint) 15%, transparent);padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-lg);margin-bottom:var(--hig-space-5)}.app-sheet-tree-card-label{font-size:var(--hig-text-caption);color:var(--hig-tint);font-weight:700}.app-sheet-tree-card-name{font-size:var(--hig-text-headline);color:var(--hig-label);margin-top:2px;font-weight:700}.app-watering-title-group{align-items:center;gap:var(--hig-space-3);display:flex}.app-watering-title-icon{border-radius:var(--hig-radius-md);background:color-mix(in srgb, var(--hig-blue) 12%, transparent);width:42px;height:42px;color:var(--hig-blue);justify-content:center;align-items:center;display:flex}.app-watering-tree-card{background:color-mix(in srgb, var(--hig-blue) 8%, transparent);border:1px solid color-mix(in srgb, var(--hig-blue) 15%, transparent);padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-lg);margin-bottom:var(--hig-space-5);justify-content:space-between;align-items:center;gap:var(--hig-space-3);display:flex}.app-watering-tree-card-label{font-size:var(--hig-text-caption2);color:var(--hig-blue);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.app-watering-tree-card-code{font-size:var(--hig-text-subheadline);color:var(--hig-blue);font-weight:600}.app-watering-count-pill{background:color-mix(in srgb, var(--hig-blue) 12%, transparent);padding:6px var(--hig-space-3);border-radius:var(--hig-radius-full);font-size:var(--hig-text-caption);color:var(--hig-blue);white-space:nowrap;font-weight:700}.app-liters-grid{gap:var(--hig-space-2);grid-template-columns:repeat(4,1fr);display:grid}.app-liters-btn{padding:var(--hig-space-3) 6px;border-radius:var(--hig-radius-md);border:1px solid var(--hig-separator);background:var(--hig-fill-tertiary);color:var(--hig-label-secondary);font-weight:800;font-size:var(--hig-text-subheadline);cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out), border-color var(--hig-duration-fast) var(--hig-ease-out), color var(--hig-duration-fast) var(--hig-ease-out);flex-direction:column;align-items:center;gap:2px;display:flex}.app-liters-btn.selected{border:2px solid var(--hig-blue);background:color-mix(in srgb, var(--hig-blue) 12%, transparent);color:var(--hig-blue)}.app-liters-btn-points{font-size:var(--hig-text-caption2);opacity:.8;font-weight:600}.app-watering-photo-header{margin-bottom:var(--hig-space-2);justify-content:space-between;align-items:center;display:flex}.app-watering-photo-label{font-size:var(--hig-text-subheadline);color:var(--hig-label-secondary);align-items:center;gap:6px;font-weight:700;display:flex}.app-watering-photo-label svg{color:var(--hig-blue)}.app-hidden-file-input{display:none}.app-watering-bonus-pill{font-size:var(--hig-text-caption);background:color-mix(in srgb, var(--hig-green) 12%, transparent);color:var(--hig-green);padding:2px var(--hig-space-2);border-radius:var(--hig-radius-full);font-weight:700}.app-watering-dropzone{border:2px dashed var(--hig-separator);background:var(--hig-fill-tertiary);border-radius:var(--hig-radius-lg);padding:var(--hig-space-5) var(--hig-space-4);text-align:center;cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out), border-color var(--hig-duration-fast) var(--hig-ease-out)}.app-watering-dropzone.dragging{border-color:var(--hig-blue);background:color-mix(in srgb, var(--hig-blue) 8%, transparent)}.app-watering-dropzone-icon{border-radius:var(--hig-radius-full);background:color-mix(in srgb, var(--hig-blue) 12%, transparent);width:48px;height:48px;color:var(--hig-blue);margin:0 auto var(--hig-space-3);justify-content:center;align-items:center;display:flex}.app-watering-dropzone-title{font-size:var(--hig-text-subheadline);color:var(--hig-label);font-weight:700}.app-watering-demo-btn-wrap{margin-top:var(--hig-space-3)}.app-watering-demo-btn{padding:7px var(--hig-space-4);border-radius:var(--hig-radius-full);border:1px solid color-mix(in srgb, var(--hig-blue) 30%, transparent);background:color-mix(in srgb, var(--hig-blue) 10%, transparent);color:var(--hig-blue);font-size:var(--hig-text-caption);cursor:pointer;align-items:center;gap:6px;font-weight:700;display:inline-flex}.app-watering-photo-preview{border-radius:var(--hig-radius-lg);border:1px solid var(--hig-separator);background:var(--hig-fill-tertiary);overflow:hidden}.app-watering-photo-thumb{background:var(--hig-bg);width:100%;height:160px;position:relative}.app-watering-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.app-watering-photo-remove{top:var(--hig-space-2);right:var(--hig-space-2);color:#fff;border-radius:var(--hig-radius-full);cursor:pointer;background:#0000008c;border:none;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute}.app-watering-verify-status{padding:var(--hig-space-3) var(--hig-space-4)}.app-watering-verifying{align-items:center;gap:var(--hig-space-2);color:var(--hig-blue);font-size:var(--hig-text-footnote);font-weight:600;display:flex}.app-watering-verified-badge{background:color-mix(in srgb, var(--hig-green) 12%, transparent);border:1px solid color-mix(in srgb, var(--hig-green) 30%, transparent);color:var(--hig-green);padding:6px var(--hig-space-3);border-radius:var(--hig-radius-full);font-size:var(--hig-text-footnote);margin-bottom:var(--hig-space-2);align-items:center;gap:6px;font-weight:800;display:inline-flex}.app-watering-verified-note{font-size:var(--hig-text-caption);color:var(--hig-green);align-items:center;gap:4px;display:flex}.app-watering-points-banner{background:color-mix(in srgb, var(--hig-yellow) 10%, transparent);border:1px solid color-mix(in srgb, var(--hig-yellow) 25%, transparent);padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-lg);margin-bottom:var(--hig-space-5);justify-content:space-between;align-items:center;gap:var(--hig-space-3);display:flex}.app-watering-points-left{align-items:center;gap:var(--hig-space-3);display:flex}.app-watering-points-icon{border-radius:var(--hig-radius-md);background:color-mix(in srgb, var(--hig-yellow) 18%, transparent);width:40px;height:40px;color:var(--hig-yellow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-watering-points-total{font-size:var(--hig-text-subheadline);color:var(--hig-label);font-weight:800}.app-watering-points-hint{font-size:var(--hig-text-caption);color:var(--hig-yellow);font-style:italic}.app-certificate-modal{gap:var(--hig-space-5);flex-direction:column;max-width:680px;max-height:90vh;display:flex;overflow-y:auto}.app-certificate-header{justify-content:space-between;align-items:center;gap:var(--hig-space-3);border-bottom:1px solid var(--hig-separator);padding-bottom:var(--hig-space-3);display:flex}.app-certificate-title-group{align-items:center;gap:var(--hig-space-2);display:flex}.app-certificate-title-icon{border-radius:var(--hig-radius-md);background:var(--hig-tint);width:36px;height:36px;color:var(--hig-tint-contrast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-certificate-title-text{font-size:var(--hig-text-headline);color:var(--hig-label);margin:0;font-weight:700}.app-certificate-subtitle{font-size:var(--hig-text-caption);color:var(--hig-label-secondary);margin:2px 0 0}.app-certificate-canvas-wrapper{background:var(--hig-fill-quaternary);border-radius:var(--hig-radius-lg);width:100%;padding:var(--hig-space-3);border:1px dashed var(--hig-separator);justify-content:center;align-items:center;display:flex}.app-certificate-canvas{border-radius:var(--hig-radius-sm);max-width:100%;height:auto;box-shadow:var(--hig-shadow-menu)}.app-certificate-actions{gap:var(--hig-space-3);justify-content:flex-end;display:flex}.leaflet-popup-content-wrapper{background:var(--hig-bg-secondary)!important;color:var(--hig-label)!important;border-radius:var(--hig-radius-lg)!important;box-shadow:var(--hig-shadow-menu)!important}.leaflet-popup-tip{background:var(--hig-bg-secondary)!important}.leaflet-popup-close-button{color:var(--hig-label-secondary)!important}.leaflet-popup-close-button:hover{color:var(--hig-label)!important}.app-dashboard{background:var(--hig-bg);flex-direction:column;display:flex}.app-dashboard-content{gap:var(--hig-space-4);box-sizing:border-box;flex-direction:column;flex:1;width:100%;display:flex}.app-view-tabs{background:var(--hig-fill-tertiary);margin-bottom:var(--hig-space-2);border-radius:9px;gap:2px;padding:2px;display:none}.app-view-tab{min-height:44px;color:var(--hig-label-secondary);font-family:inherit;font-size:var(--hig-text-footnote);cursor:pointer;justify-content:center;align-items:center;gap:var(--hig-space-2);transition:background var(--hig-duration-fast) var(--hig-ease-out), color var(--hig-duration-fast) var(--hig-ease-out);background:0 0;border:none;border-radius:7px;flex:1;font-weight:600;display:flex}.app-view-tab.active{background:var(--hig-bg-secondary);color:var(--hig-tint);box-shadow:0 1px 4px #0000001f,0 0 0 .5px #0000000a}.app-view-tab.active.app-view-tab-council{color:var(--hig-blue)}:root[data-theme=dark] .app-view-tab.active{box-shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .app-view-tab.active{box-shadow:none}}.app-offline-banner{background:color-mix(in srgb, var(--hig-orange) 12%, transparent);color:var(--hig-orange);padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-lg);font-size:var(--hig-text-footnote);font-weight:600}.app-dashboard-grid{gap:var(--hig-space-5);flex:1;grid-template-columns:1.2fr .8fr;min-height:calc(100vh - 135px);display:grid}.app-map-column{flex-direction:column;height:100%;display:flex;position:relative}.app-map-header{margin-bottom:var(--hig-space-3);justify-content:space-between;align-items:center;gap:var(--hig-space-3);flex-wrap:wrap;display:flex}.app-district-select-group{align-items:center;gap:var(--hig-space-2);display:flex}.app-district-select-group svg{color:var(--hig-label-tertiary)}.app-district-label{font-size:var(--hig-text-caption);color:var(--hig-label-secondary);font-weight:600}.app-district-select{width:auto;min-height:40px}.app-map-hint{margin:0}.app-map-wrapper{border-radius:var(--hig-radius-xl);flex:1;height:100%;min-height:580px;position:relative;overflow:hidden}.app-cards-column{gap:var(--hig-space-5);flex-direction:column;margin-top:44px;display:flex}.app-skeleton-card{gap:var(--hig-space-3);flex-direction:column;display:flex}.app-skeleton-line,.app-skeleton-row{border-radius:var(--hig-radius-sm);background:linear-gradient(90deg, var(--hig-fill-tertiary) 25%, var(--hig-fill-secondary) 37%, var(--hig-fill-tertiary) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite app-skeleton-shimmer}.app-skeleton-line{border-radius:var(--hig-radius-sm);width:100%;height:14px}.app-skeleton-line-title{width:55%}.app-skeleton-row{border-radius:var(--hig-radius-lg);height:56px}@keyframes app-skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (width<=768px){.app-dashboard-content{padding:var(--hig-space-3) 0 var(--hig-space-6)}.app-view-tabs{display:flex}.app-dashboard-grid{flex-direction:column;flex:1;min-height:auto;display:flex}.app-map-column{width:100%;height:calc(100dvh - 150px);display:none}.app-map-column.mobile-active{flex-direction:column;height:calc(100dvh - 150px);display:flex}.app-map-wrapper{border-radius:var(--hig-radius-lg);flex:1;height:100%;min-height:0}.app-district-select{flex:1;min-height:44px}.app-cards-column{width:100%;margin-top:0;display:none}.app-cards-column.mobile-active{flex-direction:column;width:100%;display:flex}}.app-pitch-header{padding:var(--hig-space-1) 0;z-index:1000;background:var(--hig-bg);border-bottom:1px solid var(--hig-material-border);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.app-pitch-title{font-size:var(--hig-text-headline);color:var(--hig-label);margin:0;padding:0;font-weight:700}.app-demo-pill{right:var(--hig-space-4);bottom:calc(84px + var(--hig-space-4));border-radius:var(--hig-radius-full);padding:var(--hig-space-2) var(--hig-space-4);z-index:40;color:var(--hig-label-secondary);font-size:var(--hig-text-caption2);cursor:pointer;opacity:.6;transition:opacity var(--hig-duration-fast) var(--hig-ease-out), color var(--hig-duration-fast) var(--hig-ease-out);border:none;align-items:center;gap:6px;font-weight:600;display:flex;position:fixed}.app-demo-pill:hover,.app-demo-pill:focus-visible{opacity:1;color:var(--hig-label)}.app-demo-pill:focus-visible{outline:2px solid var(--hig-tint);outline-offset:2px}.app-demo-pill-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.app-demo-pill-dot.citizen{background:var(--hig-tint)}.app-demo-pill-dot.council{background:var(--hig-blue)}@media (prefers-reduced-motion:reduce){.app-demo-pill{transition:none}}.app-widget-header{justify-content:space-between;align-items:flex-start;gap:var(--hig-space-2);margin-bottom:var(--hig-space-4);flex-wrap:wrap;display:flex}.app-widget-title{align-items:center;gap:var(--hig-space-2);margin:0;display:flex}.app-widget-subtitle{margin:2px 0 0}.app-challenge-widget{gap:var(--hig-space-3);flex-direction:column;display:flex}.app-challenge-header{align-items:center;gap:var(--hig-space-2);display:flex}.app-challenge-header svg{color:var(--hig-tint)}.app-alerts-feed{flex-direction:column;display:flex}.app-alert-item{align-items:flex-start;gap:var(--hig-space-3)}.app-severity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.app-severity-red{background:var(--hig-red)}.app-severity-blue{background:var(--hig-blue)}.app-severity-orange{background:var(--hig-orange)}.app-severity-gray{background:var(--hig-gray3)}.app-alert-icon{color:var(--hig-label-secondary);flex-shrink:0;margin-top:2px}.app-alert-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.app-alert-row{justify-content:space-between;align-items:center;gap:var(--hig-space-2);display:flex}.app-alert-label{font-weight:700}.app-full-width{width:100%}.app-tag-danger{background:color-mix(in srgb, var(--hig-red) 15%, transparent);color:var(--hig-red)}.app-form-grid-2{gap:var(--hig-space-3);margin-bottom:var(--hig-space-4);grid-template-columns:1fr 1fr;display:grid}.app-form-label{font-size:var(--hig-text-caption);color:var(--hig-label-secondary);margin-bottom:var(--hig-space-1);font-weight:600;display:block}.app-alert-dispatcher-sent{margin-top:var(--hig-space-2)}.app-alert-sent-list{max-height:200px;overflow-y:auto}.app-alert-sent-row{justify-content:space-between;align-items:center;gap:var(--hig-space-2);width:100%;display:flex}.app-alert-sent-item{flex-direction:column;align-items:flex-start;gap:2px}.app-analytics-board{flex-direction:column;display:flex}.app-kpi-grid{gap:var(--hig-space-3);margin-bottom:var(--hig-space-6);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.app-chart-wrapper{width:100%;height:220px}.app-leaderboard-rank{text-align:center;flex-shrink:0;width:28px;font-weight:700}.app-leaderboard-name{font-weight:700}.app-leaderboard-stat-group{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.app-leaderboard-points{font-variant-numeric:tabular-nums;font-weight:700}.hig-list-item.app-list-item-selected{background:color-mix(in srgb, var(--hig-tint) 8%, transparent)}.app-sector5-map{width:100%;height:100%;position:relative}.app-sector5-map-canvas{border-radius:var(--hig-radius-xl);width:100%;height:100%;overflow:hidden;box-shadow:0 8px 32px #0000001f}.app-sector5-map-legend{left:var(--hig-space-3);bottom:var(--hig-space-3);z-index:400;align-items:center;gap:var(--hig-space-1) var(--hig-space-3);max-width:calc(100% - 16px);padding:6px var(--hig-space-3);background:var(--hig-material);border:1px solid var(--hig-material-border);border-radius:var(--hig-radius-md);font-size:var(--hig-text-caption2);color:var(--hig-label-secondary);flex-wrap:wrap;line-height:1.4;display:flex;position:absolute;right:auto}.app-sector5-map-legend-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.app-sector5-map-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.app-sector5-map-legend-dot.ok{background:var(--hig-green)}.app-sector5-map-legend-dot.thirsty{background:var(--hig-orange)}.app-sector5-map-legend-dot.urgent{background:var(--hig-red)}.app-sector5-map-legend-dot.unknown{background:var(--hig-gray)}@media (width>=900px){.app-sector5-map-legend{left:calc(360px + var(--hig-space-6))}}@media (width<=899px){.app-sector5-map-legend{bottom:calc(var(--app-tabbar-h) + 104px);left:var(--hig-space-3)}}@media (width<=480px){.app-sector5-map-legend{flex-direction:column;align-items:flex-start;gap:4px}}.leaflet-div-icon.tree-marker-icon{background:0 0;border:none}.app-map-svg{filter:drop-shadow(0 3px 3px #00000073)}.app-map-pin{fill:var(--hig-green);stroke:var(--hig-separator);stroke-width:1px}.app-map-pin.ok{fill:var(--hig-green)}.app-map-pin.thirsty{fill:var(--hig-orange)}.app-map-pin.urgent{fill:var(--hig-red)}.app-map-pin.unknown{fill:var(--hig-gray)}.app-map-pin.adopted{stroke:var(--hig-yellow);stroke-width:2.5px}.app-map-pin-badge{fill:var(--hig-fill)}.app-map-pin-badge.adopted{fill:var(--hig-bg-secondary)}.app-map-pin-star{fill:var(--hig-yellow)}.app-map-popup{min-width:220px;font-family:inherit}.app-map-popup-head{justify-content:space-between;align-items:center;gap:var(--hig-space-2);margin-bottom:6px;display:flex}.app-map-popup-eyebrow{font-size:var(--hig-text-caption2);color:var(--hig-tint);text-transform:uppercase;letter-spacing:.5px;font-weight:700;display:block}.app-map-popup-badge{font-size:var(--hig-text-caption2);padding:2px var(--hig-space-2);border-radius:var(--hig-radius-full);white-space:nowrap;font-weight:600;display:inline-block}.app-map-popup-badge.adopted{background:color-mix(in srgb, var(--hig-yellow) 18%, transparent);color:var(--hig-yellow)}.app-map-popup-badge.available{background:var(--hig-fill-secondary);color:var(--hig-label-secondary)}.app-map-popup-title{font-size:var(--hig-text-subheadline);color:var(--hig-label);margin:4px 0 2px;display:block}.app-map-popup-meta{margin:0 0 var(--hig-space-2);font-size:var(--hig-text-caption);color:var(--hig-label-secondary)}.app-map-popup-actions{margin-top:var(--hig-space-2);gap:6px;display:flex}.app-map-popup-adopted-group{flex-direction:column;gap:6px;display:flex}.app-map-popup-btn{padding:6px var(--hig-space-3);border-radius:var(--hig-radius-md);font-size:var(--hig-text-caption2);cursor:pointer;border:none;flex:1;font-weight:700}.app-map-popup-btn.adopt{background:var(--hig-tint);color:var(--hig-tint-contrast)}.app-map-popup-btn.water{background:color-mix(in srgb, var(--hig-blue) 20%, transparent);color:var(--hig-blue)}.app-map-popup-btn.full{width:100%;margin-top:var(--hig-space-1)}.app-reports-page{gap:var(--hig-space-5);flex-direction:column;display:flex}.app-reports-header{justify-content:space-between;align-items:flex-start;gap:var(--hig-space-3);flex-wrap:wrap;display:flex}.app-reports-header h2{align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-1);display:flex}.app-reports-header p{margin:0}.app-reports-filters{gap:var(--hig-space-3);flex-wrap:wrap;display:flex}.app-reports-filter-select{width:auto;min-width:180px}.app-reports-list-item{align-items:flex-start;gap:var(--hig-space-3);padding-top:var(--hig-space-3);padding-bottom:var(--hig-space-3)}.app-reports-list-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.app-reports-list-top{justify-content:space-between;align-items:center;gap:var(--hig-space-2);display:flex}.app-reports-list-title{color:var(--hig-label);font-weight:600}.app-reports-list-meta{font-size:var(--hig-text-footnote);flex-wrap:wrap;gap:6px;display:flex}.app-reports-list-action{flex-shrink:0}@media (width<=899px){.app-reports-header{flex-direction:column;align-items:stretch}.app-reports-header>.hig-button{text-align:center;align-self:stretch}}.app-create-report-page{justify-content:center;display:flex}.app-create-report-card{width:100%;max-width:600px;padding:var(--hig-space-6)}.app-create-report-header{text-align:center;margin-bottom:var(--hig-space-5)}.app-create-report-header h2{margin:0 0 var(--hig-space-1)}.app-create-report-header p{margin:0}.app-create-report-form{flex-direction:column;display:flex}.app-issue-types-grid{gap:var(--hig-space-3);grid-template-columns:repeat(2,1fr);display:grid}.app-issue-type-card{background:var(--hig-fill-quaternary);border-radius:var(--hig-radius-md);padding:var(--hig-space-4);align-items:center;gap:var(--hig-space-2);cursor:pointer;transition:background var(--hig-duration-fast) var(--hig-ease-out);flex-direction:column;display:flex}.app-issue-type-card:hover{background:var(--hig-fill-tertiary)}.app-issue-type-card.selected{background:color-mix(in srgb, var(--hig-tint) 15%, transparent);color:var(--hig-tint)}.app-issue-type-icon{font-size:1.5rem}.app-issue-type-label{font-size:var(--hig-text-footnote);text-align:center;font-weight:500}.app-location-picker-mock{margin-top:var(--hig-space-2);background:var(--hig-fill-quaternary);border-radius:var(--hig-radius-md);height:100px;color:var(--hig-label-secondary);cursor:pointer;justify-content:center;align-items:center;display:flex}.app-dropzone{border:2px dashed var(--hig-separator);background:var(--hig-fill-quaternary);border-radius:var(--hig-radius-md);padding:var(--hig-space-6) var(--hig-space-4);text-align:center;cursor:pointer}.app-dropzone-title{font-size:var(--hig-text-body);margin-bottom:var(--hig-space-1);color:var(--hig-label);display:block}.app-dropzone-subtitle{margin:0}.app-create-report-actions{gap:var(--hig-space-3);margin-top:var(--hig-space-2);display:flex}.app-create-report-actions .hig-button.gray{flex:none;min-width:140px}.app-create-report-actions .hig-button.large{flex:1;width:auto}@media (width<=899px){.app-create-report-actions{flex-direction:column-reverse}.app-create-report-actions .hig-button{width:100%}}.app-campaigns-page{gap:var(--hig-space-5);flex-direction:column;display:flex}.app-campaigns-header{text-align:center}.app-campaigns-header h2{justify-content:center;align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-1);display:flex}.app-campaigns-header p{margin:0}.app-campaigns-grid{gap:var(--hig-space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.app-campaign-card{flex-direction:column;display:flex}.app-campaign-card-header{margin-bottom:var(--hig-space-2);justify-content:space-between;align-items:center;display:flex}.app-campaign-icon{color:var(--hig-tint);display:inline-flex}.app-campaign-title{margin:0 0 4px}.app-campaign-meta{margin:0 0 var(--hig-space-3);align-items:center;gap:4px;display:flex}.app-campaign-description{color:var(--hig-label-secondary);font-size:var(--hig-text-subheadline);margin:0 0 var(--hig-space-4);flex:1;line-height:1.5}.app-campaign-progress{margin-bottom:var(--hig-space-4);flex-direction:column;gap:6px;display:flex}.app-campaign-progress-stats{justify-content:space-between;display:flex}.app-campaign-join{width:100%;margin-top:auto}.app-rewards-page{gap:var(--hig-space-5);flex-direction:column;display:flex}.app-rewards-header{text-align:center}.app-rewards-header h2{justify-content:center;align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-1);display:flex}.app-rewards-balance{margin:0 0 var(--hig-space-1);font-variant-numeric:tabular-nums;color:var(--hig-label);align-items:center;gap:6px;font-weight:700;display:inline-flex}.app-rewards-error{max-width:480px;padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-md);background:color-mix(in srgb, var(--hig-red) 12%, transparent);color:var(--hig-red);font-size:var(--hig-text-footnote);text-align:center;margin:0 auto;font-weight:600}.app-rewards-grid{gap:var(--hig-space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.app-reward{flex-direction:column;display:flex}.app-reward.locked{filter:grayscale();opacity:.45}.app-reward-desc{font-size:var(--hig-text-subheadline);margin:0 0 var(--hig-space-2);flex:1;line-height:1.5}.app-reward-merchant{margin:0 0 var(--hig-space-3)}.app-reward-sponsor{font-style:italic}.app-reward-footer{align-items:center;gap:var(--hig-space-2);padding-top:var(--hig-space-3);border-top:1px solid var(--hig-separator);flex-wrap:wrap;margin-top:auto;display:flex}.app-reward-cost{font-weight:700;font-size:var(--hig-text-subheadline);color:var(--hig-label);align-items:center;gap:4px;display:inline-flex}.app-reward-stock{margin-right:auto}.app-voucher-code{font-family:var(--hig-font-mono);letter-spacing:.04em;white-space:nowrap;color:var(--hig-label);font-weight:700}.app-voucher-issued-title{text-align:center}.app-voucher-modal-code{text-align:center;font-family:var(--hig-font-mono);font-size:var(--hig-text-title3);letter-spacing:.12em;padding:var(--hig-space-3) var(--hig-space-4);margin:0 0 var(--hig-space-4);border-radius:var(--hig-radius-md);background:color-mix(in srgb, var(--hig-green) 12%, transparent);border:1px solid color-mix(in srgb, var(--hig-green) 30%, transparent);color:var(--hig-green);display:block}.app-voucher-note{text-align:center}.app-community-page{gap:var(--hig-space-5);flex-direction:column;display:flex}.app-community-header{text-align:center}.app-community-header h2{justify-content:center;align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-1);display:flex}.app-community-header p{margin:0}.app-community-boards{gap:var(--hig-space-4);grid-template-columns:repeat(2,1fr);display:grid}.app-community-board-title{align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-3);display:flex}.app-community-rank{text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;min-width:28px}.app-community-avatar{border-radius:var(--hig-radius-full);background:var(--hig-fill);width:28px;height:28px;color:var(--hig-label-secondary);font-size:var(--hig-text-caption);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.app-community-name{align-items:center;gap:var(--hig-space-2);color:var(--hig-label);font-weight:600;display:flex}.app-community-you-tag{font-size:var(--hig-text-caption)}.app-community-loading{text-align:center;padding:var(--hig-space-6)}.app-community-note{margin:var(--hig-space-3) 0 0;padding-top:var(--hig-space-3);border-top:1px solid var(--hig-separator)}@media (width<=768px){.app-community-boards{grid-template-columns:1fr}}.app-tree-care{gap:var(--hig-space-2);margin-bottom:var(--hig-space-4);flex-direction:column;display:flex}.app-badge-neutral{background:var(--hig-fill-tertiary);color:var(--hig-label-secondary)}.app-impact-row{align-items:center;gap:var(--hig-space-2);flex-wrap:wrap;display:flex}.app-impact-chip{border:1px solid var(--hig-separator);border-radius:var(--hig-radius-full);align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.app-tree-message{color:var(--hig-label-secondary);align-items:flex-start;gap:6px;margin:0;padding:6px 10px;font-style:italic;display:flex}.app-last-care-label{color:var(--hig-label);font-weight:600}.app-last-care-photo{border-radius:var(--hig-radius-sm);object-fit:cover;flex-shrink:0;width:44px;height:44px}.app-guardian-card{gap:var(--hig-space-3);flex-direction:column;display:flex}.app-guardian-header{align-items:center;gap:var(--hig-space-2);display:flex}.app-guardian-header>svg{color:var(--hig-tint);flex-shrink:0}.app-guardian-header-text{flex-direction:column;display:flex}.app-guardian-list-item svg{color:var(--hig-label-secondary)}.app-guardian-rewards-link{color:var(--hig-tint);font-weight:600}.app-sector-impact-strip{margin:0}.app-sponsors-page{gap:var(--hig-space-5);flex-direction:column;display:flex}.app-sponsors-header{text-align:center}.app-sponsors-header h2{justify-content:center;align-items:center;gap:var(--hig-space-2);margin:0 0 var(--hig-space-2);display:flex}.app-sponsors-header p{margin:0 0 var(--hig-space-2)}.app-esg-pitch-line{font-style:italic}.app-inline-link{align-items:center;gap:var(--hig-space-1);color:var(--hig-tint);font-weight:600;display:inline-flex}.app-inline-link:hover{text-decoration:underline}.app-sponsors-empty{text-align:center;padding:var(--hig-space-5) 0}.app-sponsor-empty-state{max-width:460px;margin:var(--hig-space-8) auto;text-align:center;padding:var(--hig-space-6)}.app-sponsor-empty-state h2{margin:0 0 var(--hig-space-2)}.app-sponsor-empty-state p{margin:0 0 var(--hig-space-4)}.app-sponsors-grid{gap:var(--hig-space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.app-sponsor-card{color:inherit;flex-direction:column;text-decoration:none;display:flex}a.app-sponsor-card-link{color:inherit}.app-sponsor-card-link:hover{background:var(--hig-fill-quaternary)}.app-sponsor-cta-card{justify-content:flex-start}.app-sponsor-logo{margin-bottom:var(--hig-space-3);display:inline-flex}.app-sponsor-logo-lg svg{width:48px;height:48px}.app-sponsor-name{margin:0 0 var(--hig-space-2)}.app-sponsor-tier{margin-bottom:var(--hig-space-2);align-self:flex-start}.app-sponsor-desc{margin:0;line-height:1.5}.app-sponsor-cta{padding-top:var(--hig-space-3);color:var(--hig-tint);margin-top:auto;font-weight:600}.app-grove-header{align-items:flex-start;gap:var(--hig-space-4);padding-bottom:var(--hig-space-5);border-bottom:1px solid var(--hig-separator);display:flex}.app-grove-header h2{margin:0 0 var(--hig-space-2)}.app-grove-stats-strip{gap:var(--hig-space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.app-grove-campaign{gap:var(--hig-space-2);flex-direction:column;display:flex}.app-grove-campaign h3{align-items:center;gap:var(--hig-space-2);margin:0;display:flex}.app-grove-tree-list-title{margin:0 0 var(--hig-space-1)}.app-grove-tree-grid{margin:var(--hig-space-3) 0 0;gap:var(--hig-space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0;list-style:none;display:grid}.app-grove-tree-cell{flex-direction:column;display:flex}.app-grove-tree-meta{margin-bottom:var(--hig-space-3);flex-direction:column;gap:2px;display:flex}.app-esg-controls{max-width:360px;margin:0 auto}.app-esg-summary{text-align:center}.app-esg-summary h3{margin:0 0 var(--hig-space-2)}.app-esg-csv-btn{margin:0 auto var(--hig-space-5);display:flex}.app-esg-table-wrap{background:var(--hig-bg-secondary);border-radius:var(--hig-radius-lg);overflow-x:auto}.app-esg-table{border-collapse:collapse;width:100%;font-size:var(--hig-text-footnote)}.app-esg-table th,.app-esg-table td{padding:var(--hig-space-2) var(--hig-space-4);text-align:left;white-space:nowrap}.app-esg-table th{color:var(--hig-label-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--hig-separator);font-weight:700}.app-esg-table td{color:var(--hig-label);border-bottom:1px solid var(--hig-separator)}.app-esg-table tbody tr:last-child td{border-bottom:none}@media (width<=768px){.app-sponsors-grid{grid-template-columns:1fr}.app-grove-header{text-align:center;flex-direction:column;align-items:center}}.app-auth{min-height:100vh;padding:var(--hig-space-4);background:var(--hig-bg);justify-content:center;align-items:center;display:flex}.app-auth-card{width:100%;max-width:380px;margin:0 auto}.app-auth-header{text-align:center;margin-bottom:var(--hig-space-5)}.app-auth-logo{margin-bottom:var(--hig-space-2);color:var(--hig-tint);justify-content:center;align-items:center;display:flex}.app-auth-preview{background:color-mix(in srgb, var(--hig-tint) 8%, transparent);border:1px solid color-mix(in srgb, var(--hig-tint) 15%, transparent);border-radius:var(--hig-radius-lg);padding:var(--hig-space-3) var(--hig-space-4);margin-bottom:var(--hig-space-5)}.app-auth-preview-top{justify-content:space-between;align-items:center;gap:var(--hig-space-2);margin-bottom:var(--hig-space-1);display:flex}.app-auth-preview-name{font-weight:700}.app-auth-footer{justify-content:center;align-items:center;gap:var(--hig-space-1);margin-top:var(--hig-space-5);text-align:center;display:flex}.app-auth-error{padding:var(--hig-space-3) var(--hig-space-4);border-radius:var(--hig-radius-md);background:color-mix(in srgb, var(--hig-red) 12%, transparent);color:var(--hig-red);font-size:var(--hig-text-footnote);text-align:center;margin-bottom:var(--hig-space-4);font-weight:600}.app-auth-footer-link{text-align:center;margin-top:var(--hig-space-4)}.app-shell{min-height:100vh;display:flex}.app-sidebar{flex-shrink:0;height:100vh;position:sticky;top:0}.app-sidebar-logo{font-size:var(--hig-text-title3);padding:var(--hig-space-3) var(--hig-space-3) var(--hig-space-4);font-weight:700}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-mobile-navbar{border-bottom:.5px solid var(--hig-material-border)}.app-content{min-width:0;padding:var(--hig-space-6) var(--app-inset);flex:1;max-width:1200px}.app-tabbar{z-index:30;border-top:.5px solid var(--hig-material-border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.app-tabbar-item{min-height:49px;font-size:var(--hig-text-caption2);color:var(--hig-label-secondary);flex-direction:column;flex:1;align-items:center;gap:2px;padding-top:6px;text-decoration:none;display:flex}.app-tabbar-item.active{color:var(--hig-tint)}.app-tabbar-item span{white-space:nowrap;font-size:var(--hig-text-caption2)}a.app-tabbar-item{color:var(--hig-label-secondary)}a.app-tabbar-item.active{color:var(--hig-tint)}a.hig-sidebar-item{color:var(--hig-label)}a.hig-sidebar-item.active{color:var(--hig-tint)}@media (width<=899px){.app-sidebar{display:none}.app-content{padding-top:var(--hig-space-4);padding-bottom:84px}.app-pitch-header{display:none}}@media (width>=900px){.app-tabbar,.app-mobile-navbar{display:none}}.app-content:has(.app-map-home){max-width:none;padding:0;overflow:hidden}.app-map-home{flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.app-map-home-stage{flex:1;min-height:0;position:relative}.app-map-home-canvas{position:absolute;inset:0}.app-map-home-canvas .app-sector5-map,.app-map-home-canvas .app-sector5-map-canvas{width:100%;height:100%}.app-map-cluster{width:36px;height:36px;line-height:1;font-size:var(--hig-text-footnote);background:var(--hig-tint);color:var(--hig-tint-contrast);border:2px solid var(--hig-bg);border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 1px 4px #0000004d}.tree-marker-icon.is-selected{filter:drop-shadow(0 0 0 var(--hig-tint))}.tree-marker-icon.is-selected svg{outline:3px solid var(--hig-tint);outline-offset:1px;border-radius:50%}.app-map-sheet{background:color-mix(in srgb, var(--hig-bg) 82%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);border-top-left-radius:var(--hig-radius-lg);border-top-right-radius:var(--hig-radius-lg);z-index:500;flex-direction:column;transition:height .28s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -2px 16px #0000002e}.app-map-sheet[data-detent=peek]{height:96px}.app-map-sheet[data-detent=half]{height:50dvh}.app-map-sheet[data-detent=full]{height:calc(100dvh - env(safe-area-inset-top) - 24px)}.app-map-sheet-grabber{background:var(--hig-fill);cursor:pointer;border:none;border-radius:3px;align-self:center;width:36px;height:5px;margin:8px 0}.app-map-sheet-body{min-height:0;padding:0 var(--hig-space-3) var(--hig-space-4);flex:1;overflow-y:auto}.app-map-sheet-summary{margin:0 0 var(--hig-space-2);font-weight:600}.app-map-sheet-search{margin-bottom:var(--hig-space-2);align-items:center;gap:6px;display:flex}.app-map-sheet-search .hig-field{flex:1}.app-map-sheet-segmented{background:var(--hig-fill-tertiary);margin-bottom:var(--hig-space-2);border-radius:9px;gap:2px;padding:2px;display:flex}.app-segmented-item{min-height:28px;font-size:var(--hig-text-footnote);color:var(--hig-label);cursor:pointer;white-space:nowrap;transition:background var(--hig-duration-fast) var(--hig-ease-out);background:0 0;border:none;border-radius:7px;flex:1;padding:0 6px;font-weight:500}.app-segmented-item.active{background:var(--hig-bg-secondary);font-weight:600;box-shadow:0 1px 4px #0000001f,0 0 0 .5px #0000000a}.app-map-sheet-species{width:100%;margin-bottom:var(--hig-space-2)}.app-map-sheet-list{margin:0;padding:0;list-style:none}.app-map-sheet-list-row{border:none;border-bottom:.5px solid var(--hig-material-border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;width:100%;padding:10px 4px;display:flex}.app-map-sheet-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.app-map-sheet-dot.status-ok{background:var(--hig-tint)}.app-map-sheet-dot.status-thirsty{background:var(--hig-orange,#ff9500)}.app-map-sheet-dot.status-urgent{background:var(--hig-red,#ff3b30)}.app-map-sheet-dot.status-unknown{background:var(--hig-gray)}.app-map-sheet-list-name{font-weight:600}.app-map-sheet-back{color:var(--hig-tint);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-weight:600;display:inline-flex}.app-map-sheet-panels{margin-top:var(--hig-space-3)}@media (width>=900px){.app-map-sheet{left:var(--hig-space-4);right:auto;bottom:var(--hig-space-4);top:var(--hig-space-4);border-radius:var(--hig-radius-lg);width:360px;height:auto;box-shadow:0 4px 24px #00000038}.app-map-sheet[data-detent=peek],.app-map-sheet[data-detent=half],.app-map-sheet[data-detent=full]{height:auto}.app-map-sheet-grabber{display:none}}.app-map-home-canvas .leaflet-top.leaflet-right{margin-top:var(--hig-space-3);margin-right:var(--hig-space-3)}@media (width<=899px){.app-map-sheet{bottom:var(--app-tabbar-h)}.app-map-sheet[data-detent=full]{height:calc(100dvh - var(--app-tabbar-h) - 24px)}.app-map-home-canvas .leaflet-bottom{bottom:calc(var(--app-tabbar-h) + 104px)}}.app-sector5-map .leaflet-bar{border-radius:var(--hig-radius-md);box-shadow:var(--hig-shadow-menu);border:none;overflow:hidden}.app-sector5-map .leaflet-control-zoom a{background:var(--hig-bg-secondary);color:var(--hig-label);border-bottom:1px solid var(--hig-separator);font-family:inherit}.app-sector5-map .leaflet-control-zoom a:last-child{border-bottom:none}.app-sector5-map .leaflet-control-zoom a:hover,.app-sector5-map .leaflet-control-zoom a:focus-visible{background:var(--hig-fill);color:var(--hig-tint)}.app-sector5-map .leaflet-control-attribution{background:color-mix(in srgb, var(--hig-bg-secondary) 80%, transparent);color:var(--hig-label-tertiary);font-family:inherit;font-size:var(--hig-text-caption2);border-radius:var(--hig-radius-sm);padding:2px var(--hig-space-2)}.app-sector5-map .leaflet-control-attribution a{color:var(--hig-tint)}
