:root{--navy:#113252;--blue:#159fd1;--blue-dark:#136f96;--surface:#fff;--page:#f3f7fa;--border:#dce7ee;--muted:#60778a;--danger:#b00020;--shadow:0 4px 22px #11325212}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--navy);font:15px/1.8 Tahoma,Arial,sans-serif}header{background:var(--navy);color:#fff;padding:13px 2vw;display:flex;gap:28px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:30;box-shadow:0 2px 12px #091d2f3b}header strong{font-size:1.35rem}nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}nav a{color:#fff;text-decoration:none;padding:7px 10px;border-radius:6px}nav a:hover,nav a.active{background:#ffffff17;color:#fff}main{width:96vw;max-width:none;margin:22px auto;padding:26px 2vw 45px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow)}h1{margin:0 0 22px}h2{margin:0 0 14px;font-size:1.25rem}h3{margin:18px 0 10px}.notice{border-right:4px solid var(--blue);background:#eaf8fe;padding:12px 14px;border-radius:6px}.error{color:var(--danger);background:#fff0f1;border-right:4px solid var(--danger);padding:12px 14px;border-radius:6px}form{max-width:560px}label{display:block;margin:12px 0}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #c9d7e2;border-radius:7px;background:#fff;color:var(--navy);font:inherit}textarea{direction:ltr;font:13px/1.5 Consolas,monospace}button,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);border:0;border-radius:7px;padding:10px 22px;color:#fff;cursor:pointer;text-decoration:none;font:inherit}button:hover,.button:hover{background:#087da9}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--border);text-align:right;padding:10px 12px;white-space:nowrap}th{background:#f6fafc;position:sticky;top:0}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:9px}.filters,.actions{display:flex;gap:12px;align-items:end;flex-wrap:wrap;max-width:none}.filters>label{min-width:160px}.filters>button{margin-bottom:12px}.dashboard-filter{padding:16px;background:#f7fafc;border:1px solid var(--border);border-radius:11px;margin-bottom:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:20px 0}.cards article{padding:20px;background:#f4f9fb;border:1px solid #e2edf2;border-radius:10px;min-width:0}.cards b{display:block;margin-top:5px;font-size:1.35rem;overflow-wrap:anywhere}.panel{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 2px 12px #1132520a}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.chart-wrap{overflow-x:auto;margin:12px 0 22px}.line-chart{width:100%;min-width:570px;max-height:360px;background:#fbfdfe;border-radius:10px}.line-chart text{font:12px Tahoma,Arial;fill:#526a7c}.line-chart .grid{stroke:var(--border);stroke-width:1}.line-chart text:hover{font-weight:bold;fill:var(--navy)}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}.range-label{color:var(--muted)}.custom-date-fields{display:none;gap:12px;align-items:end}.custom-date-fields.is-visible{display:flex}.jalali-date-trigger{min-width:165px;background:#fff;color:var(--navy);border:1px solid #c9d7e2;justify-content:space-between}.jalali-date-trigger:before{content:'📅';margin-left:8px}.jdp-overlay{position:fixed;inset:0;z-index:100;background:#071a2d99;display:flex;align-items:center;justify-content:center;padding:18px}.jalali-picker{width:min(360px,96vw);padding:17px;background:#fff;border:1px solid #c9d7e2;border-radius:13px;box-shadow:0 18px 55px #06192d66;direction:rtl}.jdp-head{display:grid;grid-template-columns:42px 1fr 42px 42px;gap:5px;align-items:center;margin-bottom:10px}.jdp-head b{text-align:center}.jdp-head button,.jdp-grid button{padding:7px;color:var(--navy);background:transparent}.jdp-head button:hover,.jdp-grid button:hover,.jdp-grid button.selected{background:var(--blue);color:#fff}.jdp-close{font-size:1.3rem}.jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.jdp-grid span,.jdp-grid button{min-height:37px;display:flex;align-items:center;justify-content:center;border-radius:7px}.jdp-week{font-weight:bold;color:var(--muted)}.category-filter{display:grid;grid-template-columns:minmax(180px,260px) minmax(280px,1fr);gap:12px;align-items:end;width:min(720px,100%)}.category-details{position:relative;margin:12px 0}.category-details summary{list-style:none;cursor:pointer;padding:9px 12px;border:1px solid #c9d7e2;border-radius:7px;background:#fff}.category-details summary::-webkit-details-marker{display:none}.category-details summary:after{content:'⌄';float:left}.category-options{position:absolute;z-index:25;top:calc(100% + 5px);right:0;left:0;max-height:280px;overflow:auto;padding:10px;background:#fff;border:1px solid #c9d7e2;border-radius:9px;box-shadow:var(--shadow)}.category-options label{display:flex;gap:8px;align-items:center;margin:4px;padding:6px;border-radius:5px}.category-options label:hover{background:#f0f7fa}.category-options input{width:auto;margin:0}.category-options small{color:var(--muted)}.channel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:15px 0}.channel-card{padding:15px;border:1px solid var(--border);border-top:4px solid var(--blue);border-radius:9px;background:#fbfdfe}.channel-card b{display:block;font-size:1.15rem}.settings-section{margin:24px 0;padding:20px;border:1px solid var(--border);border-radius:10px}.settings-section summary{font-size:1.15rem;font-weight:bold;cursor:pointer}.settings-section[open] summary{margin-bottom:16px}.settings-section .actions{margin:18px 0}.settings-section p{max-width:900px}code{direction:ltr;display:block;overflow:auto;text-align:left}
@media(max-width:900px){main{width:98vw;margin:10px auto;padding:18px 14px}.two-column,.category-filter{grid-template-columns:1fr}.panel{padding:14px}.filters{align-items:stretch}.filters>label,.filters>button{width:100%;margin:5px 0}.custom-date-fields{width:100%;flex-direction:column;align-items:stretch}.custom-date-fields label{width:100%}.line-chart{min-width:520px}}
@media(max-width:560px){header{position:static;padding:12px}.cards{grid-template-columns:1fr 1fr}.cards article{padding:14px}.line-chart{min-width:470px}td,th{padding:8px}}
.churn-curve .risk-zone{fill:#f2a90018}.churn-curve .churn-zone{fill:#c33c5418}.churn-curve .target-line{stroke:#6c63a8;stroke-width:2;stroke-dasharray:7 5}.churn-curve .expected-marker{stroke:#159a80;stroke-width:2;stroke-dasharray:5 5}.churn-curve .stat-marker{stroke:#6c63a8;stroke-width:2;stroke-dasharray:3 4}.churn-curve .effective-marker{stroke:#c33c54;stroke-width:3}.churn-curve circle{cursor:help}.confidence-low{color:#a15c00}.status-active{color:#08775f}.status-at-risk{color:#a15c00}.status-churned{color:#b00020}.explain{white-space:normal;min-width:320px}.kpi-meta{display:block;color:var(--muted);font-size:.82rem;font-weight:normal}
.compare-card small,.compare-card em,.channel-card span,.channel-card em{display:block}.compare-card em,.channel-card em{font-style:normal;font-weight:bold;margin-top:6px}.trend-up{color:#08775f}.trend-down{color:#b00020}.export-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.button.secondary{background:#60778a}.button.secondary:hover{background:#425969}.success-note{border-right:4px solid #159a80;background:#effaf7;padding:10px 13px;border-radius:6px}select[multiple]{min-height:84px}
.export-filter-box{min-width:230px;margin:12px 0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.export-filter-box summary{cursor:pointer;font-weight:bold}.export-filter-box label{min-width:210px}
.product-analysis>h2{margin-top:30px;padding:14px 18px;background:#eef7fb;border-right:5px solid var(--blue);border-radius:8px}.product-panel h3{font-size:1.2rem}.product-rank-table{overflow-x:visible}.product-rank-table table{table-layout:fixed}.product-rank-table th:first-child,.product-rank-table td:first-child{width:64px;text-align:center}.product-rank-table th:nth-child(2),.product-rank-table td:nth-child(2){width:46%}.product-rank-table th:nth-child(n+3),.product-rank-table td:nth-child(n+3){text-align:right}.product-rank-table .product-name{white-space:normal;overflow-wrap:anywhere;line-height:1.7;font-weight:600}.mode-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 4px}.mode-button{background:#e7f1f6;color:var(--navy);padding:7px 15px}.mode-button.active,.mode-button:hover{background:var(--blue-dark);color:#fff}.comparison-chart-panel[hidden]{display:none}.grouped-bar-chart rect{cursor:help}.product-panel h4{margin:20px 0 6px}.product-panel>.chart-wrap{margin-top:6px}
@media(max-width:700px){.product-rank-table th:nth-child(2),.product-rank-table td:nth-child(2){width:40%}.product-rank-table td,.product-rank-table th{white-space:normal;padding:8px 6px;font-size:.9rem}.product-rank-table th:first-child,.product-rank-table td:first-child{width:42px}}
.context-filter{display:grid;grid-template-columns:minmax(190px,260px) 1fr;gap:20px;align-items:start;padding:18px 20px;margin-bottom:22px;background:#f7fafc;border:1px solid var(--border);border-radius:12px}.context-filter h2{margin-bottom:3px}.context-filter p{margin:0;color:var(--muted);font-size:.9rem}.context-filter .dashboard-filter{padding:0;margin:0;border:0;background:transparent}.advanced-filter{min-width:210px;margin:12px 0;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff}.advanced-filter summary{cursor:pointer;font-weight:bold}.advanced-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;min-width:min(760px,78vw)}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}.section-heading h2{margin:2px 0 0}.section-heading p{margin:0;color:var(--muted);text-align:left}.eyebrow{color:var(--blue-dark);font-size:.8rem;font-weight:bold}.executive-summary{margin:26px 0}.compare-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.compare-card{height:190px;display:flex;flex-direction:column;justify-content:flex-start;border-top:4px solid var(--blue-dark)!important;background:#fff!important;box-shadow:0 3px 14px #1132520d}.compare-card .kpi-title{min-height:46px;font-weight:bold}.compare-card .kpi-title abbr{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid #9db1bf;border-radius:50%;color:var(--muted);text-decoration:none;cursor:help;font-size:.75rem}.compare-card b{font-size:clamp(1rem,1.35vw,1.48rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl}.compare-card small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-card em{margin-top:auto;font-size:.84rem}.trend-positive{color:#08775f}.trend-negative{color:#b00020}.trend-neutral{color:#60778a}.global-comparison-control{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 18px;margin:18px 0;background:#eef5f8;border:1px solid var(--border);border-radius:10px}.global-comparison-control small{display:block;color:var(--muted)}.global-comparison-control .mode-buttons{margin:0;flex-wrap:nowrap}.management-section{margin-top:28px}.export-center{background:#f8fbfc}.export-center .export-actions{margin-bottom:0}.product-analysis.management-section>h2{background:none}.comparison-mode-switcher{min-width:0}
@media(max-width:1200px){.compare-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.advanced-filter-grid{grid-template-columns:1fr 1fr}.context-filter{grid-template-columns:1fr}.section-heading{align-items:start}}
@media(max-width:850px){.compare-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-filter-grid{grid-template-columns:1fr;min-width:0}.global-comparison-control,.section-heading{flex-direction:column;align-items:stretch}.section-heading p{text-align:right}.global-comparison-control .mode-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.global-comparison-control .mode-button{width:100%}.context-filter{padding:14px}.compare-card{height:178px}}
.churn-kpis .compare-cards{grid-template-columns:repeat(6,minmax(150px,1fr))}.churn-kpis .compare-card{height:155px}.status-stacked-bar{height:38px;display:flex;overflow:hidden;border-radius:19px;background:#e8eff3;margin:30px 0}.status-stacked-bar span{display:block;min-width:0}.distribution-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.distribution-legend article{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding:12px;background:#f7fafc;border:1px solid var(--border);border-radius:9px}.distribution-legend i{width:12px;height:12px;border-radius:50%}.distribution-legend b{font-size:1.2rem}.distribution-legend strong{grid-column:2/4;color:var(--muted)}.event-bars article{margin:24px 0}.event-bars article>div:first-child{display:flex;justify-content:space-between;gap:14px}.event-bars span{color:var(--muted)}.event-track{height:24px;margin-top:8px;background:#e8eff3;border-radius:12px;overflow:hidden}.event-track i{display:block;height:100%;border-radius:12px}.churn-export form{max-width:none}.churn-export .filters>label{min-width:220px}
@media(max-width:1300px){.churn-kpis .compare-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.churn-kpis .compare-cards,.distribution-legend{grid-template-columns:1fr 1fr}.event-bars article>div:first-child{display:block}}@media(max-width:500px){.churn-kpis .compare-cards,.distribution-legend{grid-template-columns:1fr}}
.context-filter{display:block;padding:14px 16px}.context-filter .dashboard-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.context-filter .custom-date-fields{display:flex;gap:12px;align-items:end}.context-filter .custom-date-fields label,.context-filter .dashboard-filter>label{width:min(210px,100%);min-width:180px;margin:4px 0}.context-filter .dashboard-filter>button{height:45px;margin:4px 0}.jalali-date-control{display:grid;grid-template-columns:1fr 44px;align-items:stretch}.jalali-date-display{height:45px;border-radius:7px 0 0 7px;cursor:pointer;background:#fff;text-align:center;direction:ltr}.jalali-date-trigger{min-width:0;width:44px;height:45px;padding:0;border:1px solid #c9d7e2;border-right:0;border-radius:0 7px 7px 0;background:#eef7fb;color:var(--navy);font-size:1.1rem}.jalali-date-trigger:before{content:none}.jalali-date-trigger:hover{background:#d9eff8;color:var(--navy)}
@media(max-width:900px){.context-filter .dashboard-filter,.context-filter .custom-date-fields{align-items:stretch}.context-filter .custom-date-fields{width:100%;display:grid;grid-template-columns:1fr 1fr}.context-filter .custom-date-fields label,.context-filter .dashboard-filter>label{width:100%}}@media(max-width:560px){.context-filter .custom-date-fields{grid-template-columns:1fr}.context-filter .dashboard-filter>button{width:100%}}
