.app-container{background:#f8fafc;width:100vw}.app-container,.sidebar-wrapper{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar-wrapper{background:#fff;border-right:1px solid #e2e8f0;flex:0 0 380px;flex-direction:column;max-height:100vh;max-width:380px;min-width:380px;transition:width .25s ease,min-width .25s ease,max-width .25s ease,flex-basis .25s ease;width:380px;z-index:10}.commercial-sidebar-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding-top:0;transition:all .2s ease}.mode-toggle-inline{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:8px 12px;position:relative;z-index:10}.commercial-sidebar-scroll{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:0 12px 100px}.sidebar-wrapper.collapsed{border-right:none!important;flex:0 0!important;max-width:0!important;min-width:0!important;overflow:hidden;transition:width .25s ease,min-width .25s ease,max-width .25s ease,flex-basis .25s ease;width:0!important}.sidebar-wrapper.collapsed .commercial-sidebar-content,.sidebar-wrapper.collapsed .mode-toggle-container,.sidebar-wrapper.collapsed .sidebar{opacity:0;overflow:hidden;pointer-events:none;width:0}.mode-toggle-inline .mode-toggle-container{margin:0;padding:0}.toggle-sidebar-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000001a;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;left:12px;position:fixed;top:170px;transition:left .25s ease,background .15s ease,color .15s ease,transform .15s ease;width:40px;z-index:96}.toggle-sidebar-btn:hover{background:#f1f5f9;box-shadow:0 4px 12px #00000026;color:#334155}.toggle-sidebar-btn:active{transform:scale(.95)}.toggle-sidebar-btn.sidebar-visible{left:392px;top:116px}.toggle-sidebar-btn.sidebar-hidden{left:12px;top:116px}.toggle-sidebar-btn.commercial-toggle,.toggle-sidebar-btn.expansion-toggle{z-index:96}.commercial-expand-floating-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0000001a;color:#64748b;cursor:pointer;display:flex;height:44px;justify-content:center;left:12px;position:fixed;top:72px;transition:all .15s ease;width:44px;z-index:100}.commercial-expand-floating-btn:hover{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.app-loading-screen{align-items:center;background:#f9fafb;display:flex;height:100vh;height:100dvh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.app-loading-content{align-items:center;display:flex;flex-direction:column;gap:16px}.app-loading-logo{opacity:.8}.app-loading-spinner{animation:app-loading-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#1e3a5f;height:32px;width:32px}.app-loading-text{color:#6b7280;font-size:14px;font-weight:500}@keyframes app-loading-spin{to{transform:rotate(1turn)}}.commercial-only-webapp-container{align-items:center;height:100vh;height:100dvh;justify-content:center;width:100vw}.commercial-only-webapp,.commercial-only-webapp-container{background:#f9fafb;display:flex;flex-direction:column;overflow:hidden}.commercial-only-webapp{height:100%;max-width:430px;position:relative;width:100%}@media (min-width:640px){.commercial-only-webapp-container{background:linear-gradient(135deg,#1e293b,#334155);padding:0}.commercial-only-webapp{border-radius:0;box-shadow:0 25px 50px -12px #00000080;max-height:100vh}}@media (max-width:639px){.commercial-only-webapp-container{background:#f9fafb;justify-content:flex-start}.commercial-only-webapp{border-radius:0;box-shadow:none;max-width:none}}.mobile-only-bypass-switch{display:none}@media (max-width:640px){.mobile-only-bypass-switch{display:block}}.satellite-app-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.satellite-app-wrapper>.app-container{flex:1 1;min-height:0}.sidebar{background:#fff;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;height:auto!important;max-height:none!important;overflow:hidden!important;overscroll-behavior:none;padding-top:0;position:relative;width:100%;z-index:10}.sidebar-wrapper .sidebar{border-right:none}.sidebar-wrapper .sidebar .sidebar-header{display:none}.sidebar>[data-radix-scroll-area-root]{flex:1 1!important;min-height:0!important;overflow:hidden!important}.sidebar *{box-sizing:border-box;max-width:100%}.sidebar.collapsed{border-right:none;flex:0 0;max-width:0;min-width:0;overflow:hidden;width:0}.sidebar-transition{transition:width .3s ease,min-width .3s ease,flex-basis .3s ease,max-width .3s ease}.sidebar-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px}.sidebar-header.satellite{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:12px 16px}.sidebar-header.satellite .header-title{font-size:15px}.header-content{align-items:center;display:flex;gap:10px}.header-logo{border-radius:8px;flex-shrink:0;height:40px;object-fit:contain;width:40px}.header-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.header-title{color:#2c415c;font-family:Manrope,sans-serif;font-weight:700;line-height:1.3;margin:0}.header-subtitle{color:#64748b;font-size:10px;margin:1px 0 0}.ors-warning{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:11px;gap:8px;padding:10px 16px}.ors-warning svg{flex-shrink:0}.sidebar-section{border-bottom:1px solid #f1f5f9;min-width:0;overflow:hidden;padding:16px;width:100%}.sidebar-section-title{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.map-container{flex:1 1 auto;height:100vh;height:100dvh;min-width:0;position:relative;transition:width .25s ease}.map-wrapper{height:100%;width:100%}.floating-panel,.metrics-panel-wrapper{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #e2e8f0cc;border-radius:12px;box-shadow:0 10px 40px -10px #00000026;position:absolute;z-index:20}.metrics-panel-wrapper{max-width:360px;min-width:320px;padding:12px 16px;right:16px;top:16px;transition:all .3s ease}.metrics-toggle-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .2s;width:24px}.metrics-toggle-btn:hover{background:#f1f5f9;color:#334155}.metrics-basic{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.metrics-extended{margin-top:12px}.metrics-divider{background:#e2e8f0;height:1px;margin-bottom:12px}.metrics-section-title{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.metrics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.metric-small{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;padding:6px}.metric-small-value{color:#0f172a;font-size:14px;font-weight:700}.metric-small-label{color:#64748b;font-size:9px;letter-spacing:.03em;text-align:center;text-transform:uppercase}.metric-item{padding:4px;text-align:center}.metric-item-value{color:#0f172a;font-family:Manrope,sans-serif;font-size:20px;font-weight:700;line-height:1.2}.metric-item-label{color:#64748b;font-size:10px;letter-spacing:.03em;margin-top:2px;text-transform:uppercase}.layer-controls{bottom:70px;display:flex;flex-wrap:wrap;gap:6px;left:16px;padding:10px 12px}.layer-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;display:flex;font-size:11px;font-weight:500;gap:5px;padding:6px 12px;transition:all .2s ease}.layer-btn:hover{background:#f8fafc;border-color:#cbd5e1}.layer-btn.active{background:#2c415c;border-color:#2c415c;color:#fff}.layer-btn.auto.active{background:#10b981;border-color:#10b981}.layer-btn.manual.active{background:#8b5cf6;border-color:#8b5cf6}.layer-btn.commercial.active{background:#0ea5e9;border-color:#0ea5e9}.layer-btn.commercial.disabled,.layer-btn.commercial:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;opacity:.5}.layer-btn.commercial.disabled:hover,.layer-btn.commercial:disabled:hover{background:#f1f5f9;border-color:#e2e8f0}.layer-controls .layer-divider{background:#e2e8f0;height:24px;margin:0 4px;width:1px}.commercial-view-dropdown{position:relative}.commercial-view-btn{background:#0ea5e9!important;border-color:#0ea5e9!important;color:#fff!important;min-width:140px}.commercial-view-btn .chevron{margin-left:4px;transition:transform .2s ease}.commercial-view-btn .chevron.open{transform:rotate(180deg)}.commercial-view-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;bottom:100%;box-shadow:0 4px 12px #00000026;left:0;margin-bottom:8px;min-width:180px;overflow:hidden;position:absolute;z-index:100}.commercial-view-menu .view-option{align-items:center;background:#0000;border:none;color:#334155;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.commercial-view-menu .view-option:hover:not(.disabled){background:#f1f5f9}.commercial-view-menu .view-option.active{background:#e0f2fe;color:#0284c7;font-weight:500}.commercial-view-menu .view-option.disabled{color:#94a3b8;cursor:not-allowed}.commercial-view-menu .view-option .disabled-hint{color:#94a3b8;font-size:11px;margin-left:auto}@media (max-width:768px){.layer-btn .layer-btn-text{display:none}.layer-btn{padding:8px}.commercial-view-btn{min-width:auto}.commercial-view-btn .layer-btn-text{display:inline;font-size:10px}}.highlighted-hotels-chip{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);border-radius:20px;box-shadow:0 4px 12px #00000040;color:#fff;display:flex;font-size:13px;font-weight:500;gap:8px;left:50%;padding:10px 16px;position:absolute;top:80px;transform:translateX(-50%);z-index:100}.highlighted-hotels-chip .clear-highlight-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;transition:background .15s ease;width:20px}.highlighted-hotels-chip .clear-highlight-btn:hover{background:#ffffff59}.candidate-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;margin-bottom:8px;padding:12px;transition:all .15s ease}.candidate-item:hover{background:#fafbfc;border-color:#cbd5e1}.candidate-item.manual{border-left:3px solid #8b5cf6}.candidate-item.auto{background:#f0fdf4;border-left:3px solid #10b981}.candidate-name{color:#0f172a;font-size:13px;font-weight:600}.candidate-coords{color:#64748b;font-family:JetBrains Mono,monospace;font-size:10px;margin-top:2px}.candidate-metrics{grid-gap:6px;border-top:1px solid #f1f5f9;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);margin-top:10px;padding-top:10px}.candidate-metric{text-align:center}.candidate-metric-value{color:#0f172a;font-size:13px;font-weight:600}.candidate-metric-label{color:#94a3b8;font-size:8px;letter-spacing:.02em;text-transform:uppercase}.auto-zone-item{background:#f0fdf4;border:1px solid #d1fae5;border-left:3px solid #10b981;border-radius:6px;margin-bottom:6px;padding:10px 12px}.auto-zone-item .flex{align-items:center;display:flex;justify-content:space-between}.zone-rank{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.score-badge-sm,.zone-rank{font-size:11px;font-weight:600}.score-badge-sm{border-radius:12px;margin-left:auto;padding:2px 8px}.score-badge-sm.high{background:#dcfce7;color:#16a34a}.score-badge-sm.medium{background:#fef3c7;color:#d97706}.score-badge-sm.low{background:#fee2e2;color:#dc2626}.candidate-metrics-dual{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.coverage-block{border-radius:8px;display:flex;flex-direction:column;min-width:0;padding:6px 10px}.coverage-block.operational{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0}.coverage-block.theoretical{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.coverage-block.score{background:#f8fafc;border:1px solid #e2e8f0;justify-content:center;padding:6px 8px}.coverage-block-header{margin-bottom:2px}.coverage-type-label{font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.coverage-block.operational .coverage-type-label{color:#15803d}.coverage-block.theoretical .coverage-type-label{color:#1d4ed8}.coverage-block-values{align-items:baseline;display:flex;flex-wrap:wrap;gap:2px}.coverage-value{font-size:14px}.coverage-unit{color:#64748b;font-size:9px;font-weight:500}.coverage-sep{color:#94a3b8;font-size:10px;margin:0 2px}.coverage-pct{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:4px;color:#d97706;font-size:13px;font-weight:700;margin-left:2px;padding:1px 6px}.upload-area{background:#fafbfc;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;padding:28px 20px;text-align:center;transition:all .2s ease}.upload-area:hover{background:#f1f5f9;border-color:#cbd5e1}.upload-area.dragging{background:#eff6ff;border-color:#3b82f6;border-style:solid}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0}.ranking-table td{border-bottom:1px solid #f1f5f9;font-size:13px;padding:12px}.ranking-table tr:hover td{background:#fafbfc}.rank-badge{align-items:center;background:#f1f5f9;border-radius:50%;color:#64748b;display:inline-flex;font-size:11px;font-weight:600;height:24px;justify-content:center;width:24px}.rank-badge.gold{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.rank-badge.silver{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569}.rank-badge.bronze{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412}.score-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px}.score-badge.high{background:#dcfce7;color:#16a34a}.score-badge.medium{background:#fef3c7;color:#d97706}.score-badge.low{background:#fee2e2;color:#dc2626}.toggle-sidebar-btn.commercial-toggle{z-index:96}.satellite-app-wrapper .toggle-sidebar-btn{top:116px}.mobile-maps-container{display:none}@media (max-width:1024px){.toggle-sidebar-btn{box-shadow:0 4px 12px #00000026;position:fixed;top:116px;z-index:96}.toggle-sidebar-btn.sidebar-hidden{left:12px}.toggle-sidebar-btn.sidebar-visible{background:#1e293b;border-color:#334155;color:#fff;left:12px}.toggle-sidebar-btn.sidebar-visible:hover{background:#334155;color:#fff}.satellite-app-wrapper .toggle-sidebar-btn{top:116px}}.candidate-marker{align-items:center;border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:600;height:28px;justify-content:center;transition:transform .2s ease;width:28px}.candidate-marker:hover{transform:scale(1.15)}.candidate-marker.auto{background:#10b981}.candidate-marker.manual{background:#8b5cf6}.mapboxgl-popup-content{border-radius:8px;box-shadow:0 10px 25px -5px #00000026;font-family:Inter,sans-serif;padding:12px 16px}.mapboxgl-popup-close-button{font-size:18px;padding:4px 8px}.animate-spin{animation:spin 1s linear infinite}.save-status-badge{border-radius:4px;font-size:10px;margin-left:8px;padding:2px 6px}.save-status-badge.saved{background:#dcfce7;color:#166534}.save-status-badge.saving{background:#fef3c7;color:#92400e}.save-status-badge.unsaved{animation:pulse-warning 1.5s ease-in-out infinite;background:#fee2e2;color:#991b1b}.save-status-badge.error{background:#fecaca;color:#b91c1c}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.save-btn{align-items:center;background:#f1f5f9;border-radius:6px;display:flex;gap:4px;padding:4px 10px;transition:all .2s}.save-btn:hover{background:#e2e8f0}.save-btn.has-changes{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.save-btn.has-changes:hover{background:#fde68a}.save-btn-text{font-size:11px;font-weight:500}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:1024px){.sidebar{bottom:0;box-shadow:4px 0 20px #0000001a;left:0;max-width:100vw;position:fixed;top:0;transition:transform .3s ease;width:100vw;z-index:40}.sidebar.collapsed{transform:translateX(-100%)}.toggle-sidebar-btn{position:fixed;top:116px;z-index:96}.toggle-sidebar-btn.sidebar-visible{background:#1e293b;border-color:#334155;color:#fff;left:12px}.toggle-sidebar-btn.sidebar-hidden{left:12px}.toggle-sidebar-btn.sidebar-visible:hover{background:#334155;color:#fff}.satellite-app-wrapper .toggle-sidebar-btn{top:116px}.metrics-panel-wrapper{bottom:32px;left:16px;max-width:none;min-width:auto;position:fixed;right:16px;top:auto}.metrics-basic{grid-template-columns:repeat(4,1fr)}.layer-controls{left:16px;max-width:calc(100vw - 32px);right:16px}}@media (max-width:640px){.app-container{display:block;height:100dvh;overflow:hidden;position:relative;width:100vw}.map-container{height:100%;inset:0;position:absolute;width:100vw;z-index:1}.sidebar-wrapper{background:#fff;bottom:0;box-shadow:8px 0 24px #0f172a2e;display:flex;flex:none;flex-direction:column;height:100dvh;left:0;max-width:min(86vw,360px);min-width:0;position:fixed;top:0;transform:translateX(0);transition:transform .25s ease;width:min(86vw,360px);z-index:80}.sidebar-wrapper.collapsed{border-right:0;box-shadow:none;flex:none!important;max-width:min(86vw,360px)!important;min-width:0!important;transform:translateX(-100%);width:min(86vw,360px)!important}.sidebar-wrapper:not(.collapsed) .commercial-sidebar-content,.sidebar-wrapper:not(.collapsed) .mode-toggle-container,.sidebar-wrapper:not(.collapsed) .mode-toggle-inline,.sidebar-wrapper:not(.collapsed) .sidebar{opacity:1;overflow:visible;pointer-events:auto;width:auto}.mode-toggle-inline{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #cbd5e1;display:block!important;flex-shrink:0;opacity:1!important;order:-1;padding:12px;position:relative;visibility:visible!important;z-index:100}.sidebar{flex:1 1;max-width:100%;min-height:0;min-width:100%;overflow:auto;padding-top:0;width:100%}.sidebar [data-radix-scroll-area-viewport]>div{width:100%!important}.commercial-sidebar-content{flex:1 1;min-height:0;overflow:auto;padding-top:0}.toggle-sidebar-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 12px #00000026;display:flex;height:44px;justify-content:center;left:12px;position:fixed;top:12px;width:44px;z-index:100}.toggle-sidebar-btn.sidebar-visible{background:#1e293b;border-color:#334155;color:#fff;left:calc(min(86vw, 360px) - 52px);top:12px}.toggle-sidebar-btn.sidebar-hidden{left:12px;top:12px}.toggle-sidebar-btn svg{color:#475569;height:20px;width:20px}.toggle-sidebar-btn.sidebar-visible svg{color:#fff}.toggle-sidebar-btn:active{transform:scale(.95)}.metrics-panel-wrapper{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000000f;border-radius:18px;bottom:auto;box-shadow:0 2px 12px #00000014;left:auto;max-width:none;min-width:auto;overflow:hidden;padding:0;position:fixed;right:12px;top:116px;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:20}.metrics-panel-wrapper.collapsed{border-radius:18px;padding:6px 12px}.metrics-panel-wrapper.collapsed .metrics-basic{align-items:center;display:flex;gap:10px;padding:0}.metrics-panel-wrapper.collapsed .metric-item{align-items:center;display:flex;gap:3px;padding:0}.metrics-panel-wrapper.collapsed .metric-item-value{font-size:13px;font-weight:600}.metrics-panel-wrapper.collapsed .metric-item-label{color:#64748b;font-size:8px;font-weight:500}.metrics-panel-wrapper.collapsed .metric-item:first-child,.metrics-panel-wrapper.collapsed .metric-item:nth-child(2),.metrics-panel-wrapper.collapsed .metrics-extended{display:none}.metrics-panel-wrapper.collapsed .metrics-toggle-btn{background:#f1f5f9;border-radius:50%;height:22px;margin-left:2px;position:relative;right:auto;top:auto;width:22px}.metrics-panel-wrapper.expanded{border-radius:16px;max-width:200px;padding:14px 16px}.metrics-panel-wrapper.expanded .metrics-basic{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);padding-right:0}.metrics-panel-wrapper.expanded .metric-item{background:#f8fafc;border-radius:8px;padding:4px;text-align:center}.metrics-panel-wrapper.expanded .metric-item-value{color:#0f172a;font-size:18px;font-weight:700}.metrics-panel-wrapper.expanded .metric-item-label{color:#64748b;font-size:8px;font-weight:600;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.metrics-panel-wrapper.expanded .metrics-toggle-btn{background:#e2e8f0;border-radius:6px;height:24px;position:absolute;right:8px;top:8px;width:24px}.metrics-panel-wrapper.expanded .metrics-extended{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:12px}.metrics-panel-wrapper.expanded .metrics-section-title{font-size:9px;margin-bottom:8px}.metrics-panel-wrapper.expanded .metrics-grid{gap:6px;grid-template-columns:repeat(2,1fr)}.metrics-panel-wrapper.expanded .metric-small{border-radius:6px;padding:6px}.metrics-panel-wrapper.expanded .metric-small-value{font-size:12px}.metrics-panel-wrapper.expanded .metric-small-label{font-size:7px}.metrics-toggle-btn svg{color:#475569;height:14px;width:14px}.layer-controls{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000000f;border-radius:16px;bottom:calc(32px + env(safe-area-inset-bottom, 0px));box-shadow:0 2px 16px #0000001f;display:flex;flex-wrap:nowrap;gap:6px;left:16px;max-width:none;padding:8px 12px;position:fixed;right:auto;transform:none;width:auto;z-index:20}.mapboxgl-ctrl-bottom-right{right:12px!important}.layer-controls button{align-items:center;background:#0000;border:none;border-radius:10px;color:#94a3b8;display:flex;flex-shrink:0;font-size:0;height:36px;justify-content:center;padding:0;transition:all .15s ease;width:36px}.layer-controls button svg{height:18px;width:18px}.layer-controls button:active{transform:scale(.92)}.layer-controls button.active{background:#1e293b;color:#fff}.layer-controls button.auto.active{background:#059669}.layer-controls button.manual.active{background:#7c3aed}.heatmap-legend{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #0000000f;border-radius:10px;bottom:calc(90px + env(safe-area-inset-bottom, 0px));box-shadow:0 2px 8px #00000014;left:16px;max-width:120px;min-width:100px;padding:8px 10px;position:fixed;right:auto;z-index:15}.heatmap-legend-title{color:#64748b;font-size:8px;font-weight:600;margin-bottom:5px}.heatmap-legend-labels span{font-size:7px}.legend-toggle-btn{align-items:center;background:#fffffff2;border:1px solid #0000001a;border-radius:8px;bottom:calc(80px + env(safe-area-inset-bottom, 0px))!important;box-shadow:0 2px 8px #00000026;color:#64748b;display:flex!important;height:36px;justify-content:center;width:36px;z-index:999!important}.category-legend,.legend-toggle-btn{position:fixed!important;right:12px!important}.category-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-radius:12px;bottom:calc(175px + env(safe-area-inset-bottom, 0px))!important;box-shadow:0 4px 20px #00000026;display:none;left:auto!important;max-width:160px;min-width:140px;padding:12px 14px;top:auto!important;z-index:1000!important}.category-legend.legend-open{animation:fadeInUp .2s ease;display:block!important}.category-legend.legend-hidden-mobile,.category-legend.legend-open.legend-hidden-mobile,.legend-toggle-btn.legend-hidden-mobile{display:none!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-viewport,[data-radix-toast-viewport],[data-sonner-toaster]{bottom:110px!important;left:12px!important;right:12px!important;top:auto!important;transform:none!important;width:auto!important}.category-legend-title{font-size:10px;margin-bottom:8px}.category-item{font-size:10px;padding:2px 0}.category-dot{height:8px;width:8px}.mobile-maps-container{display:block;left:50%;position:fixed;top:64px;transform:translateX(-50%);z-index:22}.mobile-maps-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000000f;border-radius:20px;box-shadow:0 2px 10px #00000014;color:#334155;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;max-width:200px;padding:8px 14px;transition:all .2s ease}.mobile-maps-btn:active{background:#f8fafc;transform:scale(.98)}.mobile-maps-btn svg:first-child{color:#3b82f6;height:14px;width:14px}.mobile-maps-btn-text{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-maps-panel{animation:slideDown .25s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;left:50%;max-height:400px;max-width:calc(100vw - 32px);overflow:hidden;position:absolute;top:calc(100% + 8px);transform:translateX(-50%);width:300px}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-12px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.mobile-maps-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;color:#0f172a;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:14px 16px}.mobile-maps-header button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;display:flex;justify-content:center;padding:6px}.mobile-maps-header button:active{background:#f1f5f9}.mobile-maps-header button svg{height:16px;width:16px}.mobile-maps-actions{border-bottom:1px solid #f1f5f9;padding:14px 16px}.mobile-maps-actions button{border-radius:12px;font-size:14px;height:44px}.mobile-maps-list{max-height:280px;overflow-y:auto}.mobile-map-item{align-items:center;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .15s ease}.mobile-map-item:active{background:#f8fafc}.mobile-map-item.active{background:#f0fdf4;border-left:3px solid #10b981}.mobile-map-info{flex:1 1;min-width:0}.mobile-map-name{color:#0f172a;font-size:14px;font-weight:600;margin-bottom:3px}.mobile-map-meta{color:#64748b;font-size:12px}.mobile-map-current{background:#d1fae5;border-radius:12px;color:#059669;font-size:11px;font-weight:600;padding:4px 10px}.mobile-maps-empty{color:#94a3b8;font-size:13px;padding:32px 16px;text-align:center}.visibility-toggle-btn{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;display:flex;justify-content:center;min-height:36px;min-width:36px}.visibility-toggle-btn:active{background:#e2e8f0!important;transform:scale(.95)}.visibility-toggle-btn svg{height:18px;width:18px}}.heatmap-legend{bottom:80px;left:10px;min-width:140px;padding:10px 14px;position:absolute;z-index:10}.heatmap-legend-title{color:#374151;font-size:11px;font-weight:600;margin-bottom:8px}.heatmap-legend-scale{display:flex;flex-direction:column;gap:4px}.heatmap-legend-bar{background:linear-gradient(90deg,#3b82f61a 0,#3b82f64d 15%,#10b98180 35%,#f59e0bb3 55%,#ef4444d9 75%,#b91c1c);border-radius:4px;height:12px}.heatmap-legend-labels{color:#64748b;display:flex;font-size:9px;justify-content:space-between}.category-legend{bottom:130px;min-width:130px;padding:10px 14px;position:absolute;right:10px;z-index:10}.category-legend-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.legend-close-btn{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:none;padding:4px}.legend-close-btn:hover{background:#f1f5f9}.legend-toggle-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;bottom:130px;box-shadow:0 2px 8px #0000001a;color:#475569;cursor:pointer;display:none;height:40px;justify-content:center;position:absolute;right:10px;transition:all .2s;width:40px;z-index:11}.legend-toggle-btn:hover{background:#f8fafc;border-color:#cbd5e1}.category-legend-title{color:#374151;font-size:11px;font-weight:600;margin-bottom:8px}.category-legend-items{display:flex;flex-direction:column;gap:4px}.category-item{align-items:center;color:#475569;display:flex;font-size:10px;gap:6px}.category-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.category-legend-coverage{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px}.category-ring{background:#0000;border:2px solid #fff;border-radius:50%;flex-shrink:0;height:10px;width:10px}.category-ring.covered{border-color:#10b981}.legend-item{align-items:center;display:flex;font-size:11px;gap:8px}.legend-item,.legend-label{color:#475569}.legend-dot{border:2px solid #fff;box-shadow:0 1px 2px #0000001a}.legend-divider{background:#e2e8f0;height:1px;margin:6px 0}.covered-dot{border:3px solid #10b981;border-radius:50%}.covered-dot,.uncovered-dot{background:#94a3b8;box-shadow:0 1px 2px #0000001a;flex-shrink:0;height:12px;width:12px}.uncovered-dot{border:2px solid #fff;border-radius:50%}.expansion-map-selector{background:#fff;border-bottom:1px solid #e2e8f0;border-radius:0;box-shadow:0 1px 3px #0000001a;margin:0;overflow:visible;position:relative}.expansion-map-selector .current-map-display{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.expansion-map-selector .current-map-info{align-items:flex-start;display:flex;flex:1 1;gap:10px;min-width:0}.expansion-map-selector .current-map-info .map-details{display:flex;flex-direction:column;gap:2px;min-width:0}.expansion-map-selector .current-map-info .label{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.expansion-map-selector .map-name-row{align-items:center;display:flex;gap:8px}.expansion-map-selector .current-map-info .map-name{color:#1e293b;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expansion-map-selector .save-status-badge{flex-shrink:0;font-size:11px;font-weight:500}.expansion-map-selector .save-status-badge.saved{color:#16a34a}.expansion-map-selector .save-status-badge.saving{color:#d97706}.expansion-map-selector .save-status-badge.unsaved{color:#dc2626}.expansion-map-selector .map-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.expansion-map-selector .save-btn{border-radius:6px;height:32px;padding:0;width:32px}.expansion-map-selector .change-map-btn{flex-shrink:0;font-size:12px;font-weight:500;height:auto;padding:6px 12px}.expansion-map-selector .maps-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #00000026;left:0;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.expansion-map-selector .no-maps-message{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:13px;gap:8px;padding:24px}.expansion-map-selector .maps-list{list-style:none;margin:0;padding:4px}.expansion-map-selector .map-item{border-radius:6px;overflow:hidden}.expansion-map-selector .map-item.active{background:#f0f9ff}.expansion-map-selector .map-item-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.expansion-map-selector .map-item-btn:hover{background:#f8fafc}.expansion-map-selector .map-item.active .map-item-btn:hover{background:#e0f2fe}.expansion-map-selector .map-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.expansion-map-selector .map-item-name{color:#1e293b;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expansion-map-selector .map-item-meta{color:#94a3b8;display:flex;font-size:11px;gap:8px}.expansion-map-selector .map-item-meta .hotels-count{color:#64748b}.expansion-map-selector .map-item-action{flex-shrink:0;margin-left:12px}.expansion-map-selector .map-item-action .load-text{color:#3b82f6;font-size:11px;font-weight:500}@media (max-width:640px){.expansion-map-selector .current-map-display{gap:8px;padding:10px 12px}.expansion-map-selector .current-map-info .label{font-size:9px}.expansion-map-selector .current-map-info .map-name{font-size:13px;max-width:140px}.expansion-map-selector .change-map-btn{font-size:11px;padding:4px 8px}.expansion-map-selector .save-btn{height:28px;width:28px}}.current-map-bar{display:none}.saved-maps-panel{padding-top:8px}.saved-maps-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.saved-map-item{align-items:center;background:#f8fafc;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;transition:all .2s}.saved-map-item:hover{background:#f1f5f9;border-color:#e2e8f0}.saved-map-item.active{background:#eff6ff;border-color:#3b82f6}.saved-map-info{flex:1 1;min-width:0}.saved-map-name{color:#0f172a;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-map-meta{color:#64748b;font-size:11px;margin-top:2px}.saved-map-delete{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:8px;transition:all .2s;width:24px}.saved-map-delete:hover{background:#fee2e2;color:#ef4444}.visibility-toggle-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .15s ease}.visibility-toggle-btn:hover{background:#e2e8f0}.visibility-toggle-btn:active{background:#cbd5e1;transform:scale(.95)}.coverage-status-section{display:flex;flex-direction:column;gap:6px;margin-top:10px}.coverage-type-badge{border-radius:6px;font-size:11px;font-weight:600;padding:6px 10px;text-align:center}.coverage-type-badge.validated{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.coverage-type-badge.partial{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.coverage-type-badge.pending{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.polygon-type-badge{border-radius:4px;font-size:9px;font-weight:500;padding:3px 8px;text-align:center}.polygon-type-badge.real{background:#eff6ff;color:#1d4ed8}.polygon-type-badge.provisional{background:#fef3c7;color:#b45309}.calculate-coverage-btn,.complete-pending-btn{align-items:center;border:1px solid;border-radius:6px;cursor:pointer;display:flex;font-size:11px;font-weight:500;justify-content:center;padding:6px 10px;transition:all .2s;width:100%}.complete-pending-btn{background:#fef3c7;border-color:#fde68a;color:#92400e}.complete-pending-btn:hover{background:#fde68a}.calculate-coverage-btn{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.calculate-coverage-btn:hover{background:#bfdbfe}.calculate-coverage-btn:disabled,.complete-pending-btn:disabled{cursor:not-allowed;opacity:.5}.zones-dialog-content{overflow:hidden!important}.zones-dialog-content [data-state]:not(.zones-table-wrapper),.zones-dialog-content [role=tabpanel]:not(.zones-table-wrapper),.zones-dialog-content>:not(.zones-table-wrapper){max-width:100%!important;overflow:hidden!important}.zones-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:6px;max-height:350px;overflow-x:auto!important;overflow-y:auto!important;position:relative}.zones-table-wrapper:after{background:linear-gradient(270deg,#fffffff2,#0000);bottom:0;content:"";opacity:1;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s;width:24px}@media (min-width:1024px){.zones-table-wrapper:after{display:none}}@media (min-width:640px){.zones-table-wrapper{max-height:420px}}.zones-summary-table{font-size:13px;min-width:1200px!important;table-layout:auto!important;width:100%!important}.zones-summary-table td,.zones-summary-table th{padding:8px 10px!important;white-space:nowrap}.zones-summary-table td:first-child,.zones-summary-table th:first-child{width:40px}.zones-summary-table td:nth-child(2),.zones-summary-table th:nth-child(2){width:50px}.zones-summary-table td:nth-child(3),.zones-summary-table th:nth-child(3){min-width:140px}.zones-summary-table td:nth-child(n+4),.zones-summary-table th:nth-child(n+4){min-width:65px;text-align:center}.zones-summary-table td:nth-child(10),.zones-summary-table td:nth-child(18),.zones-summary-table th:nth-child(10),.zones-summary-table th:nth-child(18){min-width:85px}.sidebar [data-radix-scroll-area-viewport]{height:100%!important;max-height:100%!important;max-width:100%!important;overflow-x:hidden!important;width:100%!important}.sidebar [data-radix-scroll-area-viewport]>div{display:block!important;max-width:100%!important;width:100%!important}.sidebar .flex-1{min-height:0!important;overflow:hidden!important}.sidebar-ai-panel{border-top:1px solid #f1f5f9;flex-shrink:0;overflow:hidden}.sidebar{overscroll-behavior:none!important;scroll-behavior:auto!important}.sidebar [data-radix-scroll-area-root]{flex:1 1!important;min-height:0!important;overflow:hidden!important;transition:none!important}.sidebar input[type=number],.sidebar input[type=text],.sidebar textarea{touch-action:manipulation;-webkit-user-select:text;user-select:text}.sidebar [data-radix-scroll-area-viewport]{overscroll-behavior:none!important;scroll-behavior:auto!important}@media (max-width:640px){.sidebar [data-radix-scroll-area-root]{max-height:calc(100vh - 560px)!important}[data-testid=ai-insights-panel]{bottom:12px!important;left:auto!important;right:12px!important}[data-testid=ai-insights-panel][data-expanded=true]{width:280px!important}}.buffet-analyses-section{padding:12px 16px!important}.buffet-analyses-section .section-header{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;justify-content:space-between;padding:0;width:100%}.buffet-analyses-section .section-header:hover{color:#475569}.buffet-analyses-section .section-title{align-items:center;display:flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.05em;text-transform:uppercase}.buffet-analyses-content{display:flex;flex-direction:column;gap:8px;margin-top:10px}.buffet-search-row{align-items:center}.buffet-filters-row,.buffet-search-row{display:flex;gap:6px}.buffet-analyses-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto;padding-right:2px;scrollbar-color:#cbd5e1 #0000;scrollbar-width:thin}.buffet-analyses-list::-webkit-scrollbar{width:4px}.buffet-analyses-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.buffet-empty,.buffet-error,.buffet-loading{align-items:center;color:#94a3b8;display:flex;font-size:12px;gap:8px;justify-content:center;padding:16px}.buffet-error{color:#ef4444}.buffet-analysis-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;display:flex;flex-direction:row;flex-shrink:0;min-height:44px}.buffet-analysis-card:hover{background:#f1f5f9;border-color:#cbd5e1}.buffet-card-content{flex:1 1;flex-direction:column;gap:2px;min-width:0;padding:6px 8px;text-align:left}.buffet-card-content,.buffet-delete-btn{background:#0000;border:none;cursor:pointer;display:flex}.buffet-delete-btn{align-items:center;border-left:1px solid #e2e8f0;color:#cbd5e1;flex-shrink:0;height:100%;justify-content:center;min-height:44px;transition:all .15s ease;width:28px}.buffet-delete-btn:hover{background:#fee2e2;color:#dc2626}.buffet-card-actions{align-items:stretch;display:flex;flex-direction:row;flex-shrink:0}.buffet-export-btn{align-items:center;background:#0000;border:none;border-left:1px solid #e2e8f0;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:100%;justify-content:center;min-height:44px;transition:all .15s ease;width:28px}.buffet-export-btn:hover{background:#f0f9ff;color:#0284c7}.buffet-export-btn:disabled{cursor:not-allowed;opacity:.5}.buffet-card-row{align-items:center;display:flex;gap:6px;line-height:1.2}.buffet-hotel-name{color:#1e293b;flex:1 1;font-size:11px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buffet-status-badge{flex-shrink:0;font-size:9px!important;line-height:1.2!important;padding:1px 4px!important}.buffet-card-meta{color:#64748b;font-size:10px;gap:6px}.buffet-card-meta span{white-space:nowrap}.buffet-date{color:#94a3b8}.buffet-result{background:#ecfdf5;border-radius:3px;color:#059669;font-size:9px;font-weight:600;max-width:100%;min-width:0;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.buffet-card-result-row{margin-top:2px}.hub-header{background:#1e293b;flex-shrink:0;height:48px;justify-content:space-between;min-height:48px;padding:0 16px;position:relative;z-index:1000}.hub-bypass-banner,.hub-header{align-items:center;display:flex}.hub-bypass-banner{animation:slideDown .3s ease;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 2px 8px #00000026;gap:6px;left:50%;padding:4px 12px;position:absolute;top:100%;transform:translateX(-50%);z-index:999}@media (max-width:640px){.hub-bypass-banner{display:none}}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.hub-bypass-icon{font-size:12px}.hub-bypass-text{color:#92400e;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.hub-bypass-separator{color:#d97706;margin:0 4px;opacity:.5}.hub-role-switcher{align-items:center;display:flex;gap:6px}.hub-role-label{text-transform:uppercase}.hub-role-btn,.hub-role-label{color:#92400e;font-size:10px;font-weight:600}.hub-role-btn{align-items:center;background:#fff;border:1px solid #d97706;border-radius:4px;cursor:pointer;display:flex;gap:4px;padding:3px 8px;transition:all .15s ease}.hub-role-btn:hover:not(:disabled){background:#fef3c7}.hub-role-btn.active{background:#d97706;border-color:#b45309;color:#fff}.hub-role-btn:disabled{cursor:not-allowed;opacity:.5}.hub-bypass-loading{color:#92400e;font-size:10px;font-style:italic;margin-left:8px}.hub-header-left{gap:12px}.hub-brand,.hub-header-left{align-items:center;display:flex}.hub-brand{background:#0000;border:none;border-radius:8px;cursor:pointer;gap:8px;padding:6px 10px;transition:background .2s}.hub-brand:hover{background:#ffffff14}.hub-logo-img{height:26px;object-fit:contain;width:26px}.hub-brand-text{display:flex;flex-direction:column}.hub-brand-name{color:#fff;font-size:14px;font-weight:600;letter-spacing:-.01em}.hub-separator{background:#ffffff26;height:24px;width:1px}.hub-module-selector{position:relative}.hub-module-btn{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:6px 10px;transition:all .2s}.hub-module-btn:hover{background:#ffffff1a;border-color:#ffffff26}.hub-module-icon{align-items:center;border-radius:6px;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.hub-module-name{font-size:13px;font-weight:500}.hub-module-chevron{color:#ffffff80;height:14px;margin-left:4px;transition:transform .2s;width:14px}.hub-module-chevron.open{transform:rotate(180deg)}.hub-module-dropdown{background:#1e293b;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0006;left:0;padding:8px;position:absolute;top:calc(100% + 8px);width:300px;z-index:1001}.hub-dropdown-header{color:#fff6;font-size:11px;font-weight:600;letter-spacing:.05em;padding:8px 12px;text-transform:uppercase}.hub-module-option{align-items:center;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:background .15s;width:100%}.hub-module-option:hover{background:#ffffff14}.hub-module-option.current{background:#ffffff0d;cursor:default}.hub-module-option-icon{align-items:center;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.hub-module-option-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.hub-module-option-name{color:#fff;font-size:13px;font-weight:500}.hub-module-option-desc{color:#ffffff80;font-size:11px}.hub-module-current-badge{background:#10b98126;border-radius:4px;color:#10b981;font-size:10px;font-weight:600;padding:2px 8px}.hub-module-external-badge{color:#fff6;font-size:12px;margin-left:auto}.hub-dropdown-divider{background:#ffffff1a;height:1px;margin:8px 0}.hub-portal-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 12px;transition:all .15s;width:100%}.hub-portal-btn:hover{background:#ffffff14;color:#fff}.hub-header-right{position:relative}.hub-user-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:4px 8px 4px 4px;transition:all .2s}.hub-user-btn:hover{background:#ffffff14;border-color:#ffffff1a}.hub-user-avatar{align-items:center;background:#3b82f6;border-radius:50%;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.hub-user-name{font-size:13px;font-weight:500}.hub-user-chevron{color:#ffffff80;height:12px;transition:transform .2s;width:12px}.hub-user-chevron.open{transform:rotate(180deg)}.hub-user-dropdown{background:#1e293b;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0006;padding:8px;position:absolute;right:0;top:calc(100% + 8px);width:220px;z-index:1001}.hub-user-info{align-items:center;display:flex;gap:12px;padding:8px}.hub-user-avatar-lg{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.hub-user-details{display:flex;flex-direction:column;gap:2px;min-width:0}.hub-user-fullname{color:#fff;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-user-role{color:#ffffff80;font-size:12px}.hub-user-email{color:#fff6;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-menu-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#fffc;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 12px;transition:all .15s;width:100%}.hub-menu-btn:hover{background:#ffffff14;color:#fff}.hub-logout-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#f87171;cursor:pointer;display:flex;font-size:13px;gap:10px;padding:10px 12px;transition:all .15s;width:100%}.hub-logout-btn:hover{background:#f871711a}@media (max-width:640px){.hub-header{height:44px;min-height:44px;padding:0 8px}.hub-brand-name,.hub-separator{display:none}.hub-module-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-user-name{display:none}.hub-module-dropdown{left:-50px;width:calc(100vw - 16px)}}.hotel-identity-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:600px;overflow:hidden;width:100%}.hotel-identity-card.error,.hotel-identity-card.loading{align-items:center;display:flex;justify-content:center;min-height:300px}.error-content,.loading-content{align-items:center;color:#666;display:flex;flex-direction:column;gap:12px}.identity-card-header{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.header-title{gap:10px}.header-title h3{font-size:16px;font-weight:600;margin:0}.global-status{align-items:center;border-radius:20px;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.global-status.status-green{background:#22c55e33;color:#22c55e}.global-status.status-yellow{background:#eab30833;color:#eab308}.global-status.status-red{background:#ef444433;color:#ef4444}.global-status.status-orange{background:#f9731633;color:#f97316}.global-status.status-gray{background:#94a3b833;color:#94a3b8}.status-banner{font-size:12px;padding:8px 20px;text-align:center}.status-banner.status-green{background:#dcfce7;color:#166534}.status-banner.status-yellow{background:#fef9c3;color:#854d0e}.status-banner.status-red{background:#fee2e2;color:#991b1b}.status-banner.status-orange{background:#ffedd5;color:#9a3412}.status-banner.status-gray{background:#f1f5f9;color:#475569}.identity-blocks{background:#e2e8f0;display:flex;flex-direction:column;gap:1px}.identity-block{background:#fff;padding:16px 20px}.block-header{justify-content:space-between;margin-bottom:12px}.block-header,.block-title{align-items:center;display:flex}.block-title{color:#1e293b;font-size:14px;font-weight:600;gap:8px}.block-badge{align-items:center;display:flex;font-size:11px}.block-content{display:flex;flex-direction:column;gap:12px}.kitchen-block{border-left:4px solid #6366f1}.hotel-main-info{display:flex;flex-direction:column;gap:2px}.hotel-name{font-size:18px;margin:0}.hotel-chain{color:#64748b;font-size:13px}.hotel-details .identity-field{align-items:center;color:#475569;display:flex;font-size:13px;gap:6px}.hotel-details .city{color:#94a3b8}.hotel-stats{align-items:center;display:flex;gap:16px;margin-top:8px}.hotel-stats .stat{align-items:center;color:#64748b;display:flex;font-size:12px;gap:4px}.client-badge{font-size:11px}.powerbi-block{border-left:4px solid #8b5cf6}.powerbi-block.linked{background:#faf5ff}.powerbi-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.powerbi-nombre{color:#6d28d9;font-size:16px;font-weight:600}.powerbi-agrupado{color:#8b5cf6;font-size:13px}.powerbi-details{display:flex;flex-direction:column;gap:6px}.match-info{border-top:1px dashed #e2e8f0;color:#64748b;display:flex;font-size:12px;gap:16px;padding-top:8px}.hubspot-block{border-left:4px solid #f97316}.hubspot-block.linked{background:#fff7ed}.hubspot-company{display:flex;flex-direction:column;gap:8px}.company-name{color:#c2410c;font-size:16px;font-weight:600}.hubspot-deals{border:1px solid #fed7aa;border-radius:8px;overflow:hidden}.deals-toggle{align-items:center;background:#ffedd5;border:none;color:#9a3412;cursor:pointer;display:flex;font-size:13px;font-weight:500;justify-content:space-between;padding:10px 12px;transition:background .2s;width:100%}.deals-toggle:hover{background:#fed7aa}.deals-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:8px}.deals-error{align-items:center;color:#dc2626;display:flex;font-size:13px;gap:8px;padding:12px}.deal-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}.deal-main{align-items:center;display:flex;gap:8px;justify-content:space-between}.deal-name{color:#1e293b;font-size:13px;font-weight:500}.deal-pipeline{font-size:10px}.deal-details{color:#64748b;display:flex;font-size:11px;gap:12px;margin-top:6px}.deal-amount{color:#059669;font-weight:600}.no-deals{font-size:13px;padding:12px}.no-deals,.unlinked-content{color:#94a3b8;text-align:center}.unlinked-content{align-items:center;gap:12px;padding:20px}.block-ids,.unlinked-content{display:flex;flex-direction:column}.block-ids{border-top:1px dashed #e2e8f0;gap:4px;padding-top:8px}.identity-field{align-items:center;display:flex;font-size:12px;gap:8px}.identity-field .field-label{color:#94a3b8;min-width:100px}.identity-field .field-value{color:#475569}.identity-field .field-value.mono{background:#f1f5f9;border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:11px;padding:2px 6px}.identity-field.copyable .field-value-container{align-items:center;display:flex;gap:4px}.copy-btn{background:none;border:none;cursor:pointer;opacity:.5;padding:4px;transition:opacity .2s}.copy-btn:hover{opacity:1}.change-link-btn{align-self:flex-start;margin-top:8px}.identity-footer{background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;display:flex;flex-wrap:wrap;font-size:11px;gap:12px;padding:12px 20px}.footer-item{align-items:center;display:flex;gap:4px}.footer-notes{display:flex;gap:8px;width:100%}.notes-label{font-weight:500}.notes-text{color:#475569}.identity-actions{border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:flex-end;padding:12px 20px}@media (max-width:640px){.hotel-identity-card{border-radius:0}.identity-block,.identity-card-header{padding:12px 16px}.hotel-stats{flex-wrap:wrap;gap:8px}.identity-field .field-label{min-width:80px}}.commercial-execution-view{background:#f9fafb;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100%}.commercial-execution-view.embedded{height:100%;overflow:hidden}.commercial-execution-view.standalone{min-height:100vh;min-height:100dvh}.commercial-execution-view.standalone.commercial-only{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.commercial-execution-app{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.execution-app-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.execution-app-header .app-title{font-size:18px;font-weight:600;margin:0}.execution-app-header .header-right{align-items:center;display:flex;gap:12px}.execution-app-header .user-name{font-size:13px;opacity:.9}.execution-app-main{display:flex;flex:1 1;flex-direction:column}.commercial-only-app{background:#f9fafb;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.satellite-app-wrapper .commercial-only-app{flex:1 1}.execution-day-header{background:linear-gradient(135deg,#1e3a5f,#0f2942);box-shadow:0 2px 8px #00000026;color:#fff;padding:12px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.execution-day-header.standalone{padding:max(16px,env(safe-area-inset-top)) 16px 16px}.standalone-title{margin-bottom:12px;text-align:center}.standalone-title h1{font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0}.execution-date-picker{gap:8px;margin-bottom:8px}.date-nav-btn,.execution-date-picker{align-items:center;display:flex;justify-content:center}.date-nav-btn{background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;height:44px;transition:background .2s;width:44px}.date-nav-btn:active{background:#fff3}.date-display{align-items:center;display:flex;font-size:16px;font-weight:600;gap:8px}.today-badge{background:#3b82f6;border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.header-info{align-items:center;display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.plan-name{font-size:14px;font-weight:500;opacity:.9}.commercial-name{font-size:12px;opacity:.7}.progress-section{align-items:center;display:flex;gap:12px}.progress-bar{background:#fff3;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:#22c55e;border-radius:4px;height:100%;transition:width .3s ease}.progress-text{font-size:13px;font-weight:500;white-space:nowrap}.friday-badge{background:#8b5cf6;border-radius:8px;color:#fff;font-size:14px;font-weight:600;margin-top:4px;padding:8px 16px;text-align:center}.execution-content{flex:1 1;overflow-y:auto;padding:16px 16px 32px}.execution-error,.execution-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 24px;text-align:center}.execution-loading .spin{animation:spin 1s linear infinite}.execution-error{color:#dc2626}.retry-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px}.execution-empty-state{align-items:center;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;padding:48px 24px;text-align:center}.empty-icon{align-items:center;background:#f3f4f6;border-radius:50%;color:#9ca3af;display:flex;height:80px;justify-content:center;margin-bottom:16px;width:80px}.empty-title{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.empty-message{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.jump-to-next-btn{align-items:center;background:#1e3a5f;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;margin-top:24px;padding:12px 20px;transition:all .2s ease}.jump-to-next-btn:hover{background:#2d4a6f;transform:translateY(-1px)}.jump-to-next-btn .next-date{color:#fffc;font-weight:400;text-transform:capitalize}.execution-route-summary{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;padding:16px}.summary-info{gap:12px;margin-bottom:16px}.summary-icon,.summary-info{align-items:center;display:flex}.summary-icon{background:#dbeafe;border-radius:12px;color:#2563eb;height:48px;justify-content:center;width:48px}.summary-details{display:flex;flex-direction:column;gap:4px}.sector-name{color:#111827;font-size:16px;font-weight:600}.hotels-count{color:#6b7280;font-size:14px;gap:6px}.hotels-count,.open-maps-btn{align-items:center;display:flex}.open-maps-btn{background:#2563eb;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:background .2s;width:100%}.open-maps-btn:active{background:#1d4ed8}.execution-hotels-list{display:flex;flex-direction:column;gap:12px}.execution-hotel-card{background:#fff;border-left:4px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:16px}.card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.order-badge{align-items:center;background:#1e3a5f;border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;min-width:32px}.hotel-info{flex:1 1;min-width:0}.hotel-name{color:#111827;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 6px}.hotel-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.categoria{display:flex;gap:2px}.habitaciones{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:4px}.priority-badge{border-radius:6px;padding:2px 8px;text-transform:uppercase}.card-status{margin-bottom:12px}.execution-status-chips{display:flex;flex-wrap:wrap;gap:8px}.status-chip{background:#0000;border:2px solid #e5e7eb;border-radius:20px;cursor:pointer;font-size:13px;padding:10px 14px;transition:all .2s}.status-chip:active{transform:scale(.96)}.status-chip.active{border-width:2px}.status-chip:disabled{cursor:not-allowed;opacity:.5}.card-actions{border-top:1px solid #f3f4f6;display:flex;gap:8px;padding-top:12px}.action-btn{border:1px solid #e5e7eb;border-radius:10px;color:#374151;flex:1 1;font-size:13px;font-weight:500;gap:6px;padding:12px 8px;text-decoration:none;transition:all .2s}.action-btn:active{background:#f3f4f6}.action-btn.maps-btn{border-color:#93c5fd;color:#2563eb}.action-btn.call-btn{border-color:#6ee7b7;color:#059669}.action-btn.note-btn{border-color:#c4b5fd;color:#7c3aed}.action-btn.reschedule-btn{border-color:#fdba74;color:#ea580c}.card-note-preview{align-items:flex-start;background:#f9fafb;border-radius:8px;color:#6b7280;display:flex;font-size:13px;gap:8px;margin-top:12px;padding:10px 12px}.card-note-preview .note-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.note-sheet-backdrop{animation:fadeIn .2s ease;background:#00000080;top:0;z-index:1000}.note-sheet,.note-sheet-backdrop{bottom:0;left:0;position:fixed;right:0}.note-sheet{animation:slideUp .3s ease;background:#fff;border-radius:24px 24px 0 0;max-height:80vh;overflow-y:auto;padding:20px 20px max(20px,env(safe-area-inset-bottom));z-index:1001}.note-sheet-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.note-sheet-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.note-hotel-name{color:#6b7280;font-size:14px;margin:0 0 16px}.note-textarea{border:2px solid #e5e7eb;border-radius:12px;font-family:inherit;font-size:16px;margin-bottom:16px;padding:14px;resize:none;width:100%}.note-textarea:focus{border-color:#3b82f6;outline:none}.note-sheet-actions{display:flex;gap:12px}.note-sheet-actions .cancel-btn{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:14px}.note-sheet-actions .save-btn{align-items:center;background:#2563eb;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:2 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px}.note-sheet-actions .save-btn:disabled{background:#9ca3af;cursor:not-allowed}.hubspot-deal-section{border-top:1px solid #e5e7eb;margin:12px 0;padding:8px 0}.deal-status{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;padding:10px 12px}.deal-status.no-company{background:#fef3c7;color:#92400e}.deal-status.loading{background:#f1f5f9;color:#64748b}.deal-status.error{background:#fee2e2;color:#dc2626}.deal-status.no-deals{background:#f1f5f9;color:#64748b}.deal-selector label{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:6px}.deal-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;padding:10px 12px;width:100%}.deal-selector select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.deal-selector .company-info{align-items:center;background:#f0f9ff;border-radius:6px;color:#0369a1;display:flex;font-size:12px;gap:6px;margin-bottom:10px;padding:6px 10px}.no-hubspot-content{display:flex;flex-direction:column;gap:4px}.deal-status.no-deals .hint-text,.no-hubspot-content .hint-text{font-size:11px;line-height:1.4;margin:0;opacity:.8}.deal-status.deals-error div,.deal-status.no-company div,.deal-status.no-deals div{display:flex;flex-direction:column;gap:2px}.deal-status .error-hint{color:#b45309}.deal-status.deals-error{background:#fffbeb;border-color:#f59e0b}.friday-view{gap:24px}.friday-view,.reschedule-section{display:flex;flex-direction:column}.reschedule-section{gap:12px}.section-title{color:#111827;font-size:16px;margin:0;padding-left:4px}@media (min-width:640px){.commercial-execution-view:not(.embedded){box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:480px;min-height:100vh}.execution-status-chips{flex-wrap:nowrap}.status-chip{font-size:12px;padding:8px 12px}}.reschedule-sheet{max-height:80vh;overflow-y:auto}.reschedule-field{margin-bottom:16px}.reschedule-field label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:8px}.reschedule-field .date-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:16px;padding:12px;width:100%}.reschedule-field .date-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.reschedule-field .time-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-size:16px;padding:12px;width:100%}.reschedule-field .time-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.reason-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;padding:12px;width:100%}.reason-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.custom-reason-input{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;margin-top:8px;padding:10px 12px;width:100%}.custom-reason-input:focus{border-color:#3b82f6;outline:none}.commercial-map-selector{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:8px 12px 0;overflow:visible;position:relative}.current-map-display{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.current-map-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.current-map-info .map-details{display:flex;flex-direction:column;min-width:0}.current-map-info .label{color:#94a3b8;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.current-map-info .map-name{color:#1e293b;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-map-btn{flex-shrink:0;font-size:12px;height:auto;padding:6px 10px}.maps-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.no-maps-message{align-items:center;color:#94a3b8;display:flex;flex-direction:column;font-size:13px;gap:8px;padding:24px}.maps-list{list-style:none;margin:0;padding:4px}.map-item{border-radius:6px;overflow:hidden}.map-item.active{background:#f0f9ff}.map-item-btn{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.map-item-btn:hover{background:#f8fafc}.map-item.active .map-item-btn:hover{background:#e0f2fe}.map-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.map-item-name{color:#1e293b;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-item-meta{color:#94a3b8;display:flex;font-size:11px;gap:8px}.map-item-meta .hotels-count{color:#64748b}.map-item-action{flex-shrink:0;margin-left:12px}.map-item-action .load-text{color:#3b82f6;font-size:11px;font-weight:500}.commercial-mode-toggle{background:#0000;border-bottom:none;padding:0}.mode-toggle-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:4px;padding:4px}.mode-btn{flex:1 1;font-size:12px;font-weight:500;height:auto!important;padding:6px 12px!important;transition:all .2s ease}.mode-btn.active{background:#1e3a5f;color:#fff}.mode-btn:not(.active):hover{background:#f1f5f9}.commercial-filters-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:12px;overflow:hidden}.filters-header{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;justify-content:space-between;padding:12px 16px}.filters-header,.filters-title{align-items:center;display:flex}.filters-title{font-size:14px;font-weight:600;gap:8px}.filters-content{display:flex;flex-direction:column;gap:16px;padding:16px}.filter-label{align-items:center;display:flex;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.status-buttons{display:flex;flex-wrap:wrap;gap:6px}.status-btn{align-items:center;display:flex;flex:1 1;font-size:11px;gap:4px;justify-content:center;min-width:90px;padding:6px 8px}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.cliente{background:#22c55e}.status-dot.no-cliente{background:#ef4444}.status-dot.desconocido{background:#94a3b8}.rooms-range{align-items:center;display:flex;gap:8px}.range-separator{color:#94a3b8;font-weight:500}.commercial-hotel-panel{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:calc(100vh - 100px);overflow:hidden;position:fixed;right:20px;top:80px;width:340px;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.commercial-hotel-panel .panel-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:16px}.hotel-title{align-items:center;display:flex;gap:10px}.hotel-title h3{font-size:16px;font-weight:600;line-height:1.3;margin:0}.close-btn{color:#fff;opacity:.8}.close-btn:hover{background:#ffffff1a;opacity:1}.commercial-hotel-panel .panel-content{display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 200px);overflow-y:auto;padding:16px}.status-section{display:flex;flex-direction:column;gap:8px}.customer-status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;width:-webkit-fit-content;width:fit-content}.customer-status-badge.cliente{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#166534}.customer-status-badge.no-cliente{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#991b1b}.customer-status-badge.desconocido{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;color:#475569}.status-source{align-items:center;color:#94a3b8;display:flex;font-size:11px;gap:6px;padding-left:4px}.info-grid{background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:12px}.info-item{align-items:flex-start;display:flex;gap:10px}.info-item>svg{flex-shrink:0;margin-top:2px}.info-item>div{display:flex;flex-direction:column;gap:2px}.info-label{color:#94a3b8;font-size:11px;letter-spacing:.3px;text-transform:uppercase}.info-value{color:#1e293b;font-size:13px;font-weight:500}.notes-section{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:12px}.notes-header{align-items:center;color:#92400e;display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:8px}.notes-content{color:#78350f;font-size:13px;line-height:1.5;margin:0}.future-fields-note{align-items:center;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:6px;color:#94a3b8;display:flex;font-size:11px;gap:6px;padding:8px 12px}.commercial-legend-right{background:#fff;border-radius:12px;bottom:130px;box-shadow:0 2px 8px #0000001a;min-width:160px;padding:12px 14px;position:absolute;right:10px;z-index:10}.commercial-legend-right .legend-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:10px}.commercial-legend-right .legend-header h4{color:#1e293b;font-size:12px;font-weight:600;margin:0}.commercial-legend-right .legend-expand-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;justify-content:center;padding:2px}.commercial-legend-right .legend-expand-btn:hover{background:#f1f5f9;color:#64748b}.commercial-legend-right .legend-content{display:flex;flex-direction:column}.commercial-legend-right .legend-section{display:flex;flex-direction:column;gap:4px}.commercial-legend-right .legend-section-title{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.commercial-legend-right .legend-divider{background:#e2e8f0;height:1px;margin:10px 0}.commercial-legend-right .legend-item{align-items:center;display:flex;font-size:11px;gap:8px}.commercial-legend-right .legend-dot-category{border-radius:50%;flex-shrink:0;height:10px;width:10px}.commercial-legend-right .legend-dot-category.cat-5{background:#ef4444}.commercial-legend-right .legend-dot-category.cat-4{background:#f97316}.commercial-legend-right .legend-dot-category.cat-3{background:#22c55e}.commercial-legend-right .legend-dot-category.cat-2{background:#3b82f6}.commercial-legend-right .legend-dot-category.cat-1{background:#6b7280}.commercial-legend-right .legend-dot-category.cat-0{background:#d1d5db}.commercial-legend-right .legend-dot-border{background:#f8fafc;border-radius:50%;flex-shrink:0;height:10px;width:10px}.commercial-legend-right .legend-dot-border.border-cliente{border:3px solid #22c55e}.commercial-legend-right .legend-dot-border.border-no-cliente{border:2px solid #e5e7eb}.commercial-legend-right .legend-dot-border.border-desconocido{border:2px solid #94a3b8}.commercial-legend-right .legend-label{color:#374151;flex:1 1}.commercial-legend-right .legend-count{color:#94a3b8;font-size:10px}.commercial-legend-right .legend-hint{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:9px;font-style:italic;margin-top:10px;padding-top:8px;text-align:center}@media (max-width:768px){.commercial-legend-right.legend-hidden-mobile{display:none}.commercial-hotel-panel{bottom:80px;left:10px;max-height:60vh;right:10px;top:auto;width:auto}.status-buttons{flex-direction:column}.status-btn{width:100%}}.data-matching-panel{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden}.matching-header{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;justify-content:space-between;padding:12px 16px}.header-title,.matching-header{align-items:center;display:flex}.header-title{font-size:14px;font-weight:600;gap:8px}.matching-summary{grid-gap:8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:8px;grid-template-columns:repeat(6,1fr);padding:12px}.summary-card{border-radius:6px;flex-direction:column;padding:8px 4px}.summary-card.total .summary-value{color:#1e293b}.summary-card.matched .summary-value{color:#22c55e}.summary-card.possible .summary-value{color:#eab308}.summary-card.unmatched .summary-value{color:#64748b}.summary-card.ignored .summary-value{color:#94a3b8}.summary-card.conflict .summary-value{color:#ef4444}.matching-filters{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.search-box{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex:1 1;gap:8px;min-width:180px;padding:0 8px}.search-box input{background:#0000;border:none;flex:1 1}.matching-results-count{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;padding:8px 12px}.matching-table-container{flex:1 1;overflow-x:auto;overflow-y:auto}.matching-table{border-collapse:collapse;font-size:12px;width:100%}.matching-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap}.matching-table td{border-bottom:1px solid #f1f5f9;padding:10px 8px;vertical-align:middle}.matching-table tr:hover{background:#f8fafc}.hotel-name-cell{max-width:180px}.hotel-name{color:#1e293b;font-weight:500}.hotel-chain{color:#94a3b8;font-size:10px}.customer-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:600;padding:2px 6px}.customer-badge.cliente{background:#dcfce7;color:#166534}.customer-badge.no-cliente{background:#fee2e2;color:#991b1b}.customer-badge.desconocido{background:#f1f5f9;color:#64748b}.no-results{color:#94a3b8;font-size:14px;padding:40px 20px;text-align:center}.matching-pagination{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 16px}.matching-pagination .pagination-info{color:#64748b;font-size:12px}.matching-pagination .pagination-controls{align-items:center;display:flex;gap:8px}.matching-pagination .page-indicator{color:#1e293b;font-size:12px;padding:0 8px}@media (max-width:768px){.matching-summary{grid-template-columns:repeat(3,1fr)}.matching-filters{flex-direction:column}.search-box{width:100%}}.data-matching-backdrop{animation:fadeIn .2s ease-out;background:#0000004d;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1100}.data-matching-drawer{animation:slideInRight .25s ease-out;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;max-width:90vw;position:fixed;right:0;top:0;width:700px;z-index:1200}.data-matching-embedded{display:flex;flex-direction:column;height:100%;overflow:hidden}.data-matching-embedded .drawer-content{flex:1 1;overflow-y:auto;padding:16px}.data-matching-embedded .drawer-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 16px}.data-matching-embedded .powerbi-preview-button-container{border-bottom:1px solid #e2e8f0;padding:12px 16px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.drawer-header{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;flex-shrink:0;justify-content:space-between;padding:16px 20px}.drawer-header,.drawer-title{align-items:center;display:flex}.drawer-title{gap:12px}.drawer-title h2{font-size:18px;font-weight:600;margin:0}.map-name-badge{background:#ffffff26;border-radius:4px;color:#fffc;display:inline-block;font-size:11px;margin-top:2px;padding:2px 8px}.drawer-close-btn{color:#fff;opacity:.8}.drawer-close-btn:hover{background:#ffffff1a;opacity:1}.drawer-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.drawer-content .data-matching-panel{height:100%}.drawer-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;padding:12px 20px}.phase-note{color:#94a3b8;font-size:11px;font-style:italic}.powerbi-preview-button-container{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:6px;padding:12px 20px}.powerbi-preview-btn{border-color:#6366f1;color:#4338ca;font-weight:500;max-width:280px;width:100%}.powerbi-preview-btn:hover{background:#4338ca;border-color:#4338ca;color:#fff}.powerbi-hint{color:#8b5cf6;font-size:10px}.no-map-message{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:60px 40px;text-align:center}.no-map-message h3{color:#1e293b;font-size:18px;font-weight:600;margin:16px 0 8px}.no-map-message p{color:#64748b;font-size:14px;margin:0;max-width:280px}.no-map-message .hint{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:12px;margin-top:16px;padding-top:16px}.data-matching-section{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px}.data-matching-btn{font-weight:500;justify-content:center;transition:all .2s ease;width:100%}.data-matching-btn:hover{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.matching-mini-summary{color:#64748b;display:flex;font-size:11px;gap:8px;justify-content:center;margin-top:8px}.matching-mini-summary .matched{color:#22c55e}.matching-mini-summary .pending{color:#94a3b8}.matching-mini-summary .separator{color:#e2e8f0}@media (max-width:768px){.data-matching-drawer{max-width:100vw;width:100vw}.drawer-header{padding:12px 16px}.drawer-title h2{font-size:16px}}.powerbi-preview-fullscreen-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1300}.powerbi-preview-fullscreen{animation:scaleIn .25s ease-out;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:90vh;max-width:1800px;overflow:hidden;width:94vw}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.powerbi-preview-fullscreen .powerbi-preview-panel{display:flex;flex-direction:column;height:100%}.powerbi-preview-fullscreen .preview-table-container{flex:1 1;overflow:auto}.powerbi-preview-fullscreen .preview-table{width:100%}.powerbi-preview-fullscreen .preview-table .col-hotel{max-width:280px;min-width:200px}.powerbi-preview-fullscreen .preview-table .col-pbi{max-width:240px;min-width:180px}.powerbi-preview-fullscreen .preview-table .col-hubspot{max-width:220px;min-width:160px}.powerbi-preview-fullscreen .preview-table .col-confidence{width:60px}.powerbi-preview-fullscreen .preview-table .col-status{width:90px}.powerbi-preview-fullscreen .preview-table .col-actions-hs,.powerbi-preview-fullscreen .preview-table .col-actions-pbi{width:100px}.powerbi-preview-panel{background:#f8fafc;display:flex;flex-direction:column;height:100%}.preview-header{background:linear-gradient(135deg,#4338ca,#6366f1);color:#fff;justify-content:space-between;padding:16px 20px}.preview-header,.preview-title{align-items:center;display:flex}.preview-title{gap:10px}.preview-title h3{font-size:16px;font-weight:600;margin:0}.preview-subtitle{background:#ffffff26;border-radius:4px;color:#ffffffb3;font-size:12px;padding:2px 8px}.preview-header-actions{align-items:center;display:flex;gap:8px}.preview-header-actions .import-metrics-btn{background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.preview-header-actions .import-metrics-btn:hover{background:#ffffff40;border-color:#ffffff80}.preview-map-info{background:#fff;border-bottom:1px solid #e2e8f0;font-size:12px;padding:10px 20px}.preview-map-info .map-label{color:#94a3b8;margin-right:8px}.preview-map-info .map-name{color:#1e293b;font-weight:500}.preview-header-compact{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 16px}.preview-header-compact .header-left{align-items:center;display:flex;gap:16px}.preview-header-compact .map-badge{background:#1e293b;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.preview-header-compact .summary-inline{display:flex;gap:12px}.preview-header-compact .summary-inline .stat{color:#64748b;font-size:12px}.preview-header-compact .summary-inline .stat.exact{color:#16a34a;font-weight:500}.preview-header-compact .summary-inline .stat.possible{color:#d97706}.preview-header-compact .summary-inline .stat.confirmed{color:#2563eb;font-weight:500}.preview-header-compact .summary-inline .stat.hubspot{color:#f97316;font-weight:500}.empty-match-badge{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;color:#334155;display:inline-flex;font-size:11px;font-weight:600;padding:4px 8px;white-space:nowrap}.pagination-bar{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 16px}.pagination-info strong{color:#1e293b}.pagination-info .search-indicator{color:#6366f1}.pagination-controls{align-items:center;display:flex;gap:12px}.page-size-label{color:#64748b;font-size:11px}.page-size-select{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:12px;padding:4px 8px}.page-nav{align-items:center;display:flex;gap:4px}.page-indicator{color:#64748b;font-size:12px;padding:0 8px}.table-loading-overlay{align-items:center;background:#ffffffb3;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.preview-table-container{position:relative}.preview-table .empty-results{color:#64748b;font-size:14px;padding:40px 20px;text-align:center}.preview-table .empty-results p{margin-bottom:8px}.match-details.three-blocks{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto 1fr auto 1fr;padding:20px}.match-details .detail-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.match-details .detail-section h5{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:600;gap:6px;margin:0 0 12px}.match-details .detail-section.hubspot-block{background:linear-gradient(180deg,#fff7ed,#fff);border-color:#fed7aa}.match-details .detail-section.hubspot-block h5{color:#ea580c}.match-details .detail-arrow{align-items:center;display:flex;justify-content:center;padding-top:40px}.match-details dl{grid-gap:4px 12px;display:grid;font-size:12px;gap:4px 12px;grid-template-columns:auto 1fr;margin:0}.match-details dt{color:#64748b;font-weight:500}.match-details dd{color:#1e293b;margin:0}.match-details .no-data-block{padding:12px;text-align:center}.match-details .hs-company-name{color:#ea580c;font-weight:600}.match-details .hs-actions{border-top:1px solid #f1f5f9;display:flex;gap:8px;padding-top:8px}.confidence-badge{border-radius:4px;font-size:11px;font-weight:600;padding:2px 6px}.confidence-badge.high{background:#dcfce7;color:#15803d}.confidence-badge.medium{background:#fef3c7;color:#b45309}.confidence-badge.low{background:#f1f5f9;color:#64748b}.status-badge{border-radius:4px;font-size:10px;font-weight:600;padding:3px 8px}.status-badge.complete{background:#dcfce7;color:#15803d}.status-badge.partial{background:#dbeafe;color:#1d4ed8}.status-badge.unlinked{background:#f1f5f9;color:#64748b}.status-badge.conflict{background:#fee2e2;color:#b91c1c}.status-badge.ignored{background:#fef3c7;color:#92400e}.hs-linked{align-items:center;color:#ea580c;display:flex;font-size:12px;gap:6px}.hs-linked svg{color:#f97316}.hs-linked.hs-confirmed{flex-wrap:wrap}.hs-linked .hs-badge.confirmed{background:#dcfce7;border-radius:3px;color:#15803d;font-size:10px;margin-left:4px;padding:1px 4px}.hs-suggestion{display:flex;flex-direction:column;gap:2px}.hs-suggestion-name{color:#78350f;font-size:11px}.hs-suggestion-meta,.hs-suggestion-name{align-items:center;display:flex;gap:4px}.hs-confidence{border-radius:3px;font-size:10px;font-weight:600;padding:1px 4px}.hs-confidence.high{background:#dcfce7;color:#15803d}.hs-confidence.medium{background:#fef3c7;color:#b45309}.hs-confidence.low{background:#f1f5f9;color:#64748b}.hs-status-badge{border-radius:3px;font-size:9px;padding:1px 4px}.hs-status-badge.exact_match{background:#dcfce7;color:#15803d}.hs-status-badge.possible_match{background:#fef3c7;color:#b45309}.hs-status-badge.conflict{background:#fee2e2;color:#b91c1c}.hs-status-badge.low_confidence{background:#f1f5f9;color:#64748b}.action-btn-compact.confirm-hs{color:#f97316}.action-btn-compact.confirm-hs:hover{background:#ffedd5;color:#ea580c}.load-hs-suggestions-btn{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fdba74;color:#ea580c;font-size:11px;height:auto;margin-left:12px;padding:4px 8px}.load-hs-suggestions-btn:hover{background:linear-gradient(135deg,#ffedd5,#fed7aa);border-color:#f97316}.hs-loading-indicator{color:#f97316;gap:6px}.hs-enabled-indicator,.hs-loading-indicator{align-items:center;display:inline-flex;font-size:11px;margin-left:12px}.hs-enabled-indicator{background:#dcfce7;border-radius:4px;color:#16a34a;gap:4px;padding:2px 8px}.action-btns-row{display:flex;gap:2px}.action-btn-compact{align-items:center;border-radius:4px;display:flex;font-size:14px;height:28px;justify-content:center;padding:0;width:28px}.action-btn-compact.confirm:hover{background:#dcfce7;color:#15803d}.action-btn-compact.ignore:hover{background:#fee2e2;color:#b91c1c}.action-btn-compact.manual:hover{background:#dbeafe;color:#1d4ed8}.action-btn-compact.undo:hover{background:#f1f5f9}.action-btn-compact.change-hs:hover,.action-btn-compact.link-hs:hover,.action-btn-compact.unlink-hs:hover{background:#ffedd5;color:#ea580c}.preview-toolbar{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:10px;padding:8px 16px}.preview-toolbar .search-section{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.preview-toolbar .search-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:13px;max-width:300px;padding:6px 12px}.preview-toolbar .search-count{color:#6b7280;font-size:11px}.preview-toolbar .filter-groups{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.preview-toolbar .filter-group{align-items:center;display:flex;gap:6px}.preview-toolbar .filter-group-label{color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase}.preview-toolbar .filter-tabs-inline{display:flex;gap:3px}.preview-toolbar .filter-tabs-inline .filter-tab{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:11px;padding:4px 8px}.preview-toolbar .filter-tabs-inline .filter-tab.active{background:#1e293b;color:#fff}.preview-toolbar .filter-tabs-inline .filter-tab.hs.active{background:#f97316;color:#fff}.preview-toolbar .filter-tabs-inline .filter-tab:hover:not(.active){background:#f1f5f9}.bulk-action-bar.compact{background:#eff6ff;padding:6px 16px}.preview-summary{display:none}.summary-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:8px 16px}.summary-item.exact{background:#dcfce7}.summary-item.possible{background:#fef3c7}.summary-item.unmatched{background:#f1f5f9}.summary-item.conflict{background:#fee2e2}.summary-value{color:#1e293b;font-size:18px;font-weight:700}.summary-item.exact .summary-value{color:#16a34a}.summary-item.possible .summary-value{color:#d97706}.summary-item.conflict .summary-value{color:#dc2626}.summary-label{color:#64748b;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.preview-filters{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;overflow-x:auto;padding:12px 20px}.filter-tab{background:#f1f5f9;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.filter-tab:hover{background:#e2e8f0}.filter-tab.active{background:#4338ca;color:#fff}.preview-table-container{flex:1 1;overflow:auto;padding:0}.preview-table{border-collapse:collapse;font-size:12px;width:100%}.preview-table thead{background:#f8fafc;position:-webkit-sticky;position:sticky;top:0;z-index:1}.preview-table th{border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.preview-table td{background:#fff;border-bottom:1px solid #e2e8f0;padding:10px 12px;vertical-align:middle}.match-row.confirmed td{background:#f0fdf4}.expand-btn{background:#0000;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;padding:4px}.expand-btn:hover{background:#f1f5f9;color:#64748b}.hotel-name-cell .hotel-name{color:#1e293b;font-weight:500}.hotel-name-cell .hotel-city{color:#94a3b8;font-size:11px}.pbi-name-cell .pbi-name{color:#4338ca;font-weight:500}.pbi-name-cell .pbi-alt{color:#94a3b8;display:block;font-size:10px}.pbi-name-cell .no-match{color:#cbd5e1}.hubspot-cell{min-width:120px}.hubspot-cell .hubspot-match{align-items:center;display:flex;gap:6px}.hubspot-cell .hubspot-name{color:#c2410c;font-size:12px;font-weight:500}.hubspot-cell .no-hubspot{color:#cbd5e1;font-size:12px}.confidence-cell .confidence{font-weight:600}.actions-cell .action-buttons{display:flex;gap:2px}.actions-cell .no-action{color:#94a3b8;font-size:10px}.details-row td{background:#f8fafc!important;padding:0!important}.match-details{border-top:1px dashed #e2e8f0;padding:16px 20px}.details-grid{align-items:flex-start;display:flex;gap:20px}.detail-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;padding:12px 16px}.detail-section h5{color:#64748b;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.detail-section dl{grid-gap:4px 12px;display:grid;font-size:11px;gap:4px 12px;grid-template-columns:auto 1fr;margin:0}.detail-section dt{color:#94a3b8}.detail-section dd{color:#1e293b;font-weight:500;margin:0}.detail-arrow{align-items:center;display:flex;padding-top:30px}.match-conflicts,.match-reasons{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.conflicts-label,.reasons-label{color:#64748b;font-size:11px;margin-right:4px}.conflict-badge,.reason-badge{font-size:10px}.preview-footer{align-items:center;background:#fff;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:12px 20px}.powerbi-preview-empty,.powerbi-preview-error,.powerbi-preview-loading{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:60px 40px;text-align:center}.powerbi-preview-empty p,.powerbi-preview-error p,.powerbi-preview-loading p{color:#64748b;margin:0}@media (max-width:768px){.details-grid{flex-direction:column}.detail-arrow{padding:10px 0;transform:rotate(90deg)}.preview-summary{justify-content:center}}.bulk-action-bar{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-bottom:1px solid #bbf7d0;display:flex;gap:16px;justify-content:space-between;padding:10px 20px}.selection-info{align-items:center;display:flex;gap:10px}.select-all-label{color:#166534;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.bulk-confirm-btn{background:#16a34a;color:#fff;font-weight:500}.bulk-confirm-btn:hover:not(:disabled){background:#15803d}.bulk-confirm-btn:disabled{background:#86efac;color:#166534;opacity:.6}.preview-table td.checkbox-col,.preview-table th.checkbox-col{padding-left:12px;padding-right:4px;width:40px}.match-row.selected{background:#f0fdf4!important}.match-row.selected:hover{background:#dcfce7!important}.preview-table .checkbox-col [data-state=checked]{background:#16a34a;border-color:#16a34a}@media (max-width:768px){.bulk-action-bar{flex-direction:column;gap:10px;padding:12px 16px}.bulk-confirm-btn{width:100%}.powerbi-preview-fullscreen{border-radius:0;height:100vh;max-width:none;width:100vw}.preview-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.preview-header .preview-title h3{font-size:16px}.preview-header-actions{gap:8px}.preview-header-compact.mobile{padding:10px 16px}.preview-header-compact.mobile .header-left{align-items:flex-start;flex-direction:column;gap:8px}.preview-header-compact.mobile .summary-inline{grid-gap:6px;-webkit-overflow-scrolling:touch;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);overflow-x:auto;width:100%}.preview-header-compact.mobile .summary-inline .stat{background:#ffffff1a;border-radius:4px;font-size:11px;padding:4px 8px;text-align:center;white-space:nowrap}.preview-toolbar{flex-direction:column;gap:10px;padding:10px 12px}.preview-toolbar .search-input,.preview-toolbar .search-section{width:100%}.preview-toolbar .filter-groups{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:12px;overflow-x:auto;padding-bottom:8px;width:100%}.preview-toolbar .filter-group{flex-shrink:0;min-width:auto}.preview-toolbar .filter-tabs-inline{flex-wrap:nowrap}.preview-toolbar .filter-tabs-inline .filter-tab{font-size:11px;padding:4px 8px;white-space:nowrap}.load-hs-suggestions-btn{justify-content:center;margin-top:8px;width:100%}.pagination-info{flex-direction:column;gap:8px;padding:10px 12px}.pagination-controls{justify-content:space-between;width:100%}.page-size-select{font-size:12px;padding:4px 8px}.page-nav{gap:4px}.page-indicator{font-size:11px}.preview-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.preview-table{min-width:800px}.preview-table td,.preview-table th{font-size:12px;padding:8px}.powerbi-preview-fullscreen .preview-table .col-hotel{max-width:180px;min-width:150px}.powerbi-preview-fullscreen .preview-table .col-pbi{max-width:180px;min-width:140px}.powerbi-preview-fullscreen .preview-table .col-hubspot{max-width:160px;min-width:120px}.powerbi-preview-fullscreen .preview-table .col-confidence{width:50px}.powerbi-preview-fullscreen .preview-table .col-status{width:70px}.powerbi-preview-fullscreen .preview-table .col-actions-hs,.powerbi-preview-fullscreen .preview-table .col-actions-pbi{width:80px}.details-grid{flex-direction:column;gap:12px;padding:12px}.detail-block{padding:12px;width:100%}.detail-arrow{margin:8px 0;transform:rotate(90deg)}.preview-footer{background:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;padding:10px 12px;position:-webkit-sticky;position:sticky}.preview-footer .actualizar-btn,.preview-footer button{font-size:12px;padding:8px 12px}}.pagination-info{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;padding:8px 20px}.pagination-info .text-blue-600{color:#2563eb;font-weight:500}.load-more-container{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:center;padding:16px}.load-more-btn{min-width:200px}.load-more-btn:hover:not(:disabled){background:#e0f2fe;border-color:#3b82f6;color:#1d4ed8}.powerbi-metrics-import{background:#fff;display:flex;flex-direction:column;height:100%}.metrics-import-header{align-items:center;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.metrics-import-header .header-title{align-items:center;color:#1e40af;display:flex;font-weight:600;gap:10px}.metrics-import-info{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;font-size:13px;gap:8px;padding:12px 20px}.metrics-import-info .info-label{color:#64748b}.metrics-import-info .info-value{color:#1e293b;font-weight:500}.existing-snapshots-warning{align-items:center;background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e;display:flex;font-size:12px;gap:8px;padding:10px 20px}.metrics-error,.metrics-loading,.metrics-success{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;text-align:center}.metrics-error{color:#dc2626}.metrics-success{background:#f0fdf4;border-bottom:1px solid #bbf7d0;flex-direction:row;text-align:left}.metrics-success .success-details{display:flex;flex-direction:column;gap:8px}.metrics-success .success-title{color:#166534;font-weight:600}.metrics-success .success-text{color:#15803d;font-size:14px}.metrics-success .success-confirmations{display:flex;flex-wrap:wrap;gap:6px}.metrics-success .confirmation-badge{background:#dcfce7;color:#166534;font-size:11px}.metrics-preview-summary{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:16px 20px}.metrics-preview-summary .summary-stat{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:12px 16px}.metrics-preview-summary .summary-stat.highlight{background:#dbeafe}.metrics-preview-summary .summary-stat.warning{background:#fef3c7}.metrics-preview-summary .stat-value{color:#1e293b;font-size:24px;font-weight:600}.metrics-preview-summary .stat-label{color:#64748b;font-size:11px;text-transform:uppercase}.metrics-preview-table-container{flex:1 1;overflow-y:auto;padding:0 20px}.metrics-preview-table{border-collapse:collapse;font-size:13px;width:100%}.metrics-preview-table th{background:#f1f5f9;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:500;padding:10px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0}.metrics-preview-table td{border-bottom:1px solid #f1f5f9;padding:10px 8px}.metrics-preview-table tr.no-sales{opacity:.6}.metrics-preview-table .hotel-cell .hotel-name{color:#1e293b;display:block;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-preview-table .nombrecliente-cell{color:#64748b;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-preview-table .sales-cell,.metrics-preview-table .ticket-cell{color:#166534;font-weight:500}.metrics-preview-table .lfl-badge{font-size:10px}.metrics-preview-table .lfl-badge.lfl-positive{background:#dcfce7;color:#166534}.metrics-preview-table .lfl-badge.lfl-negative{background:#fee2e2;color:#991b1b}.metrics-preview-table .lfl-badge.lfl-unknown{background:#f1f5f9;color:#64748b}.table-more{background:#f8fafc;color:#64748b;font-size:12px;padding:12px;text-align:center}.without-metrics-section{background:#fef3c7;border-top:1px solid #fcd34d;padding:16px 20px}.without-metrics-section h4{align-items:center;color:#92400e;display:flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:10px}.without-metrics-list{display:flex;flex-wrap:wrap;gap:6px}.without-metrics-list .no-metrics-badge{background:#fff;color:#92400e;font-size:11px}.without-metrics-list .more-text{align-self:center;color:#92400e;font-size:11px}.metrics-import-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.metrics-import-footer .footer-note{color:#64748b;display:flex;flex-direction:column;font-size:11px;gap:2px}.metrics-import-footer .footer-actions{display:flex;gap:8px}.metrics-import-footer .import-btn{background:#2563eb;color:#fff}.metrics-import-footer .import-btn:hover:not(:disabled){background:#1d4ed8}.commercial-analytics{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;margin:12px;max-height:calc(100vh - 200px);overflow:hidden}.commercial-analytics .analytics-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.commercial-analytics-empty,.commercial-analytics-error,.commercial-analytics-loading{align-items:center;background:#fff;border-radius:8px;display:flex;flex-direction:column;gap:12px;justify-content:center;margin:12px;padding:40px 20px;text-align:center}.commercial-analytics-empty h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.commercial-analytics-empty p{color:#64748b;font-size:13px;margin:0;max-width:300px}.analytics-header{align-items:center;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.analytics-header .header-title{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px}.analytics-summary-cards{grid-gap:8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);padding:10px}.analytics-summary-cards .summary-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:8px;padding:8px 10px}.analytics-summary-cards .summary-card svg{color:#64748b;flex-shrink:0}.analytics-summary-cards .summary-card.primary svg{color:#3b82f6}.analytics-summary-cards .summary-card.success svg{color:#22c55e}.analytics-summary-cards .summary-card.warning svg{color:#f59e0b}.analytics-summary-cards .summary-card.info svg{color:#6366f1}.analytics-summary-cards .summary-card.lfl-positive svg{color:#22c55e}.analytics-summary-cards .summary-card.lfl-new svg{color:#a855f7}.analytics-summary-cards .summary-card.lfl-negative svg{color:#ef4444}.analytics-summary-cards .card-content{display:flex;flex-direction:column}.analytics-summary-cards .card-value{color:#1e293b;font-size:14px;font-weight:700;line-height:1.2}.analytics-summary-cards .card-label{color:#64748b;font-size:9px;line-height:1.2;text-transform:uppercase}.analytics-filters{border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.analytics-filters .search-box{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex:1 1;gap:8px;min-width:180px;padding:0 8px}.analytics-filters .search-box input{background:#0000;border:none;flex:1 1}.analytics-results-count{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:12px;padding:8px 12px}.analytics-table-container{border:1px solid #e2e8f0;border-radius:6px;margin:0 12px;max-height:400px;overflow-x:auto;overflow-y:auto}.analytics-table{border-collapse:collapse;font-size:11px;min-width:100%;width:-webkit-max-content;width:max-content}.analytics-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:10px;font-weight:600;padding:8px 6px;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.analytics-table th,.analytics-table th.sticky-col{background:#f1f5f9;position:-webkit-sticky;position:sticky}.analytics-table th.sticky-col{left:0;z-index:2}.analytics-table td{border-bottom:1px solid #f1f5f9;padding:8px 6px;vertical-align:middle;white-space:nowrap}.analytics-table td.sticky-col{background:#fff;border-right:1px solid #e2e8f0;left:0;position:-webkit-sticky;position:sticky;z-index:1}.analytics-table tr:hover td{background:#f8fafc}.analytics-table tr:hover td.sticky-col{background:#f1f5f9}.analytics-table tr.no-sales{opacity:.6}.analytics-table .hotel-cell .hotel-name{color:#1e293b;display:block;font-weight:500;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-table .nombrecliente-cell{color:#6366f1;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analytics-table .number-cell{font-family:SF Mono,Monaco,monospace;font-size:11px;text-align:right}.analytics-table .sales-cell,.analytics-table .ticket-cell{color:#166534;font-weight:500}.analytics-table .variation-cell.positive{color:#16a34a;font-weight:500}.analytics-table .variation-cell.negative{color:#dc2626;font-weight:500}.analytics-table .date-cell,.analytics-table .period-cell{color:#64748b;font-size:11px}.analytics-table .no-results{color:#94a3b8;font-size:14px;padding:40px 20px;text-align:center}.analytics-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.analytics-footer .phase-note{color:#94a3b8;font-size:11px;font-style:italic}.analytics-footer .import-btn{background:#fff;border-color:#3b82f6;color:#3b82f6;font-size:12px;white-space:nowrap}.analytics-footer .import-btn:hover{background:#3b82f6;color:#fff}@media (max-width:768px){.analytics-summary-cards{grid-template-columns:repeat(2,1fr)}.analytics-filters{flex-direction:column}.analytics-filters .search-box{width:100%}}.commercial-analytics-summary{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:12px;padding:14px}.commercial-analytics-summary .summary-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:10px}.commercial-analytics-summary .header-left{align-items:center;display:flex;gap:8px}.commercial-analytics-summary .title{color:#1e293b;font-size:14px;font-weight:600}.commercial-analytics-summary .refresh-btn{height:auto;padding:4px}.commercial-analytics-summary .no-data-message{color:#64748b;padding:16px 8px;text-align:center}.commercial-analytics-summary .no-data-message p{font-size:13px;margin:0}.commercial-analytics-summary .no-data-message .hint{color:#94a3b8;font-size:11px;margin-top:4px}.commercial-analytics-summary .compact-metrics{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.commercial-analytics-summary .metric-row{align-items:center;background:#f8fafc;border-radius:4px;display:flex;font-size:12px;justify-content:space-between;padding:6px 8px}.commercial-analytics-summary .metric-row.highlight{background:#eff6ff;border:1px solid #bfdbfe}.commercial-analytics-summary .metric-row.small{padding:4px 8px}.commercial-analytics-summary .metric-row .label{color:#64748b}.commercial-analytics-summary .metric-row .value{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:4px}.commercial-analytics-summary .metric-row .value .positive{background:#dcfce7;color:#16a34a;font-size:10px;padding:2px 6px}.commercial-analytics-summary .metric-row .value .negative{background:#fee2e2;color:#dc2626;font-size:10px;margin-left:4px;padding:2px 6px}.commercial-analytics-summary .open-analytics-btn{margin-top:8px;width:100%}.commercial-analytics-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.commercial-analytics-drawer{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:90vh;max-width:1600px;overflow:hidden;width:90%}.commercial-analytics-drawer .drawer-header{align-items:center;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;display:flex;justify-content:space-between;padding:16px 24px}.commercial-analytics-drawer .header-left{align-items:center;display:flex;gap:12px}.commercial-analytics-drawer .header-info h2{font-size:18px;font-weight:600;margin:0}.commercial-analytics-drawer .header-info .map-name{font-size:12px;opacity:.8}.commercial-analytics-drawer .header-right{align-items:center;display:flex;gap:12px}.commercial-analytics-drawer .last-import{align-items:center;display:flex;font-size:12px;gap:6px;opacity:.9}.commercial-analytics-drawer .header-right button{border-color:#ffffff4d;color:#fff}.commercial-analytics-drawer .header-right button:hover{background:#ffffff1a}.commercial-analytics-drawer .drawer-summary-cards{grid-gap:10px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:grid;gap:10px;grid-template-columns:repeat(10,1fr);padding:16px 24px}.commercial-analytics-drawer .summary-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:10px 12px}.commercial-analytics-drawer .summary-card.highlight{background:#eff6ff;border-color:#3b82f6}.commercial-analytics-drawer .summary-card.small{padding:8px 10px}.commercial-analytics-drawer .summary-card .icon{color:#64748b;height:20px;width:20px}.commercial-analytics-drawer .summary-card .icon.blue{color:#3b82f6}.commercial-analytics-drawer .summary-card .icon.green{color:#16a34a}.commercial-analytics-drawer .summary-card .icon.orange{color:#f97316}.commercial-analytics-drawer .summary-card .icon.purple{color:#8b5cf6}.commercial-analytics-drawer .summary-card .icon.teal{color:#14b8a6}.commercial-analytics-drawer .summary-card .content{display:flex;flex-direction:column}.commercial-analytics-drawer .summary-card .value{color:#1e293b;font-size:14px;font-weight:700;line-height:1.2}.commercial-analytics-drawer .summary-card .value.positive{color:#16a34a}.commercial-analytics-drawer .summary-card .value.negative{color:#dc2626}.commercial-analytics-drawer .summary-card .label{color:#64748b;font-size:10px;line-height:1.2;text-transform:uppercase}.commercial-analytics-drawer .summary-card .lfl-breakdown{display:flex;gap:8px}.commercial-analytics-drawer .summary-card .lfl-item{align-items:center;display:flex;font-size:12px;font-weight:600;gap:2px}.commercial-analytics-drawer .summary-card .lfl-item.positive{color:#16a34a}.commercial-analytics-drawer .summary-card .lfl-item.negative{color:#dc2626}.commercial-analytics-drawer .summary-card .lfl-item.neutral{color:#64748b}.commercial-analytics-drawer .drawer-filters{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:12px;padding:12px 24px}.commercial-analytics-drawer .drawer-filters .search-box{align-items:center;display:flex;flex:1 1;gap:8px;max-width:300px;min-width:200px}.commercial-analytics-drawer .drawer-filters .filter-count{color:#64748b;font-size:12px;margin-left:auto}.commercial-analytics-drawer .drawer-table-container{flex:1 1;overflow:auto;padding:0}.commercial-analytics-drawer .empty-state,.commercial-analytics-drawer .error-state,.commercial-analytics-drawer .loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;height:300px;justify-content:center}.commercial-analytics-drawer .empty-state .hint{color:#94a3b8;font-size:12px}.commercial-analytics-drawer .drawer-table{border-collapse:collapse;font-size:12px;min-width:100%;width:-webkit-max-content;width:max-content}.commercial-analytics-drawer .drawer-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:10}.commercial-analytics-drawer .drawer-table th{background:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.commercial-analytics-drawer .drawer-table th.number{text-align:right}.commercial-analytics-drawer .drawer-table th.highlight{background:#dbeafe;color:#1e40af}.commercial-analytics-drawer .drawer-table th.sticky-col{left:0;position:-webkit-sticky;position:sticky;z-index:11}.commercial-analytics-drawer .drawer-table td{border-bottom:1px solid #e2e8f0;padding:10px 12px;white-space:nowrap}.commercial-analytics-drawer .drawer-table td.sticky-col{background:#fff;font-weight:500;left:0;position:-webkit-sticky;position:sticky;z-index:5}.commercial-analytics-drawer .drawer-table td.number{font-family:JetBrains Mono,monospace;text-align:right}.commercial-analytics-drawer .drawer-table td.highlight{background:#eff6ff}.commercial-analytics-drawer .drawer-table td.hotel-name{max-width:200px;overflow:hidden;text-overflow:ellipsis}.commercial-analytics-drawer .drawer-table td.nombrecliente{color:#64748b;max-width:150px;overflow:hidden;text-overflow:ellipsis}.commercial-analytics-drawer .drawer-table td.date{color:#64748b;font-size:11px}.commercial-analytics-drawer .drawer-table td .lfl-cell{align-items:center;display:flex;gap:4px;justify-content:flex-end}.commercial-analytics-drawer .drawer-table td .estado-badge{font-size:10px;padding:2px 6px}.commercial-analytics-drawer .drawer-table tbody tr:hover,.commercial-analytics-drawer .drawer-table tbody tr:hover td.sticky-col{background:#f8fafc}.commercial-analytics-drawer .drawer-footer{align-items:center;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:center;padding:12px 24px}.commercial-analytics-drawer .drawer-footer .phase-note{color:#94a3b8;font-size:11px}@media (max-width:1400px){.commercial-analytics-drawer .drawer-summary-cards{grid-template-columns:repeat(5,1fr)}}@media (max-width:1000px){.commercial-analytics-drawer .drawer-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.commercial-analytics-overlay{padding:10px}.commercial-analytics-drawer{border-radius:0;height:100%;width:100%}.commercial-analytics-drawer .drawer-summary-cards{grid-template-columns:repeat(2,1fr)}.commercial-analytics-drawer .drawer-filters{align-items:stretch;flex-direction:column}.commercial-analytics-drawer .drawer-filters .search-box{max-width:none}}.period-chip{align-items:center;background:#f0f9ff;border:1px solid #bfdbfe;border-radius:16px;color:#1e40af;display:inline-flex;font-size:11px;font-weight:500;gap:6px;padding:4px 10px}.period-chip-text{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.period-row{padding:8px 12px}.period-row,.period-selector-full{background:#f8fafc;border-bottom:1px solid #e2e8f0}.period-selector-full{padding:8px 16px}.period-controls-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.period-control{display:flex;flex-direction:column;gap:2px}.period-control label{color:#64748b;font-size:10px;font-weight:500;text-transform:uppercase}.period-info-inline{align-items:center;background:#dbeafe;border-radius:6px;display:flex;font-size:12px;gap:6px;padding:4px 12px}.period-label-text{color:#1e40af;font-weight:600}.period-dates-text{color:#3b82f6;font-size:11px}.available-periods-inline{align-items:center;display:flex;gap:6px;margin-left:auto}.available-periods-inline .label{color:#64748b;font-size:10px;text-transform:uppercase}.period-badge-inline{cursor:pointer;font-size:11px;padding:2px 8px;transition:all .15s ease}.period-badge-inline:hover{background:#dbeafe;border-color:#3b82f6}.update-metrics-inline-btn{font-size:12px;margin-left:12px}.commercial-analytics-drawer.compact{display:flex;flex-direction:column;height:100%}.drawer-header-compact{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:10px 16px}.drawer-header-compact .header-left{align-items:center;display:flex;gap:10px}.drawer-header-compact h2{font-size:16px;font-weight:600;margin:0}.drawer-header-compact .map-name-badge{background:#ffffff26;border-radius:4px;font-size:11px;padding:2px 8px}.drawer-header-compact .last-import-compact{align-items:center;display:flex;font-size:10px;gap:4px;opacity:.7}.drawer-header-compact .header-right{align-items:center;display:flex;gap:4px}.drawer-header-compact .header-right button{color:#fff}.drawer-summary-compact{background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:8px;overflow-x:auto;padding:10px 16px}.drawer-summary-compact .summary-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:2px;min-width:80px;padding:8px 12px}.drawer-summary-compact .summary-item .val{color:#1e293b;font-size:14px;font-weight:700}.drawer-summary-compact .summary-item .lbl{color:#64748b;font-size:9px;text-transform:uppercase}.drawer-summary-compact .summary-item.highlight{background:#f0f9ff;border-color:#bfdbfe}.drawer-summary-compact .summary-item.highlight .val.positive{color:#16a34a}.drawer-summary-compact .summary-item.highlight .val.negative{color:#dc2626}.drawer-summary-compact .summary-item.lfl-breakdown{min-width:70px}.drawer-summary-compact .lfl-counts{display:flex;font-size:13px;font-weight:600;gap:8px}.drawer-summary-compact .lfl-counts .positive{color:#16a34a}.drawer-summary-compact .lfl-counts .negative{color:#dc2626}.drawer-filters-compact{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:8px;padding:8px 16px}.search-box-compact{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex:1 1;gap:8px;max-width:250px;padding:0 10px}.search-box-compact input{background:#0000;border:none;padding-left:0}.filter-count-compact{color:#64748b;font-size:11px;margin-left:auto}.drawer-table-container-full{background:#fff;flex:1 1;min-height:0;overflow:auto}.commercial-analytics-drawer.compact .drawer-table-container-full{height:calc(100vh - 250px)}.period-info-header{align-items:center;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-bottom:1px solid #bfdbfe;display:flex;font-size:12px;gap:8px;padding:8px 16px}.period-info-header .period-label{color:#3b82f6;font-weight:500}.period-info-header .period-value{color:#1e40af;font-weight:600}.period-info-header .period-dates{color:#64748b;font-size:11px;margin-left:auto}.commercial-analytics-summary .period-display-compact{align-items:center;background:#f0f9ff;border-radius:6px;display:flex;font-size:11px;gap:8px;margin-top:8px;padding:6px 10px}.commercial-analytics-summary .period-display-compact .period-icon{color:#3b82f6}.commercial-analytics-summary .period-display-compact .period-text{color:#1e40af;font-weight:500}@media (max-width:768px){.period-selector .period-controls{flex-direction:column}.period-selector .control-group{min-width:auto}}.commercial-layer-selector-compact{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:11px;gap:6px;padding:4px 8px}.commercial-layer-selector{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 12px}.commercial-layer-selector .layer-selector-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.commercial-layer-selector .title{color:#1e293b;font-size:12px;font-weight:600}.commercial-layer-selector .period-badge{font-size:10px;margin-left:auto}.commercial-layer-selector .layer-buttons{display:flex;flex-wrap:wrap;gap:6px}.commercial-layer-selector .layer-btn{font-size:11px;height:28px;padding:4px 10px}.commercial-layer-selector .layer-btn.active{background:#2563eb;color:#fff}.commercial-layer-selector .layer-btn.disabled{cursor:not-allowed;opacity:.5}.commercial-layer-selector .no-metrics-warning{background:#fef3c7;border-radius:4px;color:#92400e;font-size:11px;margin-top:8px;padding:6px 10px}.legend-dot-size{border-radius:50%;flex-shrink:0;height:12px;width:12px}.legend-dot-size.size-large{height:18px;width:18px}.legend-dot-size.size-medium{height:14px;width:14px}.legend-dot-size.size-small{height:10px;width:10px}.legend-dot-size.size-none{height:8px;width:8px}.legend-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.commercial-hotel-panel .metrics-section{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:12px;padding:12px}.commercial-hotel-panel .metrics-header{align-items:center;color:#1e40af;display:flex;font-size:12px;font-weight:600;gap:8px;margin-bottom:10px}.commercial-hotel-panel .metrics-header .period-badge{align-items:center;display:flex;font-size:10px;margin-left:auto}.commercial-hotel-panel .metric-row{border-bottom:1px solid #dbeafe;display:flex;font-size:11px;justify-content:space-between;padding:4px 0}.commercial-hotel-panel .metric-row .metric-label{color:#64748b}.commercial-hotel-panel .metric-row .metric-value{color:#1e293b;font-weight:500}.commercial-hotel-panel .metrics-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:8px}.commercial-hotel-panel .metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px}.commercial-hotel-panel .metric-card.highlight{background:#fef3c7;border-color:#fcd34d}.commercial-hotel-panel .metric-card .metric-label{color:#64748b;display:block;font-size:9px;margin-bottom:2px;text-transform:uppercase}.commercial-hotel-panel .metric-card .metric-value{align-items:center;color:#1e293b;display:flex;font-size:12px;font-weight:600;gap:4px}.commercial-hotel-panel .metric-card .metric-value.lfl-value{font-size:13px}.commercial-hotel-panel .no-metrics-message{align-items:center;background:#f8fafc;border-radius:8px;color:#64748b;display:flex;font-size:12px;gap:8px;margin-top:12px;padding:12px}.commercial-hotel-panel.compact{max-height:calc(100vh - 120px);width:300px}.commercial-hotel-panel.compact .panel-header{padding:12px 14px}.commercial-hotel-panel.compact .hotel-title h3{font-size:14px}.commercial-hotel-panel.compact .panel-content{gap:10px;padding:12px}.commercial-hotel-panel.compact .status-badge-inline{align-items:center;border-radius:12px;display:inline-flex;font-size:11px;font-weight:500;gap:6px;padding:4px 10px}.commercial-hotel-panel.compact .status-badge-inline.cliente{background:#dcfce7;color:#166534}.commercial-hotel-panel.compact .status-badge-inline.no-cliente{background:#fee2e2;color:#991b1b}.commercial-hotel-panel.compact .status-badge-inline.desconocido{background:#f1f5f9;color:#475569}.commercial-hotel-panel.compact .info-rows{display:flex;flex-direction:column;gap:6px}.commercial-hotel-panel.compact .info-row{align-items:flex-start;color:#64748b;display:flex;font-size:11px;gap:6px}.commercial-hotel-panel.compact .info-row svg{color:#94a3b8;flex-shrink:0;margin-top:1px}.commercial-hotel-panel.compact .info-row .info-text{line-height:1.3}.commercial-hotel-panel.compact .info-row-inline{display:flex;flex-wrap:wrap;gap:6px}.commercial-hotel-panel.compact .info-chip{align-items:center;background:#f1f5f9;border-radius:10px;color:#475569;display:inline-flex;font-size:10px;gap:4px;padding:2px 8px}.commercial-hotel-panel.compact .info-chip svg{color:#94a3b8}.commercial-hotel-panel.compact .panel-divider{background:#e2e8f0;height:1px;margin:4px 0}.commercial-hotel-panel.compact .metrics-compact{background:#f8fafc;border-radius:8px;padding:10px}.commercial-hotel-panel.compact .metrics-header-compact{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.commercial-hotel-panel.compact .metrics-title{color:#334155;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.commercial-hotel-panel.compact .period-chip{align-items:center;background:#e0f2fe;border-radius:8px;color:#0369a1;display:flex;font-size:10px;gap:4px;padding:2px 6px}.commercial-hotel-panel.compact .metric-line.client-name{border-bottom:1px solid #e2e8f0;margin-bottom:6px;padding:6px 0}.commercial-hotel-panel.compact .metric-line.client-name .metric-value{color:#0369a1;font-weight:600}.commercial-hotel-panel.compact .metrics-list{display:flex;flex-direction:column;gap:1px}.commercial-hotel-panel.compact .metric-line{align-items:center;display:flex;font-size:11px;justify-content:space-between;padding:4px 0}.commercial-hotel-panel.compact .metric-line .metric-label{color:#64748b}.commercial-hotel-panel.compact .metric-line .metric-value{color:#1e293b;font-weight:500}.commercial-hotel-panel.compact .metric-line.highlight{background:#fef9c3;border-radius:4px;margin:2px -6px;padding:5px 6px}.commercial-hotel-panel.compact .metric-line.highlight.positive{background:#dcfce7}.commercial-hotel-panel.compact .metric-line.highlight.positive .lfl-highlight{color:#166534}.commercial-hotel-panel.compact .metric-line.highlight.negative{background:#fee2e2}.commercial-hotel-panel.compact .metric-line.highlight.negative .lfl-highlight{color:#991b1b}.commercial-hotel-panel.compact .metric-line.highlight.neutral{background:#f1f5f9}.commercial-hotel-panel.compact .metric-line.highlight.neutral .lfl-highlight{color:#475569}.commercial-hotel-panel.compact .lfl-highlight{align-items:center;display:flex;font-weight:600;gap:4px}.commercial-hotel-panel.compact .no-metrics-compact{align-items:center;background:#f8fafc;border-radius:8px;color:#64748b;display:flex;font-size:11px;gap:8px;padding:10px}.commercial-hotel-panel.compact .notes-compact{align-items:flex-start;color:#64748b;display:flex;font-size:11px;gap:6px}.commercial-hotel-panel.compact .notes-compact svg{color:#94a3b8;flex-shrink:0;margin-top:1px;.preview-table.dense{font-size:11px}.preview-table.dense th{font-size:10px;font-weight:600;letter-spacing:.3px;padding:6px 8px;text-transform:uppercase;white-space:nowrap}.preview-table.dense td{padding:6px 8px;vertical-align:middle}.preview-table .checkbox-col{width:32px}.preview-table .expand-col{width:28px}.preview-table .col-hotel{max-width:180px;min-width:140px}.preview-table .col-pbi{max-width:160px;min-width:120px}.preview-table .col-hubspot{max-width:150px;min-width:110px}.preview-table .col-confidence{text-align:center;width:50px}.preview-table .col-actions-pbi,.preview-table .col-status{width:80px}.preview-table .col-actions-hs{width:50px}.hotel-name-wrap{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;display:-webkit-box;font-weight:500;line-height:1.3;overflow:hidden;word-break:break-word}.hotel-city-small{color:#94a3b8;font-size:10px;margin-top:1px}.pbi-linked .pbi-name-compact{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#4338ca;display:-webkit-box;font-weight:500;overflow:hidden}.hs-linked{align-items:center;color:#c2410c;display:flex;font-weight:500;gap:4px}.hs-linked svg{color:#f97316;flex-shrink:0}.hs-linked span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-muted{background:#f1f5f9;border-radius:3px;color:#64748b;display:inline-block;font-size:10px;font-weight:500;padding:2px 6px}.confidence-badge{font-size:10px;font-weight:600}.confidence-badge.text-green-600{color:#16a34a}.confidence-badge.text-amber-600{color:#d97706}.confidence-badge.text-gray-500{color:#6b7280}.status-badge{border-radius:4px;font-size:9px;font-weight:500;padding:2px 6px}.status-badge.complete{background:#dcfce7;color:#166534}.status-badge.partial{background:#fef3c7;color:#92400e}.status-badge.unlinked{background:#f1f5f9;color:#64748b}.status-badge.conflict{background:#fee2e2;color:#991b1b}.action-btns-row{display:flex;gap:2px}.action-btn-compact{align-items:center;border-radius:4px;display:flex;font-size:11px;height:22px;justify-content:center;padding:0;width:22px}.action-btn-compact.confirm{color:#16a34a}.action-btn-compact.confirm:hover{background:#dcfce7}.action-btn-compact.ignore{color:#6b7280}.action-btn-compact.ignore:hover{background:#f1f5f9}.action-btn-compact.manual{color:#2563eb}.action-btn-compact.manual:hover{background:#dbeafe}.action-btn-compact.undo{color:#dc2626}.action-btn-compact.undo:hover{background:#fee2e2}.action-btn-compact.view{color:#6366f1}.action-btn-compact.view:hover{background:#e0e7ff}.action-btn-compact.link-hs{color:#f97316}.action-btn-compact.link-hs:hover{background:#ffedd5}.action-btn-compact.change-hs{color:#0891b2}.action-btn-compact.change-hs:hover{background:#cffafe}.action-btn-compact.unlink-hs{color:#dc2626}.action-btn-compact.unlink-hs:hover{background:#fee2e2}.action-btn-compact.ignore-hs{color:#9333ea}.action-btn-compact.ignore-hs:hover{background:#f3e8ff}.action-btn-compact.undo-ignore{color:#f59e0b}.action-btn-compact.undo-ignore:hover{background:#fef3c7}.preview-table.dense .details-row td{background:#f8fafc;padding:0}}.commercial-hotel-popup{animation:popupFadeIn .15s ease-out;background:#fff;border-radius:10px;box-shadow:0 4px 20px #0003,0 0 0 1px #0000000d;max-height:380px;overflow:hidden;position:fixed;width:290px;z-index:1000}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.commercial-hotel-popup .popup-header{align-items:center;background:#1e3a5f;color:#fff;display:flex;justify-content:space-between;padding:10px 12px}.commercial-hotel-popup .popup-title{font-size:13px;font-weight:600;line-height:1.3;margin:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commercial-hotel-popup .popup-close{align-items:center;background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;transition:background .15s ease;width:24px}.commercial-hotel-popup .popup-close:hover{background:#ffffff40}.commercial-hotel-popup .popup-content{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:10px 12px}.commercial-hotel-popup .status-badge-inline{align-items:center;border-radius:10px;display:inline-flex;font-size:10px;font-weight:500;gap:4px;padding:3px 8px}.commercial-hotel-popup .status-badge-inline.cliente{background:#dcfce7;color:#166534}.commercial-hotel-popup .status-badge-inline.no-cliente{background:#fee2e2;color:#991b1b}.commercial-hotel-popup .status-badge-inline.desconocido{background:#f1f5f9;color:#475569}.commercial-hotel-popup .info-rows{display:flex;flex-direction:column;gap:4px}.commercial-hotel-popup .info-row{align-items:flex-start;color:#64748b;display:flex;font-size:10px;gap:5px;line-height:1.3}.commercial-hotel-popup .info-row svg{color:#94a3b8;flex-shrink:0;height:11px;margin-top:1px;width:11px}.commercial-hotel-popup .info-row-inline{display:flex;flex-wrap:wrap;gap:4px}.commercial-hotel-popup .info-chip{align-items:center;background:#f1f5f9;border-radius:8px;color:#475569;display:inline-flex;font-size:9px;gap:3px;padding:2px 6px}.commercial-hotel-popup .info-chip svg{color:#94a3b8;height:10px;width:10px}.commercial-hotel-popup .info-chip.muted{background:#f1f5f9;color:#94a3b8;font-style:italic}.commercial-hotel-popup .sector-distance-info{margin-bottom:4px}.commercial-hotel-popup .sector-badge-popup{align-items:center;border-radius:10px;color:#fff;display:inline-flex;font-size:10px;font-weight:600;gap:3px;padding:3px 8px}.commercial-hotel-popup .distance-chip{align-items:center;background:#e0f2fe;border-radius:8px;color:#0369a1;display:inline-flex;font-size:9px;font-weight:500;gap:3px;padding:2px 6px}.commercial-hotel-popup .distance-chip svg{color:#0284c7;height:10px;width:10px}.commercial-hotel-popup .warning-chip{background:#fef3c7;color:#92400e;font-weight:500}.commercial-hotel-popup .panel-divider{background:#e2e8f0;height:1px;margin:2px 0}.commercial-hotel-popup .metrics-compact{background:#f8fafc;border-radius:6px;padding:8px}.commercial-hotel-popup .metrics-header-compact{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.commercial-hotel-popup .metrics-title{color:#334155;font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.commercial-hotel-popup .period-chip{align-items:center;background:#e0f2fe;border-radius:6px;color:#0369a1;display:flex;font-size:9px;gap:3px;padding:2px 5px}.commercial-hotel-popup .period-chip svg{height:10px;width:10px}.commercial-hotel-popup .metric-line.client-name{border-bottom:1px solid #e2e8f0;margin-bottom:4px;padding:4px 0}.commercial-hotel-popup .metric-line.client-name .metric-value{color:#0369a1;font-size:10px;font-weight:600}.commercial-hotel-popup .metrics-list{display:flex;flex-direction:column;gap:0}.commercial-hotel-popup .metric-line{align-items:center;display:flex;font-size:10px;justify-content:space-between;padding:2px 0}.commercial-hotel-popup .metric-line .metric-label{color:#64748b;font-size:10px}.commercial-hotel-popup .metric-line .metric-value{color:#1e293b;font-size:10px;font-weight:500}.commercial-hotel-popup .metric-line.highlight{background:#fef9c3;border-radius:3px;margin:1px -4px;padding:3px 4px}.commercial-hotel-popup .metric-line.highlight.positive{background:#dcfce7}.commercial-hotel-popup .metric-line.highlight.positive .lfl-highlight{color:#166534}.commercial-hotel-popup .metric-line.highlight.negative{background:#fee2e2}.commercial-hotel-popup .metric-line.highlight.negative .lfl-highlight{color:#991b1b}.commercial-hotel-popup .metric-line.highlight.neutral{background:#f1f5f9}.commercial-hotel-popup .metric-line.highlight.neutral .lfl-highlight{color:#475569}.commercial-hotel-popup .lfl-highlight{align-items:center;display:flex;font-size:10px;font-weight:600;gap:3px}.commercial-hotel-popup .lfl-highlight svg{height:11px;width:11px}.commercial-hotel-popup .no-metrics-compact{align-items:center;background:#f8fafc;border-radius:6px;color:#64748b;display:flex;font-size:10px;gap:6px;padding:8px}.commercial-hotel-popup .no-metrics-compact svg{height:14px;width:14px}.commercial-hotel-popup .notes-compact{align-items:flex-start;color:#64748b;display:flex;font-size:10px;gap:5px}.commercial-hotel-popup .notes-compact svg{color:#94a3b8;flex-shrink:0;height:11px;margin-top:1px;width:11px}.commercial-routes-summary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:12px}.routes-summary-header{margin-bottom:10px}.routes-title{align-items:center;color:#1e3a5f;display:flex;font-size:13px;font-weight:600;gap:8px}.routes-stats{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.route-stat{align-items:center;display:flex;font-size:12px;gap:8px}.route-stat .stat-indicator{border-radius:50%;height:8px;width:8px}.route-stat .stat-indicator.high{background:#dc2626}.route-stat .stat-indicator.medium{background:#f59e0b}.route-stat .stat-label{color:#64748b;flex:1 1}.route-stat .stat-value{color:#1e293b;font-weight:600}.open-routes-btn{align-items:center;background:#1e3a5f;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:10px;transition:background .15s ease;width:100%}.open-routes-btn:hover{background:#2d4a6f}.commercial-routes-fullview-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.commercial-routes-fullview{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;overflow:hidden;width:95%}.routes-fv-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.routes-fv-title{align-items:center;display:flex;gap:10px}.routes-fv-title h2{font-size:18px;font-weight:600;margin:0}.routes-fv-actions{align-items:center;display:flex;gap:10px}.routes-fv-actions .view-selected-btn{background:#22c55e;border:none}.routes-fv-actions .view-selected-btn:hover{background:#16a34a}.routes-fv-close{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s ease;width:32px}.routes-fv-close:hover{background:#ffffff40}.routes-fv-stats{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:20px;padding:12px 20px}.routes-fv-stats .stat-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;padding:8px 16px}.routes-fv-stats .stat-item.high{background:#fef2f2;border-color:#fecaca}.routes-fv-stats .stat-item.medium{background:#fffbeb;border-color:#fed7aa}.routes-fv-stats .stat-item.low{background:#f0fdf4;border-color:#bbf7d0}.routes-fv-stats .stat-number{color:#1e293b;font-size:20px;font-weight:700}.routes-fv-stats .stat-label{color:#64748b;font-size:11px}.routes-fv-filters{border-bottom:1px solid #e2e8f0;padding:12px 20px}.filters-toggle{align-items:center;background:#f1f5f9;border:none;border-radius:6px;color:#334155;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 12px;transition:background .15s ease}.filters-toggle:hover{background:#e2e8f0}.filters-grid{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.filter-item{display:flex;flex-direction:column;gap:4px;min-width:140px}.filter-item label{color:#64748b;font-size:11px;font-weight:500}.filter-item.checkboxes{flex-direction:row;flex-wrap:wrap;gap:12px;min-width:300px}.checkbox-row{align-items:center;color:#334155;display:flex;font-size:12px;gap:6px}.routes-fv-selection-bar{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 20px}.selection-actions{display:flex;gap:8px}.selection-count{color:#64748b;font-size:13px}.routes-fv-table-container{flex:1 1;overflow:auto;padding:0 20px}.routes-table{border-collapse:collapse;font-size:12px;width:100%}.routes-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap}.routes-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:10px 8px}.routes-table tr:hover{background:#f8fafc;cursor:pointer}.routes-table tr.selected{background:#eff6ff}.routes-table tr.selected:hover{background:#dbeafe}.routes-table .col-select{width:40px}.routes-table .col-priority{width:80px}.routes-table .col-hotel{max-width:180px}.routes-table .col-address,.routes-table .col-hotel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-table .col-address{max-width:200px}.routes-table .col-city{width:100px}.routes-table .col-category,.routes-table .col-rooms{text-align:center;width:50px}.routes-table .col-status{width:90px}.routes-table .col-captacion,.routes-table .col-lfl,.routes-table .col-sales{text-align:right;width:90px}.routes-table .col-reason{color:#64748b;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-table .no-results{color:#94a3b8;padding:40px;text-align:center}.routes-table .no-results svg{margin-bottom:8px}.priority-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.status-chip{border-radius:8px;display:inline-block;font-size:10px;font-weight:500;padding:2px 6px}.status-chip.cliente{background:#dcfce7;color:#166534}.status-chip.no-cliente{background:#fee2e2;color:#991b1b}.status-chip.desconocido{background:#f1f5f9;color:#475569}.routes-fv-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 20px}.priority-explanation{color:#64748b;font-size:11px;margin:0}.priority-explanation strong{color:#334155}.routes-fv-header .google-maps-btn,.routes-fv-header .order-route-btn{background:#fff;color:#334155}.routes-fv-header .google-maps-btn.warning{border-color:#f59e0b;color:#f59e0b}.routes-fv-content{display:flex;flex:1 1;overflow:hidden}.routes-fv-content .routes-fv-table-area{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.routes-fv-content.with-route-panel .routes-fv-table-area{flex:0.6 1}.routes-fv-route-panel{background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex:0.4 1;flex-direction:column;max-width:400px;min-width:320px;overflow:hidden}.route-panel-actions button.warning{border-color:#f59e0b;color:#f59e0b}.route-stop{gap:12px;padding:12px;transition:border-color .15s ease}.route-stop:hover{border-color:#3b82f6}.route-stop-number{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.route-stop-info{flex:1 1;min-width:0}.route-stop-name{color:#1e293b;font-size:13px;font-weight:600;margin-bottom:2px}.route-stop-address,.route-stop-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-stop-address{color:#64748b;font-size:11px;margin-bottom:6px}.route-stop-meta{display:flex;flex-wrap:wrap;font-size:10px;gap:6px}.route-stop-meta span{color:#475569}.route-stop-meta .priority-badge.mini,.route-stop-meta .status-chip{font-size:9px;padding:1px 5px}.route-stop-distance{color:#94a3b8;font-size:10px;font-style:italic;margin-top:6px}.route-panel-summary p{color:#64748b;font-size:12px;margin:0}.selection-count .limit-warning{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:inline-flex;font-size:11px;gap:4px;margin-left:12px;padding:2px 8px}.commercial-sectors-summary{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:12px 12px 0;padding:12px}.sectors-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.sectors-title{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px}.sectors-description{color:#64748b;font-size:12px;line-height:1.4;margin:0 0 12px}.sectors-mini-grid{display:flex;gap:6px;margin-bottom:10px}.sector-mini-card{border-radius:6px;flex:1 1;padding:6px 8px;text-align:center}.sector-mini-name{color:#64748b;display:block;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.sector-mini-count{color:#1e293b;display:block;font-size:16px;font-weight:700}.sectors-quick-stats{display:flex;gap:12px;margin-bottom:12px}.sectors-quick-stats .quick-stat{background:#f1f5f9;border-radius:6px;flex:1 1;padding:6px;text-align:center}.sectors-quick-stats .stat-value{color:#1e293b;display:block;font-size:18px;font-weight:700}.sectors-quick-stats .stat-label{color:#64748b;display:block;font-size:10px;text-transform:uppercase}.generate-sectors-btn,.open-sectors-btn{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;width:100%}.generate-sectors-btn:hover,.open-sectors-btn:hover{background:linear-gradient(135deg,#2d4a6f,#3d5a7f)}.commercial-sectors-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.commercial-sectors-fullview{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.sectors-fv-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.sectors-fv-title{align-items:center;display:flex;gap:10px}.sectors-fv-title h2{font-size:18px;font-weight:700;margin:0}.sectors-fv-actions{align-items:center;display:flex;gap:12px}.sector-count-selector{align-items:center;display:flex;gap:10px}.sector-count-selector label{color:#fffc;font-size:13px}.sector-toggle-buttons{border:1px solid #ffffff4d;border-radius:6px;display:flex;gap:0;overflow:hidden}.sector-toggle-btn{background:#ffffff1a;border:none;color:#ffffffb3;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s ease}.sector-toggle-btn:first-child{border-right:1px solid #fff3}.sector-toggle-btn:hover{background:#fff3;color:#fff}.sector-toggle-btn.active{background:#fffffff2;color:#1e3a5f;font-weight:600}.sector-count-selector .w-20{background:#ffffff26;border-color:#fff3;color:#fff;width:70px}.sectors-fv-actions .generate-btn{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;color:#fff;display:flex;gap:6px}.sectors-fv-actions .generate-btn:hover{background:#ffffff40}.sectors-fv-close{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .15s ease;width:36px}.sectors-fv-close:hover{background:#ffffff40}.sectors-not-generated{align-items:center;color:#64748b;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px;text-align:center}.sectors-not-generated h3{color:#1e293b;font-size:20px;margin:16px 0 8px}.sectors-not-generated p{line-height:1.5;margin-bottom:24px;max-width:400px}.algorithm-info{background:#f1f5f9;border-radius:10px;margin-bottom:24px;max-width:400px;padding:16px 24px;text-align:left}.algorithm-info h4{color:#1e3a5f;font-size:14px;margin:0 0 8px}.algorithm-info ol{color:#475569;font-size:13px;margin:0;padding-left:20px}.algorithm-info li{margin-bottom:4px}.sectors-fv-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.sectors-fv-content.with-route-panel{flex-direction:row}.sectors-fv-main{flex:1 1;overflow-y:auto;padding:20px}.monthly-plan-section{margin-bottom:24px}.monthly-plan-section h3{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 12px}.monthly-plan-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.week-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;border-top:4px solid;cursor:pointer;padding:12px;transition:all .15s ease}.week-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.week-card.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.week-card.extra{background:#f8fafc;border-top-color:#94a3b8}.week-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.week-number{color:#1e293b;font-size:13px;font-weight:600}.sector-badge{border-radius:12px;font-size:11px;padding:2px 8px}.sector-badge.misc{background:#94a3b8}.week-stats{color:#64748b;display:flex;flex-direction:column;font-size:12px;gap:2px}.week-stats .high-priority{color:#ef4444;font-weight:500}.sectors-table-section{margin-bottom:20px}.sectors-table-section h3{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 12px}.sectors-table-container{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.sectors-table{border-collapse:collapse;font-size:13px;width:100%}.sectors-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.sectors-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:10px 12px}.sectors-table tr:last-child td{border-bottom:none}.sectors-table tr:hover{background:#f8fafc}.sectors-table tr.selected{background:#eff6ff}.sectors-table td.num{font-family:JetBrains Mono,monospace;text-align:right}.sectors-table td.high{color:#ef4444;font-weight:600}.sectors-table td.medium{color:#f59e0b}.sectors-table td.negative{color:#ef4444}.sector-color-dot{border-radius:50%;display:inline-block;height:10px;margin-right:8px;width:10px}.week-badge{background:#e2e8f0;border-radius:4px;color:#475569;display:inline-block;font-size:11px;font-weight:600;padding:2px 6px}.actions-col{display:flex;gap:4px}.actions-col button{padding:4px 8px}.sectors-route-panel{background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;min-width:320px;overflow:hidden;width:360px}.route-panel-header{padding:12px 16px}.route-panel-header h3{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.route-panel-close{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .15s ease;width:28px}.route-panel-close:hover{background:#ffffff40}.route-panel-info{padding:10px 16px}.route-panel-info p{color:#1e40af;font-size:12px;margin:0}.route-panel-actions{padding:12px 16px}.route-panel-actions button{font-size:12px}.route-panel-list{flex:1 1;overflow-y:auto;padding:12px}.route-panel-summary{background:#fff;border-top:1px solid #e2e8f0;color:#475569;font-size:13px;padding:12px 16px}.sectors-fv-footer{background:#f8fafc;border-top:1px solid #e2e8f0;padding:12px 20px}.sectors-fv-footer p{color:#64748b;font-size:11px;line-height:1.5;margin:0}.sectors-fv-footer strong{color:#334155}@media (max-width:768px){.commercial-sectors-fullview{border-radius:12px 12px 0 0;max-height:95vh;max-width:100%}.sectors-fv-content.with-route-panel{flex-direction:column}.sectors-route-panel{max-height:50%;width:100%}.monthly-plan-grid{grid-template-columns:repeat(2,1fr)}.sectors-table{font-size:11px}}.balance-badge{border-radius:10px;font-size:10px;font-weight:600;padding:2px 8px}.balance-badge.balanced{background:#dcfce7;color:#166534}.balance-badge.unbalanced{background:#fef3c7;color:#92400e}.sectors-table td.weight{color:#1e3a5f;font-weight:600}.sectors-map-legend{background:#fff;border-radius:10px;bottom:80px;box-shadow:0 2px 10px #00000026;font-size:12px;left:12px;padding:12px;position:absolute;z-index:100}.sectors-map-legend h4{color:#1e293b;font-size:12px;font-weight:600;margin:0 0 8px}.sectors-map-legend-item{align-items:center;display:flex;gap:8px;margin-bottom:4px}.sectors-map-legend-item:last-child{margin-bottom:0}.legend-color-swatch{border:1px solid #0000001a;border-radius:4px;height:16px;width:16px}.legend-sector-info{display:flex;flex-direction:column;gap:1px}.legend-sector-name{color:#1e293b;font-weight:600}.legend-sector-stats{color:#64748b;font-size:10px}.sector-qualification-criteria{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;overflow:hidden}.criteria-header{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background .15s ease}.criteria-header:hover{background:#f8fafc}.criteria-title{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px}.criteria-content{border-top:1px solid #e2e8f0;padding:16px}.no-candidates-warning{align-items:flex-start;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;gap:12px;padding:16px}.no-candidates-warning strong{display:block;margin-bottom:4px}.no-candidates-warning p{font-size:13px;margin:0}.criteria-row{margin-bottom:14px}.criteria-row:last-child{margin-bottom:0}.criteria-label{align-items:center;color:#64748b;display:flex;font-size:12px;font-weight:500;gap:6px;margin-bottom:6px}.criteria-select{width:100%}.criteria-input{max-width:120px;width:100%}.distance-input-group{align-items:center;display:flex;gap:10px}.preset-btn{background:#e2e8f0;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s ease}.preset-btn:hover{background:#cbd5e1}.preset-btn.active{background:#3b82f6;color:#fff}.checkbox-group{gap:12px}.checkbox-item{color:#475569;cursor:pointer;font-size:13px}.checkbox-item,.criteria-info{align-items:center;display:flex;gap:6px}.criteria-info{border-top:1px solid #e2e8f0;color:#94a3b8;font-size:11px;margin-top:12px;padding-top:12px}.qualification-summary{display:flex;font-size:11px;gap:8px;margin-bottom:10px}.qual-stat{align-items:center;border-radius:12px;display:flex;gap:4px;padding:3px 8px}.qual-stat.qualified{background:#dcfce7;color:#166534}.qual-stat.excluded{background:#fee2e2;color:#991b1b}.qualification-stats-section{margin-bottom:20px}.qual-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.qual-stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:14px}.qual-stat-card.qualified{border-left:4px solid #22c55e}.qual-stat-card.excluded{border-left:4px solid #ef4444}.qual-stat-card.weight{border-left:4px solid #3b82f6}.qual-stat-content{display:flex;flex-direction:column}.qual-stat-value{color:#1e293b;font-size:20px;font-weight:700}.qual-stat-label{color:#64748b;font-size:11px;text-transform:uppercase}.exclusion-breakdown{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.exclusion-breakdown h4{align-items:center;color:#64748b;display:flex;font-size:13px;font-weight:600;gap:8px;margin:0 0 10px}.exclusion-list{display:flex;flex-wrap:wrap;gap:8px}.exclusion-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:12px;gap:6px;padding:4px 10px}.exclusion-count{color:#ef4444}.route-hotel-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;margin-bottom:8px;padding:10px}.route-hotel-number{align-items:center;background:#1e3a5f;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.route-hotel-info{flex:1 1;min-width:0}.route-hotel-name{color:#1e293b;font-size:13px;font-weight:600}.route-hotel-address,.route-hotel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-hotel-address{color:#64748b;font-size:11px}.route-hotel-meta{color:#94a3b8;display:flex;font-size:11px;gap:8px;margin-top:4px}.route-hotel-priority{font-weight:600}.route-hotel-distance{color:#3b82f6;font-size:10px;margin-top:2px}@media (max-width:768px){.qual-stats-grid{grid-template-columns:1fr}.checkbox-group{flex-direction:column;gap:8px}.sectors-table td,.sectors-table th{padding:8px}}.sectors-summary-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;margin:12px;overflow:hidden}.sectors-card-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:12px 14px}.sectors-card-title{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px}.sectors-count-badge{background:#fff3;border-radius:10px;font-size:11px;padding:2px 8px}.sectors-card-body{display:flex;flex-direction:column;gap:12px;padding:12px}.sectors-card-empty{padding:20px 14px;text-align:center}.sectors-card-empty p{color:#64748b;font-size:12px;line-height:1.4;margin:0 0 12px}.sectors-generate-btn{background:#1e3a5f;color:#fff;width:100%}.sectors-generate-btn:hover{background:#2d4a6f}.sectors-stats-row{display:flex;gap:8px}.sectors-stat-mini{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex:1 1;flex-direction:column;padding:8px 4px}.sectors-stat-mini.qualified{background:#f0fdf4}.sectors-stat-mini.excluded{background:#fef2f2}.sectors-stat-mini.high-priority{background:#fef3c7}.sectors-stat-mini .stat-num{color:#1e293b;font-size:18px;font-weight:700;line-height:1}.sectors-stat-mini.qualified .stat-num{color:#16a34a}.sectors-stat-mini.excluded .stat-num{color:#dc2626}.sectors-stat-mini.high-priority .stat-num{color:#d97706}.sectors-stat-mini .stat-lbl{color:#64748b;font-size:10px;margin-top:2px}.sectors-balance-warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;font-size:11px;padding:6px 10px;text-align:center}.sectors-chips-row{display:flex;flex-wrap:wrap;gap:6px}.sector-chip{align-items:center;background:none;border:1.5px solid;border-radius:12px;cursor:pointer;display:flex;font-size:11px;gap:4px;padding:4px 8px;transition:all .15s ease}.sector-chip:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.sector-chip.sector-chip-toggle.inactive{background:#f1f5f9!important;border-color:#cbd5e1!important;opacity:.5}.sector-chip.sector-chip-toggle.inactive .chip-dot{background:#94a3b8!important}.sector-chip.sector-chip-toggle.inactive .chip-count,.sector-chip.sector-chip-toggle.inactive .chip-label{color:#94a3b8}.sector-chip.sector-chip-all{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.sector-chip.sector-chip-all.active{background:#1e3a5f}.sector-chip.sector-chip-all.inactive{background:#94a3b8;border-color:#94a3b8}.sector-chip.sector-chip-all .chip-label{color:#fff}.sector-chip .chip-dot{border-radius:50%;height:8px;width:8px}.sector-chip .chip-label{color:#334155;font-weight:600}.sector-chip .chip-count{color:#64748b;font-size:10px}.sectors-action-btn{background:#1e3a5f;color:#fff;font-size:13px;gap:6px;justify-content:center;width:100%}.sectors-action-btn:hover{background:#2d4a6f}.criteria-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;overflow:hidden}.criteria-card-header{align-items:center;background:#f8fafc;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px;transition:background .15s ease;width:100%}.criteria-card-header:hover{background:#f1f5f9}.criteria-card-title{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:600;gap:8px}.criteria-card-content{border-top:1px solid #e2e8f0;padding:14px}.criteria-alert{align-items:flex-start;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:12px;gap:10px;margin-bottom:14px;padding:10px 12px}.criteria-alert svg{flex-shrink:0;margin-top:1px}.criteria-alert strong{display:block;margin-bottom:2px}.criteria-alert span{display:block;font-size:11px;opacity:.85}.criteria-grid{display:flex;flex-direction:column;gap:14px}.criteria-grid-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.criteria-grid-row.distance-row{grid-template-columns:1.2fr .8fr}.criteria-grid-row.checkbox-row{grid-template-columns:repeat(3,1fr)}.criteria-field{display:flex;flex-direction:column;gap:6px}.criteria-field-label{align-items:center;color:#64748b;display:flex;font-size:11px;font-weight:500;gap:6px}.criteria-field-label svg{color:#94a3b8}.criteria-field-input,.criteria-field-select{font-size:13px;height:34px}.distance-field-group{align-items:center;display:flex;gap:6px}.distance-input{font-size:13px;height:34px;text-align:center;width:60px}.distance-unit{color:#64748b;font-size:12px}.distance-presets{display:flex;gap:4px;margin-left:4px}.preset-chip{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .15s ease}.preset-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.preset-chip.active{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.criteria-field.checkbox-field{gap:4px}.checkbox-group{display:flex;flex-wrap:wrap;gap:4px}.checkbox-option{align-items:center;background:#f8fafc;border-radius:6px;color:#334155;cursor:pointer;display:flex;font-size:11px;gap:5px;padding:4px 8px;transition:background .15s ease}.checkbox-option:hover{background:#f1f5f9}.sectors-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.sectors-modal{animation:slideUp .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;width:95%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sectors-modal-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.modal-header-left{align-items:center;display:flex;gap:10px}.modal-header-left h2{font-size:18px;font-weight:600;margin:0}.modal-header-actions{align-items:center;display:flex;gap:12px}.sector-toggle{background:#ffffff26;border-radius:8px;display:flex;padding:3px}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#ffffffb3;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s ease}.toggle-btn:hover{color:#fff}.toggle-btn.active{background:#fff;color:#1e3a5f}.modal-close-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .15s ease;width:32px}.modal-close-btn:hover{background:#ffffff40}.sectors-modal-content{display:flex;flex:1 1;overflow:hidden}.sectors-modal-main{flex:1 1;overflow-y:auto;padding:20px}.summary-cards-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.summary-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:14px 16px}.summary-card svg{color:#64748b;flex-shrink:0}.summary-card.qualified svg{color:#16a34a}.summary-card.excluded svg{color:#dc2626}.summary-card.high-priority svg{color:#d97706}.summary-card.sectors svg{color:#6366f1}.summary-card-data{display:flex;flex-direction:column}.summary-card .summary-value{color:#1e293b;font-size:22px;font-weight:700;line-height:1}.summary-card.qualified .summary-value{color:#16a34a}.summary-card.excluded .summary-value{color:#dc2626}.summary-card.high-priority .summary-value{color:#d97706}.summary-card.sectors .summary-value{color:#6366f1}.summary-card .summary-label{color:#64748b;font-size:11px;margin-top:2px}.exclusions-card{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:16px;padding:12px 14px}.exclusions-header{align-items:center;color:#991b1b;display:flex;font-size:12px;font-weight:500;gap:8px;margin-bottom:10px}.exclusions-chips{display:flex;flex-wrap:wrap;gap:6px}.exclusion-chip{align-items:center;background:#fff;border-radius:16px;display:flex;font-size:11px;gap:6px;padding:4px 10px}.exclusion-reason{color:#64748b}.exclusion-count{background:#fee2e2;border-radius:8px;color:#dc2626;font-weight:600;padding:1px 6px}.sectors-empty-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 40px;text-align:center}.sectors-empty-state svg{color:#cbd5e1;margin-bottom:16px}.sectors-empty-state h3{color:#334155;font-size:18px;font-weight:600;margin:0 0 8px}.sectors-empty-state p{font-size:14px;margin:0 0 20px;max-width:400px}.weekly-plan-section{margin-bottom:24px}.section-title{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0 0 14px}.weekly-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}.weekly-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;border-top:3px solid #94a3b8;border-top:3px solid var(--sector-color,#94a3b8);cursor:pointer;padding:12px;transition:all .15s ease}.weekly-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.weekly-card.active{border-color:#3b82f6;border-color:var(--sector-color,#3b82f6);box-shadow:0 0 0 2px #3b82f6;box-shadow:0 0 0 2px var(--sector-color,#3b82f6)}.weekly-card.refuerzo{background:#f8fafc;border-top-color:#94a3b8}.weekly-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.week-num{font-size:12px}.sector-tag{border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.sector-tag.refuerzo-tag{background:#94a3b8}.weekly-card-stats{color:#64748b;display:flex;flex-direction:column;font-size:11px;gap:2px}.weekly-card-stats .high-priority{color:#ef4444;font-weight:500}.sectors-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.sectors-data-table{border-collapse:collapse;font-size:13px;width:100%}.sectors-data-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 12px;text-align:left;white-space:nowrap}.sectors-data-table th.num{text-align:right}.sectors-data-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:10px 12px}.sectors-data-table tr:last-child td{border-bottom:none}.sectors-data-table tr:hover{background:#f8fafc}.sectors-data-table tr.selected{background:#eff6ff}.sectors-data-table td.num{font-family:JetBrains Mono,monospace;font-size:12px;text-align:right}.sectors-data-table td.high{color:#ef4444;font-weight:600}.sectors-data-table td.medium{color:#f59e0b}.sectors-data-table td.weight{color:#0369a1;font-weight:600}.sector-name-cell{align-items:center;display:flex;font-weight:500;gap:8px}.sector-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.week-tag{background:#e2e8f0;border-radius:6px;color:#475569;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.table-actions{display:flex;gap:4px}.action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.action-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.route-side-panel{background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;min-width:280px;overflow:hidden;width:320px}.route-panel-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:12px 14px}.route-panel-header h4{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.panel-close{align-items:center;background:#ffffff26;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.panel-close:hover{background:#ffffff40}.route-panel-info{background:#eff6ff;color:#1e40af;font-size:11px}.route-panel-actions,.route-panel-info{border-bottom:1px solid #e2e8f0;padding:10px 14px}.route-panel-actions{display:flex;gap:8px}.route-panel-actions button{flex:1 1;font-size:11px}.route-stops-list{flex:1 1;overflow-y:auto;padding:10px}.route-stop{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:10px;margin-bottom:8px;padding:10px}.stop-number{align-items:center;background:#1e3a5f;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;width:24px}.stop-info{flex:1 1;min-width:0}.stop-name{color:#1e293b;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-meta{color:#64748b;display:flex;font-size:11px;gap:8px;margin-top:2px}.stop-distance{color:#3b82f6;font-size:10px;margin-top:4px}.route-panel-footer{background:#fff;border-top:1px solid #e2e8f0;color:#334155;font-size:13px;padding:12px 14px}.sectors-modal-footer{background:#f8fafc;border-radius:0 0 16px 16px;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px;padding:12px 20px;text-align:center}@media (max-width:900px){.summary-cards-row{grid-template-columns:repeat(2,1fr)}.weekly-cards{grid-template-columns:repeat(3,1fr)}.criteria-grid-row.checkbox-row{grid-template-columns:1fr}}@media (max-width:600px){.sectors-modal{max-height:100%;max-width:100%}.sectors-modal,.sectors-modal-header{border-radius:0}.weekly-cards{grid-template-columns:repeat(2,1fr)}.route-side-panel{border-left:none;border-radius:16px 16px 0 0;border-top:1px solid #e2e8f0;bottom:0;height:50%;left:0;position:fixed;right:0;width:100%}}.hotels-side-panel{background:#f8fafc;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;min-width:320px;overflow:hidden;width:360px}.hotels-panel-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:12px 14px}.hotels-panel-header h4{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px;margin:0}.hotels-panel-info{background:#eff6ff;border-bottom:1px solid #e2e8f0;color:#1e40af;font-size:12px;padding:10px 14px}.hotels-list-container{flex:1 1;overflow-y:auto;padding:10px}.hotel-list-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;padding:12px}.hotel-list-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.hotel-list-item .hotel-name{color:#1e293b;font-size:13px;font-weight:600;line-height:1.3}.hotel-priority-badge{border-radius:4px;color:#fff;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.hotel-list-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:11px;gap:8px;margin-bottom:6px}.hotel-list-status{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.hotel-list-status .status-badge{border-radius:4px;font-size:10px;font-weight:500;padding:2px 6px}.hotel-list-status .status-badge.cliente{background:#dcfce7;color:#166534}.hotel-list-status .status-badge.no-cliente{background:#fee2e2;color:#991b1b}.hotel-list-status .status-badge.desconocido{background:#f1f5f9;color:#475569}.hotel-list-status .status-badge.out-of-radius{background:#fef3c7;color:#92400e}.hotel-list-status .status-badge.no-distance{background:#e0e7ff;color:#3730a3}.hotel-list-status .distance-badge{background:#f1f5f9;border-radius:4px;color:#475569;font-size:10px;padding:2px 6px}.hotels-panel-footer{background:#fff;border-top:1px solid #e2e8f0;color:#64748b;font-size:12px;padding:10px 14px;text-align:center}@media (max-width:600px){.hotels-side-panel{border-left:none;border-radius:16px 16px 0 0;border-top:1px solid #e2e8f0;bottom:0;height:60%;left:0;position:fixed;right:0;width:100%}}.plan-summary-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;margin:12px;overflow:hidden}.plan-summary-card.no-access{opacity:.7}.plan-card-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;display:flex;justify-content:space-between;padding:12px 14px}.plan-card-title{align-items:center;display:flex;font-size:13px;font-weight:600;gap:8px}.plan-badge{background:#fff3;border-radius:10px;font-size:10px;padding:2px 8px}.plan-card-body{gap:12px;padding:12px}.plan-card-body,.plan-no-access{display:flex;flex-direction:column}.plan-no-access{align-items:center;color:#64748b;gap:8px;padding:20px;text-align:center}.plan-no-access p{font-size:12px;margin:0}.plan-stats-row{display:flex;gap:8px}.plan-stat{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex:1 1;flex-direction:column;padding:8px 4px}.plan-stat .stat-num{color:#1e293b;font-size:18px;font-weight:700}.plan-stat .stat-lbl{color:#64748b;font-size:10px}.plan-today-summary{align-items:center;background:#f0f9ff;border-radius:8px;display:flex;justify-content:space-between;padding:8px 10px}.today-label{align-items:center;color:#0369a1;display:flex;font-size:12px;font-weight:500;gap:6px}.today-stats{display:flex;gap:12px}.today-pending,.today-visited{align-items:center;display:flex;font-size:12px;gap:4px}.today-visited{color:#16a34a}.today-pending{color:#f59e0b}.plan-team-indicator{align-items:center;color:#64748b;display:flex;font-size:11px;gap:6px}.plan-action-btn{background:#4f46e5;color:#fff;font-size:13px;gap:6px;justify-content:center;width:100%}.plan-action-btn:hover{background:#4338ca}.plan-empty{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:8px;padding:12px;text-align:center}.plan-empty p{font-size:12px;margin:0}.plan-generate-btn{background:#4f46e5;color:#fff}.my-today-card{background:#f8fafc;border-radius:8px;padding:12px}.my-today-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.my-today-label{color:#334155;font-size:12px;font-weight:500}.my-today-sector{border-radius:10px;font-size:10px;font-weight:500;padding:2px 8px}.my-today-stats{display:flex;gap:12px;margin-bottom:10px}.my-stat{align-items:center;display:flex;font-size:12px;gap:4px}.my-stat.visited{color:#16a34a}.my-stat.pending{color:#f59e0b}.my-stat.total{color:#64748b}.my-progress-bar{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden}.my-progress-fill{background:#16a34a;height:100%;transition:width .3s ease}.my-monthly-progress{align-items:center;color:#64748b;display:flex;font-size:11px;gap:6px}.my-route-btn{background:#4f46e5;color:#fff;font-size:13px;gap:6px;justify-content:center;width:100%}.planning-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.planning-modal{animation:slideUp .25s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:95%}.planning-modal-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.planning-header-left{align-items:center;display:flex;gap:10px}.planning-header-left h2{font-size:18px;font-weight:600;margin:0}.planning-header-actions{align-items:center;display:flex;gap:12px}.planning-generate-btn{background:#ffffff26;border-color:#ffffff4d;color:#fff}.planning-generate-btn:hover{background:#ffffff40}.planning-embedded-header .planning-generate-btn{background:#fff;border:1px solid #e2e8f0;color:#374151}.planning-embedded-header .planning-generate-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.planning-close-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.planning-close-btn:hover{background:#ffffff40}.planning-modal-content{flex:1 1;overflow-y:auto;padding:20px}.planning-empty-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 40px;text-align:center}.planning-empty-state svg{color:#cbd5e1;margin-bottom:16px}.planning-empty-state h3{color:#334155;font-size:18px;font-weight:600;margin:0 0 8px}.planning-empty-state p{font-size:14px;margin:0 0 20px;max-width:400px}.planning-empty-stats{display:flex;gap:24px;margin-bottom:20px}.empty-stat{align-items:center;display:flex;flex-direction:column}.empty-stat .stat-value{color:#4f46e5;font-size:28px;font-weight:700}.empty-stat .stat-label{color:#64748b;font-size:12px}.planning-progress-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:12px;padding:14px 16px}.progress-card,.progress-icon{align-items:center;display:flex}.progress-icon{border-radius:10px;height:40px;justify-content:center;width:40px}.progress-icon.total{background:#f0f9ff;color:#0369a1}.progress-icon.visited{background:#f0fdf4;color:#16a34a}.progress-icon.pending{background:#fef3c7;color:#d97706}.progress-icon.percent{background:#f0f9ff;color:#4f46e5}.progress-data{display:flex;flex-direction:column}.progress-value{color:#1e293b;font-size:22px;font-weight:700}.progress-label{color:#64748b;font-size:11px}.planning-filters{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{color:#64748b;font-size:11px;font-weight:500}.week-selector{display:flex;gap:6px}.week-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;padding:6px 10px;transition:all .15s ease}.week-btn:hover{border-color:#cbd5e1}.week-btn.active{background:#eff6ff;border-color:#3b82f6}.week-btn .week-partial{color:#94a3b8;font-size:9px;font-weight:400}.week-num{color:#334155;font-size:13px;font-weight:600}.active-week-indicator{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:8px;margin-left:auto;padding:8px 14px}.active-week-indicator svg{color:#3b82f6}.active-week-indicator .week-label{color:#1e40af;font-size:13px}.active-week-indicator .week-label strong{font-weight:700}.active-week-indicator .week-dates{color:#64748b;font-size:11px}.hotel-search-group{flex:1 1;max-width:320px;min-width:220px}.hotel-search-container{position:relative}.hotel-search-input-wrapper{align-items:center;display:flex;position:relative}.hotel-search-input-wrapper .search-icon{color:#94a3b8;left:10px;pointer-events:none;position:absolute}.hotel-search-input{font-size:13px;height:36px;padding-left:32px!important;padding-right:28px!important}.search-clear-btn{align-items:center;background:#e2e8f0;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:8px;transition:background .15s ease}.search-clear-btn:hover{background:#cbd5e1}.hotel-search-results{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:4px;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.hotel-search-results.no-results{color:#64748b;font-size:13px;padding:12px 14px;text-align:center}.search-result-item{background:none;border:none;border-bottom:1px solid #f1f5f9;cursor:pointer;padding:10px 14px;text-align:left;transition:background .15s ease;width:100%}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f8fafc}.result-hotel-name{color:#1e293b;font-size:13px;font-weight:500;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-location{align-items:center;display:flex;font-size:11px;gap:8px}.result-week{background:#3b82f6;border-radius:4px;color:#fff;font-weight:600;padding:2px 6px}.result-day{color:#64748b;font-weight:500}.result-date{color:#94a3b8}.hotel-found-indicator{align-items:center;animation:fadeIn .3s ease;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:6px;color:#065f46;display:flex;font-size:12px;gap:8px;margin-top:8px;padding:8px 12px}.hotel-found-indicator strong{color:#047857;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.week-sector{color:#64748b;font-size:10px}.planning-week-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-bottom:24px;min-width:0;width:100%}.planning-day-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:visible}.day-card-header{background:#f8fafc;border-top:3px solid #94a3b8;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.day-header-bottom,.day-header-top{align-items:center;display:flex;justify-content:space-between}.day-sector-tag{border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.day-name{color:#334155;font-size:13px;font-weight:600}.day-count{color:#64748b;font-size:11px}.day-card-body{min-height:120px;padding:12px}.day-empty{color:#94a3b8;font-size:11px;padding:20px 0;text-align:center}.revisit-info{background:#f1f5f9;border-radius:8px;padding:12px;text-align:center}.revisit-title{color:#475569;font-size:13px;font-weight:600;margin-bottom:8px}.revisit-sources{color:#64748b;font-size:11px;list-style:none;margin:0;padding:0}.revisit-sources li{padding:2px 0}.day-progress{background:#e2e8f0;border-radius:2px;height:3px;margin-bottom:10px;overflow:hidden}.day-progress-bar{background:#16a34a;height:100%;transition:width .3s ease}.day-hotels-list{list-style:none;margin:0;padding:0}.day-hotel-item{font-size:11px;gap:8px;padding:4px 0}.day-hotel-item,.hotel-order{align-items:center;display:flex}.hotel-order{background:#f1f5f9;border-radius:50%;color:#475569;font-size:10px;font-weight:600;height:18px;justify-content:center;width:18px}.hotel-name{color:#334155;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-status{font-size:12px}.hotel-status.status-visited{color:#16a34a}.hotel-status.status-pending{color:#94a3b8}.day-hotel-more{color:#64748b;font-size:10px;padding:4px 0}.day-card-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;padding:8px 12px}.day-card-footer,.day-maps-btn{align-items:center;display:flex}.day-maps-btn{color:#3b82f6;font-size:10px;gap:4px;text-decoration:none}.day-maps-btn:hover{text-decoration:underline}.day-commercial{color:#64748b;font-size:10px}.planning-day-card{cursor:pointer;transition:all .2s ease}.planning-day-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.planning-day-card.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.day-hotel-item .hotel-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.day-hotel-item .hotel-name{color:#334155;flex:none;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-hotel-item .hotel-meta{color:#94a3b8;display:flex;font-size:9px;gap:6px}.hotel-priority-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.day-detail-btn{align-items:center;background:none;border:none;border-radius:4px;color:#3b82f6;cursor:pointer;display:flex;font-size:10px;gap:4px;padding:4px 8px}.day-detail-btn:hover{background:#eff6ff}.planning-day-detail{background:#fff;border:1px solid #3b82f6;border-radius:10px;margin-bottom:24px;overflow:hidden}.day-detail-header{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);color:#fff;display:flex;justify-content:space-between;padding:12px 16px}.day-detail-title{align-items:center;display:flex;gap:12px}.day-detail-title h4{font-size:14px;font-weight:600;margin:0}.day-detail-sector-tag{border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:3px 10px}.day-detail-close{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:4px}.day-detail-close:hover{background:#ffffff4d}.day-detail-stats{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;display:flex;font-size:12px;gap:8px;padding:10px 16px}.day-detail-actions{border-bottom:1px solid #e2e8f0;padding:12px 16px}.day-action-btn{align-items:center;background:#3b82f6;border-radius:8px;color:#fff;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:background .2s}.day-action-btn:hover{background:#2563eb}.day-action-btn.maps{background:#16a34a}.day-action-btn.maps:hover{background:#15803d}.day-detail-list{max-height:350px;overflow-y:auto}.detail-list-header{background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;letter-spacing:.3px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.detail-list-header,.detail-list-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:40px 1fr 80px 70px 60px;padding:10px 16px}.detail-list-row{align-items:center;border-bottom:1px solid #f1f5f9}.detail-list-row:hover{background:#f8fafc}.detail-order{align-items:center;background:#e2e8f0;border-radius:50%;color:#475569;display:flex;font-size:11px;font-weight:600;height:24px;justify-content:center;width:24px}.detail-hotel{display:flex;flex-direction:column;min-width:0}.detail-hotel-name{color:#1e293b;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-hotel-meta{color:#94a3b8;font-size:11px}.detail-status{border-radius:4px;font-size:11px;font-weight:500;padding:2px 8px;text-align:center}.detail-status.cliente{background:#dcfce7;color:#166534}.detail-status.no-cliente{background:#fee2e2;color:#991b1b}.detail-priority{font-size:12px;font-weight:600}.detail-distance{color:#64748b;font-family:SF Mono,Monaco,monospace;font-size:11px}.planning-embedded-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.planning-embedded-header .planning-header-left{align-items:center;display:flex;gap:12px}.planning-embedded-header .planning-title{color:#1e293b;font-size:14px;font-weight:600}.planning-embedded-header .planning-header-actions{gap:8px}.planning-team-section{border:1px solid #e2e8f0;border-radius:10px;padding:16px}.team-header{justify-content:space-between;margin-bottom:12px}.team-header,.team-header h3{align-items:center;display:flex}.team-header h3{color:#334155;font-size:14px;font-weight:600;gap:8px;margin:0}.team-add-form{background:#f8fafc;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:12px}.team-add-form input{flex:1 1}.team-list{display:flex;flex-direction:column;gap:8px}.team-empty{color:#64748b;font-size:12px;padding:12px;text-align:center}.team-member{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;padding:10px 12px}.member-info{display:flex;flex-direction:column}.member-name{color:#334155;font-size:13px;font-weight:500}.member-email,.planning-modal-footer{color:#64748b;font-size:11px}.planning-modal-footer{background:#f8fafc;border-radius:0 0 16px 16px;border-top:1px solid #e2e8f0;padding:12px 20px;text-align:center}.today-route-overlay{align-items:flex-end;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.today-route-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:20px 20px 0 0;display:flex;flex-direction:column;max-height:95vh;max-width:500px;width:100%}@media (min-width:640px){.today-route-modal{border-radius:16px;margin:auto;max-height:90vh}}.today-route-header{align-items:flex-start;background:linear-gradient(135deg,#4f46e5,#6366f1);border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}@media (min-width:640px){.today-route-header{border-radius:16px 16px 0 0}}.today-header-info{display:flex;flex-direction:column;gap:8px}.today-date{font-size:16px;font-weight:600;gap:8px}.today-date,.today-meta{align-items:center;display:flex}.today-meta{gap:10px}.today-commercial{align-items:center;display:flex;font-size:12px;gap:4px;opacity:.9}.today-sector{border-radius:10px;font-size:10px;font-weight:500;padding:2px 8px}.today-close-btn{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.today-progress-section{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 20px}.today-progress-bar{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.today-progress-fill{background:linear-gradient(90deg,#16a34a,#22c55e);height:100%;transition:width .3s ease}.today-progress-stats{align-items:center;display:flex;justify-content:space-between}.today-progress-stats .stat{align-items:center;display:flex;font-size:12px;gap:4px}.today-progress-stats .stat.visited{color:#16a34a}.today-progress-stats .stat.pending{color:#f59e0b}.today-progress-stats .stat.percent{color:#4f46e5;font-weight:600}.today-full-maps-btn{align-items:center;background:#1e3a5f;border-radius:10px;color:#fff;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin:12px 20px;padding:12px;text-decoration:none}.today-full-maps-btn:hover{background:#2d4a6f}.today-hotels-list{flex:1 1;overflow-y:auto;padding:12px 16px}.today-empty{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.today-empty svg{color:#cbd5e1;margin-bottom:16px}.today-empty h3{color:#334155;font-size:16px;font-weight:600;margin:0 0 8px}.today-empty p{font-size:14px;margin:0}.visit-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:10px;margin-bottom:10px;overflow:hidden}.visit-card.expanded{border-color:#4f46e5}.visit-card-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px}.visit-order{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.visit-info{flex:1 1;min-width:0}.visit-hotel-name{color:#1e293b;font-size:14px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visit-hotel-meta{color:#64748b;display:flex;font-size:11px;gap:8px;margin-top:4px}.meta-stars{color:#f59e0b}.meta-client.is-client{color:#16a34a;font-weight:500}.visit-status-badge{align-items:center;border-radius:8px;display:flex;height:28px;justify-content:center;width:28px}.visit-expand-icon{color:#94a3b8;height:20px;transition:transform .2s ease;width:20px}.visit-expand-icon.rotated{transform:rotate(90deg)}.visit-card-body{display:flex;flex-direction:column;gap:12px;padding:0 12px 12px}.visit-address{align-items:flex-start;color:#64748b;display:flex;font-size:12px;gap:8px}.visit-address svg{flex-shrink:0;margin-top:2px}.visit-distance{color:#3b82f6;font-size:11px;margin-left:auto}.visit-priority{align-items:center;border-radius:6px;display:flex;font-size:11px;font-weight:500;gap:6px;padding:6px 10px}.visit-priority.high{background:#fef2f2;color:#dc2626}.visit-last-note{background:#f8fafc;border-radius:6px;display:flex;font-size:11px;gap:8px;padding:8px 10px}.visit-last-note svg{color:#64748b;flex-shrink:0}.visit-last-note .note-date{color:#94a3b8;display:block;font-size:10px;margin-bottom:2px}.visit-last-note p{color:#475569;margin:0}.visit-next-action{align-items:center;background:#f0f9ff;border-radius:6px;color:#0369a1;display:flex;font-size:11px;gap:6px;padding:6px 10px}.action-date{margin-left:auto;opacity:.7}.visit-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.visit-quick-actions .action-btn{flex:1 1;min-width:80px}.visit-quick-actions .action-btn.visited{background:#f0fdf4;border-color:#86efac;color:#16a34a}.visit-quick-actions .action-btn.not-available{background:#fef3c7;border-color:#fcd34d;color:#d97706}.visit-quick-actions .action-btn.reschedule{background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}.visit-status-selector{margin-top:4px}.visit-note-form{flex-direction:column}.note-form-actions,.visit-note-form{display:flex;gap:8px}.add-action-btn,.add-note-btn{width:100%}.visit-next-action-form{display:flex;flex-direction:column;gap:8px}.days-input{align-items:center;display:flex;font-size:12px;gap:8px}.days-input input{border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;text-align:center;width:60px}.next-action-form-actions,.visit-maps-btn{display:flex;gap:8px}.visit-maps-btn{align-items:center;background:#1e3a5f;border-radius:8px;color:#fff;font-size:13px;justify-content:center;padding:10px;text-decoration:none}.visit-maps-btn:hover{background:#2d4a6f}.today-route-footer{background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;font-size:11px;padding:12px 20px;text-align:center}@media (max-width:768px){.planning-progress-row,.planning-week-grid{grid-template-columns:repeat(2,1fr)}.planning-filters{flex-direction:column}.week-selector{flex-wrap:wrap}}.planning-badge.saved{align-items:center;background:#16a34a1a;color:#16a34a;display:flex;gap:4px}.planning-badge.draft{align-items:center;background:#f59e0b1a;color:#f59e0b;display:flex;gap:4px}.planning-save-btn{align-items:center;display:flex;gap:6px}.planning-loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:48px}.planning-saved-notice{align-items:center;background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;display:flex;gap:12px;margin:16px 0;padding:16px}.planning-saved-notice svg{color:#3b82f6;flex-shrink:0}.saved-notice-content{flex:1 1;min-width:0}.saved-notice-title{color:#1e293b;font-weight:600;margin:0}.saved-notice-detail{color:#64748b;font-size:12px;margin:2px 0 0}.planning-no-saved{color:#94a3b8;font-size:13px;margin:12px 0;text-align:center}.planning-last-saved{align-items:center;background:#16a34a14;border-radius:6px;color:#16a34a;display:flex;font-size:12px;gap:6px;margin-bottom:12px;padding:8px 12px}.planning-coverage-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:14px 16px}.planning-coverage-block.insufficient{background:#fffbeb;border-color:#fcd34d}.coverage-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.coverage-title{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:600;gap:6px}.coverage-alert{align-items:center;background:#fef3c7;border-radius:10px;color:#d97706;display:flex;font-size:11px;font-weight:500;gap:4px;padding:3px 10px}.coverage-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:12px}.coverage-stat{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;text-align:center}.coverage-stat.highlight{background:#eff6ff;border-color:#3b82f6}.coverage-value{color:#1e293b;font-size:18px;font-weight:700}.coverage-value.success{color:#16a34a}.coverage-value.warning{color:#d97706}.coverage-label{color:#64748b;font-size:10px;letter-spacing:.3px;text-transform:uppercase}.coverage-capacity-info{border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:16px;padding-top:12px}.capacity-row{align-items:center;display:flex;font-size:12px;gap:8px}.capacity-row.recommended{color:#059669;font-weight:500}.capacity-label{color:#64748b}.capacity-value{color:#1e293b;font-weight:600}.capacity-value.highlight{color:#059669;font-size:14px}.visits-per-day-input{border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;font-size:13px;font-weight:600;padding:4px 8px;text-align:center;width:60px}.visits-per-day-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626;outline:none}.apply-recommended-btn{font-size:11px;height:auto;padding:2px 8px}.capacity-warning-text{align-items:center;background:#fef3c7;border-radius:6px;color:#d97706;display:flex;font-size:11px;gap:6px;margin-top:8px;padding:8px 10px}.visits-config-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.auto-visits-btn{font-size:11px;height:auto;padding:4px 10px}.auto-visits-btn:not([data-variant=outline]),.auto-visits-btn[data-state=active]{background:#2563eb;color:#fff}.visits-mode-indicator{margin-top:4px;width:100%}.mode-tag{align-items:center;border-radius:4px;display:inline-flex;font-size:10px;gap:4px;padding:3px 8px}.mode-tag.manual{background:#f1f5f9;color:#64748b}.mode-tag.auto{background:#dcfce7;color:#16a34a}.capacity-insufficient-badge{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;display:flex;font-size:12px;font-weight:500;gap:8px;margin-top:8px;padding:8px 12px;width:100%}.capacity-insufficient-badge .use-auto-btn{background:#fff;border-color:#dc2626;color:#dc2626;font-size:10px;height:auto;margin-left:auto;padding:3px 8px}.capacity-insufficient-badge .use-auto-btn:hover{background:#dc2626;color:#fff}.capacity-row .capacity-label{color:#64748b}.capacity-row .capacity-value{color:#1e293b;font-weight:600}.capacity-row.recommended{background:#dcfce7;border-radius:6px;padding:4px 10px}.capacity-row.recommended .capacity-value{color:#16a34a}.planning-modal-footer .footer-status{align-items:center;display:flex;gap:6px}.planning-modal-footer .footer-status.saved{color:#16a34a}.day-card-header .day-date{color:#64748b;font-size:10px;font-weight:400}.plan-badge.saved{align-items:center;background:#16a34a1a;color:#16a34a;display:flex;gap:3px}.plan-badge.draft{background:#f59e0b1a;color:#f59e0b}.plan-badge.synced{background:#16a34a1a;color:#16a34a;padding:2px 4px}.plan-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:8px;padding:24px}.plan-loading p{font-size:12px;margin:0}.plan-persistence-status{background:#16a34a0f;border-radius:4px;color:#16a34a;font-size:11px;margin-top:8px;padding:6px 10px}.my-sync-status,.plan-load-btn,.plan-persistence-status{align-items:center;display:flex;gap:6px}.my-sync-status{background:#94a3b81a;border-radius:4px;color:#64748b;font-size:11px;margin-top:8px;padding:6px 10px}.today-persisted{align-items:center;background:#16a34a1a;border-radius:10px;color:#16a34a;display:flex;font-size:11px;gap:4px;padding:2px 8px}.today-loading{align-items:center;background:#3b82f60f;border-radius:6px;color:#3b82f6;display:flex;font-size:13px;gap:8px;justify-content:center;margin:0 12px 12px;padding:12px}.today-route-footer .footer-persisted{align-items:center;color:#16a34a;display:flex;font-size:11px;gap:4px}.visit-more-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visit-more-actions .action-btn{font-size:11px;height:auto;padding:4px 10px}.visit-more-actions .action-btn.interested{border-color:#10b981;color:#10b981}.visit-more-actions .action-btn.interested:where([aria-pressed=true]),.visit-more-actions .action-btn.interested[data-state=checked]{background:#10b981;color:#fff}.visit-more-actions .action-btn.not-interested{border-color:#ef4444;color:#ef4444}.visit-more-actions .action-btn.not-interested:where([aria-pressed=true]),.visit-more-actions .action-btn.not-interested[data-state=checked]{background:#ef4444;color:#fff}.visit-more-actions .action-btn.contact-email{border-color:#6366f1;color:#6366f1}.visit-more-actions .action-btn.contact-email:where([aria-pressed=true]),.visit-more-actions .action-btn.contact-email[data-state=checked]{background:#6366f1;color:#fff}.plan-empty-hint{color:#94a3b8;font-size:11px;margin-top:4px}.commercial-center-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.commercial-center-overlay.fullscreen{padding:0}.commercial-center-modal{background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;height:85vh;max-height:900px;max-width:1200px;overflow:hidden;width:100%}.commercial-center-modal.fullscreen{border-radius:0;height:100vh;max-height:100%;max-width:100%}.commercial-center-header{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);border-bottom:1px solid #e2e8f0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.center-header-left{align-items:center;display:flex;gap:12px}.center-header-left h2{font-size:18px;font-weight:600;margin:0}.center-header-actions{align-items:center;display:flex;gap:8px}.center-header-actions button{color:#fff}.center-header-actions button:hover{background:#ffffff1a}.center-close-btn{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .15s}.center-close-btn:hover{background:#ffffff26}.commercial-center-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;overflow-x:auto;padding:12px 20px}.center-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .15s ease;white-space:nowrap}.center-tab:hover{background:#e2e8f0;color:#1e293b}.center-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1e293b}.center-tab svg{flex-shrink:0}.commercial-center-body{background:#f8fafc;flex:1 1;overflow:hidden}.center-tab-content{height:100%;overflow-y:auto;padding:0}.center-tab-content .analytics-full-view,.center-tab-content .planning-modal,.center-tab-content .routes-full-view,.center-tab-content .sectors-full-view{border-radius:0;box-shadow:none;height:100%;max-height:none;position:relative}.center-tab-content .analytics-full-view{background:#fff}.center-tab-content .analytics-header,.center-tab-content .modal-header,.center-tab-content .planning-modal-header,.center-tab-content .routes-header,.center-tab-content .sectors-header{display:none}.center-tab-content .analytics-body,.center-tab-content .planning-modal-content,.center-tab-content .routes-body,.center-tab-content .sectors-body{padding:20px}.commercial-sidebar-compact{height:100%;overflow-y:auto;padding:16px}.commercial-summary-compact{border-radius:10px;padding:14px}.summary-compact-grid{grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr}.summary-compact-item{flex-direction:column;gap:2px}.summary-compact-item .item-label{font-size:11px;letter-spacing:.3px;text-transform:uppercase}.summary-compact-item .item-value{font-size:16px}.summary-plan-status{border-top:1px solid #f1f5f9;padding-top:12px}.summary-plan-status.inactive{color:#94a3b8}.summary-metrics-compact{border-top:1px solid #f1f5f9;margin-top:12px;padding-top:12px}.metrics-compact-header{align-items:center;color:#64748b;display:flex;font-size:11px;font-weight:500;gap:6px;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.metrics-compact-header .period-label{color:#94a3b8;font-size:10px;letter-spacing:0;margin-left:auto;text-transform:none}.metrics-compact-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.metric-compact-item{background:#f8fafc;border-radius:6px;display:flex;flex-direction:column;gap:1px;padding:6px 8px}.metric-compact-item.highlight{background:#eff6ff}.metric-compact-item .metric-label{color:#64748b;font-size:10px}.metric-compact-item .metric-value{align-items:center;color:#1e293b;display:flex;font-size:13px;font-weight:600;gap:4px}.metric-compact-item .metric-value.positive{color:#16a34a}.metric-compact-item .metric-value.negative{color:#dc2626}.metrics-compact-empty{background:#f8fafc;border-radius:6px;color:#94a3b8;font-size:12px;padding:12px;text-align:center}.metrics-tab-content{display:flex;flex-direction:column;gap:16px;height:100%;padding:8px 4px}.metrics-period-row{align-items:center;background:#f8fafc;border-radius:10px;display:flex;gap:16px;justify-content:space-between;padding:12px 14px}.metrics-period-actions{display:flex;flex-shrink:0;gap:8px}.metrics-period-row.full-selector{align-items:stretch;flex-direction:column;gap:12px;padding:14px 16px}.metrics-period-row.full-selector .period-selector-full{background:#0000;border-bottom:none;padding:0}.metrics-period-row.full-selector .period-controls-row{flex-wrap:wrap;gap:12px}.metrics-period-row.full-selector .metrics-period-actions{border-top:1px solid #e2e8f0;justify-content:flex-start;margin-top:4px;padding-top:10px}.metrics-period-row.full-selector .period-info-inline{margin-left:0}.metrics-period-row.full-selector .available-periods-inline{flex-wrap:wrap;margin-left:0}.metrics-summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);padding:4px 0}.metric-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;padding:12px 14px}.metric-card.highlight{background:#eff6ff;border-color:#3b82f6}.metric-card-content{display:flex;flex-direction:column;gap:1px}.metric-card-value{color:#1e293b;font-size:16px;font-weight:600}.metric-card-value.positive{color:#16a34a}.metric-card-value.negative{color:#dc2626}.metric-card-label{color:#64748b;font-size:10px}.metrics-filters-row{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:10px;padding:10px 12px}.metrics-search{align-items:center;display:flex;flex:1 1;gap:8px;max-width:280px}.metrics-filter-count{color:#64748b;font-size:12px;margin-left:auto}.metrics-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1 1;min-height:200px;overflow:auto}.metrics-data-table{border-collapse:collapse;font-size:13px;width:100%}.metrics-data-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-weight:600;padding:10px 12px;position:-webkit-sticky;position:sticky;text-align:left;top:0;white-space:nowrap}.metrics-data-table th.number{text-align:right}.metrics-data-table th.highlight{background:#eff6ff}.metrics-data-table th.sticky-col{left:0;position:-webkit-sticky;position:sticky;z-index:2}.metrics-data-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px;white-space:nowrap}.metrics-data-table td.number{font-family:SF Mono,Monaco,monospace;font-size:12px;text-align:right}.metrics-data-table td.sticky-col{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:1}.metrics-data-table td.hotel-name{color:#1e293b;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis}.metrics-data-table td.highlight{background:#eff6ff}.metrics-data-table .lfl-cell{align-items:center;display:flex;gap:4px;justify-content:flex-end}.metrics-data-table tbody tr:hover,.metrics-data-table tbody tr:hover td.sticky-col{background:#f8fafc}.metrics-empty-state,.metrics-error-state,.metrics-loading-state,.metrics-warning-state{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:60px 20px;text-align:center}.metrics-warning-state{background:#fbbf241a;border:1px solid #fbbf244d;border-radius:8px}.metrics-empty-state h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.metrics-empty-state p{color:#64748b;font-size:13px;margin:0}.metrics-tab-content.compact-layout{gap:8px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline{align-items:flex-start;background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;padding:8px 12px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .period-selector-full{flex:1 1;min-width:0}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .period-controls-row{flex-wrap:wrap;gap:8px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .period-control label{font-size:10px;margin-bottom:2px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .period-info-inline{display:none}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .available-periods-inline{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .available-periods-inline .label{color:#64748b;font-size:10px}.metrics-tab-content.compact-layout .metrics-period-row.compact-inline .period-badge-inline{font-size:10px;height:auto;padding:2px 6px}.metrics-tab-content.compact-layout .metrics-period-row.compact{align-items:center;flex-direction:row;gap:12px;padding:8px 12px}.metrics-summary-strip{align-items:center;background:#f8fafc;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px}.metric-mini{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:6px;min-width:0;padding:4px 10px}.metric-mini.highlight{background:#eff6ff;border-color:#93c5fd}.metric-mini-value{color:#1e293b;font-size:13px;font-weight:600;white-space:nowrap}.metric-mini-value.positive{color:#16a34a}.metric-mini-value.negative{color:#dc2626}.metric-mini-label{color:#64748b;font-size:10px;white-space:nowrap}.metrics-filters-row.compact{gap:8px;padding:6px 10px}.metrics-filters-row.compact .metrics-search.compact{max-width:180px}.metrics-filters-row.compact .metrics-search.compact input{font-size:12px}.metrics-table-container.expanded{flex:1 1;max-height:calc(100vh - 380px);min-height:300px}.planning-checking-notice{background:#eff6ff;color:#1d4ed8}.planning-check-error,.planning-checking-notice{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:8px;margin-bottom:16px;padding:10px 16px}.planning-check-error{background:#fef2f2;color:#991b1b}.planning-check-error button{margin-left:auto}@media (max-width:1200px){.metrics-summary-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.metrics-summary-cards{grid-template-columns:repeat(2,1fr)}.metrics-period-row{align-items:stretch;flex-direction:column}.metrics-filters-row{flex-wrap:wrap}}.planning-embedded-header,.routes-embedded-actions,.sectors-embedded-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.sectors-embedded-header .sectors-header-left{align-items:center;display:flex;gap:16px}.sectors-embedded-header .sectors-header-actions{align-items:center;display:flex;gap:8px}.persistence-indicator{align-items:center;border-radius:9999px;display:flex;font-size:12px;font-weight:500;gap:6px;padding:4px 10px}.persistence-indicator.loading{background:#f1f5f9;color:#64748b}.persistence-indicator.active{background:#dcfce7;color:#16a34a}.persistence-indicator.outdated{background:#fef3c7;color:#d97706}.persistence-indicator.none{background:#f1f5f9;color:#94a3b8}.save-sectors-btn{background:#10b981!important;border-color:#10b981!important}.save-sectors-btn:hover{background:#059669!important;border-color:#059669!important}.regenerate-sectors-btn{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}.regenerate-sectors-btn:hover{background:#d97706!important;border-color:#d97706!important}.sectors-outdated-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #fbbf24;display:flex;gap:12px;padding:12px 20px}.sectors-outdated-banner>svg{color:#d97706;flex-shrink:0}.sectors-outdated-banner .banner-content{flex:1 1}.sectors-outdated-banner .banner-content strong{color:#92400e;display:block;font-size:13px;margin-bottom:2px}.sectors-outdated-banner .banner-content p{color:#a16207;font-size:12px;margin:0}.sectors-outdated-banner .banner-actions{display:flex;gap:8px}.planning-embedded-header .planning-header-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;width:100%}.planning-embedded-header .planning-badge.saved{margin-left:auto}.routes-embedded-actions{background:#f8fafc;justify-content:flex-start;padding:12px 20px}.commercial-routes-fullview.embedded,.planning-modal.embedded,.sectors-modal.embedded{border-radius:0;box-shadow:none;height:100%;max-height:none;overflow:auto;position:relative}.no-map-warning{align-items:center;background:linear-gradient(135deg,#fef3c7,#fed7aa);border:1px solid #f59e0b;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:10px;margin:12px 16px;padding:12px 16px}.no-map-warning .warning-icon{flex-shrink:0;font-size:18px}.no-map-warning span:last-child{font-weight:500}.qualification-embedded-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 20px}.qualification-embedded-header .header-left{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:8px}.qualification-embedded-header .header-left .saved-indicator{align-items:center;background:#dcfce7;border-radius:9999px;color:#16a34a;display:flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.qualification-embedded-header .header-actions{display:flex;gap:8px}.save-qualification-btn{font-size:13px}.priority-embedded-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:14px 20px}.priority-embedded-header .header-left{align-items:center;color:#1e293b;display:flex;font-weight:600;gap:8px}.priority-embedded-header .saved-indicator{align-items:center;background:#dcfce7;border-radius:9999px;color:#16a34a;display:flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.priority-editor-header .header-title{gap:8px}.priority-editor-header .saved-indicator{align-items:center;background:#dcfce7;border-radius:9999px;color:#16a34a;display:flex;font-size:12px;font-weight:500;gap:4px;margin-left:8px;padding:2px 8px}.priority-no-map-warning{align-items:center;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;display:flex;font-size:12px;gap:8px;margin:0 16px 16px;padding:10px 16px}.commercial-routes-fullview.embedded .routes-fv-body,.planning-modal.embedded .planning-modal-content,.sectors-modal.embedded .sectors-modal-body{flex:1 1;height:auto;min-height:0}.commercial-analytics-drawer.embedded{border-radius:0;box-shadow:none;height:100%;max-width:none;position:relative;transform:none}.embedded .modal-close-btn,.embedded .planning-close-btn,.embedded .routes-fv-close,.embedded .sectors-modal-close{display:none}.center-tab-content .qualification-criteria{background:#fff;height:100%;overflow-y:auto;padding:20px}.compact-sector-chips{border-top:1px solid #f1f5f9;padding-top:12px}.compact-chip{padding:4px 10px}.compact-chip.active{opacity:1}.compact-chip.inactive{background:#f1f5f9!important;border-color:#cbd5e1!important;color:#64748b;opacity:.5}.compact-chip .chip-dot{height:8px;width:8px}.commercial-summary-tab{display:flex;flex-direction:column;gap:24px;height:100%;overflow-y:auto;padding:24px}.summary-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:20px;transition:all .2s ease}.kpi-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.kpi-icon{align-items:center;background:#f1f5f9;border-radius:12px;color:#64748b;display:flex;height:48px;justify-content:center;width:48px}.kpi-card.primary .kpi-icon{background:#eff6ff;color:#3b82f6}.kpi-card.qualified .kpi-icon{background:#f0fdf4;color:#16a34a}.kpi-card.high-priority .kpi-icon{background:#fef3c7;color:#f59e0b}.kpi-card.sectors .kpi-icon{background:#fae8ff;color:#a855f7}.kpi-content{display:flex;flex-direction:column;gap:2px}.kpi-value{color:#1e293b;font-size:28px;font-weight:700;line-height:1}.kpi-label{color:#64748b;font-size:13px;font-weight:500}.kpi-sublabel{color:#94a3b8;font-size:11px}.summary-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.summary-section .section-title{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:16px}.summary-section.validation-section{background:#fffbeb;border-color:#fcd34d}.validation-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.validation-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.validation-item.highlight{background:#f8fafc;border-color:#3b82f6}.validation-label{color:#475569;font-size:12px}.validation-value{color:#1e293b;font-size:14px;font-weight:600}.validation-value.success{color:#16a34a}.validation-value.warning{color:#d97706}.validation-value.error{color:#dc2626}@media (max-width:768px){.validation-grid{grid-template-columns:1fr}}.distribution-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.dist-card{background:#f8fafc;border-radius:10px;padding:16px;text-align:center}.dist-header{align-items:center;color:#64748b;display:flex;font-size:13px;gap:6px;justify-content:center;margin-bottom:8px}.dist-dot{border-radius:50%;height:8px;width:8px}.dist-dot.green{background:#16a34a}.dist-dot.red{background:#dc2626}.dist-dot.gray{background:#94a3b8}.dist-value{color:#1e293b;display:block;font-size:24px;font-weight:700}.dist-percent{color:#94a3b8;font-size:12px}.priority-bars{display:flex;flex-direction:column;gap:12px}.priority-row{align-items:center;display:flex;gap:12px}.priority-label{font-size:13px;font-weight:500;width:60px}.priority-label.high{color:#dc2626}.priority-label.medium{color:#f59e0b}.priority-label.low{color:#22c55e}.priority-bar-container{background:#f1f5f9;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.priority-bar{border-radius:4px;height:100%;transition:width .3s ease}.priority-bar.high{background:#dc2626}.priority-bar.medium{background:#f59e0b}.priority-bar.low{background:#22c55e}.priority-count{color:#1e293b;font-size:14px;font-weight:600;text-align:right;width:40px}.plan-status-card{align-items:center;background:#f8fafc;border-radius:10px;display:flex;gap:16px;padding:20px}.plan-status-card.active{background:#f0fdf4}.plan-status-card.inactive{background:#fef2f2}.plan-status-icon{align-items:center;display:flex;height:48px;justify-content:center;width:48px}.plan-status-card.active .plan-status-icon{color:#16a34a}.plan-status-card.inactive .plan-status-icon{color:#dc2626}.plan-status-content{flex:1 1}.plan-status-title{color:#1e293b;display:block;font-size:16px;font-weight:600}.plan-status-subtitle{color:#64748b;display:block;font-size:13px;margin-top:2px}.plan-progress{width:200px}.plan-progress .progress-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.plan-progress .progress-fill{background:#16a34a;height:100%;transition:width .3s ease}.plan-progress .progress-text{color:#64748b;display:block;font-size:12px;margin-top:4px;text-align:center}.sectors-mini-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.sector-mini-card{align-items:center;background:#f8fafc;border-left:3px solid;border-radius:8px;display:flex;gap:10px;padding:12px}.sector-badge{align-items:center;border-radius:6px;color:#fff;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;width:28px}.sector-mini-stats{color:#64748b;display:flex;flex-direction:column;font-size:12px;gap:2px}.sector-mini-priority{color:#f59e0b;font-weight:500}.metrics-status{background:#eff6ff;border-radius:8px;color:#1e40af;font-size:14px;padding:12px 16px}.metrics-status .last-import{color:#3b82f6;display:block;font-size:12px;margin-top:4px}.priority-editor{display:flex;flex-direction:column;gap:24px;height:100%;overflow-y:auto;padding:24px}.priority-editor-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.priority-editor-header .header-title{align-items:center;color:#1e293b;display:flex;font-size:18px;font-weight:600;gap:10px}.priority-editor-header .header-actions{display:flex;gap:8px}.priority-preview{background:#f8fafc;border-radius:12px;padding:20px}.priority-preview h4{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:16px}.preview-bars{display:flex;flex-direction:column;gap:10px}.preview-bar-row{align-items:center;display:flex;gap:12px}.preview-bar-row .bar-label{font-size:12px;font-weight:500;width:50px}.preview-bar-row .bar-label.high{color:#dc2626}.preview-bar-row .bar-label.medium{color:#f59e0b}.preview-bar-row .bar-label.low{color:#22c55e}.preview-bar-row .bar-container{background:#e2e8f0;border-radius:5px;flex:1 1;height:10px;overflow:hidden}.preview-bar-row .bar-fill{border-radius:5px;height:100%;transition:width .3s ease}.preview-bar-row .bar-fill.high{background:#dc2626}.preview-bar-row .bar-fill.medium{background:#f59e0b}.preview-bar-row .bar-fill.low{background:#22c55e}.preview-bar-row .bar-count{color:#1e293b;font-size:14px;font-weight:600;text-align:right;width:40px}.threshold-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.threshold-section h4{color:#1e293b;font-size:15px;font-weight:600;margin-bottom:4px}.threshold-section .section-desc{color:#64748b;font-size:13px;margin-bottom:16px}.threshold-controls{display:flex;flex-wrap:wrap;gap:16px}.threshold-row{align-items:center;display:flex;gap:12px}.threshold-input{align-items:center;display:flex;gap:8px}.threshold-input input{width:80px}.weight-warning{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:8px;padding:12px 16px}.criteria-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.criteria-section h4{color:#1e293b;font-size:15px;font-weight:600;margin-bottom:4px}.criteria-section .section-desc{color:#64748b;font-size:13px;margin-bottom:16px}.criteria-list{display:flex;flex-direction:column;gap:12px}.criterion-card{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;transition:all .2s ease}.criterion-card:hover{border-color:#cbd5e1}.criterion-card.disabled{background:#f8fafc;opacity:.6}.criterion-header{align-items:center;background:#f8fafc;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px}.criterion-header:hover{background:#f1f5f9}.criterion-title{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:500;gap:10px}.criterion-weight{align-items:center;background:#fff;display:flex;gap:16px;padding:12px 16px}.criterion-weight .weight-value{color:#3b82f6;font-size:14px;font-weight:600;min-width:50px;text-align:right}.criterion-details{background:#fff;border-top:1px solid #f1f5f9;padding:12px 16px}.criterion-desc{color:#64748b;font-size:13px;margin:0}.sample-preview{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px}.sample-preview h4{align-items:center;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:8px;margin-bottom:16px}.sample-list{display:flex;flex-direction:column;gap:8px}.sample-hotel{align-items:center;background:#f8fafc;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 14px;transition:all .15s ease}.sample-hotel:hover{background:#f1f5f9}.sample-rank{color:#64748b;font-size:13px;font-weight:600;width:30px}.sample-name{color:#1e293b;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-priority{border-radius:12px;font-size:13px;font-weight:600;padding:4px 10px}.sample-priority.high{background:#fef2f2;color:#dc2626}.sample-priority.medium{background:#fef3c7;color:#d97706}.sample-priority.low{background:#f0fdf4;color:#16a34a}.preview-detail{background:#eff6ff;border-radius:10px;margin-top:16px;padding:16px}.preview-detail h5{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:12px}.preview-breakdown{display:flex;flex-direction:column;gap:6px}.breakdown-row{align-items:center;display:flex;font-size:13px;gap:8px}.breakdown-criterion{color:#64748b;width:120px}.breakdown-reason{color:#1e293b;flex:1 1}.breakdown-points{color:#16a34a;font-weight:600}.sidebar-collapse-toggle{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;margin-bottom:8px;padding:8px 12px;transition:all .15s ease}.sidebar-collapse-toggle:hover{background:#e2e8f0;color:#1e293b}.sidebar-collapse-toggle.expanded{margin-bottom:12px}.commercial-sidebar-collapsed{align-items:center;background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;height:100%;padding:12px 8px;width:60px}.commercial-sidebar-collapsed .sidebar-collapse-toggle{border-radius:10px;height:44px;justify-content:center;margin-bottom:0;padding:0;width:44px}.commercial-sidebar-collapsed .sidebar-collapse-toggle:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.collapsed-mini-stats{display:flex;flex-direction:column;gap:12px;margin-top:8px}.collapsed-mini-stats .mini-stat{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:8px 6px}.collapsed-mini-stats .mini-stat svg{color:#64748b}.collapsed-mini-stats .mini-stat span{color:#1e293b;font-size:12px;font-weight:600}.collapsed-mini-stats .mini-stat.warning span,.collapsed-mini-stats .mini-stat.warning svg{color:#f59e0b}.collapsed-mini-stats .mini-stat.sectors svg{color:#3b82f6}.collapsed-plan-indicator{align-items:center;background:#f1f5f9;border-radius:50%;color:#94a3b8;display:flex;height:36px;justify-content:center;width:36px}.collapsed-plan-indicator.active{background:#dcfce7;color:#16a34a}.collapsed-open-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;margin-top:auto;transition:all .2s ease;width:44px}.collapsed-open-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:scale(1.05)}.commercial-sidebar-wrapper.collapsed{flex:0 0 60px!important;min-width:60px!important;width:60px!important}.commercial-sidebar-wrapper.collapsed .commercial-sidebar-scroll{display:none}@media (max-width:768px){.commercial-center-overlay{padding:0}.commercial-center-modal{border-radius:0;height:100vh;max-height:100vh}.commercial-center-tabs{gap:2px;padding:8px 12px}.center-tab{font-size:13px;padding:8px 12px}.center-tab span{display:none}.center-tab svg{height:20px;width:20px}.commercial-collapsed-bar,.sidebar-collapse-toggle{display:none}}.commercial-collapsed-bar{align-items:center;background:#f8fafc;border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #0000000d;display:flex;flex-direction:column;gap:16px;height:calc(100vh - 60px);left:0;padding:12px 8px;position:fixed;top:60px;width:56px;z-index:100}.collapsed-expand-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .15s ease;width:40px}.collapsed-expand-btn:hover{background:#3b82f6;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d;color:#fff}.collapsed-stats{gap:10px;margin-top:8px}.collapsed-stat,.collapsed-stats{display:flex;flex-direction:column}.collapsed-stat{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;gap:2px;padding:8px 6px}.collapsed-stat svg{color:#64748b}.collapsed-stat span{color:#1e293b;font-size:12px;font-weight:600}.collapsed-stat.warning span,.collapsed-stat.warning svg{color:#f59e0b}.collapsed-stat.sectors svg{color:#3b82f6}.collapsed-plan-status{align-items:center;background:#f1f5f9;border-radius:50%;color:#94a3b8;display:flex;height:32px;justify-content:center;width:32px}.collapsed-plan-status.active{background:#dcfce7;color:#16a34a}.collapsed-center-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-top:auto;transition:all .2s ease;width:40px}.collapsed-center-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:scale(1.05)}.commercial-sidebar-compact{display:flex;flex-direction:column;gap:12px;padding:12px}.sidebar-collapse-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;justify-content:center;padding:8px 12px;transition:all .15s ease;width:100%}.sidebar-collapse-btn:hover{background:#e2e8f0;color:#1e293b}.commercial-summary-compact{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.summary-compact-header{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px}.summary-compact-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.summary-compact-item{align-items:center;background:#f8fafc;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;padding:8px 10px}.summary-compact-item .item-label{color:#64748b}.summary-compact-item .item-value{color:#1e293b;font-weight:600}.summary-compact-item.highlight{background:#eff6ff}.summary-compact-item.highlight .item-value{color:#3b82f6}.summary-compact-item.success .item-value{color:#16a34a}.summary-compact-item.warning{background:#fef3c7}.summary-compact-item.warning .item-value{color:#f59e0b}.summary-plan-status{align-items:center;border-radius:8px;display:flex;font-size:13px;font-weight:500;gap:6px;margin-top:12px;padding:8px 12px}.summary-plan-status.active{background:#dcfce7;color:#16a34a}.summary-plan-status.inactive{background:#f1f5f9;color:#64748b}.compact-sector-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.compact-chip{align-items:center;background:#fff;border:1px solid;border-radius:20px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;padding:5px 10px;transition:all .15s ease}.compact-chip:hover{opacity:.8}.compact-chip .chip-dot{border-radius:50%;height:6px;width:6px}.open-center-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:10px;justify-content:center;margin-bottom:12px;margin-top:24px;padding:14px;transition:all .2s ease;width:100%}.open-center-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.commercial-center-overlay.fullscreen .commercial-center-modal{border-radius:0;height:100vh;max-height:100vh;max-width:100vw;width:100vw}.commercial-center-overlay.fullscreen .commercial-center-body{max-height:calc(100vh - 120px);padding:20px 32px}.commercial-center-overlay.fullscreen .commercial-summary-tab,.commercial-center-overlay.fullscreen .priority-editor,.commercial-center-overlay.fullscreen .sectors-full-view{max-width:100%;padding:24px 32px}.commercial-center-overlay.fullscreen .summary-kpi-grid{grid-template-columns:repeat(4,1fr)}.commercial-center-overlay.fullscreen .distribution-grid{grid-template-columns:repeat(3,1fr)}.commercial-center-overlay.fullscreen .planning-day-card{min-width:200px}.commercial-center-overlay.fullscreen .planning-container{max-width:100%;width:100%}.commercial-center-overlay.fullscreen .planning-main-content{max-width:100%;padding:0 16px}.commercial-center-overlay.fullscreen .planning-content-area{max-width:100%}.commercial-center-overlay.fullscreen .center-tab-content,.commercial-center-overlay.fullscreen .planning-modal-content,.commercial-center-overlay.fullscreen .planning-modal.embedded{max-width:100%;width:100%}.commercial-center-overlay.fullscreen .planning-week-grid{gap:16px;min-width:0;width:100%}.commercial-center-overlay.fullscreen .planning-day-card{min-width:160px}.commercial-center-overlay.fullscreen .week-plan-container,.commercial-center-overlay.fullscreen .week-plan-wrapper,.commercial-center-overlay.fullscreen .week-section{max-width:100%;width:100%}.planning-management-bar{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px 20px}.plan-selector-group{align-items:center;display:flex;flex:1 1;gap:10px;min-width:250px}.plan-selector-label{align-items:center;color:#475569;display:flex;font-size:13px;font-weight:500;gap:6px;white-space:nowrap}.plan-selector-trigger{background:#fff;max-width:320px;min-width:220px}.plan-option-content{align-items:center;display:flex;gap:8px}.plan-option-new{color:#3b82f6;font-weight:500}.plan-option-separator{background:#e2e8f0;height:1px;margin:4px 8px}.plan-option-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-option-active-tag{background:#dcfce7;border-radius:4px;color:#16a34a;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.plan-option-empty{color:#94a3b8;font-size:13px;padding:12px 16px;text-align:center}.plan-action-buttons{align-items:center;display:flex;gap:8px}.plan-action-buttons button{align-items:center;display:flex;font-size:12px;gap:6px;height:auto;padding:6px 10px}.plan-action-buttons .activate-btn:hover{background:#dcfce7;border-color:#22c55e;color:#16a34a}.plan-action-buttons .archive-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.planning-badge{align-items:center;border:1px solid;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}.planning-mini-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-width:420px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.mini-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px 20px}.mini-modal-header h3{color:#1e293b;font-size:16px;font-weight:600;margin:0}.mini-modal-header button{background:none;border:none;border-radius:6px;color:#64748b;cursor:pointer;padding:4px;transition:all .15s ease}.mini-modal-header button:hover{background:#f1f5f9;color:#1e293b}.mini-modal-body{padding:20px}.mini-modal-body label{color:#475569;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.mini-modal-body input{margin-bottom:12px;width:100%}.mini-modal-body p{color:#1e293b;font-size:14px;line-height:1.5;margin:0}.mini-modal-hint{color:#64748b!important;font-size:12px!important;margin-top:8px!important}.mini-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.mini-modal-footer button{align-items:center;display:flex;gap:6px}@media (max-width:768px){.planning-management-bar{align-items:stretch;flex-direction:column;gap:12px;padding:12px 16px}.plan-selector-group{align-items:stretch;flex-direction:column;gap:8px;min-width:0}.plan-selector-trigger{max-width:100%;min-width:0}.plan-action-buttons{flex-wrap:wrap;justify-content:flex-end}.plan-action-buttons button span{display:none}}.planning-management-bar.loading{opacity:.7;pointer-events:none}.planning-management-bar .loading-indicator{align-items:center;color:#64748b;display:flex;font-size:13px;gap:8px}.planning-empty-actions{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:20px}.planning-load-section{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.load-section-label{color:#64748b;font-size:13px}.planning-no-map-warning,.planning-no-sectors-warning{align-items:center;background:#fef3c7;border-radius:8px;color:#92400e;display:flex;font-size:13px;gap:8px;margin-top:12px;padding:10px 16px}.planning-no-map-warning{background:#fee2e2;color:#991b1b}.planning-day-card.revisit-day{border-left:3px solid #94a3b8}.planning-day-card.revisit-day .day-card-header{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.day-sector-tag.revisit-tag{background:#94a3b8!important}.day-count.revisit-count{color:#64748b;font-style:italic}.day-detail-sector-tag.revisit-tag{background:#94a3b8!important}.planning-day-card.revisit-day .revisit-info{background:#f8fafc;border-radius:8px;padding:12px}.revisit-info .revisit-title{color:#475569;font-weight:600;margin-bottom:8px}.revisit-info .revisit-sources{color:#64748b;font-size:12px;list-style:none;margin:0;padding:0}.revisit-info .revisit-sources li{margin:4px 0}.coverage-stats-grid .coverage-value.success{color:#16a34a}.coverage-stats-grid .coverage-value.warning{color:#d97706}.planning-coverage-block.sufficient .coverage-alert{display:none}.legacy-plan-warning{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.legacy-plan-warning .warning-icon{align-items:center;background:#f59e0b33;border-radius:50%;color:#d97706;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.legacy-plan-warning .warning-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.legacy-plan-warning .warning-title{color:#92400e;font-size:13px;font-weight:600}.legacy-plan-warning .warning-text{color:#b45309;font-size:12px;line-height:1.4}.legacy-plan-warning .regenerate-btn{background:#fff;border-color:#fbbf24;color:#92400e;flex-shrink:0;font-size:12px}.legacy-plan-warning .regenerate-btn:hover{background:#fef3c7;border-color:#d97706}.legacy-plan-warning.outdated-criteria{background:linear-gradient(135deg,#fed7aa,#fb923c);border-color:#ea580c}.legacy-plan-warning.outdated-criteria .warning-icon{background:#ea580c33;color:#c2410c}.legacy-plan-warning.outdated-criteria .warning-title{color:#7c2d12}.legacy-plan-warning.outdated-criteria .warning-text{color:#9a3412}.legacy-plan-warning.outdated-criteria .regenerate-btn{border-color:#ea580c;color:#7c2d12}.legacy-plan-warning.outdated-criteria .regenerate-btn:hover{background:#fed7aa;border-color:#c2410c}.visits-changed-warning{align-items:center;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #3b82f6;border-radius:6px;color:#1e40af;display:flex;font-size:12px;gap:6px;margin-top:8px;padding:8px 12px}.visits-changed-warning svg{animation:spin 2s linear infinite;color:#2563eb;flex-shrink:0}.capacity-original{color:#6b7280;font-size:11px;margin-left:6px}.capacity-sector-breakdown{border-top:1px solid #00000014;margin-top:10px;padding-top:10px}.sector-breakdown-title{color:#4b5563;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.sector-capacity-row{align-items:center;border-bottom:1px dashed #0000000f;display:flex;font-size:12px;justify-content:space-between;padding:4px 0}.sector-capacity-row:last-child{border-bottom:none}.sector-capacity-row .sector-name{color:#374151;font-weight:500}.sector-capacity-row .sector-counts{color:#6b7280}.sector-capacity-row.over-capacity{background:#ef44440d;border-radius:4px;margin:2px -6px;padding:4px 6px}.sector-capacity-row.over-capacity .sector-name{color:#dc2626}.sector-capacity-row.over-capacity .unplanned-count{color:#dc2626;font-weight:600}.center-tab-content.execution-tab{height:100%;overflow:hidden;padding:0!important}.center-tab-content.execution-tab .commercial-execution-view{display:flex;flex-direction:column;height:100%}.center-tab-content.execution-tab .execution-content{flex:1 1;overflow-y:auto}.commercial-user-selector{margin-bottom:16px}.commercial-user-selector .selector-label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:8px}.commercial-user-selector .selector-container{position:relative}.commercial-user-selector .selector-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:12px 14px;transition:all .15s ease;width:100%}.commercial-user-selector .selector-trigger:hover:not(.disabled){border-color:#3b82f6}.commercial-user-selector .selector-trigger.open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.commercial-user-selector .selector-trigger.disabled{background:#f9fafb;cursor:not-allowed;opacity:.7}.commercial-user-selector .chevron{transition:transform .2s ease}.commercial-user-selector .chevron.rotated{transform:rotate(180deg)}.commercial-user-selector .error-state,.commercial-user-selector .loading-state{align-items:center;color:#6b7280;display:flex;gap:8px}.commercial-user-selector .error-state{color:#dc2626}.commercial-user-selector .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.commercial-user-selector .selector-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a;left:0;max-height:240px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:50}.commercial-user-selector .selector-option{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:12px 14px;text-align:left;transition:background .1s ease;width:100%}.commercial-user-selector .selector-option:hover{background:#f3f4f6}.commercial-user-selector .selector-option.selected{background:#eff6ff}.commercial-user-selector .option-info{display:flex;flex-direction:column;gap:2px}.commercial-user-selector .option-name{color:#111827;font-size:14px;font-weight:500}.commercial-user-selector .option-email{color:#6b7280;font-size:12px}.commercial-user-selector .check-icon{color:#3b82f6}.commercial-user-selector .no-users{color:#6b7280;font-size:14px;padding:16px;text-align:center}.commercial-user-selector .selected-info{color:#6b7280;font-size:12px;margin-top:8px}.commercial-user-selector .selected-info strong{color:#374151}.commercial-user-selector .selected-info.warning{color:#dc2626;font-weight:500}.route-commercial-selector{display:inline-flex;position:relative}.route-selector-trigger{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:inline-flex;font-size:11px;font-weight:500;gap:4px;max-width:140px;padding:4px 8px;transition:all .15s ease;white-space:nowrap}.route-selector-trigger:hover{background:#e5e7eb;border-color:#9ca3af}.route-selector-trigger.open{background:#e5e7eb;border-color:#3b82f6}.route-selector-trigger.unassigned{background:#fef3c7;border-color:#f59e0b;color:#92400e}.route-selector-trigger .route-commercial-name{max-width:80px;overflow:hidden;text-overflow:ellipsis}.route-selector-trigger .chevron{flex-shrink:0;transition:transform .15s ease}.route-selector-trigger .chevron.rotated{transform:rotate(180deg)}.route-selector-trigger .spin{animation:spin 1s linear infinite}.route-selector-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:240px;min-width:200px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.route-selector-empty,.route-selector-loading{align-items:center;color:#6b7280;display:flex;font-size:12px;gap:6px;justify-content:center;padding:12px}.route-selector-option{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;text-align:left;transition:background .1s ease;width:100%}.route-selector-option:hover{background:#f3f4f6}.route-selector-option.selected{background:#eff6ff}.route-option-info{display:flex;flex-direction:column;gap:1px}.route-option-name{color:#111827;font-size:12px;font-weight:500}.route-option-email{color:#6b7280;font-size:10px}.route-selector-option .check-icon{color:#3b82f6;flex-shrink:0}.route-commercial-selector.compact .route-selector-trigger{font-size:10px;padding:2px 6px}.route-commercial-selector.compact .route-selector-trigger .route-commercial-name{max-width:60px}.day-card-commercial{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;font-size:11px;gap:6px;padding:6px 10px}.day-card-commercial .commercial-label{color:#6b7280;flex-shrink:0}.global-assignment-banner{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.global-assignment-banner .banner-icon{align-items:center;background:#3b82f6;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.global-assignment-banner .banner-content{flex:1 1}.global-assignment-banner .banner-title{color:#1e40af;font-size:13px;font-weight:600;margin-bottom:2px}.global-assignment-banner .banner-description{color:#3b82f6;font-size:11px}.global-assignment-banner .banner-selector{flex-shrink:0}.global-assignment-banner .banner-selector .route-selector-trigger{background:#fff;font-size:12px;padding:6px 12px}.global-assignment-banner .banner-selector .route-selector-trigger .route-commercial-name{max-width:120px}.tracking-history-detail-mobile{display:flex;flex-direction:column;height:100%;overflow:hidden}.tracking-history-detail-mobile>.scrollable-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto}@media (max-width:768px){.tracking-history-detail{display:flex;flex-direction:column!important;height:100%;overflow:hidden}.tracking-history-detail>div:last-child{flex-direction:column!important;overflow-x:hidden;overflow-y:auto}.tracking-history-detail>div:last-child>div:first-child{flex:none!important;height:auto!important;min-width:100%!important;width:100%!important}.tracking-history-detail>div:last-child>div:first-child .mapboxgl-map{height:55vh!important;min-height:380px!important}.tracking-history-detail>div:last-child>div:last-child{flex-direction:column!important;gap:12px!important;max-width:100%!important;padding:12px!important;width:100%!important}.tracking-history-list>div:first-child{align-items:stretch!important;flex-direction:column!important}.tracking-history-list>div:first-child>div:last-child{flex-wrap:wrap!important}.tracking-history-list>div:first-child>div:last-child>*{flex:1 1 45%!important;min-width:140px!important}}
/*# sourceMappingURL=729.1053e13c.chunk.css.map*/