@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap";:root{--brand-graphite:#3b4348;--brand-teal:#287d76;--brand-gold:#d1ae2b;--white:#fff;--bg:#f4f6f6;--surface:#fff;--surface-muted:#f8f9f9;--border:#e3e8e8;--border-strong:#cfd7d8;--text:#253036;--text-muted:#69757b;--text-soft:#8a959a;--success:#1f8a5b;--warning:#b8870f;--danger:#c2413b;--success-bg:#edf8f2;--warning-bg:#fbf7e8;--danger-bg:#fdf0ef;--chart-realizado:var(--brand-teal);--chart-meta:var(--brand-gold);--chart-context:#a7b0b6;--chart-grid:#e6eaed;--font-base:Montserrat, "Segoe UI", system-ui, -apple-system, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:6px;--radius:8px;--shadow-soft:0 1px 2px #2530360f;--shadow-panel:0 16px 36px #2530361f}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-base);margin:0}button,select,input{font:inherit}button{transition:background .18s,border-color .18s,color .18s}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #287d762e}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);padding:9px 13px;font-size:13px;font-weight:700}.btn:hover{border-color:var(--brand-teal);color:var(--brand-teal)}.btn.active{border-color:var(--brand-teal);color:var(--brand-teal);background:#287d7617}.loading-state{min-height:min(100vh,720px);padding:var(--space-7);place-items:center;display:grid}.loading-panel{justify-items:center;gap:var(--space-4);width:min(100%,520px);padding:var(--space-7);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-align:center;display:grid}.loading-spinner-wrap{place-items:center;width:68px;height:68px;display:grid;position:relative}.loading-spinner{border:4px solid #287d7624;border-top-color:var(--brand-teal);border-right-color:var(--brand-gold);border-radius:50%;width:54px;height:54px;animation:.9s linear infinite loading-spin}.loading-pulse{border:1px solid #287d762e;border-radius:50%;animation:1.8s ease-out infinite loading-pulse;position:absolute;inset:4px}.loading-copy{gap:var(--space-2);display:grid}.loading-title{color:var(--brand-graphite);margin:0;font-size:16px;font-weight:800}.loading-detail{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.loading-dots{align-items:center;gap:7px;display:inline-flex}.loading-dots span{background:var(--brand-teal);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite loading-dot}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){background:var(--brand-gold);animation-delay:.32s}.loading-skeleton-grid{gap:var(--space-3);width:100%;margin-top:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loading-skeleton-card{gap:var(--space-3);min-height:86px;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);display:grid}.loading-skeleton-card span,.loading-skeleton-card strong{background:linear-gradient(90deg,#edf1f1 0%,#f8faf9 42%,#edf1f1 84%) 0 0/220% 100%;border-radius:999px;animation:1.5s ease-in-out infinite loading-shimmer;display:block;overflow:hidden}.loading-skeleton-card span{width:72%;height:10px}.loading-skeleton-card strong{width:52%;height:20px}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-pulse{0%{opacity:.7;transform:scale(.86)}to{opacity:0;transform:scale(1.18)}}@keyframes loading-dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes loading-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.loading-spinner,.loading-pulse,.loading-dots span,.loading-skeleton-card span,.loading-skeleton-card strong{animation:none}}.app-container{background:var(--bg);height:100vh;display:flex}.sidebar{background:var(--brand-graphite);color:#fff;border-right:1px solid var(--border);flex-direction:column;width:280px;min-width:280px;transition:width .3s;display:flex;position:relative;overflow-y:auto}.sidebar.collapsed{width:80px;min-width:80px}.collapse-btn{z-index:5;border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--brand-graphite);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:999px;place-items:center;transition:transform .2s,background .2s;display:grid;position:absolute;top:14px;right:-14px}.collapse-btn:hover{background:var(--surface-muted)}.sidebar-header{padding:var(--space-4);align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff1a;display:flex}.sidebar-logo{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--brand-gold);background:#ffffff1a;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-title{margin:0;font-size:14px;font-weight:700}.sidebar-subtitle{color:#ffffffb3;margin:0;font-size:12px}.sidebar-nav{padding:var(--space-3);flex:1;margin:0;list-style:none}.sidebar-nav-item{margin:var(--space-2) 0}.sidebar-nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#fffc;border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:flex}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .sidebar-nav-link{justify-content:center}.sidebar.collapsed .sidebar-nav{padding:var(--space-3) 10px}.sidebar-icon{font-size:18px;line-height:1}.sidebar-nav-link:hover{color:#fff;background:#ffffff1a}.sidebar-nav-link.active{background:var(--brand-teal);color:#fff}.sidebar-footer{padding:var(--space-4);border-top:1px solid #ffffff1a}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.header{background:var(--surface);border-bottom:1px solid var(--border);height:64px;padding:0 var(--space-6);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;display:flex}.header-title{color:var(--text);margin:0;font-size:18px;font-weight:700}.header-user{align-items:center;gap:var(--space-4);display:flex}.header-user-name{color:var(--text-muted);font-size:13px}.header-user-badge{background:var(--brand-teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.content-area{padding:var(--space-6);flex:1;overflow-y:auto}.login-page{min-height:100vh;padding:var(--space-5);background:linear-gradient(135deg, var(--brand-teal) 0%, var(--brand-graphite) 100%);justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:var(--space-7);width:100%;max-width:420px}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:24px;display:flex}.login-logo{object-fit:contain;width:auto;max-width:170px;height:auto;max-height:90px;margin:0 auto 10px;display:block}.login-brand h1{color:var(--text);text-align:center;margin:0;font-size:22px;font-weight:800}.login-brand p{color:var(--text-muted);text-align:center;margin:0;font-size:14px}.login-field{margin-bottom:var(--space-5)}.login-field label{color:var(--text);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600;display:block}.login-field input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text);font-size:14px;transition:border-color .2s}.login-field input:focus{border-color:var(--brand-teal);background:var(--surface)}.login-error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:13px}.login-button{width:100%;padding:12px var(--space-4);background:var(--brand-teal);color:#fff;border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border:none;font-size:14px;font-weight:700;transition:background .2s;display:flex}.login-button:hover{background:#1f6b63}.module-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.module-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-soft);cursor:pointer;gap:var(--space-3);flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.module-card:hover{box-shadow:var(--shadow-panel);border-color:var(--brand-teal);transform:translateY(-4px)}.module-icon{width:48px;height:48px;color:var(--brand-teal);border-radius:var(--radius-sm);background:#287d761a;justify-content:center;align-items:center;font-size:24px;display:flex}.module-name{color:var(--text);margin:0;font-size:16px;font-weight:700}.module-description{color:var(--text-muted);flex:1;margin:0;font-size:13px}.module-button{background:var(--brand-teal);color:#fff;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);cursor:pointer;border:none;font-size:13px;font-weight:600;transition:background .2s}.module-button:hover{background:#1f6b63}.filters-card{padding:var(--space-5)}.filters-row{gap:var(--space-5);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=1024px){.filters-row{grid-template-columns:minmax(300px,430px) 1fr}}.setor-buttons{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.filter-grid{gap:var(--space-4);align-items:end;width:100%;display:grid}.commercial-main-filter-grid,.commercial-period-filter-grid{gap:var(--space-4);width:100%;margin-top:var(--space-4);align-items:end;display:grid}.commercial-main-filter-grid{grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr)}.commercial-period-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.filter-control{flex-direction:column;gap:8px;display:flex}.filter-control label{color:var(--text-muted);font-size:12px;font-weight:700}.filter-control select,.filter-control input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:10px 12px}.search-wrap{position:relative}.search-wrap input{padding-left:34px}.search-wrap svg{color:var(--text-muted);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.section-header h3,.filters-row h3{color:var(--brand-graphite);margin:0;font-size:16px;line-height:1.3}.section-header p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.chart-area{width:100%;min-width:0;height:360px;min-height:320px;margin-top:var(--space-3)}.chart-card{min-width:0;overflow:hidden}.chart-card-body{width:100%;min-width:0}.gauge-card{min-width:0;min-height:420px;padding:var(--space-5);overflow:hidden}.gauge-heading{margin-bottom:0}.gauge-loading-state{height:300px;color:var(--text-muted);place-items:center;font-size:13px;font-weight:700;display:grid}.gauge-summary{gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gauge-summary span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700;display:block}.gauge-summary strong{color:var(--brand-graphite);margin-top:4px;font-size:14px;display:block}.positive{color:var(--success)!important}.negative{color:var(--danger)!important}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow:auto}.table-card{padding:var(--space-5)}.table-scroll{overflow-x:auto}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.module-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.commercial-page-header{align-items:flex-end}.commercial-page-header small{color:var(--brand-teal);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.commercial-page-header h1{margin:var(--space-1) 0 0;color:var(--brand-graphite);font-size:34px;line-height:1.1}.commercial-page-header p{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:14px}.tabs{background:var(--surface);border:1px solid var(--border);padding:var(--space-1);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex}.tab-button{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-size:13px;font-weight:800}.tab-button.active{background:var(--brand-graphite);color:var(--white)}.module-meta{text-align:right;color:var(--text-muted);flex-direction:column;justify-content:center;gap:6px;display:flex}.module-tabs{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.section-title{margin:var(--space-5) 0 var(--space-4);color:var(--brand-graphite);font-size:20px;line-height:1.2}.commercial-refresh-button{margin-top:var(--space-4);max-width:220px}.filter-empty-message{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:13px}.commercial-empty-card,.commercial-warning-card{padding:var(--space-4);margin-top:var(--space-4);font-size:13px;font-weight:700}.commercial-empty-card{color:var(--text-muted)}.commercial-warning-card{background:var(--warning-bg);color:var(--warning);border-color:#d1ae2b5c}.commercial-analysis-stack{gap:var(--space-6);margin-top:var(--space-5);display:grid}.commercial-kpi-section .kpi-grid,.commercial-chart-section,.commercial-table-section,.commercial-module .section-title{margin:0}.commercial-module .filters-card{margin-bottom:var(--space-5)}.commercial-module .chart-card,.commercial-module .gauge-card,.commercial-module .table-card{height:100%}.progress-track{background:#edf1f1;border-radius:999px;width:100%;min-width:88px;height:8px;overflow:hidden}.progress-fill{background:var(--brand-teal);border-radius:999px;height:8px}.progress-fill-good{background:var(--success)}.progress-fill-watch{background:var(--warning)}.progress-fill-risk{background:var(--danger)}.performance-cell{gap:8px;min-width:190px;display:grid}.badge{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;align-items:center;gap:7px;width:max-content;max-width:100%;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge strong{font-weight:800}.badge-green{color:var(--success);background:var(--success-bg);border-color:#1f8a5b3d}.badge-yellow{color:var(--warning);background:var(--warning-bg);border-color:#d1ae2b5c}.badge-red{color:var(--danger);background:var(--danger-bg);border-color:#c2413b3d}.error-card{padding:var(--space-4);background:var(--danger-bg);color:var(--danger);align-items:center;gap:var(--space-3);border-color:#c2413b47;font-weight:700;display:flex}.table-wrap table{border-collapse:collapse;width:100%;font-size:13px}.table-wrap th,.table-wrap td{border-bottom:1px solid #edf1f1;padding:12px 14px}.table-wrap th{background:var(--surface);color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800;position:sticky;top:0}.table-wrap tbody tr:hover{background:#287d760b}.category-row{background:var(--surface-muted)}.category-row td{font-weight:800}.category-toggle{align-items:center;gap:var(--space-2);width:100%;min-width:190px;color:var(--brand-graphite);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;display:inline-flex}.category-toggle svg{color:var(--brand-teal);flex:none}.product-detail-row td:first-child{color:var(--text-muted);padding-left:42px;font-weight:700;position:relative}.product-detail-row td:first-child:before{content:"";background:var(--border-strong);width:8px;height:1px;position:absolute;top:50%;left:25px}.product-share-cell{color:var(--text-muted);font-size:12px;font-weight:700}.text-right{text-align:right;font-variant-numeric:tabular-nums}.module-placeholder{padding:var(--space-6)}.module-placeholder-header{margin-bottom:var(--space-7)}.module-placeholder-title{color:var(--text);margin:0 0 var(--space-2) 0;font-size:24px;font-weight:700}.module-placeholder-description{color:var(--text-muted);margin:0;font-size:14px}.module-placeholder-message{background:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-6) 0;color:var(--warning);font-size:13px}.module-error-card{padding:var(--space-5);background:var(--danger-bg);color:var(--danger);border-color:#c2413b47}.module-error-card h2{color:var(--danger);margin:0;font-size:18px}.module-error-card p{margin:var(--space-2) 0 0;color:var(--danger);font-size:14px}.module-error-card pre{margin:var(--space-4) 0 0;white-space:pre-wrap;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:12px;overflow:auto}.kpi-grid{gap:var(--space-4);margin:var(--space-6) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-soft)}.kpi-card:hover{border-color:#287d763d}.kpi-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.kpi-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:var(--space-2);font-size:11px;font-weight:600}.kpi-title{margin:0 0 var(--space-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800}.kpi-value{color:var(--text);margin:0;font-size:24px;font-weight:700}.kpi-icon{width:22px;height:22px;color:var(--brand-teal)}.kpi-subtitle{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:12px}.kpi-badge{margin-top:var(--space-4)}.kpi-change{color:var(--success);margin-top:var(--space-1);font-size:12px}.sales-module .module-header h1{margin:0 0 var(--space-2) 0;color:var(--brand-graphite)}.sales-module .module-header p{max-width:760px;color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.sales-filter-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.sales-filter-actions .btn{align-items:center;gap:8px;display:inline-flex}.sales-filter-grid{margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.sales-date-range-filter{border:0;grid-column:span 2;min-width:0;margin:0;padding:0;position:relative}.sales-date-range-filter legend{color:var(--text-muted);margin:0 0 8px;padding:0;font-size:12px;font-weight:700}.sales-date-range-fields{gap:var(--space-4);grid-template-columns:repeat(2,minmax(150px,1fr));display:grid}.sales-date-range-filter:disabled{opacity:.72}.sales-date-trigger{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:41px;color:var(--text);cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.sales-date-trigger:hover,.sales-date-trigger.active{border-color:var(--brand-teal);color:var(--brand-teal)}.sales-date-trigger svg{color:var(--brand-teal)}.sales-calendar-popover{z-index:20;width:min(100vw - 48px,360px);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-panel);position:absolute;top:calc(100% + 8px);left:0}.sales-calendar-header{gap:var(--space-2);grid-template-columns:34px 1fr 34px;align-items:center;display:grid}.sales-calendar-icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--brand-teal);cursor:pointer;place-items:center;display:grid}.sales-calendar-icon-button:disabled{cursor:not-allowed;color:var(--text-soft);background:var(--surface-muted)}.sales-calendar-selects{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 86px;display:grid}.sales-calendar-selects select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:8px 9px;font-size:12px;font-weight:800}.sales-calendar-weekdays,.sales-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.sales-calendar-weekdays{margin-top:var(--space-4);color:var(--text-muted);text-align:center;font-size:11px;font-weight:800}.sales-calendar-grid{margin-top:var(--space-2)}.sales-calendar-day{border-radius:var(--radius-sm);background:var(--surface-muted);min-width:0;height:34px;color:var(--text);cursor:pointer;border:1px solid #0000;font-size:12px;font-weight:800}.sales-calendar-day:hover:not(:disabled),.sales-calendar-day.active{border-color:var(--brand-teal);color:var(--brand-teal);background:#287d761a}.sales-calendar-day:disabled{cursor:not-allowed;color:var(--text-soft);opacity:.55;background:#f1f4f4}.sales-calendar-day.empty{background:0 0}.sales-calendar-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;display:flex}.sales-calendar-footer .btn{padding:7px 10px}.sales-search-control{min-width:min(100%,280px)}.sales-status-strip{gap:var(--space-3);margin:var(--space-4) 0 0;color:var(--text-muted);flex-wrap:wrap;font-size:12px;display:flex}.sales-status-strip span{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px}.sales-chart-grid{margin-top:var(--space-4)}.sales-table-section{margin-top:var(--space-5)}.franchisor-module .module-header h1{margin:0 0 var(--space-2) 0;color:var(--brand-graphite)}.franchisor-module .module-header p{max-width:780px;color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.franchisor-filter-grid{margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.franchisor-months{gap:var(--space-2);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.franchisor-chart-grid,.franchise-detail,.franchisor-table-gap,.franchisor-nps-section{margin-top:var(--space-5)}.nps-global-card,.nps-department-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.nps-global-card{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5);display:flex}.nps-global-status{gap:var(--space-3);min-width:min(100%,260px);display:grid}.nps-response-count,.nps-card-foot{color:var(--text-muted);font-size:12px;font-weight:700}.nps-score{margin:var(--space-1) 0 var(--space-3);color:var(--brand-graphite);font-size:28px;font-weight:800;line-height:1}.nps-fallback-card{margin-top:var(--space-4);padding:var(--space-4);color:var(--text-muted);font-size:13px;font-weight:700}.nps-department-grid{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));display:grid}.nps-department-card{gap:var(--space-3);padding:var(--space-4);display:grid}.nps-card-head,.nps-card-foot{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.nps-card-head strong{color:var(--brand-graphite);font-size:14px}.nps-card-foot{align-items:center;font-size:11px}.nps-badge{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;align-items:center;width:max-content;max-width:100%;padding:6px 9px;font-size:11px;font-weight:800;display:inline-flex}.nps-thermometer{background:#edf1f1;border-radius:999px;width:100%;height:8px;overflow:hidden}.nps-thermometer span{border-radius:999px;height:100%;display:block}.nps-status-excellent{color:var(--success);background:var(--success-bg);border-color:#1f8a5b3d}.nps-thermometer .nps-status-excellent{background:var(--success)}.nps-status-good{color:var(--brand-teal);background:#287d761a;border-color:#287d763d}.nps-thermometer .nps-status-good{background:var(--brand-teal)}.nps-status-watch{color:var(--warning);background:var(--warning-bg);border-color:#d1ae2b5c}.nps-thermometer .nps-status-watch{background:var(--warning)}.nps-status-critical{color:var(--danger);background:var(--danger-bg);border-color:#c2413b3d}.nps-thermometer .nps-status-critical{background:var(--danger)}.nps-status-empty{color:var(--text-muted);border-color:var(--border);background:#f3f5f6}.nps-chart-area{height:320px;min-height:300px}.marketing-module .module-header h1{margin:0 0 var(--space-2) 0;color:var(--brand-graphite)}.marketing-module .module-header p{max-width:800px;color:var(--text-muted);margin:0;font-size:14px;line-height:1.55}.marketing-filter-grid{margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.marketing-tabs{gap:var(--space-2);margin-bottom:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:4px;display:inline-flex}.marketing-tab{border-radius:var(--radius-sm);min-width:128px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:10px 14px;font-size:13px;font-weight:800}.marketing-tab.active{background:var(--brand-teal);color:#fff}.marketing-timeline-slicer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.marketing-timeline-head{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-muted);flex-wrap:wrap;font-size:13px;display:flex}.marketing-timeline-head strong{color:var(--brand-graphite)}.marketing-timeline-head span{font-weight:800}.marketing-range-controls{gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);display:grid;position:relative}.marketing-range-controls input[type=range]{width:100%;accent-color:var(--brand-teal)}.marketing-month-track{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;display:grid}.marketing-month-point{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);min-width:0;color:var(--text-muted);cursor:pointer;padding:8px 4px;font-size:11px;font-weight:800}.marketing-month-point.active{color:var(--brand-teal);background:#287d761a;border-color:#287d7657}.marketing-month-point.endpoint{background:var(--brand-teal);color:#fff}.marketing-chart-grid,.campaign-detail{margin-top:var(--space-5)}.marketing-diagnostics-panel{margin-top:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.marketing-diagnostics-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--text-muted);flex-wrap:wrap;font-size:12px;display:flex}.marketing-diagnostics-head strong{color:var(--brand-graphite);font-size:13px}.marketing-diagnostics-head span,.marketing-diagnostics-item span{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);padding:5px 8px;font-weight:700}.marketing-diagnostics-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.marketing-diagnostics-item{min-width:0;padding:var(--space-3);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm)}.marketing-diagnostics-item div{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.marketing-diagnostics-item strong{color:var(--brand-graphite);font-size:13px}.marketing-diagnostics-item p{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;line-height:1.4}.marketing-diagnostics-normalized{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.marketing-diagnostics-normalized p{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;line-height:1.4}@media (width<=768px){.app-container{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;min-width:0;height:auto}.sidebar.collapsed{width:100%;min-width:0}.collapse-btn{right:var(--space-3);top:var(--space-3)}.module-grid{grid-template-columns:1fr}.loading-state{padding:var(--space-4)}.loading-panel{padding:var(--space-5)}.loading-skeleton-grid{grid-template-columns:1fr}.content-area{padding:var(--space-4)}.grid-2,.grid-3{grid-template-columns:1fr}.nps-global-card,.nps-card-head,.nps-card-foot{flex-direction:column;align-items:stretch}.commercial-main-filter-grid,.commercial-period-filter-grid,.gauge-summary{grid-template-columns:1fr}.module-header{flex-direction:column}.commercial-page-header{flex-direction:column;align-items:stretch}.tabs{width:100%}.tab-button{flex:1}.module-meta{text-align:left}.sales-filter-actions{justify-content:flex-start}.sales-date-range-filter{grid-column:auto}.sales-date-range-fields{grid-template-columns:1fr}}
