.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers-55W3Q4RM.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x-TBM42ERR.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon-2V3QKKVC.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url("./media/spritesheet-YHL5CRRG.png");background-image:linear-gradient(transparent,transparent),url("./media/spritesheet-VSFTN6SR.svg");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url("./media/spritesheet-2x-KORMVNAU.png");background-image:linear-gradient(transparent,transparent),url("./media/spritesheet-VSFTN6SR.svg")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}:root{--bg: #eef5ea;--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--surface-soft: #f6faf3;--primary: #1f7a4d;--primary-strong: #164f34;--accent: #d48d3f;--text: #1d2b20;--muted: #657667;--border: rgba(31, 122, 77, .16);--danger: #ab4534;--info: #2b69d8;--shadow: 0 18px 50px rgba(24, 48, 31, .08);--radius: 28px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(212,141,63,.18),transparent 20%),radial-gradient(circle at top right,rgba(31,122,77,.12),transparent 32%),linear-gradient(180deg,#f8fbf5 0%,var(--bg) 100%)}body{padding:0}button,input,select,textarea{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;white-space:normal}.app-shell{min-height:100vh;padding:24px}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;position:relative;z-index:1200}.app-header h1,.page-title h2,.panel h3,.area-card h3,.system-status-card h2{margin:0}.eyebrow{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px}.mobile-header-menu{display:none}.mobile-header-actions{display:none;position:relative;z-index:1201}.expert-toggle{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.top-nav{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;margin-bottom:20px}.nav-pill{flex:0 0 auto;text-decoration:none;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:11px 16px}.nav-pill.active{color:#fff;background:var(--primary);border-color:transparent}.content-shell{display:grid;gap:20px;min-width:0}.page-title{margin-bottom:6px}.page-title-mobile-hidden{display:block}.page-title p,.muted{color:var(--muted)}.gift-hero{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:20px;align-items:stretch;overflow:hidden;min-width:0;border:1px solid rgba(212,141,63,.34);border-radius:var(--radius);background:linear-gradient(135deg,#fff6dcf0,#eef8e8eb),var(--surface-strong);box-shadow:var(--shadow)}.gift-hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:28px}.gift-kicker{width:fit-content;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:#d48d3f2e;color:#835114;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gift-hero h2{margin:0;max-width:10ch;font-size:clamp(2rem,4vw,4.4rem);line-height:.98}.gift-hero p{max-width:44rem;margin:16px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.45}.gift-hero-media{position:relative;min-height:280px;overflow:hidden}.gift-hero-media img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}.gift-hero-media span{position:absolute;right:16px;bottom:16px;max-width:calc(100% - 32px);padding:10px 14px;border-radius:999px;background:#ffffffe0;color:var(--primary-strong);font-weight:700;box-shadow:0 12px 30px #18301f24}.panel,.card,.system-status-card,.area-card,.schedule-card,.timeline-item,.dialog-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.panel,.system-status-card,.dialog-card{padding:24px;min-width:0}.compact-action-panel{padding:14px 18px}app-expert-section{display:block}.form-grid>app-expert-section,.form-grid-balanced>app-expert-section{grid-column:1 / -1;min-width:0}.card-grid,.area-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.area-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{padding:20px}.metric{margin-top:12px;font-size:2rem;font-weight:700}.section-head,.system-status-top,.area-card-head,.timeline-top,.schedule-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.toolbar.wrap{margin-bottom:14px}.button{border:none;border-radius:999px;padding:12px 18px;background:var(--primary);color:#fff;cursor:pointer}.button.secondary{background:var(--surface-strong);color:var(--text);border:1px solid var(--border)}.button.button-subtle{background:var(--surface-strong);color:var(--primary-strong);border:1px solid rgba(31,122,77,.22);padding:9px 14px}.button.danger{background:var(--danger)}.button:disabled{opacity:.55;cursor:not-allowed}.emergency-stop{min-width:144px}.emergency-stop-compact{min-width:0;padding-inline:16px}.mobile-stop{display:none}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid-balanced{grid-template-columns:repeat(12,minmax(0,1fr))}.field-span-2{grid-column:span 2}.field-span-3{grid-column:span 3}.field-span-4{grid-column:span 4}.field-full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:8px}.info-dot{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:4px;border-radius:50%;border:1px solid var(--border);color:var(--muted);font-size:.78rem;font-weight:800}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:18px;padding:13px 14px;background:#ffffffeb}.field textarea{min-height:96px}.voice-input-shell{position:relative}.voice-input-shell textarea{padding-right:64px}.microphone-button{position:absolute;top:12px;right:12px;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:var(--surface-strong);color:var(--primary-strong);cursor:pointer;box-shadow:var(--shadow-soft)}.microphone-button:hover,.microphone-button:focus-visible{border-color:#1f7a4d6b;outline:none}.microphone-button.recording{background:#b436361f;border-color:#b436365c;color:#8f2b2b}.microphone-button:disabled{cursor:not-allowed;opacity:.56;box-shadow:none}.microphone-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.zone-assistant{display:grid;gap:16px;padding:18px;border-radius:22px;background:var(--surface-soft);border:1px solid var(--border)}.profile-editor{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.assistant-flow,.zone-profile-summary,.adaptive-plan-summary,.planning-summary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.assistant-step,.zone-profile-summary>div,.adaptive-plan-summary>div,.planning-summary>div{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);color:var(--text);text-align:left}.assistant-step span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#1f7a4d1f;color:var(--primary-strong);font-weight:800}.assistant-step.active{border-color:#1f7a4d5c;background:#1f7a4d14}.assistant-step:disabled{opacity:.52;cursor:not-allowed}.assistant-step small,.zone-profile-summary span,.adaptive-plan-summary span,.planning-summary span{color:var(--muted)}.zone-profile-summary strong,.adaptive-plan-summary strong,.planning-summary strong{line-height:1.25}.assistant-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#2b69d814;border:1px solid rgba(43,105,216,.16)}.spinner{width:24px;height:24px;border-radius:50%;border:3px solid rgba(43,105,216,.18);border-top-color:var(--info);animation:spin .8s linear infinite}.progress-bar{height:6px;overflow:hidden;margin-top:8px;border-radius:999px;background:#2b69d81f}.progress-bar span{display:block;width:42%;height:100%;border-radius:inherit;background:var(--info);animation:progress-slide 1.3s ease-in-out infinite}.automation-mode-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.automation-mode-card{display:grid;gap:8px;align-items:start;justify-content:start;min-height:130px;padding:16px;border-radius:18px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);text-align:left}.automation-mode-card.active{border-color:#1f7a4d6b;background:#1f7a4d14}.automation-mode-card span{color:var(--muted)}.view-summary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;margin-top:18px}.view-summary>div{display:grid;gap:5px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-soft)}.view-summary span{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-slide{0%{transform:translate(-100%)}50%{transform:translate(90%)}to{transform:translate(240%)}}.assistant-suggestion{display:grid;gap:10px;padding:16px;border-radius:18px;background:var(--surface-strong);border:1px solid rgba(31,122,77,.22)}.assistant-suggestion p,.assistant-suggestion ul{margin:0}.assistant-suggestion ul{padding-left:20px}.choice-row,.weekday-grid{display:flex;gap:10px;flex-wrap:wrap}.choice-pill{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer}.choice-pill.active{background:#1f7a4d29;border-color:#1f7a4d66;color:var(--primary-strong)}.status-chip,.weather-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-size:.92rem;font-weight:600}.weather-overview-bar{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin:18px 0;padding:16px 18px;border-radius:22px;border:1px solid var(--border)}.weather-overview-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#ffffff8c;font-size:1.35rem}.weather-overview-copy{display:grid;gap:4px;min-width:0}.weather-overview-copy p,.weather-inline-summary p{margin:0}.weather-overview-copy small{color:var(--muted)}.weather-bar-allow{background:#1f7a4d17}.weather-bar-skip{background:#d48d3f24}.weather-bar-error{background:#ab45341f}.weather-bar-inactive,.weather-bar-unknown{background:#6576671f}.weather-analysis-panel{margin-top:10px;padding:14px 16px;border-radius:18px;background:var(--surface-soft);border:1px solid var(--border)}.irrigation-explanation{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.irrigation-explanation p,.irrigation-explanation ul{margin:0}.irrigation-explanation ul{padding-left:20px;color:var(--muted)}.weather-analysis-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.weather-analysis-grid>div,.weather-inline-summary{display:grid;gap:4px}.weather-analysis-grid span{color:var(--muted)}.weather-inline-summary{margin:14px 0 0;padding:13px 15px;border-radius:18px;background:#1f7a4d14}.area-profile-compact{display:grid;gap:8px;margin-top:14px}.area-profile-compact-head{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.area-profile-compact-chips{display:flex;flex-wrap:wrap;gap:8px}.status-active,.status-ok,.status-completed{background:#2f7d4b29;color:var(--primary-strong)}.status-watering,.status-running{background:#2b69d824;color:var(--info)}.status-disabled,.status-winter{background:#65766729;color:#526053}.status-paused,.status-scheduled-soon,.status-skipped,.status-cancelled{background:#d48d3f29;color:#965d20}.status-error,.status-attention{background:#ab453424;color:var(--danger)}.weather-on{background:#1f7a4d1f;color:var(--primary-strong)}.weather-skip{background:#d48d3f29;color:#965d20}.weather-error{background:#ab453424;color:var(--danger)}.weather-off{background:#65766724;color:#526053}.notice{margin:12px 0 0;padding:11px 13px;border-radius:16px}.notice.success{background:#2f7d4b1f;color:var(--primary-strong)}.notice.error{background:#ab45341f;color:var(--danger)}.system-status-card{display:grid;gap:18px}.system-ok{background:linear-gradient(135deg,#1f7a4d24,#fffffff0)}.system-running{background:linear-gradient(135deg,#2b69d824,#fffffff0)}.system-paused,.system-winter{background:linear-gradient(135deg,#d48d3f29,#fffffff0)}.system-attention{background:linear-gradient(135deg,#ab45342e,#fffffff0)}.system-status-grid,.area-facts,.detail-stack,.expert-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.system-status-grid span,.area-facts span,.detail-stack span{display:block;font-size:.9rem;color:var(--muted)}.quick-actions{display:grid;gap:12px;grid-template-columns:1fr}.quick-actions-secondary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.quick-action-mobile-only{display:none}.dashboard-area-grid{align-items:start}.area-card{padding:22px;display:grid;gap:18px}.manual-run-control{display:grid;gap:12px;padding:16px;border-radius:22px;background:var(--surface-soft)}.manual-run-head,.manual-run-actions{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.manual-run-head>:first-child{flex:1 1 auto;min-width:0}.manual-run-meta{color:var(--muted);font-size:.9rem;text-align:right;white-space:nowrap}.duration-slider{width:100%;height:42px;accent-color:var(--primary)}.schedule-preview{border-radius:20px;background:var(--surface-soft);padding:16px}.schedule-list,.timeline{display:grid;gap:14px}.schedule-card,.timeline-item{padding:18px}.schedule-card-title{display:grid;gap:6px}.schedule-card-title h4{margin:0;font-size:1.45rem;line-height:1.08}.schedule-card-summary{margin:0;color:var(--text);font-weight:600}.schedule-card-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.schedule-type-chip,.schedule-weekday-chip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#f6faf3eb;color:var(--text);font-weight:600}.schedule-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.schedule-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.schedule-meta-item{display:grid;gap:4px;padding:14px 16px;border-radius:20px;background:var(--surface-soft);border:1px solid var(--border)}.schedule-meta-item span{color:var(--muted)}.schedule-meta-item strong{font-size:1.02rem;line-height:1.35}.schedule-note{margin:16px 0 0;padding:14px 16px;border-radius:18px;background:#1f7a4d14;color:var(--primary-strong)}.schedule-rule-list{margin:12px 0 0;padding-left:20px;color:var(--muted)}.schedule-rule-list li+li{margin-top:6px}.technical-rule{display:grid;gap:10px}.technical-rule pre{margin:0;padding:14px;overflow-x:auto;border-radius:14px;background:#112a1e0f;border:1px solid var(--border);color:var(--text);white-space:pre-wrap}.scenario-grid{margin-top:16px}.scenario-table-wrap{overflow-x:auto;margin-top:16px}.scenario-table{width:100%;border-collapse:collapse;min-width:760px}.scenario-table th,.scenario-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--border)}.scenario-table th{color:var(--muted);font-weight:700}.planning-table-wrap{margin-top:20px}.planning-table{min-width:980px}.sequence-note{display:block;width:fit-content;margin-top:4px;padding:3px 8px;border-radius:999px;background:#2b69d81a;color:var(--info);font-size:.78rem;font-weight:700}.skipped-row{color:var(--muted)}.schedule-card-actions{margin-top:16px}.timeline-meta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--muted);margin-top:10px;font-size:.95rem}.winter-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-radius:22px;background:#65766729;border:1px solid var(--border)}.expert-section{border-top:1px dashed var(--border);padding-top:14px;min-width:0}.expert-section summary{cursor:pointer;color:var(--muted);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.expert-section summary::-webkit-details-marker{display:none}.expert-body{margin-top:12px;min-width:0}.expert-grid>div,.detail-stack strong,.system-status-grid strong,.area-facts strong{min-width:0;overflow-wrap:anywhere}.map-layout.smart-map-layout{display:grid;gap:20px;grid-template-columns:minmax(280px,360px) 1fr minmax(280px,360px)}.map-layout.smart-map-layout.map-layout-left-collapsed{grid-template-columns:1fr minmax(280px,360px)}.map-layout.smart-map-layout.map-layout-right-collapsed{grid-template-columns:minmax(280px,360px) 1fr}.map-layout.smart-map-layout.map-layout-left-collapsed.map-layout-right-collapsed{grid-template-columns:1fr}.map-sidebar{display:grid;gap:18px}.map-canvas{position:relative;min-height:720px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.map-toolbar,.map-legend{position:absolute;z-index:20;left:16px;right:16px}.map-toolbar-mobile{display:none}.map-toolbar{top:16px;left:88px;display:flex;gap:10px;flex-wrap:wrap}.map-canvas .leaflet-top.leaflet-left{top:16px;left:16px}.map-legend{bottom:16px;max-width:520px;padding:14px 16px;border-radius:20px;background:#ffffffe6;border:1px solid var(--border);box-shadow:var(--shadow)}.map-legend-items{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.legend-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:600}.legend-active{background:#2f7d4b29;color:var(--primary-strong)}.legend-watering{background:#2b69d824;color:var(--info)}.legend-soon{background:#d48d3f29;color:#965d20}.legend-disabled{background:#65766729;color:#526053}.legend-error{background:#ab453424;color:var(--danger)}.map-surface{width:100%;height:720px;background:linear-gradient(90deg,rgba(31,122,77,.04) 1px,transparent 1px),linear-gradient(rgba(31,122,77,.04) 1px,transparent 1px),linear-gradient(180deg,#fbfdf9,#eef4ea);background-size:40px 40px,40px 40px,cover}.area-detail-panel{align-self:start;position:sticky;top:24px}.dialog-backdrop{position:fixed;inset:0;background:#1422194d;display:grid;place-items:center;padding:18px;z-index:50}.dialog-card{width:min(460px,100%)}.check-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}.leaflet-tooltip-own{border:none;border-radius:999px;padding:4px 10px;background:#ffffffe0;color:var(--text);box-shadow:0 6px 20px #1422191f;font-weight:600;white-space:nowrap}.zones-form-grid>.field>span,.schedules-form-grid>.field>span,.settings-form-grid>.field>span,.schedules-filter-grid>.field>span{min-height:3.2rem;display:flex;align-items:flex-end}@media (max-width: 1200px){.map-layout.smart-map-layout{grid-template-columns:1fr}.area-detail-panel{position:fixed;inset:auto 12px 12px;z-index:30}}@media (max-width: 900px){.app-shell{padding:18px 14px 100px}.app-header,.header-actions,.system-status-top,.section-head,.winter-banner{flex-direction:column;align-items:stretch}.map-canvas,.map-surface{min-height:420px;height:420px}.form-grid-balanced,.zones-form-grid,.schedules-form-grid,.settings-form-grid,.schedules-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-2,.field-span-3,.field-span-4{grid-column:span 2}.header-actions>.emergency-stop{display:none}.gift-hero{grid-template-columns:1fr}.gift-hero-copy{padding:22px 22px 0}.gift-hero h2{max-width:12ch}}@media (max-width: 640px){.app-shell{padding:12px 10px 92px}.app-header{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;margin-bottom:10px}.app-header .eyebrow{display:none}.app-header h1{font-size:1.85rem;line-height:1.02;max-width:9ch}.header-actions{display:none}.mobile-header-actions{display:inline-flex;align-items:center;justify-self:end;gap:10px}.mobile-header-menu{display:block}.mobile-header-menu summary{list-style:none;min-height:48px;min-width:78px;padding-inline:16px;font-size:1rem}.mobile-header-menu summary::-webkit-details-marker{display:none}.mobile-header-menu-body{position:absolute;right:12px;top:60px;z-index:1400;width:min(240px,calc(100vw - 24px));padding:12px;display:grid;gap:12px;border-radius:20px;background:#fffffff5;border:1px solid var(--border);box-shadow:var(--shadow)}.mobile-header-nav{display:grid;gap:8px}.mobile-nav-pill{text-decoration:none;color:var(--text);border:1px solid var(--border);background:#f6faf3f5;border-radius:16px;padding:12px 14px;font-weight:600}.mobile-nav-pill.active{background:var(--primary);color:#fff;border-color:transparent}.top-nav{display:none}.page-title{margin-bottom:0}.page-title-mobile-hidden{display:none}.page-title h2{font-size:1.4rem}.page-title p{display:none}.gift-hero{gap:12px;border-radius:24px}.gift-hero-copy{padding:18px 18px 0}.gift-hero h2{font-size:2.2rem}.gift-hero p{font-size:.96rem}.gift-hero-media,.gift-hero-media img{min-height:220px}.gift-hero-media span{left:12px;right:auto;bottom:12px;max-width:calc(100% - 24px)}.panel,.system-status-card,.dialog-card,.area-card,.schedule-card,.timeline-item{padding:16px}.system-status-top h2{font-size:1.42rem;line-height:1.08}.system-status-top p{display:none}.system-status-grid{grid-template-columns:1fr;gap:10px}.system-fact-water{grid-column:1 / -1}.system-fact-schedules,.system-fact-last{display:none}.quick-actions .button{min-height:52px;padding-inline:14px;font-size:1rem;line-height:1.2}.quick-actions-secondary{grid-template-columns:1fr}.quick-action-mobile-only{display:inline-flex}.panel>h3:first-child{font-size:1.15rem}.dashboard-area-grid{display:grid;grid-template-columns:1fr;overflow:visible;gap:14px;padding-bottom:0;scroll-snap-type:none}.dashboard-area-grid>*{min-width:0;width:100%;max-width:100%;flex:none;scroll-snap-align:none}.area-card{gap:14px}.area-facts,.detail-stack{grid-template-columns:1fr;gap:10px}.area-toolbar .button{width:100%}.area-card-head{gap:10px}.area-card h3{font-size:1.35rem;line-height:1.1}.section-subcopy,.area-description{display:none}.form-grid-balanced,.zones-form-grid,.schedules-form-grid,.settings-form-grid,.schedules-filter-grid{grid-template-columns:1fr}.field-span-2,.field-span-3,.field-span-4,.field-full{grid-column:1 / -1}.manual-run-head,.manual-run-actions,.map-toolbar-mobile{flex-direction:column;align-items:stretch}.map-toolbar-mobile{display:flex;gap:10px}.map-toolbar-mobile-main,.map-toolbar-mobile-tools{display:grid;gap:10px}.map-toolbar{display:none}.map-toolbar-mobile .button{min-height:48px}.map-canvas .leaflet-top.leaflet-left{display:none}.map-layout.smart-map-layout,.map-layout.smart-map-layout.map-layout-left-collapsed,.map-layout.smart-map-layout.map-layout-right-collapsed,.map-layout.smart-map-layout.map-layout-left-collapsed.map-layout-right-collapsed{grid-template-columns:1fr}.map-canvas{order:1;min-height:360px}.map-surface{height:360px;min-height:360px}.map-sidebar{order:2}.area-detail-panel{order:3;position:static}.manual-run-meta{text-align:left}.map-legend{display:none}.map-toolbar-mobile-tools{padding-top:4px}.schedule-card-badges{justify-content:flex-start}.schedule-meta-grid,.weather-overview-bar,.weather-analysis-grid,.planning-summary{grid-template-columns:1fr}.planning-table-wrap{overflow:visible}.planning-table{min-width:0;border-collapse:separate;border-spacing:0}.planning-table thead{display:none}.planning-table,.planning-table tbody,.planning-table tr,.planning-table td{display:block;width:100%}.planning-table tr{padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);box-shadow:0 8px 22px #1422190f}.planning-table tr+tr{margin-top:12px}.planning-table td{display:grid;grid-template-columns:minmax(92px,36%) minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid rgba(205,222,207,.65)}.planning-table td:before{content:attr(data-label);color:var(--muted);font-size:.86rem;font-weight:700}.planning-table td:first-child{padding-top:0}.planning-table td:last-child{padding-bottom:0;border-bottom:0}.planning-table td[data-label=Bereich]{font-weight:800}.sequence-note{margin-top:6px}.zones-form-grid>.field>span,.schedules-form-grid>.field>span,.settings-form-grid>.field>span,.schedules-filter-grid>.field>span{min-height:auto}}@media (max-width: 420px){.app-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.mobile-header-actions{justify-self:end;align-self:start}.app-header h1{font-size:1.62rem;max-width:10ch}.page-title h2{font-size:1.28rem}.section-head .muted,.system-status-top p{display:none}.system-status-card,.panel,.area-card,.schedule-card,.timeline-item{padding:14px}.system-status-top h2{font-size:1.34rem}.quick-actions .button,.mobile-header-actions .emergency-stop{font-size:.98rem}.system-status-grid{grid-template-columns:1fr}.system-fact-next,.system-fact-weather{grid-column:1 / -1}.dashboard-area-grid>*{width:100%;max-width:100%}.mobile-header-actions .emergency-stop{padding-inline:14px;min-height:44px}.planning-table td{grid-template-columns:1fr;gap:4px}}
