input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;background:#0ea5e9;border:3px solid #ffffff;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0ea5e966;transition:all .2s ease}input[type=range]::-webkit-slider-thumb:hover{background:#0284c7;transform:scale(1.1);box-shadow:0 4px 12px #0ea5e999}input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#0ea5e9;border:3px solid #ffffff;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0ea5e966;transition:all .2s ease}input[type=range]::-moz-range-thumb:hover{background:#0284c7;transform:scale(1.1);box-shadow:0 4px 12px #0ea5e999}.chip{padding:8px 16px;border-radius:999px;border:1px solid rgba(229,231,235,.8);background:#fff;color:#374151;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-container{position:absolute;top:70px;left:0;right:0;bottom:0;width:100%;height:calc(100vh - 70px)}.filter-panel{position:absolute;top:86px;left:16px;z-index:2;width:360px;max-height:calc(100vh - 110px);overflow:auto;background:#fffffffa;border:1px solid rgba(17,24,39,.08);border-radius:16px;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000a;transform-origin:top left;transform:translateY(0) scale(var(--scale, 1));opacity:1;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .32s ease,visibility 0s linear 0s;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:16px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;box-sizing:border-box}.filter-panel.closed{opacity:0;transform:translateY(-8px) translate(-8px) scale(.96);visibility:hidden;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .32s ease,visibility 0s linear .32s;pointer-events:none}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:0 0 12px;border-bottom:1px solid rgba(229,231,235,.6)}.panel-title{font-size:20px;font-weight:700;letter-spacing:-.02em;color:#111827;margin:0}.cluster-popup .maplibregl-popup-content{padding:0!important;border-radius:12px!important;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a!important}.cluster-popup .maplibregl-popup-tip{border-top-color:#fff!important}@media (max-width: 640px){.cluster-popup .maplibregl-popup-content{max-width:90vw!important;font-size:11px!important}}.panel-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.btn{border:1px solid rgba(229,231,235,.8);background:#fff;color:#374151;border-radius:10px;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.btn.ghost:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.btn.close-btn{width:36px;height:36px;border-radius:999px;padding:0;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.btn.close-btn:hover{background:#f3f4f6;border-color:#e5e7eb}.label{font-size:13px;font-weight:600;color:#111827;margin-bottom:8px;display:block}.select{width:100%;height:110px;border-radius:10px;border:1px solid rgba(229,231,235,.8);padding:10px;margin:6px 0 16px;outline:none;box-sizing:border-box;background:#fff;font-size:14px;color:#374151;transition:all .2s ease}.select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input{width:100%;border-radius:10px;border:1px solid rgba(229,231,235,.8);padding:10px 12px;margin-top:6px;outline:none;box-sizing:border-box;background:#fff;font-size:14px;color:#374151;transition:all .2s ease}.input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input::placeholder{color:#9ca3af}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.chips{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.chip{padding:8px 16px;border-radius:999px;border:1px solid rgba(229,231,235,.8);background:#fff;color:#374151;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;box-shadow:0 1px 2px #0f172a0f}.chip:hover{border-color:#d1d5db;background:#f9fafb}.chip.active{border-color:#3b82f6;background:#eff6ff;color:#1e40af}.chip.active:hover{background:#dbeafe}.footnote{margin-top:12px;padding:12px;font-size:12px;color:#6b7280;background:#f9fafbcc;border-radius:10px;line-height:1.5}.fab-open{position:absolute;top:86px;left:16px;z-index:3;background:#111827;color:#fff;border:none;border-radius:999px;padding:12px 18px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:all .2s ease}.fab-dot{width:8px;height:8px;border-radius:50%;background:#60a5fa;box-shadow:0 0 0 3px #60a5fa40;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #60a5fa40}50%{box-shadow:0 0 0 6px #60a5fa26}}.fab-open:hover{background:#1f2937;transform:translateY(-1px);box-shadow:0 6px 16px #0003,0 3px 6px #0000001f}.legend-dot{--sz: 12px;width:var(--sz);height:var(--sz);border-radius:999px;display:inline-block;background:currentColor;border:none;box-shadow:none;filter:none;position:relative}.filter-panel{background:radial-gradient(1200px 700px at 12% -10%,#ffffffe0,#ffffffc7 42%,#c7e3f094),linear-gradient(180deg,#fffffff5,#ffffffeb);border:1px solid rgba(17,24,39,.06);border-radius:22px;box-shadow:0 28px 60px #0206171a,0 6px 14px #0206170f;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);padding:20px}.filter-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;pointer-events:none;background:radial-gradient(900px 500px at 8% 0%,rgba(255,255,255,.65),transparent 60%) no-repeat;mix-blend-mode:screen}.panel-header{padding-bottom:12px;border-bottom:1px solid rgba(229,231,235,.55)}.input,.select{border-radius:14px!important;background:#fff!important;border:1px solid #dce4ee!important;box-shadow:inset 0 1px #fff,0 1px 2px #0f172a0f}.chip{border-radius:999px;box-shadow:0 1px 2px #0f172a0f}.filter-panel .legend-card,.filter-panel .legend,.filter-panel>div[style*=Legend]{background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid rgba(226,232,240,.9)!important;border-radius:18px!important;box-shadow:0 18px 40px #0206171a,0 6px 14px #0206170f!important}.panel-title{letter-spacing:-.01em}.label{color:#111827}:root{--lead:#6b7280;--prospect:#f59e0b;--customer:#10b981;--ring: rgba(59,130,246,.16)}.select:focus,.input:focus{border-color:#3b82f6!important;box-shadow:0 0 0 4px var(--ring)}.checkbox-list{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid #e3ebf5!important;border-radius:12px}.btn.ghost{background:#eef6ff;border-color:#d6e6ff}.btn.ghost:hover{background:#e2efff;border-color:#c7dcff}.chips{gap:14px}.chip{padding:10px 18px;font-weight:700;background:#fffa;border:1px solid rgba(229,231,235,.9);transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.chip:hover{transform:translateY(-1px);box-shadow:0 6px 16px #02061714}.chip.active{background:#fff}.footnote{background:linear-gradient(180deg,#f7fbff,#f4f7fb);border:1px solid #e6edf6;border-radius:14px}.chip--lead{color:var(--lead)}.chip--prospect{color:var(--prospect)}.chip--customer{color:var(--customer)}.chip--lead.active{color:var(--lead);border-color:color-mix(in srgb,var(--lead) 45%,#ffffff);box-shadow:0 10px 22px color-mix(in srgb,var(--lead) 28%,transparent),0 0 0 1px color-mix(in srgb,var(--lead) 55%,#ffffff) inset}.chip--prospect.active{color:var(--prospect);border-color:color-mix(in srgb,var(--prospect) 55%,#ffffff);box-shadow:0 12px 26px color-mix(in srgb,var(--prospect) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--prospect) 50%,#ffffff) inset}.chip--customer.active{color:var(--customer);border-color:color-mix(in srgb,var(--customer) 55%,#ffffff);box-shadow:0 12px 26px color-mix(in srgb,var(--customer) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--customer) 50%,#ffffff) inset}.input--elev{border-radius:14px!important;border:1px solid #dce4ee!important;background:linear-gradient(180deg,#fff,#fbfbfd)!important;box-shadow:inset 0 1px #fff,0 1px 2px #0f172a0f;transition:box-shadow .2s ease,border-color .2s ease,transform .12s ease}.input-icon{position:absolute;left:14px;top:55%;width:18px;height:18px;color:#9aa5b1;opacity:.9;pointer-events:none}.input--elev:focus{border-color:#3b82f6!important;box-shadow:0 0 0 4px #3b82f61f,0 10px 22px #02061714,inset 0 1px #fff}@media (hover:hover){.input--elev:hover{border-color:#cdd7e5!important;box-shadow:0 6px 16px #0206170f,inset 0 1px #fff}}.zip-field .input-icon{color:#60a5fa}.calendar-field .input-icon{color:#a78bfa}.grid-2 .input-wrap .input--elev{height:48px}.date-fields-vertical{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.date-fields-vertical .input-wrap{width:100%;position:relative}.date-fields-vertical .label{margin-bottom:6px;display:inline-block}.date-fields-vertical .input--elev{height:48px;border-radius:14px!important;background:linear-gradient(180deg,#fff,#fbfbfd);transition:box-shadow .2s ease,border-color .2s ease}.input-wrap{position:relative}.with-icon{padding-left:46px}.input-icon{position:absolute;left:14px;width:18px;height:18px;opacity:.9;pointer-events:none}.search-icon{top:50%;transform:translateY(-56%);color:#6094ff}.calendar-icon{top:65%;transform:translateY(-44%);color:#9b6bff}@media (max-width: 480px){.search-icon{transform:translateY(-54%)}.calendar-icon{transform:translateY(-42%)}}.crm-sidebar{position:fixed;left:0;top:0;height:100vh;width:48px;background:#1e293b;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:12px;transition:width .3s ease;z-index:101;overflow:hidden}.sidebar-top,.sidebar-bottom{display:flex;flex-direction:column;gap:4px}.sidebar-icon-btn{display:flex;align-items:center;gap:12px;padding:12px;margin:0 8px;background:transparent;border:none;border-left:3px solid transparent;border-radius:6px;color:#ffffffb3;cursor:pointer;transition:all .2s ease;white-space:nowrap}.sidebar-icon-btn:hover{background:#ffffff0d;color:#fff}.sidebar-label{font-size:14px;font-weight:500}@media (max-width: 768px){.crm-sidebar{width:40px}.crm-sidebar.expanded{width:200px}}.crm-header{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 32px 0 72px;z-index:100;transition:padding-left .3s ease}.app-layout-main.sidebar-expanded .crm-header{padding-left:244px}.crm-logo{width:40px;height:40px;object-fit:contain}.crm-header-title h1{margin:0;font-size:18px;font-weight:700;color:#111827}.crm-header-title p{margin:0;font-size:12px;color:#6b7280}.crm-nav{display:flex;gap:8px;flex:1}.nav-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid transparent;border-radius:6px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-button:hover{background:#f3f4f6;color:#111827}.nav-button.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.nav-button svg{flex-shrink:0}.user-menu-container{position:relative;margin-left:16px}.user-menu-button{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid #e5e7eb;background:#fff;border-radius:20px;cursor:pointer;transition:all .2s ease}.user-menu-button:hover{background:#f9fafb;border-color:#d1d5db}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-menu-chevron{color:#6b7280;transition:transform .2s ease}.user-menu-button:hover .user-menu-chevron{color:#374151}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a,0 4px 12px #0000000f;z-index:1000;animation:dropdownSlideIn .2s ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.user-dropdown-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.user-dropdown-info{flex:1;min-width:0}.user-dropdown-email{font-size:14px;font-weight:600;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-label{font-size:12px;color:#6b7280;margin:2px 0 0}.user-dropdown-divider{height:1px;background:#e5e7eb;margin:8px 0}.user-dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 16px;border:none;background:transparent;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.user-dropdown-item:first-of-type{border-radius:0}.user-dropdown-item:hover{background:#f9fafb;color:#111827}.user-dropdown-item svg{color:#6b7280;flex-shrink:0}.user-dropdown-item:hover svg{color:#3b82f6}.user-dropdown-logout{color:#ef4444;margin:0}.user-dropdown-logout:hover{background:#fef2f2;color:#dc2626}.user-dropdown-logout svg{color:#ef4444}.user-dropdown-logout:hover svg{color:#dc2626}@media (max-width: 768px){.crm-header{left:40px;padding:0 16px}.crm-sidebar.expanded~.crm-header{left:200px}.crm-nav{display:none}.crm-header-title h1{font-size:16px}.crm-logo{width:32px;height:32px}.user-menu-container{margin-left:8px}.user-dropdown{width:220px}}@media (max-width: 480px){.crm-header-title p{display:none}.user-menu-button{padding:4px 8px 4px 4px}.user-avatar{width:28px;height:28px;font-size:12px}.user-dropdown{width:200px}.user-dropdown-header{padding:12px}.user-dropdown-avatar{width:36px;height:36px;font-size:14px}.user-dropdown-email{font-size:13px}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.settings-modal{background:#fff;border-radius:12px;width:1000px;max-width:90%;height:600px;max-height:85vh;display:flex;flex-direction:row;box-shadow:0 20px 50px #00000026;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.settings-sidebar{width:280px;height:600px;background:#f9fafb;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0}.settings-sidebar-header{padding:20px;border-bottom:1px solid #e5e7eb}.settings-modal-close{width:36px;height:36px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.settings-modal-close:hover{background:#e5e7eb;color:#111827}.settings-nav{flex:1;overflow-y:auto;padding:8px}.settings-nav-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;text-align:left;margin-bottom:4px}.settings-nav-item:hover{background:#e5e7eb;color:#374151}.settings-nav-item.active{background:#fff;color:#3b82f6;font-weight:600;box-shadow:0 1px 3px #00000014}.settings-nav-item svg{flex-shrink:0}.settings-nav-item.active svg{color:#3b82f6}.settings-content{flex:1;height:600px;display:flex;flex-direction:column;overflow:hidden}.settings-content-header{padding:24px 32px;border-bottom:1px solid #e5e7eb;flex-shrink:0;text-align:center}.settings-content-header h2{margin:0;font-size:24px;font-weight:700;color:#111827}.settings-content-body{flex:1;overflow-y:auto;padding:32px 48px;min-height:0}.settings-group{margin-bottom:40px;width:100%}.settings-group:last-child{margin-bottom:0}.settings-group-title{font-size:12px;font-weight:700;color:#111827;text-transform:uppercase;letter-spacing:1px;margin:0 0 24px;text-align:left}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #e5e7eb}.settings-item:last-child{border-bottom:none}.settings-item-info{flex:1;min-width:0;text-align:left}.settings-item-info label{display:block;font-size:15px;font-weight:600;color:#111827;margin-bottom:6px}.settings-item-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.settings-item-value{font-size:14px;color:#6b7280;margin:0}.integration-header{display:flex;align-items:center;gap:12px;justify-content:flex-start;margin-bottom:8px}.integration-header svg{flex-shrink:0}.integration-header label{margin-bottom:0!important}.connection-status{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-top:10px;padding:6px 12px;background:#ecfdf5;border-radius:12px;display:inline-flex}.connection-status .status-text{font-size:13px;font-weight:600;color:#10b981}.settings-btn-primary{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.settings-btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.settings-btn-primary:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.settings-btn-secondary{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.settings-btn-secondary:hover{background:#e5e7eb;color:#111827}.settings-btn-danger{padding:8px 16px;background:#fef2f2;color:#ef4444;border:1px solid #fecaca;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.settings-btn-danger:hover{background:#fee2e2;color:#dc2626}.settings-select{padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s ease;min-width:200px;max-width:250px}.settings-select:hover{border-color:#d1d5db}.settings-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.settings-toggle{position:relative;display:inline-block;width:48px;height:26px;cursor:pointer}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#d1d5db;border-radius:26px;transition:all .3s ease}.settings-toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s ease}.settings-toggle input:checked+.settings-toggle-slider{background:#3b82f6}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(22px)}.settings-danger-zone{border:1px solid #fecaca;border-radius:8px;padding:16px;background:#fef2f2}.settings-danger-zone .settings-section-title{color:#ef4444;margin-bottom:12px}.settings-danger-zone .settings-item{border-bottom:none;padding:8px 0}@media (max-width: 768px){.settings-modal{width:95%;height:90vh;max-height:600px;flex-direction:column}.settings-sidebar{width:100%;height:auto;max-height:120px;border-right:none;border-bottom:1px solid #e5e7eb}.settings-content{height:auto;flex:1}.settings-nav{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:8px}.settings-nav-item{flex-direction:column;min-width:80px;padding:8px 12px;gap:6px;font-size:12px;text-align:center}.settings-nav-item svg{width:18px;height:18px}.settings-content-header{padding:20px 24px}.settings-content-header h2{font-size:20px}.settings-content-body{padding:20px 24px}.settings-group{margin-bottom:32px}.settings-item{flex-direction:column;align-items:flex-start;gap:16px}.settings-item-info,.settings-select,.settings-btn-primary,.settings-btn-secondary,.settings-btn-danger{width:100%}}@media (max-width: 480px){.settings-content-header h2{font-size:18px}.settings-group-title{font-size:11px}.settings-item-info label{font-size:14px}.settings-item-description{font-size:13px}.settings-content-header{padding:16px 20px}.settings-content-body{padding:20px}.settings-item{padding:20px 0}}.app-layout{min-height:100vh;background:#f9fafb}.app-layout-main{margin-left:0;padding-top:0;min-height:100vh;transition:none}.app-layout-content{padding-top:5px;min-height:calc(100vh - 64px)}@media (max-width: 768px){.app-layout-main{margin-left:40px}.app-layout-main.sidebar-expanded{margin-left:200px}.app-layout-content{padding:16px}}@media (max-width: 480px){.app-layout-content{padding:12px}}.crm-dashboard-content{width:100%;position:relative}.filter-dropdown{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;color:#374151;cursor:pointer;outline:none;transition:border-color .2s}.filter-dropdown:hover{border-color:#9ca3af}.filter-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.crm-stats-section{padding:24px 32px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-stats-section{margin-left:220px;width:calc(100% - 220px)}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1600px;margin:0 auto}.stat-card{background:#fff;border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 3px #00000014;transition:all .2s ease;border:1px solid #e5e7eb;position:relative;overflow:hidden}.stat-card:hover{box-shadow:0 4px 12px #0000001f}.stat-icon{display:none}.stat-total:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#3b82f6}.stat-leads:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#f59e0b}.stat-prospects:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#8b5cf6}.stat-customers:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#10b981}.stat-recent:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#06b6d4}.stat-conversion:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#8b5cf6}.stat-content{flex:1;display:flex;flex-direction:column;gap:8px}.stat-content h3{margin:0;font-size:12px;font-weight:500;color:#6b7280;text-transform:none;letter-spacing:0;order:2}.stat-value{margin:0;font-size:36px;font-weight:700;color:#111827;line-height:1;order:1;letter-spacing:-1px}.crm-quick-actions{padding:16px 32px 24px;background:#f3f4f6}.crm-quick-actions h2{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:1600px;margin:0 auto}.quick-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.quick-action-btn:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6;box-shadow:0 2px 4px #3b82f61a}.crm-map-section{padding:16px 32px 24px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-map-section{margin-left:220px;width:calc(100% - 220px)}.section-header{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.section-header h2{margin:0;font-size:16px;font-weight:600;color:#111827}.section-header p{display:none}.view-full-map-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#3b82f6;border:none;border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.view-full-map-btn:hover{background:#2563eb}.map-module-container{background:#fff;border-radius:4px;padding:0;box-shadow:0 1px 3px #00000014;overflow:hidden;border:1px solid #e5e7eb;max-width:1600px;margin:0 auto}.crm-recent-activity{padding:16px 32px 40px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-recent-activity{margin-left:220px;width:calc(100% - 220px)}.crm-recent-activity h2{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.activity-list{background:#fff;border-radius:4px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014;max-width:1600px;margin:0 auto;overflow:hidden}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f3f4f6;transition:background .15s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f9fafb}.activity-icon{width:32px;height:32px;border-radius:4px;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-content{flex:1}.activity-title{margin:0 0 2px;font-size:13px;color:#111827;font-weight:500}.activity-time{margin:0;font-size:11px;color:#9ca3af}.activity-status{padding:4px 10px;border-radius:3px;color:#fff;font-size:11px;font-weight:500;text-transform:capitalize}.stat-change{font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px;margin-top:4px}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.stat-change.neutral{color:#6b7280}.crm-page-title{padding:20px 32px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.crm-page-title h2{margin:0 0 4px;font-size:20px;font-weight:600;color:#111827}.crm-page-title p{margin:0;font-size:12px;color:#6b7280}.crm-dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:16px;padding:16px 32px 24px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;overflow:hidden;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-dashboard-grid{margin-left:220px;width:calc(100% - 220px)}.dashboard-left-col,.dashboard-right-col{display:flex;flex-direction:column;gap:16px;min-width:0;overflow:hidden}.dashboard-widget{background:#fff;border:1px solid #e5e7eb;border-radius:4px;box-shadow:0 1px 3px #00000014;overflow:hidden;min-width:0}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f3f4f6;background:#fff}.widget-header h3{margin:0;font-size:14px;font-weight:600;color:#111827}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:200px;padding:10px 0}.bar-chart-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.bar-chart-bar{width:100%;height:100%;display:flex;align-items:flex-end}.bar-chart-fill{width:100%;background:linear-gradient(180deg,#3b82f6,#2563eb);border-radius:4px 4px 0 0;height:100%;transition:all .3s ease}.bar-chart-item:hover .bar-chart-fill{background:linear-gradient(180deg,#60a5fa,#3b82f6)}.bar-chart-label{font-size:11px;color:#6b7280;font-weight:500}.data-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.data-table thead{background:#f9fafb}.data-table th{text-align:left;padding:12px;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:12px;border-bottom:1px solid #f3f4f6;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tbody tr:hover{background:#f9fafb}.data-table tbody tr:last-child td{border-bottom:none}.progress-bar{position:relative;width:100px;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;display:inline-block;margin-right:8px}.progress-fill{height:100%;background:#3b82f6;border-radius:4px;transition:width .3s ease}.progress-label{font-size:12px;color:#6b7280;font-weight:500}.donut-chart-container{display:flex;flex-direction:column;align-items:center;gap:20px}.donut-chart{width:180px;height:180px}.donut-legend{display:flex;flex-direction:column;gap:12px;width:100%}.donut-legend .legend-item{display:flex;align-items:center;gap:12px;justify-content:space-between}.legend-dot{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-label{flex:1;font-size:13px;color:#374151;font-weight:500}.legend-value{font-size:13px;color:#111827;font-weight:600}.stacked-bar-chart{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.stacked-bar-item{display:grid;grid-template-columns:80px 1fr 60px;align-items:center;gap:12px}.stacked-bar-label{font-size:13px;color:#374151;font-weight:500}.stacked-bar{height:32px;background:#f3f4f6;border-radius:4px;display:flex;overflow:hidden}.stacked-segment{height:100%;transition:opacity .2s;cursor:pointer}.stacked-segment:hover{opacity:.8}.stacked-bar-total{font-size:13px;color:#111827;font-weight:600;text-align:right}.chart-legend-horizontal{display:flex;gap:20px;justify-content:center;padding-top:12px;border-top:1px solid #f3f4f6}.chart-legend-horizontal .legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280}.chart-legend-horizontal .legend-dot{width:10px;height:10px;border-radius:2px}.calendar-widget{min-height:400px;display:flex;flex-direction:column}.calendar-widget .widget-header{display:flex;justify-content:space-between;align-items:center}.view-calendar-btn{background:transparent;border:none;color:#3b82f6;font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.view-calendar-btn:hover{background:#eff6ff;color:#2563eb}.calendar-tabs{display:flex;gap:8px;padding-bottom:16px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.tab-btn{flex:1;padding:8px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.tab-btn:hover{background:#e5e7eb;color:#374151}.tab-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.tab-badge{background:#ffffff4d;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.tab-btn.active .tab-badge{background:#ffffff40}.calendar-items-list{display:flex;flex-direction:column;gap:12px;max-height:350px;overflow-y:auto;padding-right:4px}.calendar-items-list::-webkit-scrollbar{width:6px}.calendar-items-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.calendar-items-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.calendar-items-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.calendar-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.calendar-item:hover{background:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.item-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.item-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.item-indicator.priority-high{background:#ef4444;box-shadow:0 0 0 3px #ef44441a}.item-indicator.priority-medium{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.item-indicator.priority-low{background:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.item-indicator.priority-none{background:#9ca3af}.item-indicator.google-event{background:#4285f4;box-shadow:0 0 0 3px #4285f41a}.item-details{flex:1;min-width:0}.item-title{margin:0 0 4px;font-size:13px;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{margin:0;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:4px}.item-meta svg{flex-shrink:0}.status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize;flex-shrink:0}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.in-progress,.status-badge.in_progress{background:#dbeafe;color:#1e3a8a}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.overdue{background:#fee2e2;color:#991b1b}.no-upcoming-items{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#9ca3af}.no-upcoming-items svg{margin-bottom:16px;opacity:.4}.no-upcoming-items p{margin:0 0 16px;font-size:14px;color:#6b7280}.btn-secondary{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.calendar-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;text-align:center}.btn-link{background:transparent;border:none;color:#3b82f6;font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-link:hover{background:#eff6ff;color:#2563eb}.event-location-badge{font-size:16px;flex-shrink:0;opacity:.7;cursor:help}.widget-title-with-icon{display:flex;align-items:center;gap:10px}.widget-title-with-icon svg{color:#6b7280;flex-shrink:0}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:1px solid #10b981;font-size:10px;font-weight:600;border-radius:12px;letter-spacing:.3px;text-transform:uppercase;animation:pulse 2s infinite}.live-indicator{width:6px;height:6px;border-radius:50%;background:#10b981;animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.revenue-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.revenue-stat-card{padding:16px;border-radius:4px;background:#fff;border:1px solid #e5e7eb;transition:all .2s}.revenue-stat-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.revenue-stat-card.primary{border-top:3px solid #3b82f6}.revenue-stat-card.secondary{border-top:3px solid #8b5cf6}.revenue-stat-content{display:flex;flex-direction:column;gap:6px}.revenue-stat-label{font-size:12px;font-weight:500;color:#6b7280;letter-spacing:.3px}.revenue-stat-value{font-size:24px;font-weight:700;line-height:1;letter-spacing:-.5px;color:#111827}.revenue-stat-change{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;align-self:flex-start;padding:4px 8px;border-radius:4px}.revenue-stat-change.positive{color:#10b981;background:#d1fae5}.revenue-stat-change.negative{color:#ef4444;background:#fee2e2}.revenue-stat-change.neutral{color:#6b7280;background:#f3f4f6}.revenue-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:0}.revenue-metric-item{padding:14px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;transition:all .2s}.revenue-metric-item:hover{background:#fff;box-shadow:0 2px 6px #00000014}.revenue-metric-label{display:block;font-size:11px;font-weight:500;color:#6b7280;margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.revenue-metric-value{font-size:18px;font-weight:600;color:#111827;letter-spacing:-.3px}.revenue-metric-value.churn{color:#111827}.revenue-footer{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;display:flex;justify-content:center;align-items:center}.revenue-link{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s}.revenue-link:hover{background:#fff;border-color:#3b82f6;color:#3b82f6;box-shadow:0 2px 6px #3b82f61a}.stripe-loading,.stripe-error{text-align:center;padding:40px 20px}.stripe-loading{color:#6b7280}.stripe-error{color:#ef4444}.stripe-error-message{font-size:13px;margin-top:8px;color:#6b7280}.subscription-breakdown{margin-bottom:24px}.subscription-breakdown h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px}.subscription-list{display:flex;flex-direction:column;gap:10px}.subscription-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;transition:all .2s}.subscription-item:hover{background:#fff;box-shadow:0 2px 6px #00000014}.subscription-info{display:flex;align-items:center;gap:12px;flex:1}.subscription-plan-indicator{width:10px;height:10px;border-radius:2px;flex-shrink:0}.subscription-details{flex:1}.subscription-plan-name{font-size:13px;font-weight:600;color:#111827;margin-bottom:2px}.subscription-count{font-size:11px;color:#6b7280}.subscription-revenue{font-size:13px;font-weight:600;color:#111827}.recent-transactions{margin-bottom:20px}.recent-transactions h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px}.transactions-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding-right:4px}.transactions-list::-webkit-scrollbar{width:6px}.transactions-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.transactions-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.transactions-list::-webkit-scrollbar-thumb:hover{background:#635bff}.transaction-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;transition:all .2s}.transaction-item:hover{background:#fff;box-shadow:0 2px 6px #00000014}.transaction-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.transaction-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.transaction-status.success{background:#d1fae5;color:#10b981}.transaction-status.failed{background:#fee2e2;color:#ef4444}.transaction-details{flex:1;min-width:0}.transaction-customer{font-size:13px;font-weight:600;color:#111827;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b7280}.transaction-plan{padding:2px 6px;background:#eff6ff;color:#1e40af;border-radius:4px;font-weight:500}.transaction-date{color:#9ca3af}.transaction-amount{font-size:13px;font-weight:600;color:#111827;flex-shrink:0}@media (max-width: 1200px){.crm-dashboard-grid{grid-template-columns:1fr}.calendar-widget{grid-column:1 / -1}}@media (max-width: 768px){.crm-sidebar{width:48px;z-index:1001}.crm-header{height:auto;flex-direction:column;gap:12px;padding:12px 16px;margin-left:48px}.crm-nav{width:100%;justify-content:flex-start;overflow-x:auto}.nav-button{white-space:nowrap;padding:8px 12px;font-size:12px}.stats-container{grid-template-columns:1fr 1fr;gap:12px}.crm-stats-section,.crm-map-section,.crm-recent-activity,.crm-page-title,.crm-page-header,.crm-dashboard-grid{padding:12px 16px;margin-left:48px;width:calc(100% - 48px)}.quick-actions-grid{grid-template-columns:1fr}.stat-value{font-size:28px}.section-header h2,.crm-quick-actions h2,.crm-recent-activity h2{font-size:14px}.page-header-content{flex-direction:column;align-items:flex-start;gap:12px}.page-filters{flex-wrap:wrap}.stacked-bar-item{grid-template-columns:60px 1fr 50px}}@media (max-width: 480px){.crm-sidebar{width:40px}.sidebar-icon-btn{width:40px;height:40px}.sidebar-icon-btn svg{width:18px;height:18px}.crm-header,.crm-stats-section,.crm-map-section,.crm-recent-activity,.crm-page-header,.crm-dashboard-grid{margin-left:40px;width:calc(100% - 40px)}.stats-container{grid-template-columns:1fr}.bar-chart{height:150px}.donut-chart{width:140px;height:140px}}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.email-composer-modal{max-width:700px;width:90%;max-height:90vh;overflow-y:auto}.email-header-content{display:flex;align-items:center;gap:12px}.email-header-content svg{color:#3b82f6;flex-shrink:0}.email-header-content h3{margin:0;font-size:20px;font-weight:600;color:#111827}.recipient-info{margin:4px 0 0;font-size:13px;color:#6b7280;font-weight:400}.email-composer-body{padding:24px;display:flex;flex-direction:column;gap:20px;width:100%;box-sizing:border-box}.email-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500}.email-alert svg{flex-shrink:0}.email-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.email-alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.ai-helper-section{padding:16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;border:1px solid #bfdbfe;margin-bottom:16px}.ai-helper-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.ai-toggle-btn{padding:6px 12px;background:#fff;border:1px solid #3b82f6;color:#3b82f6;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.ai-toggle-btn:hover:not(:disabled){background:#3b82f6;color:#fff;transform:translateY(-1px)}.ai-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.ai-custom-prompt{margin-top:12px;padding:16px;background:#fff;border-radius:8px;border:2px dashed #bfdbfe}.custom-prompt-group{display:flex;flex-direction:column;gap:10px}.custom-prompt-input{width:100%;padding:12px;border:2px solid #dbeafe;border-radius:8px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#111827;resize:vertical;transition:all .2s ease;box-sizing:border-box}.custom-prompt-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.custom-prompt-input:disabled{background:#f9fafb;cursor:not-allowed}.custom-prompt-input::placeholder{color:#9ca3af;font-style:italic}.ai-custom{border-color:#3b82f6;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);font-weight:700;padding:12px 16px;box-shadow:0 2px 8px #3b82f64d}.ai-custom:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 4px 16px #3b82f666}.ai-custom:disabled{background:#d1d5db;border-color:#d1d5db;color:#6b7280;box-shadow:none}.ai-quick-actions-label{margin:16px 0 8px;padding:8px 12px;background:#ffffffb3;border-radius:6px;text-align:center}.ai-quick-actions-label span{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.ai-actions-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:12px}.ai-action-btn{padding:10px 14px;background:#fff;border:2px solid #3b82f6;color:#3b82f6;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;justify-content:center}.ai-action-btn:hover:not(:disabled){background:#3b82f6;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.ai-action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.ai-action-btn svg{flex-shrink:0}.ai-generate{border-color:#10b981;color:#10b981}.ai-generate:hover:not(:disabled){background:#10b981;color:#fff;box-shadow:0 4px 12px #10b9814d}.ai-improve{border-color:#3b82f6;color:#3b82f6}.ai-improve:hover:not(:disabled){background:#3b82f6;color:#fff;box-shadow:0 4px 12px #3b82f64d}.ai-professional{border-color:#6366f1;color:#6366f1}.ai-professional:hover:not(:disabled){background:#6366f1;color:#fff;box-shadow:0 4px 12px #6366f14d}.ai-shorten{border-color:#f59e0b;color:#f59e0b}.ai-shorten:hover:not(:disabled){background:#f59e0b;color:#fff;box-shadow:0 4px 12px #f59e0b4d}.ai-expand{border-color:#06b6d4;color:#06b6d4}.ai-expand:hover:not(:disabled){background:#06b6d4;color:#fff;box-shadow:0 4px 12px #06b6d44d}.ai-loading{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:6px;margin-top:12px;border:1px solid #bfdbfe}.ai-loading span{font-size:14px;color:#3b82f6;font-weight:500}.ai-loading-spinner{width:20px;height:20px;border:3px solid #dbeafe;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.email-templates{padding:16px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;border:1px solid #bfdbfe}.email-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px;width:100%}.template-buttons{display:flex;gap:8px;flex-wrap:wrap}.template-btn{padding:8px 14px;background:#fff;border:1px solid #3b82f6;color:#3b82f6;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.template-btn:hover:not(:disabled){background:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f633}.template-btn:disabled{opacity:.5;cursor:not-allowed}.customer-info-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px}.customer-info-row{display:flex;align-items:center;gap:12px;font-size:14px}.customer-info-row label{color:#6b7280;font-weight:600;min-width:80px}.customer-info-row span{color:#111827;font-weight:500}.status-badge-small{padding:3px 10px;border-radius:12px;color:#fff;font-size:11px;font-weight:600;text-transform:capitalize}.email-form-group{display:flex;flex-direction:column;gap:8px;width:100%}.email-input{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:all .2s ease;box-sizing:border-box;display:block}.email-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.email-input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.email-textarea{width:100%;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;resize:vertical;transition:all .2s ease;box-sizing:border-box;display:block}.email-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.email-textarea:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.character-count{text-align:right;font-size:12px;color:#9ca3af}.btn-send-email{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;background:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-send-email:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-send-email:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.btn-send-email svg{width:16px;height:16px}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-actions-menu{animation:fadeIn .3s ease}@media (max-width: 768px){.email-composer-modal{width:95%;max-height:95vh}.email-header-content{flex-direction:column;align-items:flex-start;gap:8px}.ai-actions-menu{grid-template-columns:1fr}.template-buttons{flex-direction:column}.template-btn{width:100%}.customer-info-row{flex-direction:column;align-items:flex-start;gap:4px}.customer-info-row label{min-width:auto}.ai-helper-header{flex-direction:column;align-items:flex-start;gap:8px}.ai-toggle-btn{width:100%}.custom-prompt-group{flex-direction:column}.ai-custom{width:100%}}.map-module-wrapper{width:100%;min-height:600px;height:calc(100vh - 300px);max-height:900px;position:relative;border-radius:16px;overflow:hidden;background:#f3f4f6}.map-module-wrapper .App>header{position:relative!important;top:0!important;z-index:10!important}.map-module-wrapper .map-container{position:relative!important;top:0!important;height:100%!important}.map-module-wrapper .filter-panel,.map-module-wrapper .fab-open{position:absolute!important;top:86px!important;left:16px!important}@media (max-width: 768px){.map-module-wrapper{min-height:500px;height:calc(100vh - 400px)}.map-module-wrapper .filter-panel{width:90vw;max-width:360px}}.revenue-page{width:100%;min-height:100vh;background:#f3f4f6;padding-bottom:40px}.revenue-page-header{background:#fff;padding:24px 32px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.revenue-page .revenue-page-header{margin-left:220px;width:calc(100% - 220px)}.revenue-header-left h1{margin:0 0 4px;font-size:24px;font-weight:700;color:#111827}.revenue-header-left p{margin:0;font-size:14px;color:#6b7280}.revenue-header-right{display:flex;align-items:center;gap:16px}.btn-refresh{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.time-range-selector{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:6px}.time-range-selector button{padding:6px 14px;border:none;border-radius:4px;background:transparent;color:#6b7280;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.time-range-selector button:hover{color:#374151;background:#fffc}.time-range-selector button.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #00000014}.revenue-live-banner{display:flex;align-items:center;gap:8px;padding:12px 32px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;font-size:13px;font-weight:600;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.revenue-page .revenue-live-banner{margin-left:220px;width:calc(100% - 220px)}.live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:blink 1.5s infinite}.revenue-loading-state,.revenue-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:32px 32px 32px 80px;width:calc(100% - 112px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.revenue-page .revenue-loading-state,.crm-sidebar.expanded~.revenue-page .revenue-error-state{margin-left:252px;width:calc(100% - 284px)}.revenue-loading-state p,.revenue-error-state h3{margin:16px 0 0;font-size:16px;font-weight:600;color:#374151}.revenue-error-state p{margin:8px 0 24px;font-size:14px;color:#6b7280}.revenue-error-state{color:#ef4444}.revenue-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 32px 0;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.revenue-page .revenue-metrics-grid{margin-left:220px;width:calc(100% - 220px)}.revenue-metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;display:flex;gap:16px;align-items:flex-start;transition:all .2s}.revenue-metric-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.revenue-metric-card.primary{border-top:4px solid #3b82f6}.revenue-metric-card.secondary{border-top:4px solid #8b5cf6}.revenue-metric-card.accent{border-top:4px solid #10b981}.revenue-metric-card.warning{border-top:4px solid #f59e0b}.metric-icon{width:48px;height:48px;border-radius:8px;background:#f9fafb;display:flex;align-items:center;justify-content:center;color:#6b7280;flex-shrink:0;transition:all .2s}.revenue-metric-card:hover .metric-icon{background:#3b82f6;color:#fff}.revenue-metric-card.secondary:hover .metric-icon{background:#8b5cf6}.revenue-metric-card.accent:hover .metric-icon{background:#10b981}.revenue-metric-card.warning:hover .metric-icon{background:#f59e0b}.metric-content{flex:1}.metric-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.metric-value{font-size:28px;font-weight:700;color:#111827;letter-spacing:-.5px;margin-bottom:8px}.metric-change{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px}.metric-change.positive{color:#10b981;background:#d1fae5}.metric-change.negative{color:#ef4444;background:#fee2e2}.metric-change.neutral{color:#6b7280;background:#f3f4f6}.revenue-tabs{display:flex;gap:8px;padding:24px 32px 0;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease;border-bottom:1px solid #e5e7eb}.crm-sidebar.expanded~.revenue-page .revenue-tabs{margin-left:220px;width:calc(100% - 220px)}.revenue-tabs button{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;color:#6b7280;font-size:14px;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;position:relative;top:1px}.revenue-tabs button:hover{color:#374151;background:#3b82f60d}.revenue-tabs button.active{color:#3b82f6;border-bottom-color:#3b82f6}.revenue-tab-content{padding:24px 32px;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.revenue-page .revenue-tab-content{margin-left:220px;width:calc(100% - 220px)}.revenue-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.revenue-widget{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.revenue-widget.full-width{grid-column:1 / -1}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#fff}.widget-header h3{margin:0;font-size:15px;font-weight:600;color:#111827}.widget-menu-btn{background:transparent;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.widget-menu-btn:hover{background:#f3f4f6;color:#374151}.badge{padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:12px;font-size:12px;font-weight:600}.widget-content{padding:20px}.revenue-breakdown-list{display:flex;flex-direction:column;gap:16px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.breakdown-item:hover{background:#fff;box-shadow:0 2px 6px #00000014}.breakdown-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:#374151}.breakdown-indicator{width:12px;height:12px;border-radius:2px}.breakdown-value{font-size:16px;font-weight:600;color:#111827}.breakdown-value.positive{color:#10b981}.plan-revenue-list{display:flex;flex-direction:column;gap:12px}.plan-revenue-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.plan-revenue-item:hover{background:#fff;box-shadow:0 2px 6px #00000014}.plan-info{display:flex;align-items:center;gap:12px}.plan-indicator{width:10px;height:10px;border-radius:2px;flex-shrink:0}.plan-details{display:flex;flex-direction:column;gap:4px}.plan-name{font-size:14px;font-weight:600;color:#111827}.plan-count{font-size:12px;color:#6b7280}.plan-revenue{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.plan-revenue-value{font-size:16px;font-weight:600;color:#111827}.plan-percentage{font-size:12px;color:#6b7280}.additional-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.additional-metric{padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;text-align:center;transition:all .2s}.additional-metric:hover{background:#fff;box-shadow:0 2px 6px #00000014}.additional-metric-label{font-size:12px;font-weight:500;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.3px}.additional-metric-value{font-size:20px;font-weight:700;color:#111827}.revenue-subscriptions-content,.revenue-transactions-content{max-width:100%}.subscriptions-table,.transactions-table{display:flex;flex-direction:column;gap:8px}.subscription-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:14px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s}.subscription-row:hover{background:#fff;box-shadow:0 2px 6px #00000014}.subscription-col-plan{display:flex;align-items:center;gap:12px}.sub-indicator{width:10px;height:10px;border-radius:2px;flex-shrink:0}.sub-plan-name{font-size:14px;font-weight:600;color:#111827}.sub-plan-meta{font-size:12px;color:#6b7280}.subscription-col-revenue{text-align:right}.sub-revenue{font-size:16px;font-weight:600;color:#111827}.sub-revenue-label{font-size:11px;color:#6b7280;text-transform:uppercase}.subscription-col-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:4px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.transactions-table-header{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;gap:16px;padding:12px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.transaction-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr;gap:16px;align-items:center;padding:14px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;transition:all .2s;font-size:13px}.transaction-row:hover{background:#fff;box-shadow:0 2px 6px #00000014}.trans-col-customer{display:flex;align-items:center;gap:10px;color:#111827;font-weight:500}.customer-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.trans-col-plan{color:#6b7280}.plan-badge{padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:12px;font-size:12px;font-weight:500}.trans-col-amount{font-weight:600;color:#111827}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.succeeded,.status-badge.success{background:#d1fae5;color:#065f46}.status-badge.failed{background:#fee2e2;color:#991b1b}.trans-col-date{color:#6b7280;font-size:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#374151}.empty-state p{margin:0;font-size:14px;color:#6b7280}.revenue-footer{padding:24px 32px;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease;display:flex;justify-content:center}.crm-sidebar.expanded~.revenue-page .revenue-footer{margin-left:220px;width:calc(100% - 220px)}.stripe-dashboard-link{display:inline-flex;align-items:center;gap:12px;padding:14px 24px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.stripe-dashboard-link:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}@media (max-width: 1400px){.revenue-metrics-grid,.additional-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.revenue-overview-grid{grid-template-columns:1fr}.revenue-metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.revenue-page-header{flex-direction:column;align-items:flex-start;gap:16px}.revenue-header-right{width:100%;flex-direction:column;align-items:stretch}.time-range-selector{width:100%}.revenue-metrics-grid,.additional-metrics-grid{grid-template-columns:1fr}.transactions-table-header,.transaction-row{grid-template-columns:1fr;gap:8px}.transactions-table-header{display:none}.transaction-row{padding:16px}.trans-col-customer,.trans-col-plan,.trans-col-amount,.trans-col-status,.trans-col-date{grid-column:1}}.customer-page{min-height:100vh;background:#f3f4f6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.crm-sidebar{width:48px;background:#1e293b;display:flex;flex-direction:column;justify-content:space-between;position:fixed;left:0;top:0;bottom:0;z-index:1000;box-shadow:2px 0 8px #0000001a;transition:width .3s ease;overflow:hidden}.crm-sidebar.expanded{width:220px}.sidebar-top,.sidebar-bottom{display:flex;flex-direction:column;align-items:center;padding:8px 0}.sidebar-icon-btn{width:100%;min-height:48px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:0 14px;background:transparent;border:none;border-left:3px solid transparent;color:#fff9;cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap}.crm-sidebar:not(.expanded) .sidebar-icon-btn{justify-content:center;padding:0}.sidebar-icon-btn svg{flex-shrink:0}.sidebar-icon-btn:hover{background:#ffffff0d;color:#ffffffe6}.sidebar-icon-btn.active{background:#3b82f61a;border-left-color:#3b82f6;color:#3b82f6}.sidebar-icon-btn.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#3b82f6}.sidebar-label{font-size:14px;font-weight:500;color:inherit;opacity:0;animation:fadeIn .3s ease .2s forwards}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.crm-header{background:#1e293b;padding:0 32px;height:56px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000001a;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-header{margin-left:220px;width:calc(100% - 220px)}.crm-header-left{display:flex;align-items:center;gap:16px}.crm-logo{height:32px;width:auto;object-fit:contain}.crm-header-title h1{margin:0;font-size:16px;font-weight:600;color:#fff;letter-spacing:.3px}.crm-header-title p{display:none}.crm-nav{display:flex;gap:12px;align-items:center}.nav-button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:6px;background:transparent;color:#ffffffb3;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-button:hover{background:#ffffff1a;color:#fff}.nav-button.active{background:#3b82f6;color:#fff}.nav-button svg{flex-shrink:0;width:16px;height:16px}.crm-page-header{background:#fff;padding:20px 32px;border-bottom:1px solid #e5e7eb;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-page-header{margin-left:220px;width:calc(100% - 220px)}.page-header-content{display:flex;justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto}.page-header-content h1{margin:0 0 4px;font-size:20px;font-weight:600;color:#111827}.page-header-content p{margin:0;font-size:11px;color:#6b7280}.page-filters{display:flex;gap:12px;align-items:center}.btn-action{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:13px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.btn-action:hover:not(:disabled){border-color:#9ca3af;box-shadow:0 2px 4px #0000001a}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action svg{flex-shrink:0}.crm-filters-section{padding:16px 32px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-filters-section{margin-left:220px;width:calc(100% - 220px)}.search-container{margin-bottom:12px;max-width:1600px;margin-left:auto;margin-right:auto}.search-input{width:100%;padding:10px 16px;font-size:14px;border:1px solid #e5e7eb;border-radius:4px;outline:none;transition:all .2s;background:#fff}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-row{display:flex;gap:12px;flex-wrap:wrap;max-width:1600px;margin:0 auto}.filter-select{padding:8px 12px;font-size:13px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;outline:none;transition:all .2s;color:#374151}.filter-select:hover{border-color:#9ca3af}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-reset{padding:8px 16px;font-size:13px;font-weight:500;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .2s}.btn-reset:hover{background:#e5e7eb}.crm-table-container{background:#fff;border-radius:4px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb;overflow:hidden;margin:16px 32px 16px 80px;width:calc(100% - 112px);box-sizing:border-box;max-width:1632px;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-table-container{margin-left:252px;width:calc(100% - 284px)}.customer-table{width:100%;border-collapse:collapse;font-size:14px}.customer-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.customer-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.customer-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.customer-table th.sortable:hover{background:#f1f5f9}.customer-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .2s}.customer-table tbody tr:hover{background:#f9fafb}.customer-table tbody tr:last-child{border-bottom:none}.customer-table td{padding:12px 16px;color:#111827}.customer-name strong{display:block;color:#111827;font-size:14px;margin-bottom:2px;font-weight:600}.customer-email{color:#6b7280;font-size:12px}.customer-location{color:#374151}.customer-zip{color:#6b7280;font-size:12px;margin-top:2px}.status-badge,.type-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:capitalize}.products-list{display:flex;gap:4px;flex-wrap:wrap}.product-tag{display:inline-block;padding:3px 8px;background:#e0f2fe;color:#0369a1;border-radius:8px;font-size:11px;font-weight:500}.product-more{display:inline-block;padding:3px 8px;background:#f3f4f6;color:#6b7280;border-radius:8px;font-size:11px;font-weight:500}.customer-checkbox{width:16px;height:16px;cursor:pointer;accent-color:#3b82f6}.customer-checkbox:hover{transform:scale(1.1)}.action-buttons{display:flex;gap:6px}.btn-view,.btn-edit,.btn-delete,.btn-email{padding:8px;font-size:12px;font-weight:500;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .2s;background:#fff;color:#6b7280;display:inline-flex;align-items:center;justify-content:center}.btn-view:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-email:hover:not(:disabled){background:#8b5cf6;color:#fff;border-color:#8b5cf6}.btn-email:disabled{opacity:.3;cursor:not-allowed}.btn-edit:hover{background:#f59e0b;color:#fff;border-color:#f59e0b}.btn-delete:hover{background:#ef4444;color:#fff;border-color:#ef4444}.no-results{padding:60px 20px;text-align:center;color:#6b7280;font-size:14px}.crm-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px 32px;background:#f3f4f6;margin-left:48px;width:calc(100% - 48px);box-sizing:border-box;transition:margin-left .3s ease,width .3s ease}.crm-sidebar.expanded~.crm-pagination{margin-left:220px;width:calc(100% - 220px)}.pagination-button{padding:8px 16px;font-size:14px;font-weight:500;background:#fff;color:#374151;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;transition:all .2s}.pagination-button:hover:not(:disabled){background:#3b82f6;color:#fff;border-color:#3b82f6}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;font-weight:600;color:#374151;margin:0 8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto;width:100%;max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#111827}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background:#f9fafb}.btn-primary,.btn-secondary{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#111827;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.detail-item label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:14px;color:#111827}.products-detail{display:flex;flex-wrap:wrap;gap:8px}.product-tag-large{display:inline-block;padding:8px 16px;background:#e0f2fe;color:#0369a1;border-radius:8px;font-size:13px;font-weight:500}.notes-text{padding:12px;background:#f9fafb;border-radius:4px;color:#374151;font-size:14px;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;font-size:14px;border:1px solid #e5e7eb;border-radius:4px;outline:none;transition:all .2s;font-family:inherit;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;gap:16px}.loading-spinner{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;border:4px solid rgba(0,0,0,.1);border-left-color:#111827;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0;aspect-ratio:1 / 1;display:block;box-sizing:border-box}.error-container h3{color:#ef4444;margin:0}.error-container p{color:#6b7280;margin:8px 0}.primary-button{padding:10px 20px;font-size:14px;font-weight:600;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.primary-button:hover{background:#2563eb}@media (max-width: 1200px){.crm-table-container{margin-left:64px;width:calc(100% - 96px)}}@media (max-width: 768px){.crm-sidebar{width:48px;z-index:1001}.crm-header{height:auto;flex-direction:column;gap:12px;padding:12px 16px;margin-left:48px}.crm-nav{width:100%;justify-content:flex-start;overflow-x:auto}.nav-button{white-space:nowrap;padding:8px 12px;font-size:12px}.crm-page-header,.crm-filters-section,.crm-table-container,.crm-pagination{padding:12px 16px;margin-left:48px;width:calc(100% - 48px)}.page-header-content{flex-direction:column;align-items:flex-start;gap:12px}.page-filters{flex-wrap:wrap;width:100%}.btn-action{flex:1;min-width:auto}.filter-row{flex-direction:column}.filter-select,.btn-reset{width:100%}.customer-table{font-size:13px}.customer-table th,.customer-table td{padding:10px 12px}.form-grid{grid-template-columns:1fr}.modal-content{margin:0;border-radius:0;max-height:100vh}}@media (max-width: 480px){.crm-sidebar{width:40px}.sidebar-icon-btn{width:40px;height:40px}.sidebar-icon-btn svg{width:18px;height:18px}.crm-header,.crm-page-header,.crm-filters-section,.crm-table-container,.crm-pagination{margin-left:40px;width:calc(100% - 40px)}.customer-table{font-size:12px}.customer-table th:nth-child(5),.customer-table td:nth-child(5),.customer-table th:nth-child(6),.customer-table td:nth-child(6){display:none}}.csv-import-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.csv-import-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:800px;width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.csv-import-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.csv-import-header h2{margin:0;font-size:20px;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:6px;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#374151}.csv-import-content{padding:24px;overflow-y:auto;flex:1}.upload-step{text-align:center}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:48px 24px;margin-bottom:24px;transition:all .2s}.upload-area:hover{border-color:#3b82f6;background:#f8fafc}.upload-icon{font-size:48px;margin-bottom:16px}.upload-area h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.upload-area p{margin:0 0 24px;color:#6b7280}.file-input{display:none}.upload-button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.upload-button:hover{background:#2563eb;transform:translateY(-1px)}.format-info{background:#f0f9ff;border:1px solid #e0f2fe;border-radius:8px;padding:16px;text-align:left}.format-info h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#0369a1}.format-info p{margin:0;font-size:14px;color:#0369a1}.mapping-step h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.mapping-step p{margin:0 0 24px;color:#6b7280}.mapping-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:24px}.mapping-header{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;color:#374151}.mapping-header>div{padding:12px 16px;border-right:1px solid #e5e7eb}.mapping-header>div:last-child{border-right:none}.mapping-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #f3f4f6}.mapping-row:last-child{border-bottom:none}.mapping-row>div{padding:12px 16px;border-right:1px solid #f3f4f6;display:flex;align-items:center}.mapping-row>div:last-child{border-right:none}.csv-column strong{color:#111827}.sample-data{color:#6b7280;font-size:14px;font-family:monospace;background:#f9fafb}.field-select select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px}.field-select select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.mapping-actions{display:flex;gap:12px;justify-content:flex-end}.progress-step{text-align:center;padding:48px 24px}.progress-step h3{margin:0 0 24px;font-size:18px;font-weight:600;color:#111827}.progress-bar{width:100%;height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .3s ease;border-radius:4px}.progress-step p{margin:0;color:#6b7280;font-weight:500}.results-step{text-align:center;padding:24px}.success-icon,.error-icon{font-size:48px;margin-bottom:16px}.success-results h3,.error-results h3{margin:0 0 24px;font-size:20px;font-weight:600}.success-results h3{color:#059669}.error-results h3{color:#dc2626}.results-stats{display:flex;gap:24px;justify-content:center;margin-bottom:24px}.stat{text-align:center}.stat-number{display:block;font-size:32px;font-weight:700;color:#059669;margin-bottom:4px}.stat.error .stat-number{color:#dc2626}.stat-label{display:block;font-size:14px;color:#6b7280;font-weight:500}.error-details{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.error-details h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#991b1b}.error-details ul{margin:0;padding-left:20px;color:#991b1b;font-size:14px}.error-details li{margin-bottom:4px}.results-actions{display:flex;gap:12px;justify-content:center}.primary-button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.primary-button:hover{background:#2563eb;transform:translateY(-1px)}.secondary-button{background:#fff;color:#374151;border:1px solid #d1d5db;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.secondary-button:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 768px){.csv-import-modal{width:95vw;max-height:95vh}.mapping-header,.mapping-row{grid-template-columns:1fr}.mapping-header>div,.mapping-row>div{border-right:none;border-bottom:1px solid #e5e7eb}.mapping-header>div:last-child,.mapping-row>div:last-child{border-bottom:none}.results-stats{flex-direction:column;gap:16px}.mapping-actions,.results-actions{flex-direction:column}.product-selection-area{padding:30px 15px}.product-options{max-width:100%}}.product-selection-step{padding:20px;text-align:center}.product-selection-area{background:#f8fafc;border:2px dashed #cbd5e0;border-radius:12px;padding:40px 20px;margin:20px 0}.selection-icon{font-size:48px;margin-bottom:16px}.product-selection-area h3{color:#2d3748;margin:0 0 8px;font-size:24px;font-weight:600}.product-selection-area p{color:#718096;margin:0 0 24px;font-size:16px}.product-options{display:flex;flex-direction:column;gap:12px;max-width:300px;margin:24px auto}.product-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.product-option:hover{border-color:#3182ce;background:#ebf8ff}.product-option input[type=radio]{margin:0;width:18px;height:18px}.product-option input[type=radio]:checked+.product-label{color:#3182ce;font-weight:600}.product-option:has(input[type=radio]:checked){border-color:#3182ce;background:#ebf8ff}.product-label{font-size:16px;color:#2d3748;flex:1;text-align:left}.step-actions{margin-top:24px}.step-actions .primary-button:disabled{background:#a0aec0;cursor:not-allowed}.step-actions .primary-button:disabled:hover{background:#a0aec0}.add-product-section{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.add-product-button{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;padding:12px 16px;width:100%;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.add-product-button:hover{border-color:#3182ce;background:#ebf8ff;color:#3182ce}.new-product-form{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin-top:12px;box-shadow:0 2px 4px #0000001a}.new-product-form h4{margin:0 0 16px;color:#2d3748;font-size:16px;font-weight:600}.form-group label{display:block;margin-bottom:6px;color:#4a5568;font-size:14px;font-weight:500}.form-input,.form-textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#2d3748;transition:border-color .2s ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-textarea{resize:vertical;min-height:60px}.form-actions{display:flex;gap:8px;margin-top:16px}.primary-button.small,.secondary-button.small{padding:8px 16px;font-size:14px}.primary-button.small:disabled{background:#a0aec0;cursor:not-allowed}.primary-button.small:disabled:hover{background:#a0aec0}.warning-details{background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;padding:16px;margin-bottom:24px;text-align:left}.warning-details h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#92400e}.warning-details ul{margin:0;padding-left:20px;color:#92400e;font-size:14px}.warning-details li{margin-bottom:4px}.product-management-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.product-management-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.product-management-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.product-management-header h2{margin:0;font-size:24px;font-weight:700;color:#111827}.product-count{margin:4px 0 0;font-size:14px;color:#6b7280}.close-button{background:none;border:none;font-size:32px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-button:hover{background:#e5e7eb;color:#111827}.product-actions{padding:16px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:flex-end}.btn-create-product{display:flex;align-items:center;gap:8px;background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-create-product:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-create-product:active{transform:translateY(0)}.products-list-container{flex:1;overflow-y:auto;padding:24px}.no-products{text-align:center;padding:60px 20px;color:#6b7280}.no-products svg{color:#d1d5db;margin-bottom:16px}.no-products h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.no-products p{margin:0;font-size:14px;color:#6b7280}.product-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:16px;transition:all .2s ease}.product-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.product-card-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.product-card-actions{display:flex;gap:8px}.btn-edit-product,.btn-delete-product{background:none;border:1px solid #e5e7eb;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-edit-product{color:#3b82f6}.btn-edit-product:hover{background:#eff6ff;border-color:#3b82f6}.btn-delete-product{color:#ef4444}.btn-delete-product:hover{background:#fef2f2;border-color:#ef4444}.product-description{margin:0 0 16px;font-size:14px;color:#6b7280;line-height:1.5}.product-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.product-detail-item{display:flex;flex-direction:column;gap:4px}.product-detail-item.full-width{grid-column:1 / -1}.product-detail-item label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.product-detail-item span{font-size:14px;color:#374151}.product-price{font-size:16px;font-weight:600;color:#10b981}.product-meta{padding-top:12px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.product-date{font-size:12px;color:#9ca3af}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px 16px;margin:16px 24px;display:flex;justify-content:space-between;align-items:center}.error-message p{margin:0;color:#dc2626;font-size:14px}.btn-retry{background:#dc2626;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#b91c1c}.product-form-modal{max-width:600px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:#111827}.modal-body{flex:1;overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#111827;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;justify-content:flex-end}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-primary:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.loading-container p{margin:0;font-size:14px;font-weight:500;color:#6b7280}@media (max-width: 768px){.product-management-modal{max-width:100%;max-height:100vh;border-radius:0}.product-details,.form-row{grid-template-columns:1fr}.product-actions{padding:12px 16px}.products-list-container,.product-card,.modal-body{padding:16px}}.public-layout-wrap{min-height:100vh;background:#3b82f6;display:flex;align-items:center;justify-content:center;padding:20px}.public-layout-container{width:100%;max-width:900px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px 40px 90px;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.public-layout-logo{margin-bottom:0;text-align:center}.public-layout-header{text-align:center;margin-bottom:32px}.public-layout-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 8px}.public-layout-subtitle{font-size:15px;color:#6b7280;margin:0}@media (max-width: 768px){.public-layout-wrap{padding:12px}.public-layout-container{padding:24px 24px 40px;max-width:100%}.public-layout-title{font-size:24px}.public-layout-subtitle{font-size:14px}}@media (max-width: 480px){.public-layout-wrap{padding:8px}.public-layout-container{padding:20px 20px 32px;border-radius:8px}.public-layout-logo img{height:48px!important}.public-layout-title{font-size:22px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.public-layout-container{max-width:95%;padding:30px 40px 50px}}.registration-page{min-height:100vh;display:flex;flex-direction:column}.registration-container{width:100%;max-width:880px;margin:32px auto;align-self:center}.center-auth .auth-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}.center-auth .auth-title,.center-auth .auth-sub{text-align:center}.brand-header{text-align:center;margin-bottom:10px}.brand-title{margin:0;font-size:34px;line-height:1.15;font-weight:800;color:#111827;letter-spacing:.2px}.brand-subtitle{margin:6px 0 0;font-size:14px;color:#6b7280}.page-title{text-align:center;margin:20px 0 4px;font-size:24px;font-weight:700;color:#111827}.page-subtitle{text-align:center;margin:0 0 12px;font-size:14px;color:#6b7280}.helper{text-align:center;font-size:12px;color:#6b7280;margin:2px 0 18px}.registration-form{display:grid;gap:14px;padding-left:10px;padding-right:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-label{font-size:30px;font-weight:700;color:#6b7280;letter-spacing:.04em;text-transform:uppercase}.form-input{height:44px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;outline:none;font-size:14px;background:#fff;transition:box-shadow .15s,border-color .15s}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.fieldset{border:0;padding:0;margin:6px 0 2px}.legend{display:block;font-size:15px;font-weight:700;color:#374151;margin-bottom:6px;letter-spacing:.02em}.checkbox-list{display:grid;gap:8px}.checkbox-item{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#374151}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}.btn{height:44px;padding:0 18px;border-radius:10px;border:1px solid #e5e7eb;background:#3b82f6;color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.btn:hover{border-color:#cbd5e1;box-shadow:0 2px 10px #0000000f}.btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.msg{border-radius:10px;padding:10px 12px;font-size:14px;text-align:center}.msg--error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.msg--success{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.map-block{margin-top:14px;padding-left:10px;padding-right:10px;align-self:center;margin-bottom:20px}@media (max-width: 900px){.brand-title{font-size:30px}}@media (max-width: 680px){.registration-container{margin:24px auto;align-self:center}.form-row{grid-template-columns:1fr}.actions{flex-direction:column}.btn,.btn-primary{width:100%}.brand-title{font-size:26px}.page-title{font-size:22px}}.center-auth .auth-header{display:flex;align-items:center;justify-content:flex-start;width:100%}.center-auth .auth-header>div{flex:1;text-align:center}.interest-form-page{max-width:800px;margin:0 auto}.status-banner{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500;text-align:center;transition:all .3s ease}.status-checking{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.status-offline{background:#dcfce7;color:#166534;border:1px solid #86efac}.status-online{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.status-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.interest-form{display:flex;flex-direction:column;gap:32px}.form-section{background:#fff;padding:24px;border-radius:8px;border:1px solid #e5e7eb}.section-title{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #3b82f6}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-row:last-child{margin-bottom:0}.form-group{display:flex;flex-direction:column}.form-label{font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.required{color:#ef4444;font-weight:600}.form-input,.form-select,.form-textarea{padding:10px 14px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-family:inherit;color:#111827;background:#fff;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-textarea{resize:vertical;min-height:100px}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.checkbox-card{position:relative;display:block;cursor:pointer}.checkbox-card input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.checkbox-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s ease;min-height:100px}.checkbox-card:hover .checkbox-content{border-color:#3b82f6;background:#eff6ff}.checkbox-card input[type=checkbox]:checked~.checkbox-content{background:#3b82f6;border-color:#3b82f6;color:#fff}.checkbox-icon{font-size:32px;margin-bottom:8px}.checkbox-label{font-size:15px;font-weight:600;text-align:center}.checkbox-card input[type=checkbox]:checked~.checkbox-content .checkbox-label{color:#fff}.message{padding:14px 18px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px}.message-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.message-success{background:#dcfce7;color:#166534;border:1px solid #86efac}.form-actions{display:flex;justify-content:center;margin-top:8px}.btn-submit{padding:14px 32px;background:#3b82f6;color:#fff;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:200px;justify-content:center}.btn-submit:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{background:#9ca3af;cursor:not-allowed;opacity:.7}.spinner{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite}.form-note{text-align:center;font-size:13px;color:#6b7280;margin:8px 0 0}@media (max-width: 768px){.interest-form-page{padding:0}.form-section{padding:20px;border-radius:6px}.section-title{font-size:16px}.form-row{grid-template-columns:1fr;gap:12px}.checkbox-grid{grid-template-columns:1fr}.btn-submit{width:100%;min-width:unset}}@media (max-width: 480px){.status-banner{font-size:13px;padding:10px 12px}.form-section{padding:16px}.section-title{font-size:15px;margin-bottom:16px;padding-bottom:10px}.form-label{font-size:13px}.form-input,.form-select,.form-textarea{padding:9px 12px;font-size:13px}.checkbox-content{padding:16px;min-height:90px}.checkbox-icon{font-size:28px}.checkbox-label{font-size:14px}.btn-submit{padding:12px 24px;font-size:15px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.checkbox-grid,.form-row{grid-template-columns:repeat(3,1fr)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.form-input,.form-select,.form-textarea{border-width:.5px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-width:1px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease}.success-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;z-index:9999;max-width:480px;width:90%;text-align:center;animation:slideUp .3s ease}.modal-icon{font-size:64px;margin-bottom:20px;animation:bounce .6s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.modal-title{font-size:28px;font-weight:700;color:#111827;margin:0 0 12px}.modal-message{font-size:16px;color:#6b7280;margin:0 0 32px;line-height:1.5}.modal-actions{display:flex;flex-direction:column;gap:12px}.btn-modal{padding:14px 28px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-modal.btn-primary{background:#3b82f6;color:#fff}.btn-modal.btn-primary:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.btn-modal.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.btn-modal.btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-modal:active{transform:translateY(0)}@media (max-width: 480px){.success-modal{padding:32px 24px;width:92%;border-radius:12px}.modal-icon{font-size:48px;margin-bottom:16px}.modal-title{font-size:24px;margin-bottom:10px}.modal-message{font-size:15px;margin-bottom:24px}.btn-modal{padding:12px 24px;font-size:15px}}.geocoding-indicator{font-size:12px;color:#3b82f6;font-weight:500;margin-left:8px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.geocode-success{margin-top:6px;font-size:13px;color:#10b981;font-weight:500;display:flex;align-items:center;gap:4px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.static-map-wrapper{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background:#f9fafb;padding:0;position:relative}.static-map-container{position:relative;width:100%;height:100%;max-width:1600px;background:#fff;border-radius:0;box-shadow:none;overflow:hidden;display:flex;justify-content:center;align-items:center}.map-background{width:100%;height:100%;object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none;display:block}.state-labels-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.state-label{position:absolute;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:#6b7280;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px rgba(255,255,255,.9);letter-spacing:.5px;-webkit-user-select:none;user-select:none;opacity:.7;transition:opacity .2s ease;pointer-events:auto;cursor:help}.state-label:hover{opacity:1;color:#374151}.markers-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.customer-marker{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:2px solid white;box-shadow:0 2px 6px #0000004d;cursor:pointer;pointer-events:auto;transition:all .2s ease;z-index:1}.customer-marker:hover{transform:translate(-50%,-50%) scale(1.8);z-index:100;box-shadow:0 4px 12px #00000080}.map-legend{position:absolute;top:20px;right:20px;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px;border-radius:8px;box-shadow:0 2px 8px #00000026;font-size:12px;z-index:10;min-width:140px}.legend-title{font-weight:600;color:#111827;margin-bottom:8px;font-size:13px}.legend-item{display:flex;align-items:center;margin-bottom:6px;color:#374151;gap:8px}.legend-color{width:12px;height:12px;border-radius:50%;border:1.5px solid white;box-shadow:0 1px 3px #0003;flex-shrink:0}.legend-size{border-radius:50%;background-color:#6b7280;border:1.5px solid white;box-shadow:0 1px 3px #0003;flex-shrink:0}.legend-customer{width:12px;height:12px}.legend-prospect{width:10px;height:10px}.legend-lead{width:8px;height:8px}.customer-count-badge{position:absolute;bottom:20px;left:20px;background:#3b82f6f2;color:#fff;padding:10px 16px;border-radius:20px;font-weight:600;font-size:14px;box-shadow:0 2px 8px #3b82f666;z-index:10}@media (max-width: 768px){.static-map-wrapper{padding:0}.static-map-container{border-radius:0}.map-legend{top:12px;right:12px;padding:10px 12px;font-size:11px;min-width:120px}.legend-title{font-size:12px}.customer-count-badge{bottom:12px;left:12px;padding:8px 14px;font-size:13px}.customer-marker{border-width:1.5px}.customer-marker:hover{transform:translate(-50%,-50%) scale(2.2)}.state-label{font-size:9px;letter-spacing:.3px}}@media (max-width: 480px){.customer-count-badge{bottom:10px;left:10px;padding:6px 12px;font-size:12px}.customer-marker{border-width:1px}.state-label{font-size:7px;letter-spacing:.2px;opacity:.6}}@media print{.map-legend,.customer-count-badge{display:none}.static-map-container{box-shadow:none}}.interest-map-page{display:flex;flex-direction:column;gap:2px;max-width:1800px;margin:0 auto;padding:0;height:100%}.map-header{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014;flex-shrink:0}.btn-back,.btn-refresh{padding:10px 18px;background:#f3f4f6;color:#374151;font-size:14px;font-weight:600;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-back:hover,.btn-refresh:hover{background:#e5e7eb;transform:translateY(-1px)}.btn-back:active,.btn-refresh:active{transform:translateY(0)}.map-stats{display:flex;gap:12px;flex:1;justify-content:center}.stat-badge{display:flex;align-items:center;gap:10px;padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;box-shadow:0 2px 8px #3b82f64d}.stat-value{font-size:28px;font-weight:700}.stat-label{font-size:14px;font-weight:500;opacity:.95}.map-container{position:relative;width:100%;flex:1;min-height:600px;max-height:800px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;align-items:center;justify-content:center}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.loading-spinner-large{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.map-loading p{font-size:15px;font-weight:500}.map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.error-icon{font-size:64px;margin-bottom:16px}.map-error h3{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.map-error p{font-size:15px;color:#6b7280;margin:0 0 24px}.btn-retry{padding:10px 24px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:#2563eb;transform:translateY(-1px)}.map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.5}.map-empty h3{font-size:24px;font-weight:600;color:#111827;margin:0 0 12px}.map-empty p{font-size:16px;color:#6b7280;margin:0 0 28px}.btn-add-first{padding:12px 28px;background:#3b82f6;color:#fff;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-add-first:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:fadeIn .2s ease}.interest-detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:28px;box-shadow:0 20px 60px #0000004d;z-index:10001;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.close-button{position:absolute;top:16px;right:16px;background:transparent;border:none;font-size:32px;line-height:1;color:#6b7280;cursor:pointer;transition:color .2s ease;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#111827}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.detail-header h3{font-size:22px;font-weight:700;color:#111827;margin:0;flex:1;padding-right:12px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-lead{background:#f3f4f6;color:#6b7280}.detail-content{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:13px;font-weight:600;color:#6b7280;display:flex;align-items:center;gap:6px}.detail-value{font-size:15px;color:#111827;padding-left:24px}.product-tags{display:flex;flex-wrap:wrap;gap:8px;padding-left:24px}.product-tag{padding:6px 12px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;font-weight:600}@media (max-width: 768px){.map-header{flex-wrap:wrap;padding:12px 16px}.map-stats{order:-1;width:100%;justify-content:center}.stat-badge,.btn-back,.btn-refresh{flex:1;justify-content:center}.map-container{min-height:450px;max-height:600px}.interest-detail-modal{padding:24px;max-height:85vh;width:95%}.detail-header h3{font-size:20px}}@media (max-width: 480px){.interest-map-page{gap:0}.map-header{padding:10px 12px;gap:10px}.stat-badge{padding:6px 12px;font-size:12px}.stat-icon{font-size:16px}.stat-value{font-size:18px}.stat-label{font-size:11px}.btn-back,.btn-refresh{padding:8px 14px;font-size:13px}.map-container{min-height:350px;max-height:500px}.interest-detail-modal{padding:20px;border-radius:10px;width:92%}.detail-header h3{font-size:18px}.detail-value{padding-left:20px;font-size:14px}.product-tags{padding-left:20px}}.responses-page{min-height:100vh;background:#f9fafb;padding:24px}.responses-container{max-width:1400px;margin:0 auto}.responses-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.responses-title{font-size:32px;font-weight:700;color:#111827;margin:0 0 8px;display:flex;align-items:center;gap:12px}.responses-title svg{flex-shrink:0}.responses-subtitle{font-size:16px;color:#6b7280;margin:0}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-refresh{background:#fff;color:#374151;border:1px solid #e5e7eb}.btn-refresh:hover{background:#f9fafb;border-color:#d1d5db}.btn-export{background:#10b981;color:#fff}.btn-export:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#eff6ff;border-radius:10px;flex-shrink:0}.stat-icon svg{color:#3b82f6}.stat-content{flex:1}.stat-value{font-size:28px;font-weight:700;color:#111827;line-height:1.2}.stat-label{font-size:13px;color:#6b7280;margin-top:4px}.filters-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.filter-group{flex:1;min-width:250px}.search-input{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-select{width:100%;padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;cursor:pointer;background:#fff;transition:all .2s ease}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-info{font-size:13px;color:#6b7280;white-space:nowrap}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:24px}.responses-table{width:100%;border-collapse:collapse}.responses-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.responses-table th{padding:14px 16px;text-align:left;font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.responses-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.responses-table tbody tr:last-child td{border-bottom:none}.responses-table tbody tr:hover{background:#f9fafb}.td-name{font-weight:600;color:#111827}.td-email{color:#3b82f6}.td-phone{font-family:Courier New,monospace}.products-list{display:flex;flex-wrap:wrap;gap:6px}.product-badge{display:inline-block;padding:3px 10px;background:#eff6ff;color:#1e40af;border-radius:12px;font-size:12px;font-weight:500}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:#6b7280;font-size:15px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;text-align:center}.error-icon{margin-bottom:16px;color:#ef4444}.error-icon svg{display:block}.error-state h3{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.error-state p{color:#6b7280;font-size:15px;margin:8px 0}.error-hint{background:#f9fafb;padding:12px 16px;border-radius:8px;margin-top:16px!important}.error-hint code{background:#e5e7eb;padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;text-align:center}.empty-icon{margin-bottom:16px;color:#9ca3af}.empty-icon svg{display:block}.empty-state h3{font-size:20px;font-weight:600;color:#111827;margin:0 0 8px}.empty-state p{color:#6b7280;font-size:15px;margin-bottom:24px}.bottom-actions{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.action-note{font-size:13px;color:#d97706;margin:0;flex:1;display:flex;align-items:center;gap:4px}.action-note svg{flex-shrink:0;color:#d97706}@media (max-width: 1024px){.responses-table{font-size:13px}.responses-table th,.responses-table td{padding:10px 12px}}@media (max-width: 768px){.responses-page{padding:16px}.responses-header{flex-direction:column;gap:20px}.header-actions{width:100%;justify-content:stretch}.header-actions .btn{flex:1}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.filters-section{flex-direction:column;align-items:stretch}.filter-group{min-width:unset}.table-container{overflow-x:auto}.responses-table{min-width:800px}.bottom-actions{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.responses-title{font-size:24px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.stat-value{font-size:24px}}.tasks-page-content{max-width:1400px;margin:0 auto}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.tasks-header h1{margin:0;font-size:28px;font-weight:700;color:#111827}.tasks-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.tasks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;border-top:4px solid #3b82f6}.stat-card.stat-todo{border-top-color:#f59e0b}.stat-card.stat-progress{border-top-color:#3b82f6}.stat-card.stat-done{border-top-color:#10b981}.stat-card.stat-overdue{border-top-color:#ef4444}.stat-card.stat-urgent{border-top-color:#8b5cf6}.stat-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:#111827}.tasks-content{display:grid;grid-template-columns:240px 1fr;gap:24px}.tasks-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;height:fit-content;position:sticky;top:24px}.filter-section{margin-bottom:24px}.filter-section:last-child{margin-bottom:0}.filter-section h3{font-size:13px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.filter-btn{display:block;width:100%;padding:8px 12px;margin-bottom:6px;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f3f4f6;border-color:#e5e7eb}.filter-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6;font-weight:500}.filter-btn.priority-urgent.active{background:#fef2f2;border-color:#ef4444;color:#ef4444}.filter-btn.priority-high.active{background:#fff7ed;border-color:#f59e0b;color:#f59e0b}.filter-btn.priority-medium.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-btn.priority-low.active{background:#f0fdf4;border-color:#10b981;color:#10b981}.tasks-main{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;min-height:600px;display:flex;flex-direction:column}.tasks-list{display:flex;flex-direction:column;gap:12px;flex:1}.task-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.task-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.task-item.task-done{opacity:.6}.task-item.task-done .task-title{text-decoration:line-through;color:#9ca3af}.task-item.task-overdue{border-color:#fecaca;background:#fef2f2}.task-checkbox{flex-shrink:0;padding-top:2px}.task-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.task-content{flex:1;min-width:0}.task-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.task-title{margin:0;font-size:16px;font-weight:600;color:#111827}.task-badges{display:flex;gap:6px;flex-shrink:0}.task-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f3f4f6;color:#374151;border-radius:6px;font-size:11px;font-weight:500;text-transform:capitalize}.task-type-badge svg{flex-shrink:0}.priority-badge{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.priority-badge.priority-urgent{background:#fef2f2;color:#ef4444}.priority-badge.priority-high{background:#fff7ed;color:#f59e0b}.priority-badge.priority-medium{background:#eff6ff;color:#3b82f6}.priority-badge.priority-low{background:#f0fdf4;color:#10b981}.task-note{margin:0 0 8px;font-size:14px;color:#6b7280;line-height:1.5}.task-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#6b7280}.task-due{display:inline-flex;align-items:center;gap:4px}.task-due svg{flex-shrink:0}.task-due.overdue{color:#ef4444;font-weight:600}.task-actions{display:flex;gap:8px;flex-shrink:0}.task-action-btn{padding:8px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.task-action-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.task-action-btn.delete-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.no-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px;color:#6b7280;flex:1;min-height:400px}.no-tasks svg{color:#d1d5db;margin-bottom:24px}.no-tasks p{font-size:18px;font-weight:500;margin:0 0 24px;color:#374151}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 32px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:24px;font-weight:700;color:#111827;letter-spacing:-.5px}.task-form{padding:28px 32px 32px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-size:12px;font-weight:600;color:#6b7280;text-align:left;text-transform:uppercase;letter-spacing:.5px}.form-group label .required{color:#ef4444;margin-left:2px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:15px;font-family:inherit;color:#111827;background:#fff;transition:all .2s ease;box-sizing:border-box}.form-group input[type=date]{cursor:pointer;position:relative}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.form-row .form-group{margin-bottom:0}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;justify-content:center}.btn-primary:active{transform:translateY(0)}.btn-secondary{padding:12px 24px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;border:4px solid rgba(0,0,0,.1);border-left-color:#111827;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px;flex-shrink:0;aspect-ratio:1 / 1;display:block;box-sizing:border-box}@media (max-width: 768px){.tasks-page{padding:16px}.tasks-content{grid-template-columns:1fr}.tasks-sidebar{position:static}.tasks-stats{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.task-title-row{flex-direction:column;align-items:flex-start}.task-badges{margin-top:8px}}.calendar-page{padding:32px;background:#f9fafb;min-height:100vh;max-width:100%;overflow-x:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.calendar-header-left h1{font-size:28px;font-weight:600;color:#111827;margin:0 0 4px}.calendar-subtitle{color:#6b7280;font-size:14px;margin:0}.calendar-header-actions{display:flex;gap:12px;align-items:center}.btn-secondary{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#e5e7eb}.view-switcher{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.view-switcher button{padding:8px 16px;background:#fff;color:#6b7280;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.view-switcher button:not(:last-child){border-right:1px solid #e5e7eb}.view-switcher button:hover{background:#f9fafb}.view-switcher button.active{background:#3b82f6;color:#fff}.calendar-content{display:grid;grid-template-columns:1fr 320px;gap:24px;margin-left:20px;width:100%}.calendar-main{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 20px 20px 50px;box-shadow:0 1px 3px #00000014;min-width:0;display:flex;flex-direction:column;height:fit-content}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.month-year{font-size:20px;font-weight:600;color:#111827;margin:0}.nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#374151}.nav-btn:hover{background:#f3f4f6;border-color:#d1d5db}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;max-width:100%}.calendar-day-header{text-align:center;font-size:11px;font-weight:600;color:#6b7280;padding:8px 4px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.calendar-day{border:1px solid #e5e7eb;border-radius:6px;padding:6px;cursor:pointer;transition:all .2s ease;background:#fff;position:relative;display:flex;flex-direction:column;min-height:95px;height:auto;max-height:140px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}.calendar-day.empty{background:#f9fafb;cursor:default;border-color:#f3f4f6}.calendar-day:not(.empty):hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.calendar-day.today{border-color:#3b82f6;background:#eff6ff}.calendar-day.selected{border-color:#3b82f6;border-width:2px;background:#eff6ff}.calendar-day::-webkit-scrollbar{width:4px}.calendar-day::-webkit-scrollbar-track{background:transparent}.calendar-day::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.calendar-day::-webkit-scrollbar-thumb:hover{background:#9ca3af}.day-number{font-size:13px;font-weight:500;color:#111827;margin-bottom:6px;text-align:left;flex-shrink:0}.calendar-day.today .day-number{color:#3b82f6;font-weight:600}.day-tasks{display:flex;gap:3px;margin-top:auto;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end}.task-dot{width:6px;height:6px;border-radius:50%;background:#9ca3af}.task-dot.priority-high{background:#ef4444}.task-dot.priority-urgent{background:#dc2626}.task-dot.priority-medium{background:#f59e0b}.task-dot.priority-low{background:#3b82f6}.task-more{font-size:10px;color:#6b7280;font-weight:600}.calendar-sidebar{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #00000014;overflow:hidden;height:fit-content;max-height:calc(100vh - 200px);display:flex;flex-direction:column}.sidebar-header{padding:20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#3b82f6,#2563eb)}.sidebar-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.sidebar-content{padding:20px;overflow-y:auto;flex:1}.no-tasks{text-align:center;padding:40px 20px}.no-tasks svg{color:#d1d5db;margin-bottom:16px}.no-tasks p{color:#9ca3af;font-size:14px;margin:0}.tasks-list{display:flex;flex-direction:column;gap:12px}.task-card{padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.task-card:hover{box-shadow:0 2px 8px #00000014;border-color:#d1d5db}.task-header{display:flex;gap:8px;margin-bottom:8px}.priority-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase}.priority-badge.priority-high{background:#fee2e2;color:#dc2626}.priority-badge.priority-urgent{background:#fecaca;color:#991b1b}.priority-badge.priority-medium{background:#fef3c7;color:#d97706}.priority-badge.priority-low{background:#dbeafe;color:#1d4ed8}.priority-badge.priority-none{background:#f3f4f6;color:#6b7280}.status-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:capitalize}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.in_progress{background:#dbeafe;color:#1d4ed8}.status-badge.completed{background:#d1fae5;color:#059669}.task-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827}.task-note{font-size:13px;color:#6b7280;margin:0 0 8px;line-height:1.5}.task-type{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;text-transform:capitalize}.task-type svg{color:#9ca3af}@media (max-width: 1400px){.calendar-content{grid-template-columns:1fr}.calendar-sidebar{max-width:100%}}@media (max-width: 1200px){.calendar-content{grid-template-columns:1fr}.calendar-sidebar{order:-1}.calendar-day{min-height:85px;max-height:120px}}@media (max-width: 768px){.calendar-page{padding:16px}.calendar-header{flex-direction:column;gap:16px}.calendar-header-actions{width:100%;flex-direction:column}.view-switcher{width:100%}.view-switcher button{flex:1}.calendar-main{padding:12px}.calendar-grid{gap:3px}.calendar-day{padding:4px;min-height:70px;max-height:100px}.day-number{font-size:12px}.calendar-day-header{font-size:10px;padding:8px 4px}.task-dot{width:4px;height:4px}}.google-sync-status{display:flex;align-items:center;gap:8px;margin-left:30px;margin-top:12px;padding:10px 14px;background:#e8f4fd;border-radius:8px;font-size:13px;color:#1967d2;font-weight:500}.google-sync-status svg{flex-shrink:0}.btn-refresh{padding:6px;background:transparent;border:none;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-refresh:hover:not(:disabled){background:#1967d226}.btn-refresh:disabled{opacity:.5;cursor:not-allowed}.day-items{margin-top:4px;display:flex;flex-direction:column;gap:3px;flex:1;min-height:0;width:100%;overflow:hidden}.item-indicator{display:flex;align-items:center;gap:3px;padding:3px 5px;border-radius:3px;font-size:10px;line-height:1.3;min-height:16px;max-height:20px;box-sizing:border-box;max-width:100%;width:100%;overflow:hidden}.task-indicator{background:#eff6ff;border-left:3px solid #3b82f6;color:#1e40af}.task-indicator.priority-high{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}.task-indicator.priority-medium{border-left-color:#f59e0b;background:#fffbeb;color:#92400e}.task-indicator.priority-low{border-left-color:#10b981;background:#ecfdf5;color:#065f46}.event-indicator{background:#e8f4fd;border-left:3px solid #4285F4;color:#1967d2}.event-indicator svg,.item-indicator svg{flex-shrink:0;width:8px;height:8px;min-width:8px}.item-text{font-size:10px;font-weight:500;line-height:1.3;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-more{font-size:10px;color:#6b7280;padding:2px 4px;text-align:center;font-weight:600;background:#f3f4f6;border-radius:3px}.tasks-section,.events-section{margin-bottom:28px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #e5e7eb}.section-title h4{margin:0;font-size:15px;font-weight:700;color:#111827}.section-title svg{flex-shrink:0}.items-list{display:flex;flex-direction:column;gap:12px}.event-card{padding:14px;background:#fff;border:1px solid #e5e7eb;border-left:4px solid #4285F4;border-radius:8px;transition:all .2s ease}.event-card:hover{box-shadow:0 4px 12px #4285f426;transform:translate(3px);border-left-width:5px}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.event-time{font-size:13px;font-weight:700;color:#4285f4;padding:4px 10px;background:#e8f4fd;border-radius:6px}.event-card h4{margin:0 0 10px;font-size:15px;font-weight:700;color:#111827;line-height:1.4}.event-description{font-size:13px;color:#6b7280;margin:10px 0;line-height:1.6}.event-location{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;margin-top:10px;padding:6px 10px;background:#f9fafb;border-radius:6px}.view-in-google{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4285f4;text-decoration:none;margin-top:12px;font-weight:600;transition:all .2s ease}.view-in-google:hover{color:#1967d2;text-decoration:underline;gap:8px}.sync-to-google-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;margin-top:14px;background:#fff;border:2px solid #4285F4;border-radius:8px;font-size:13px;font-weight:600;color:#4285f4;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.sync-to-google-btn:hover{background:#4285f4;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #4285f44d}.sync-to-google-btn:active{transform:translateY(0)}.sync-to-google-btn svg{flex-shrink:0}.campaigns-page-content{max-width:1400px;margin:0 auto}.campaigns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.campaigns-header h1{margin:0;font-size:28px;font-weight:700;color:#111827}.campaigns-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.header-actions{display:flex;gap:12px;align-items:center}.analytics-embed{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;overflow:hidden}.analytics-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.analytics-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.analytics-link{font-size:13px;color:#3b82f6;text-decoration:none;font-weight:500}.analytics-link:hover{text-decoration:underline}.analytics-iframe{width:100%;height:600px;border:none}.campaigns-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;border-top:4px solid #3b82f6;text-align:center}.stat-card.stat-active{border-top-color:#10b981}.stat-card.stat-draft{border-top-color:#6b7280}.stat-card.stat-paused{border-top-color:#f59e0b}.stat-card.stat-completed{border-top-color:#8b5cf6}.stat-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700;color:#111827}.campaigns-filters{display:flex;gap:16px;align-items:center;margin-bottom:24px;background:#fff;padding:16px;border:1px solid #e5e7eb;border-radius:8px}.search-box{position:relative;width:280px;flex-shrink:0}.search-box svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.search-box input{width:100%;padding:10px 14px 10px 42px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#111827;background:#f9fafb;transition:all .2s ease;box-sizing:border-box}.search-box input::placeholder{color:#9ca3af}.search-box input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.filter-buttons{display:flex;flex-direction:row;gap:8px;align-items:center}.filter-btn{padding:8px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-btn:hover{background:#f3f4f6;border-color:#d1d5db}.filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:600}.campaigns-list{display:flex;flex-direction:column;gap:16px;margin-top:0}.campaign-card{display:flex;gap:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease}.campaign-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.campaign-main{flex:1;min-width:0}.campaign-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.campaign-name{margin:0;font-size:18px;font-weight:600;color:#111827}.status-badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.campaign-description{margin:0 0 12px;font-size:14px;color:#6b7280;line-height:1.5}.campaign-utm{margin-bottom:12px}.utm-tags{display:flex;flex-wrap:wrap;gap:8px}.utm-tag{padding:4px 10px;background:#eff6ff;color:#1e40af;border-radius:6px;font-size:12px}.utm-tag strong{font-weight:600;margin-right:4px}.campaign-link{display:flex;gap:8px;margin-bottom:12px}.link-input{flex:1;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-family:SF Mono,Consolas,monospace;color:#374151;min-width:0}.copy-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.copy-btn.copied{background:#d1fae5;border-color:#10b981;color:#059669}.campaign-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.meta-item svg{flex-shrink:0}.campaign-actions{display:flex;flex-direction:column;gap:8px}.action-btn{padding:10px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.action-btn.delete-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.action-btn.view-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.campaign-card.clickable{cursor:pointer}.campaign-card.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f626}.campaign-card.clickable:hover .view-details-hint{opacity:1;color:#3b82f6}.view-details-hint{margin-left:auto;font-size:13px;font-weight:500;color:#9ca3af;opacity:0;transition:all .2s ease}.no-campaigns{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;min-height:400px}.no-campaigns svg{color:#d1d5db;margin-bottom:20px;opacity:.8}.no-campaigns p{font-size:18px;font-weight:500;margin:0 0 20px;color:#374151}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content.campaign-modal{background:#fff;border-radius:12px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;font-size:22px;font-weight:700;color:#111827}.close-btn{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#111827}.campaign-form{padding:24px 28px 28px}.form-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:11px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;color:#111827;background:#fff;transition:all .2s ease;box-sizing:border-box}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.form-group textarea{resize:vertical;min-height:80px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.utm-preview{margin-top:20px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.utm-preview label{display:block;margin-bottom:10px;font-size:13px;font-weight:600;color:#374151}.preview-box{padding:12px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;overflow-x:auto}.preview-box code{font-family:SF Mono,Consolas,monospace;font-size:13px;color:#1e40af;word-break:break-all}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;color:#111827}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.loading-container p{margin:0;color:#6b7280;font-size:14px;font-weight:500}.error-message{padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;margin-bottom:24px;font-size:14px}@media (max-width: 1200px){.campaigns-stats{grid-template-columns:repeat(5,1fr)}}@media (max-width: 1024px){.campaigns-filters,.filter-buttons{flex-wrap:wrap}.campaigns-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.campaigns-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.header-actions .btn-primary,.header-actions .btn-secondary{flex:1;justify-content:center}.campaigns-stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-value{font-size:24px}.campaigns-filters{flex-direction:column;align-items:stretch}.search-box{width:100%}.filter-buttons{width:100%;justify-content:flex-start}.campaign-card{flex-direction:column}.campaign-actions{flex-direction:row;justify-content:flex-end}.form-row{grid-template-columns:1fr}.modal-content.campaign-modal{max-height:100vh;border-radius:0}.analytics-iframe{height:400px}}.modal-content.campaign-detail-modal{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}.detail-header-info{display:flex;align-items:center;gap:12px}.detail-header-info h2{margin:0;font-size:22px;font-weight:700;color:#111827}.campaign-detail-content{padding:24px 28px}.detail-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#111827;text-transform:uppercase;letter-spacing:.5px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0}.customer-count{font-size:13px;color:#6b7280;font-weight:500}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.detail-value{font-size:14px;color:#111827;font-weight:500}.utm-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.utm-detail-item{background:#f9fafb;padding:12px;border-radius:8px;text-align:center}.utm-label{display:block;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.utm-value{display:block;font-size:13px;color:#111827;font-weight:500}.generated-link-box{background:#eff6ff;padding:16px;border-radius:8px;border:1px solid #bfdbfe}.link-label{display:block;font-size:12px;font-weight:600;color:#1e40af;margin-bottom:8px}.link-row{display:flex;gap:12px;align-items:center}.link-code{flex:1;font-family:SF Mono,Consolas,monospace;font-size:12px;color:#1e40af;word-break:break-all;background:#fff;padding:10px 12px;border-radius:6px;border:1px solid #bfdbfe}.copy-btn-small{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-btn-small:hover{background:#2563eb}.loading-customers{display:flex;flex-direction:column;align-items:center;padding:40px;color:#6b7280}.loading-spinner.small{width:32px;height:32px;border-width:3px;margin-bottom:12px}.no-customers{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;background:#f9fafb;border-radius:8px}.no-customers svg{color:#d1d5db;margin-bottom:16px}.no-customers p{margin:0 0 8px;font-size:15px;font-weight:500;color:#374151}.no-customers .hint{font-size:13px;color:#9ca3af}.customers-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.customers-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e5e7eb}.customers-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#374151}.customer-name{font-weight:600;color:#111827}.customer-email{color:#3b82f6}.customer-date{color:#6b7280;font-size:13px}.customer-status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;color:#fff;text-transform:capitalize}.remove-btn{padding:6px;background:transparent;border:1px solid #e5e7eb;border-radius:4px;color:#9ca3af;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.notes-text{margin:0;font-size:14px;color:#374151;line-height:1.6;background:#f9fafb;padding:16px;border-radius:8px}.detail-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}@media (max-width: 768px){.modal-content.campaign-detail-modal{max-height:100vh;border-radius:0}.detail-grid{grid-template-columns:1fr}.utm-detail-grid{grid-template-columns:repeat(2,1fr)}.link-row{flex-direction:column;align-items:stretch}.customers-table{font-size:12px}.customers-table th,.customers-table td{padding:10px 12px}}.campaign-detail-page{max-width:1400px;margin:0 auto;min-height:calc(100vh - 100px)}.detail-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.header-actions{display:flex;gap:12px}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6}.btn-danger{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#2563eb}.campaign-title-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px;margin-bottom:24px}.title-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.title-row h1{margin:0;font-size:28px;font-weight:700;color:#111827}.status-badge.large{padding:6px 14px;font-size:13px}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.status-draft{background:#f3f4f6;color:#6b7280}.status-badge.status-active{background:#d1fae5;color:#059669}.status-badge.status-paused{background:#fef3c7;color:#d97706}.status-badge.status-completed{background:#ede9fe;color:#7c3aed}.status-badge.status-cancelled{background:#fee2e2;color:#dc2626}.campaign-title-section .campaign-description{margin:0 0 20px;font-size:15px;color:#6b7280;line-height:1.6}.status-actions{display:flex;align-items:center;gap:8px;padding-top:16px;border-top:1px solid #e5e7eb}.status-label{font-size:13px;font-weight:500;color:#6b7280;margin-right:8px}.status-btn{padding:6px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;text-transform:capitalize;transition:all .2s ease}.status-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.status-btn.current{background:#3b82f6;border-color:#3b82f6;color:#fff;cursor:default}.status-btn:disabled{opacity:1}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.detail-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.customers{background:#eff6ff;color:#3b82f6}.stat-icon.budget{background:#f0fdf4;color:#10b981}.stat-icon.calendar{background:#fef3c7;color:#f59e0b}.stat-icon.target{background:#ede9fe;color:#8b5cf6}.stat-info{display:flex;flex-direction:column;min-width:0}.stat-number{font-size:22px;font-weight:700;color:#111827;white-space:nowrap}.stat-number.truncate{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.stat-info .stat-label{font-size:13px;color:#6b7280;font-weight:500}.detail-content-grid{display:grid;grid-template-columns:400px 1fr;gap:24px}.detail-column{display:flex;flex-direction:column;gap:24px}.detail-column.wide{min-width:0}.detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.detail-card h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#111827}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.card-header h3{margin:0;font-size:16px;font-weight:600;color:#111827;flex:1}.customer-count-badge{display:inline-flex;align-items:center;padding:6px 14px;background:#eff6ff;color:#3b82f6;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;flex-shrink:0}.utm-params-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.utm-param{background:#f9fafb;padding:12px;border-radius:8px}.param-label{display:block;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.param-value{display:block;font-size:14px;color:#111827;font-weight:500}.generated-url-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:16px}.generated-url-box label{display:block;font-size:12px;font-weight:600;color:#1e40af;margin-bottom:10px;text-align:center}.url-display{background:#fff;border:1px solid #bfdbfe;border-radius:6px;padding:14px 16px;margin-bottom:12px;overflow:hidden}.url-display code{font-family:SF Mono,Consolas,Monaco,monospace;font-size:13px;color:#1e40af;word-break:break-all;overflow-wrap:anywhere;display:block;line-height:1.5}.copy-url-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:#3b82f6;border:none;border-radius:6px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.copy-url-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.copy-url-btn:active{transform:translateY(0)}.copy-url-btn.copied{background:#10b981}.copy-url-btn svg{flex-shrink:0}.qr-code-section{margin-top:20px;padding-top:20px;border-top:1px solid #bfdbfe;text-align:center}.qr-code-section label{display:block;font-size:12px;font-weight:600;color:#1e40af;margin-bottom:12px;text-align:center}.qr-code-container{display:flex;justify-content:center;margin-bottom:12px}.qr-code-image{width:180px;height:180px;border-radius:12px;background:#fff;padding:8px;box-shadow:0 2px 8px #1e40af1a}.download-qr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;font-weight:600;color:#1e40af;text-decoration:none;cursor:pointer;transition:all .2s ease}.download-qr-btn:hover{background:#dbeafe;border-color:#3b82f6}.download-qr-btn svg{flex-shrink:0}.details-list{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.detail-row:last-child{border-bottom:none}.row-label{font-size:14px;color:#6b7280}.row-value{font-size:14px;color:#111827;font-weight:500;text-align:right}.notes-section{margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.notes-section label{display:block;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.notes-section p{margin:0;font-size:14px;color:#374151;line-height:1.6;background:#f9fafb;padding:12px;border-radius:6px}.loading-customers{display:flex;flex-direction:column;align-items:center;padding:60px 20px;color:#6b7280}.loading-spinner{width:48px;height:48px;border:4px solid rgba(0,0,0,.1);border-left-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-spinner.small{width:32px;height:32px;border-width:3px}.empty-customers{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px}.empty-customers svg{color:#d1d5db;margin-bottom:16px}.empty-customers h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.empty-customers p{margin:0 0 16px;font-size:14px;color:#6b7280;max-width:400px}.empty-hint{padding:12px 16px;background:#eff6ff;border-radius:8px;font-size:13px;color:#1e40af}.empty-hint strong{font-weight:600}.customers-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}.customers-table{width:100%;border-collapse:collapse;font-size:14px}.customers-table th{background:#f9fafb;padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.customers-table td{padding:14px 16px;border-bottom:1px solid #e5e7eb;color:#374151}.customers-table tr:last-child td{border-bottom:none}.customers-table tr:hover td{background:#f9fafb}.cell-name .customer-name{font-weight:600;color:#111827}.cell-email a{color:#3b82f6;text-decoration:none}.cell-email a:hover{text-decoration:underline}.cell-location{color:#6b7280}.cell-date{color:#6b7280;font-size:13px;white-space:nowrap}.cell-actions{width:40px;text-align:center}.customer-status{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;color:#fff;text-transform:capitalize}.remove-customer-btn{padding:6px;background:transparent;border:1px solid #e5e7eb;border-radius:4px;color:#9ca3af;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-customer-btn:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px;text-align:center}.error-container svg{color:#ef4444;margin-bottom:24px}.error-container h2{margin:0 0 12px;font-size:24px;font-weight:700;color:#111827}.error-container p{margin:0 0 24px;font-size:15px;color:#6b7280}@media (max-width: 1200px){.detail-content-grid{grid-template-columns:1fr}.detail-column{width:100%}}@media (max-width: 1024px){.detail-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.detail-page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.header-actions button{flex:1;justify-content:center}.title-row{flex-direction:column;align-items:flex-start;gap:12px}.status-actions{flex-wrap:wrap}.detail-stats,.utm-params-grid{grid-template-columns:1fr}.customers-table{font-size:13px}.customers-table th,.customers-table td{padding:10px 12px}}.modern-auth-container{display:flex;min-height:100vh;width:100%;overflow:hidden}.modern-auth-left{flex:1;background:#1e293b;position:relative;display:flex;align-items:center;justify-content:center;padding:60px 40px;overflow:hidden}.brand-content{z-index:2;position:relative;display:flex;align-items:center;justify-content:center}.brand-logo{display:flex;justify-content:center;align-items:center}.logo-image{height:250px;width:auto;object-fit:contain;opacity:1;transition:transform .3s ease;max-width:400px;border-radius:20px;box-shadow:0 8px 24px #0000001a;background:#fffffff2;padding:20px}.logo-image.preserve-colors{filter:none}.logo-image:hover{transform:scale(1.05);box-shadow:0 12px 32px #00000026;background:#fff}.logo-fallback{color:#fff;font-size:32px;font-weight:700;text-align:center;letter-spacing:-.5px;line-height:1.2}.modern-auth-right{flex:0 0 480px;background:#fff;display:flex;align-items:center;justify-content:center;padding:60px 40px;box-shadow:-10px 0 30px #0000001a}.login-container{width:100%;max-width:360px}.login-header{text-align:center;margin-bottom:40px}.login-title{font-size:24px;font-weight:600;color:#1e293b;margin:0;letter-spacing:2px;text-transform:uppercase}.login-form-wrapper{width:100%}.login-form-wrapper .auth-form{display:flex;flex-direction:column;gap:24px}.login-form-wrapper .form-group{display:flex;flex-direction:column;gap:8px}.login-form-wrapper .form-label{display:none}.login-form-wrapper .input-wrapper{position:relative;display:flex;align-items:center;width:100%}.login-form-wrapper .input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;transition:color .2s ease;z-index:2;display:flex;align-items:center;justify-content:center;width:18px;height:18px}.login-form-wrapper .input-icon svg{width:18px;height:18px;flex-shrink:0}.login-form-wrapper .input-wrapper:focus-within .input-icon{color:#3b82f6}.login-form-wrapper .form-input{width:100%;border:2px solid #e5e7eb;border-radius:50px;padding:16px 20px 16px 52px;background:#f8fafc;outline:none;font-size:15px;color:#374151;transition:all .3s ease;box-sizing:border-box;height:56px}.login-form-wrapper .form-input::placeholder{color:#9ca3af;font-size:14px}.login-form-wrapper .form-input:hover{border-color:#d1d5db;background:#fff}.login-form-wrapper .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background:#fff}.login-form-wrapper .form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:-8px;margin-bottom:8px}.remember-me{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.remember-me input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.login-form-wrapper .forgot-link{color:#1e293b;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.login-form-wrapper .forgot-link:hover{color:#0f172a;text-decoration:underline}.login-form-wrapper .btn-signin{width:100%;background:#1e293b;border:none;border-radius:50px;padding:16px 24px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #1e293b4d;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;text-transform:uppercase;letter-spacing:1px}.login-form-wrapper .btn-signin:hover:not(:disabled){background:#0f172a;box-shadow:0 12px 24px #1e293b66;transform:translateY(-2px)}.login-form-wrapper .btn-signin:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px #1e293b4d}.login-form-wrapper .btn-signin:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-form-wrapper .auth-error{display:flex;align-items:center;gap:10px;color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fecaca;padding:14px 16px;border-radius:12px;font-size:14px;font-weight:500;margin-bottom:20px;animation:slideDown .3s ease}@media (max-width: 1024px){.modern-auth-right{flex:0 0 420px}.logo-image{height:150px}}@media (max-width: 768px){.modern-auth-container{flex-direction:column}.modern-auth-left{flex:0 0 200px;padding:40px 30px}.modern-auth-right{flex:1;padding:40px 30px;box-shadow:none}.logo-image{height:120px;border-radius:16px;padding:16px}}@media (max-width: 480px){.modern-auth-left{flex:0 0 160px;padding:30px 20px}.modern-auth-right{padding:30px 20px}.logo-image{height:100px;border-radius:12px;padding:12px}.login-container{max-width:100%}.login-form-wrapper .form-input{padding:14px 18px 14px 48px;height:52px}.login-form-wrapper .input-icon{left:16px}.login-form-wrapper .btn-signin{padding:14px 20px;font-size:15px}}:root{--bg: #f8fafc;--panel: rgba(255, 255, 255, .96);--b: #e5e7eb;--ink: #111827;--muted: #6b7280;--blue: #2563eb;--blue500: #3b82f6;--orange: #f59e0b}html,body,#root{height:100%}body{margin:0;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:32px;background:radial-gradient(1400px 900px at 12% 8%,rgba(238,242,255,.9) 0%,transparent 60%),radial-gradient(1200px 800px at 88% 92%,rgba(255,247,237,.85) 0%,transparent 60%),linear-gradient(180deg,#f8fafc,#f1f5f9)}.auth-card{width:100%;max-width:440px;background:radial-gradient(800px 600px at 20% 10%,#fffffff2,#ffffffe0,#f0f9ffd1),linear-gradient(180deg,#fffffffa,#fffffff0);border:1px solid rgba(59,130,246,.08);border-radius:24px;box-shadow:0 0 1px #3b82f61a,0 20px 40px #00000014,0 8px 16px #0000000d;padding:40px 36px;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);transition:transform .2s ease,box-shadow .2s ease}.auth-card:hover{box-shadow:0 0 1px #3b82f626,0 24px 48px #0000001a,0 10px 20px #0000000f}.auth-header{margin-bottom:28px}.brand-dot{width:10px;height:10px;border-radius:50%;background:var(--blue500);box-shadow:0 0 0 4px #3b82f62e}.auth-title{font-weight:700;font-size:28px;letter-spacing:-.5px;color:var(--ink);margin:0}.auth-sub{color:var(--muted);font-size:14px;margin:6px 0;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:11px;font-weight:700;letter-spacing:.5px;color:#374151;text-transform:uppercase}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:#9ca3af;pointer-events:none;transition:color .2s ease}.input-wrapper:focus-within .input-icon{color:var(--blue500)}.form-input{width:100%;border:1.5px solid #e5e7eb;border-radius:12px;padding:12px 14px 12px 44px;background:#fff;outline:none;font-size:14px;color:var(--ink);transition:all .2s ease;box-sizing:border-box}.form-input::placeholder{color:#9ca3af;font-size:13px}.form-input:hover{border-color:#d1d5db}.form-input:focus{border-color:var(--blue500);box-shadow:0 0 0 4px #3b82f61a;background:#fff}.form-footer{display:flex;justify-content:flex-end;margin-top:-8px}.forgot-link{color:var(--blue500);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-link:hover{color:var(--blue);text-decoration:underline}.btn-signin{width:100%;background:linear-gradient(135deg,var(--blue500) 0%,var(--blue) 100%);border:none;border-radius:12px;padding:14px 20px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3b82f64d;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.btn-signin:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-1px)}.btn-signin:active:not(:disabled){transform:translateY(0);box-shadow:0 3px 8px #3b82f64d}.btn-signin:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-error{display:flex;align-items:center;gap:10px;color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1.5px solid #fecaca;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:500;margin-bottom:20px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-error svg{flex-shrink:0}.img{display:flex;justify-content:flex-start}.btn{border:1px solid var(--b);background:#fff;color:var(--ink);border-radius:12px;padding:10px 14px;cursor:pointer;transition:all .2s ease}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{filter:brightness(1.05)}.note{color:var(--muted);font-size:13px;text-align:center;line-height:1.6}.note a{color:var(--blue500);font-weight:500;text-decoration:none;transition:color .2s ease}.note a:hover{color:var(--blue);text-decoration:underline}.error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;padding:10px 12px;border-radius:12px;font-size:13px}.success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;padding:10px 12px;border-radius:12px;font-size:13px}a{color:var(--blue);text-decoration:none}@media (max-width: 480px){.auth-wrap{padding:20px}.auth-card{padding:32px 24px;border-radius:20px}.auth-title{font-size:24px}.auth-sub{font-size:13px}.form-input{padding:11px 12px 11px 42px}.btn-signin{padding:13px 18px}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
