.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;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.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{width:auto;padding:0;max-width:none!important;max-height:none!important}.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:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.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{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.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{-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{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{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position: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:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.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-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.3muxcl8sz6330.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.23wrxu3xxu9-i.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{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.1le94j_pe_ih1.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;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{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.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{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.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{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.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{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;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{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
:root{--bg:#f8fafc;--bg-subtle:#f1f5f9;--panel:#fff;--panel-soft:#f8fafb;--panel-elevated:#fff;--text:#0f172a;--text-secondary:#334155;--muted:#64748b;--muted-soft:#94a3b8;--line:#e2e8f0;--line-strong:#cbd5e1;--primary:#0f766e;--primary-light:#14b8a6;--primary-soft:#ccfbf1;--primary-dark:#115e59;--accent:#2563eb;--accent-light:#60a5fa;--success:#059669;--success-soft:#d1fae5;--warning:#d97706;--warning-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--info:#0284c7;--info-soft:#e0f2fe;--sidebar:#0f172a;--sidebar-soft:#1e293b;--sidebar-hover:#334155;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-glow:0 0 20px #0f766e26;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.workspace-shell{grid-template-columns:292px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#f8fafc;border-right:1px solid #0b1220;height:100vh;padding:20px 16px;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;padding:4px 4px 18px;display:flex}.brand-mark{width:42px;height:42px;color:var(--sidebar);letter-spacing:0;background:#fff;border-radius:8px;place-items:center;font-weight:900;display:grid}.brand-logo-mark{background:#fff;border:1px solid #94a3b847;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.brand-logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{color:#a7b1c2;font-size:12px}.workspace-switcher,.nav-list,.action-list,.mini-map{gap:6px;display:grid}.workspace-switcher{border-bottom:1px solid #ffffff1a;grid-template-columns:1fr;margin-bottom:18px;padding-bottom:18px}.workspace-switcher button,.nav-list button{color:#dbe4ef;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-height:38px;padding:9px 10px;display:flex}.workspace-switcher button:hover,.workspace-switcher button.active,.nav-list button:hover,.nav-list button.active{background:var(--sidebar-soft);color:#fff;border-color:#ffffff14}.nav-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{align-content:start;gap:18px;min-width:0;padding:24px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3,p{margin:0}h1{margin-top:4px;font-size:30px;line-height:1.12}h2{font-size:24px;line-height:1.15}h3{font-size:16px;line-height:1.2}p{color:var(--muted);line-height:1.45}.api-pill{border:1px solid var(--line);background:var(--panel);min-height:36px;color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.api-pill.online{color:var(--success);background:#ecfdf5;border-color:#04785742}.api-pill.offline{color:var(--danger);background:#fef2f2;border-color:#b91c1c42}.auth-strip{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:12px;display:grid}.login-form,.session-box,.panel,.metric-tile{background:var(--panel);border:1px solid var(--line);border-radius:8px}.login-form{grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:10px;padding:12px;display:grid}label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:600;display:grid}input,textarea,select{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);width:100%;color:var(--text);transition:all var(--transition-normal);background:#fff;outline:none}input{min-height:42px;padding:10px 14px;font-size:14px}input::placeholder{color:var(--muted-soft)}input:hover,textarea:hover,select:hover{border-color:var(--line-strong)}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a, var(--shadow-md);transform:translateY(-1px)}textarea{resize:vertical;min-height:170px;padding:14px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;min-height:42px;padding:10px 40px 10px 14px;font-size:14px}select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f766e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.login-form button,.wide-button,.icon-button,.action-list button,.mini-map button{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--transition-normal);cursor:pointer;background:#fff;font-size:13px;font-weight:600}.login-form button:hover,.wide-button:hover,.icon-button:hover,.action-list button:hover,.mini-map button:hover{background:var(--bg-subtle);border-color:var(--line-strong);box-shadow:var(--shadow-md);color:var(--text);transform:translateY(-1px)}.login-form button:active,.wide-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.login-form button,.wide-button{background:linear-gradient(135deg, var(--primary) 0%, #0d9488 100%);border-color:var(--primary);color:#fff;min-height:42px;box-shadow:var(--shadow-md), 0 0 0 0 #0f766e00;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex}.login-form button:hover,.wide-button:hover{background:linear-gradient(135deg, #0d9488 0%, var(--primary-light) 100%);box-shadow:var(--shadow-lg), var(--shadow-glow)}button:disabled{cursor:not-allowed;opacity:.55}.session-box{align-items:center;gap:10px;padding:12px;display:flex}.session-box strong,.session-box span{display:block}.session-box span{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-tile{gap:6px;padding:14px;display:grid}.metric-tile span{color:var(--muted);font-size:12px;font-weight:700}.metric-tile strong{overflow-wrap:anywhere;font-size:22px;line-height:1.1}.workbench{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px;display:grid}.panel{padding:16px}.primary-panel{min-width:0}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel-head.compact{margin-bottom:10px}.icon-button{flex:none;place-items:center;width:38px;height:38px;display:grid}.coverage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.coverage-item{border:1px solid var(--line);background:var(--panel-soft);color:#334155;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:8px 10px;font-size:13px;display:flex}.notice{border-radius:var(--radius-md);color:#1e3a8a;transition:all var(--transition-normal);background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;align-items:flex-start;gap:10px;margin-bottom:12px;padding:14px 16px;font-size:13px;font-weight:500;display:flex}.notice:hover{box-shadow:var(--shadow-sm)}.notice svg{flex-shrink:0;margin-top:1px}.notice.error{color:var(--danger);background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-color:#fecaca}.notice.success{color:var(--success);background:linear-gradient(135deg,#f0fdf4 0%,#d1fae5 100%);border-color:#bbf7d0}.notice.warning{color:var(--warning);background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#fef3c7}.empty-state{min-height:390px;color:var(--muted);text-align:center;border:2px dashed var(--line);border-radius:var(--radius-lg);background:var(--bg-subtle);transition:all var(--transition-normal);align-content:center;place-items:center;gap:12px;padding:40px 24px;display:grid}.empty-state:hover{border-color:var(--primary-soft);background:var(--panel-soft)}.empty-state strong{color:var(--text);font-size:16px;font-weight:700}.empty-state svg{color:var(--muted-soft);opacity:.5}.data-area{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:390px;overflow:hidden}.table-wrap{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);overflow:auto}table{border-collapse:separate;table-layout:fixed;border-spacing:0;width:100%}thead{background:linear-gradient(180deg, var(--bg-subtle) 0%, var(--bg) 100%);z-index:1;position:sticky;top:0}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;text-overflow:ellipsis;transition:background var(--transition-fast);padding:14px 16px;font-size:13px;overflow:hidden}th{background:var(--bg-subtle);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700;position:relative}th:after{content:"";background:var(--line);width:1px;height:16px;position:absolute;top:50%;right:0;transform:translateY(-50%)}th:last-child:after{display:none}tbody tr{transition:all var(--transition-fast)}tbody tr:hover{background:var(--bg-subtle)}tbody tr:hover td{color:var(--text)}td{color:var(--text-secondary)}tr:last-child td{border-bottom:0}tbody tr:nth-child(2n){background:#f8fafc80}tbody tr:nth-child(2n):hover{background:var(--bg-subtle)}.status-chip{border-radius:var(--radius-full);background:var(--success-soft);min-height:26px;color:var(--success);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.status-chip.warning,.status-chip.pending{background:var(--warning-soft);color:var(--warning)}.status-chip.danger,.status-chip.error{background:var(--danger-soft);color:var(--danger)}.status-chip.info{background:var(--info-soft);color:var(--info)}.status-chip{min-height:24px;color:var(--success);background:#ecfdf5;border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;font-weight:800;display:inline-flex}.json-preview{color:#0f172a;min-height:390px;margin:0;padding:14px;font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.empty-state{min-height:390px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:24px;display:grid}.empty-state strong{color:var(--text)}.right-rail{gap:14px;display:grid}.action-list button,.mini-map button{text-align:left;background:#fff;align-items:center;gap:8px;min-height:34px;padding:8px 9px;display:flex}.action-list button:hover,.mini-map button:hover,.mini-map button.active{color:var(--primary-strong);background:#f0fdfa;border-color:#0f766e59}.wide-button{width:100%;margin-top:10px}.mini-map{max-height:360px;overflow:auto}.mini-map button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spin{animation:.9s linear infinite spin}.login-portal,.access-gate{background:linear-gradient(180deg, #f8fafcf0, #eaf1f8f5), var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.login-shell{gap:22px;width:min(1120px,100%);display:grid}.login-header,.login-brand{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-logo{align-items:center;min-width:210px;height:54px;display:inline-flex}.login-logo img{width:206px;height:auto;display:block}.login-header-status{border:1px solid var(--line);color:#1e3a8a;background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:8px 11px;font-size:13px;font-weight:800;display:inline-flex}.login-brand strong,.login-brand span{display:block}.login-brand span{color:var(--muted);font-size:13px}.login-product{grid-template-columns:minmax(0,1fr) 440px;align-items:stretch;gap:22px;display:grid}.login-copy{border:1px solid var(--line);background:linear-gradient(#ffffffad,#fffffff2),url(/branding/logos/logo-mark.svg) right 34px top 34px/170px no-repeat,#fff;border-radius:8px;align-content:end;min-height:620px;padding:36px;display:grid}.login-copy h1{color:#0f172a;max-width:680px;margin-top:8px;font-size:42px;line-height:1.04}.login-copy p{color:#475569;max-width:620px;margin-top:14px;font-size:16px}.login-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:640px;margin-top:28px;display:grid}.login-proof{border:1px solid var(--line);color:#334155;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:9px 11px;font-size:13px;font-weight:800;display:flex}.login-card,.access-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.login-panel{align-content:start;gap:16px;min-height:620px;display:grid;box-shadow:0 18px 50px #0f172a14}.login-panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.login-panel-head h2{margin-top:4px;font-size:22px}.workspace-choice{gap:9px;display:grid}.workspace-choice button{border:1px solid var(--line);min-height:70px;color:var(--text);text-align:left;background:#fff;border-radius:8px;align-items:flex-start;gap:11px;padding:13px;display:flex}.workspace-choice button span,.workspace-choice button strong,.workspace-choice button small{display:block}.workspace-choice button strong{font-size:14px}.workspace-choice button small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.workspace-choice button.active,.workspace-choice button:hover{color:#1e3a8a;background:#eff6ff;border-color:#1e3a8a52}.login-target{color:var(--muted);background:#f8fafc;border-radius:8px;gap:10px;margin-top:14px;padding:12px;display:flex}.login-target strong,.login-target span{display:block}.login-target strong{color:var(--text)}.login-target span{margin-top:3px;font-size:13px}.login-panel-form{align-content:start;gap:12px;display:grid}.login-panel-form label{gap:6px}.login-panel-form input{background:#f8fafc;border-color:#cbd5e1;min-height:42px}.login-panel-form button,.logout-button,.access-panel a{color:#fff;background:#1e3a8a;border:1px solid #1e3a8a;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.login-error{color:var(--danger);font-size:13px;font-weight:700}.login-message{color:var(--success);font-size:13px;font-weight:700}.session-strip{grid-template-columns:minmax(0,1fr) auto}.logout-button{color:var(--text);border-color:var(--line-strong);background:#fff;align-self:stretch}.access-gate{align-content:center;gap:18px}.access-panel{justify-items:start;gap:12px;width:min(460px,100%);display:grid}.access-panel p{margin-bottom:6px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1180px){.workspace-shell{grid-template-columns:240px minmax(0,1fr)}.auth-strip,.workbench{grid-template-columns:1fr}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.workspace-shell{display:block}.sidebar{height:auto;max-height:none;position:relative}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.panel-head{display:grid}.login-form,.login-grid,.login-product,.metric-grid,.coverage-grid,.right-rail{grid-template-columns:1fr}.login-copy,.login-panel{min-height:auto}.login-copy{padding:24px}.login-copy h1{font-size:30px}.session-strip{grid-template-columns:1fr}}@media (max-width:560px){.main{padding:16px}.nav-list{grid-template-columns:1fr}h1{font-size:25px}h2{font-size:21px}.login-portal,.access-gate{padding:14px}.login-header{flex-direction:column;align-items:flex-start}.login-proof-grid{grid-template-columns:1fr}}.agency-app{background:#f5f7fb;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.agency-sidebar{color:#fff;background:#0f172a;flex-direction:column;gap:20px;height:100vh;padding:18px;display:flex;position:sticky;top:0;overflow:hidden}.agency-logo{background:#fff;border-radius:8px;width:170px;height:auto;padding:8px}.agency-sidebar-title{gap:3px;display:grid}.agency-sidebar-title strong{font-size:15px}.agency-sidebar-title span{color:#b7c3d0;font-size:12px}.agency-sidebar nav{gap:4px;padding-right:2px;display:grid;overflow:auto}.agency-sidebar nav button,.agency-logout{border-radius:var(--radius-md);color:#cbd5e1;text-align:left;min-height:44px;transition:all var(--transition-normal);background:0 0;border:1px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:500;display:flex;position:relative;overflow:hidden}.agency-sidebar nav button:before{content:"";background:var(--primary-light);width:3px;height:0;transition:height var(--transition-normal);border-radius:0 2px 2px 0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.agency-sidebar nav button:hover{color:#f1f5f9;background:#ffffff14;padding-left:18px}.agency-sidebar nav button.active{color:#fff;background:#0f766e33;font-weight:600}.agency-sidebar nav button.active:before{height:24px}.agency-sidebar nav button svg{transition:transform var(--transition-normal);flex-shrink:0}.agency-sidebar nav button:hover svg{color:var(--primary-light);transform:scale(1.1)}.agency-logout{border-color:#ffffff1f;flex:none;margin-top:auto}.agency-main{align-content:start;gap:16px;min-width:0;padding:24px;display:grid}.agency-topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.agency-topbar h1{font-size:30px}.agency-topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.agency-refresh,.agency-row button,.agency-form button,.agency-gate a{color:#fff;background:#1e3a8a;border:1px solid #1e3a8a;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 12px;font-weight:800;text-decoration:none;display:inline-flex}.agency-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.agency-kpis div,.agency-panel{border:1px solid var(--line);border-radius:var(--radius-lg);transition:all var(--transition-smooth);background:#fff}.agency-kpis div{gap:8px;padding:20px;display:grid;position:relative;overflow:hidden}.agency-kpis div:before{content:"";background:linear-gradient(180deg, var(--primary) 0%, var(--primary-light) 100%);opacity:0;width:4px;height:100%;transition:opacity var(--transition-normal);position:absolute;top:0;left:0}.agency-kpis div:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-soft);transform:translateY(-2px)}.agency-kpis div:hover:before{opacity:1}.agency-kpis span{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.agency-kpis strong{background:linear-gradient(135deg, var(--text) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800}.agency-scope{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.agency-scope span,.agency-scope button{color:#334155;background:#f8fafc;border:1px solid #dbe3ee;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.agency-scope button{cursor:pointer}.agency-scope button.active{color:#1e3a8a;background:#dbeafe;border-color:#2563eb}.agency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.agency-work-grid{grid-template-columns:360px minmax(0,1fr);gap:14px;display:grid}.agency-panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-smooth);background:#fff;align-content:start;gap:16px;padding:20px;display:grid}.agency-panel:hover{box-shadow:var(--shadow-lg)}.agency-panel.wide{grid-column:1/-1;min-width:0}.agency-panel>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:14px;display:flex}.agency-panel>header svg{color:var(--primary);transition:transform var(--transition-normal)}.agency-panel:hover>header svg{transform:scale(1.1)}.agency-panel h2{color:var(--text);font-size:18px;font-weight:700}.agency-form-section{border:1px solid var(--line);border-radius:var(--radius-md);background:#fafbfc;gap:12px;padding:16px;display:grid}.agency-form-section-title strong{color:var(--text);font-size:14px}.agency-form{gap:10px;display:grid}.agency-form-section{border:1px solid var(--line);background:#fbfdff;border-radius:8px;gap:10px;padding:12px;display:grid}.agency-pool-toolbar{grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.agency-pool-toolbar label{gap:6px;display:grid}.agency-pool-toolbar label span{color:var(--muted);font-size:12px;font-weight:900}.agency-pool-toolbar input{border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:38px;padding:9px 10px}.agency-pool-toolbar button{color:#1e3a8a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;font-weight:900}.agency-form-section-title{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.agency-form-section-title strong,.agency-form-section-title span{display:block}.agency-form-section-title strong{font-size:13px}.agency-form-section-title span{color:var(--muted);text-align:right;font-size:12px;font-weight:700}.agency-form-note,.agency-detail-help{color:#0f3f61;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;gap:4px;padding:11px;display:grid}.agency-form-note strong,.agency-detail-help strong{font-size:13px}.agency-form-note span,.agency-detail-help span{color:#31556c;font-size:12px;line-height:1.45}.agency-form .two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.agency-form .three{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.agency-form input,.agency-form textarea,.agency-form select,.agency-search input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;min-height:40px;padding:8px 10px}.agency-form textarea{min-height:86px}.geo-combobox,.map-location-section{position:relative}.geo-coverage-summary{color:#334155;background:#f8fafc;border:1px solid #dbe4f0;border-radius:8px;gap:5px;padding:10px 12px;font-size:12px;line-height:1.45;display:grid}.geo-coverage-summary strong{color:#0f172a;font-size:12px}.geo-coverage-summary span,.geo-coverage-summary em{color:#475569;font-style:normal}.geo-combobox-menu{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;max-height:220px;display:grid;position:absolute;overflow:auto;box-shadow:0 14px 28px #0f172a1f}.geo-combobox-menu button,.geo-combobox-empty{width:100%;min-height:38px;color:var(--text);text-align:left;background:#fff;border:0;padding:9px 10px;font-weight:700;display:block}.geo-combobox-menu button:hover,.geo-combobox-menu button[aria-selected=true]{color:#1e3a8a;background:#eef4ff}.geo-combobox-empty{color:var(--muted);gap:8px;display:grid}.map-picker-surface{cursor:crosshair;background:#eef6f4;border:1px solid #cbd5e1;border-radius:8px;min-height:240px;position:relative;overflow:hidden}.map-picker-grid{background-image:linear-gradient(#0f172a14 1px,#0000 1px),linear-gradient(90deg,#0f172a14 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.map-picker-pin{background:#dc2626;border:3px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #0f172a47}.map-picker-empty{color:#475569;text-align:center;place-items:center;padding:18px;font-size:13px;font-weight:800;display:grid;position:absolute;inset:0}.field-caption{color:#1f2937;margin-bottom:6px;font-size:13px;font-weight:800;display:block}.agency-check{color:#334155;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.agency-check input{width:16px;min-height:16px}.agency-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.portfolio-feature-tag-groups{gap:10px;display:grid}.portfolio-feature-tag-group{background:#fff;border:1px solid #dbe4f0;border-radius:8px;gap:8px;min-width:0;padding:10px;display:grid}.portfolio-feature-tag-group legend{color:#1e3a8a;padding:0 4px;font-size:12px;font-weight:900}.portfolio-feature-tag-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portfolio-feature-tag-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agency-search{border:1.5px solid var(--line);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#fff;align-items:center;gap:10px;padding:10px 14px;display:flex}.agency-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a}.agency-search svg{color:var(--muted-soft);transition:color var(--transition-normal)}.agency-search:focus-within svg{color:var(--primary)}.agency-search input{min-height:28px;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:14px}.agency-search input::placeholder{color:var(--muted-soft)}.portfolio-list-filter{align-items:stretch}.portfolio-list-filter select{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(240px,100%);min-height:32px;padding:4px 8px;font-weight:800}.portfolio-feature-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.portfolio-feature-badges span{border-radius:var(--radius-full);color:#1e3a8a;white-space:nowrap;max-width:180px;min-height:24px;transition:all var(--transition-normal);background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.portfolio-feature-badges span:hover{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);transform:translateY(-1px)}.agency-row-actions button{border-radius:var(--radius-sm);transition:all var(--transition-fast);padding:6px 12px;font-size:12px;font-weight:600}.agency-row-actions button.secondary{border-color:var(--line-strong);color:var(--text-secondary);background:#fff}.agency-row-actions button.secondary:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}.agency-row-actions button.danger:hover{background:var(--danger-soft);border-color:var(--danger)}.agency-table,.agency-mini-rows,.agency-actions,.agency-city-list{gap:8px;display:grid}.agency-row,.agency-detail-row,.agency-mini-rows>div,.agency-actions>div,.agency-city-list>div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:4px;padding:11px;display:grid}.agency-row{grid-template-columns:minmax(0,1fr) 170px auto;align-items:center}.agency-detail-row{width:100%;color:inherit;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 16px}.agency-detail-row:hover{border-color:var(--primary-soft);background:var(--primary-soft);box-shadow:var(--shadow-md);transform:translate(4px)}.detail-row-content{flex-direction:column;gap:4px;min-width:0;display:flex}.detail-row-content strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.detail-row-content span{color:var(--muted);font-size:12px}.detail-row-status{border-radius:var(--radius-full);background:var(--bg-subtle);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;padding:4px 10px;font-size:11px;font-weight:700}.agency-detail-row:hover .detail-row-status,.detail-row-status.active,.detail-row-status.verified{background:var(--success-soft);color:var(--success)}.detail-row-status.pending,.detail-row-status.draft{background:var(--warning-soft);color:var(--warning)}.detail-row-status.error,.detail-row-status.rejected{background:var(--danger-soft);color:var(--danger)}.agency-detail-row:hover,.agency-row:hover{background:#eff6ff;border-color:#93c5fd}.agency-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.agency-row-actions button.secondary{color:#1e3a8a;background:#fff;border-color:#cbd5e1}.agency-row-actions button.danger{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.edit-form{padding:0}.agency-row strong,.agency-row span,.agency-mini-rows strong,.agency-mini-rows span,.agency-mini-rows em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.agency-row span,.agency-mini-rows span{color:var(--muted);font-size:12px}.agency-mini-rows>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px;align-items:center}.agency-mini-rows em{color:#1e3a8a;text-align:right;font-style:normal;font-weight:800}.agency-detail-backdrop{z-index:50;background:#0f172a61;justify-content:flex-end;display:flex;position:fixed;inset:0}.agency-detail-drawer{background:#fff;align-content:start;gap:16px;width:min(720px,100%);height:100%;padding:20px;display:grid;overflow:auto;box-shadow:-16px 0 40px #0f172a2e}.agency-detail-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.agency-detail-drawer header span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.agency-detail-drawer header h2{font-size:24px}.agency-detail-drawer header p{color:var(--muted)}.agency-detail-drawer header button{min-height:36px;color:var(--text);background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-weight:900}.agency-detail-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.agency-detail-fields div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:5px;min-width:0;padding:11px;display:grid}.agency-detail-fields span{color:var(--muted);font-size:12px;font-weight:900}.agency-detail-fields strong{overflow-wrap:anywhere;font-size:13px;font-weight:800}.agency-detail-json{gap:8px;display:grid}.agency-detail-json h3{font-size:15px}.agency-detail-json pre{border:1px solid var(--line);color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:8px;max-height:360px;padding:12px;font-size:12px;line-height:1.45;overflow:auto}.agency-actions>div{align-items:center;gap:8px;display:flex}.agency-market{grid-template-columns:auto 1fr;gap:5px 10px;display:grid}.agency-market strong{font-size:23px}.agency-market span{color:var(--muted);align-self:center}.agency-alert{border-radius:8px;padding:11px 12px;font-size:13px;font-weight:800}.agency-alert.error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.agency-alert.success{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0}.agency-module-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.agency-module-head span{color:var(--muted);font-size:13px;font-weight:800}.agency-module-head button{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-weight:800;display:inline-flex}.agency-endpoints{gap:10px;display:grid}.agency-endpoint{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:9px;min-width:0;padding:12px;display:grid}.agency-endpoint.error{background:#fef2f2;border-color:#fecaca}.agency-endpoint header{border:0;justify-content:space-between;align-items:flex-start;gap:10px;padding:0;display:flex}.agency-endpoint header div{gap:3px;min-width:0;display:grid}.agency-endpoint strong,.agency-endpoint span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.agency-endpoint span{color:var(--muted);font-size:12px}.agency-endpoint em{color:#1e3a8a;flex:none;font-size:12px;font-style:normal;font-weight:900}.agency-endpoint.error em{color:var(--danger)}.agency-endpoint pre{border:1px solid var(--line);color:#334155;white-space:pre-wrap;word-break:break-word;background:#fff;border-radius:8px;max-height:220px;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.agency-endpoint p{color:var(--danger);font-size:13px;font-weight:700}.agency-empty,.agency-loading,.agency-gate{color:var(--muted)}.agency-loading,.agency-gate{place-items:center;gap:14px;min-height:100vh;padding:24px;display:grid}.agency-gate img{width:230px;height:auto}.agency-gate section{border:1px solid var(--line);background:#fff;border-radius:8px;justify-items:start;gap:12px;width:min(460px,100%);padding:20px;display:grid}@media (max-width:1020px){.agency-app{grid-template-columns:1fr}.agency-sidebar{height:auto;position:relative}.agency-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-work-grid,.agency-grid,.agency-kpis{grid-template-columns:1fr}}@media (max-width:680px){.agency-main{padding:16px}.agency-topbar,.agency-topbar-actions{display:grid}.agency-row,.agency-detail-row,.agency-mini-rows>div,.agency-form .two,.agency-form .three,.agency-check-grid,.portfolio-feature-tag-list,.agency-pool-toolbar,.agency-detail-fields{grid-template-columns:1fr}.portfolio-list-filter,.agency-form-section-title{display:grid}.agency-form-section-title span,.agency-mini-rows em{text-align:left}}.property-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.property-card{background:#fff;border:1px solid #e2e8e4;border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #183d2d06}.property-card-visual{width:100%;height:200px;display:block;position:relative;color:#365647!important;background:#eef3f0!important;border:0!important;border-radius:0!important;padding:0!important}.property-card-visual img,.property-detail-photo img{object-fit:cover;width:100%;height:100%}.listing-photo-empty{color:#5c7568;background:linear-gradient(145deg,#edf2ed,#dce9e2);flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.listing-photo-empty.off-market{color:#e5efe8;background:#183d2d}.property-card-status{color:#234432;background:#ffffffed;border-radius:7px;max-width:90%;padding:6px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px}.property-card-body{padding:18px}.property-price{color:#153e2c;margin:0 0 12px;font-size:22px;font-weight:750}.property-card-title{text-align:left;line-height:1.5;color:#1f2d25!important;background:0 0!important;border:0!important;padding:0!important;font-size:16px!important;font-weight:650!important;display:block!important}.property-location{color:#6d7c72;align-items:center;gap:5px;margin:10px 0;font-size:12px;display:flex}.property-specs{color:#34483a;border-bottom:1px solid #edf1ed;gap:10px;padding:12px 0;font-size:13px;display:flex}.property-card-actions{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.property-card-actions button{padding:8px 10px!important;font-size:11px!important}.listing-contact{flex-direction:column;gap:5px;margin-top:14px;font-size:13px;display:flex}.listing-contact>div{flex-wrap:wrap;gap:12px;margin-top:5px;display:flex}.listing-contact a{color:#216245;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.property-publisher{color:#718176;margin:12px 0 0;font-size:11px;line-height:1.5}.property-detail{padding:20px}.property-detail-photo{border-radius:12px;height:300px;overflow:hidden}.property-detail h3{color:#183d2d;font-size:26px}.property-detail-specs{grid-template-columns:1fr 1fr;gap:12px;display:grid}.property-detail-specs>div{border:1px solid #e3eae4;border-radius:8px;padding:12px}.property-detail-specs dt{color:#728075;font-size:12px}.property-detail-specs dd{margin:5px 0 0;font-weight:600}.property-thumbnails{gap:8px;margin-top:10px;display:flex;overflow:auto}.property-thumbnails button{flex-shrink:0;width:70px;height:52px;overflow:hidden;padding:0!important}.property-thumbnails img{object-fit:cover;width:100%;height:100%}.property-thumbnails [aria-pressed=true]{outline:2px solid #246344}.property-detail-locked{text-align:center;color:#254b36;background:#f0f4f0;border-radius:12px;padding:35px 20px}.property-detail p{white-space:pre-wrap;line-height:1.6}@media (max-width:600px){.property-grid,.property-detail-specs{grid-template-columns:1fr}.property-detail-photo{height:230px}}.geographic-map-canvas{z-index:0;border-radius:12px;width:100%;height:360px}.geographic-map>p{color:#657969;margin:10px 0;font-size:12px}.ahi-map-marker span{background:#185638;border:3px solid #fff;border-radius:50% 50% 50% 0;width:24px;height:24px;display:block;transform:rotate(-45deg);box-shadow:0 2px 8px #0004}.geographic-map .leaflet-control a{color:#193e2a}.geographic-map .leaflet-control-attribution{font-size:10px}.property-filter-bar{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:15px;display:grid}.property-filter-bar label{color:#536658;flex-direction:column;gap:6px;font-size:12px;display:flex}.property-filter-bar input,.property-filter-bar select{color:#23392a;background:#fff;border:1px solid #dce5dd;border-radius:8px;width:100%;padding:10px}.property-result-count{color:#6d7c72;margin:16px 0 0;font-size:12px}@media (max-width:900px){.property-filter-bar{grid-template-columns:repeat(2,1fr)}}.property-card-actions button{color:#233f80;cursor:pointer;background:#eef3fc;border:1px solid #d7e0e9;border-radius:7px;font-weight:600}.property-card-actions button:hover{background:#e1eafa}.property-card-actions button.danger{color:#a63737;background:#fff4f3;border-color:#eed6d4}.property-card-actions button:disabled{opacity:.5;cursor:wait}.property-card button:focus-visible{outline-offset:3px;outline:3px solid #86a9ff}.agency-capacity-table{border-collapse:collapse;text-align:left;width:100%;margin:16px 0;font-size:13px}.agency-capacity-table caption{text-align:left;padding-bottom:10px;font-weight:600}.agency-capacity-table th,.agency-capacity-table td{border-bottom:1px solid #e2e8f0;padding:10px 12px}.agency-capacity-table thead{color:#64748b;background:#f8fafc}.calendar-container{background:var(--panel);border-radius:var(--radius-lg);border:1px solid var(--line);gap:16px;padding:20px;display:grid}.calendar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.calendar-nav{align-items:center;gap:12px;display:flex}.calendar-nav-btn{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal);justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark);transform:scale(1.05)}.calendar-title{color:var(--text);text-align:center;min-width:180px;font-size:18px;font-weight:700}.today-btn{border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-dark);cursor:pointer;transition:all var(--transition-normal);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.today-btn:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-1px)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday{text-align:center;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:10px;font-size:11px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{border-radius:var(--radius-md);background:var(--bg-subtle);cursor:pointer;min-height:80px;transition:all var(--transition-fast);border:1px solid #0000;padding:8px}.calendar-day:hover{background:var(--panel);border-color:var(--primary-soft);box-shadow:var(--shadow-sm)}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:var(--primary-soft);border-color:var(--primary)}.calendar-day.today .day-number{background:var(--primary);color:#fff}.calendar-day.selected{background:var(--panel);border-color:var(--primary);box-shadow:var(--shadow-md), 0 0 0 2px var(--primary-soft)}.day-number{width:28px;height:28px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.day-tasks{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.task-dot{border-radius:var(--radius-full);background:var(--primary-soft);cursor:pointer;transition:all var(--transition-fast);border:1px solid;align-items:center;gap:4px;padding:2px 6px;display:flex}.task-dot:hover{box-shadow:var(--shadow-sm);transform:scale(1.1)}.task-dot-indicator{background:var(--primary);border-radius:50%;width:6px;height:6px}.task-dot.bg-danger-soft{background:var(--danger-soft);border-color:var(--danger)}.task-dot.bg-danger-soft .task-dot-indicator{background:var(--danger)}.task-dot.bg-warning-soft{background:var(--warning-soft);border-color:var(--warning)}.task-dot.bg-warning-soft .task-dot-indicator{background:var(--warning)}.task-dot.bg-primary-soft .task-dot-indicator{background:var(--primary)}.more-tasks{color:var(--muted);padding:2px 4px;font-size:10px;font-weight:600}.selected-day-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-subtle);margin-top:8px;padding:16px}.selected-day-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;display:flex}.selected-day-header h4{color:var(--text);font-size:15px;font-weight:700}.task-count{color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-full);padding:4px 10px;font-size:12px;font-weight:600}.selected-day-tasks{gap:8px;display:grid}.task-item{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);cursor:pointer;transition:all var(--transition-normal);text-align:left;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.task-item:hover{border-color:var(--primary-soft);background:var(--primary-soft);transform:translate(4px)}.task-item-content{flex-direction:column;gap:4px;display:flex}.task-title{color:var(--text);font-size:14px;font-weight:600}.task-type{color:var(--muted);text-transform:capitalize;font-size:11px}.no-tasks{color:var(--muted-soft);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.no-tasks svg{opacity:.4}.no-tasks span{font-size:13px}.view-toggle{background:var(--bg-subtle);border-radius:var(--radius-md);gap:4px;margin-bottom:16px;padding:4px;display:flex}.view-toggle button{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.view-toggle button:hover{color:var(--text-secondary);background:var(--panel)}.view-toggle button.active{background:var(--panel);color:var(--primary);box-shadow:var(--shadow-sm)}.date-input{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);min-height:42px;color:var(--text);transition:all var(--transition-normal);background:#fff;padding:10px 14px;font-size:14px}.date-input:hover{border-color:var(--line-strong)}.date-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0f766e1a, var(--shadow-md);outline:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.5);transition:filter var(--transition-fast)}input[type=date]::-webkit-calendar-picker-indicator:hover{filter:invert(.3)sepia()saturate(5)hue-rotate(170deg)}.date-popup-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.date-popup-modal{background:var(--panel);border-radius:var(--radius-xl);width:min(520px,90vw);max-height:85vh;box-shadow:var(--shadow-xl), 0 0 0 1px var(--line);flex-direction:column;animation:.3s slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.date-popup-header{background:linear-gradient(135deg, var(--primary-soft) 0%, #f0fdfa 100%);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.date-popup-title{align-items:center;gap:12px;display:flex}.date-popup-title svg{color:var(--primary)}.date-popup-title h3{color:var(--text);font-size:16px;font-weight:700}.date-popup-close{border-radius:var(--radius-md);background:var(--panel);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;display:flex}.date-popup-close:hover{background:var(--danger-soft);color:var(--danger);transform:rotate(90deg)}.date-popup-content{gap:20px;padding:20px 24px;display:grid;overflow-y:auto}.date-popup-section{gap:12px;display:grid}.date-popup-section h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.date-popup-section h4 svg{color:var(--primary)}.date-popup-tasks{gap:8px;display:grid}.date-popup-task{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-subtle);cursor:pointer;transition:all var(--transition-normal);text-align:left;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.date-popup-task:hover{border-color:var(--primary-soft);background:var(--primary-soft);box-shadow:var(--shadow-sm);transform:translate(4px)}.task-info{flex-direction:column;gap:4px;display:flex}.task-info .task-title{color:var(--text);font-size:14px;font-weight:600}.task-info .task-type{color:var(--muted);text-transform:capitalize;align-items:center;gap:4px;font-size:12px;display:flex}.task-priority{border-radius:var(--radius-full);text-transform:uppercase;padding:4px 10px;font-size:11px;font-weight:700}.task-priority.priority-urgent{background:var(--danger-soft);color:var(--danger)}.task-priority.priority-high{background:var(--warning-soft);color:var(--warning)}.task-priority.priority-normal{background:var(--success-soft);color:var(--success)}.date-popup-empty{border:2px dashed var(--line);border-radius:var(--radius-md);color:var(--muted-soft);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px;display:flex}.date-popup-empty svg{opacity:.4}.date-popup-empty span{font-size:13px}.date-popup-form{gap:12px;display:grid}.form-input{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);min-height:44px;color:var(--text);background:var(--panel);transition:all var(--transition-normal);padding:12px 14px;font-size:14px}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-select{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);min-height:44px;color:var(--text);background:var(--panel);cursor:pointer;appearance:none;transition:all var(--transition-normal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:12px 14px;font-size:14px}.form-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0f766e1a}.form-submit{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary) 0%, #0d9488 100%);color:#fff;cursor:pointer;min-height:46px;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:14px;font-weight:700;display:flex}.form-submit:hover{background:linear-gradient(135deg, #0d9488 0%, var(--primary-light) 100%);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-1px)}.form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.agency-back-link{color:#cbd5e1;border-radius:6px;margin:0 0 12px;padding:6px 10px;font-size:13px;text-decoration:none;display:block}.agency-back-link:hover{color:#fff;background:#ffffff14}
