/* Stitch reference system: local assets, Persian RTL and responsive reports. */
:root{color-scheme:dark;--bg-dark:#080b12;--bg-surface:#0c101a;--bg-surface-elevated:#192233;--bg-card:#101624;--bg-card-hover:#141c2d;--border-color:#222c40;--border-subtle:#1b2536;--text-primary:#f2f5fc;--text-secondary:#a5b3c9;--text-muted:#7d8da8;--accent-indigo:#8183ff;--accent-purple:#bd85ff;--accent-cyan:#27d5ef;--accent-green:#21d5a0;--accent-amber:#fbbf24;--accent-rose:#f472b6;--accent-blue:#60a5fa;--font-main:'Vazirmatn',Tahoma,sans-serif;--font-en:'Vazirmatn',Tahoma,sans-serif;--font-mono:Consolas,'Courier New',monospace;--sidebar-width:280px}
[data-theme="light"]{color-scheme:light;--bg-dark:#f3f5fb;--bg-surface:#fff;--bg-surface-elevated:#eef1f9;--bg-card:#fff;--bg-card-hover:#f7f8fd;--border-color:#d9dfec;--border-subtle:#e6eaf3;--text-primary:#172039;--text-secondary:#3f506b;--text-muted:#52627b;--accent-indigo:#4f46e5;--accent-purple:#7e22ce;--accent-cyan:#087f9b;--accent-green:#047857;--accent-amber:#a16207;--accent-rose:#be185d;--accent-blue:#2563eb}
*{box-sizing:border-box}body{margin:0;background:var(--bg-dark);color:var(--text-primary);font:15px/1.9 var(--font-main);text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button{color:inherit}button:disabled{cursor:default;opacity:.4}input,select{color:var(--text-primary);min-width:0}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}[hidden]{display:none!important}::selection{background:#7255bc80}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#47516b;border-radius:10px}h1,h2,h3,p{margin:0}
.skip-link{position:fixed;top:-100px;right:24px;z-index:300;padding:12px;background:var(--bg-card);color:var(--text-primary)}.skip-link:focus{top:12px}
.sidebar{position:fixed;inset-block:0;right:0;width:var(--sidebar-width);background:var(--bg-surface);border-left:1px solid var(--border-color);z-index:80;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;min-height:102px;padding:24px;border-bottom:1px solid var(--border-color)}.brand-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#a855f7,#4f46e5);box-shadow:0 6px 24px #7c3aed30;font-size:20px}.brand-text h2{font-size:21px;font-weight:800;line-height:1.3}.brand-text span{color:var(--text-secondary);font-size:12px;direction:ltr;display:block;margin-top:5px}.nav-menu{display:flex;flex-direction:column;gap:7px;padding:17px 14px;overflow-y:auto}.nav-caption{font-size:12px;color:var(--text-muted);padding:0 12px 8px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:1px solid transparent;border-radius:11px;padding:13px 12px;text-align:right;color:var(--text-secondary);font-size:14px;font-weight:500;transition:background .15s,color .15s;position:relative}.nav-item i{flex:0 0 20px;font-size:16px;text-align:center}.nav-item:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.nav-item.active{color:#e8ddff;background:linear-gradient(100deg,#7c3aed12,#6366f12b);border-color:#6850ab80}.nav-item.active i{color:#bba2ff}.nav-item.active::after{content:'';position:absolute;left:9px;width:5px;height:5px;border-radius:50%;background:#b28bff;box-shadow:0 0 10px #a855f770}[data-theme="light"] .nav-item.active{color:#5b21b6;background:#ede9fe}[data-theme="light"] .nav-item.active i{color:var(--accent-purple)}
.server-status-card{margin:auto 16px 18px;display:flex;align-items:center;gap:10px;padding:15px 13px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px}.status-indicator,.telemetry-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-indicator.live,.telemetry-dot.live{background:var(--accent-green);box-shadow:0 0 10px #10b98140}.status-indicator.error,.telemetry-dot.error{background:var(--accent-amber)}.status-info{display:flex;flex-direction:column;min-width:0}.status-title{font-size:13px;font-weight:700}.status-sub{font-size:12px;color:var(--text-muted)}
.main-content{margin-right:var(--sidebar-width);padding:0 30px;min-width:0}.filter-bar{display:flex;align-items:flex-start;gap:10px;margin:0 -30px 28px;padding:19px 30px;background:var(--bg-surface);border-bottom:1px solid var(--border-color)}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;width:100%}.version-picker-badge{display:flex;align-items:center;gap:9px;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;padding:7px 12px;border-radius:10px;flex:1 1 230px;min-width:0;max-width:100%}.version-picker-badge label{white-space:nowrap;font-size:12px;color:var(--text-secondary)!important}.version-picker-badge i{color:var(--accent-purple);font-size:13px}.version-picker-badge:first-child{flex-grow:1.4;border-color:#10b98144!important}.version-select{border:none;background:transparent;font-size:13px;max-width:100%;flex:1;padding:2px 0;text-overflow:ellipsis}#appDbSelect{direction:rtl;font-family:var(--font-main);color:var(--accent-green)}.version-select option,.mode-select option{background:var(--bg-card);color:var(--text-primary)}
.date-presets{display:flex;gap:3px;padding:4px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px}.preset-btn{border:1px solid transparent;background:transparent;padding:5px 11px;border-radius:7px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.preset-btn.active{color:#fff;background:#4f46e5;border-color:#7c75f4;box-shadow:0 2px 12px #4f46e525}.preset-btn:hover:not(.active){background:var(--bg-surface-elevated)}.shamsi-date-picker-wrap{position:relative}.shamsi-date-picker{display:flex;align-items:center;gap:8px;border:1px solid var(--border-color);background:var(--bg-card);border-radius:10px;padding:5px 10px}.shamsi-date-picker>i{color:var(--text-muted)}.shamsi-date-picker label{color:var(--text-muted);font-size:13px}.shamsi-input{background:transparent;border:none;width:96px;direction:ltr;text-align:center;font-size:13px;padding:3px 0}.shamsi-input[readonly]{cursor:pointer}.btn-apply-date,.btn-refresh,.btn-theme-toggle,.btn-icon,.secondary-button{border:1px solid var(--border-color);background:var(--bg-surface-elevated);border-radius:9px;padding:7px 12px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn-apply-date{background:#4f46e5;border-color:#6158e8;color:white}.btn-refresh{color:var(--accent-purple);border-color:#7c3aed60;background:#7c3aed15}.btn-refresh:hover{background:#7c3aed28}.btn-theme-toggle,.btn-icon{width:35px;height:35px;padding:0}.mobile-menu{display:none;flex-shrink:0}
.telemetry-panel{border:1px solid var(--border-color);border-right:3px solid var(--accent-cyan);border-radius:15px;padding:15px 20px;background:linear-gradient(100deg,var(--bg-card),var(--bg-surface));margin-bottom:25px}.telemetry-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px}.telemetry-heading .card-tag{margin-right:auto;font-weight:400}.quality-details{font-size:13px;color:var(--text-secondary);margin-top:7px}.quality-details summary{cursor:pointer;width:fit-content}.quality-details p{padding-top:8px;line-height:2.1}.request-notice{margin-top:9px;color:var(--accent-amber);font-size:13px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-title h1{font-size:clamp(19px,1.8vw,27px);font-weight:800;line-height:1.6;letter-spacing:0}.page-title p{color:var(--text-secondary);font-size:13px;margin-top:3px}.report-range{display:flex;flex-direction:column;flex-shrink:0;gap:5px;font-size:12px;color:var(--text-muted)}.report-range strong{color:var(--accent-purple);background:#8b5cf610;border:1px solid #8b5cf63b;border-radius:7px;padding:4px 9px;font-weight:500;direction:ltr}
.tab-content{display:none}.tab-content.active{display:block;animation:enter .2s ease}@keyframes enter{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.kpi-card{--kpi-accent:var(--accent-indigo);position:relative;border:1px solid var(--border-color);border-radius:16px;padding:22px 20px 17px;min-width:0;background:linear-gradient(145deg,var(--bg-card),var(--bg-surface));overflow:hidden}.kpi-card:nth-child(2){--kpi-accent:var(--accent-cyan)}.kpi-card:nth-child(3){--kpi-accent:var(--accent-purple)}.kpi-card:nth-child(4){--kpi-accent:var(--accent-amber)}.kpi-icon,.kpi-icon-wrap{float:left;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-size:16px;color:var(--kpi-accent);background:color-mix(in srgb,var(--kpi-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--kpi-accent) 28%,transparent);margin-right:12px}.kpi-details,.kpi-info{display:block}.kpi-label{display:block;font-size:13px;line-height:1.9;font-weight:500;color:var(--text-secondary);min-height:40px;padding-left:38px}.kpi-value{display:block;font-family:var(--font-en);font-size:clamp(24px,2.4vw,34px);font-weight:800;line-height:1.4;margin:19px 0 12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.glow-green .kpi-value{color:var(--accent-cyan)}.glow-purple .kpi-value{color:var(--accent-purple)}.kpi-badge,.kpi-subtext,.kpi-sub{display:block;border-top:1px solid var(--border-color);padding-top:9px;font-size:12px;color:var(--text-secondary)}.kpi-badge.positive{color:var(--accent-green)}.kpi-badge.warning{color:var(--accent-purple)}#stickinessVal{color:var(--accent-rose)}
.business-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.business-kpis .kpi-card{padding:16px 13px;border-top:2px solid var(--kpi-accent)}.business-kpis .kpi-value{font-size:clamp(16px,1.5vw,24px)}.business-kpis .kpi-icon-wrap{width:28px;height:28px;font-size:12px;margin-right:6px}.business-kpis .kpi-label{padding-left:28px;font-size:12px}.business-kpis .kpi-card:nth-child(1){--kpi-accent:var(--accent-green)}.business-kpis .kpi-card:nth-child(5){--kpi-accent:var(--accent-cyan)}.business-kpis .kpi-card:nth-child(6){--kpi-accent:var(--accent-rose)}
.chart-container-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:17px;padding:23px;margin-bottom:24px;min-width:0}.card-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}.card-header h3{font-size:16px;font-weight:700;line-height:1.8}.card-header h3 i{color:var(--accent-indigo);margin-left:8px}.card-tag{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-secondary);font-size:12px;white-space:nowrap}.card-description{color:var(--text-secondary);font-size:13px;margin-top:5px}.chart-wrapper{height:330px;position:relative;min-width:0;direction:ltr}.chart-wrapper canvas{max-width:100%}.chart-empty{position:absolute;inset:50% 0 auto;text-align:center;background:var(--bg-card);color:var(--text-muted);padding:8px;pointer-events:none;font-size:12px}.overview-charts{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px}.overview-charts>.chart-container-card{display:flex;flex-direction:column}.overview-charts>.chart-container-card:first-child .chart-wrapper{flex:1;min-height:300px}.hourly-summary .chart-wrapper{height:240px;margin:20px 0}.summary-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.summary-pair>div{border:1px solid var(--border-color);border-radius:11px;padding:12px}.summary-pair span{display:block;color:var(--text-secondary);font-size:12px}.summary-pair strong{color:var(--accent-purple);font-size:16px;display:block;margin-top:5px}.text-button{border:none;background:none;color:var(--accent-indigo);font-size:13px;padding:4px 0}.text-button:hover{text-decoration:underline}
.money-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border-color)}.money-summary>div{padding:0 16px;border-left:1px solid var(--border-color)}.money-summary>div:first-child{padding-right:0}.money-summary>div:last-child{border:0}.money-summary span{display:block;font-size:13px;color:var(--text-secondary)}.money-summary strong{display:block;color:var(--accent-green);font:700 21px/1.8 var(--font-main);margin-top:4px}.money-summary>div:last-child strong{color:var(--accent-purple)}.sku-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.sku-card{border:1px solid var(--border-color);padding:15px;border-radius:12px;min-width:0}.sku-card header{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px}.sku-card bdi{overflow-wrap:anywhere;font-family:var(--font-mono)}.sku-card strong{white-space:nowrap;color:var(--accent-cyan);font-size:13px}.sku-card p{color:var(--text-muted);font-size:12px}.sku-meter{background:var(--bg-surface-elevated);height:7px;border-radius:8px;margin:12px 0 8px;overflow:hidden}.sku-meter span{display:block;height:100%;background:linear-gradient(90deg,#6366f1,#b981ff);border-radius:inherit}.sku-card:first-child .sku-meter span{background:linear-gradient(90deg,#0baaa2,#34d399)}.sku-card:nth-child(2) .sku-meter span{background:linear-gradient(90deg,#3b82f6,#22d3ee)}
.content-grid{display:grid;gap:22px}.equal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.revenue-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.transactions-grid{grid-template-columns:minmax(230px,1fr) minmax(0,2fr)}.table-responsive{overflow:auto;max-width:100%;border:1px solid var(--border-color);border-radius:11px}.data-table,.cohort-table{width:100%;border-collapse:collapse;font-size:13px;text-align:right}.data-table th,.cohort-table th{background:var(--bg-surface-elevated);color:var(--text-secondary);font-weight:600;font-size:13px;white-space:nowrap;padding:13px 14px}.data-table td,.cohort-table td{padding:15px 14px;border-bottom:1px solid var(--border-subtle);font-variant-numeric:tabular-nums}.data-table tr:last-child td,.cohort-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover,.cohort-table tbody tr:hover{background:var(--bg-card-hover)}.cohort-table td{white-space:nowrap;text-align:center}.cohort-table td:first-child{font-family:var(--font-mono)}.table-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.table-search{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:9px;padding:8px 12px;width:290px;max-width:100%;font-size:13px}.table-toolbar .secondary-button{margin-right:auto}.table-pagination{display:flex;gap:10px;align-items:center;justify-content:space-between;padding-top:16px;color:var(--text-secondary);font-size:12px;flex-wrap:wrap}.table-pagination nav{display:flex;gap:6px;align-items:center}.table-pagination output{padding:4px 10px;color:var(--accent-indigo);border:1px solid var(--border-color);border-radius:7px}
.installation-data-note{color:var(--text-secondary);padding:13px 16px;border:1px solid #8b5cf633;border-radius:12px;background:#8b5cf609;font-size:13px;margin-bottom:24px}.install-evidence-table td{white-space:nowrap;font-size:12px}.install-evidence-table td:nth-child(3),.install-evidence-table td:nth-child(4),.install-evidence-table td:nth-child(5){direction:ltr;text-align:left;font-family:var(--font-mono);min-width:160px;max-width:230px;overflow-wrap:anywhere;white-space:normal;color:var(--accent-cyan)}.retention-mode-selector{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mode-select{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px;font-size:12px;max-width:100%}.heatmap-cell{border-radius:7px;padding:6px 8px;display:inline-block;min-width:48px;font-size:13px;font-weight:600}.heat-high{background:#6366f166;color:var(--text-primary)}.heat-mid{background:#6366f140;color:var(--accent-indigo)}.heat-low{background:#8b5cf620;color:var(--accent-purple)}.heat-poor{background:var(--bg-surface-elevated);color:var(--text-muted)}.empty-state{color:var(--text-muted);padding:20px 8px;text-align:center;grid-column:1/-1;font-size:12px}
.jalali-popup-calendar{display:none;position:absolute;top:calc(100% + 10px);right:0;z-index:90;width:300px;max-width:calc(100vw - 32px);padding:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:15px;box-shadow:0 20px 60px #0006}.jalali-popup-calendar.show{display:block}.cal-header,.cal-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-header{margin-bottom:12px}.cal-title{display:flex;gap:8px;font-weight:700}.cal-nav-btn,.cal-close-btn{background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:7px;padding:5px 10px}.cal-weekdays,.cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-weekdays{color:var(--text-muted);font-size:12px;margin-bottom:8px}.cal-day-cell{background:none;color:inherit;border:1px solid transparent;border-radius:7px;padding:6px 0;cursor:pointer;font-size:12px}.cal-day-cell:hover:not(.empty){background:var(--bg-surface-elevated)}.cal-day-cell.selected{background:#4f46e5;color:white}.cal-day-cell.empty{pointer-events:none}.cal-footer{border-top:1px solid var(--border-color);margin-top:12px;padding-top:10px;font-size:12px;color:var(--text-secondary)}.page-footer{border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:21px 0;color:var(--text-muted);font-size:12px;margin-top:10px}.page-footer b{color:var(--accent-purple);padding:0 5px}.sidebar-backdrop{position:fixed;inset:0;z-index:70;background:#0009;border:none}
.cohort-table td.heatmap-cell{display:table-cell;border-radius:6px}
@media(min-width:1650px){.main-content{padding-inline:40px}.filter-bar{margin-inline:-40px;padding-inline:40px}}
@media(max-width:1250px){:root{--sidebar-width:260px}.main-content{padding-inline:22px}.filter-bar{margin-inline:-22px;padding-inline:22px}.kpi-card{padding:17px 14px}.business-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-charts{grid-template-columns:minmax(0,1.65fr) minmax(235px,1fr)}.report-range{display:none}.chart-container-card{padding:18px}.nav-item{font-size:13px}.sku-card header{flex-wrap:wrap}}
@media(max-width:1000px){:root{--sidebar-width:245px}.nav-item{gap:8px;padding-inline:9px;font-size:13px}.brand{padding-inline:18px}.overview-charts,.revenue-grid,.transactions-grid{grid-template-columns:minmax(0,1fr)}.hourly-summary .chart-wrapper{height:220px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.sku-summary{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(100%);transition:transform .2s ease;width:270px}.sidebar.open{transform:translateX(0)}.main-content{margin-right:0;padding-inline:16px}.mobile-menu{display:inline-flex}.filter-bar{padding:14px 16px;margin:0 -16px 20px}.topbar-actions{gap:8px}.version-picker-badge{flex-basis:100%;padding-block:6px}.date-presets{width:100%;justify-content:space-between}.preset-btn{padding:5px 7px;font-size:12px}.shamsi-date-picker{gap:7px;padding-inline:9px;flex-wrap:wrap}.shamsi-input{width:90px;font-size:13px}.shamsi-date-picker-wrap{max-width:100%}.shamsi-date-picker>i{display:none}.btn-apply-date{padding:6px 9px}.telemetry-panel{padding:12px 14px;margin-bottom:20px}.telemetry-heading .card-tag{margin-right:0}.topbar{margin-bottom:18px}.page-title h1{font-size:21px}.page-title p{font-size:12px}.kpi-grid,.business-kpis{gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-label{font-size:13px;padding-left:24px}.kpi-icon{width:28px;height:28px;font-size:13px;margin-right:7px}.kpi-value{font-size:27px}.kpi-card{padding:16px 12px;border-radius:13px}.equal-grid{grid-template-columns:minmax(0,1fr)}.chart-container-card{padding:16px;border-radius:14px;margin-bottom:18px}.card-header{gap:8px;margin-bottom:18px}.card-header h3{font-size:15px}.chart-wrapper{height:290px}.money-summary strong{font-size:15px}.money-summary span{font-size:12px}.money-summary>div{padding-inline:10px}.retention-mode-selector{width:100%}.mode-select{width:100%}.page-footer{font-size:12px;gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{:root{color-scheme:light;--bg-dark:white;--bg-card:white;--bg-surface:white;--bg-surface-elevated:#edf0f6;--text-primary:#172039;--text-secondary:#465776;--text-muted:#5d6e8a;--border-color:#cbd5e1}.sidebar,.filter-bar,.telemetry-panel,.table-toolbar,.table-pagination,.text-button,.page-footer button{display:none!important}.main-content{margin:0;padding:15px}.chart-container-card,.kpi-card{break-inside:avoid}.table-responsive{overflow:visible;max-height:none!important}.data-table,.cohort-table{font-size:8px}.chart-wrapper{height:240px!important}}

.coverage-notice,.currency-notice{padding:12px 16px;margin:12px 0;border:1px solid rgba(245,158,11,.3);border-radius:12px;background:rgba(245,158,11,.07);color:var(--text-primary);font-size:12px;line-height:2}
.coverage-notice[hidden],.currency-notice[hidden]{display:none}
.cohort-controls,.cohort-controls>div{min-width:0;max-width:100%}.cohort-controls label{white-space:nowrap;flex-shrink:0}

/* Countly Campaign snapshots */
.campaign-explanation{color:var(--text-secondary,#94a3b8);line-height:1.9;margin:0 0 20px;padding:16px 20px;border:1px solid var(--border-color,#243047);border-radius:14px}.campaign-explanation strong{color:var(--text-primary,#e2e8f0)}.campaign-explanation p{margin:4px 0}.campaign-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.campaign-sync-time{font-size:1.1rem!important;margin:14px 0}.campaign-chart{height:300px;padding:20px}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.campaign-table{max-height:390px;overflow:auto}.campaign-table td{overflow-wrap:anywhere;white-space:normal}.campaign-table table{width:100%}@media(max-width:760px){.campaign-grid,.campaign-kpis{grid-template-columns:1fr!important}}

/* Topbar filter buttons & table sorting */
.btn-clear-filters {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.3);
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.btn-clear-filters:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.5);
  transform: translateY(-1px);
}
th.sortable {
  cursor: pointer;
  user-select: none;
  position: relative;
  transition: background-color 0.15s ease, color 0.15s ease;
}
th.sortable:hover {
  background-color: rgba(255, 255, 255, 0.05);
}
th.sortable::after {
  content: ' ⇅';
  font-size: 11px;
  opacity: 0.35;
  margin-right: 4px;
}
th.sort-asc::after {
  content: ' ▲';
  opacity: 1;
  color: var(--accent-blue, #38bdf8);
  font-size: 10px;
  margin-right: 4px;
}
th.sort-desc::after {
  content: ' ▼';
  opacity: 1;
  color: var(--accent-blue, #38bdf8);
  font-size: 10px;
  margin-right: 4px;
}
