.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-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,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{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{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{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;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-bottom,.leaflet-top{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;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.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:rgba(255,255,255,.5)}.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 rgba(0,0,0,.65);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:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{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 rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.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(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);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:focus,.leaflet-control-attribution a:hover{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;box-sizing:border-box;background:rgba(255,255,255,.8);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-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{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;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.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:focus,.leaflet-container a.leaflet-popup-close-button:hover{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=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.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;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top: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}}:root{color-scheme:light;--primary:#007c7a;--primary-dark:#006b6b;--navy:#073b4c;--ink:#102a32;--muted:#667085;--coral:#ff6b5a;--mango:#ffc857;--sand:#f6e8c8;--seafoam:#ddf7f4;--surface:#ffffff;--line:#d7e3e5;--soft:#ddf7f4;--danger:#d92d20;--good:#168a5b;--warn:#f59e0b;--info:#2563eb;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--shadow-card:0 8px 24px rgba(16,42,50,0.08);--shadow-floating:0 12px 32px rgba(16,42,50,0.14);--app-bg:#f8f4e8;--app-panel:#fffdf7;--tab-height:74px;--font-sans:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--sand);font-family:var(--font-sans);letter-spacing:0;overscroll-behavior:none}a{color:inherit;text-decoration:none}main{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.install-main{width:100%;min-height:100vh;display:grid;place-items:center;margin:0;padding:24px}.install-page{width:min(1040px,100%)}.install-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;grid-gap:32px;gap:32px;min-height:min(760px,calc(100vh - 48px));padding:clamp(24px,5vw,56px);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-floating)}.install-copy{display:grid;grid-gap:18px;gap:18px;align-content:center}.install-logo{width:min(100%,360px);height:auto}.install-copy h1{max-width:680px;margin:0;color:var(--navy);font-size:54px;line-height:1}.install-copy p{max-width:560px;color:var(--muted);font-size:18px;line-height:1.55}.install-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.install-actions .btn,.install-actions button{width:auto}.install-qr{display:grid;justify-items:center;grid-gap:12px;gap:12px;margin:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fffdf8}.install-qr img{width:min(100%,280px);height:auto;border-radius:var(--radius-md)}.install-qr figcaption{max-width:280px;color:var(--muted);font-size:12px;overflow-wrap:anywhere;text-align:center}.admin-login-shell{width:100%;min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--sand)}.admin-login-main{width:min(460px,100%);margin:0;padding:0}.app-device{width:100%;min-height:100vh}.app-device-pwa{min-height:100dvh;background:var(--app-bg)}.app-viewport{min-height:100vh;background:var(--app-bg)}.app-device-pwa .app-viewport{min-height:100dvh;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.native-topbar{flex:0 0 auto;background:var(--surface);box-shadow:0 2px 10px rgba(16,42,50,.08);z-index:30}.brand-strip{min-height:44px;display:grid;place-items:center;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid #eef1ee;background:var(--surface)}.brand-strip img{width:164px;max-width:78%;height:auto}.pwa-toolbar{min-height:48px;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;grid-gap:10px;gap:10px;padding:7px 12px;background:var(--navy);color:white}.toolbar-title{min-width:0;display:grid;grid-gap:1px;gap:1px;text-align:center}.toolbar-title strong{color:white;font-size:14px;line-height:1.1}.toolbar-title span,.toolbar-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-title span{color:var(--sand);font-size:10px;line-height:1.15}.chrome-button{width:36px;height:36px;min-height:36px;display:inline-grid;place-items:center;flex:0 0 auto;border:0;border-radius:var(--radius-sm);background:rgba(255,255,255,.1);color:currentColor;padding:0;cursor:pointer}.chrome-button:active{background:rgba(255,255,255,.18)}.pwa-main{width:100%;min-height:0;overflow-y:auto;margin:0;padding:16px 14px 18px;background:#f7f8f7;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pwa-main::-webkit-scrollbar{display:none}.bottom-tabs{flex:0 0 auto;min-height:calc(var(--tab-height) + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;grid-gap:0;gap:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #e1e3e5;background:rgba(255,255,255,.98);color:#7a8588;font-size:11px;font-weight:800;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20}.bottom-tabs a{min-width:0;min-height:52px;display:grid;place-items:center;align-content:center;grid-gap:3px;gap:3px;padding:5px 2px;border-radius:var(--radius-sm)}.bottom-tabs svg{display:block}.bottom-tabs .active-link{color:var(--navy);background:#eef8f7}.bottom-tabs span{line-height:1}.drawer-backdrop{position:absolute;inset:0;z-index:60;min-height:0;border:0;border-radius:0;background:rgba(16,42,50,.48);padding:0}.pwa-drawer{position:absolute;inset:0 auto 0 0;z-index:70;width:min(320px,86%);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);box-shadow:16px 0 40px rgba(16,42,50,.24)}.drawer-header{display:grid;grid-template-columns:42px minmax(0,1fr) 38px;align-items:center;grid-gap:12px;gap:12px;padding:calc(16px + env(safe-area-inset-top)) 14px 14px;background:var(--navy);color:white}.drawer-header img{width:38px;height:38px;border-radius:var(--radius-sm);background:white}.drawer-header div{min-width:0;display:grid;grid-gap:2px;gap:2px}.drawer-header span,.drawer-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-header strong{font-size:14px}.drawer-header span{color:var(--sand);font-size:11px}.drawer-links{display:grid;padding:8px 0}.drawer-links a{min-height:48px;display:flex;align-items:center;gap:12px;padding:0 18px;color:#34454c;font-size:14px;font-weight:800;border-left:4px solid transparent}.drawer-links .active-link{color:var(--navy);background:#eef8f7;border-left-color:var(--navy)}.orientation-lock{display:none}.app-device-pwa .card{border-color:#e1e3e5;border-radius:var(--radius-sm);box-shadow:none}.app-device-pwa label{gap:5px;color:#202223;font-size:13px;font-weight:800}.app-device-pwa input,.app-device-pwa select,.app-device-pwa textarea{min-height:44px;border-color:#cfd8da;border-radius:var(--radius-sm);font-size:14px}.app-device-pwa .btn,.app-device-pwa .form button[type=submit]{min-height:46px;border-radius:var(--radius-sm);font-size:14px}.app-device-pwa .callout{padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.3}.topbar{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;color:var(--navy);font-weight:800}.brand-mark{width:34px;height:34px;flex:0 0 auto;border-radius:12px}nav{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}nav a{min-height:34px;display:inline-flex;align-items:center;padding:5px 2px}.active-link{color:var(--primary);font-weight:800}.page{grid-gap:20px;gap:20px}.hero,.page{display:grid}.hero{grid-gap:18px;gap:18px;padding:12px 0 28px}.hero h1,.page h1{margin:0;font-size:42px;line-height:1;letter-spacing:0}h2,h3,p{margin-top:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));grid-gap:16px;gap:16px}.stack{display:grid;grid-gap:12px;gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;box-shadow:var(--shadow-card)}.callout{background:var(--seafoam);border:1px solid #b7e4df;color:var(--navy);padding:14px 16px;border-radius:var(--radius-md);font-weight:800}.form{grid-gap:14px;gap:14px;max-width:100%}.form,label{display:grid}label{grid-gap:6px;gap:6px;font-weight:700}input,select,textarea{width:100%;min-height:52px;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}textarea{min-height:120px;padding-block:12px}.btn,button{min-height:52px;padding:0 18px;border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:800;cursor:pointer}.btn-primary,button[type=submit]{color:white;background:var(--primary)}.btn-primary:hover,button[type=submit]:hover{background:var(--primary-dark)}.btn-secondary{color:var(--navy);background:var(--seafoam);border-color:#b7e4df}.btn-danger{color:white;background:var(--danger)}.btn-compact,button.btn-compact{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1}.status-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}.status-good,.status-neutral{color:var(--navy);background:var(--seafoam)}.status-warn{color:var(--ink);background:var(--mango)}.status-bad{color:var(--danger);background:#ffebe8}.map-shell{min-height:220px;display:grid;align-content:start;grid-gap:8px;gap:8px;padding:14px;border:1px dashed #b7e4df;border-radius:var(--radius-lg);background:var(--seafoam)}.map-row{display:flex;justify-content:space-between;gap:12px;padding:8px;border-radius:var(--radius-md);background:rgba(255,255,255,.8)}.qr-placeholder{display:grid;place-items:center;aspect-ratio:1;width:180px;padding:16px;word-break:break-all;text-align:center;border:2px solid var(--navy);background:linear-gradient(90deg,transparent 48%,var(--ink) 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,var(--ink) 48% 52%,transparent 52%),white;background-size:24px 24px}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius-lg)}.table td,.table th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.collection-header,.data-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.collection-header h3,.data-panel-header h2,.inline-panel h3{margin:0}.inline-panel{padding:14px 0 0;border-top:1px solid var(--line)}.inline-card{display:grid;grid-gap:5px;gap:5px;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8}.inline-card strong{color:var(--navy)}.inline-card span{color:var(--muted)}.table-scroll{width:100%;overflow-x:auto}.data-table{min-width:680px}.data-table th{color:#4c5a61;font-size:12px;text-transform:uppercase}.data-table td,.data-table th{vertical-align:top;white-space:nowrap}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));grid-gap:10px;gap:10px;margin:0}.detail-row{min-width:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf8}.detail-row dt{margin-bottom:4px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.detail-row dd{margin:0;overflow-wrap:anywhere;font-weight:700}.empty-state{margin:0;color:var(--muted)}.chip-list{display:flex;gap:8px;flex-wrap:wrap}.table-subtext{display:block;margin-top:3px;color:var(--muted);font-size:12px;font-weight:400}.button-row,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-actions .btn,.row-actions button{min-height:34px;padding:7px 9px}.form-grid,.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));grid-gap:14px;gap:14px}.check-row{min-height:44px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fffdf8}.check-row input{width:auto}.admin-place-form{max-width:none}.admin-place-map{display:grid;grid-gap:10px;gap:10px}.admin-map-header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.admin-map-header h2{margin:0 0 4px;color:#1f343b;font-size:18px}.admin-map-header p{margin:0;font-size:13px}.admin-map-coordinates{min-height:28px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #cbd8d8;border-radius:6px;background:#f8faf9;color:#34464b;font-size:12px;font-weight:800;white-space:nowrap}.admin-map-tools{display:grid;grid-template-columns:minmax(280px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.admin-map-search-label{gap:6px;color:#34464b;font-size:12px;font-weight:900}.admin-map-search-row{display:flex;gap:8px}.admin-map-search-row input{min-height:34px;border-radius:6px}.admin-map-overlay-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-map-status{margin:0;color:#52666b;font-size:12px;font-weight:800}.admin-map-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));grid-gap:8px;gap:8px}.admin-map-result{min-height:0;display:grid;justify-items:start;grid-gap:3px;gap:3px;padding:10px;border:1px solid #d9e3e3;border-radius:6px;background:#ffffff;color:#243b43;font:inherit;text-align:left}.admin-map-result:hover{border-color:#9caeae;background:#f8faf9}.admin-map-result strong{font-size:13px}.admin-map-result span{color:#617378;font-size:12px;font-weight:600;line-height:1.35}.admin-map-canvas{width:100%;height:360px;overflow:hidden;border:1px solid #cbd8d8;border-radius:6px;background:#edf3f2}.admin-map-canvas .leaflet-container{width:100%;height:100%;font-family:var(--font-sans)}.admin-map-canvas .leaflet-control-attribution{font-size:10px}.admin-map-pin{position:relative;width:22px!important;height:22px!important;border:3px solid #ffffff;border-radius:999px;background:#102a32;box-shadow:0 2px 10px rgba(16,42,50,.35)}.admin-map-pin:after{content:"";position:absolute;inset:5px;border-radius:inherit;background:#18b5ad}.admin-business-pin{width:18px!important;height:18px!important;border:2px solid #ffffff;border-radius:999px;background:#475569;box-shadow:0 2px 8px rgba(16,42,50,.28)}.admin-business-pin-food{background:#0f766e}.admin-business-pin-lodging{background:#4f46e5}.admin-business-pin-shop{background:#9a5b13}.admin-business-pin-service{background:#475569}.admin-places-table td:last-child{min-width:260px}.brand-hero{align-content:start}.hero-logo{width:min(100%,320px);height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.hero-copy{display:grid;grid-gap:8px;gap:8px}.trust-row{display:flex;gap:8px;flex-wrap:wrap}.action-grid{grid-template-columns:1fr}.app-action-grid{grid-template-columns:1fr 1fr}.app-action-grid,.app-action-tile{display:grid;grid-gap:10px;gap:10px}.app-action-tile{min-height:88px;align-content:space-between;padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--app-panel);box-shadow:0 6px 18px rgba(16,42,50,.06)}.app-action-tile strong{color:var(--navy);font-size:15px}.app-action-tile span{color:var(--muted);font-size:12px;line-height:1.25}.app-action-tile-primary{border-color:#8fd8d1;background:var(--seafoam)}.action-card{display:grid;grid-gap:10px;gap:10px}.action-card h2{color:var(--navy);margin-bottom:0}.action-card strong{color:var(--primary)}.primary-action-card{border-color:#b7e4df;background:#f2fffd}.ride-card{gap:13px;border:0;background:var(--app-panel);box-shadow:0 8px 24px rgba(16,42,50,.07)}.ride-card-header{display:grid;grid-gap:8px;gap:8px}.ride-card-header h1{font-size:24px;line-height:1.05}.route-summary{display:grid;grid-gap:8px;gap:8px;padding:14px;border:1px solid #b7e4df;border-radius:var(--radius-lg);background:var(--seafoam)}.route-summary strong,.route-total{color:var(--navy);font-weight:900}.route-total{margin-bottom:0;font-size:24px}.route-line{font-weight:800}.boarding-code-card{display:grid;grid-gap:8px;gap:8px;place-items:center;padding:18px;border-radius:var(--radius-xl);background:var(--navy);color:white;text-align:center;box-shadow:var(--shadow-floating)}.boarding-code-card strong{color:var(--seafoam);font-size:52px;line-height:1;letter-spacing:4px}.boarding-code-card em{color:var(--sand);font-style:normal;font-weight:800}.partner-badge{width:min(100%,360px);height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.pwa-page{gap:14px}.app-greeting{display:grid;grid-gap:5px;gap:5px;padding:4px 2px 2px}.app-greeting span{color:var(--primary);font-size:12px;font-weight:900;text-transform:uppercase}.app-greeting h1{margin:0;color:var(--navy);font-size:24px;line-height:1.08}.app-greeting p{margin:0;color:#59676c;font-size:13px;font-weight:700;line-height:1.35}.app-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.app-stat-card{display:grid;grid-gap:4px;gap:4px;min-height:72px;align-content:center;padding:12px;border:1px solid #e1e3e5;border-radius:var(--radius-sm);background:white}.app-stat-card span{color:var(--muted);font-size:11px;font-weight:800}.app-stat-card strong{color:var(--navy);font-size:15px}.pwa-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:rgba(255,255,255,.82)}.pwa-identity strong{min-width:0;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-hero-card h1{color:var(--navy)}.pwa-hero-card{position:relative;overflow:hidden;border:0;background:linear-gradient(145deg,#ffffff,#effbf9);box-shadow:0 8px 24px rgba(16,42,50,.08)}.pwa-hero-card:after{content:"";position:absolute;right:-44px;bottom:-42px;width:150px;height:150px;border:22px solid rgba(0,124,122,.1);border-radius:50%}.pwa-hero-card .hero-logo{width:148px;border-radius:0;box-shadow:none}.pwa-hero-card h1{max-width:280px;font-size:30px;line-height:1.05}.pwa-hero-card>*{position:relative;z-index:1}.app-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 2px 0}.app-section-title h2{margin:0;color:var(--navy);font-size:17px}.app-section-title a{color:var(--primary);font-size:12px;font-weight:900}.admin-dashboard{gap:18px}.admin-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid #dfe7e5}.admin-page-header h1{margin:5px 0 8px}.admin-page-header p{max-width:680px;margin-bottom:0}.admin-kicker{color:#48656a;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.admin-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid #cbd8d8;border-radius:6px;background:#ffffff;color:#243b43;font:inherit;font-size:13px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer}.admin-button:hover{border-color:#9caeae;background:#f8faf9}.admin-button-primary{border-color:#243b43;background:#243b43;color:#ffffff}.admin-button-primary:hover{border-color:#102a32;background:#102a32}.admin-button-danger{border-color:#e4b5b0;color:#a7362e}.admin-button-danger:hover{border-color:#cc8d86;background:#fff7f6}.admin-row-actions{display:inline-flex;align-items:stretch;justify-content:flex-end;overflow:hidden;border:1px solid #cbd8d8;border-radius:6px;background:#ffffff;white-space:nowrap}.admin-table-action{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:0;border-left:1px solid #e4ebea;border-radius:0;background:#ffffff;color:#34464b;font:inherit;font-size:12px;font-weight:800;line-height:1;cursor:pointer}.admin-table-action:first-child{border-left:0}.admin-table-action:hover{background:#f6f8f7;color:#102a32}.admin-table-action-danger{color:#9a2a22}.admin-table-action-danger:hover{background:#fff5f4;color:#82231d}.admin-form-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.admin-summary-tile{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);grid-gap:4px 10px;gap:4px 10px;padding:14px;border:1px solid #dfe7e5;border-radius:var(--radius-sm);background:#ffffff}.admin-summary-tile svg{grid-row:span 2;color:#006f6d}.admin-summary-tile span{color:#617378;font-size:12px;font-weight:800}.admin-summary-tile strong{overflow:hidden;color:#1f343b;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-group,.admin-section-grid{display:grid;grid-gap:14px;gap:14px}.admin-group{padding:18px;border:1px solid #dfe7e5;border-radius:var(--radius-sm);background:#ffffff}.admin-group-header{display:grid;grid-template-columns:36px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.admin-group-header h2{margin:0 0 4px;color:#1f343b;font-size:18px}.admin-group-header p{margin:0;color:#617378;font-size:13px;line-height:1.35}.admin-group-icon{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid #cfdedb;border-radius:var(--radius-sm);color:#006f6d;background:#f4faf8}.admin-link-list{display:grid;border-top:1px solid #edf1f0}.admin-link-list a{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;border-bottom:1px solid #edf1f0;color:#243b43;font-size:14px;font-weight:800}.admin-link-list a:hover{color:#006f6d}.admin-link-list a:after{content:"View";color:#6f7f84;font-size:12px;font-weight:800}@media (min-width:760px){body{display:grid;place-items:center;min-height:100vh;padding:24px}.app-device-pwa{width:min(430px,calc(100vw - 48px));height:min(880px,calc(100vh - 48px));min-height:640px;display:block;overflow:hidden;border:1px solid rgba(16,42,50,.12);border-radius:26px;background:var(--surface);box-shadow:0 22px 60px rgba(16,42,50,.2)}.app-device-admin{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;display:block;padding:0;border:0;border-radius:0;background:#f8faf8;box-shadow:none}.app-device-admin .device-speaker,.device-speaker{display:none}.app-viewport{min-height:0;overflow-y:auto;border-radius:0;background:var(--app-bg)}.app-device-pwa .app-viewport{height:100%;min-height:0;overflow:hidden}.app-device-admin .app-viewport{height:100vh;min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr);overflow:hidden;border-radius:0;background:#f5f7f6}.app-device-admin .topbar{height:100vh;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:18px;padding:22px 16px;border-right:1px solid #dfe7e5;border-bottom:0;background:#ffffff;box-shadow:none}.app-device-admin .brand{align-items:flex-start;padding:0 6px 16px;border-bottom:1px solid #edf1f0;color:#18343d;font-size:15px;line-height:1.2}.app-device-admin .brand-mark{width:30px;height:30px;border-radius:var(--radius-sm)}.app-device-admin nav{display:grid;grid-gap:2px;gap:2px;color:#52666b;font-size:13px}.app-device-admin nav a{min-height:32px;padding:7px 10px;border-left:3px solid transparent;border-radius:6px;color:#52666b}.app-device-admin .active-link,.app-device-admin nav a:hover{color:#083d42;background:#eef6f5;border-left-color:var(--primary)}main{width:calc(100% - 28px);padding:18px 0 38px}.app-device-pwa .pwa-main{width:100%;padding:14px 14px 18px}.app-device-admin main{width:min(1280px,calc(100% - 64px));height:100vh;overflow-y:auto;margin:0 auto;padding:30px 0 56px}.app-device-admin .page{gap:18px}.app-device-admin .hero h1,.app-device-admin .page h1{font-size:30px;line-height:1.08}.app-device-admin .grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.app-device-admin .card{padding:18px;border-color:#dfe7e5;box-shadow:none}.app-device-admin .card,.app-device-admin .table{border-radius:var(--radius-sm)}.app-device-admin .table td,.app-device-admin .table th{padding:10px 12px}.app-device-admin .admin-places-table td,.app-device-admin .admin-places-table th{vertical-align:middle}.app-device-admin .admin-places-table td:last-child,.app-device-admin .admin-places-table th:last-child{width:1%;min-width:236px;text-align:right}.app-device-admin .status-good,.app-device-admin .status-neutral{color:#174247;background:#eef6f5}.app-device-admin .status-warn{color:#684900;background:#fff7db}.app-device-admin .status-bad{color:#9a2a22;background:#fff0ee}.app-device-admin input,.app-device-admin select,.app-device-admin textarea{min-height:44px;border-radius:var(--radius-sm)}.app-device-admin .btn,.app-device-admin button{min-height:34px;padding:0 12px;border-color:#cbd8d8;border-radius:6px;background:#ffffff;color:#243b43;font-size:13px;font-weight:800}.app-device-admin .btn-primary,.app-device-admin button[type=submit]{border-color:#243b43;background:#243b43;color:#ffffff}.app-device-admin .btn-secondary{border-color:#cbd8d8;background:#ffffff;color:#243b43}.app-device-admin .btn-danger{border-color:#e4b5b0;background:#ffffff;color:#a7362e}.app-device-admin .btn-compact,.app-device-admin .row-actions .btn,.app-device-admin .row-actions button,.app-device-admin button.btn-compact{min-height:34px;padding:0 10px;font-size:12px}.app-device-admin .admin-button{min-height:34px;padding:0 12px;border-radius:6px}.app-device-admin .admin-button-primary{border-color:#243b43;background:#243b43;color:#ffffff}.app-device-admin .admin-table-action{min-height:30px;padding:0 10px;border-top:0;border-right:0;border-bottom:0;border-radius:0;background:#ffffff;font-size:12px}.app-device-admin .admin-map-canvas{height:390px}.app-device-admin .admin-map-result{min-height:0;align-items:start;justify-content:start;padding:10px;background:#ffffff;color:#243b43;font-size:13px}.hero{padding:34px 0}.hero h1,.page h1{font-size:40px}}@media (max-width:720px){.install-main{padding:14px}.install-panel{grid-template-columns:1fr;min-height:calc(100vh - 28px);gap:20px;padding:20px}.install-logo{width:min(100%,280px)}.install-copy h1{font-size:38px}.install-copy p{font-size:16px}.install-actions .btn,.install-actions button{width:100%}.admin-map-header,.admin-page-header,.collection-header,.data-panel-header,.topbar{align-items:flex-start;flex-direction:column}.admin-header-actions{width:100%}.admin-header-actions .admin-button,.admin-header-actions .btn{flex:1 1 160px}.admin-map-tools,.admin-section-grid,.admin-summary-grid{grid-template-columns:1fr}.admin-map-overlay-actions,.admin-map-search-row{width:100%}.admin-map-overlay-actions .admin-button,.admin-map-search-row .admin-button{flex:1 1 auto}.app-device-pwa{min-height:100dvh;width:100%}.app-device-pwa .app-viewport{min-height:100dvh;height:100dvh;border-radius:0}main{width:min(100% - 20px,1120px);padding-top:18px}.app-device-pwa .pwa-main{width:100%;padding:14px 14px 18px}.hero h1,.page h1{font-size:36px}.pwa-hero-card h1,.ride-card-header h1{font-size:29px}}@media (orientation:landscape) and (pointer:coarse) and (max-height:520px){.app-device-pwa .orientation-lock{position:absolute;inset:0;z-index:100;display:grid;place-items:center;align-content:center;grid-gap:8px;gap:8px;padding:28px;background:var(--navy);color:white;text-align:center}.orientation-lock img{width:54px;height:54px;border-radius:14px;background:white}.orientation-lock strong{font-size:20px}.orientation-lock span{max-width:240px;color:var(--sand);font-size:13px;font-weight:700}}