
/* ===== انتخاب پنل‌های شخصی داشبورد ===== */
.dock-panel-picker-menu{position:fixed;z-index:180;display:flex;flex-direction:column;gap:10px;width:min(320px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 90px));overflow:auto;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(23,22,48,.2);animation:fadeUp .16s ease}
.dock-panel-picker-menu[hidden]{display:none}
.dock-picker-head{display:flex;flex-direction:column;gap:7px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.dock-picker-head strong{font-size:0.78125rem;color:var(--text)}
.dock-picker-head small,.dock-picker-empty{font-size:0.6875rem;color:var(--muted);line-height:1.8}
.dock-picker-presets{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.dock-presets-label{font-size:0.6875rem;color:var(--muted)}
.dock-preset-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:0.71875rem;font-weight:600;cursor:pointer;transition:all .15s}
.dock-preset-btn:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}
.dock-preset-btn:active{transform:scale(.96)}
.dock-preset-icon{font-size:0.78125rem;line-height:1}
.dock-picker-search{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text);font-size:0.75rem;outline:2px solid var(--primary);outline-offset:2px;transition:border-color .15s}
.dock-picker-search:focus{border-color:var(--primary)}
.dock-preset-status{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:5px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary);font-size:0.6875rem;font-weight:700;white-space:nowrap;transition:opacity .18s ease}.dock-preset-status[hidden]{display:none}.dock-preset-status .dock-preset-spinner{width:10px;height:10px;border-radius:50%;border:2px solid color-mix(in srgb,var(--primary) 26%,transparent);border-top-color:var(--primary);animation:presetStatusSpin .7s linear infinite}.dark-mode .dock-preset-status{border-color:color-mix(in srgb,var(--primary) 45%,transparent);background:color-mix(in srgb,var(--primary) 14%,var(--surface))}@keyframes presetStatusSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.dock-preset-status .dock-preset-spinner{animation:none}}
.dock-picker-search::placeholder{color:var(--muted)}
.dock-picker-list{display:flex;flex-direction:column;gap:3px;min-height:24px}
.dock-picker-option{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;color:var(--text);font-size:0.75rem;cursor:pointer;transition:background .15s,transform .15s;border:1px solid transparent}
.dock-picker-option:hover{background:var(--surface-soft);transform:translateX(-2px)}
.dock-picker-option.is-dock-dragging{opacity:.55;border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}
.dock-picker-option[draggable="true"]{cursor:grab}
.dock-picker-option[draggable="true"]:active{cursor:grabbing}
.dock-picker-grip{color:var(--muted);font-size:0.78125rem;line-height:1;user-select:none}
.dock-picker-option input{width:15px;height:15px;margin:0;accent-color:var(--primary);cursor:pointer;flex-shrink:0}
.dock-picker-empty{text-align:center;padding:16px 8px}
.dock-views-wrap{display:flex;flex-direction:column;gap:7px;padding-top:10px;border-top:1px solid var(--line)}
.dock-views-title{font-size:0.75rem;font-weight:800;color:var(--text)}
.dock-views-save-row{display:flex;gap:6px}
.dock-view-name{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text);font-size:0.75rem;outline:2px solid var(--primary);outline-offset:2px;transition:border-color .15s}
.dock-view-name:focus{border-color:var(--primary)}
.dock-view-save{flex:none;padding:7px 12px;border-radius:9px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;font-size:0.75rem;font-weight:700;cursor:pointer;transition:transform .15s}
.dock-view-save:hover{transform:translateY(-1px)}
.dock-view-save:active{transform:scale(.96)}
.dock-view-share-row{display:flex;align-items:center;gap:7px;font-size:0.6875rem;color:var(--muted);cursor:pointer}
.dock-view-share-row input{width:14px;height:14px;margin:0;accent-color:var(--primary)}
.dock-views-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow:auto}
.dock-view-row{display:flex;flex-direction:column;gap:5px;padding:7px 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.dock-view-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dock-view-info strong{font-size:0.75rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dock-view-badge{font-size:var(--fs-2xs);color:#8a7bd8;background:#f0ecff;border-radius:999px;padding:2px 7px;font-weight:700;white-space:nowrap}
.dock-view-badge-section{color:#3f6d9c;background:#eaf2fb;border:1px solid #cfe2f4}
.dock-view-used{display:block;margin-top:1px;font-size:var(--fs-2xs);color:var(--muted);direction:rtl}
.dock-view-desc{display:block;width:100%;margin:4px 0;font-size:0.6875rem;line-height:1.6;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:5px 7px;direction:rtl;background:var(--surface);color:var(--text);min-height:26px}
.dock-view-desc:focus{border-color:var(--primary);outline:none}
.dock-view-desc-display{display:block;font-size:var(--fs-2xs);color:var(--muted);direction:rtl;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.dock-view-filter-details {
    margin-top: 4px;
    color: var(--muted-text, #667085);
    font-size:0.9rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.dock-view-filter-label {
    font-weight: 700;
}

.dock-view-meta {display:block;margin-top:2px;font-size:var(--fs-2xs);line-height:1.6;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-view-summary{display:block;margin-top:1px;font-size:var(--fs-2xs);line-height:1.7;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark-mode .dock-view-meta,.dark-mode .dock-view-summary{color:#9aa0b8}
.dock-view-badge-team{color:#278e70;background:#e5f8f1}
.dock-view-badge-default{color:#9a5b0a;background:#fdf0dc;border:1px solid #f5d9a8}.dock-view-badge-compare{color:#4969bb;background:#eaf0ff;border:1px solid #cbd8ff}.dock-view-compare-hint{font-size:var(--fs-2xs);color:var(--muted);line-height:1.7}.dock-view-compare-modal{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:18px}.dock-view-compare-modal[hidden]{display:none}.dock-view-compare-backdrop{position:absolute;inset:0;background:rgba(18,20,42,.54);backdrop-filter:blur(3px)}.dock-view-compare-dialog{position:relative;display:flex;flex-direction:column;width:min(980px,calc(100vw - 28px));max-height:min(88vh,820px);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(18,20,42,.3)}.dock-view-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.dock-view-compare-head h2{margin:4px 0 0;font-size:1rem;color:var(--text)}.dock-view-compare-body{overflow:auto;padding:16px 20px 22px}.dock-compare-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px;color:var(--primary);font-size:0.78125rem}.dock-compare-columns strong{padding:8px 10px;border-radius:9px;background:var(--surface-soft);border:1px solid var(--line)}.dock-compare-section{margin-top:17px}.dock-compare-section h3{margin:0 0 8px;font-size:0.78125rem;color:var(--text)}.dock-compare-section table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;font-size:0.6875rem}.dock-compare-section th,.dock-compare-section td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.dock-compare-section tr:last-child th,.dock-compare-section tr:last-child td{border-bottom:0}.dock-compare-section thead th{background:var(--surface-soft);color:var(--muted);font-weight:800}.dock-compare-section tbody th{width:22%;color:var(--text);font-weight:700;direction:ltr;text-align:left}.dock-compare-value{display:block;color:var(--muted);line-height:1.7;word-break:break-word}.dock-compare-value.is-changed{padding:4px 6px;border-radius:6px;background:#fff3d9;color:#9a5b0a;font-weight:800}.dock-view-btn-compare{color:#4969bb}.dock-view-btn-copy{color:#5b4bb7}.dock-view-btn-copy:hover{border-color:var(--primary-dark);color:#5b4bb7;background:#f4f0ff}.dock-view-apply-preview-modal .dock-view-compare-dialog{width:min(720px,calc(100vw - 28px))}.dock-apply-preview-note{margin:0 0 4px;font-size:0.75rem;color:var(--muted);line-height:1.8}.dock-apply-preview-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dock-apply-preview-cols>div{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.dock-apply-preview-cols strong{font-size:0.6875rem;color:var(--muted)}.dock-column-chip{display:inline-block;padding:3px 7px;border-radius:6px;font-size:0.6875rem;line-height:1.6;direction:rtl;text-align:right;word-break:break-all}.dock-column-chip.is-removed{color:#b03a48;background:#ffeef0;border:1px solid #ffd2d8}.dock-column-chip.is-added{color:#2e7d4f;background:#e9f8ee;border:1px solid #c9ebd7}.dark-mode .dock-column-chip.is-removed{color:#ff9aa6;background:#3a1d24;border-color:#5a2c35}.dark-mode .dock-column-chip.is-added{color:#7fe3a4;background:#17301f;border-color:#2a5338}.dock-column-chip.is-moved{color:#2b5f9e;background:#eef4ff;border:1px solid #d3e2fb}.dark-mode .dock-column-chip.is-moved{color:#8fc0ff;background:#16243c;border-color:#2a4468}.dock-view-apply-preview-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;border-top:1px solid var(--line)}.dock-view-apply-preview-actions .dock-view-btn{min-width:96px}@media(max-width:700px){.dock-view-compare-dialog{max-height:92vh}.dock-view-compare-body{padding:12px}.dock-compare-section{min-width:620px}.dock-view-compare-body{overflow-x:auto}}

.dock-view-btn-default{color:#9a5b0a}
.dock-view-btn-default:hover{border-color:#e0a94f;color:#9a5b0a;background:#fdf6e7}
.dock-view-default-input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);color:var(--text);font-size:0.75rem;outline:2px solid var(--primary);outline-offset:2px;direction:ltr;text-align:left}
.dock-view-actions{display:flex;gap:5px}
.dock-view-btn{flex:1;padding:5px 4px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:#6e7287;font-size:0.6875rem;font-weight:700;cursor:pointer;transition:all .15s}
.dock-view-btn:hover{border-color:var(--primary);color:var(--primary)}
.dock-view-btn-danger{color:#d65f70}
.dock-view-btn-danger:hover{border-color:#e36f7d;color:#d65f70;background:#ffebed}
.dock-view-rename-input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--primary);border-radius:7px;background:var(--surface);color:var(--text);font-size:0.75rem;outline:2px solid var(--primary);outline-offset:2px}
.dock-view-audit-btn{display:block;width:100%;padding:6px 8px;border:1px dashed var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:0.6875rem;font-weight:700;cursor:pointer;transition:all .15s}
.dock-view-audit-btn:hover{border-color:var(--primary);color:var(--primary)}
.dock-view-audit-btn[aria-expanded="true"]{border-style:solid;border-color:var(--primary);color:var(--primary)}.dock-view-audit-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 12px;
    background: var(--surface-muted, #f8fafc);
}

.dock-audit-summary-chart {
    min-height: 240px;
    width: 100%;
}

.dock-view-audit {display:flex;flex-direction:column;gap:4px;max-height:170px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:6px;background:var(--surface-soft)}
.dock-view-audit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;border-radius:7px;background:var(--surface);border:1px solid var(--line);font-size:0.6875rem}
.dock-view-audit-main{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.dock-view-audit-main strong{color:var(--text);white-space:nowrap}
.dock-view-audit-main span{color:#8a7bd8;font-weight:700;white-space:nowrap}
.dock-view-audit-main em{color:var(--muted);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dock-view-audit-row time{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;direction:ltr;unicode-bidi:embed}
.dock-view-audit-filters{display:flex;align-items:end;gap:6px;flex-wrap:wrap;margin:7px 0;padding:7px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft)}
.dock-view-audit-filters label{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:var(--fs-2xs);font-weight:700}
.dock-view-audit-filters .dock-audit-jdate{width:105px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:0.6875rem;direction:rtl}
.dock-view-audit-filters .dock-audit-select{max-width:150px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:0.6875rem}
.dock-view-audit-filters button{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--primary);font:inherit;font-size:var(--fs-2xs);font-weight:700;cursor:pointer}
.dock-view-audit-filters button:hover{border-color:var(--primary);background:var(--surface-soft)}
.dark-mode .dock-view-audit-filters{background:#202136;border-color:#383950}.dark-mode .dock-view-audit-filters .dock-audit-jdate,.dark-mode .dock-view-audit-filters .dock-audit-select,.dark-mode .dock-view-audit-filters button{background:#1d1e30;border-color:#383950;color:#c9baff}
[data-theme="dark"] .dock-panel-picker-menu,[data-theme="indigo"] .dock-panel-picker-menu{box-shadow:0 22px 55px rgba(0,0,0,.4)}
@media(max-width:700px){.dock-panel-picker-menu{position:fixed;right:12px!important;left:12px!important;width:auto;max-height:60vh}.dock-picker-option{padding:10px 7px}}

/* ===== کارت وضعیت پردازش Hangfire ===== */
.metric-processing{background:linear-gradient(145deg,#fff8ed,#fff);border-color:#f1d5a5}.metric-processing .metric-icon{color:#b4771d;background:#fff0cf}.processing-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 10px}.processing-metrics>div{display:flex;flex-direction:column;gap:3px;min-width:0}.processing-metrics strong{font-size:1.0625rem;color:#7a5311;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.processing-metrics small{font-size:var(--fs-2xs);color:#9d8a67}.metric-processing .metric-foot{display:flex;align-items:center;justify-content:space-between;gap:6px}.metric-inline-link{border:0;background:transparent;color:var(--primary);font:inherit;font-size:0.6875rem;font-weight:800;cursor:pointer;padding:0}.processing-trend{height:34px;display:flex;align-items:end;gap:3px;margin-top:10px;padding:0 2px}.processing-bar{position:relative;display:block;flex:1;min-width:3px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#e5b44d,#f2d99e);overflow:hidden;transition:height .3s ease}.processing-bar i{position:absolute;inset:auto 0 0;background:#c45562;min-height:0;border-radius:4px 4px 1px 1px}.dark-mode .metric-processing{background:linear-gradient(145deg,#30281d,#222236);border-color:#664c25}.dark-mode .processing-metrics strong{color:#f1c96b}
/* ===== انیمیشن شمارش KPI ===== */
.kpi-counting{font-variant-numeric:tabular-nums;will-change:contents;transition:opacity .18s ease;color:color-mix(in srgb,var(--text) 92%,var(--primary) 8%)}
@media (prefers-reduced-motion:reduce){.kpi-counting{transition:none}}

/* ===== تاریخچهٔ هشدارهای انبار ===== */
.warehouse-alert-history-panel{margin:18px 0;overflow:hidden}.warehouse-history-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:0 20px 18px;border-bottom:1px solid var(--line)}.warehouse-history-toolbar .tl-field{min-width:150px}.warehouse-history-summary{color:var(--muted);font-size:0.84375rem;font-weight:800}.warehouse-history-chart{min-height:320px;padding:12px 18px 4px}.warehouse-history-events{margin:0 18px 18px;border:1px solid var(--line);border-radius:14px}.warehouse-history-events .table-subtext{display:block;color:var(--muted);font-size:0.75rem;margin-top:3px;direction:ltr;text-align:right}.warehouse-history-events td{vertical-align:middle}.warehouse-history-events .empty-state{padding:34px}.warehouse-history-panel .status-red{background:rgba(210,65,80,.12);color:#c43c50}.warehouse-history-panel .status-green{background:rgba(21,145,111,.12);color:#137d62}@media(max-width:760px){.warehouse-history-toolbar{align-items:stretch}.warehouse-history-toolbar .tl-field{min-width:calc(50% - 6px);flex:1}.warehouse-history-chart{min-height:260px;padding:8px}.warehouse-history-events{margin-inline:10px}}

/* ===== گریدهای Account/Contact: مرتب‌سازی و انتخاب ستون ===== */
.table-sort-button{display:inline-flex;align-items:center;gap:5px;width:100%;padding:0;background:transparent;color:inherit;text-align:right;font:inherit;font-size:0.75rem;font-weight:800;cursor:pointer;white-space:nowrap}.table-sort-button:hover,.table-sort-button.is-active{color:var(--primary)}.table-sort-indicator{color:#a4a8b8;font-size:var(--fs-2xs);min-width:9px}.table-sort-button.is-active .table-sort-indicator{color:var(--primary)}.table-filter-input{width:104px!important;min-width:90px!important;padding:8px 9px!important;background:var(--surface)!important}.crm-table th .table-filter-input{width:100%!important;min-width:0!important;margin-top:6px;padding:6px 8px!important;font-size:var(--fs-2xs)!important;font-weight:500;border-radius:7px}.crm-table th .table-filter-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}.table-column-menu{position:fixed;z-index:70;display:flex;flex-direction:column;gap:7px;min-width:200px;max-height:min(62vh,460px);overflow:auto;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px rgba(37,35,73,.16);text-align:right}.table-column-menu strong{color:var(--text);font-size:0.75rem;padding-bottom:4px;border-bottom:1px solid var(--line)}.table-column-menu label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:0.6875rem;cursor:pointer;padding:3px 2px;border-radius:6px;transition:background .15s}.table-column-menu label:hover{background:var(--surface-soft)}.table-column-menu input{accent-color:var(--primary);width:15px;height:15px;flex:none}.table-column-reset{margin-top:3px;padding:7px;border-radius:7px;background:var(--surface-soft);color:var(--primary);font-size:0.6875rem}.table-column-reset:hover{background:var(--purple-soft)}.crm-table [hidden]{display:none!important}.dark-mode .table-column-menu{background:var(--surface);border-color:var(--line);box-shadow:0 16px 35px rgba(0,0,0,.3)}

/* ===== انتخاب گروهی سطرها (bulk operations) ===== */
.grid-select-col{width:38px;min-width:38px;padding-right:10px!important;padding-left:10px!important;text-align:center}
.grid-select-col input[data-select-all]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}
.crm-table td[data-col="select"]{text-align:center;vertical-align:middle}
.crm-table .row-select{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}
.grid-bulk-bar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:8px 12px;margin-top:8px;background:var(--purple-soft);border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);border-radius:10px;box-shadow:0 3px 10px rgba(37,35,73,.06)}
.grid-bulk-bar[hidden]{display:none!important}
.grid-bulk-count{font-size:var(--fs-2xs);color:var(--text);font-weight:600}
.grid-bulk-count strong{color:var(--primary)}
.grid-bulk-bar .button{padding:6px 12px;font-size:var(--fs-2xs)}
.dark-mode .grid-bulk-bar{background:color-mix(in srgb, var(--primary) 14%, transparent);border-color:color-mix(in srgb, var(--primary) 32%, transparent)}
/* ===== بازخورد UX: Toastify + SweetAlert2 ===== */
.toastify.crm-toast-success,.toastify.crm-toast-error{border-radius:13px;box-shadow:0 14px 34px rgba(31,30,65,.2);font-size:0.78125rem;max-width:min(420px,calc(100vw - 30px));padding:13px 16px;line-height:1.7}.toastify.crm-toast-success{background:linear-gradient(135deg,#20243d,#30365a);border-right:4px solid #4bbf9b}.toastify.crm-toast-error{background:linear-gradient(135deg,#3b202d,#542b3b);border-right:4px solid #e36f7d}.toastify.crm-toast-success:before{content:'✓';color:#66d5b2;font-weight:900;margin-left:8px}.toastify.crm-toast-error:before{content:'!';color:#ff9aa6;font-weight:900;margin-left:8px}.crm-swal-popup{border-radius:22px!important;font-family:'Mikhak','Vazirmatn',Tahoma,sans-serif!important;direction:rtl!important}.crm-swal-popup .swal2-title{font-size:1.0625rem!important;color:#30344c!important}.crm-swal-popup .swal2-html-container,.crm-swal-popup .swal2-content{font-size:0.78125rem!important;color:#73788c!important;line-height:2!important}.crm-swal-confirm,.crm-swal-danger,.crm-swal-cancel{border-radius:10px!important;font-family:inherit!important;font-size:0.78125rem!important;font-weight:700!important;padding:10px 16px!important}.crm-swal-confirm{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark))!important}.crm-swal-danger{background:linear-gradient(135deg,#e36f7d,#c95165)!important}.crm-swal-cancel{background:#f1f2f7!important;color:#656a7d!important}.dark-mode .crm-swal-popup{background:#181a2b!important}.dark-mode .crm-swal-popup .swal2-title{color:#f1f0fb!important}.dark-mode .crm-swal-popup .swal2-html-container{color:#b2b5c6!important}.dark-mode .crm-swal-cancel{background:#2b2c40!important;color:#e2e1ee!important}
/* ===== نگاشت مدیریتی Viewهای پیش‌فرض نقش ===== */
.role-default-admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-5px 0 14px}.role-default-admin-toolbar select{min-width:145px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:0.75rem}.role-default-admin-table td{vertical-align:middle}.role-default-admin-table code{font-size:0.75rem;color:var(--primary)}.role-default-admin-table select{min-width:170px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font-size:0.6875rem}.role-default-current{display:block;color:var(--muted);font-size:var(--fs-2xs);margin-top:4px}.role-default-save,.role-default-remove{margin-inline-start:4px}.role-default-remove{color:#d65f70}

/* ===== پنل پروفایل صنایع موتور پیشنهاد ===== */
.industry-profiles-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 14px}
.industry-profiles-toolbar .settings-toggle{display:flex;align-items:center;gap:7px;font-size:0.75rem;color:#656a7d;cursor:pointer}
.industry-profiles-toolbar .settings-toggle input{accent-color:var(--primary);width:16px;height:16px;cursor:pointer}
#industryProfilesBody td{vertical-align:middle}
#industryProfilesBody td small{color:#73788c;line-height:1.7}
#industryProfilesBody td strong{font-size:0.78125rem;color:#3c4055}
.industry-profile-actions{display:flex;gap:5px;flex-wrap:nowrap}
.industry-profile-actions .button{padding:5px 9px;font-size:0.6875rem;white-space:nowrap}
.industry-profile-danger{color:#c95165}
.industry-profile-danger:hover{background:#fdeef0}
.industry-profile-error{color:#c95165;font-size:0.75rem;margin-top:9px;min-height:16px}
#industryProfileModal .form-grid{grid-template-columns:1fr 1fr}
#industryProfileModal textarea{resize:vertical;min-height:64px;direction:rtl;font-family:inherit}
#industryProfileModal .form-wide{grid-column:1/-1}
#industryProfileModal .modal-hint{font-size:0.71875rem;color:#7d8195;line-height:1.9;margin-bottom:16px}
.dark-mode #industryProfilesBody td small{color:#b2b5c6}
.dark-mode .industry-profile-danger:hover{background:#3b2327}

/* ===== تنظیمات Ajax و Enterprise ===== */
.settings-heading{align-items:center}.settings-save-wrap{display:flex;align-items:center;gap:12px}.settings-save-state{color:#8d93a7;font-size:0.75rem;min-width:110px;text-align:left}.settings-save-state.is-success{color:#269d79}.settings-save-state.is-error{color:#d65f70}.settings-save-state.is-loading{color:var(--primary)}.settings-save-wrap .button:disabled{opacity:.7;cursor:wait}.settings-save-wrap .button.is-busy .btn-ico{animation:spin .8s linear infinite}.settings-menu{padding:0;overflow:hidden}.settings-menu-title{display:flex;align-items:center;gap:10px;padding:20px 17px 17px;border-bottom:1px solid #f0f0f5}.settings-menu-title>div{display:flex;flex-direction:column;gap:3px}.settings-menu-title strong{font-size:0.84375rem;color:#42465b}.settings-menu-title small{font-size:0.6875rem;color:#a2a6b6}.settings-menu-icon,.settings-section-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eeeaff;color:var(--primary);flex:none}.settings-menu-icon svg,.settings-section-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.settings-tab{position:relative;border-radius:0;padding:13px 17px;align-items:flex-start;flex-direction:column;gap:4px}.settings-tab span{display:flex;align-items:center;gap:8px}.settings-tab span b{font-size:0.84375rem;color:#a3a6b6;font-weight:600}.settings-tab small{font-size:0.6875rem;color:#a7abba;margin-right:20px}.settings-tab.is-active:before{content:'';position:absolute;right:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--primary)}.settings-menu-foot{display:flex;align-items:flex-start;gap:7px;margin:15px 12px;padding:11px 10px;border-radius:9px;background:#f7f5ff;color:#8c83bd;font-size:var(--fs-2xs);line-height:1.8}.settings-live-dot{width:6px;height:6px;border-radius:50%;background:#4bbf9b;box-shadow:0 0 0 3px #def7ef;margin-top:4px;flex:none}.settings-content{padding:0;min-height:560px}.settings-tab-pane{padding:29px 31px}.settings-tab-pane[hidden]{display:none}.settings-section-wide{max-width:none}.settings-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:21px}.settings-section-title>div{flex:1;min-width:0}.settings-section-title h2{font-size:0.9375rem;margin:1px 0 5px}.settings-section-title p{margin:0!important;line-height:1.8}.settings-badge{color:#7354da;background:#f0ecff;border-radius:20px;padding:6px 9px;font-size:var(--fs-2xs);white-space:nowrap}.settings-badge-green{color:#278e70;background:#e5f8f1}.settings-icon-blue{color:#398bdf;background:#e7f3ff}.settings-icon-purple{color:var(--primary);background:#eeeaff}.settings-icon-orange{color:#d4843b;background:#fff0df}.settings-icon-green{color:#269f7e;background:#e4f8f0}.settings-icon-red{color:#d65f70;background:#ffebed}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;max-width:760px}.settings-form-grid label{margin:8px 0}.settings-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.settings-unit-card{display:flex;align-items:center;gap:9px;border:1px solid #ececf3;border-radius:12px;padding:11px;background:#fcfcfe}.settings-unit-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e9f4ff;color:#398bdf;font-weight:800}.settings-unit-card>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.settings-unit-card strong{font-size:0.75rem;color:#50556a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-unit-card small{font-size:var(--fs-2xs);color:#a1a5b4}.settings-unit-card>b{color:#2b9d7c;background:#e4f8f0;border-radius:5px;padding:4px 6px;font-size:var(--fs-2xs)}.settings-loading,.settings-empty{display:block;color:#a0a4b5;font-size:0.75rem;padding:15px}.theme-options{flex-wrap:wrap}.theme-option{min-width:112px;transition:.2s}.theme-option:hover{transform:translateY(-2px);border-color:#b6a8ff}.theme-option small{font-size:var(--fs-2xs);color:#a1a5b4}.theme-preview-royal{background:linear-gradient(135deg,#0b63ce 25%,#0e8fd0 25%)}.theme-preview-emerald{background:linear-gradient(135deg,#12805c 25%,#8cae1e 25%)}.density-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px}.density-option{display:flex!important;align-items:center;gap:10px;border:1px solid #e6e6ee;border-radius:11px;padding:12px!important;margin:0!important;cursor:pointer}.density-option:has(input:checked){border-color:#a28cff;background:#faf8ff;box-shadow:0 0 0 2px #eeeaff}.density-option input{width:auto!important;margin:0!important;accent-color:var(--primary)}.density-option span{display:flex;flex-direction:column;gap:4px}.density-option strong{font-size:0.75rem;color:#50556a}.density-option small{font-size:var(--fs-2xs);color:#a1a5b4;font-weight:400}.settings-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.settings-action-card{display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;text-align:right;border:1px solid #ececf3;border-radius:13px;padding:13px;background:#fff;transition:.2s}.settings-action-card:hover{border-color:#b6a8ff;background:#fbfaff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,35,73,.07)}.settings-action-card>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e4f8f0;color:#269f7e;font-size:1.0625rem}.settings-action-card strong{font-size:0.75rem;color:#4e5368}.settings-action-card small{font-size:var(--fs-2xs);color:#a1a5b4;margin-top:4px}.settings-action-card b{grid-column:3;grid-row:1/3;color:var(--primary);font-size:0.6875rem;white-space:nowrap}.security-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.security-status-grid>div{display:flex;flex-direction:column;gap:5px;border:1px solid #e9eaf1;border-radius:11px;padding:13px;background:#fcfcfe}.security-status-grid span{font-size:0.6875rem;color:#9ca0b0}.security-status-grid strong{font-size:0.78125rem;color:#43485d}.security-status-grid small{font-size:var(--fs-2xs);color:#a4a8b6}.settings-security-link{margin-top:2px}

/* ===== Settings Hub: رندر داینامیک فیلدها + Auto-save + Realtime ===== */
.settings-hub-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sh-tab{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:var(--fs-xs);font-weight:700;cursor:pointer;transition:all .18s ease}
.sh-tab:hover{border-color:var(--primary);color:var(--primary)}
.sh-tab.is-active{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));border-color:transparent;color:#fff;box-shadow:0 6px 15px color-mix(in srgb,var(--primary) 30%,transparent)}
.sh-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.settings-hub-body{min-height:220px}
.dark-mode .sh-tab{background:#232540;border-color:#3a3b5e;color:#bfbdec}
.dark-mode .sh-tab.is-active{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff}
.settings-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}
.settings-hub-head h2{margin:0 0 4px;font-size:var(--fs-lg);color:var(--text)}
.settings-hub-head p{margin:0;color:var(--muted);font-size:var(--fs-xs)}
.settings-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.settings-hub-loading{display:flex;align-items:center;gap:10px;padding:34px 8px;color:var(--muted);font-size:var(--fs-sm)}
.settings-hub-error{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:26px 8px;color:#d65f70}
.settings-hub-error p{margin:0;color:var(--muted);font-size:var(--fs-xs)}
.sh-field{border:1px solid var(--line);border-radius:14px;padding:15px 16px 13px;background:var(--surface);transition:border-color .2s var(--ease-soft),box-shadow .25s var(--ease-soft)}
.sh-field:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--line))}
.sh-field-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sh-field-label label{font-size:var(--fs-sm);font-weight:700;color:var(--text);cursor:pointer}
.sh-field-hint{margin:6px 0 0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.8}
.sh-field-note{margin:8px 0 0;color:#b98a2e;font-size:var(--fs-2xs);line-height:1.7}
.sh-field-control{display:flex;align-items:center;gap:11px;margin-top:11px}
.sh-field-control input[type=text],
.sh-field-control select{flex:1;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:var(--fs-sm);outline:0;transition:border-color .18s,box-shadow .18s}
.sh-field-control input[type=text]:focus,
.sh-field-control select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}
.sh-unit{color:var(--muted);font-size:var(--fs-2xs);flex:none}
/* نشانگر وضعیت ذخیرهٔ هر فیلد: نامحسوس در حالت idle، رنگی فقط وقتی اتفاقی افتاده */
.sh-status{min-width:84px;text-align:left;font-size:var(--fs-2xs);color:var(--muted);opacity:0;transition:opacity .2s ease,color .2s ease}
.sh-status:not(:empty){opacity:1}
.sh-status-saving{color:var(--primary)}
.sh-status-saving::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;border:1.6px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);animation:spin .7s linear infinite;margin-left:5px;vertical-align:-1px}
.sh-status-saved{color:#269d79}
.sh-status-error{color:#d65f70}
.sh-status-syncing{color:#3f8fd1}
.sh-status-stale{color:#b98a2e}
/* اسلایدر با نمایش مقدار */
.sh-field-control input[type=range]{flex:1;min-width:80px;-webkit-appearance:none;appearance:none;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 45%,var(--line)));outline:0;cursor:pointer}
.sh-field-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 3px 9px rgba(23,22,48,.22);cursor:grab;transition:transform .18s var(--ease-snap)}
.sh-field-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}
.sh-field-control input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 3px 9px rgba(23,22,48,.22);cursor:grab}
.sh-range-value{min-width:56px;text-align:center;font-weight:800;color:var(--primary);font-size:var(--fs-sm);direction:ltr;flex:none}
/* سوئیچ */
.sh-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex:none}
.sh-switch input{position:absolute;opacity:0;width:0;height:0}
.sh-switch-track{width:46px;height:26px;border-radius:99px;background:#d7d9e4;transition:background .22s var(--ease-soft);position:relative}
.sh-switch-track::after{content:'';position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(23,22,48,.28);transition:transform .22s var(--ease-snap)}
.sh-switch input:checked + .sh-switch-track{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark))}
.sh-switch input:checked + .sh-switch-track::after{transform:translateX(-20px)}
.sh-switch input:focus-visible + .sh-switch-track{box-shadow:var(--focus-ring)}
/* چیپ‌های multiselect */
.sh-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:var(--fs-2xs);font-weight:700;cursor:pointer;transition:all .16s ease}
.sh-chip:hover{border-color:var(--primary);color:var(--primary)}
.sh-chip input{accent-color:var(--primary);width:15px;height:15px;margin:0;cursor:pointer}
.dark-mode .sh-field{background:#1c1d30;border-color:#2f3050}
.dark-mode .sh-field:hover{border-color:#4a4480}
.dark-mode .sh-field-control input[type=text],
.dark-mode .sh-field-control select{background:#16172a;color:#e9e8f6;border-color:#33345a}
.dark-mode .sh-switch-track{background:#3a3b58}
.dark-mode .sh-chip{background:#232540;border-color:#3a3b5e;color:#dcd9f2}
.dark-mode .sh-range-value{color:#b8a8ff}
@media (max-width:900px){.settings-hub-grid{grid-template-columns:1fr}.settings-hub-head{flex-direction:column;align-items:flex-start;gap:12px}}
@media (prefers-reduced-motion:reduce){.sh-field,.sh-status,.sh-switch-track,.sh-switch-track::after,.sh-field-control input[type=range]::-webkit-slider-thumb{transition:none;animation:none}}

/* ===== Alert Admin: مرکز مدیریت موتور هشدار ===== */
.alert-rule-sub{display:block;color:var(--muted);font-size:var(--fs-2xs);margin-top:2px}
.alert-chips{display:flex;flex-wrap:wrap;gap:5px}
.alert-chip{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:var(--fs-2xs);font-weight:700;line-height:1.6;background:#eef0f8;color:#4a4e66}
.alert-chip-blue{background:#e7f0ff;color:#2f5fb5}
.alert-chip-red{background:#fdecef;color:#c2435a}
.alert-chip-gray{background:#f1f2f7;color:#61647d}
.alert-sev{display:inline-block;padding:3px 10px;border-radius:999px;font-size:var(--fs-2xs);font-weight:800;background:#eef0f8;color:#565a74}
.alert-sev-critical{background:#fdecef;color:#c2435a;box-shadow:0 0 0 1px #f3c3cc inset}
.alert-sev-warning{background:#fff4e0;color:#b5721a;box-shadow:0 0 0 1px #f2dcae inset}
.alert-sev-info{background:#e9f4ff;color:#31649f}
.alert-switch{position:relative;display:inline-flex;cursor:pointer}
.alert-switch input{position:absolute;opacity:0;width:0;height:0}
.alert-switch span{width:40px;height:22px;border-radius:99px;background:#d7d9e4;position:relative;transition:background .2s ease}
.alert-switch span::after{content:'';position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(23,22,48,.3);transition:transform .2s var(--ease-snap)}
.alert-switch input:checked + span{background:linear-gradient(135deg,#34b98a,#22936e)}
.alert-switch input:checked + span::after{transform:translateX(-18px)}
.alert-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.alert-form-field{display:flex;flex-direction:column;gap:6px}
.alert-form-field.is-wide{grid-column:1/-1}
.alert-form-field label{font-size:var(--fs-xs);font-weight:700;color:var(--text)}
.alert-form-field input[type=text],
.alert-form-field input[type=number],
.alert-form-field select,
.alert-form-field textarea{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:var(--fs-sm);outline:0;transition:border-color .18s,box-shadow .18s}
.alert-form-field textarea{resize:vertical;min-height:72px}
.alert-form-field input:focus,
.alert-form-field select:focus,
.alert-form-field textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}
.alert-placeholders{display:flex;flex-wrap:wrap;gap:6px}
.alert-placeholders code{padding:3px 8px;border-radius:6px;background:var(--surface-soft);border:1px solid var(--line);font-size:var(--fs-2xs);color:var(--primary);direction:ltr}
.alert-preview{padding:9px 11px;border-radius:10px;background:var(--surface-soft);border:1px dashed var(--line);font-size:var(--fs-xs);color:var(--text);line-height:1.8;min-height:38px}
.alert-audience-hint{font-size:var(--fs-2xs);color:var(--muted);line-height:1.7}
.dark-mode .alert-chip,.dark-mode .alert-sev{background:#262843;color:#c9cbe6}
.dark-mode .alert-chip-blue{background:#1f3153;color:#9ec0f5}
.dark-mode .alert-chip-red{background:#43212c;color:#f0aebb}
.dark-mode .alert-switch span{background:#3a3b58}
.dark-mode .alert-form-field input,.dark-mode .alert-form-field select,.dark-mode .alert-form-field textarea{background:#16172a;color:#e9e8f6;border-color:#33345a}
.dark-mode .alert-preview{background:#1a1b30;border-color:#33345a}
.dark-mode .alert-placeholders code{background:#232540;border-color:#3a3b5e;color:#b8a8ff}
@media (max-width:760px){.alert-form{grid-template-columns:1fr}}

/* ===== Notification center: برچسب نوع اعلان ===== */
.notif-kind{display:inline-block;padding:1px 7px;border-radius:6px;background:#eef0f8;color:#565a74;font-size:var(--fs-2xs);font-weight:700;line-height:1.7}
.dark-mode .notif-kind{background:#262843;color:#c9cbe6}
.settings-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.settings-action-row .button{width:auto}.density-compact .crm-table th,.density-compact .crm-table td{padding-top:7px;padding-bottom:7px}.density-compact .activity-item,.density-compact .agenda-item{padding-top:7px;padding-bottom:7px}.density-compact .panel-heading{padding-top:17px;padding-bottom:11px}.dark-mode .settings-menu-title,.dark-mode .settings-unit-card,.dark-mode .settings-action-card,.dark-mode .security-status-grid>div,.dark-mode .density-option{border-color:var(--line);background:var(--surface)}.dark-mode .settings-menu-foot{background:#24203f}.dark-mode .settings-action-card:hover{background:#24203f}.dark-mode .settings-tab small,.dark-mode .settings-section-title p{color:#9da1b6}

/* ===== مدیر قابلیت‌های Hot-plug (Feature Flags) ===== */
.feature-manager-wrap{min-height:120px}.feature-manager{display:flex;flex-direction:column;gap:16px}.feature-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.feature-stat{display:flex;flex-direction:column;gap:3px;border:1px solid #e9eaf1;border-radius:12px;padding:13px 15px;background:#fcfcfe}.feature-stat strong{font-size:1.1875rem;color:#43485d;font-variant-numeric:tabular-nums}.feature-stat span{font-size:0.6875rem;color:#9ca0b0}.feature-stat.is-on strong{color:#269f7e}.feature-stat.is-off strong{color:#d65f70}.feature-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.feature-search{display:flex;align-items:center;gap:7px;flex:1;min-width:220px;border:1px solid #e6e6ee;border-radius:10px;padding:8px 11px;background:#fff}.feature-search svg{width:14px;height:14px;fill:none;stroke:#a2a6b6;stroke-width:1.8}.feature-search input{border:0;outline:0;background:transparent;font-size:0.78125rem;flex:1;color:#43485d}.feature-chips,.feature-status-filter{display:flex;flex-wrap:wrap;gap:6px}.feature-chip{border:1px solid #e6e6ee;border-radius:20px;padding:5px 11px;font-size:0.6875rem;color:#8a8fa3;background:#fff;transition:.15s}.feature-chip:hover{border-color:#b6a8ff;color:var(--primary)}.feature-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.feature-bulk-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:#f7f5ff;font-size:0.6875rem;color:#8c83bd;flex-wrap:wrap}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:11px}.feature-card{border:1px solid #ececf3;border-radius:14px;padding:15px;background:#fff;transition:.2s}.feature-card.is-on{border-color:#d9efe6;background:linear-gradient(180deg,#fbfefc,#fff)}.feature-card.is-on:hover{border-color:#8fd4b8;box-shadow:0 8px 20px rgba(38,159,126,.1)}.feature-card-head{display:flex;align-items:center;gap:9px}.feature-card-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eeeaff;color:var(--primary);flex:none}.feature-card-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.feature-card.is-on .feature-card-icon{background:#e4f8f0;color:#269f7e}.feature-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.feature-card-text strong{font-size:0.75rem;color:#4e5368}.feature-key{font-size:var(--fs-2xs);color:#a1a5b4;direction:ltr;text-align:left;font-family:ui-monospace,Consolas,monospace}.feature-status{font-size:var(--fs-2xs);border-radius:5px;padding:3px 7px;white-space:nowrap}.feature-status[data-status=on]{color:#278e70;background:#e5f8f1}.feature-status[data-status=off]{color:#9ca0b0;background:#f0f1f5}.feature-switch{position:relative;display:inline-block;width:34px;height:19px;flex:none;cursor:pointer}.feature-switch input{opacity:0;width:0;height:0;position:absolute}.feature-switch-track{position:absolute;inset:0;border-radius:19px;background:#d9dbe4;transition:.2s}.feature-switch-track:before{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;top:2px;right:2px;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.feature-switch input:checked+.feature-switch-track{background:#269f7e}.feature-switch input:checked+.feature-switch-track:before{transform:translateX(-15px)}.feature-switch input:disabled+.feature-switch-track{opacity:.5;cursor:not-allowed}.feature-switch input:disabled{cursor:not-allowed}.feature-desc{font-size:0.6875rem;line-height:1.8;color:#8f93a4;margin:10px 0 0!important}.feature-core-note{margin:9px 0 0!important;font-size:var(--fs-2xs);color:#b08a3c;background:#fff7e6;border-radius:8px;padding:7px 9px;line-height:1.7}.feature-empty{color:#a0a4b5;font-size:0.75rem;padding:20px;text-align:center}.nav-item.is-feature-off{display:none}.dark-mode .feature-stat,.dark-mode .feature-card{border-color:var(--line);background:var(--surface)}.dark-mode .feature-search{border-color:var(--line);background:#24203f}.dark-mode .feature-search input{color:#e6e6ee}.dark-mode .feature-chip{background:transparent;color:#9da1b6}.dark-mode .feature-bulk-bar{background:#24203f}
/* ===== رتبه‌بندی رضایت کارشناسان پشتیبانی ===== */
.support-agent-satisfaction-panel{margin:18px 0;overflow:hidden}.support-agent-satisfaction-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 22px 12px;padding:11px 14px;border:1px solid #e6e0ff;border-radius:11px;background:linear-gradient(135deg,#faf8ff,#fff);color:#73788c;font-size:0.75rem}.support-agent-satisfaction-summary strong{color:var(--primary);font-size:0.78125rem}.support-agent-satisfaction-summary small{color:#a1a5b4}.support-agent-satisfaction-chart{min-height:260px;padding:8px 18px}.rank-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:8px;background:#f0f1f6;color:#7b8195;font-size:0.75rem;font-weight:800}.rank-badge.is-first{background:linear-gradient(135deg,#f4ca63,#d99a27);color:#fff;box-shadow:0 4px 10px rgba(217,154,39,.25)}.agent-rating{color:#d58b1f;font-variant-numeric:tabular-nums}.support-agent-satisfaction-panel .table-scroll{margin:0 18px 12px;border:1px solid var(--line);border-radius:12px}.support-agent-satisfaction-panel .report-data-note{margin:0 22px 18px}.dark-mode .support-agent-satisfaction-summary{background:var(--surface);border-color:#4a3f86}.dark-mode .rank-badge{background:#2b2d42;color:#c8cada}@media(max-width:700px){.support-agent-satisfaction-chart{min-height:230px;padding:4px 8px}.support-agent-satisfaction-panel .table-scroll{margin-inline:10px}}

.ui-multiselect-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--line)}.ui-multiselect-action{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--primary);padding:3px 7px;font:inherit;font-size:var(--fs-2xs);white-space:nowrap;cursor:pointer}
.ui-multiselect-placeholder{display:flex;align-items:center;min-height:38px;padding:8px 12px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:var(--fs-2xs);cursor:pointer;transition:border-color .2s ease,color .2s ease}.ui-multiselect-placeholder:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary)}.ui-multiselect-action:hover{background:var(--surface-soft)}.ui-multiselect-count{color:var(--muted);font-size:0.6875rem;font-weight:700}.ui-multiselect-chips{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0;max-height:96px;overflow-y:auto;align-content:flex-start}.ui-multiselect-chip{border:1px solid #d9d0ff;border-radius:14px;background:#f5f1ff;color:#5e47b8;padding:4px 8px;font:inherit;font-size:0.6875rem;cursor:pointer}.dark-mode .ui-multiselect-chip{background:#292346;border-color:#4b3d83;color:#d3c7ff}.ui-upload-dropzone{border:1px dashed var(--line);border-radius:10px;padding:12px;text-align:center;color:var(--muted);font-size:0.75rem;cursor:pointer}.ui-upload-dropzone.is-drag-over{border-color:var(--primary);background:var(--surface-soft)}.ui-upload-status{display:block;margin-top:5px;color:var(--text);font-size:0.6875rem}

/* ===== مرکز صدور خروجی گزارش‌های مدیریتی ===== */
.management-export-center{margin:18px 0;overflow:hidden}.management-export-status{display:inline-flex;align-items:center;gap:5px;color:#2b9d7c;background:#e4f8f0;border:1px solid #cdeedf;border-radius:20px;padding:6px 10px;font-size:0.6875rem;font-weight:700;white-space:nowrap}.management-export-status.is-busy{color:var(--primary);background:#f0ecff;border-color:#ddd4ff}.management-export-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:14px 22px 20px;border-top:1px solid var(--line)}.management-export-range{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px}.management-quick-ranges{display:flex;align-items:center;gap:5px;padding-bottom:1px}.management-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.management-export-group{display:flex;align-items:center;gap:5px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.management-export-group strong{font-size:0.6875rem;color:#555a70;margin:0 4px}.management-forecast-export{border-color:var(--primary-light);background:linear-gradient(135deg,#f6f2ff,#fff)}.management-forecast-export .management-export-hint{font-size:0.6875rem;color:var(--primary-dark);white-space:nowrap}.sales-month-drilldown{white-space:nowrap}.forecast-drilldown-highlight{animation:forecast-drilldown-pulse 1.4s ease-out}@keyframes forecast-drilldown-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--primary) 45%, transparent)}100%{box-shadow:0 0 0 16px color-mix(in srgb, var(--primary) 0%, transparent)}}.management-print-table{font-size:0.75rem}.dark-mode .management-export-group{background:var(--surface);border-color:var(--line)}.dark-mode .management-forecast-export{background:linear-gradient(135deg,#2a2548,#202136);border-color:#4a3f86}.dark-mode .management-forecast-export .management-export-hint{color:#c9baff}.dark-mode .management-export-group strong{color:#d5d7e4}.dark-mode .management-export-status{background:#183127;border-color:#24503f;color:#4fd6ac}.dark-mode .management-export-status.is-busy{background:#2a2548;border-color:#4a3f86;color:#c9baff}@media(max-width:900px){.management-export-toolbar{align-items:stretch;flex-direction:column}.management-export-actions{justify-content:flex-start}}@media(max-width:600px){.management-export-range{align-items:stretch;flex-direction:column}.management-quick-ranges{flex-wrap:wrap}.management-export-group{flex-wrap:wrap}.management-export-group strong{width:100%}}.management-board-export{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 22px 16px;padding:12px 16px;border:1px solid #d8c9a3;border-radius:12px;background:linear-gradient(135deg,#fffbf0,#fdf3d8);box-shadow:0 1px 0 rgba(255,255,255,.7) inset}.management-board-export-text{display:flex;flex-direction:column;gap:3px}.management-board-export-text strong{font-size:0.84375rem;color:#7a5a12}.management-board-export-text span{font-size:0.75rem;color:#8a7a4a}.dark-mode .management-board-export{background:linear-gradient(135deg,#2a2413,#201c10);border-color:#4d4219}.dark-mode .management-board-export-text strong{color:#e8c86a}.dark-mode .management-board-export-text span{color:#a99a66}  .print-board-section{margin:14px 0 22px}.print-board-section h2{font-size:0.875rem;margin:0 0 6px;padding-bottom:4px;border-bottom:2px solid #d9a441;color:#1d2333}
  #printBoardReport{font-family:Mikhak,Vazirmatn,Arial,sans-serif;color:#172033;background:#fff;direction:rtl;padding:14mm 13mm;min-height:100vh}
  .board-print-page{min-height:250mm;page-break-after:always;break-after:page;position:relative}.board-print-page:last-child{page-break-after:auto;break-after:auto}.board-print-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #1a7a2e;padding-bottom:8px;margin-bottom:15px;color:#667085;font-size:0.6875rem}.board-print-header strong{display:block;color:#1a7a2e;font-size:0.9375rem;margin-top:2px}.board-print-brand{display:flex;align-items:center;justify-content:center;gap:18px;padding:25mm 0 17mm;border-bottom:1px solid #e2e5ee;margin-bottom:16mm}.board-print-brand .sales-print-logo{width:86px;height:86px}.board-print-brand h1{font-size:1.75rem;color:#20243a;margin:0 0 8px}.board-print-brand p{font-size:0.78125rem;color:#667085;margin:0}.board-page-title{font-size:1.1875rem;color:#20243a;margin:10px 0 14px}.board-executive-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.board-executive-summary>div{border:1px solid #dfe3ec;border-radius:10px;padding:13px;background:#f8f9fc;min-height:66px}.board-executive-summary span{display:block;color:#667085;font-size:0.6875rem}.board-executive-summary strong{display:block;color:#20243a;font-size:0.9375rem;margin-top:8px}.board-executive-note{border-right:4px solid #d9a441;background:#fffaf0;border-radius:8px;padding:14px 16px;line-height:2;font-size:0.75rem;color:#5c6474}.board-executive-note h2{font-size:0.9375rem;color:#895d08;margin:0 0 5px}.board-print-meta{color:#7b8498!important;font-size:0.6875rem}.board-unit-chart{border:1px solid #e2e5ee;border-radius:10px;padding:10px;margin-bottom:16px;text-align:center}.board-unit-chart img{display:block;width:100%;max-height:105mm;object-fit:contain}.board-unit-table{margin-top:12px}.board-print-method{margin-top:14px;border-right:3px solid #f59e0b;background:#fffaf0;color:#6b7280;padding:10px 12px;font-size:0.6875rem;line-height:1.9;break-inside:avoid}.board-empty{text-align:center;border:1px dashed #d8dce7;border-radius:10px;padding:35px;color:#7b8498;font-size:0.78125rem}
  @media(max-width:600px){.management-board-export{align-items:stretch;flex-direction:column}}
  @media print{#printBoardReport{display:block}body:has(#printBoardReport) > *:not(#printBoardReport){display:none!important}.board-print-page{min-height:250mm}.board-executive-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== گزارش‌ساز Enterprise و نمودار زنده ===== */
.enterprise-report-builder-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px;padding:0 22px 18px;border-bottom:1px solid var(--line)}.enterprise-report-builder-toolbar .tl-field{min-width:145px}.enterprise-report-chart{height:300px;margin:16px 22px 4px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden}.enterprise-report-chart:empty{display:none}.enterprise-chart-empty{display:grid;place-items:center;height:100%;color:#9da1b2;font-size:0.75rem}.enterprise-report-grid{min-height:180px}.enterprise-grid-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 22px 13px}.enterprise-grid-head h3{font-size:0.9375rem;margin:5px 0}.enterprise-grid-head p{font-size:0.6875rem;color:#9296aa;margin:0;line-height:1.8}.enterprise-grid-view-switch{display:flex;gap:4px}.enterprise-grid-view-button{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:#9094a6;font-size:0.6875rem}.enterprise-grid-view-button.is-active{color:#fff;background:var(--primary);border-color:var(--primary)}.enterprise-grid-table-wrap{overflow:auto}.enterprise-grid-table{min-width:720px}.enterprise-grid-table th{vertical-align:top;padding:10px 14px}.enterprise-grid-table td{padding:11px 14px}.enterprise-grid-sort{display:block;padding:0;background:transparent;color:inherit;font:inherit;font-size:0.6875rem;font-weight:700;white-space:nowrap}.enterprise-grid-sort.is-active{color:var(--primary)}.enterprise-grid-filter{display:block;width:100%;min-width:75px;margin-top:7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:5px;font-size:var(--fs-2xs);outline:0}.enterprise-grid-filter:focus{border-color:var(--primary)}.enterprise-grid-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 22px;border-top:1px solid var(--line);color:#9296aa;font-size:0.6875rem}.enterprise-grid-footer-actions{display:flex;align-items:center;gap:6px}.enterprise-grid-footer-actions label{display:flex;align-items:center;gap:5px}.enterprise-grid-footer-actions select{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:5px;font-size:0.6875rem}.enterprise-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:0 22px 16px}.enterprise-grid-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.enterprise-grid-card div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:0.6875rem}.enterprise-grid-card div:last-child{border-bottom:0}.enterprise-grid-card span{color:#767b92}.enterprise-grid-card strong{color:var(--text);text-align:left}.enterprise-grid-empty,.enterprise-grid-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;padding:20px;text-align:center;color:#9b9faf;font-size:0.75rem}.enterprise-grid-empty{flex-direction:column}.enterprise-grid-empty strong{color:#62677c}.dark-mode .enterprise-grid-view-button,.dark-mode .enterprise-grid-filter,.dark-mode .enterprise-grid-footer-actions select{background:var(--surface);border-color:var(--line);color:var(--text)}.dark-mode .enterprise-report-chart{background:var(--surface)}@media(max-width:700px){.enterprise-report-builder-toolbar{align-items:stretch;flex-direction:column}.enterprise-report-builder-toolbar .tl-field{width:100%}.enterprise-report-chart{height:240px;margin-left:14px;margin-right:14px}.enterprise-grid-head,.enterprise-grid-footer{align-items:stretch;flex-direction:column}.enterprise-grid-footer-actions{flex-wrap:wrap}.enterprise-grid-view-switch{align-self:flex-start}}
/* ===== مرکز کنترل فروش ===== */
.sales-control-center{margin:18px 0;padding-bottom:24px;overflow:hidden}.sales-control-heading{padding-bottom:18px;border-bottom:1px solid #f0f0f5}.control-live{display:inline-flex;align-items:center;gap:6px;color:#36ad88;font-size:0.75rem}.control-live i{width:7px;height:7px;border-radius:50%;background:#4bbf9b;box-shadow:0 0 0 4px #e4f8f0}.control-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:18px 24px}.control-kpi{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:13px 14px;min-width:0}.control-kpi span{display:block;color:#9296aa;font-size:0.6875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-kpi strong{display:block;color:#363a52;font-size:0.9375rem;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-kpi strong small{color:#9296aa;font-size:var(--fs-2xs);font-weight:500}.control-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:14px;padding:0 24px}.control-funnel,.control-health,.control-attention{border:1px solid var(--line);border-radius:14px;background:#fff}.control-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px 12px}.control-section-title h3{font-size:0.84375rem;margin:4px 0 0}.control-note{color:#a0a4b5;font-size:0.6875rem;white-space:nowrap}.control-funnel-flow{padding:4px 18px 12px}.control-funnel-row{margin:8px 0 12px}.control-funnel-row>div:first-child{display:flex;justify-content:space-between;color:#70758a;font-size:0.75rem;margin-bottom:5px}.control-funnel-row strong{color:#41465b}.control-funnel-bar{height:8px;border-radius:10px;background:#f1f0f7;overflow:hidden}.control-funnel-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7b5af0,var(--primary-light))}.control-funnel-bar .control-funnel-lead{background:#4d9cf8}.control-funnel-bar .control-funnel-qualified{background:#58bfa1}.control-funnel-bar .control-funnel-negotiation{background:#f3a34f}.control-losses{display:flex;flex-wrap:wrap;gap:8px 18px;border-top:1px solid #f0f0f5;padding:13px 18px;color:#9196a9;font-size:0.6875rem}.control-losses strong{color:#d27848}.control-health{padding-bottom:15px}.health-score{color:var(--primary);font-size:1.5625rem;line-height:1}.health-score small{font-size:0.6875rem;color:#a0a4b5;font-weight:500}.health-meter{height:10px;background:#eeecf8;border-radius:10px;margin:1px 18px 13px;overflow:hidden}.health-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#efaa55,#4bbf9b);transition:width .4s ease}.health-factors{list-style:none;padding:0 18px;margin:0}.health-factors li{color:#777c90;font-size:0.6875rem;padding:5px 0;border-bottom:1px solid #f4f4f7}.health-factors li:last-child{border-bottom:0}.control-attention{margin:14px 24px 0}.attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 16px}.attention-card{display:flex;flex-direction:column;align-items:flex-start;text-align:right;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;transition:.2s}.attention-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,35,73,.08)}.attention-card span{color:#777c90;font-size:0.6875rem}.attention-card strong{color:#3f4359;font-size:1.25rem;margin-top:7px}.attention-card small{color:#a0a4b5;font-size:var(--fs-2xs);margin-top:3px}.attention-staleopportunity{border-color:#ffd9c5;background:#fffaf6}.attention-expiringcontract{border-color:#ffe6b8;background:#fffdf6}.risk-detail-list{border-top:1px solid #f0f0f5;padding:4px 18px}.risk-row{display:flex;align-items:center;gap:10px;text-decoration:none;padding:11px 0;border-bottom:1px solid #f3f3f6}.risk-row:last-child{border-bottom:0}.risk-icon{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#fff0df;color:#d4843b;font-size:0.78125rem}.risk-row>span:nth-child(2){flex:1;min-width:0}.risk-row strong,.risk-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-row strong{color:#565b70;font-size:0.75rem}.risk-row small{color:#a2a6b6;font-size:var(--fs-2xs);margin-top:3px}.risk-row>b{color:#8c91a4;font-size:0.6875rem;font-weight:500}.risk-critical .risk-icon{background:#ffebed;color:#d65f70}.table-empty{padding:18px;text-align:center;color:#999daf;font-size:0.75rem}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

/* ===== کنترل‌های UI آفلاین: جستجوی select، چندانتخابی و آپلود ===== */
.ui-select-enhanced{display:flex;flex-direction:column;gap:5px;min-width:0;min-height:38px;position:relative}.ui-select-enhanced select{min-width:0}.ui-upload-dropzone{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;min-height:48px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--primary) 55%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));color:var(--muted);font-size:0.6875rem;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.ui-upload-dropzone:hover,.ui-upload-dropzone:focus-visible,.ui-upload-dropzone.is-drag-over{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--primary);outline:0}.ui-upload-dropzone.is-drag-over{transform:scale(1.01)}.ui-upload-status{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-2xs);font-weight:700}.ui-upload-dropzone~input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.ui-upload-dropzone{transition:none;transform:none}}
/* ===== داشبورد سلامت Assetها در تنظیمات ===== */
.asset-governance-panel{margin-top:18px;overflow:hidden}.asset-governance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 15px;border-bottom:1px solid var(--line)}.asset-governance-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.asset-governance-revision{direction:ltr;color:var(--muted);font:var(--fs-2xs) ui-monospace,Consolas,monospace}.asset-governance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 22px}.asset-governance-kpis>div{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.asset-governance-kpis span,.asset-governance-kpis small{color:var(--muted);font-size:var(--fs-2xs)}.asset-governance-kpis strong{color:var(--text);font-size:1rem;font-variant-numeric:tabular-nums}.asset-governance-grid{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.5fr);gap:12px;padding:0 22px}.asset-governance-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.asset-governance-card h3,.asset-governance-largest h3{margin:0;padding:13px 15px;border-bottom:1px solid var(--line);color:var(--text);font-size:0.78125rem}.asset-governance-details{padding:13px;min-height:100px}.asset-governance-details small{display:block;margin-top:8px;color:var(--muted);font-size:var(--fs-2xs)}.asset-governance-alert{display:flex;flex-direction:column;gap:5px;max-height:170px;overflow:auto}.asset-governance-alert code{direction:ltr;text-align:left;color:#bd5363;background:#fff0f3;border-radius:6px;padding:5px;font-size:var(--fs-2xs)}.asset-governance-ok{color:#218653;background:#eaf8f0;border-radius:8px;padding:12px;font-size:0.6875rem}.asset-governance-library-table{min-width:560px}.asset-governance-library-table th,.asset-governance-library-table td{padding:8px 10px;font-size:var(--fs-2xs)}.asset-governance-pill{display:inline-block;border-radius:10px;padding:3px 7px;font-size:var(--fs-2xs)}.asset-governance-aligned,.asset-governance-local-vendored{color:#218653;background:#eaf8f0}.asset-governance-documented-n-a{color:#8c83bd;background:#f0ecff}.asset-governance-drifted,.asset-governance-missing,.asset-governance-unresolved{color:#bd5363;background:#fff0f3}.asset-governance-largest{margin:12px 22px 18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.asset-governance-largest-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:11px 14px}.asset-governance-largest-list div{display:flex;justify-content:space-between;gap:8px;min-width:0;padding:7px;border-radius:7px;background:var(--surface-soft)}.asset-governance-largest-list code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-2xs)}.asset-governance-largest-list span{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap}.asset-governance-loading,.asset-governance-error{grid-column:1/-1;padding:18px;color:var(--muted);font-size:0.6875rem}@media(max-width:800px){.asset-governance-kpis{grid-template-columns:repeat(2,1fr)}.asset-governance-grid{grid-template-columns:1fr}.asset-governance-largest-list{grid-template-columns:1fr}}@media(max-width:500px){.asset-governance-kpis{grid-template-columns:1fr}.asset-governance-toolbar{align-items:stretch;flex-direction:column}.asset-governance-toolbar>div{width:100%}.asset-governance-toolbar .button{flex:1}}

/* ===== مسیر آموزش نقش‌محور ===== */
.training-next-step{display:flex;align-items:center;gap:14px;margin:14px 0 16px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#f4f0ff,#fff);border:1px solid #e4dcff;box-shadow:0 10px 26px color-mix(in srgb, var(--primary-dark) 12%, transparent);animation:trainingNextIn .4s ease both}.training-next-step-icon{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;font-size:1.125rem;box-shadow:0 8px 18px color-mix(in srgb, var(--primary-dark) 28%, transparent)}.training-next-step-copy{flex:1;min-width:0}.training-next-step-copy strong{display:block;color:#4b3da8;font-size:0.75rem;letter-spacing:.5px;margin-bottom:4px}.training-next-step-copy span{display:block;color:#383c53;font-size:0.84375rem;font-weight:800}.training-next-step-copy small{display:block;color:#8a8fa5;font-size:0.6875rem;margin-top:3px;line-height:1.7}.training-next-step .button{flex:none}.training-next-step.is-complete{border-color:#cdefe2;background:linear-gradient(135deg,#eafaf5,#f4fdfa)}.training-next-step.is-complete .training-next-step-icon{background:linear-gradient(135deg,#2fae7d,#1c7a46)}.training-next-step.is-complete .training-next-step-copy strong,.training-next-step.is-complete .training-next-step-copy span{color:#226e53}.dark-mode .training-next-step{background:linear-gradient(135deg,#221f3d,#1b1d2e);border-color:#3a3470}.dark-mode .training-next-step-copy strong{color:#c4b5ff}.dark-mode .training-next-step-copy span{color:#eceafc}.dark-mode .training-next-step-copy small{color:#a8abc4}@keyframes trainingNextIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.training-next-step{animation:none}}@media(max-width:560px){.training-next-step{align-items:flex-start;flex-wrap:wrap}.training-next-step .button{width:100%}}
.training-full-cycle{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#eef7ff,#fff);border:1px solid #cfe6fb;box-shadow:0 10px 26px rgba(22,108,170,.10)}.training-full-cycle-copy{flex:1;min-width:0;display:flex;gap:12px;align-items:flex-start}.training-full-cycle-icon{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#2f9be0,#166ca8);color:#fff;font-size:1.125rem;box-shadow:0 8px 18px rgba(22,108,170,.28)}.training-full-cycle-copy>div{flex:1;min-width:0}.training-full-cycle-copy strong{display:block;color:#16608f;font-size:0.75rem;letter-spacing:.5px;margin-bottom:4px}.training-full-cycle-copy span{display:block;color:#383c53;font-size:0.84375rem;font-weight:800}.training-full-cycle-copy small{display:block;color:#8a8fa5;font-size:0.6875rem;margin-top:3px;line-height:1.7}.training-full-cycle .button{flex:none}.dark-mode .training-full-cycle{background:linear-gradient(135deg,#152238,#1b1d2e);border-color:#1f4a6e}.dark-mode .training-full-cycle-copy strong{color:#7fc4f2}.dark-mode .training-full-cycle-copy span{color:#eceafc}.dark-mode .training-full-cycle-copy small{color:#a8abc4}@media(max-width:560px){.training-full-cycle{align-items:flex-start;flex-wrap:wrap}.training-full-cycle .button{width:100%}}
.training-path-map{display:flex;align-items:flex-start;justify-content:space-between;margin:16px 0 12px;padding:18px 18px 14px;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);position:relative}.training-path-node{flex:none;display:flex;flex-direction:column;align-items:center;gap:7px;width:76px;text-align:center}.training-path-circle{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:0.9375rem;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;border:0;font-family:inherit}.training-path-circle span{line-height:1}.training-path-node.is-active .training-path-circle{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:#fff;box-shadow:0 8px 18px color-mix(in srgb, var(--primary-dark) 28%, transparent)}.training-path-node.is-active .training-path-circle:hover{transform:translateY(-3px)}.training-path-node.is-current .training-path-circle{outline:3px solid #e4dcff;outline-offset:2px;animation:trainingPathPulse 1.8s ease-in-out infinite}.training-path-node.is-complete .training-path-circle{background:linear-gradient(135deg,#2fae7d,#1c7a46);color:#fff;box-shadow:0 8px 16px rgba(34,139,102,.28)}.training-path-node.is-locked .training-path-circle{background:#eef0f6;color:#b6bac9;cursor:not-allowed;box-shadow:none}.training-path-node em{font-style:normal;color:#8d92a7;font-size:var(--fs-2xs);font-weight:700;line-height:1.5;max-width:74px}.training-path-node.is-active em,.training-path-node.is-current em{color:#5a4cc0}.training-path-node.is-complete em{color:#2a8768}.training-path-node small{color:#a3a7b6;font-size:var(--fs-2xs)}.training-path-link{flex:1;height:2px;background:#e2e0ee;margin:23px 5px 0;min-width:12px;border-radius:2px}.training-path-link.is-done{background:linear-gradient(90deg,#2fae7d,#1c7a46)}.dark-mode .training-path-map{background:#1b1d2e;border-color:var(--line)}.dark-mode .training-path-node.is-locked .training-path-circle{background:#292b3f;color:#5a5e78}.dark-mode .training-path-link{background:#303349}.dark-mode .training-path-node em{color:#9aa0b8}@keyframes trainingPathPulse{0%,100%{box-shadow:0 8px 18px color-mix(in srgb, var(--primary-dark) 25%, transparent)}50%{box-shadow:0 8px 26px color-mix(in srgb, var(--primary-dark) 48%, transparent)}}@media (prefers-reduced-motion:reduce){.training-path-node.is-current .training-path-circle{animation:none}}@media(max-width:760px){.training-path-map{justify-content:flex-start;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-block:14px;padding-inline:calc(50% - 32px)}.training-path-node{width:64px;scroll-snap-align:center}}
.training-role-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:0.6875rem}.training-role-badge{color:var(--primary);background:var(--purple-soft);border-radius:20px;padding:5px 10px;font-weight:800}.training-role-modules{margin:0 0 18px;padding:17px 19px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,var(--surface-soft),var(--surface))}.training-role-modules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:13px}.training-role-modules-head h3{margin:4px 0;font-size:0.9375rem;color:var(--text)}.training-role-modules-head small{color:var(--muted);font-size:0.6875rem}.training-role-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.training-role-module{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.training-role-module-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--purple-soft);font-size:1rem;flex:none}.training-role-module h4{margin:1px 0 6px;color:var(--text);font-size:0.75rem}.training-role-module ul{padding:0 15px 0 0;margin:0;color:var(--muted);font-size:var(--fs-2xs);line-height:1.9}.training-role-module li::marker{color:var(--primary)}.dark-mode .training-role-modules,.dark-mode .training-role-module,.dark-mode .training-role-meta{background:var(--surface);border-color:var(--line)}
@media(max-width:650px){.training-role-modules-head{flex-direction:column}.training-role-module-grid{grid-template-columns:1fr}}
:root{--bg:#f7f8fc;--surface:#fff;--surface-soft:#fbfbfe;--text:#202337;--muted:#696e84;--muted-strong:#5a5f75;--line:#eaebf2;--line-strong:#d8dae6;--primary:#7657f6;--primary-dark:#7354df;--primary-light:#a78bfa;--primary-soft:#f1edff;--purple-soft:#f1edff;--blue:#4d9cf8;--orange:#f3a34f;--green:#4bbf9b;--danger:#e36f7d;--shadow:0 14px 42px rgba(37,35,73,.06);--shadow-raised:0 18px 48px rgba(37,35,73,.14);--radius:18px;--radius-sm:12px;--focus-ring:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent);--sidebar:#171827;--sidebar-text:#a4a5b6;--font-family:'Mikhak','Vazirmatn',Tahoma,Arial,sans-serif;font-family:var(--font-family)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-family);font-size:0.9375rem;direction:rtl}button,input,select{font:inherit}button{cursor:pointer;border:0}
/* فوکوس کیبوردی سراسری — فقط زمانی دیده می‌شود که از کیبورد استفاده می‌شود */
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.crm-app{min-height:100vh}.app-noise{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(#b7b5cb .7px,transparent .7px);background-size:19px 19px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 70%)}.app-layout{min-height:100vh;display:flex;align-items:flex-start}.sidebar{background:var(--sidebar);color:#fff;width:264px;min-width:264px;height:100vh;display:flex;flex-direction:column;padding:24px 16px 18px;position:fixed;right:0;top:0;z-index:30;overflow-y:auto;overscroll-behavior:contain;box-shadow:12px 0 30px rgba(27,25,52,.08)}.main-content{margin-right:264px;width:calc(100% - 264px)}.brand-row{display:flex;align-items:center;justify-content:space-between;padding:0 10px 24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff}.brand strong{display:block;font-size:1.0625rem;letter-spacing:-.5px}.brand small{display:block;color:#86889e;font-size:0.75rem;margin-top:2px}.brand-mark{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:7px}.brand-mark span{width:4px;border-radius:6px;background:#fff;display:block}.brand-mark span:nth-child(1){height:10px;opacity:.75}.brand-mark span:nth-child(2){height:15px}.brand-mark span:nth-child(3){height:7px;opacity:.65}.workspace-switcher{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:12px;display:flex;align-items:center;gap:9px;padding:10px;margin:0 0 25px;transition:.2s}.workspace-switcher:hover{background:rgba(255,255,255,.08)}.workspace-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#6d51e4;font-weight:800;font-size:0.875rem}.workspace-copy{flex:1;min-width:0}.workspace-copy strong,.workspace-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-copy strong{font-size:0.78125rem}.workspace-copy small{color:#818397;font-size:0.6875rem;margin-top:2px}.chevron{color:#8b8c9f}.nav-label{color:#686a80;font-size:0.75rem;font-weight:700;padding:0 12px 9px}.nav-label-space{margin-top:27px}.nav-item{position:relative;color:var(--sidebar-text);text-decoration:none;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:11px;margin:3px 0;font-size:0.84375rem;transition:.2s}.nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}.nav-item.is-active{color:#fff;background:linear-gradient(90deg,color-mix(in srgb, var(--primary) 34%, transparent),color-mix(in srgb, var(--primary) 14%, transparent));box-shadow:inset 3px 0 var(--primary-light)}.nav-icon{width:19px;text-align:center;font-size:1.0625rem;line-height:1;color:#87899e}.is-active .nav-icon{color:#b9aaff}.nav-badge{margin-right:auto;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--primary-light),#6543e3);color:#fff;font-size:0.6875rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 2px 7px color-mix(in srgb, var(--primary) 40%, transparent);letter-spacing:-.2px}.nav-badge[hidden]{display:none!important}.nav-badge-warm{background:linear-gradient(135deg,#f5a657,#dd7c3b);box-shadow:0 2px 7px rgba(221,124,59,.4)}.nav-item:hover .nav-badge{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 50%, transparent)}.sidebar-bottom{margin-top:auto}.upgrade-card{position:relative;overflow:hidden;border-radius:14px;padding:18px 15px;background:linear-gradient(145deg,#29224b,#211d3b);border:1px solid rgba(151,126,255,.16);margin-bottom:15px}.upgrade-glow{position:absolute;width:100px;height:100px;border-radius:50%;background:#7258ee;filter:blur(35px);opacity:.25;left:-20px;top:-35px}.upgrade-icon{position:relative;color:#bdabff;font-size:1.375rem}.upgrade-card strong{position:relative;display:block;font-size:0.84375rem;margin-top:13px}.upgrade-card p{position:relative;color:#9994b5;font-size:0.75rem;margin:6px 0 12px}.text-button{position:relative;color:#c5b9ff;background:transparent;padding:0;font-size:0.75rem}.text-button span{margin-right:5px}.user-mini{display:flex;align-items:center;gap:9px;padding:10px 3px}.user-mini>span:nth-child(2){flex:1}.user-mini strong,.user-mini small{display:block}.user-mini strong{font-size:0.78125rem}.user-mini small{font-size:0.6875rem;color:#818397;margin-top:3px}.main-content{flex:1;min-width:0}.topbar{height:76px;background:rgba(255,255,255,.75);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.topbar-start,.topbar-actions{display:flex;align-items:center;gap:17px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#9ca0b3;font-size:0.78125rem}.breadcrumb b{font-weight:400;color:#d4d5df}.breadcrumb strong{color:var(--text);font-weight:600}.command-search{display:flex;align-items:center;gap:9px;color:#9ca0b1;background:#f7f7fb;border:1px solid #edeef4;border-radius:9px;padding:8px 12px;font-size:0.78125rem;min-width:190px;text-align:right}.command-search>span:first-child{font-size:1.25rem;line-height:10px;color:#777b93}.command-search kbd{margin-right:auto;color:#aaaabd;background:#fff;border:1px solid #e2e3eb;border-radius:5px;padding:2px 5px;font-size:0.6875rem;direction:ltr}.icon-button{background:transparent;color:#9498aa;display:grid;place-items:center;padding:3px;border-radius:8px;transition:.2s;font-size:0.9375rem}.icon-button:hover{background:#f1f1f7;color:var(--primary)}.theme-toggle{font-size:1.125rem}.notification-button{position:relative;font-size:1.3125rem}.notification-button i{position:absolute;top:2px;right:1px;width:6px;height:6px;background:#ee7381;border:2px solid #fff;border-radius:50%}.topbar-divider{height:26px;width:1px;background:var(--line)}
.topbar-role-badge{display:inline-flex;align-items:center;gap:6px;font-size:0.75rem;font-weight:800;color:var(--primary);background:var(--purple-soft);border:1px solid #e2d9ff;border-radius:99px;padding:5px 12px;white-space:nowrap}
.topbar-role-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px rgba(121,88,237,.14)}
.dark-mode .topbar-role-badge{color:var(--primary-light);background:#262240;border-color:#3a3162}
.dark-mode .topbar-role-badge::before{background:var(--primary-light);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-light) 18%, transparent)}
.dock-apply-preset-btn{white-space:nowrap;color:var(--primary-dark);border-color:#ddd2ff;background:#f6f2ff}
.dock-apply-preset-btn:hover{transform:none;box-shadow:0 6px 16px color-mix(in srgb, var(--primary-dark) 18%, transparent)}
.dark-mode .dock-apply-preset-btn{color:var(--primary-light);background:#262240;border-color:#3a3162}
.dock-apply-preset-btn[hidden]{display:none}
@media (max-width:1180px){.topbar-role-badge{display:none}}@media (max-width:1100px){#dockCollapseAll,#dockResetLayout,#dockRestoreRoleDefault,#dockPanelPicker,#introBtn{display:none}}@media (max-width:950px){.dock-apply-preset-btn{display:none}}@media (max-width:880px){.command-search{display:none}}.avatar{width:34px;height:34px;border-radius:11px;display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:0.84375rem;flex:none}.avatar-small{width:27px;height:27px;border-radius:8px;font-size:0.75rem}.avatar-violet{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark))}.avatar-blue{background:linear-gradient(135deg,#71b9ff,#4285de)}.avatar-orange{background:linear-gradient(135deg,#ffc275,#dd7c3b)}.menu-toggle,.sidebar-close{display:none}.page-container{position:relative;padding:38px 42px 60px;max-width:1700px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{display:flex;align-items:center;gap:7px;color:#9b91d4;font-weight:700;font-size:0.75rem;margin:0 0 10px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px #eeeaff}.status-orange{background:#f3a34f;box-shadow:0 0 0 4px #fff0df}.status-blue{background:#4d9cf8;box-shadow:0 0 0 4px #e6f2ff}.status-green{background:#4bbf9b;box-shadow:0 0 0 4px #e2f8f1}.page-heading h1{font-size:1.75rem;line-height:1.3;letter-spacing:-1.4px;margin:0;font-weight:800}.page-subtitle{color:var(--muted);margin:8px 0 0;font-size:0.84375rem}.page-subtitle strong{color:#62677f;font-weight:600}.wave{font-size:1.5rem;color:#f3a34f;display:inline-block;transform:rotate(-18deg);margin-right:5px}.heading-actions{display:flex;gap:10px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;padding:11px 16px;font-size:0.78125rem;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));box-shadow:0 8px 18px color-mix(in srgb, var(--primary-dark) 20%, transparent)}.button-primary:hover{box-shadow:0 10px 24px color-mix(in srgb, var(--primary-dark) 30%, transparent)}.button-ghost{color:#6e7287;background:var(--surface);border:1px solid var(--line)}.button-excel{color:#fff;background:linear-gradient(135deg,#28a05f,#1c7a46);box-shadow:0 8px 18px rgba(28,122,70,.22)}.button-excel:hover{box-shadow:0 10px 24px rgba(28,122,70,.32)}.button-small{padding:7px 11px;font-size:0.75rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric-card{position:relative;overflow:hidden;border-radius:var(--radius);padding:22px 20px 18px;border:1px solid transparent;min-height:165px}.metric-purple{background:linear-gradient(145deg,#f3efff,#fbfaff);border-color:#e5ddff}.metric-blue{background:linear-gradient(145deg,#edf6ff,#fbfdff);border-color:#ddebff}.metric-orange{background:linear-gradient(145deg,#fff5e9,#fffdf9);border-color:#ffead2}.metric-green{background:linear-gradient(145deg,#eafaf5,#fcfffe);border-color:#d8f3ea}[data-drill-view]{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}[data-drill-view]:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(37,35,73,.12);border-color:#c9b8ff}[data-drill-view]:active{transform:translateY(-1px) scale(.99)}@media (prefers-reduced-motion:reduce){[data-drill-view]{transition:none}[data-drill-view]:hover{transform:none;box-shadow:none}}.metric-top,.metric-foot{display:flex;align-items:center;justify-content:space-between}.metric-label{color:#777d95;font-size:0.78125rem;font-weight:600}.metric-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:0.9375rem}.metric-purple .metric-icon{color:var(--primary);background:#e4dcff}.metric-blue .metric-icon{color:#398be5;background:#d9edff}.metric-orange .metric-icon{color:#dd8a3c;background:#ffe7c4}.metric-green .metric-icon{color:#2aa984;background:#d3f2e7}.metric-value{font-size:1.5625rem;font-weight:800;letter-spacing:-1px;margin:16px 0 11px}.metric-value small{font-size:0.75rem;letter-spacing:0;font-weight:500;color:#8e92a6}.metric-foot{justify-content:flex-start;gap:8px;color:#767b92;font-size:0.6875rem}.metric-updated{display:flex;align-items:center;gap:6px;min-height:19px;margin:8px 0 0;overflow:hidden}.trend{font-weight:800;font-size:0.75rem}.trend-up{color:#25ae80}.trend-down{color:#df7480}.sparkline{height:31px;position:absolute;bottom:0;left:18px;right:18px;display:flex;align-items:flex-end;gap:4px;opacity:.55}.sparkline span{flex:1;border-radius:3px 3px 0 0;background:currentColor;min-height:5px}.sparkline span:nth-child(1){height:25%}.sparkline span:nth-child(2){height:43%}.sparkline span:nth-child(3){height:35%}.sparkline span:nth-child(4){height:60%}.sparkline span:nth-child(5){height:50%}.sparkline span:nth-child(6){height:75%}.sparkline span:nth-child(7){height:56%}.sparkline span:nth-child(8){height:82%}.sparkline span:nth-child(9){height:70%}.sparkline span:nth-child(10){height:95%}.sparkline-purple{color:#ac94ff}.sparkline-blue{color:#83c1ff}.sparkline-orange{color:#ffbf78}.sparkline-green{color:#79dabd}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);gap:18px;margin-bottom:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:23px 24px 15px}.panel-heading h2{font-size:0.9375rem;margin:0;font-weight:800;letter-spacing:-.3px}.panel-heading p{margin:5px 0 0;color:#a0a4b5;font-size:0.75rem}.panel-actions{display:flex;gap:8px;align-items:center}.funnel-updated{font-size:0.6875rem;color:#2b9d7c;background:#e4f8f0;border:1px solid #cdefe2;border-radius:8px;padding:4px 9px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;transition:opacity .25s ease,transform .25s ease}.funnel-updated-flash{animation:funnelUpdatedFlash .9s ease}@keyframes funnelUpdatedFlash{0%{background:#d7f3e6;transform:scale(1)}35%{background:#b9ead4;transform:scale(1.06)}100%{background:#e4f8f0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.funnel-updated-flash{animation:none}.funnel-updated{transition:none}}.metric-card-flash{animation:metricCardFlash 1s ease}@keyframes metricCardFlash{0%{box-shadow:0 0 0 0 rgba(43,157,124,0)}30%{box-shadow:0 0 0 4px rgba(43,157,124,.28),0 18px 40px rgba(37,35,73,.16)}100%{box-shadow:0 0 0 0 rgba(43,157,124,0)}}@media (prefers-reduced-motion:reduce){.metric-card-flash{animation:none}}.grid-stale-bar{padding:8px 24px;background:#fff5df;color:#996b25;border-bottom:1px solid #f4d9a1;font-size:0.75rem;font-weight:700}.dark-mode .grid-stale-bar{background:#352b1b;color:#f4c979;border-color:#66501f}.realtime-offline{position:relative}.realtime-offline .metric-value,.realtime-offline.pipeline-total strong,.realtime-offline.metric-value{filter:grayscale(.55);opacity:.72}.realtime-offline-badge{display:inline-block;font-size:var(--fs-2xs);color:#b45464;background:#ffe9ee;border:1px solid #ffd2db;border-radius:6px;padding:2px 6px;font-weight:800;margin-right:7px;vertical-align:middle;white-space:nowrap}.dark-mode .realtime-offline-badge{color:#ffb3c0;background:#3a2027;border-color:#5c2f3a}.bi-changed-badge{font-size:0.6875rem;color:#d6455c;background:#ffe9ee;border:1px solid #ffd2db;border-radius:8px;padding:4px 9px;font-weight:800;white-space:nowrap;animation:biChangedPulse 1.4s ease}@keyframes biChangedPulse{0%{background:#ffd9e0;transform:scale(.96)}35%{background:#ffc0cb;transform:scale(1.07);box-shadow:0 0 0 4px rgba(214,69,92,.12)}100%{background:#ffe9ee;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bi-changed-badge{animation:none}}.select-button,.filter-button{color:#777b90;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:0.75rem}.select-button span,.filter-button span{margin-right:7px;color:#b1b3c0}.legend-row{display:flex;align-items:center;gap:18px;padding:0 24px;color:#9a9ead;font-size:0.75rem}.legend-row strong{color:#28ad80;margin-right:auto;font-size:0.78125rem}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-left:5px}.legend-purple{background:var(--primary)}.legend-muted{background:#c8cbd6}.chart-wrap{display:flex;height:246px;padding:18px 24px 24px 17px}.chart-y{width:35px;display:flex;flex-direction:column;justify-content:space-between;color:#767b92;font-size:0.6875rem;padding:4px 0 25px}.chart{position:relative;flex:1;min-width:0;padding-bottom:24px}.chart-grid{position:absolute;inset:4px 0 30px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid i{border-top:1px dashed #e6e7ee}.chart svg{position:absolute;left:0;right:0;top:2px;width:100%;height:180px;overflow:visible}.chart-area{fill:url(#areaGradient)}.chart-line{fill:none;stroke:var(--primary);stroke-width:3;vector-effect:non-scaling-stroke}.chart-target{fill:none;stroke:#c8cbd6;stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.chart-point{fill:#fff;stroke:var(--primary);stroke-width:3}.chart-x{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;color:#a2a6b6;font-size:0.6875rem}.pipeline-total{display:flex;flex-direction:column;padding:8px 24px 15px;border-bottom:1px solid #f0f0f5}.pipeline-total strong{font-size:1.5625rem;letter-spacing:-1px}.pipeline-total span{font-size:0.6875rem;color:#a1a5b4;margin-top:3px}.pipeline-total .funnel-updated{align-self:flex-start;margin-top:3px}.legend-row .funnel-updated{margin-right:2px}.pipeline-bars{padding:18px 24px 7px}.pipeline-row{margin-bottom:14px;display:grid;grid-template-columns:1fr 50px;gap:5px}.pipeline-row>div:first-child{display:flex;justify-content:space-between;grid-column:1/3;font-size:0.75rem;color:#73788c}.pipeline-row b{font-size:0.75rem;color:#42465b}.pipeline-row small{color:#9296aa;font-size:0.6875rem;text-align:left;direction:ltr}.progress{height:6px;background:#f0eeff;border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--primary);border-radius:inherit;transition:width .65s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.progress i{transition:none}}.progress-blue{background:#eaf4ff}.progress-blue i{background:#4d9cf8}.progress-orange{background:#fff2e4}.progress-orange i{background:#f3a34f}.progress-green{background:#e7f8f2}.progress-green i{background:#4bbf9b}.panel-link{background:transparent;color:var(--primary-dark);font-size:0.75rem;font-weight:700;padding:10px 24px 20px}.panel-link span{margin-right:6px}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr)}.table-scroll{overflow-x:auto}.crm-table{border-collapse:collapse;width:100%;text-align:right;min-width:550px}.crm-table th{color:#a2a5b5;font-size:0.6875rem;font-weight:600;background:#fcfcfe;border-top:1px solid #f3f3f7;border-bottom:1px solid #f0f0f5;padding:11px 24px;white-space:nowrap}.crm-table td{font-size:0.75rem;color:#70758a;border-bottom:1px solid #f1f1f5;padding:12px 24px;white-space:nowrap}.crm-table tr:last-child td{border-bottom:0}.crm-table tbody tr{transition:.2s}.crm-table tbody tr:hover{background:#fbfaff}.crm-table .owner{display:flex;align-items:center;gap:8px}.crm-table .owner span:last-child{display:flex;flex-direction:column}.crm-table .owner strong,.table-primary{color:#383c53;font-size:0.75rem}.crm-table small{display:block;color:#a3a6b5;font-size:0.6875rem;margin-top:3px}.status-pill{padding:5px 8px;border-radius:6px;font-size:0.6875rem;display:inline-block}.status-green{color:#2b9d7c;background:#e4f8f0}.status-red{color:#d65f70;background:#ffe8eb}.status-muted{color:#858a9d;background:#f0f1f5}.status-purple{color:#7354d8;background:#eeeaff}.status-orange{color:#d4843b;background:#fff0df}.status-blue{color:#398bdf;background:#e6f3ff}.row-action{color:#a7aabd;background:transparent;font-size:0.84375rem}.date-chip{font-size:0.6875rem;color:var(--primary-dark);background:#f1edff;border-radius:7px;padding:7px 9px}.activity-list{padding:3px 24px 5px}.activity-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f1f1f5}.activity-item:last-child{border:0}.activity-time{color:#a4a7b5;font-size:0.6875rem;width:32px}.activity-marker{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:0.84375rem}.marker-purple{color:var(--primary-dark);background:#eeeaff}.marker-orange{color:#dc893e;background:#fff0df}.marker-blue{color:#458fdc;background:#e4f2ff}.marker-green{color:#2da982;background:#e1f7f0}.activity-item div:nth-child(3){flex:1}.activity-item strong{font-size:0.75rem;color:#53576b;font-weight:700}.activity-item p{font-size:0.6875rem;color:#a4a7b5;margin:3px 0 0}.activity-more{color:#b4b6c2;font-size:0.78125rem}.activity-link{display:block;width:100%;text-align:right}.loading-row{text-align:center;color:#999daf;padding:25px!important}.loader{display:inline-block;width:13px;height:13px;border:2px solid #dfdbff;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px;margin-left:7px}@keyframes spin{to{transform:rotate(360deg)}}.view-section{display:none;animation:fadeUp .35s ease}.view-section[hidden]{display:none!important}.view-section.is-visible{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.contact-toolbar{display:flex;align-items:center;gap:15px;padding:12px 15px;margin-bottom:16px}.search-field{display:flex;align-items:center;gap:9px;background:#fafafd;border:1px solid #ececf3;border-radius:9px;padding:0 12px;flex:1;color:#a8abba}.search-field span{font-size:1.1875rem}.search-field input{border:0;outline:0;background:transparent;color:var(--text);padding:10px 0;width:100%;font-size:0.78125rem}.toolbar-filters{display:flex;gap:8px}.contacts-full-panel{overflow:hidden}
/* ===== نوار فیلتر افقی همهٔ گریدها — الگوی تلریک =====
   اصل طراحی: نوار همیشه **یک ردیف** است. کنترل‌ها هرگز زیر هم نمی‌نشینند.
   فضای کم → کنترل‌ها با text-overflow:ellipsis جمع می‌شوند (مقدار گزینهٔ
   انتخاب‌شده دیده می‌شود، نه کل لیبل)؛ خیلی کم → نوار افقی اسکرول می‌شود
   (overflow-x:auto)، نه wrap. این دقیقاً رفتار Telerik Grid Filter Menu است.
   مشکل قبلی: `flex:none` روی فرزندانِ toolbar-filters + `flex-wrap:wrap` یعنی
   کنترل‌ها نمی‌توانستند جمع شوند و در عرض ۹۶۰–۱۲۸۰px به ۳ ردیف (ارتفاع ۱۰۰px)
   می‌رسیدند. */
.contact-toolbar{align-items:center;gap:10px;padding:9px 12px;flex-wrap:nowrap}
.contact-toolbar .search-field{flex:1 1 170px;min-width:110px;height:36px;gap:8px;padding:0 10px;border-radius:10px}
.contact-toolbar .search-field input{padding:0;width:100%;font-size:0.78125rem}
.contact-toolbar .toolbar-filters{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;border-inline-start:1px solid var(--line);padding-inline-start:12px;margin-inline-start:4px}
/* flex:0 1 auto + min-width:0: کنترل‌ها می‌توانند جمع شوند. خطای قبلی flex:none بود. */
.contact-toolbar .toolbar-filters>*{flex:0 1 auto;min-width:0;height:36px;white-space:nowrap}
.contact-toolbar select.filter-button{max-width:132px;height:36px;padding-inline:9px 24px;text-overflow:ellipsis}
.contact-toolbar .filter-button{height:36px;padding:0 9px;font-size:0.75rem}
.contact-toolbar .table-filter-input{width:120px!important;min-width:64px!important;padding:0 9px!important;height:36px!important;font-size:0.75rem!important;border-radius:9px}
.contact-toolbar .icon-button{width:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:#777c90;display:grid;place-items:center;flex:none;font-size:0.9375rem;font-weight:700;transition:border-color .18s,background .18s,color .18s,transform .18s var(--ease-snap)}
.contact-toolbar .icon-button:hover{border-color:var(--primary);color:var(--primary);background:var(--purple-soft);transform:translateY(-1px)}
.contact-toolbar .icon-button{gap:6px;padding-inline:12px;width:auto}
.contact-toolbar .icon-button .btn-ico{font-size:1rem;line-height:1;display:inline-block}
.contact-toolbar .icon-button svg{width:16px;height:16px}
/* فیلتر تاریخ/انتخاب در نوار ابزار: inline (لیبل کنار input) به جای stacked */
.contact-toolbar .tl-field{flex-direction:row;align-items:center;gap:8px;white-space:nowrap;color:#5a5f75;font-size:0.6875rem;font-weight:600;flex:0 1 auto;min-width:0;height:36px}
.contact-toolbar .tl-field>input,.contact-toolbar .tl-field>select,.contact-toolbar .tl-field>.jdate-input{width:104px;min-width:0;flex:1 1 64px;height:36px;padding:0 8px;font-size:0.75rem;font-weight:500;color:var(--text)}
.contact-toolbar .tl-field>select{cursor:pointer}
/* در عرض کم، لیبلِ فیلد تاریخ («از تاریخ») جمع می‌شود چون placeholder فیلد
   همین متن را دارد — اطلاعاتی از دست نمی‌رود ولی فضای معناداری آزاد می‌شود. */
@media (max-width:1150px){
    .contact-toolbar .tl-field{font-size:0;gap:0}
    .contact-toolbar .tl-field>input,.contact-toolbar .tl-field>select,.contact-toolbar .tl-field>.jdate-input{font-size:0.75rem}
}
/* select قابل‌جستجو: popover جستجو در body ساکن می‌شود (position:fixed) تا
   `.toolbar-filters` با overflow:auto آن را بریده و اسکرول‌بارِ بیهوده
   (scrollHeight ۷۶ در برابر clientHeight ۳۶) باز نکند */
.contact-toolbar .ui-select-enhanced{display:block;position:relative;flex:none;width:max-content;min-width:0;height:38px}
.contact-toolbar .ui-select-enhanced select{height:38px;width:auto;max-width:100%;text-overflow:ellipsis}
.contact-toolbar .ui-select-enhanced .ui-select-native-hidden{width:100%;height:100%;min-width:0;pointer-events:none}
.contact-toolbar .ui-select-enhanced .ui-select-value{height:38px;min-height:38px;display:flex;align-items:center;padding:0 14px;border-radius:9px;font-size:0.75rem}
.contact-toolbar .ui-select-enhanced .ui-select-value::placeholder{color:var(--muted)}
.ui-select-popover{position:fixed;z-index:1200;width:max-content;min-width:236px;max-width:min(360px,94vw);display:flex;flex-direction:column;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 48px rgba(37,35,73,.28);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity .18s,transform .18s,visibility .18s}
.ui-select-popover.is-open{opacity:1;visibility:visible;transform:none}
.ui-select-popover .ui-select-search{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--text);font:inherit;font-size:0.75rem;font-weight:500;outline:0;transition:border-color .18s,box-shadow .18s;margin-bottom:6px}
.ui-select-popover .ui-select-search[hidden]{display:none;margin-bottom:0}
.ui-select-popover .ui-select-search::placeholder{color:var(--muted);font-weight:400}
.ui-select-popover .ui-select-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent);background:var(--surface)}
.ui-select-popover-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--line);font-size:var(--fs-2xs);color:var(--muted)}
.ui-select-popover-meta[hidden]{display:none}
.ui-select-popover-meta .ui-pop-count{font-weight:700;color:var(--text)}
.ui-select-popover-meta.is-empty .ui-pop-count{color:#c0453b}
.ui-select-popover-clear{border:0;background:transparent;color:var(--primary);font:inherit;font-size:var(--fs-2xs);font-weight:700;padding:4px 8px;border-radius:6px;cursor:pointer;transition:background .15s}
.ui-select-popover-clear:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}
/* گزینه‌های dropdown در خود popover رندر می‌شوند تا لیست بومی مرورگر روی
   کادر جستجو نیفتد */
.ui-select-options{display:flex;flex-direction:column;gap:2px;max-height:min(280px,46vh);overflow:auto;padding:2px}
.ui-select-option{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:10px;color:var(--text);font-size:0.75rem;font-weight:500;line-height:1.45;cursor:pointer;transition:background .13s,color .13s;white-space:nowrap}
.ui-select-option .ui-select-option-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ui-select-option .ui-select-tick{flex:none;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:0.6875rem;font-weight:800;color:#fff;background:var(--primary);opacity:0;transform:scale(.6);transition:opacity .15s,transform .15s}
.ui-select-option:hover{background:color-mix(in srgb,var(--primary) 9%,var(--surface))}
.ui-select-option.is-selected{background:color-mix(in srgb,var(--primary) 13%,var(--surface));color:var(--primary);font-weight:700}
.ui-select-option.is-selected .ui-select-tick{opacity:1;transform:scale(1)}
.ui-select-empty{padding:20px 12px;text-align:center;color:var(--muted);font-size:0.75rem}
/* select بومی بصری مخفی می‌شود اما در DOM/فرم می‌ماند تا ارسال/اعتبارسنجی
   و رویداد change همچنان کار کنند. فلش سفارشی جایگزین فلش مرورگر می‌شود. */
.ui-select-native-hidden{position:absolute;width:100%;height:100%;top:0;right:0;opacity:0;margin:0;padding:0;border:0;pointer-events:none;font-size:inherit}
.ui-select-enhanced{position:relative}
.ui-select-enhanced .ui-select-value{display:flex;align-items:center;width:100%;min-width:0;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;font-size:0.8125rem;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:border-color .18s,box-shadow .18s,background .18s}
.ui-select-enhanced:focus-within .ui-select-value{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);background:color-mix(in srgb,var(--primary) 2%,var(--surface))}
.ui-select-enhanced.is-native::after{display:none}
.ui-select-enhanced::after{content:'';position:absolute;top:50%;left:13px;width:8px;height:8px;margin-top:-6px;border-right:1.75px solid var(--muted);border-bottom:1.75px solid var(--muted);transform:rotate(45deg);transition:transform .2s,border-color .2s;pointer-events:none}
.contact-toolbar .ui-select-enhanced.is-open::after,.ui-select-enhanced:focus-within::after{transform:rotate(-135deg) translateY(-2px);border-color:var(--primary)}
@media (prefers-reduced-motion:reduce){.ui-select-popover{transition:none;transform:none}}
/* موبایل: نوار افقیِ قابل‌اسکرول باقی می‌ماند */
@media (max-width:560px){.contact-toolbar .search-field{min-width:100px;flex-basis:120px}}
/* ===== سرستون گریدها به سبک Telerik Filter Menu =====
   طراحی قبلی (G-01): عنوان و input فیلتر زیرِ هم در یک th با
   `display:flex;flex-direction:column` — که هدر ۷۶px بلند و شلوغ می‌کرد و
   inputها با border خام مرورگر (2px inset #767676) رندر می‌شدند.
   طراحی جدید (الگوی Telerik Grid Filter Menu): هر ستون فقط عنوان + دکمهٔ قیفِ
   کوچک را در یک ردیف دارد (هدر ~۴۰px) و input فیلتر به popover منتقل می‌شود.

   باگ ریشه‌ای که در این بازطراحی کشف شد: `display:flex` روی خودِ `<th>` آن را
   از حالت `table-cell` خارج می‌کند و **کلِ ردیفِ هدر در یک ستون عمودی** رندر
   می‌شد (اندازه‌گیری: همهٔ thها روی همان x، هر کدام در یک y جدا). راه‌حل: th
   در حالت `table-cell` پیش‌فرض می‌ماند و flex به یک wrapperِ `.th-flex` داخلش
   منتقل شده است (در Index.cshtml توسط initColumnFilterMenus ساخته می‌شود). */
.crm-table thead th .th-flex{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:nowrap}
.crm-table thead th .th-flex .table-sort-button{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex:1 1 auto;min-width:0;margin:0;line-height:1.25}
/* input فیلتر: هم در th (مخفی) و هم در popover (.col-filter-pop) — فقط حالت
   popover دیده می‌شود. display:none در th از فلشِ قبل از اجرای JS جلوگیری
   می‌کند. input اصلی در th می‌ماند تا سه قرارداد CrmGrid.create /
   appendColumnFilters / applyTableColumns حفظ شوند. */
.crm-table thead th .table-filter-input{display:none}
/* ایندیکاتور مرتب‌سازی فضای ثابت بگیرد تا عنوان روی sort نپرد */
.crm-table thead th .table-sort-indicator{flex:none}
/* ستون چک‌باکس انتخاب همه: مرکز‌چین */
.crm-table thead th.grid-select-col{vertical-align:middle}
/* ستون‌های هدر هم‌ارتفاع بمانند (vertical-align پایه) */
.crm-table thead th{vertical-align:middle}
/* ── دکمهٔ ماشه: قیف کوچک ── */
.col-filter-btn{flex:none;width:22px;height:22px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:opacity .15s,background .15s,color .15s,border-color .15s;opacity:.45}
.col-filter-btn:hover{opacity:1;border-color:var(--line);background:var(--surface-soft);color:var(--primary)}
.col-filter-btn:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--purple-soft);opacity:1}
.col-filter-btn.is-active{opacity:1;color:#fff;background:var(--primary);border-color:var(--primary)}
.col-filter-btn svg{width:13px;height:13px;pointer-events:none}
/* ── popover فیلتر (در <body>، position:fixed، تا بریده نشود) ── */
.col-filter-pop{position:fixed;z-index:65;width:232px;padding:12px;display:flex;flex-direction:column;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 44px rgba(37,35,73,.22)}
.col-filter-pop[hidden]{display:none}
.col-filter-pop-title{font-size:var(--fs-2xs);color:var(--muted);font-weight:700}
.col-filter-pop .col-filter-input{display:block;width:100%;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:0.75rem;font-family:inherit;font-weight:500;outline:0;transition:border-color .15s,box-shadow .15s}
.col-filter-pop .col-filter-input::placeholder{color:var(--muted);font-weight:400}
.col-filter-pop .col-filter-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--purple-soft)}
.col-filter-pop .col-filter-select{display:block;width:100%;margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:0.75rem;font-family:inherit;font-weight:500;outline:0;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.col-filter-pop .col-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--purple-soft)}
.col-filter-multi{display:flex;flex-direction:column;gap:4px;max-height:210px;overflow:auto;padding:2px}
.col-filter-multi-item{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:var(--text);cursor:pointer;padding:5px 4px;border-radius:7px;transition:background .15s}
.col-filter-multi-item:hover{background:var(--surface-soft)}
.col-filter-multi-item input{accent-color:var(--primary);width:15px;height:15px;flex:none;margin:0}
.col-filter-pop-actions{display:flex;justify-content:flex-end;gap:7px}
.button-tiny{padding:5px 12px;font-size:var(--fs-2xs);border-radius:7px}
.dark-mode .col-filter-pop{background:var(--surface);border-color:var(--line);box-shadow:0 18px 44px rgba(0,0,0,.45)}
.dark-mode .col-filter-pop .col-filter-input{background:#202136;border-color:#383950;color:#fff}
/* motion-reduce: popover بدون انیمیشن */
@media (prefers-reduced-motion:reduce){.col-filter-btn{transition:none}}
.table-summary,.table-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;color:#969aab;font-size:0.75rem}.table-summary strong,.table-footer strong{color:#54596e}.sync-state{color:#36ad88;font-size:0.6875rem}.sync-state i{display:inline-block;width:6px;height:6px;background:#4dc19e;border-radius:50%;margin-left:5px}.table-footer{border-top:1px solid #f0f0f5}.pagination{display:flex;gap:5px;direction:ltr}.pagination button{background:#fff;border:1px solid var(--line);color:#888ca0;border-radius:6px;min-width:27px;height:27px;font-size:0.75rem}.pagination button.is-current{background:var(--primary);border-color:var(--primary);color:#fff}.empty-state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:25px;color:#999daf}.empty-state strong{color:#62677c;font-size:0.78125rem}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.kanban-column{background:#f1f2f7;border-radius:14px;padding:13px;min-height:400px}.kanban-heading{display:flex;align-items:center;gap:7px;margin:0 2px 12px}.kanban-heading strong{font-size:0.78125rem}.kanban-heading b{font-size:0.6875rem;color:#989cad;background:#fff;border-radius:5px;padding:4px 6px}.kanban-heading button{margin-right:auto;background:transparent;color:#9ca0b0;font-size:1rem}.kanban-dot{width:7px;height:7px;border-radius:50%}.dot-purple{background:var(--primary)}.dot-blue{background:#4d9cf8}.dot-orange{background:#f3a34f}.dot-green{background:#4bbf9b}.lead-card{background:#fff;border:1px solid #e8e8f0;border-radius:12px;padding:14px;margin-bottom:9px;box-shadow:0 4px 12px rgba(30,30,60,.03);transition:.2s}.lead-card:hover{transform:translateY(-3px);box-shadow:0 12px 22px rgba(30,30,60,.08)}.lead-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lead-card-top button{background:transparent;color:#adb0bc}.lead-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#fff;background:var(--primary);font-weight:700;font-size:0.78125rem}.lead-blue{background:#4d9cf8}.lead-orange{background:#f3a34f}.lead-green{background:#4bbf9b}.lead-violet{background:#9875f4}.lead-pink{background:#df7899}.lead-card>strong{font-size:0.78125rem}.lead-card>p{font-size:0.6875rem;color:#a4a7b5;margin:6px 0 14px}.lead-card-footer{display:flex;justify-content:space-between;border-top:1px solid #f1f1f5;padding-top:11px;color:#a3a6b5;font-size:0.6875rem}.lead-card-footer b{color:#676b7e;font-size:0.75rem}.add-card{width:100%;background:transparent;border:1px dashed #cbcdd8;border-radius:9px;color:#989cab;padding:9px;font-size:0.75rem}.opportunity-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:13px;margin-bottom:18px}.summary-mini{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px 19px;box-shadow:var(--shadow)}.summary-mini>span{display:block;color:#767b92;font-size:0.75rem}.summary-mini strong{display:block;font-size:1.25rem;margin:8px 0}.summary-mini strong small{font-size:0.6875rem;color:#9296aa;font-weight:500}.summary-mini i{font-style:normal;font-size:0.6875rem}.probability{display:flex;align-items:center;gap:7px;direction:ltr;color:#9296aa;font-size:0.6875rem}.probability i{height:5px;width:42px;border-radius:5px;background:#e9e7ff;position:relative;overflow:hidden}.probability i:after{content:'';display:block;width:100%;height:100%;background:var(--primary)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:17px}.calendar-panel,.agenda-panel{padding-bottom:20px}.calendar-toolbar{display:flex;align-items:center;gap:10px;padding:21px 24px;border-bottom:1px solid #f0f0f5}
.calendar-toolbar .calendar-jump-input{width:118px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#555a70;font-size:0.75rem;font-family:inherit;outline:0;transition:.15s}
.calendar-toolbar .calendar-jump-input:focus{border-color:#987fff;box-shadow:0 0 0 3px #f0ecff}
.dark-mode .calendar-toolbar .calendar-jump-input{background:#202136;border-color:#383950;color:#fff}
.calendar-grid i.cal-selected{background:#e9e2ff;border-color:#987fff;color:#5b45c8;font-weight:800;box-shadow:inset 0 0 0 1px rgba(152,127,255,.45)}
.calendar-grid i.cal-selected:not(.today):hover{background:#e9e2ff}.calendar-toolbar h2{font-size:0.9375rem;margin:0 auto}.calendar-toolbar .select-button{margin-right:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:17px 20px;gap:5px}.calendar-grid span{text-align:center;color:#a6a9b6;font-size:0.6875rem;padding-bottom:9px}.calendar-grid i{font-style:normal;min-height:48px;border:1px solid transparent;border-radius:9px;text-align:center;padding-top:14px;color:#656a7c;font-size:0.78125rem;transition:.2s}.calendar-grid i:not(.muted-day):hover{background:#f4f1ff;border-color:#e4ddff;color:var(--primary-dark)}.calendar-grid .muted-day{color:#c8cad4}.calendar-grid .today{background:var(--primary);color:#fff;box-shadow:0 7px 13px color-mix(in srgb, var(--primary) 20%, transparent)}.agenda-item{display:flex;align-items:flex-start;gap:11px;padding:13px 24px;border-bottom:1px solid #f1f1f5}.agenda-time{font-size:0.6875rem;color:#a3a6b6;width:32px;padding-top:2px}.agenda-line{width:3px;border-radius:3px;align-self:stretch;min-height:49px}.line-purple{background:var(--primary)}.line-orange{background:#f3a34f}.line-blue{background:#4d9cf8}.agenda-item strong{font-size:0.75rem;color:#5d6277}.agenda-item p{font-size:0.6875rem;color:#a4a7b5;margin:5px 0 7px}.agenda-tag{display:inline-block;font-size:var(--fs-2xs);border-radius:5px;padding:4px 6px}.tag-purple{color:#7354da;background:#eeeaff}.tag-orange{color:#d4843b;background:#fff0df}.tag-blue{color:#398bdf;background:#e6f3ff}.tag-green{color:#2b9d7c;background:#e4f8f0}.tag-red{color:#d65f70;background:#ffe8eb}.activity-quality-panel{margin-bottom:18px}.activity-quality-body{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:24px;align-items:center;padding:0 24px 12px}.activity-quality-gauge .ec-host{height:170px}.activity-quality-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.aq-stat{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:13px 15px}.aq-stat span{display:block;color:#767b92;font-size:0.6875rem}.aq-stat strong{display:block;font-size:1.1875rem;margin:5px 0 2px;color:var(--text)}.aq-stat.aq-highlight{background:linear-gradient(145deg,#eafaf5,#fcfffe);border-color:#d8f3ea}.aq-stat.aq-highlight strong{color:#2aa984}.aq-sub{display:block;color:#9aa0ae;font-size:0.6875rem}.activity-quality-summary{margin:0 24px 22px;color:#7f8498;font-size:0.75rem;border-top:1px solid #f0f0f5;padding-top:13px}.dark-mode .aq-stat{background:#202136;border-color:#383950}.dark-mode .aq-stat.aq-highlight{background:#1c2b26;border-color:#2c4a41}.dark-mode .activity-quality-summary{border-color:var(--line)}@media(max-width:800px){.activity-quality-body{grid-template-columns:1fr}.activity-quality-gauge .ec-host{height:150px}}.report-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin-bottom:18px}.report-card{min-height:190px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);position:relative;overflow:hidden}.report-main{background:linear-gradient(135deg,#f0ecff,#fff)}.report-card-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#ded5ff;color:var(--primary-dark);font-size:1.1875rem;margin-bottom:27px}.report-icon-orange{background:#ffebd2;color:#dc8a3f}.report-icon-green{background:#d9f5eb;color:#2ca982}.report-card h2{font-size:0.9375rem;margin:0 0 8px}.report-card p{color:#9ca0b0;font-size:0.75rem;max-width:300px;line-height:1.8;margin:0}.report-card .panel-link{padding:18px 0 0}.report-insight{display:flex;justify-content:space-between;align-items:center;padding:26px 31px;background:linear-gradient(110deg,#fff,#f7f4ff)}.insight-kicker{color:var(--primary);font-size:0.75rem;font-weight:700}.report-insight h2{font-size:1.0625rem;max-width:570px;line-height:1.7;margin:12px 0 4px}.report-insight p{color:#989cac;font-size:0.75rem}.insight-chart{height:95px;display:flex;gap:8px;align-items:flex-end;padding:0 30px}.insight-chart span{width:12px;min-height:10px;background:#b8a8ff;border-radius:5px 5px 0 0}.insight-chart span:nth-last-child(-n+2){background:var(--primary)}.settings-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:17px}.settings-menu{padding:10px;height:max-content}.settings-tab{display:flex;justify-content:space-between;width:100%;text-align:right;padding:12px 13px;border-radius:8px;background:transparent;color:#8c91a4;font-size:0.78125rem}.settings-tab:hover,.settings-tab.is-active{background:#f2efff;color:var(--primary-dark)}.settings-content{padding:28px 31px}.settings-section{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid #f0f0f5;max-width:600px}.settings-section:last-child{border:0;margin:0}.settings-section h2{font-size:0.9375rem;margin:0 0 5px}.settings-section>p{color:#9ca0b0;font-size:0.75rem;margin:0 0 20px}.settings-section label,.generic-form label{display:block;color:#70758a;font-size:0.75rem;font-weight:600;margin:13px 0}.settings-section input,.settings-section select,.generic-form input,.generic-form select,.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #e5e6ee;background:#fff;border-radius:8px;color:#555a70;padding:10px 11px;outline:0;font-size:0.78125rem;margin-top:7px;transition:.2s}.form-grid textarea{resize:vertical;min-height:64px;font-family:inherit;line-height:1.7}.settings-section input:focus,.settings-section select:focus,.generic-form input:focus,.generic-form select:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#987fff;box-shadow:0 0 0 3px #f0ecff}.theme-options{display:flex;gap:12px}.theme-option{background:#fff;border:1px solid #e5e6ee;border-radius:10px;padding:7px;display:flex;flex-direction:column;gap:7px;text-align:center;color:#777b8d;font-size:0.6875rem}.theme-option.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px #eeeaff}.theme-preview{width:83px;height:45px;border-radius:6px;display:block}.theme-preview-light{background:linear-gradient(135deg,#f3efff 25%,#fff 25%)}.theme-preview-dark{background:linear-gradient(135deg,#25243a 25%,#151622 25%)}.theme-preview-indigo{background:linear-gradient(135deg,#6051cf 25%,#30266a 25%)}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;background:rgba(27,26,45,.5);backdrop-filter:blur(5px);z-index:100;opacity:0;transition:.18s;padding:16px;overflow:auto}.modal-backdrop[hidden]{display:none}.modal-backdrop.is-visible{opacity:1}.crm-modal{width:min(500px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 25px 70px rgba(20,19,45,.25);transform:translateY(10px);transition:.18s;overflow:hidden}.is-visible .crm-modal{transform:none}.crm-modal>.modal-header,.crm-modal>.modal-footer{flex:none}.crm-modal>form,.crm-modal>.identity-creds,.crm-modal>.table-scroll,.crm-modal>.ticket-conversation,.crm-modal>.record-attachments,.crm-modal>.bulk-results-note{min-height:0;overflow-y:auto}.crm-modal-wide{width:min(900px,100%)}@media(max-width:600px){.modal-backdrop{padding:8px}.crm-modal{max-height:calc(100vh - 16px);border-radius:14px}.modal-header{padding:17px 16px 13px}.crm-modal form{padding:16px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.modal-footer{padding-bottom:14px}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 25px 16px;border-bottom:1px solid #f0f0f5}.modal-kicker{color:var(--primary);font-size:0.6875rem;font-weight:700}.modal-header h2{font-size:1.125rem;margin:7px 0 0}.modal-close{font-size:1.375rem}.crm-modal form{padding:21px 25px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;align-items:start}.form-grid label{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;color:#70758a;font-size:0.75rem;font-weight:600;margin:0;line-height:1.6}.form-grid label>span{color:#ef4444;font-weight:700;font-size:var(--fs-2xs);line-height:1;display:inline-block;margin-inline-end:2px}.form-grid label>input,.form-grid label>select,.form-grid label>textarea{width:100%;margin-top:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.form-wide{grid-column:1/-1}.form-grid .field-label{display:block;margin-bottom:6px}@media(max-width:600px){.form-grid{grid-template-columns:1fr !important;gap:14px}.form-wide{grid-column:1/-1 !important}}.form-note{color:#a1a5b4;font-size:0.6875rem;margin:15px 0}
.form-grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:2px 14px}
.form-grid-12 .form-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,1fr);gap:2px 14px;padding-top:6px}
.form-grid-12 .form-group + .form-group{border-top:1px dashed #eeeef4;margin-top:8px;padding-top:14px}
.form-group-title{grid-column:1/-1;color:var(--primary);font-size:0.6875rem;font-weight:800;letter-spacing:.2px;margin:0 0 4px;display:flex;align-items:center;gap:8px}
.form-group-title:after{content:'';flex:1;height:1px;background:#eeeef4}
.f-col-4{grid-column:span 4}.f-col-6{grid-column:span 6}.f-col-8{grid-column:span 8}.f-col-12{grid-column:1/-1}
@supports (display:subgrid){.form-grid-12 .form-group{grid-template-columns:subgrid}}
@media(max-width:600px){.form-grid-12 .form-group{grid-template-columns:1fr}.f-col-4,.f-col-6,.f-col-8,.f-col-12{grid-column:auto}}

/* ===== آکاردئون فرم‌ها (accordion) ===== */
.form-acc{display:block;border:1px solid #ececf3;border-radius:12px;background:#fcfcfe;transition:border-color .2s,box-shadow .2s;overflow:hidden}
.form-acc.is-open{border-color:#ddd4ff;box-shadow:0 2px 10px color-mix(in srgb, var(--primary) 6%, transparent)}
.form-acc + .form-acc{margin-top:12px}
.form-acc-head{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;user-select:none;background:linear-gradient(180deg,#faf9ff,#f6f4ff);border-bottom:1px solid transparent;transition:background .2s;list-style:none}.form-acc>summary{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;user-select:none;background:linear-gradient(180deg,#faf9ff,#f6f4ff);border-bottom:1px solid transparent;border-radius:12px;transition:background .2s;list-style:none;font-size:0.8125rem;font-weight:800;color:#4a4f66;line-height:1.5}.form-acc>summary::-webkit-details-marker{display:none}.form-acc>summary:before{content:'▾';width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:6px;background:#eeeaff;color:var(--primary);font-size:0.6875rem;font-weight:800;transition:transform .3s var(--ease-snap),background .2s,color .2s}.form-acc[open]>summary:before{transform:rotate(180deg);background:var(--primary);color:#fff}.form-acc>summary:hover{background:linear-gradient(180deg,#f4f1ff,#efeafd)}.form-acc[open]>summary{border-bottom-color:#ececf3}.form-acc[open]>summary{color:var(--primary)}
.form-acc-head::-webkit-details-marker{display:none}
.form-acc:hover .form-acc-head{background:linear-gradient(180deg,#f4f1ff,#efeafd)}
.form-acc.is-open .form-acc-head{border-bottom-color:#ececf3}
.form-acc-title{font-size:0.78125rem;font-weight:800;color:#4a4f66;flex:1;transition:color .2s}
.form-acc.is-open .form-acc-title{color:var(--primary)}
.form-acc-icon{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:6px;background:#eeeaff;color:var(--primary);font-size:0.6875rem;font-weight:800;transition:transform .3s var(--ease-snap),background .2s,color .2s}
.form-acc-icon:before{content:'▾';line-height:1}
.form-acc.is-open .form-acc-icon{transform:rotate(180deg);background:var(--primary);color:#fff}
.form-acc-body{display:block;overflow:hidden;max-height:4000px;opacity:1;padding:8px 15px 16px;transition:max-height .38s var(--ease-soft),opacity .28s,padding .28s}.form-acc-body .form-grid{margin-top:10px}
.form-acc.is-closing .form-acc-body{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.form-acc:not(.is-open):not(.is-closing) .form-acc-body{display:none}
@media(max-width:600px){
  .form-grid{gap:13px}
  .crm-modal>.modal-footer{gap:8px;padding:12px 16px 16px}
  .form-acc-body{padding:7px 12px 14px}
  .form-acc>summary,.form-acc-head{padding:12px 13px}
}
@media(max-width:600px){.form-acc,.form-acc-body{grid-template-columns:1fr}}.modal-footer{display:flex;justify-content:flex-start;gap:9px;border-top:1px solid #f0f0f5;padding-top:17px;margin-top:18px}.generic-form label{margin:13px 0 17px}.toast{position:fixed;bottom:25px;left:30px;z-index:200;display:flex;align-items:center;gap:10px;background:#24243a;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:0 10px 30px rgba(25,24,52,.2);font-size:0.75rem;opacity:0;pointer-events:none;transform:translateY(15px);transition:.25s}.toast.is-visible{opacity:1;transform:none}.toast-icon{display:grid;place-items:center;width:21px;height:21px;background:#43bd98;border-radius:7px;font-size:0.78125rem}.dark-mode .topbar{background:rgba(24,26,43,.78)}.dark-mode .panel,.dark-mode .summary-mini,.dark-mode .report-card,.dark-mode .crm-modal,.dark-mode .button-ghost,.dark-mode .select-button,.dark-mode .filter-button,.dark-mode .theme-option,.dark-mode .pagination button{background:var(--surface);border-color:var(--line);color:var(--text)}.dark-mode .crm-table th{background:#1d1e30;border-color:var(--line)}.dark-mode .crm-table td,.dark-mode .activity-item,.dark-mode .agenda-item,.dark-mode .settings-section,.dark-mode .modal-header,.dark-mode .modal-footer,.dark-mode .table-footer{border-color:var(--line)}.dark-mode .crm-table tbody tr:hover,.dark-mode .search-field,.dark-mode .command-search{background:#202136}.dark-mode .metric-card{filter:saturate(.8) brightness(.75)}.dark-mode .form-grid input,.dark-mode .form-grid textarea,.dark-mode .generic-form input,.dark-mode .settings-section input,.dark-mode .settings-section select,.dark-mode .generic-form select{background:#202136;border-color:#383950;color:#fff}.dark-mode .kanban-column{background:#1b1d2d}.dark-mode .lead-card{background:#24263a;border-color:#383a50}.dark-mode .calendar-grid i{color:#d4d3e0}.dark-mode .calendar-grid .muted-day{color:#62657b}.dark-mode .settings-tab:hover,.dark-mode .settings-tab.is-active{background:#2a2548}.dark-mode .report-insight{background:linear-gradient(110deg,#181a2b,#24203f)}@media(max-width:1250px){.main-content{margin-right:264px;width:calc(100% - 264px)}.page-container{padding-left:28px;padding-right:28px}.topbar{padding-left:28px;padding-right:28px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.lower-grid{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr 1fr}.report-main{grid-column:1/-1}}@media(max-width:800px){.main-content{margin-right:0;width:100%}.sidebar{position:fixed;right:-280px;transition:right .25s ease}.sidebar.is-open{right:0}.sidebar-close,.menu-toggle{display:grid}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,15,27,.45);z-index:25;opacity:0;pointer-events:none;transition:.25s}.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}.topbar{height:64px;padding:0 18px}.command-search{min-width:0;width:39px;padding:7px;justify-content:center}.command-search>span:nth-child(2),.command-search kbd{display:none}.topbar-actions{gap:10px}.topbar-divider{display:none}.page-container{padding:28px 18px 45px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:23px}.dashboard-heading{flex-direction:row;align-items:flex-end}.heading-actions{width:100%}.dashboard-heading .heading-actions{width:auto}.heading-actions .button{flex:1}.dashboard-heading .heading-actions .button-ghost{display:none}.page-heading h1{font-size:1.5rem}.opportunity-summary{grid-template-columns:repeat(2,1fr)}.calendar-layout{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.settings-menu{display:flex;overflow:auto;gap:5px}.settings-tab{white-space:nowrap}.settings-tab span{display:none}}@media(max-width:560px){.breadcrumb span,.breadcrumb b{display:none}.topbar-start{gap:8px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{padding:16px 13px;min-height:145px}.metric-label{font-size:0.6875rem}.metric-value{font-size:1.1875rem}.metric-value small{font-size:var(--fs-2xs)}.metric-foot{font-size:var(--fs-2xs);gap:4px;flex-direction:column;align-items:flex-start}.metric-icon{width:25px;height:25px}.dashboard-heading{display:block}.dashboard-heading .heading-actions{margin-top:18px}.panel-heading{padding:18px 15px 13px}.crm-table th,.crm-table td{padding-left:15px;padding-right:15px}.contact-toolbar{display:block}.toolbar-filters{margin-top:10px;overflow:auto}.toolbar-filters>*{white-space:nowrap}.kanban-board{display:flex;overflow:auto;margin:0 -18px;padding:0 18px 14px}.kanban-column{min-width:250px}.report-grid{grid-template-columns:1fr}.report-main{grid-column:auto}.report-insight{display:block;padding:22px}.insight-chart{margin-top:20px;padding:0 10px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.toast{left:15px;right:15px;bottom:15px}.calendar-grid{padding:12px 8px;gap:2px}.calendar-grid i{min-height:38px;padding-top:10px}.calendar-grid span{font-size:var(--fs-2xs)}.theme-options{gap:6px}.theme-preview{width:67px}.topbar-actions .theme-toggle{display:none}}

/* ===== تم مشترک صفحات عمومی: ورود و پورتال مشتری ===== */
.public-theme-picker{position:fixed;top:18px;left:22px;z-index:20;display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(18,17,37,.52);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(0,0,0,.14);direction:rtl}.public-theme-picker>span{color:rgba(255,255,255,.7);font-size:0.6875rem;font-weight:700;margin:0 4px}.public-theme-picker button{display:flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:rgba(255,255,255,.72);font:inherit;font-size:0.6875rem;cursor:pointer;transition:.18s}.public-theme-picker button:hover{background:rgba(255,255,255,.12);color:#fff;transform:translateY(-1px)}.public-theme-picker button.is-selected{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.5);color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.1)}.theme-swatch{display:block;width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.7)}.theme-swatch-light{background:#f8fafc}.theme-swatch-dark{background:#171827}.theme-swatch-royal{background:linear-gradient(135deg,#0b63ce,#0e8fd0)}.theme-swatch-emerald{background:linear-gradient(135deg,#12805c,#8cae1e)}
.public-theme-picker-portal{position:static;box-shadow:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);padding:4px}.public-theme-picker-portal>span{font-size:var(--fs-2xs)}.public-theme-picker-portal button{padding:4px 5px;font-size:var(--fs-2xs)}.public-theme-picker-portal .theme-swatch{width:13px;height:13px}
html[data-theme="light"] .login-page{background:radial-gradient(1100px 700px at 88% -15%,#dbeafe 0%,transparent 58%),linear-gradient(145deg,#f7f9ff 0%,#eef2ff 55%,#f8fafc 100%)!important;color:#202337!important}html[data-theme="light"] .login-aside{color:#202337!important}html[data-theme="light"] .login-aside .eyebrow{color:#5e61a6!important}html[data-theme="light"] .login-aside .lead,html[data-theme="light"] .login-aside .feature{color:#62677f!important}html[data-theme="light"] .login-aside .feature b{color:#343950!important}html[data-theme="light"] .login-form-wrap{background:rgba(255,255,255,.48)!important;border-color:rgba(101,110,160,.12)!important}html[data-theme="light"] .login-card{background:rgba(255,255,255,.9)!important;border-color:#e4e8f4!important;box-shadow:0 24px 60px rgba(65,75,125,.16)!important}html[data-theme="light"] .login-card h2{color:#202337!important}html[data-theme="light"] .login-card .sub,html[data-theme="light"] .login-note{color:#7d849a!important}html[data-theme="light"] .demo-role{background:#f8f9fd!important;border-color:#e6e9f2!important;color:#343950!important}html[data-theme="light"] .demo-role:hover{background:#f0ecff!important;border-color:#a99aff!important}html[data-theme="light"] .demo-role span small,html[data-theme="light"] .demo-role .tag{color:#81879a!important}html[data-theme="light"] .auth-field label{color:#5c6378!important}html[data-theme="light"] .auth-field input{background:#fff!important;border-color:#dfe3ef!important;color:#202337!important}html[data-theme="light"] .remember-me{color:#7d849a!important}
html[data-theme="royal"] .login-page{background:radial-gradient(1200px 800px at 85% -10%,#2563eb 0%,transparent 57%),linear-gradient(155deg,#0b2b5c 0%,#0b4f87 52%,#0f7894 100%)!important}html[data-theme="royal"] .login-card{background:rgba(7,35,78,.72)!important;border-color:rgba(147,197,253,.3)!important}html[data-theme="royal"] .login-form-wrap{background:rgba(6,39,83,.2)!important}html[data-theme="royal"] .brand-mark,html[data-theme="royal"] .demo-avatar{background:linear-gradient(135deg,#38bdf8,#2563eb)!important}html[data-theme="royal"] .login-btn{background:linear-gradient(135deg,#0ea5e9,#2563eb)!important}html[data-theme="royal"] .demo-role:hover{background:rgba(14,165,233,.18)!important;border-color:rgba(125,211,252,.65)!important}
html[data-theme="emerald"] .login-page{background:radial-gradient(1200px 800px at 85% -10%,#16a34a 0%,transparent 57%),linear-gradient(155deg,#062d25 0%,#075b48 52%,#0e766d 100%)!important}html[data-theme="emerald"] .login-card{background:rgba(4,51,40,.72)!important;border-color:rgba(110,231,183,.3)!important}html[data-theme="emerald"] .login-form-wrap{background:rgba(4,54,43,.2)!important}html[data-theme="emerald"] .brand-mark,html[data-theme="emerald"] .demo-avatar{background:linear-gradient(135deg,#34d399,#059669)!important}html[data-theme="emerald"] .login-btn{background:linear-gradient(135deg,#10b981,#047857)!important}html[data-theme="emerald"] .demo-role:hover{background:rgba(16,185,129,.18)!important;border-color:rgba(110,231,183,.65)!important}
html[data-theme="light"] .portal{background:radial-gradient(1100px 700px at 90% -10%,#dbeafe 0%,transparent 55%),linear-gradient(160deg,#f7f9ff 0%,#eef2ff 60%,#f8fafc 100%)!important;color:#202337!important}html[data-theme="light"] .portal-head{border-color:#e1e6f0!important}html[data-theme="light"] .portal .brand{color:#202337!important}html[data-theme="light"] .portal .portal-user small,html[data-theme="light"] .portal .pk>span,html[data-theme="light"] .portal .pk em,html[data-theme="light"] .portal .card-head p,html[data-theme="light"] .portal .ticket-meta,html[data-theme="light"] .portal .detail-desc,html[data-theme="light"] .portal .msg-bubble strong{color:#737c92!important}html[data-theme="light"] .portal .card,html[data-theme="light"] .portal .pk{background:rgba(255,255,255,.88)!important;border-color:#e2e7f1!important}html[data-theme="light"] .portal .btn-ghost{background:#fff!important;border-color:#dfe4ee!important;color:#5e667d!important}html[data-theme="light"] .portal .ticket-item:hover,html[data-theme="light"] .portal .ticket-item.is-active{background:#f0ecff!important}html[data-theme="light"] .portal .msg-bubble{background:#f5f6fb!important;border-color:#e3e7f0!important}html[data-theme="light"] .portal .msg-bubble p,html[data-theme="light"] .portal .portal-order-table td{color:#3d455c!important}html[data-theme="light"] .portal .tab{color:#737c92!important;border-color:#dfe4ee!important}html[data-theme="light"] .portal .modal-card{background:#fff!important;color:#202337!important}html[data-theme="light"] .portal .modal-card input,html[data-theme="light"] .portal .modal-card select,html[data-theme="light"] .portal .modal-card textarea{background:#f8f9fd!important;border-color:#dfe4ee!important;color:#202337!important}
html[data-theme="royal"] .portal{background:radial-gradient(1100px 700px at 90% -10%,#2563eb 0%,transparent 55%),linear-gradient(160deg,#092a5b 0%,#0b568b 60%,#0c718c 100%)!important}html[data-theme="royal"] .portal .brand-mark,html[data-theme="royal"] .portal .btn-primary{background:linear-gradient(135deg,#38bdf8,#2563eb)!important}html[data-theme="royal"] .portal .avatar-c{background:linear-gradient(135deg,#22d3ee,#2563eb)!important}html[data-theme="royal"] .portal .tab.is-active{background:rgba(56,189,248,.25)!important;border-color:#38bdf8!important}
html[data-theme="emerald"] .portal{background:radial-gradient(1100px 700px at 90% -10%,#16a34a 0%,transparent 55%),linear-gradient(160deg,#062d25 0%,#075b48 60%,#0e766d 100%)!important}html[data-theme="emerald"] .portal .brand-mark,html[data-theme="emerald"] .portal .btn-primary{background:linear-gradient(135deg,#34d399,#059669)!important}html[data-theme="emerald"] .portal .avatar-c{background:linear-gradient(135deg,#2dd4bf,#059669)!important}html[data-theme="emerald"] .portal .tab.is-active{background:rgba(52,211,153,.23)!important;border-color:#34d399!important}
@media(max-width:700px){.public-theme-picker{top:10px;left:10px;gap:2px;padding:4px}.public-theme-picker>span{display:none}.public-theme-picker button{padding:4px}.public-theme-picker button b{display:none}.public-theme-picker-portal{display:flex}.public-theme-picker-portal>span{display:inline}.public-theme-picker-portal button b{display:none}}

/* ===== تم آبی سازمانی — نگاشت هویت بصری راهکاران/همکاران سیستم ===== */
/* پالت مرجع: قرمز برند #D6001C، سرمه‌ای سازمانی #0B1F3A، آبی عملیاتی #0B63CE و زمینهٔ سفید. */
.rahkaran-mark{position:relative!important;overflow:hidden}.rahkaran-glyph{position:relative;display:block;width:22px;height:22px}.rahkaran-glyph i{position:absolute;display:block;background:#fff;border-radius:2px;transform:skewY(-28deg);box-shadow:0 1px 0 rgba(0,0,0,.12)}.rahkaran-glyph i:nth-child(1){width:5px;height:15px;right:2px;top:3px}.rahkaran-glyph i:nth-child(2){width:5px;height:19px;right:8px;top:1px}.rahkaran-glyph i:nth-child(3){width:5px;height:13px;right:14px;top:5px}.rahkaran-glyph i:nth-child(4){width:5px;height:8px;right:20px;top:10px}
html[data-theme="royal"] .public-theme-picker button.is-selected{background:#D6001C!important;border-color:#ff7a8a!important;box-shadow:0 0 0 2px rgba(214,0,28,.22)!important}html[data-theme="royal"] .login-page{background:radial-gradient(900px 500px at 83% -12%,#0B63CE 0%,transparent 62%),radial-gradient(700px 500px at -8% 108%,#0E8FD0 0%,transparent 58%),linear-gradient(145deg,#071A30 0%,#0B2F57 54%,#0B496D 100%)!important}html[data-theme="royal"] .login-page:after{content:'';position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(135deg,rgba(255,255,255,.24) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(120deg,#000,transparent 65%)}html[data-theme="royal"] .login-page .brand-mark,html[data-theme="royal"] .portal .brand-mark{background:#D6001C!important;box-shadow:0 10px 30px rgba(214,0,28,.36)!important}html[data-theme="royal"] .login-card{border-top:3px solid #D6001C!important;background:rgba(7,31,58,.82)!important;box-shadow:0 24px 60px rgba(3,15,31,.48)!important}html[data-theme="royal"] .login-btn{background:linear-gradient(135deg,#0B63CE,#0B3F82)!important;border-right:4px solid #D6001C!important;box-shadow:0 12px 28px rgba(11,99,206,.38)!important}html[data-theme="royal"] .demo-role input{accent-color:#D6001C!important}html[data-theme="royal"] .demo-role .tag{border-right:2px solid #D6001C!important}html[data-theme="royal"] .login-card h2:before{content:'راهکاران';display:block;color:#8fc8ff;font-size:0.84rem;font-weight:700;letter-spacing:.08em;margin-bottom:.65rem}
html[data-theme="royal"] .portal{background:radial-gradient(1000px 650px at 90% -12%,#0B63CE 0%,transparent 57%),radial-gradient(700px 500px at -8% 110%,#0E8FD0 0%,transparent 54%),linear-gradient(160deg,#071A30 0%,#0B2F57 60%,#0B496D 100%)!important}html[data-theme="royal"] .portal-head{background:rgba(7,26,48,.52)!important;border-bottom:1px solid rgba(143,200,255,.2)!important}html[data-theme="royal"] .portal .brand-mark{border-radius:10px!important}html[data-theme="royal"] .portal .card,html[data-theme="royal"] .portal .pk{border-color:rgba(143,200,255,.22)!important;background:rgba(7,31,58,.58)!important;box-shadow:0 14px 34px rgba(3,15,31,.18)!important}html[data-theme="royal"] .portal .card-head{border-bottom-color:rgba(143,200,255,.16)!important}html[data-theme="royal"] .portal .tab.is-active{background:#D6001C!important;border-color:#D6001C!important;box-shadow:0 8px 18px rgba(214,0,28,.25)!important}html[data-theme="royal"] .portal .ticket-item.is-active{border-right-color:#D6001C!important;background:rgba(214,0,28,.13)!important}html[data-theme="royal"] .portal .btn-primary{background:linear-gradient(135deg,#0B63CE,#0B3F82)!important;border-right:3px solid #D6001C!important}html[data-theme="royal"] .portal .rt-live{color:#8fc8ff!important;border-color:rgba(143,200,255,.35)!important;background:rgba(11,99,206,.18)!important}html[data-theme="royal"] .portal .rate-box{border-color:rgba(214,0,28,.45)!important;background:rgba(214,0,28,.09)!important}html[data-theme="royal"] .portal .rate-box h4,html[data-theme="royal"] .portal .rate-star.is-on{color:#ff8490!important}

/* ===== ماژول‌های حساب‌ها و مخاطبین ===== */
select.filter-button{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 9px) 50%;background-size:8px 8px;background-repeat:no-repeat;padding-right:30px;padding-left:10px;max-width:150px;cursor:pointer}.account-chip{display:inline-block;font-size:0.6875rem;color:#7354da;background:#eeeaff;border-radius:6px;padding:4px 7px;margin:2px 2px 2px 0;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.account-chips{display:flex;flex-wrap:wrap;gap:3px;min-width:90px;max-width:200px}.status-muted{color:#7d8296;background:#eef0f4}.row-actions{display:inline-flex;gap:2px;align-items:center}.link-action{font-size:0.84375rem;padding:3px 5px;border-radius:6px;transition:.15s}.link-action:hover{background:#f1edff;color:#7354da}.muted-text{color:#b3b6c2}.field-label{display:block;color:#70758a;font-size:0.75rem;font-weight:600;margin:7px 0 4px}.account-check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;background:#fafafd;border:1px solid #ececf3;border-radius:9px;padding:10px 12px;max-height:150px;overflow:auto}.account-check{display:flex;align-items:center;gap:7px;font-size:0.75rem;color:#5f6479;font-weight:500;cursor:pointer;margin:0}.account-check input{width:auto;margin:0}.crm-modal textarea{display:block;width:100%;border:1px solid #e5e6ee;background:#fff;border-radius:8px;color:#555a70;padding:10px 11px;outline:0;font-size:0.78125rem;margin-top:7px;font-family:inherit;resize:vertical;transition:.2s}.crm-modal textarea:focus{border-color:#987fff;box-shadow:0 0 0 3px #f0ecff}
/* Drawer تاریخچه تغییرات */
.history-drawer{position:fixed;top:0;bottom:0;left:0;width:min(410px,94vw);background:#fff;z-index:120;box-shadow:-18px 0 44px rgba(20,19,45,.16);transform:translateX(-105%);transition:transform .25s ease;display:flex;flex-direction:column;border-left:1px solid var(--line)}.history-drawer.is-open{transform:none}.history-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 22px 14px;border-bottom:1px solid #f0f0f5}.history-head h2{font-size:0.9375rem;margin:6px 0 0;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-body{flex:1;overflow:auto;padding:18px 20px}.history-item{position:relative;padding:0 0 20px;margin:0 0 4px;border-right:2px solid #efedf8;padding-right:16px}.history-item:last-child{border-right-color:transparent;padding-bottom:6px}.history-headline{display:flex;align-items:center;gap:8px}.history-headline strong{font-size:0.78125rem;color:#3f4357}.history-headline time{font-size:0.6875rem;color:#a2a6b5;margin-right:auto}.history-dot{width:9px;height:9px;border-radius:50%;flex:none}.dot-created{background:#4bbf9b}.dot-updated{background:var(--primary)}.dot-deleted{background:#e36f7d}.dot-restored{background:#f3a34f}.history-meta{font-size:0.6875rem;color:#a4a7b5;margin:5px 0 8px}.history-changes{list-style:none;margin:0;padding:0;background:#fafafd;border:1px solid #efeff5;border-radius:9px;overflow:hidden}.history-changes li{display:flex;gap:8px;align-items:baseline;padding:7px 10px;border-bottom:1px solid #f1f1f5;font-size:0.6875rem}.history-changes li:last-child{border-bottom:0}.h-field{color:#8b8fa3;min-width:64px;font-weight:600}.h-diff{direction:ltr;text-align:left;color:#7c8194;display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}.h-diff i{color:#a4a7b5;text-decoration:line-through}.h-diff b{color:#3f4357;font-weight:700}
/* Dark mode برای اجزای جدید */
.dark-mode .history-drawer{background:#181a2b;box-shadow:-18px 0 44px rgba(0,0,0,.4)}.dark-mode .history-head,.dark-mode .history-changes li{border-color:var(--line)}.dark-mode .history-changes,.dark-mode .account-check-list{background:#202136;border-color:#383950}.dark-mode .account-check{color:#cfd2e0}.dark-mode .history-headline strong,.dark-mode .h-diff b{color:#f1f0fb}.dark-mode .history-item{border-right-color:#2b2c40}.dark-mode select.filter-button{background-color:#181a2b;color:#e9e8f4;border-color:#2b2c40}.dark-mode .crm-modal textarea{background:#202136;border-color:#383950;color:#fff}.dark-mode .account-chip{color:#c5b9ff;background:#2a2548}.dark-mode .status-muted{color:#a9adbf;background:#262839}.dark-mode .link-action:hover{background:#2a2548;color:#c5b9ff}
@media(max-width:800px){.history-drawer{width:min(360px,94vw)}}.lead-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}
.lead-summary-row .summary-mini{background:#fff;border:1px solid #e7e8ee;border-radius:14px;padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,64,.04)}
.lead-summary-row .summary-mini span{font-size:0.84375rem;color:#8a8fa3}
.lead-summary-row .summary-mini strong{display:block;font-size:1.25rem;margin-top:4px}
.lead-summary-row .summary-mini strong small{font-size:0.84375rem;color:#8a8fa3;font-weight:500}
.lead-card{position:relative}
.lead-card-top{display:flex;justify-content:space-between;align-items:flex-start}
.lead-card-actions{display:flex;gap:4px}
.lead-stage-btn{background:#f1f2f7;border:none;width:26px;height:26px;border-radius:8px;cursor:pointer;font-size:0.875rem;color:#5b5f73;transition:background .15s,color .15s}
.lead-stage-btn:hover{background:#e6e7f0;color:#4b4fd8}
.lead-more{background:none;border:none;color:#9a9eb2;cursor:pointer;font-size:0.9375rem;padding:2px 4px;border-radius:6px}
.lead-more:hover{color:#4b4fd8;background:#f1f2f7}
.lead-company{display:block;font-size:0.9375rem;margin-top:8px}
.lead-sub{font-size:0.84375rem;color:#8a8fa3;margin:3px 0 0}
.lead-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.lead-score{font-size:0.78125rem;font-weight:700;padding:3px 8px;border-radius:999px}
.score-high{color:#0d8a4e;background:#e5f7ee}
.score-mid{color:#b56b00;background:#fdf1dc}
.score-low{color:#8a8fa3;background:#f0f1f5}
.lead-date{font-size:0.78125rem;color:#a9adbf}
.lead-action-convert{margin-top:10px;width:100%;padding:7px;border:none;border-radius:9px;background:#7c5cff;color:#fff;font-size:0.84375rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}
.lead-action-convert:hover{background:#6a47f0}
.lead-action-convert:active{transform:scale(.98)}
.lead-action-qazvin{margin-top:6px;width:100%;padding:7px;border:1px solid #c9902f;border-radius:9px;background:linear-gradient(135deg,#fff6d8,#e8b84e);color:#674300;font-size:0.84375rem;font-weight:700;cursor:pointer;transition:filter .15s,transform .1s}.lead-action-qazvin:hover{filter:brightness(.96)}.lead-action-qazvin:active{transform:scale(.98)}.lead-action-qazvin:disabled{opacity:.55;cursor:wait}
.conversion-result-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}.conversion-result-links .button{font-family:inherit}
.lead-avatar.lead-muted{background:#e4e5ea;color:#8a8fa3}
/* T7: کارتِ سرنخِ حذف‌شده — حالت بازیابی. کدر و سبزه Until reverse restore is clicked. */
.lead-card-deleted{opacity:.72;border-style:dashed;background:repeating-linear-gradient(45deg,#fff,#fff 10px,#fafafc 10px,#fafafc 20px)}
.lead-card-deleted:hover{opacity:.95}
.lead-restore{color:#0d8a4e !important;font-size:1rem}
.lead-restore:hover{color:#0a6e3e !important;background:#e5f7ee}
.lead-deleted-badge{font-size:0.6875rem;font-weight:700;color:#0d8a4e;background:#e5f7ee;padding:3px 8px;border-radius:999px}
.lead-deleted-toggle.is-active{background:#7c5cff;color:#fff}
.kanban-empty{text-align:center;padding:48px 16px;color:#8a8fa3;background:#fff;border:1px dashed #d9dbe6;border-radius:16px;grid-column:1/-1}
.kanban-empty strong{display:block;font-size:0.9375rem;color:#3c4058;margin-bottom:4px}
.kanban-empty-column{color:#a9adbf;font-size:0.84375rem;text-align:center;padding:18px 0}
.convert-summary{display:flex;gap:14px;align-items:flex-start;padding:18px;background:#f8f7ff;border:1px solid #ece9ff;border-radius:14px;margin:16px 0 0}
.convert-icon{width:42px;height:42px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#7c5cff;color:#fff;font-size:1.25rem}
.convert-summary p{margin:0;font-size:0.875rem;line-height:1.9;color:#5b5f73}
.convert-summary strong{color:#2f3150}
@media(max-width:900px){.lead-card-footer{flex-direction:column;align-items:flex-start;gap:6px}}

/* ===== Date picker (Jalali) ===== */
.jdate-popup{width:280px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(27,26,52,.16);overflow:hidden;font-size:0.84375rem;direction:rtl;user-select:none;position:fixed;z-index:12000;opacity:0;transform:translateY(6px) scale(.98);visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s}
.jdate-popup.jp-open{opacity:1;transform:none;visibility:visible;pointer-events:auto}
.jdate-popup .jp-header{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 5px;background:#fafafe}
.jdate-popup .jp-nav-group{display:flex;gap:2px}
.jdate-popup .jp-nav{background:transparent;border:0;font-size:0.9375rem;color:#7354da;padding:5px 8px;border-radius:7px;cursor:pointer;transition:.15s}
.jdate-popup .jp-nav:hover{background:#f0ecff}
.jdate-popup .jp-nav:focus-visible{outline:2px solid #7354da;outline-offset:1px}
.jdate-popup .jp-title{font-weight:800;font-size:0.875rem;color:#383c53}
.jdate-popup .jp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 6px 2px;color:#a2a5b5;font-size:0.75rem;font-weight:700;text-align:center}
.jdate-popup .jp-weekdays span{padding:3px 0}
.jdate-popup .jp-weekdays .jp-wknd{color:#d65f70}
.jdate-popup .jp-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 5px 6px;gap:2px;text-align:center}
.jdate-popup .jp-grid .jp-day{min-height:29px;display:grid;place-items:center;border:0;background:transparent;border-radius:9px;font-size:0.78125rem;font-family:inherit;color:#4a4e65;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.jdate-popup .jp-grid .jp-day:hover{background:#f0ecff;color:#7354da;transform:translateY(-1px)}
.jdate-popup .jp-grid .jp-day:focus-visible{outline:2px solid #7354da;outline-offset:1px}
.jdate-popup .jp-grid .jp-day.jp-wknd{color:#d65f70}
.jdate-popup .jp-grid .jp-day.jp-wknd:hover{background:#ffe9ee;color:#d6455c}
.jdate-popup .jp-grid .jp-day.jp-disabled{opacity:.32;cursor:not-allowed;background:transparent;color:#9a9db0;transform:none}
.jdate-popup .jp-grid .jp-day.jp-disabled:hover{background:transparent;color:#9a9db0;transform:none}
.jdate-popup .jp-grid .jp-day.jp-disabled.jp-wknd{color:#9a9db0}
.jdate-popup .jp-grid .jp-day.jp-disabled.jp-wknd:hover{background:transparent;color:#9a9db0}
.jdate-popup .jp-range-hint{display:block;margin:0 9px 6px;padding:5px 8px;border-radius:7px;font-size:0.75rem;font-weight:700;color:#b24352;background:#fff0f2;border:1px solid #ffd9de}
.jdate-popup .jp-today{background:#f3f0ff;color:#7354da;font-weight:800;box-shadow:inset 0 0 0 1px rgba(115,84,218,.35)}
.jdate-popup .jp-grid .jp-sel{background:#7354da;color:#fff;font-weight:800;box-shadow:0 4px 10px rgba(115,84,218,.32)}
.jdate-popup .jp-grid .jp-sel:hover{background:#6545cd;color:#fff}
.jdate-popup .jp-grid .jp-fade{animation:jpFade .16s ease}
@keyframes jpFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.jdate-popup,.jdate-popup .jp-grid .jp-fade{animation:none;transition:none}}
.jdate-popup .jp-chips{display:flex;gap:5px;padding:6px 9px 0}
.jdate-popup .jp-chip{flex:1;padding:5px 2px;border:0;border-radius:7px;font-size:0.6875rem;font-weight:700;cursor:pointer;background:#f0edfb;color:#6a5acd;transition:.15s;white-space:nowrap}
.jdate-popup .jp-chip:hover{background:#e3dcff;color:#5b45c8}
.jdate-popup .jp-footer{display:flex;gap:6px;padding:6px 9px 9px;border-top:1px solid #f0f0f5}
.jdate-popup .jp-footer button{flex:1;padding:6px;border:0;border-radius:8px;font-size:0.75rem;font-weight:700;cursor:pointer;background:#f5f5f9;color:#5d6180;transition:.15s}
.jdate-popup .jp-footer button:hover{background:#edeaff;color:#7354da}
.jdate-popup .jp-footer .jp-clear{color:#d65f70}
.jdate-popup .jp-footer .jp-clear:hover{background:#ffe9ee;color:#d6455c}
.dark-mode .jdate-popup{background:#181a2b;border-color:#2b2c40;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.dark-mode .jdate-popup .jp-header,.dark-mode .jdate-popup .jp-footer{background:#1d1e30;border-color:#2b2c40}
.dark-mode .jdate-popup .jp-title{color:#f1f0fb}
.dark-mode .jdate-popup .jp-grid .jp-day{color:#d4d3e0}
.dark-mode .jdate-popup .jp-grid .jp-day:hover{background:#2a2548;color:#c5b9ff}
.dark-mode .jdate-popup .jp-grid .jp-day.jp-disabled{color:#6b6d82;opacity:.35}
.dark-mode .jdate-popup .jp-range-hint{color:#ff9aa8;background:#2a1a22;border-color:#4a2633}
.dark-mode .jdate-popup .jp-today{background:#2a2548;color:#c5b9ff}
.dark-mode .jdate-popup .jp-grid .jp-sel{background:#7354da;color:#fff}
.dark-mode .jdate-popup .jp-grid .jp-wknd{color:#f08a99}
.dark-mode .jdate-popup .jp-chip{background:#262741;color:#b9b2e8}
.dark-mode .jdate-popup .jp-chip:hover{background:#2f2f52;color:#d5cfff}
.dark-mode .jdate-popup .jp-footer button{background:#202136;color:#a4a5b6}
.dark-mode .jdate-popup .jp-footer button:hover{background:#2a2548;color:#c5b9ff}

/* ===== Calendar dot ===== */
.calendar-grid i{position:relative}
.cal-dot{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#7354da;display:block}
.calendar-grid .today .cal-dot{background:#fff}
.cal-selected{border-color:#7354da!important;background:#f4f1ff!important}
.dark-mode .cal-selected{background:#2a2548!important}

/* ===== Low stock row ===== */
.low-stock td{background:#fff6f0!important}
.low-stock .warning-badge{color:#cc6d2e;font-size:0.6875rem;font-weight:700}
.dark-mode .low-stock td{background:#2a1f18!important}

/* ===== Check row in modal ===== */
.check-row{display:flex;align-items:center;gap:8px;margin:10px 0!important;color:#5f6479;font-size:0.78125rem;font-weight:500}
.check-row input{width:auto!important;margin:0!important}

/* ===== Brand color ===== */
.brand-mark-glucosan{background:linear-gradient(135deg,#1a7a2e,#0d5a1e)!important}

/* ===== Unit chips in settings ===== */
.unit-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}

/* ===== Active filter button ===== */
#lowStockFilter.is-active{background:#7354da;color:#fff;border-color:#7354da}

/* ===== مرکز اعلان‌ها ===== */
.notif-wrap{position:relative;display:inline-flex}.notif-badge{position:absolute;top:-5px;left:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ee5a6c;color:#fff;font-size:0.6875rem;font-weight:800;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 3px 8px rgba(238,90,108,.4)}.notif-panel{position:absolute;top:calc(100% + 13px);left:0;width:370px;max-width:calc(100vw - 30px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(23,22,48,.18);z-index:120;overflow:hidden;animation:fadeUp .2s ease}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid #f0f0f5}.notif-head h3{font-size:0.9375rem;margin:4px 0 0}.notif-head .text-button{color:var(--primary-dark);font-size:0.75rem;font-weight:700}.notif-list{max-height:380px;overflow-y:auto}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:13px 18px;border-bottom:1px solid #f3f3f7;transition:.15s}.notif-item:hover{background:#faf9ff}.notif-item.is-read{opacity:.6}.notif-icon{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:0.9375rem;flex:none}.notif-icon.warning{color:#dc8a3f;background:#ffead2}.notif-icon.critical{color:#d94f63;background:#ffe3e8}.notif-icon.info{color:#398be5;background:#e2f1ff}.notif-body{flex:1;min-width:0}.notif-body strong{display:block;font-size:0.78125rem;color:#3d4157}.notif-body p{font-size:0.75rem;color:#8d92a5;margin:4px 0 5px;line-height:1.7}.notif-body small{font-size:0.6875rem;color:#767b92}.notif-read{flex:none;align-self:center;width:24px;height:24px;border-radius:7px;background:#f0edff;color:var(--primary-dark)}.notif-read:hover{background:var(--primary-dark);color:#fff}.notif-foot{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:13px;background:#faf9ff;color:var(--primary-dark);font-size:0.75rem;font-weight:700;border-top:1px solid #f0f0f5}.notif-foot:hover{background:#f2efff}.notif-foot span{margin-right:5px}.dark-mode .notif-panel{background:#1b1c2e;border-color:var(--line)}.dark-mode .notif-head{border-color:var(--line)}.dark-mode .notif-item{border-color:var(--line)}.dark-mode .notif-item:hover{background:#202136}.dark-mode .notif-body strong{color:#eeeafd}.dark-mode .notif-foot{background:#202136;border-color:var(--line)}

/* ===== هشدارهای انبار روی داشبورد ===== */
.dash-alerts{position:relative;margin-top:11px;display:flex;flex-direction:column;gap:6px}.dash-alert{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff7ec;border:1px solid #ffe7c8;border-radius:8px;padding:6px 9px;font-size:0.6875rem}.dash-alert.is-critical{background:#ffe9ed;border-color:#ffd2da}.dash-alert .alert-name{color:#7a5a32;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-alert.is-critical .alert-name{color:#a8485a}.dash-alert b{color:#d4843b;font-weight:800;white-space:nowrap}.dash-alert.is-critical b{color:#d94f63}.alert-empty{color:#8fae9f;font-size:0.75rem;padding:3px 0 12px}
.alert-link{display:block;width:100%;background:#f1fbf7;color:#2a9d7c;font-size:0.6875rem;font-weight:700;padding:5px 8px;border-radius:8px;cursor:pointer;border:none;text-align:right;transition:background .15s ease}
.alert-link:hover{background:#e4f8f0}.dark-mode .alert-link{background:#1d2c28;color:#4bbf9b}.alert-more{color:#c08d4a;font-size:0.6875rem;padding:2px 4px 12px}.metric-link{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:10px;padding:8px;border-radius:8px;background:#f1fbf7;color:#2a9d7c;font-size:0.6875rem;font-weight:700}.metric-link:hover{background:#e4f8f0}.metric-link span{margin-right:4px}.dark-mode .dash-alert{background:#2a2438;border-color:#3d3352}.dark-mode .dash-alert .alert-name{color:#e8c9a3}.dark-mode .dash-alert b{color:#f3a34f}.dark-mode .dash-alert.is-critical{background:#33222c;border-color:#54303c}.dark-mode .alert-empty{color:#5d7a6e}.dark-mode .metric-link{background:#1d2c28;color:#4bbf9b}

/* ===== گزارش فروش ماهانهٔ شمسی ===== */
.sales-panel{padding-bottom:22px;margin-top:18px}.sales-panel .panel-heading{align-items:center}.sales-panel .panel-heading h2{font-size:0.9375rem}.sales-method{color:#767b92!important;font-size:0.6875rem!important;max-width:640px;line-height:1.8;margin-top:2px!important}.sales-panel .panel-actions{display:flex;gap:8px;align-items:center}.funnel-updated{font-size:0.6875rem;color:#2b9d7c;background:#e4f8f0;border:1px solid #cdefe2;border-radius:8px;padding:4px 9px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;transition:opacity .25s ease,transform .25s ease}.funnel-updated-flash{animation:funnelUpdatedFlash .9s ease}@keyframes funnelUpdatedFlash{0%{background:#d7f3e6;transform:scale(1)}35%{background:#b9ead4;transform:scale(1.06)}100%{background:#e4f8f0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.funnel-updated-flash{animation:none}.funnel-updated{transition:none}}.grid-stale-bar{padding:8px 24px;background:#fff5df;color:#996b25;border-bottom:1px solid #f4d9a1;font-size:0.75rem;font-weight:700}.dark-mode .grid-stale-bar{background:#352b1b;color:#f4c979;border-color:#66501f}.realtime-offline{position:relative}.realtime-offline .metric-value,.realtime-offline.pipeline-total strong,.realtime-offline.metric-value{filter:grayscale(.55);opacity:.72}.realtime-offline-badge{display:inline-block;font-size:var(--fs-2xs);color:#b45464;background:#ffe9ee;border:1px solid #ffd2db;border-radius:6px;padding:2px 6px;font-weight:800;margin-right:7px;vertical-align:middle;white-space:nowrap}.dark-mode .realtime-offline-badge{color:#ffb3c0;background:#3a2027;border-color:#5c2f3a}.bi-changed-badge{font-size:0.6875rem;color:#d6455c;background:#ffe9ee;border:1px solid #ffd2db;border-radius:8px;padding:4px 9px;font-weight:800;white-space:nowrap;animation:biChangedPulse 1.4s ease}@keyframes biChangedPulse{0%{background:#ffd9e0;transform:scale(.96)}35%{background:#ffc0cb;transform:scale(1.07);box-shadow:0 0 0 4px rgba(214,69,92,.12)}100%{background:#ffe9ee;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.bi-changed-badge{animation:none}}.sales-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:0 24px 20px}.sales-kpi{position:relative;border:1px solid var(--line);border-radius:14px;padding:15px 17px 13px;background:linear-gradient(145deg,#faf9ff,#fff);overflow:hidden}.sales-kpi::before{content:'';position:absolute;top:0;right:0;left:0;height:3px;background:var(--primary)}.sales-kpi:nth-child(2)::before{background:#f3a34f}.sales-kpi:nth-child(3)::before{background:#4bbf9b}.sales-kpi:nth-child(4)::before{background:#4d9cf8}.sales-kpi>span{display:block;color:#767b92;font-size:0.75rem;font-weight:600}.sales-kpi strong{display:block;font-size:1.0625rem;margin:8px 0 4px;letter-spacing:-.5px;color:#33374e}.sales-kpi strong small{font-size:0.6875rem;color:#9296aa;font-weight:500;letter-spacing:0}.sales-kpi small{display:block;color:#a3a6b5;font-size:0.6875rem}.sales-kpi .trend-up,.sales-kpi .trend-down{display:block;font-size:0.875rem;margin:8px 0 4px}.sales-chart{padding:6px 24px 4px}.sales-bars{display:flex;align-items:stretch;gap:9px;min-height:205px}.sales-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;position:relative;padding-top:24px}.sales-track{position:relative;width:100%;height:155px;display:flex;align-items:flex-end;justify-content:center}.sales-bar{width:52%;max-width:42px;border-radius:7px 7px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:0 6px 14px color-mix(in srgb, var(--primary-dark) 14%, transparent)}.seg-booked{background:linear-gradient(180deg,var(--primary-light),var(--primary-dark));border-radius:7px 7px 0 0}.seg-pipe{background:repeating-linear-gradient(-45deg,#c9baff,#c9baff 5px,var(--primary-light) 5px,var(--primary-light) 10px);border-top:1px dashed var(--primary)}.sales-col.is-current .sales-bar{box-shadow:0 0 0 2px var(--primary),0 10px 22px color-mix(in srgb, var(--primary-dark) 28%, transparent)}.sales-val{position:absolute;left:50%;transform:translateX(-50%);font-size:var(--fs-2xs);color:var(--primary-dark);background:#f1edff;border:1px solid #e0d7ff;border-radius:6px;padding:3px 6px;white-space:nowrap;pointer-events:none}.sales-month{font-size:0.6875rem;color:#767b92;text-align:center;position:relative}.sales-col.is-current .sales-month{color:var(--primary-dark);font-weight:800}.cur-dot{display:inline-block;width:5px;height:5px;background:var(--primary);border-radius:50%;margin-right:4px;vertical-align:middle}.legend-stripe{background:repeating-linear-gradient(-45deg,#c9baff,#c9baff 3px,var(--primary-light) 3px,var(--primary-light) 6px)!important;border:1px solid var(--primary-light)}.sales-legend{padding:14px 24px 20px}.sales-table tbody td:nth-child(3),.sales-table tbody td:nth-child(5),.sales-table tbody td:nth-child(6){direction:ltr;text-align:right;font-weight:600}.sales-table .muted-text{color:#767b92}.sales-current-row td{background:#faf8ff}.cur-badge{display:inline-block;font-size:var(--fs-2xs);color:var(--primary-dark);background:#eeeaff;border-radius:5px;padding:3px 6px;margin-right:6px}.dark-mode .sales-kpi{background:#1d1e30;border-color:var(--line)}.dark-mode .sales-kpi strong{color:#eeeafd}.dark-mode .sales-kpi>span{color:#9aa0b8}.dark-mode .seg-booked{background:linear-gradient(180deg,var(--primary-light),#5b40c9)}.dark-mode .seg-pipe{background:repeating-linear-gradient(-45deg,#4b4470,#4b4470 5px,#40395f 5px,#40395f 10px);border-top:1px dashed var(--primary-light)}.dark-mode .sales-val{background:#2a2548;border-color:#4a3f86;color:#c9baff}.dark-mode .sales-current-row td{background:#211e38}.dark-mode .cur-badge{background:#2a2548}.dark-mode .sales-month{color:#9498af}.dark-mode .sales-col.is-current .sales-month{color:#c9baff}.sales-col.is-future .sales-track{opacity:.9}.sales-col.is-future .sales-bar{box-shadow:0 5px 12px color-mix(in srgb, var(--primary-dark) 8%, transparent)}.future-tag{display:inline-block;font-style:normal;font-size:var(--fs-2xs);color:#9a7bf5;background:#f1edff;border-radius:4px;padding:1px 4px;margin-right:4px;vertical-align:middle}.future-badge{display:inline-block;font-size:var(--fs-2xs);color:#9a7bf5;background:#f1edff;border-radius:5px;padding:3px 6px;margin-right:6px}.dark-mode .future-tag,.dark-mode .future-badge{background:#2a2548;color:var(--primary-light)}@media(max-width:1100px){.sales-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sales-bars{overflow-x:auto;padding-bottom:8px}.sales-col{min-width:52px}.sales-kpis{grid-template-columns:1fr 1fr;padding:0 15px 16px}.sales-chart{padding:4px 15px 0}.sales-legend{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 15px 16px}}.smart-forecast-panel{margin-top:18px;padding-bottom:22px}.smart-forecast-canvas{height:285px}.smart-forecast-kpis{grid-template-columns:repeat(5,1fr)}.smart-forecast-mape-kpi{background:linear-gradient(145deg,#fff8e7,#fff);border-color:#f5d99a}.smart-forecast-mape-kpi::before{background:linear-gradient(90deg,#f59e0b,#ef4444)}.smart-forecast-mape-kpi strong{color:#a16207}.smart-forecast-backtest{margin-top:18px;padding:0 24px 22px;border-top:1px dashed var(--line)}.smart-forecast-backtest-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:14px 0 10px;flex-wrap:wrap}.smart-forecast-backtest-head h3{font-size:0.875rem;margin:0 0 3px;font-weight:800}.smart-forecast-backtest-head small{color:var(--muted);font-size:0.6875rem;line-height:1.7}.smart-forecast-backtest-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.smart-forecast-backtest-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.smart-forecast-backtest-table th{font-size:0.6875rem;color:var(--muted);text-align:right;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface);white-space:nowrap}.smart-forecast-backtest-table td{padding:8px 14px;font-size:0.75rem;border-bottom:1px solid var(--line);white-space:nowrap}.smart-forecast-backtest-table tr:last-child td{border-bottom:0}.smart-forecast-backtest-table td:nth-child(2),.smart-forecast-backtest-table td:nth-child(3){font-weight:700}.smart-forecast-backtest-table td:last-child{text-align:left}.dark-mode .smart-forecast-backtest{border-top-color:rgba(255,255,255,.08)}.dark-mode .smart-forecast-mape-kpi{background:linear-gradient(145deg,#332a18,#1d1e30);border-color:#765516}.dark-mode .smart-forecast-mape-kpi strong{color:#facc15}@media(max-width:1100px){.smart-forecast-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.smart-forecast-kpis{grid-template-columns:1fr 1fr}}.smart-forecast-kpi-accent{background:linear-gradient(145deg,#e9faf3,#fff);border-color:#cdeee1}.smart-forecast-kpi-accent::before{background:linear-gradient(90deg,#28a05f,#14b8a6)}.smart-forecast-kpi-accent strong{color:#1c7a46}.dark-mode .smart-forecast-kpi-accent{background:linear-gradient(145deg,#142a22,#1d1e30);border-color:#2b5c48}.dark-mode .smart-forecast-kpi-accent strong{color:#7ee2b8}.smart-forecast-legend{padding:12px 24px 18px}.forecast-drilldown-panel{margin-top:18px;padding-bottom:8px}.forecast-drilldown-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:0 24px 18px}.forecast-drilldown-toolbar .tl-field{min-width:150px}.forecast-drilldown-toolbar .forecast-drill-search{min-width:240px;flex:1}.forecast-drilldown-summary{display:flex;gap:10px;flex-wrap:wrap;padding:0 24px 16px}.forecast-drilldown-summary>span,.forecast-drilldown-summary>em{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);font-size:0.75rem;color:var(--muted)}.forecast-drilldown-summary strong,.forecast-drilldown-summary b{color:var(--text);font-size:0.875rem}.forecast-drilldown-summary em{color:#a16207;font-style:normal;background:#fffbeb;border-color:#fde68a}.forecast-drilldown-panel .crm-table td small{display:block;color:var(--muted);font-size:0.6875rem;margin-top:3px}.forecast-drill-link{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:0;text-align:right}.forecast-drill-link:hover{text-decoration:underline}.forecast-drilldown-panel .pagination{margin-left:24px}.dark-mode .forecast-drilldown-summary>span{background:#202136}.dark-mode .forecast-drilldown-summary em{background:#3b2d12;border-color:#765516;color:#facc15}@media(max-width:700px){.forecast-drilldown-toolbar{padding:0 15px 15px}.forecast-drilldown-summary{padding:0 15px 12px}.forecast-drilldown-toolbar .tl-field,.forecast-drilldown-toolbar .forecast-drill-search{min-width:100%;}.forecast-drilldown-panel .table-scroll{overflow-x:auto}}

/* ===== قیف کانبان فرصت‌ها (Drag & Drop) ===== */
.pipeline-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:13px;margin-top:15px;overflow-x:auto;padding-bottom:6px}
.opp-column{min-width:225px;background:#f8f8fc;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column}
.opp-column.drag-over{border-color:var(--primary-light);background:#f5f2ff;box-shadow:inset 0 0 0 2px rgba(138,107,255,.18)}
.opp-column-body{display:flex;flex-direction:column;gap:8px;padding:9px;min-height:60px;overflow-y:auto;max-height:calc(100vh - 320px)}
.opp-column .kanban-heading{padding:13px 14px 6px}
.opp-column-prob{display:flex;align-items:center;justify-content:center;gap:5px;padding:2px 12px 8px;color:#767b92;font-size:0.6875rem;font-weight:600}
.stage-prob-input{width:46px;padding:4px 6px;border:1px solid #e4e2f0;border-radius:7px;background:#fff;color:var(--primary-dark);font-weight:800;font-size:0.78125rem;text-align:center;direction:ltr}
.stage-prob-input:focus{outline:2px solid rgba(138,107,255,.35);border-color:var(--primary-light)}
.opp-card{background:#fff;border:1px solid #ebe9f5;border-radius:11px;padding:10px 12px;cursor:grab;transition:.16s;box-shadow:0 1px 2px rgba(23,22,48,.04);position:relative}
.opp-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb, var(--primary-dark) 12%, transparent);border-color:#d8d0f5}
.opp-card.dragging{opacity:.45;transform:rotate(2deg)}
.opp-card.is-hot{border-right:3px solid #f08a24;background:linear-gradient(135deg,#fffdf8,#fff)}
.opp-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.card-prob{font-size:0.6875rem;font-weight:800;color:var(--primary-dark);background:#f1edff;border-radius:6px;padding:2px 6px}
.ai-risk-badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 6px;font-size:var(--fs-2xs);font-weight:800;direction:rtl}.ai-risk-badge-critical{color:#c95264;background:#ffe5e9}.ai-risk-badge-high{color:#c97938;background:#fff0df}.ai-risk-badge-medium{color:#a47a27;background:#fff7d9}.ai-risk-badge-low{color:#328f73;background:#e4f8f0}.stale-badge{font-size:var(--fs-2xs);font-weight:700;color:#d4843b;background:#fff3e2;border-radius:6px;padding:2px 6px}
.opp-card-title{display:block;font-size:0.8125rem;color:#33374e;font-weight:700;line-height:1.55;margin-bottom:3px}
.opp-card-owner{display:block;font-size:0.6875rem;color:#a3a6b5;margin-bottom:4px}
.opp-card-value{display:block;font-size:0.78125rem;color:var(--primary-dark);font-weight:800;direction:ltr;text-align:right}
.opp-card-value small{font-size:var(--fs-2xs);color:#a3a6b5;font-weight:500}
.snoozed-tag{display:inline-block;margin-top:6px;font-size:var(--fs-2xs);color:#7a6c9e;background:#f3f0fb;border-radius:5px;padding:2px 6px}
.hot-badge{font-size:0.75rem;line-height:1}
/* فوت ۳ — تگ ریسک کلان: آیکون طلایی برای ریسک فعال؛ کارت نارنجی مات برای ریسک تنش/جنگ */
.macro-risk-icon{display:inline-flex;align-items:center;border-radius:6px;padding:2px 5px;font-size:0.6875rem;line-height:1}
.macro-risk-gold{color:#8a6d00;background:linear-gradient(135deg,#ffe9a8,#f6d365);border:1px solid #e0c25a}
.macro-risk-wartension{color:#9a3b12;background:linear-gradient(135deg,#ffd9c2,#ffb08a);border:1px solid #e08a5a}
.opp-card.is-war-risk{background:linear-gradient(135deg,#fff5ee,#fff8f2);border-right:3px solid #e0763c}
.dark-mode .macro-risk-gold{color:#ffd86e;background:linear-gradient(135deg,#4a3d10,#3a3010);border-color:#6b5a1e}
.dark-mode .macro-risk-wartension{color:#ffb08a;background:linear-gradient(135deg,#4a2412,#3a1c10);border-color:#7a4220}
.dark-mode .opp-card.is-war-risk{background:linear-gradient(135deg,#2e1c12,#1e1f33);border-right-color:#e0763c}
.snoozed-strip{margin-top:14px}
.snoozed-heading{display:flex;align-items:center;gap:10px;padding:12px 18px 0}
.snoozed-heading span{font-size:0.84375rem;font-weight:800;color:#7a6c9e}
.snoozed-heading small{color:#767b92;font-size:0.6875rem}
.snoozed-list{display:flex;gap:9px;flex-wrap:wrap;padding:10px 18px 14px}
.snoozed-item{display:flex;align-items:center;gap:8px;background:#f6f4ff;border:1px dashed #cfc5f2;border-radius:9px;padding:6px 10px;font-size:0.71875rem}
.snoozed-item small{color:#767b92}
.dark-mode .opp-column{background:#191a2b;border-color:var(--line)}
.dark-mode .opp-column.drag-over{background:#23203d;border-color:var(--primary-light)}
.dark-mode .opp-card{background:#1e1f33;border-color:#2d2e46;box-shadow:none}
.dark-mode .opp-card:hover{border-color:#4a4470;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.dark-mode .opp-card.is-hot{background:linear-gradient(135deg,#2b2318,#1e1f33);border-right-color:#f08a24}
.dark-mode .opp-card-title{color:#eeeafd}
.dark-mode .card-prob{background:#2a2548;color:#c9baff}
.dark-mode .ai-risk-badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 6px;font-size:var(--fs-2xs);font-weight:800;direction:rtl}.ai-risk-badge-critical{color:#c95264;background:#ffe5e9}.ai-risk-badge-high{color:#c97938;background:#fff0df}.ai-risk-badge-medium{color:#a47a27;background:#fff7d9}.ai-risk-badge-low{color:#328f73;background:#e4f8f0}.stale-badge{background:#33291c;color:#f3a34f}
.dark-mode .opp-card-value{color:#c9baff}
.dark-mode .stage-prob-input{background:#23243a;border-color:#353755;color:#c9baff}
.dark-mode .snoozed-item{background:#23203d;border-color:#3d3352}
@media(max-width:1550px){.pipeline-board{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1400px){.pipeline-board{grid-template-columns:repeat(3,minmax(230px,1fr))}}
@media(max-width:900px){.pipeline-board{grid-template-columns:repeat(2,minmax(230px,1fr))}}
@media(max-width:600px){.pipeline-board{grid-template-columns:1fr}}

/* ===== جزئیات معامله + خط زمانی ===== */
/* specificity دوکلاسه: `.crm-modal{width:min(560px,100%)}` (خط ~۲۱۶۹) با همان
 * قدرت اما دیرتر در فایل می‌آید و این قانون را شکست می‌داد — نتیجه: همهٔ ۱۷ مودال
 * wide و ۳ مودال xxwide روی ۵۶۰px قفل می‌شدند (تأییدشده با اندازه‌گیری). */
.crm-modal.crm-modal-wide{max-width:920px;width:min(920px,calc(100vw - 40px))}
.crm-modal.crm-modal-small{max-width:460px;width:min(460px,calc(100vw - 40px))}
.detail-layout{display:grid;grid-template-columns:1fr 320px;gap:0;min-height:380px}
.detail-main{padding:20px 22px;border-left:1px solid #f0f0f5;overflow-y:auto;max-height:70vh}
.detail-side{padding:20px 18px;background:#faf9ff;overflow-y:auto;max-height:70vh}
.detail-hero-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.detail-hero-title h3{font-size:1.0625rem;margin:0}
.stage-badge{font-size:0.6875rem;font-weight:700;border-radius:7px;padding:3px 8px}
.stage-new{color:var(--primary-light);background:#f1edff}
.stage-qualification{color:#d9a03c;background:#fff4dd}
.stage-negotiation{color:#398be5;background:#e2f1ff}
.stage-proposal{color:#a05ce0;background:#f3e8ff}
.stage-won{color:#2a9d7c;background:#e4f8f0}
.stage-lost{color:#d94f63;background:#ffe3e8}
.detail-hero-meta{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap;color:#5f6479;font-size:0.78125rem;font-weight:600}
.detail-hero-meta span:first-child{color:var(--primary-dark);font-weight:800;font-size:0.875rem;direction:ltr}.detail-description{margin-top:14px;color:#5f6479;font-size:0.78125rem;line-height:1.9;background:#faf9ff;border:1px solid #f0eef7;border-radius:10px;padding:11px 13px}.ai-risk-card{margin-top:14px;border:1px solid #e7e1ff;border-radius:13px;padding:14px 15px;background:linear-gradient(135deg,#faf8ff,#fff)}.ai-risk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-risk-head h4{margin:4px 0 0;font-size:0.84375rem;color:#3e4258}.ai-risk-head strong{font-size:1.125rem;color:var(--primary);direction:ltr}.ai-risk-high{border-color:#ffd9c5;background:#fffaf6}.ai-risk-high .ai-risk-head strong,.ai-risk-critical .ai-risk-head strong{color:#d65f70}.ai-risk-critical{border-color:#ffcbd2;background:#fff7f8}.ai-risk-medium{border-color:#ffe6b8;background:#fffdf6}.ai-risk-low{border-color:#cdeee2;background:#f8fffc}.ai-risk-meter{height:6px;background:#eeecf8;border-radius:10px;overflow:hidden;margin:11px 0}.ai-risk-meter i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#e36f7d);transition:width .35s ease}.ai-risk-reasons{list-style:none;margin:0;padding:0}.ai-risk-reasons li{display:flex;gap:7px;align-items:flex-start;color:#74798d;font-size:0.71875rem;line-height:1.8;padding:3px 0}.ai-risk-reasons li span{color:#d9894a}.ai-next-action{border-top:1px solid color-mix(in srgb, var(--primary) 12%, transparent);margin-top:10px;padding-top:10px}.ai-next-action>span{display:block;color:#8c91a4;font-size:0.6875rem}.ai-next-action p{color:#4e5369;font-size:0.75rem;line-height:1.8;margin:4px 0 8px}.detail-actions{display:flex;gap:8px;margin:15px 0 4px;flex-wrap:wrap}
.detail-section{margin-top:20px}
.detail-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.detail-section-heading h4{font-size:0.875rem;margin:0}
.timeline-feed{display:flex;flex-direction:column;gap:0;position:relative}
.timeline-feed::before{content:'';position:absolute;right:13px;top:6px;bottom:6px;width:2px;background:#edeaf8}
.timeline-item{display:flex;gap:11px;position:relative;padding:7px 0}
.tl-icon{width:27px;height:27px;border-radius:50%;background:#fff;border:2px solid #edeaf8;display:grid;place-items:center;font-size:0.78125rem;flex:none;z-index:1}
.tl-body{flex:1;min-width:0}
.tl-title{font-size:0.78125rem;font-weight:700;color:#3d4157;display:block}
.tl-detail{font-size:0.71875rem;color:#8d92a5;margin:3px 0 2px;line-height:1.7}
.tl-time{font-size:var(--fs-2xs);color:#767b92}
.tl-note .tl-icon{background:#e4f8f0;border-color:#cbeedf}
.tl-whisper .tl-icon{background:#ffe3e8;border-color:#ffd2da}
.tl-activity .tl-icon{background:#e2f1ff;border-color:#cfe4f7}
.tl-history .tl-icon{background:#f1edff;border-color:#e0d7ff}
.timeline-empty{color:#767b92;font-size:0.75rem;padding:14px 4px}
.note-composer{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:16px}
.note-composer textarea{width:100%;border:1px solid #e4e2f0;border-radius:9px;padding:9px 11px;font-size:0.78125rem;resize:vertical;background:#fff;color:#3d4157}
.whisper-toggle{display:flex;align-items:center;gap:7px;margin:9px 0;color:#a8485a;font-size:0.6875rem;font-weight:700;cursor:pointer}
.whisper-toggle input{width:auto!important;margin:0!important;accent-color:#d94f63}
.notes-list{display:flex;flex-direction:column;gap:9px}
.note-item{border:1px solid #f0eef7;border-radius:10px;padding:10px 12px;background:#fff}
.note-item.is-whisper{border-color:#ffd2da;background:#fff8f9}
.note-head{display:flex;align-items:center;gap:7px;margin-bottom:5px;flex-wrap:wrap}
.note-head strong{font-size:0.75rem;color:#3d4157}
.note-head time{font-size:var(--fs-2xs);color:#767b92;margin-right:auto}
.whisper-tag{font-size:var(--fs-2xs);color:#a8485a;background:#ffe3e8;border-radius:5px;padding:2px 6px;font-weight:700}
.note-tag{font-size:var(--fs-2xs);color:#2a9d7c;background:#e4f8f0;border-radius:5px;padding:2px 6px;font-weight:700}
.note-item p{font-size:0.75rem;color:#5f6479;line-height:1.8;margin:0;white-space:pre-wrap}
.modal-hint{color:#8d92a5;font-size:0.75rem;line-height:1.8;margin:0 0 14px}
.modal-body{padding:18px 22px}
.dark-mode .ai-risk-card{background:#1e1f33;border-color:#353755}.dark-mode .ai-risk-head h4,.dark-mode .ai-next-action p{color:#eeeafd}.dark-mode .ai-risk-reasons li{color:#a3a8bc}.dark-mode .detail-main{border-color:var(--line)}
.dark-mode .detail-side{background:#191a2b}
/* responsive جزئیات معامله: زیر ۸۴۰px ستونِ نوت‌ها پایینِ محتوای اصلی می‌نشیند،
 * نه کنارش. قبلاً `1fr 320px` در عرض ۴۲۰px ستون اصلی را به ۱۱۸px له می‌کرد و
 * پنج دکمهٔ عملیات در ۷۳px فشرده می‌شدند. این بلوک عمداً بعد از قوانین پایه
 * `.detail-main/.detail-side` آمده تا `max-height:70vh` را در حالت تک‌ستونی باز نکند. */
@media (max-width:840px){
    .detail-layout{grid-template-columns:1fr;min-height:0}
    .detail-main{border-left:0;border-bottom:1px solid var(--line);max-height:none;overflow:visible}
    .detail-side{max-height:none;overflow:visible;background:transparent}
    .crm-modal{overflow-y:auto}
}
.dark-mode .detail-hero-title h3{color:#eeeafd}
.dark-mode .detail-description{background:#1e1f33;border-color:#2d2e46;color:#9aa0b8}
.dark-mode .timeline-feed::before{background:#2d2e46}
.dark-mode .tl-icon{background:#1b1c2e;border-color:#353755}
.dark-mode .tl-title{color:#eeeafd}
.dark-mode .note-item{background:#1e1f33;border-color:#2d2e46}


/* ===== مودال احتمال مرحله‌ها ===== */
.probability-grid{display:flex;flex-direction:column;gap:9px}
.prob-row{display:flex;align-items:center;gap:10px;background:#faf9ff;border:1px solid #f0eef7;border-radius:10px;padding:9px 13px}
.prob-row label{flex:1;font-size:0.78125rem;font-weight:700;color:#3d4157}
.prob-row input{width:64px;padding:6px 8px;border:1px solid #e4e2f0;border-radius:8px;font-weight:800;color:var(--primary-dark);text-align:center;direction:ltr;background:#fff}
.dark-mode .prob-row{background:#1e1f33;border-color:#2d2e46}
.dark-mode .prob-row label{color:#eeeafd}
.dark-mode .prob-row input{background:#23243a;border-color:#353755;color:#c9baff}

/* ===== گزارش سلامت قیف (اکشن‌محور) ===== */
.health-panel{margin-top:18px;padding-bottom:22px}
.health-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:0 24px 18px}
.health-kpi{border:1px solid var(--line);border-radius:14px;padding:15px 17px;background:linear-gradient(145deg,#faf9ff,#fff)}
.health-kpi>span{display:block;color:#767b92;font-size:0.75rem;font-weight:600}
.health-kpi strong{display:block;font-size:1.1875rem;margin-top:7px;color:#33374e}
.health-kpi:nth-child(1) strong{color:#d4843b}
.health-kpi:nth-child(2) strong{color:#f08a24}
.health-kpi:nth-child(3) strong{color:var(--primary-dark)}
.stale-days{font-size:0.6875rem;font-weight:800;color:#d4843b;background:#fff3e2;border-radius:6px;padding:3px 7px}
.stale-days.is-critical{color:#d94f63;background:#ffe3e8}
.health-rep-heading{padding:16px 24px 0}
.table-empty{color:#8fae9f;font-size:0.78125rem;text-align:center;padding:16px!important}
.dark-mode .health-kpi{background:#1d1e30;border-color:var(--line)}
.dark-mode .health-kpi strong{color:#eeeafd}
.dark-mode .stale-days{background:#33291c;color:#f3a34f}
.dark-mode .stale-days.is-critical{background:#33222c;color:#f07a8c}
@media(max-width:700px){.health-kpis{grid-template-columns:1fr 1fr;padding:0 15px 16px}}

/* ===== ویجت ۵ تماس امروز ===== */
.today-calls-panel{margin-top:16px}
.today-calls-list{display:flex;flex-direction:column;gap:7px;padding:4px 18px 16px}
.today-call-item{display:flex;align-items:center;gap:11px;background:#faf9ff;border:1px solid #f0eef7;border-radius:11px;padding:10px 13px;cursor:pointer;transition:.15s}
.today-call-item:hover{border-color:#d8d0f5;transform:translateX(-3px)}
.today-call-rank{width:26px;height:26px;border-radius:8px;background:#f1edff;color:var(--primary-dark);font-weight:800;font-size:0.78125rem;display:grid;place-items:center;flex:none}
.today-call-rank.is-hot{background:#ffe3b8;color:#d4741c}
.today-call-info{flex:1;min-width:0}
.today-call-info strong{display:block;font-size:0.78125rem;color:#3d4157;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-call-info span{display:block;font-size:0.6875rem;color:#9aa0b8;margin-top:2px}
.today-call-value{font-size:0.78125rem;font-weight:800;color:var(--primary-dark);direction:ltr}
.dark-mode .today-call-item{background:#1e1f33;border-color:#2d2e46}
.dark-mode .today-call-item:hover{border-color:#4a4470}
.dark-mode .today-call-rank{background:#2a2548;color:#c9baff}
.dark-mode .today-call-rank.is-hot{background:#3d2f1a;color:#f3a34f}
.dark-mode .today-call-info strong{color:#eeeafd}
.dark-mode .today-call-value{color:#c9baff}

/* ===== ورود سرنخ از CSV ===== */
.import-result{margin-top:13px;border-radius:10px;padding:12px 14px;font-size:0.75rem}
.import-result.is-success{background:#e4f8f0;border:1px solid #b9e6d3;color:#2a9d7c}
.import-result.is-error{background:#ffe9ed;border:1px solid #ffd2da;color:#a8485a}
.import-result strong{display:block;margin-bottom:7px}
.import-result ul{margin:0;padding-right:16px;max-height:130px;overflow-y:auto}
.import-result li{margin-bottom:4px;line-height:1.7}
.import-file-row{display:flex;align-items:center;gap:10px;margin-top:10px}
.import-file-name{font-size:0.6875rem;color:#767b92}
.dark-mode .import-result.is-error{background:#33222c;border-color:#54303c;color:#f07a8c}
.dark-mode .import-result.is-success{background:#1d2c28;border-color:#2d4a3e;color:#4bbf9b}

/* ===== دکمهٔ فعال (Hot toggle) ===== */
#oppHotToggle.is-active{background:#f08a24;border-color:#f08a24;color:#fff}

/* ===== درگ‌اند‌دراپ SortableJS ===== */
.kanban-column-body{display:flex;flex-direction:column;gap:9px;min-height:60px;overflow-y:auto;max-height:calc(100vh - 320px)}
#leadKanban .kanban-column{display:flex;flex-direction:column}
#leadKanban .kanban-column-body{flex:1;min-height:80px}
.opp-ghost{opacity:.35;background:#ece7ff!important;border:1.5px dashed var(--primary-light)!important;border-radius:11px;box-shadow:none!important;transform:none!important}
.opp-chosen{background:#f7f4ff!important;border-color:var(--primary-light)!important;box-shadow:0 12px 28px color-mix(in srgb, var(--primary-dark) 18%, transparent)!important}
.opp-dragging{opacity:.9;cursor:grabbing!important;transform:rotate(1.5deg) scale(1.03);box-shadow:0 18px 40px color-mix(in srgb, var(--primary-dark) 28%, transparent)!important;z-index:5;position:relative}
.opp-column-body.is-drag-active,.kanban-column-body.is-drag-active{background:#f4f1ff;border-radius:10px}
.dark-mode .opp-ghost{background:#23203d!important;border-color:var(--primary-light)!important}
.dark-mode .opp-chosen{background:#2a2548!important;border-color:#4a4470!important}
.dark-mode .opp-dragging{box-shadow:0 18px 40px rgba(0,0,0,.5)!important}
.dark-mode .lead-card{background:#24263a;border-color:#383a50}
.dark-mode .lead-card:hover{border-color:#4a4470;box-shadow:0 12px 22px rgba(0,0,0,.35)}

/* ===== فونت Mikhak (محلی — آفلاین) ===== */
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Mikhak';src:url('/fonts/Mikhak-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
body,input,select,textarea,button{font-family:'Mikhak','Vazirmatn',Tahoma,Arial,sans-serif!important}
.hidden-form{display:none}
.skip-to-content{position:absolute;top:-100px;right:16px;z-index:9999;background:var(--primary-dark);color:#fff;padding:10px 18px;border-radius:0 0 12px 12px;font-weight:700;font-size:.8125rem;text-decoration:none;transition:top .18s ease}
.skip-to-content:focus{top:0;outline:3px solid var(--primary-light);outline-offset:2px}

/* ===== بج و پیل‌های کمکی ===== */
.badge-soft{display:inline-block;font-size:var(--fs-2xs);font-weight:700;border-radius:6px;padding:4px 7px}
.badge-green{color:#2b9d7c;background:#e4f8f0}.badge-red{color:#c94b5e;background:#ffe3e8}.badge-blue{color:#398bdf;background:#e6f3ff}
.cell-person{display:flex;align-items:center;gap:8px;color:#383c53;font-weight:700}
.nowrap{white-space:nowrap}.change-cell{max-width:380px;white-space:normal}
.change-pill{display:inline-block;background:#f4f1ff;border:1px solid #e7e0ff;color:#6d55c9;border-radius:6px;font-size:var(--fs-2xs);padding:3px 7px;margin:1px 0 1px 4px;font-weight:600}
.dark-mode .change-pill{background:#2a2548;border-color:#4a3f86;color:#c9baff}
.dark-mode .cell-person{color:#eeeafd}

/* ===== داشبورد تحلیلی BI ===== */
.bi-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:30px 0 16px}
.bi-heading h2{font-size:1rem;margin:9px 0 0}
.bi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.bi-chart-panel{padding-bottom:15px;overflow:hidden}
/* عنوان پنل‌های گزارش: panel-actions (شامل نشان «آخرین به‌روزرسانی» + انتخابگر نوع
   نمودار ۴ دکمه‌ای) مجموعاً ~۴۳۰px می‌خواهد در حالی که پنل ۳۵۳px و overflow:hidden
   است → عنوان بریده می‌شد. راه‌حل: heading به ستون تبدیل می‌شود تا کنترل‌ها به
   خط پایین بروند و هیچ برشی نخورند. */
.bi-chart-panel .panel-heading{flex-direction:column;align-items:stretch;gap:9px}
.bi-chart-panel .panel-heading>div{min-width:0}
.bi-chart-panel .panel-actions{min-width:0;flex-wrap:wrap;justify-content:flex-start;row-gap:5px}
.bi-chart-panel .panel-actions>*{white-space:nowrap}
.bi-chart-panel .panel-heading{padding-bottom:10px}
.bi-chart-panel .stage-badge{font-size:var(--fs-2xs);color:var(--primary-dark);background:#eeeaff;border-radius:6px;padding:4px 8px}
.bi-canvas{position:relative;height:235px;padding:4px 16px 0}
.bi-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 18px 4px}
.bi-kpis>span{display:flex;flex-direction:column;gap:3px;background:#faf9ff;border:1px solid #f0edff;border-radius:10px;padding:9px 11px}
.bi-kpis small{color:#767b92;font-size:var(--fs-2xs);font-weight:600}
.bi-kpis strong{color:#4a3f86;font-size:0.78125rem;font-weight:800}
.bi-kpis-updated{display:block;margin-top:2px;width:max-content}.bi-kpis-updated-entrance{animation:kpiLabelEntrance .45s ease}@keyframes kpiLabelEntrance{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bi-kpis-updated-entrance{animation:none}}
.bi-kpis-meta{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}
.bi-kpis-meta .bi-kpis-updated{margin-top:0}
.bi-kpis-changed{flex:none}
.bi-changed-flash{animation:biChangedPulse 1.4s ease}
@media (prefers-reduced-motion:reduce){.bi-changed-flash{animation:none}}
.bi-table-panel{margin-bottom:18px;overflow:hidden}
.bi-table-panel .panel-heading{padding-bottom:14px}
.bi-heat-panel{margin-bottom:18px;overflow:hidden}
.heatmap-row{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:6px 24px 26px}
.heat-cell{display:flex;flex-direction:column;align-items:center;gap:6px;background:#faf9ff;border:1px solid #f0edff;border-radius:12px;padding:12px 6px 10px}
.heat-cell .heat-bar{width:16px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--primary-light),var(--primary));min-height:6px;transition:.3s}
.heat-cell small{color:#767b92;font-size:var(--fs-2xs);font-weight:600}
.heat-cell b{font-size:0.75rem;color:#4a3f86}
.heat-weekend{font-style:normal;font-size:var(--fs-2xs);color:#c94b5e;background:#ffe3e8;border-radius:4px;padding:2px 6px}
.dark-mode .bi-kpis>span{background:#202136;border-color:#2d2e46}
.dark-mode .bi-kpis strong{color:#c9baff}
.dark-mode .bi-kpis-updated{background:#1c1d30;border-color:#2d2e46;color:#8fd9c0}
/* تازه‌سازی بلادرنگِ بدون تغییر: زمان‌نما خاموش و بدون فلش — فقط متن «بدون تغییر · زمان» */
.funnel-updated-unchanged{color:#8a8fa3;background:#f1f2f6;border-color:#e4e5ec}
.dark-mode .funnel-updated-unchanged{color:#9aa0b4;background:#202136;border-color:#2d2e46}
.dark-mode .heat-cell{background:#202136;border-color:#2d2e46}
.dark-mode .heat-cell b{color:#e7e2fb}
.dark-mode .heat-weekend{color:#f39aa8;background:#33222c}

/* ===== ویزارد معرفی ===== */
.intro-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(20,18,40,.72);backdrop-filter:blur(10px);animation:fadeUp .3s ease}
.intro-backdrop[hidden]{display:none}
.intro-card{width:min(520px,calc(100% - 32px));background:linear-gradient(165deg,#241f45,#161426);border:1px solid rgba(151,126,255,.25);border-radius:26px;padding:38px 36px 30px;text-align:center;color:#f4f2ff;box-shadow:0 40px 100px rgba(0,0,0,.5);position:relative;overflow:hidden}
.intro-card::before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.4),transparent 65%);top:-110px;left:-90px;filter:blur(10px)}
.intro-visual{width:74px;height:74px;margin:0 auto 20px;border-radius:22px;display:grid;place-items:center;font-size:2.125rem;background:linear-gradient(135deg,var(--primary-light),#5b40c9);box-shadow:0 16px 40px rgba(124,92,255,.45)}
.intro-eyebrow{margin-bottom:8px;color:var(--primary-light)}
.intro-card h2{font-size:1.3125rem;margin:0 0 12px;font-weight:800;letter-spacing:-.5px}
.intro-card>p:not(.intro-eyebrow){color:#b6b1dd;font-size:0.875rem;line-height:2.1;margin:0 auto;max-width:420px;min-height:76px}
.intro-steps{display:flex;justify-content:center;gap:8px;margin:24px 0 20px}
.intro-dot{width:8px;height:8px;border-radius:50%;background:#3c3760;border:0;padding:0;transition:.25s}
.intro-dot.is-active{width:26px;border-radius:6px;background:linear-gradient(90deg,var(--primary-light),#5b40c9)}
.intro-actions{display:flex;justify-content:center;gap:10px}
.intro-actions .button-ghost{background:transparent;border-color:#3c3760;color:#8f8ab8}
.intro-actions .button-primary{min-width:130px}

/* ===== تم بنفش (theme-indigo) — روی تم تیره سوار می‌شود ===== */
/* توکن‌های .theme-indigo به «بلوک تم» در انتهای همین فایل (:root[data-theme="indigo"]) منتقل شد؛ کلاس بدنه برای هنر رنگی پایین دست‌نخورده است. */
.theme-indigo .sidebar{background:linear-gradient(180deg,#120f26,#0d0b1d)}
.theme-indigo .nav-item.is-active{background:linear-gradient(90deg,color-mix(in srgb, var(--primary-light) 40%, transparent),color-mix(in srgb, var(--primary-light) 15%, transparent));box-shadow:inset 3px 0 var(--primary-light)}
.theme-indigo .brand-mark,.theme-indigo .workspace-avatar{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark))}
.theme-indigo .button-primary{background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));box-shadow:0 8px 18px color-mix(in srgb, var(--primary-light) 35%, transparent)}
.theme-indigo .button-primary:hover{box-shadow:0 10px 26px color-mix(in srgb, var(--primary-light) 50%, transparent)}
.theme-indigo .toast{background:linear-gradient(135deg,#241f45,#1a1830);border:1px solid #4a3f86}
.theme-indigo .metric-purple{background:linear-gradient(145deg,#262045,#201b3e);border-color:#3d3568}
.theme-indigo .metric-purple .metric-icon{color:#c9baff;background:#312b58}
.theme-indigo .metric-purple .metric-label{color:#cfc9ee}
.theme-indigo .metric-purple .metric-value{color:#f3efff}
.theme-indigo .topbar{background:rgba(26,24,48,.8)}
.theme-indigo .crm-table th{background:#1e1b38}
.theme-indigo .crm-table tbody tr:hover{background:#221e42}

/* ===== ریسپانسیو BI ===== */
@media(max-width:1250px){.bi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.bi-grid{grid-template-columns:1fr}.bi-heading{align-items:flex-start;flex-direction:column}.heatmap-row{grid-template-columns:repeat(4,1fr);padding:6px 15px 20px}}
@media(max-width:560px){.bi-canvas{height:200px}.heatmap-row{grid-template-columns:repeat(2,1fr)}}
/* قفل اسکرول پشت ویزارد و Tooltip Tour ورود اول */
body.intro-open,body.crm-tour-open{overflow:hidden}
.crm-tour-layer{position:fixed;inset:0;z-index:320;pointer-events:none}
.crm-tour-layer[hidden]{display:none}
.crm-tour-backdrop{position:absolute;inset:0;background:rgba(9,12,27,.62);backdrop-filter:blur(1.5px);pointer-events:auto;animation:fadeUp .2s ease}
.crm-tour-spotlight{position:fixed;z-index:1;border:2px solid rgba(255,255,255,.92);border-radius:14px;box-shadow:0 0 0 9999px rgba(9,12,27,.58),0 0 0 6px color-mix(in srgb, var(--primary) 25%, transparent),0 14px 40px rgba(0,0,0,.28);pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}
.crm-tour-card{position:fixed;z-index:2;width:min(360px,calc(100vw - 32px));padding:22px 22px 18px;border:1px solid color-mix(in srgb, var(--primary) 28%, transparent);border-radius:20px;background:var(--surface,#fff);color:var(--text,#1d2433);box-shadow:0 24px 70px rgba(7,10,30,.3);pointer-events:auto;direction:rtl;transition:top .25s ease,left .25s ease;animation:fadeUp .25s ease}
.crm-tour-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted,#718096);font-size:0.78125rem;font-weight:700}
.crm-tour-kicker{color:var(--primary);letter-spacing:.1px}
.crm-tour-icon{width:46px;height:46px;display:grid;place-items:center;margin:14px 0 10px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 16%, transparent),rgba(14,159,110,.12));font-size:1.5625rem}
.crm-tour-card h2{margin:0 0 8px;font-size:1.0625rem;line-height:1.7;letter-spacing:-.2px}
.crm-tour-card p{min-height:48px;margin:0;color:var(--muted,#667085);font-size:0.84375rem;line-height:2;white-space:normal}
.crm-tour-progress{display:flex;gap:5px;margin:16px 0 14px}
.crm-tour-progress i{width:7px;height:7px;border-radius:50%;background:var(--line,#e6e8ef);transition:width .2s ease,background .2s ease}
.crm-tour-progress i.is-active{width:22px;border-radius:5px;background:var(--primary)}
.crm-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crm-tour-actions>div{display:flex;gap:8px}
.crm-tour-actions .button{min-height:36px;padding:0 14px;font-size:0.84375rem}
.crm-tour-actions .button-ghost{border-color:var(--line,#e1e5ed)}
.dark-mode .crm-tour-card{background:#1a1830;border-color:#393265;color:#f3efff}
.dark-mode .crm-tour-card p,.theme-indigo .crm-tour-card p{color:#bdb8dc}
.dark-mode .crm-tour-actions .button-ghost,.theme-indigo .crm-tour-actions .button-ghost{border-color:#393265;color:#c7c1e7}
@media(max-width:560px){.crm-tour-card{width:calc(100vw - 24px);padding:18px 17px 15px}.crm-tour-spotlight{border-radius:10px}.crm-tour-card h2{font-size:0.9375rem}.crm-tour-card p{font-size:0.78125rem}}
@media(prefers-reduced-motion:reduce){.crm-tour-card,.crm-tour-backdrop{animation:none}.crm-tour-spotlight,.crm-tour-card{transition:none}}

/* ===== داشبورد مدیرعامل (KPI کلان) ===== */
.ceo-heading .eyebrow{color:#0e9f6e}
.ceo-heading .status-dot{background:#10b981;box-shadow:0 0 0 4px #e2f8f1}
.ceo-kpi{position:relative;overflow:hidden;border-top:3px solid #10b981!important;background:linear-gradient(180deg,#fbfefe,#fff)!important}
.ceo-kpi:nth-child(2){border-top-color:#8b5cf6!important}
.ceo-kpi:nth-child(3){border-top-color:#f59e0b!important}
.ceo-kpi:nth-child(4){border-top-color:#3b82f6!important}
.ceo-kpi:nth-child(5){border-top-color:#14b8a6!important}
.ceo-kpi:nth-child(6){border-top-color:#ef4444!important}
.ceo-kpi:nth-child(7){border-top-color:#ec4899!important}
.ceo-kpi:nth-child(8){border-top-color:#84cc16!important}
.ceo-kpi .ceo-kpi-sub{display:block;color:#a0a4b5;font-size:var(--fs-2xs);margin-top:6px;font-weight:500}
.ceo-kpi.is-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}
.ceo-kpi.is-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,185,129,.16)}
.ceo-charts{margin-bottom:18px}
.ceo-chart-main{grid-column:1/-1}
@media(max-width:1250px){.ceo-chart-main{grid-column:auto}}
/* ===== ویجت خلاصهٔ هوش رقابتی مدیرعامل ===== */
.ceo-comp-panel{grid-column:1/-1}
@media(max-width:1250px){.ceo-comp-panel{grid-column:auto}}
.ceo-comp-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:20px 24px 18px}
.ceo-comp-kpi{position:relative;border:1px solid #edeff6;border-radius:14px;padding:16px 18px 14px;background:linear-gradient(180deg,#fbfcfe,#fff)}
.ceo-comp-kpi .ceo-comp-label{display:block;color:#7c8398;font-size:0.71875rem;font-weight:700}
.ceo-comp-kpi strong{display:block;font-size:1.625rem;line-height:1.55;margin:6px 0 10px;color:#232838;font-variant-numeric:tabular-nums}
.ceo-comp-kpi strong small{font-size:0.6875rem;color:#a0a4b5;font-weight:600;margin-right:4px}
.ceo-comp-sub{display:block;color:#a0a4b5;font-size:var(--fs-2xs);line-height:1.75;font-weight:500}
.ceo-comp-meter{height:6px;border-radius:99px;background:#eceef5;overflow:hidden;margin-bottom:9px}
.ceo-comp-meter i{display:block;height:100%;width:0;border-radius:99px;background:#22c55e;transition:width .6s cubic-bezier(.22,1,.36,1)}
.ceo-comp-threat.is-high .ceo-comp-meter i{background:#ef4444}
.ceo-comp-threat.is-mid .ceo-comp-meter i{background:#f59e0b}
.ceo-comp-threat.is-low .ceo-comp-meter i{background:#22c55e}
.ceo-comp-threat.is-high strong{color:#ef4444}
.ceo-comp-threat.is-mid strong{color:#d97706}
.ceo-comp-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ceo-comp-note{margin:0;color:#6b7280;font-size:0.75rem;line-height:1.9;flex:1 1 320px}
.ceo-comp-note strong{color:#4b5163;font-weight:700}
.dark-mode .ceo-comp-kpi{border-color:#2a3045;background:linear-gradient(180deg,#1a2030,#1d1e30)}
.dark-mode .ceo-comp-kpi strong{color:#e8eaf2}
.dark-mode .ceo-comp-meter{background:#2a3045}
.dark-mode .ceo-comp-note{color:#9aa3b5}
.ceo-insight{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 26px;background:linear-gradient(110deg,#fff,#f3fbf7);margin-bottom:18px}
.ceo-insight h2{font-size:0.9375rem;margin:9px 0 4px;line-height:1.8}
.ceo-insight p{color:#989cac;font-size:0.75rem;margin:0}
.dark-mode .ceo-kpi{background:linear-gradient(180deg,#1a2030,#1d1e30)!important}
.dark-mode .ceo-insight{background:linear-gradient(110deg,#181a2b,#14221d)}

/* ===== State helpers (بدون inline style به دلیل CSP) ===== */
.kanban-loading-row{grid-column:1/-1}
.kanban-full{grid-column:1/-1}
.empty-state-lg{padding:30px}

/* ===== سیستم آیکون SVG ===== */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sf-ico svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nav-icon svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin:0 auto}
.icon-button svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle svg{width:18px;height:18px}
.notification-button svg{width:19px;height:19px}
.cs-icon svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn-ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wave-icon{width:21px;height:21px;fill:none;stroke:#f3a34f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:inline-block;transform:rotate(-18deg);margin-right:5px;vertical-align:-2px}
.foot-arrow{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:auto}
.chevron svg{width:13px;height:13px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notif-foot svg:first-child{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.metric-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sidebar-close svg{width:16px;height:16px}

/* ===== تم آبی سازمانی (theme-royal) — الهام‌گرفته از راهکاران سیستم ===== */
/* توکن‌های .theme-royal به «بلوک تم» انتهای فایل (:root[data-theme="royal"]) منتقل شد. */
.theme-royal .sidebar{background:linear-gradient(180deg,#0f2b55,#0a1e3a)}
.theme-royal .nav-item.is-active{background:linear-gradient(90deg,rgba(38,120,220,.35),rgba(38,120,220,.12));box-shadow:inset 3px 0 #2b7fe0}
.theme-royal .nav-item:hover{background:rgba(255,255,255,.07)}
.theme-royal .nav-badge{background:#2b7fe0}
.theme-royal .brand-mark,.theme-royal .workspace-avatar{background:linear-gradient(135deg,#2f8fe6,#0b5cad)}
.theme-royal .button-primary{background:linear-gradient(135deg,#2f8fe6,#0b63ce);box-shadow:0 8px 18px rgba(11,99,206,.25)}
.theme-royal .button-primary:hover{box-shadow:0 10px 24px rgba(11,99,206,.35)}
.theme-royal .metric-purple{background:linear-gradient(145deg,#eef5fe,#fbfdff);border-color:#d8e7fa}
.theme-royal .metric-purple .metric-icon{color:#0b63ce;background:#dcebfc}
.theme-royal .metric-purple .metric-label{color:#3a5f8c}
.theme-royal .sparkline-purple{color:#6fb1f2}
.theme-royal .status-dot{background:#0b63ce;box-shadow:0 0 0 4px #e0edfc}
.theme-royal .eyebrow{color:#3a83d9}
.theme-royal .chart-line{stroke:#0b63ce}
.theme-royal .chart-point{stroke:#0b63ce}
.theme-royal .chart-area{fill:rgba(11,99,206,.14)}
.theme-royal .progress i{background:#0b63ce}
.theme-royal .progress{background:#e7eef7}
.theme-royal .progress-blue{background:#e4eefa}
.theme-royal .pagination button.is-current{background:#0b63ce;border-color:#0b63ce}
.theme-royal .calendar-grid .today{background:#0b63ce;box-shadow:0 7px 13px rgba(11,99,206,.22)}
.theme-royal .calendar-grid i:not(.muted-day):hover{background:#eef5fe;border-color:#cfe0f7;color:#0b63ce}
.theme-royal .jdate-popup .jp-sel{background:#0b63ce}
.theme-royal .jdate-popup .jp-today{background:#e0edfc;color:#0b63ce}
.theme-royal .jdate-popup .jp-grid .jp-day:hover{background:#e0edfc;color:#0b63ce}
.theme-royal .jdate-popup .jp-grid .jp-sel:hover{background:#0b63ce;color:#fff}
.theme-royal .jdate-popup .jp-nav{color:#0b63ce}
.theme-royal .settings-tab:hover,.theme-royal .settings-tab.is-active{background:#e0edfc;color:#0b63ce}
.theme-royal .toast-icon{background:#0b63ce}
.theme-royal .notif-foot{color:#0b63ce;background:#f2f7fd}
.theme-royal .notif-foot:hover{background:#e7f1fd}
.theme-royal .notif-read{background:#e0edfc;color:#0b63ce}
.theme-royal .notif-read:hover{background:#0b63ce}
.theme-royal .notif-icon.info{color:#0b63ce;background:#e0edfc}
.theme-royal .lead-action-convert{background:#0b63ce}
.theme-royal .lead-action-convert:hover{background:#094d9e}
.theme-royal .avatar-violet{background:linear-gradient(135deg,#5aa7ef,#0b63ce)}
.theme-royal .panel-link{color:#0b63ce}
.theme-royal .panel-link:hover{color:#094d9e}
.theme-royal .text-button{color:#7db4ef}
.theme-royal .status-purple{color:#0b63ce;background:#e0edfc}
.theme-royal .tag-purple{color:#0b63ce;background:#e0edfc}
.theme-royal .marker-purple{color:#0b63ce;background:#e0edfc}
.theme-royal .dot-purple{background:#0b63ce}
.theme-royal .date-chip{color:#0b63ce;background:#e0edfc}
.theme-royal .probability i:after{background:#0b63ce}
.theme-royal .control-funnel-bar i{background:linear-gradient(90deg,#0b63ce,#6fb1f2)}
.theme-royal .health-score{color:#0b63ce}
.theme-royal .health-meter{background:#e0edfc}
.theme-royal .health-meter i{background:linear-gradient(90deg,#efaa55,#0b63ce)}
.theme-royal .insight-kicker{color:#0b63ce}
.theme-royal .report-card-icon{background:#dcebfc;color:#0b63ce}
.theme-royal .legend-purple{background:#0b63ce}
.theme-royal .account-chip{color:#0b63ce;background:#e0edfc}
.theme-royal .lead-avatar:not(.lead-blue):not(.lead-orange):not(.lead-green):not(.lead-pink){background:#0b63ce}
.theme-royal .lead-violet{background:#3a83d9}
.theme-royal .theme-option.is-selected{border-color:#0b63ce;box-shadow:0 0 0 2px #e0edfc}
.theme-royal .link-action:hover{background:#e0edfc;color:#0b63ce}
.theme-royal .modal-kicker{color:#0b63ce}
.theme-royal .cal-dot{background:#0b63ce}
.theme-royal .cal-selected{border-color:#0b63ce!important;background:#eef5fe!important}
.theme-royal .history-dot.dot-updated{background:#0b63ce}
.theme-royal .heat-cell{background:#f5f9fe;border-color:#e3edf9}
.theme-royal .heat-cell b{color:#0b63ce}
.theme-royal .heat-cell .heat-bar{background:linear-gradient(180deg,#5aa7ef,#0b63ce)}
.theme-royal .upgrade-card{background:linear-gradient(145deg,#12305e,#0d2447)}
.theme-royal .upgrade-glow{background:#2b7fe0}
.theme-royal .workspace-switcher:hover{background:rgba(255,255,255,.09)}
.theme-royal .command-search{background:#f0f5fc;border-color:#e2eaf5}
.theme-royal .form-grid input:focus,.theme-royal .form-grid select:focus,.theme-royal .generic-form input:focus,.theme-royal .generic-form select:focus,.theme-royal .settings-section input:focus,.theme-royal .settings-section select:focus,.theme-royal .crm-modal textarea:focus,.theme-royal .search-field:focus-within{border-color:#2f8fe6!important;box-shadow:0 0 0 3px #e0edfc!important}

/* ===== تم سبز گلوکوزان (theme-emerald) ===== */
/* توکن‌های .theme-emerald به «بلوک تم» انتهای فایل (:root[data-theme="emerald"]) منتقل شد. */
.theme-emerald .sidebar{background:linear-gradient(180deg,#113827,#0a2318)}
.theme-emerald .nav-item.is-active{background:linear-gradient(90deg,rgba(18,128,92,.35),rgba(18,128,92,.12));box-shadow:inset 3px 0 #1aa06f}
.theme-emerald .nav-item:hover{background:rgba(255,255,255,.07)}
.theme-emerald .nav-badge{background:#1aa06f}
.theme-emerald .brand-mark,.theme-emerald .workspace-avatar{background:linear-gradient(135deg,#1fae78,#0d6347)}
.theme-emerald .button-primary{background:linear-gradient(135deg,#1fae78,#12805c);box-shadow:0 8px 18px rgba(18,128,92,.25)}
.theme-emerald .button-primary:hover{box-shadow:0 10px 24px rgba(18,128,92,.35)}
.theme-emerald .metric-purple{background:linear-gradient(145deg,#e9f6ef,#fbfefc);border-color:#d4ecdf}
.theme-emerald .metric-purple .metric-icon{color:#12805c;background:#d8f0e3}
.theme-emerald .metric-purple .metric-label{color:#3d6b54}
.theme-emerald .sparkline-purple{color:#4fc492}
.theme-emerald .status-dot{background:#12805c;box-shadow:0 0 0 4px #ddf2e8}
.theme-emerald .eyebrow{color:#2b966c}
.theme-emerald .chart-line{stroke:#12805c}
.theme-emerald .chart-point{stroke:#12805c}
.theme-emerald .chart-area{fill:rgba(18,128,92,.14)}
.theme-emerald .progress i{background:#12805c}
.theme-emerald .progress{background:#e5f3ea}
.theme-emerald .progress-blue{background:#e4f3ec}
.theme-emerald .pagination button.is-current{background:#12805c;border-color:#12805c}
.theme-emerald .calendar-grid .today{background:#12805c;box-shadow:0 7px 13px rgba(18,128,92,.22)}
.theme-emerald .calendar-grid i:not(.muted-day):hover{background:#eef8f2;border-color:#d2ecdf;color:#12805c}
.theme-emerald .jdate-popup .jp-sel{background:#12805c}
.theme-emerald .jdate-popup .jp-today{background:#ddf2e8;color:#12805c}
.theme-emerald .jdate-popup .jp-grid .jp-day:hover{background:#ddf2e8;color:#12805c}
.theme-emerald .jdate-popup .jp-grid .jp-sel:hover{background:#12805c;color:#fff}
.theme-emerald .jdate-popup .jp-nav{color:#12805c}
.theme-emerald .settings-tab:hover,.theme-emerald .settings-tab.is-active{background:#ddf2e8;color:#12805c}
.theme-emerald .toast-icon{background:#12805c}
.theme-emerald .notif-foot{color:#12805c;background:#f0faf5}
.theme-emerald .notif-foot:hover{background:#e4f6ec}
.theme-emerald .notif-read{background:#ddf2e8;color:#12805c}
.theme-emerald .notif-read:hover{background:#12805c}
.theme-emerald .notif-icon.info{color:#12805c;background:#ddf2e8}
.theme-emerald .lead-action-convert{background:#12805c}
.theme-emerald .lead-action-convert:hover{background:#0d6347}
.theme-emerald .avatar-violet{background:linear-gradient(135deg,#3fbf8d,#0d6347)}
.theme-emerald .panel-link{color:#12805c}
.theme-emerald .panel-link:hover{color:#0d6347}
.theme-emerald .text-button{color:#6fd3a5}
.theme-emerald .status-purple{color:#12805c;background:#ddf2e8}
.theme-emerald .tag-purple{color:#12805c;background:#ddf2e8}
.theme-emerald .marker-purple{color:#12805c;background:#ddf2e8}
.theme-emerald .dot-purple{background:#12805c}
.theme-emerald .date-chip{color:#12805c;background:#ddf2e8}
.theme-emerald .probability i:after{background:#12805c}
.theme-emerald .control-funnel-bar i{background:linear-gradient(90deg,#12805c,#4fc492)}
.theme-emerald .health-score{color:#12805c}
.theme-emerald .health-meter{background:#ddf2e8}
.theme-emerald .health-meter i{background:linear-gradient(90deg,#efaa55,#12805c)}
.theme-emerald .insight-kicker{color:#12805c}
.theme-emerald .report-card-icon{background:#d8f0e3;color:#12805c}
.theme-emerald .legend-purple{background:#12805c}
.theme-emerald .account-chip{color:#12805c;background:#ddf2e8}
.theme-emerald .lead-avatar:not(.lead-blue):not(.lead-orange):not(.lead-green):not(.lead-pink){background:#12805c}
.theme-emerald .lead-violet{background:#2b966c}
.theme-emerald .theme-option.is-selected{border-color:#12805c;box-shadow:0 0 0 2px #ddf2e8}
.theme-emerald .link-action:hover{background:#ddf2e8;color:#12805c}
.theme-emerald .modal-kicker{color:#12805c}
.theme-emerald .cal-dot{background:#12805c}
.theme-emerald .cal-selected{border-color:#12805c!important;background:#eef8f2!important}
.theme-emerald .history-dot.dot-updated{background:#12805c}
.theme-emerald .heat-cell{background:#f4faf6;border-color:#e2f1e8}
.theme-emerald .heat-cell b{color:#12805c}
.theme-emerald .heat-cell .heat-bar{background:linear-gradient(180deg,#3fbf8d,#12805c)}
.theme-emerald .upgrade-card{background:linear-gradient(145deg,#14402c,#0d2b1c)}
.theme-emerald .upgrade-glow{background:#1aa06f}
.theme-emerald .workspace-switcher:hover{background:rgba(255,255,255,.09)}
.theme-emerald .command-search{background:#f0f8f3;border-color:#e2efe7}
.theme-emerald .form-grid input:focus,.theme-emerald .form-grid select:focus,.theme-emerald .generic-form input:focus,.theme-emerald .generic-form select:focus,.theme-emerald .settings-section input:focus,.theme-emerald .settings-section select:focus,.theme-emerald .crm-modal textarea:focus,.theme-emerald .search-field:focus-within{border-color:#1fae78!important;box-shadow:0 0 0 3px #ddf2e8!important}

/* ===== ارتفاع ستون‌های نمودار بینش (بدون inline style به دلیل CSP) ===== */
.insight-chart span[data-h="35"]{height:35%}.insight-chart span[data-h="45"]{height:45%}.insight-chart span[data-h="42"]{height:42%}.insight-chart span[data-h="62"]{height:62%}.insight-chart span[data-h="58"]{height:58%}.insight-chart span[data-h="82"]{height:82%}.insight-chart span[data-h="94"]{height:94%}

/* ===== پیش‌نمایش تم‌های جدید ===== */
.theme-preview-royal{background:linear-gradient(135deg,#0b63ce 25%,#f2f6fb 25%)}
.theme-preview-emerald{background:linear-gradient(135deg,#12805c 25%,#f3f8f4 25%)}

/* ===== صیقل و انیمیشن ===== */
::selection{background:color-mix(in srgb, var(--primary) 18%, transparent)}
.theme-royal ::selection{background:rgba(11,99,206,.18)}
.theme-emerald ::selection{background:rgba(18,128,92,.18)}
html{scrollbar-color:color-mix(in srgb, var(--primary) 35%, transparent) transparent}
body::-webkit-scrollbar{width:11px}
body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 30%, transparent);border-radius:99px;border:3px solid transparent;background-clip:content-box}
body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--primary) 50%, transparent);background-clip:content-box;border:3px solid transparent}
body::-webkit-scrollbar-track{background:transparent}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}
.button:active{transform:translateY(0) scale(.98)}
.button-primary:active{transform:translateY(0) scale(.98)}
.icon-button:active{transform:scale(.92)}
.view-section.is-visible .metric-card{animation:fadeUp .4s ease backwards}
.view-section.is-visible .metric-card:nth-child(2){animation-delay:.04s}
.view-section.is-visible .metric-card:nth-child(3){animation-delay:.08s}
.view-section.is-visible .metric-card:nth-child(4){animation-delay:.12s}
.view-section.is-visible .panel{animation:fadeUp .4s ease backwards}
.view-section.is-visible .summary-mini{animation:fadeUp .4s ease backwards}
.view-section.is-visible .lead-card{animation:fadeUp .35s ease backwards}
.lead-card:hover{transform:translateY(-3px) scale(1.005)}
.metric-card{transition:transform .2s ease,box-shadow .2s ease}
.metric-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(37,35,73,.09)}
.summary-mini{transition:transform .2s ease,box-shadow .2s ease}
.summary-mini:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(37,35,73,.08)}
/* کارت‌های خلاصهٔ گزارش قابل کلیک (Drill-down به لیست) */
#reportSummary .summary-mini[data-rep-drill]{cursor:pointer}
#reportSummary .summary-mini[data-rep-drill]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.loading-row{animation:pulseRow 1.4s ease infinite}
@keyframes pulseRow{0%,100%{opacity:1}50%{opacity:.55}}
.status-dot{transition:box-shadow .2s ease}
/* انتقال نرم هنگام تعویض تم */
body.theme-switching,.theme-switching .sidebar,.theme-switching .topbar,.theme-switching .panel,.theme-switching .metric-card,.theme-switching .summary-mini,.theme-switching .lead-card,.theme-switching .report-card,.theme-switching .crm-modal{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}
/* احترام به تنظیم کاهش حرکت کاربر */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* ===== Command Palette (جستجوی سراسری) ===== */
.palette-backdrop{display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}
.palette-backdrop .command-palette{width:min(640px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(23,22,48,.22);overflow:hidden;animation:fadeUp .18s ease}
.palette-input-row{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.palette-input-row .palette-search-icon{color:var(--primary);display:grid;place-items:center}
.palette-input-row .palette-search-icon svg{width:19px;height:19px}
.palette-input-row input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:0.9375rem;padding:2px 0}
.palette-input-row input::placeholder{color:#a3a7b8}
.palette-input-row kbd{margin-right:auto;color:#aaaabd;background:#f3f3f8;border:1px solid #e2e3eb;border-radius:6px;padding:3px 8px;font-size:0.75rem;direction:ltr}
.palette-results{max-height:min(52vh,480px);overflow-y:auto;padding:8px}
.palette-hint{color:#a3a7b8;font-size:0.78125rem;text-align:center;padding:26px 10px}
.palette-group-label{color:#8b91a7;font-size:0.75rem;font-weight:700;padding:10px 12px 5px}
.palette-item{display:flex;align-items:center;gap:12px;width:100%;text-align:right;background:transparent;color:var(--text);border-radius:10px;padding:9px 12px;font-size:0.84375rem}
.palette-item:hover{background:#f4f2ff}
.palette-item.is-highlight{background:linear-gradient(90deg,color-mix(in srgb, var(--primary) 14%, transparent),color-mix(in srgb, var(--primary) 5%, transparent));box-shadow:inset 3px 0 var(--primary)}
.palette-item .palette-item-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:0.9375rem;color:var(--primary);background:var(--purple-soft);flex:none}
.palette-item .palette-item-body{flex:1;min-width:0}
.palette-item .palette-item-body strong{display:block;font-size:0.84375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette-item .palette-item-body small{display:block;color:#9aa0b3;font-size:0.75rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.palette-item .palette-item-view{color:#a8aabc;font-size:0.6875rem;background:#f3f3f8;border-radius:6px;padding:4px 8px;flex:none}
.palette-empty{color:#9aa0b3;font-size:0.78125rem;text-align:center;padding:28px 10px}
/* ===== Profile menu (منوی کاربر) ===== */
.profile-wrap{position:relative;display:inline-flex}
.profile-avatar-button{display:flex;align-items:center;gap:4px;background:transparent;padding:2px;border-radius:10px}
.profile-avatar-button:hover{background:#f1f1f7}
.profile-chevron{width:10px;height:10px;color:#a8aabc}
.profile-menu{position:absolute;top:calc(100% + 12px);left:0;width:230px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 55px rgba(23,22,48,.18);z-index:130;overflow:hidden;animation:fadeUp .18s ease}
.profile-head{display:flex;align-items:center;gap:11px;padding:14px 15px;border-bottom:1px solid var(--line)}
.profile-head strong{display:block;font-size:0.84375rem}
.profile-head small{display:block;color:#9297ab;font-size:0.75rem;margin-top:2px}
.profile-item{display:flex;align-items:center;gap:10px;width:100%;text-align:right;background:transparent;color:#565b70;padding:11px 15px;font-size:0.78125rem}
.profile-item:hover{background:#f5f3ff;color:var(--primary)}
.profile-item svg{width:15px;height:15px}
.profile-item.is-danger{color:#d0656f}
.profile-item.is-danger:hover{background:#fdf0f1;color:#c94f5b}
/* ===== Workspace menu (فضای کاری) ===== */
.workspace-wrap{position:relative}
.workspace-menu{position:absolute;top:calc(100% + 10px);right:0;width:290px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 55px rgba(23,22,48,.2);z-index:130;overflow:hidden;animation:fadeUp .18s ease}
.workspace-menu-head{color:#8b91a7;font-size:0.75rem;font-weight:700;padding:13px 15px 6px}
.workspace-menu-item{display:flex;align-items:center;gap:11px;width:100%;text-align:right;background:transparent;color:#565b70;padding:10px 15px;font-size:0.78125rem}
.workspace-menu-item strong{display:block;font-size:0.78125rem}
.workspace-menu-item small{display:block;color:#9297ab;font-size:0.6875rem;margin-top:2px}
.workspace-menu-item svg{width:15px;height:15px}
.workspace-menu-item.is-active{background:#f5f3ff}
.workspace-menu-item:not(.is-active):hover{background:#f7f6fb;color:var(--primary)}
.workspace-menu-sep{height:1px;background:var(--line);margin:4px 0}
.workspace-switcher:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
/* تم تیره — منوها */
[data-theme="dark"] .palette-item:hover{background:#26283c}
[data-theme="dark"] .palette-item .palette-item-icon{color:var(--primary-light);background:#2a2545}
[data-theme="dark"] .palette-item .palette-item-view{background:#26283c;color:#9aa0b3}
[data-theme="dark"] .palette-item.is-highlight{background:linear-gradient(90deg,color-mix(in srgb, var(--primary-light) 25%, transparent),color-mix(in srgb, var(--primary-light) 8%, transparent))}
[data-theme="dark"] .profile-item:hover{background:#26283c;color:var(--primary-light)}
[data-theme="dark"] .profile-item.is-danger:hover{background:#382228;color:#f1848f}
[data-theme="dark"] .workspace-menu-item.is-active{background:#26283c}
[data-theme="dark"] .workspace-menu-item:not(.is-active):hover{background:#26283c;color:var(--primary-light)}
[data-theme="indigo"] .palette-item:hover{background:#26223f}
[data-theme="indigo"] .palette-item .palette-item-icon{color:var(--primary-light);background:#2a2545}
[data-theme="indigo"] .palette-item .palette-item-view{background:#26223f;color:#9aa0b3}
[data-theme="indigo"] .palette-item.is-highlight{background:linear-gradient(90deg,color-mix(in srgb, var(--primary-light) 22%, transparent),color-mix(in srgb, var(--primary-light) 6%, transparent))}
[data-theme="indigo"] .profile-item:hover{background:#26223f;color:var(--primary-light)}
[data-theme="indigo"] .workspace-menu-item.is-active{background:#26223f}
[data-theme="indigo"] .workspace-menu-item:not(.is-active):hover{background:#26223f;color:var(--primary-light)}
[data-theme="royal"] .palette-item:hover{background:#eef4fc}
[data-theme="royal"] .palette-item .palette-item-icon{color:#0b63ce;background:#e2edfb}
[data-theme="royal"] .palette-item .palette-item-view{background:#eef4fc;color:#8aa2c4}
[data-theme="royal"] .palette-item.is-highlight{background:linear-gradient(90deg,rgba(11,99,206,.13),rgba(11,99,206,.05))}
[data-theme="royal"] .profile-item:hover{background:#eef4fc;color:#0b63ce}
[data-theme="royal"] .workspace-menu-item.is-active{background:#eef4fc}
[data-theme="royal"] .workspace-menu-item:not(.is-active):hover{background:#eef4fc;color:#0b63ce}
[data-theme="emerald"] .palette-item:hover{background:#eaf7f2}
[data-theme="emerald"] .palette-item .palette-item-icon{color:#12805c;background:#e0f3eb}
[data-theme="emerald"] .palette-item .palette-item-view{background:#eaf7f2;color:#7fa998}
[data-theme="emerald"] .palette-item.is-highlight{background:linear-gradient(90deg,rgba(18,128,92,.13),rgba(18,128,92,.05))}
[data-theme="emerald"] .profile-item:hover{background:#eaf7f2;color:#12805c}
[data-theme="emerald"] .workspace-menu-item.is-active{background:#eaf7f2}
[data-theme="emerald"] .workspace-menu-item:not(.is-active):hover{background:#eaf7f2;color:#12805c}
/* ===== Apache ECharts host ===== */
.bi-canvas .ec-host{width:100%;height:100%}
.bi-canvas{position:relative;height:235px;padding:4px 8px 0}
.ceo-charts .bi-canvas{height:200px}
/* نشان «آخرین به‌روزرسانی» روی بوم نمودار قیف — گوشهٔ پایین-چپ، هنگام تغییر پالس می‌زند */
.ec-updated-stamp{position:absolute;top:6px;inset-inline-start:10px;z-index:2;font-size:var(--fs-2xs);font-weight:700;color:var(--muted,#62677f);background:color-mix(in srgb,var(--surface,#fff) 88%,transparent);backdrop-filter:blur(3px);padding:2px 7px;border-radius:99px;border:1px solid var(--line,#e2e3eb);pointer-events:none;white-space:nowrap;max-width:55%;overflow:hidden;text-overflow:ellipsis}
.ec-updated-stamp.ec-stamp-changed{animation:ecStampPulse 1.1s var(--ease-soft,ease)}
@keyframes ecStampPulse{0%{transform:scale(1);box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary)}40%{transform:scale(1.06);box-shadow:0 0 0 7px color-mix(in srgb,var(--primary) 0%,transparent)}100%{transform:scale(1);box-shadow:0 0 0 0 transparent}}
[data-theme="dark"] .ec-updated-stamp,[data-theme="indigo"] .ec-updated-stamp{background:color-mix(in srgb,#1b1c2e 88%,transparent);border-color:#343750;color:#aab0c3}
@media(prefers-reduced-motion:reduce){.ec-updated-stamp.ec-stamp-changed{animation:none}}
/* کدهای بازیابی MFA مدیر شرکت جدید — فقط یک‌بار نمایش داده می‌شوند */
.mfa-credential-body{display:flex;flex-direction:column;gap:12px;padding:4px 2px}
.mfa-credential-warning{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--warning,#f59e0b) 10%,var(--surface,#fff));border:1px solid color-mix(in srgb,var(--warning,#f59e0b) 35%,transparent);color:var(--text,#1e2434)}
.mfa-credential-warning p{margin:0;font-size:.8rem;line-height:1.7}
.mfa-code-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.mfa-code-chip{font-family:var(--mono,ui-monospace,monospace);font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface,#fff));border:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary);text-align:center;user-select:all}
.mfa-auth-key{display:flex;flex-direction:column;gap:4px;padding-top:4px}
.mfa-auth-key code{font-family:var(--mono,ui-monospace,monospace);font-size:.8rem;padding:6px 8px;border-radius:8px;background:var(--line,#eef0f6);word-break:break-all}
[data-theme="dark"] .mfa-code-chip,[data-theme="indigo"] .mfa-code-chip{background:color-mix(in srgb,var(--primary) 14%,#1b1c2e);color:#c9baff}
[data-theme="dark"] .mfa-auth-key code,[data-theme="indigo"] .mfa-auth-key code{background:#262840;color:#aab0c3}
[data-theme="dark"] .mfa-credential-warning,[data-theme="indigo"] .mfa-credential-warning{background:color-mix(in srgb,#f59e0b 12%,#1b1c2e);color:#e6e9f5}
/* Drill-down: نشانگر pointer روی کل مساحت نمودارهای Drill-پذیر.
   ECharts فقط روی عناصر سری cursor را اعمال می‌کند؛ فضای خالی canvas
   پیش‌فرض می‌ماند و نمودار غیرتعاملی به نظر می‌رسد. */
.ec-host.ec-drillable{cursor:pointer}
.ec-host.ec-drillable:hover{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--primary) 7%,transparent),transparent 70%)}
/* pulse کلیک: حلقهٔ درخشش که بازخورد بصری واضح قبل از تعویض view می‌دهد */
.ec-host.ec-drill-pulse{animation:ecDrillPulse .6s var(--ease-soft, ease) both}
@keyframes ecDrillPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--primary) 55%,transparent)}45%{box-shadow:0 0 0 14px color-mix(in srgb,var(--primary) 0%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.ec-host.ec-drill-pulse{animation:none}.ec-host.ec-drillable:hover{background:none}}
/* میله‌های قیف داشبورد: تعاملی و قابل کلیک (دریل به فرصت‌های همان مرحله) */
.pipeline-bars.is-drillable .pipeline-row{cursor:pointer;transition:transform .15s var(--ease-soft,ease),background .15s ease;border-radius:8px}
.pipeline-bars.is-drillable .pipeline-row:hover{background:color-mix(in srgb,var(--primary) 6%,transparent);transform:translateX(-2px)}
.pipeline-bars.is-drillable .pipeline-row:active{transform:translateX(0) scale(.99)}
.pipeline-bars.is-drillable .pipeline-row .progress{overflow:hidden}
.pipeline-row-pulse{animation:pipelineRowPulse .6s var(--ease-soft,ease) both}
@keyframes pipelineRowPulse{0%{background:color-mix(in srgb,var(--primary) 22%,transparent);transform:translateX(0)}40%{background:color-mix(in srgb,var(--primary) 8%,transparent);transform:translateX(-3px)}100%{background:transparent;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.pipeline-bars.is-drillable .pipeline-row{transition:none;transform:none}.pipeline-bars.is-drillable .pipeline-row:hover{background:none}.pipeline-row-pulse{animation:none}}
/* حالت نمای مقایسه‌ای میله‌های قیف داشبورد: هر مرحله دو میلهٔ «قبلی» و «جدید» می‌گیرد
 * تا در تازه‌سازی بلادرنگ، تغییر هر مرحله به‌صورت مجزا قابل مشاهده باشد. */
.pipeline-bars.is-compare .pipeline-row{grid-template-columns:1fr;gap:6px}
.pipeline-bars.is-compare .pipeline-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pipeline-bars.is-compare .progress-stack{display:grid;gap:3px;width:100%}
.pipeline-bars.is-compare .progress{height:7px;border-radius:99px;background:color-mix(in srgb,var(--primary) 12%,var(--surface-muted,#eef0f6))}
.pipeline-bars.is-compare .progress i{display:block;height:100%;border-radius:99px;width:0;transition:width .45s var(--ease-soft,ease)}
.pipeline-bars.is-compare .progress.is-prev{background:transparent;height:5px}
.pipeline-bars.is-compare .progress.is-prev i{background:#94a3b8;opacity:.85}
.pipeline-bars.is-compare .progress.is-cur i{background:var(--primary)}
.pipeline-bars.is-compare .progress.is-cur.is-up i{background:var(--success,#2fa36b)}
.pipeline-bars.is-compare .progress.is-cur.is-down i{background:var(--danger,#e05252)}
.pipeline-bars.is-compare .pipeline-delta{font-size:0.6875rem;font-weight:700;color:var(--muted)}
.pipeline-bars.is-compare .pipeline-delta.is-up{color:var(--success,#2fa36b)}
.pipeline-bars.is-compare .pipeline-delta.is-down{color:var(--danger,#e05252)}
.pipeline-bars.is-compare .pipeline-delta.is-zero{color:var(--muted);font-weight:500}
.funnel-compare-guide{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);font-size:0.6875rem;color:var(--muted)}
.funnel-compare-swatch{display:inline-block;width:22px;height:6px;border-radius:99px;vertical-align:middle;margin-inline-end:2px}
.funnel-compare-swatch.is-prev{background:#94a3b8}
.funnel-compare-swatch.is-cur{background:var(--primary)}
.funnel-compare-delta{color:var(--success,#2fa36b);font-weight:700}
.funnel-compare-delta.is-down{color:var(--danger,#e05252)}
@media(prefers-reduced-motion:reduce){.pipeline-bars.is-compare .progress i{transition:none}}
[data-theme="dark"] .pipeline-bars.is-compare .progress{background:color-mix(in srgb,var(--primary) 18%,#26283c)}
[data-theme="indigo"] .pipeline-bars.is-compare .progress{background:color-mix(in srgb,var(--primary) 14%,#26283c)}
.chart-type-wrap{display:inline-flex}.chart-type-select{color:#777b90;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:0.6875rem;font-family:inherit;cursor:pointer}
.chart-type-select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
[data-theme="dark"] .chart-type-select,[data-theme="indigo"] .chart-type-select{background:#26283c;color:#aab0c3;border-color:#343750}
[data-theme="royal"] .chart-type-select{background:#fff;color:#0b63ce;border-color:#cfe0f5}
[data-theme="emerald"] .chart-type-select{background:#fff;color:#12805c;border-color:#cfe9e0}
/* دانلود تصویر نمودار (PNG/SVG) — هم‌ردیف با انتخاب‌گر نوع نمودار */
.ec-download-wrap{display:inline-flex;gap:4px;margin-inline-start:6px}
.ec-download-btn{color:#777b90;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:0.6875rem;font-family:inherit;line-height:1;cursor:pointer}
.ec-download-btn:hover{color:var(--primary);border-color:var(--primary)}
.ec-download-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.ec-download-btn:disabled{opacity:.55;cursor:wait}
[data-theme="dark"] .ec-download-btn,[data-theme="indigo"] .ec-download-btn{background:#26283c;color:#aab0c3;border-color:#343750}
[data-theme="dark"] .ec-download-btn:hover,[data-theme="indigo"] .ec-download-btn:hover{color:#c7cdf0;border-color:#7c6cf0}
[data-theme="royal"] .ec-download-btn{background:#fff;color:#0b63ce;border-color:#cfe0f5}
[data-theme="emerald"] .ec-download-btn{background:#fff;color:#12805c;border-color:#cfe9e0}
.report-refresh-log{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 2px 4px;padding:6px 12px;border:1px dashed var(--line);border-radius:10px;background:var(--panel,#fff);font-size:0.78125rem}
.report-refresh-log[data-has-events="true"]{display:flex}
.report-refresh-log-label{color:var(--muted,#7a7f94);font-weight:600;white-space:nowrap}.report-refresh-log-actions{display:inline-flex;gap:5px}.report-refresh-action{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:7px;padding:3px 7px;font:inherit;font-size:0.6875rem;cursor:pointer}.report-refresh-action:hover{color:var(--primary);border-color:currentColor}
.report-refresh-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.report-refresh-empty{color:var(--muted,#9aa0b5);font-style:italic}
.report-refresh-item{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;background:rgba(37,99,235,.08);color:#2563eb;white-space:nowrap}
.report-refresh-item strong{font-weight:600}
.report-refresh-item time{color:var(--muted,#7a7f94);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:embed}
.report-refresh-item.is-entering{animation:reportRefreshIn .25s ease}
@keyframes reportRefreshIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
[data-theme="dark"] .report-refresh-log{background:#1e2030;border-color:#343750}
[data-theme="dark"] .report-refresh-item{background:rgba(124,108,240,.14);color:#c7cdf0}
[data-theme="royal"] .report-refresh-item{background:rgba(11,99,206,.1);color:#0b63ce}
[data-theme="emerald"] .report-refresh-item{background:rgba(18,128,92,.12);color:#12805c}
.report-realtime-pause{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto}
.report-pause-toggle{border:1px solid var(--line);background:var(--panel,#fff);color:var(--muted,#6b7280);border-radius:999px;padding:3px 10px;font-size:0.78125rem;font-family:inherit;line-height:1.4;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}
.report-pause-toggle:hover{color:var(--primary);border-color:var(--primary)}
.report-pause-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.report-realtime-pause[data-bi-paused="true"] .report-pause-toggle{color:#b91c1c;border-color:#f1a5a5;background:rgba(185,28,28,.06)}
.report-pause-stamp{color:#b91c1c;font-size:0.78125rem;font-weight:600;white-space:nowrap}
[data-realtime-status="paused"]{color:#b45309!important;border-color:#f59e0b!important}
[data-theme="dark"] [data-realtime-status="paused"]{color:#fbbf24!important;border-color:#b45309!important}
[data-theme="dark"] .report-pause-toggle{background:#26283c;color:#aab0c3;border-color:#343750}
[data-theme="dark"] .report-realtime-pause[data-bi-paused="true"] .report-pause-toggle{color:#fca5a5;border-color:#7f1d1d;background:rgba(185,28,28,.16)}
[data-theme="royal"] .report-pause-toggle:hover{color:#0b63ce;border-color:#0b63ce}
[data-theme="emerald"] .report-pause-toggle:hover{color:#12805c;border-color:#12805c}
/* مودال تمام‌صفحهٔ نمودار BI — همان نمودار با جزئیات بیشتر + فیلتر بازه */
.bi-modal{width:min(1200px,calc(100% - 60px));max-height:92vh;display:flex;flex-direction:column}
.bi-modal .modal-header{flex:none}
.bi-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid #f0f0f5}
.bi-modal-range{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}
.bi-modal-range-label{color:#8b91a7;font-size:0.75rem;font-weight:700}
.bi-modal-range .tl-field{margin:0}
.bi-modal-range .jdate-input{width:118px;padding:7px 9px;border:1px solid #e5e6ee;background:#fff;border-radius:8px;color:#555a70;font-size:0.75rem;font-family:inherit;outline:0}
.bi-modal-range .jdate-input:focus{border-color:#987fff;box-shadow:0 0 0 3px #f0ecff}
.bi-modal-actions{display:inline-flex;align-items:center;gap:7px}
.bi-modal-status{color:#8b91a7;font-size:0.6875rem}
.bi-modal-note{margin:0;padding:10px 22px;color:#9ca0b0;font-size:0.75rem;background:#fbfbfe;border-bottom:1px solid #f0f0f5}
.bi-modal-canvas{flex:1;min-height:430px;height:58vh;padding:16px 22px 22px}
.bi-modal-canvas .ec-host{width:100%;height:100%}
.ec-zoom-btn{font-size:0.84375rem;line-height:1}
.dark-mode .bi-modal-toolbar,.dark-mode .bi-modal-note{border-color:var(--line)}
.dark-mode .bi-modal-note{background:#1d1e30;color:#9498af}
.dark-mode .bi-modal-range .jdate-input{background:#202136;border-color:#383950;color:#fff}
@media(max-width:800px){.bi-modal{width:calc(100% - 20px)}.bi-modal-canvas{min-height:300px;height:50vh}.bi-modal-toolbar{align-items:flex-start;flex-direction:column}.bi-modal-range{width:100%}}
/* فیلتر Drill-down روی کانبان فرصت‌ها */
.kanban-filter-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-column:1/-1;background:linear-gradient(90deg,color-mix(in srgb, var(--primary) 12%, transparent),color-mix(in srgb, var(--primary) 4%, transparent));border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);border-radius:11px;padding:9px 14px;font-size:0.75rem;color:#6a5fd0}
.kanban-filter-chip button{background:transparent;color:#d0656f;font-size:0.75rem;font-weight:700}

/* ===== P1-SALES-03: فضای کار امروز ===== */
.today-workspace{margin:20px 0 18px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),rgba(246,244,255,.72));box-shadow:0 12px 30px rgba(42,34,94,.05)}
.today-workspace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}
.today-workspace-heading h2{margin:2px 0 5px;font-size:1.125rem;color:var(--text)}
.today-workspace-heading p:not(.eyebrow){margin:0;color:var(--muted);font-size:0.75rem;line-height:1.9}
.today-date-chip{display:inline-flex;vertical-align:middle;margin-right:7px;padding:4px 9px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:0.75rem;font-weight:800}
.today-workspace-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:15px}
.today-summary-card{display:flex;align-items:center;gap:9px;min-height:68px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);overflow:hidden}
.today-summary-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;font-size:0.9375rem;font-weight:900;background:var(--primary-soft);color:var(--primary)}
.today-summary-card small{display:block;color:var(--muted);font-size:0.6875rem;white-space:nowrap}
.today-summary-card strong{display:block;margin-top:5px;color:var(--text);font-size:0.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl}
.today-summary-purple .today-summary-icon{background:#eee9ff;color:var(--primary-dark)}.today-summary-blue .today-summary-icon{background:#e7f2ff;color:#2677c8}.today-summary-orange .today-summary-icon{background:#fff0df;color:#d47a1e}.today-summary-green .today-summary-icon{background:#e4f8ef;color:#1a9a70}.today-summary-target .today-summary-icon{background:#e8f7f2;color:#138669}.today-summary-gap .today-summary-icon{background:#ffe9ed;color:#d25467}
.today-target-status,.today-achievement{display:inline-block;margin-top:4px;font-size:var(--fs-2xs);font-weight:800}.today-target-on-track{color:#168866}.today-target-near-target{color:#c2781c}.today-target-behind{color:#d25467}.today-target-not-configured{color:var(--muted)}.today-achievement{color:var(--primary)}
/* T13: کارتِ KPI شخصی — سرستونِ دوتایی، نوار پیشرفتِ رنگی و نامِ تعیین‌کنندهٔ هدف. */
.today-summary-kpi .today-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.today-summary-kpi .today-kpi-head small{display:inline;white-space:nowrap}
.today-target-basis{flex:none;padding:1px 6px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:var(--fs-2xs);font-weight:800;white-space:nowrap}
.today-target-basis:empty{display:none}
.today-target-assigned-by{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-target-assigned-by:empty{display:none}
.today-kpi-progress{position:relative;height:7px;margin-top:8px;border-radius:999px;background:#eef0f6;overflow:hidden}
.today-kpi-progress-fill{height:100%;width:0;border-radius:999px;background:var(--primary);transition:width .6s cubic-bezier(.4,0,.2,1)}
.today-kpi-progress-fill.is-on-track{background:linear-gradient(90deg,#19a978,#138669)}
.today-kpi-progress-fill.is-near{background:linear-gradient(90deg,#e8a93f,#d47a1e)}
.today-kpi-progress-fill.is-behind{background:linear-gradient(90deg,#e8768a,#d25467)}
.dark-mode .today-kpi-progress,[data-theme="dark"] .today-kpi-progress{background:#2a2c42}
.today-workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.today-workspace-panel{min-width:0;overflow:hidden}.today-workspace-panel .panel-heading{padding:15px 17px 10px}.today-workspace-panel .panel-heading h3{margin:0;font-size:0.84375rem;color:var(--text)}.today-workspace-panel .panel-heading p{margin:4px 0 0;color:var(--muted);font-size:0.6875rem}.today-panel-badge{padding:4px 8px;border-radius:7px;background:#eee9ff;color:var(--primary-dark);font-size:var(--fs-2xs);font-weight:800}.today-panel-blue{background:#e7f2ff;color:#2677c8}.today-panel-orange{background:#fff0df;color:#c8791f}.today-panel-green{background:#e4f8ef;color:#188866}
.today-activity-list{display:flex;flex-direction:column;gap:7px;padding:4px 15px 15px;max-height:245px;overflow:auto}.today-activity-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.today-activity-row:hover{border-color:#cfc4ff;box-shadow:0 7px 18px rgba(77,57,160,.09);transform:translateX(-2px)}.today-activity-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:0.84375rem;font-weight:900}.today-activity-main{flex:1;min-width:0}.today-activity-main strong{display:block;color:var(--text);font-size:0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-activity-main small{display:block;margin-top:3px;color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-open-button{flex:none;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--primary);font:inherit;font-size:var(--fs-2xs);font-weight:800}.today-outcome{display:inline-block;margin-top:4px;padding:2px 5px;border-radius:5px;font-size:var(--fs-2xs);font-weight:800}.today-outcome-positive{background:#e4f8ef;color:#168866}.today-outcome-neutral{background:#eef0f6;color:#71768a}.today-outcome-negative{background:#ffe9ed;color:#d25467}.today-next-action{padding:4px 15px 0}.today-next-action:empty{display:none}.today-next-list{max-height:180px}.today-empty,.today-error{display:flex;align-items:center;justify-content:center;gap:7px;min-height:64px;padding:12px;color:var(--muted);font-size:0.6875rem;text-align:center}.today-empty{flex-direction:column}.today-empty span{font-size:1.125rem;color:#8b7be8}.today-empty small{line-height:1.7}.today-error{color:#d25467}.today-workspace.is-loading{opacity:.72;pointer-events:none}.dark-mode .today-workspace,[data-theme="dark"] .today-workspace,[data-theme="indigo"] .today-workspace{background:linear-gradient(145deg,var(--surface),#1d1e30)}
@media(max-width:1150px){.today-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.today-workspace{padding:15px}.today-workspace-heading{align-items:stretch;flex-direction:column}.today-workspace-heading .button{align-self:flex-start}.today-workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.today-workspace-grid{grid-template-columns:1fr}.today-summary-card strong{font-size:0.84375rem}}
@media(max-width:430px){.today-workspace-summary{grid-template-columns:1fr}.today-summary-card{min-height:60px}}
.kanban-filter-chip strong{color:var(--primary)}
[data-theme="royal"] .kanban-filter-chip{background:linear-gradient(90deg,rgba(11,99,206,.1),rgba(11,99,206,.03));border-color:rgba(11,99,206,.25);color:#0b63ce}
[data-theme="emerald"] .kanban-filter-chip{background:linear-gradient(90deg,rgba(18,128,92,.1),rgba(18,128,92,.03));border-color:rgba(18,128,92,.25);color:#12805c}
/* ===== Timeline عمودی تاریخچه (History Timeline) ===== */
.htl{position:relative;display:flex;flex-direction:column;padding-right:4px}
.htl::before{content:'';position:absolute;top:10px;bottom:12px;right:13px;width:2px;background:linear-gradient(180deg,var(--primary),color-mix(in srgb, var(--primary-light) 22%, transparent));opacity:.35;border-radius:2px}
.htl-item{position:relative;display:flex;gap:13px;padding:0 0 20px}
.htl-item:last-child{padding-bottom:2px}
.htl-dot{position:relative;z-index:1;flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px;background:var(--surface);border:2px solid var(--line);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-light) 7%, transparent)}
.htl-ico{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.htl-ico-plain{font-size:0.875rem;line-height:1}
.htl-dot-created{color:#0f9d58;border-color:rgba(15,157,88,.55);background:rgba(15,157,88,.08)}
.htl-dot-updated{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 50%, transparent);background:color-mix(in srgb, var(--primary) 9%, transparent)}
.htl-dot-deleted{color:#e0536b;border-color:rgba(224,83,107,.55);background:rgba(224,83,107,.08)}
.htl-dot-restored{color:#d97706;border-color:rgba(217,119,6,.5);background:rgba(217,119,6,.08)}
.htl-card{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 13px;transition:border-color .2s,box-shadow .2s}
.htl-card:hover{border-color:var(--primary);box-shadow:0 8px 22px rgba(37,35,73,.08)}
.htl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.htl-action{font-size:0.78125rem;font-weight:800;padding:2px 10px;border-radius:99px}
.htl-action-created{background:rgba(15,157,88,.13);color:#0f9d58}
.htl-action-updated{background:color-mix(in srgb, var(--primary) 13%, transparent);color:var(--primary)}
.htl-action-deleted{background:rgba(224,83,107,.13);color:#e0536b}
.htl-action-restored{background:rgba(217,119,6,.15);color:#b45309}
.htl-entity{font-size:0.75rem;color:var(--muted);background:color-mix(in srgb, var(--primary-light) 9%, transparent);padding:2px 8px;border-radius:99px}
.htl-time{margin-inline-start:auto;font-size:0.75rem;color:var(--muted);white-space:nowrap}
.htl-meta{display:flex;align-items:center;gap:9px;margin-top:7px;font-size:0.78125rem;color:var(--muted)}
.htl-user{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--text)}
.htl-user-link{background:transparent;border:0;padding:3px 5px;border-radius:7px;color:var(--primary);font:inherit;cursor:pointer;transition:background .2s,color .2s}
.htl-user-link:hover,.htl-user-link:focus-visible{background:var(--purple-soft);color:var(--primary-dark);outline:2px solid color-mix(in srgb, var(--primary) 35%, transparent);outline-offset:1px}
.history-link-mark{font-size:0.78125rem;opacity:.75}
.htl-user-ico{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.htl-latest{font-size:0.6875rem;background:rgba(15,157,88,.12);color:#0f9d58;padding:1px 7px;border-radius:99px}
.htl-toggle{margin-top:8px;font-size:0.78125rem;font-weight:700;color:var(--primary);background:transparent;padding:2px 0;border-radius:6px}
.htl-toggle:hover{text-decoration:underline}
.htl-changes{list-style:none;margin:9px 0 0;padding:9px 12px;background:var(--surface-soft,var(--surface));border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;gap:7px}
.htl-change{display:flex;align-items:baseline;gap:9px;font-size:0.78125rem;flex-wrap:wrap}
.htl-field{color:var(--muted);min-width:96px;font-weight:700}
.htl-diff{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--text)}
.htl-old{text-decoration:line-through;color:var(--muted);opacity:.8}
.htl-arrow{color:var(--muted);font-size:0.75rem}
.htl-new{font-weight:800;color:var(--text)}
.opp-card-history{margin-inline-start:auto;width:20px;height:20px;border:0;background:transparent;color:var(--muted);font-size:0.84375rem;cursor:pointer;border-radius:6px;line-height:1;display:grid;place-items:center;flex:none}
.opp-card-history:hover{color:var(--primary);background:color-mix(in srgb, var(--primary-light) 12%, transparent)}
#biActivityTimeline .htl{padding:20px 24px}
#biActivityTimeline .htl::before{right:29px}
/* ===== مدیریت کاربران و نقش‌ها ===== */
.admin-tabs{display:flex;gap:4px;background:#f4f4f8;border:1px solid #ececf3;border-radius:12px;padding:4px;margin-bottom:14px;width:max-content}
.admin-tab{border:0;background:transparent;color:#6b7085;font:inherit;font-size:0.84375rem;font-weight:600;padding:8px 18px;border-radius:9px;cursor:pointer;transition:.15s}
.admin-tab:hover{color:#5b3fc4;background:#ece8ff}
.admin-tab.is-active{background:#fff;color:#5b3fc4;box-shadow:0 1px 4px rgba(91,63,196,.16)}
.admin-tab .nav-badge{display:inline-block;background:#5b3fc4;color:#fff;font-size:0.6875rem;border-radius:99px;padding:1px 6px;margin-inline-start:6px}
.admin-pane{display:none}.admin-pane.is-visible{display:block}
.cell-user{display:flex;align-items:center;gap:10px}
.cell-user strong{display:block;font-size:0.84375rem;color:#2d3044}
.cell-user small{display:block;font-size:0.75rem;color:#8b90a3;margin-top:2px}.session-client{display:grid;gap:3px;max-width:260px}.session-client span{font-size:0.75rem;color:#596078}.session-client small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr;text-align:right}.session-revoke-button{color:#a33a4c;border-color:#efd0d7}.session-revoke-button:hover:not(:disabled){background:#fff1f3;border-color:#e5aab5}.session-revoke-button:disabled{opacity:.6;cursor:not-allowed}.dark-mode .session-client span{color:#c4c8dc}.dark-mode .session-revoke-button{color:#ff9eaa;border-color:#63333d}.dark-mode .session-revoke-button:hover:not(:disabled){background:#3a1e26}
.chip-row{display:flex;flex-wrap:wrap;gap:4px;max-width:260px}
.role-check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;background:#fafafd;border:1px solid #ececf3;border-radius:9px;padding:10px 12px;max-height:200px;overflow:auto}
.role-check{display:flex;align-items:center;gap:7px;font-size:0.78125rem;color:#5f6479;font-weight:500;cursor:pointer}
.role-check input{width:auto;margin:0}
.role-check small{color:#9aa0b4}
.perm-count{font-size:0.78125rem;color:#7354da;background:#eeeaff;border-radius:99px;padding:3px 10px;font-weight:600}
.tenant-section-title{margin:6px 0 2px;padding-top:8px;border-top:1px dashed #e4e4ee;font-size:0.875rem;color:#3c3f51}
.tenant-section-title small{color:#8a8fa3;font-weight:400}
.tenant-personnel-row{display:grid;grid-template-columns:1fr 1fr 1.4fr 1fr 1.2fr auto;gap:6px;align-items:center;margin-bottom:6px}
.tenant-personnel-row input,.tenant-personnel-row select{padding:6px 8px;border:1px solid #ddddea;border-radius:8px;font-size:0.84375rem;background:#fff}
.tenant-personnel-row .icon-button{flex:0 0 auto;width:30px;height:30px}
.admin-roles-matrix-wrap{margin-top:14px}.admin-roles-matrix-note{color:#7d8499;font-size:0.78125rem;margin:0 0 12px;line-height:1.7}.admin-roles-matrix-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;align-items:start}.role-matrix-card{border:1px solid #e3e7f2;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(70,80,140,.06);overflow:hidden;display:flex;flex-direction:column}.role-matrix-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #eef0f7;background:linear-gradient(135deg,#fafbff,#fff)}.role-matrix-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.role-matrix-card-title strong{font-size:0.875rem;color:#2c3150}.role-matrix-card-title code{font-size:0.75rem;color:#5e6790;background:#f0f2fa;border-radius:6px;padding:2px 6px;direction:ltr;display:inline-block}.role-matrix-card-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:0.75rem;color:#8a91a5;white-space:nowrap}.role-matrix-modules{display:flex;flex-direction:column;gap:8px;padding:12px 14px;max-height:380px;overflow:auto;flex:1}.role-matrix-module{padding:8px 10px}.role-matrix-module .perm-module-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.role-matrix-module .perm-module-head em{font-style:normal;font-size:0.75rem;color:#8992a9}.role-matrix-perms{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));padding-inline-start:16px}.role-matrix-card-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #eef0f7;background:#fafbff}.role-matrix-card-foot .button{margin-inline-start:auto}.role-matrix-dirty{font-size:0.75rem;color:#b7791f;background:#fdf3e3;border-radius:99px;padding:2px 8px}
/* ویزارد ساخت نقش سفارشی: استپر دو مرحله‌ای + کارت ماتریس مرحلهٔ ۱ */
.role-wizard-steps{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #eef0f7;background:#fafbff}
.role-wizard-step{display:flex;align-items:center;gap:6px;font-size:0.84375rem;color:#8a91a5;padding:6px 12px;border-radius:99px;border:1px solid #e3e7f2;background:#fff}
.role-wizard-step span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eef0f7;color:#5e6790;font-size:0.78125rem;font-weight:700}
.role-wizard-step.is-active{color:#2c3150;border-color:var(--primary-dark);background:#f5f1ff}
.role-wizard-step.is-active span{background:var(--primary-dark);color:#fff}
.role-wizard-panel{padding:16px}
.role-wizard-panel[hidden]{display:none}
.role-wizard-matrix .role-matrix-modules{max-height:400px}
.role-wizard-perm-summary{font-size:0.84375rem;color:#2c3150;margin:12px 0 0}
.role-wizard-perm-summary strong{color:var(--primary-dark)}
/* گام ۱ — نوار ابزار: جستجوی ماژول/مجوز + کپی مجوزهای نقش مبنا */
.role-wizard-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;padding:12px 14px;border:1px solid #e3e7f2;border-radius:14px;background:#fafbff}
.role-wizard-tool-field{display:flex;flex-direction:column;gap:4px;font-size:0.75rem;color:#5e6790;font-weight:600}
.role-wizard-tool-search{flex:1;min-width:180px}
.role-wizard-tool-field input,.role-wizard-tool-field select{height:34px;border:1px solid #e3e7f2;border-radius:10px;padding:0 10px;font-size:0.84375rem;background:#fff;color:#2c3150}
.role-wizard-tool-field input:focus,.role-wizard-tool-field select:focus{outline:0;border-color:var(--primary-dark);box-shadow:0 0 0 3px #f0ecff}
.role-wizard-tool-field select{max-width:260px}
.role-wizard-tool-status{font-size:0.78125rem;color:#12805c;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9px;padding:6px 10px;align-self:center}
/* گام ۳ — پیش‌نمایش و تأیید پیش از ذخیرهٔ نهایی نقش */
.role-wizard-preview{display:flex;flex-direction:column;gap:14px}
.role-wizard-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #e3e7f2;border-radius:14px;background:linear-gradient(135deg,#fafbff,#fff)}
.role-wizard-preview-head h3{font-size:0.9375rem;color:#2c3150;margin:2px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.role-wizard-preview-head h3 code{font-size:0.78125rem;color:#5e6790;background:#f0f2fa;border-radius:6px;padding:2px 7px;direction:ltr}
.role-wizard-preview-total{flex:none;font-size:0.78125rem;color:#5e6790;background:#f0f2fa;border-radius:99px;padding:4px 11px}
.role-wizard-preview-total b{color:var(--primary-dark);font-size:0.9375rem}
.role-wizard-preview-block{border:1px solid #e3e7f2;border-radius:14px;background:#fff;padding:13px 15px}
.role-wizard-preview-block h4{display:flex;align-items:baseline;gap:8px;font-size:0.84375rem;color:#2c3150;margin:0 0 11px}
.role-wizard-preview-block h4 em{font-style:normal;font-size:0.75rem;color:#8a91a5;font-weight:400}
.role-wizard-preview-modules{display:flex;flex-direction:column;gap:9px;max-height:240px;overflow:auto}
.role-wizard-preview-module{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:10px;background:#fafbff;border:1px solid #eef0f7}
.role-wizard-preview-module header{flex:none;min-width:110px}
.role-wizard-preview-module header strong{display:block;font-size:0.78125rem;color:#3a3e52}
.role-wizard-preview-module header em{font-style:normal;font-size:0.75rem;color:#8992a9}
.role-wizard-preview-chips{display:flex;flex-wrap:wrap;gap:5px}
.role-wizard-preview-chip{font-size:0.75rem;color:#5e6790;background:#f0f2fa;border-radius:7px;padding:3px 8px}
.role-wizard-similar-list{display:flex;flex-direction:column;gap:8px}
.role-wizard-similar-role{padding:9px 12px;border:1px solid #eef0f7;border-radius:10px;background:#fafbff}
.role-wizard-similar-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.role-wizard-similar-name strong{font-size:0.84375rem;color:#2c3150}
.role-wizard-similar-name code{font-size:0.75rem;color:#5e6790;background:#f0f2fa;border-radius:5px;padding:1px 6px;direction:ltr}
.role-wizard-similar-meta{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:0.75rem;color:#8992a9}
.role-wizard-similar-meta span{color:#12805c;font-weight:700}
.role-wizard-similar-meta em{font-style:normal;color:#b7791f;font-weight:700}
.role-wizard-similar-impact-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.role-wizard-similar-impact{padding:4px 8px;border-radius:7px;background:#f1f3fa;color:#5e6790;font-size:0.75rem}.role-wizard-similar-impact.is-ready{background:#e6f6ee;color:#16734f}.role-wizard-similar-impact.is-error{background:#fdeee2;color:#a33b21}.role-wizard-similar-impact.is-aggregate{flex-basis:100%;background:#eeeafe;color:#5037a5;font-weight:800}.role-wizard-similar-bar{height:5px;border-radius:99px;background:#eef0f7;margin-top:7px;overflow:hidden}
.role-wizard-similar-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary-dark),var(--primary-light))}
.role-wizard-similar-copy{margin-top:8px;font-size:0.75rem}
.role-wizard-similar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.role-wizard-similar-actions .role-wizard-similar-copy,.role-wizard-similar-actions .role-wizard-similar-view{margin-top:0;font-size:0.75rem}
.role-wizard-similar-matrix-note{font-size:0.78125rem;color:#8a91a5;margin:10px 16px 0;line-height:1.8}
.role-wizard-similar-matrix{display:flex;flex-direction:column;gap:12px;max-height:62vh;overflow:auto;padding:14px 16px}
.role-wizard-similar-diff{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:0.75rem}
.role-wizard-diff-added{color:#12805c;font-weight:700}
.role-wizard-diff-removed{color:#b33030;font-weight:700}
.role-wizard-diff-equal{color:#8992a9;font-weight:600}
.role-wizard-preview-note{font-size:0.78125rem;color:#8a91a5;margin:10px 0 0;line-height:1.8}
/* مقایسهٔ نسخه‌ای (Snapshot) ماتریس نقش — دو کارت کنار هم */
.crm-modal.crm-modal-xxwide{max-width:1240px;width:min(1240px,calc(100vw - 40px))}
.role-compare-snapshot-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 16px;border-bottom:1px solid #eef0f7;background:#fafbff}
.role-compare-snapshot-toolbar .tl-field{display:flex;flex-direction:column;gap:4px;font-size:0.78125rem;color:#5e6790}
.role-compare-snapshot-toolbar input,.role-compare-snapshot-toolbar select{height:34px;border:1px solid #e3e7f2;border-radius:10px;padding:0 10px;font-size:0.84375rem;background:#fff;color:#2c3150;direction:ltr}
.role-snapshot-live{font-size:0.78125rem;color:#8992a9;align-self:center}
.role-snapshot-body{padding:14px 16px}
.role-snapshot-diffbar{display:flex;flex-wrap:wrap;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:12px;background:#f6f7fc;border:1px solid #eef0f7;font-size:0.84375rem;color:#2c3150}
.role-snapshot-diffbar .role-snapshot-added{color:#12805c;font-weight:700}
.role-snapshot-diffbar .role-snapshot-removed{color:#c2410c;font-weight:700}
.role-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.role-snapshot-grid-catalog{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.role-snapshot-impact{margin:14px 0 4px;padding:12px 14px;border-radius:12px;background:#f6f7fc;border:1px solid #e3e7f2}
.role-snapshot-impact[hidden]{display:none}
.role-snapshot-impact-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:0.78125rem;color:#5e6790;line-height:1.8}
.role-snapshot-impact-meta strong{font-size:0.84375rem;color:#2c3150}
.role-snapshot-impact-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.role-snapshot-impact-chip{display:inline-block;padding:3px 8px;border-radius:6px;font-size:0.75rem;direction:ltr;text-align:left;word-break:break-all}
.role-snapshot-impact-chip.is-freed{color:#12805c;background:#e6f6ee;border:1px solid #bfe8d2}
.role-snapshot-impact-chip.is-restricted{color:#c2410c;background:#fdeee2;border:1px solid #f6d3b8}
.dark-mode .role-snapshot-impact{background:#1b2033;border-color:#38415b}
.dark-mode .role-snapshot-impact-meta{color:#9aa0b8}
.dark-mode .role-snapshot-impact-meta strong{color:#e4e7f2}
.dark-mode .role-snapshot-impact-chip.is-freed{color:#6ee7a0;background:#17301f;border-color:#2a5338}
.dark-mode .role-snapshot-impact-chip.is-restricted{color:#fec08a;background:#3a2313;border-color:#5a3a20}
.role-snapshot-card-note{font-size:0.78125rem;color:#5e6790;background:#fafbff;border-bottom:1px solid #eef0f7;padding:8px 14px}
.role-snapshot-card-foot{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid #eef0f7}
.role-soft-restore-banner{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px 14px;border-radius:12px;border:1px solid #f0c56b;border-right:5px solid #d88918;background:linear-gradient(135deg,#fff8e6,#fff2cf);color:#5d4317;font-size:0.78125rem;line-height:1.9}
.role-soft-restore-banner strong{display:block;font-size:0.84375rem;color:#9b6410}
.role-soft-restore-impact{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.role-soft-restore-impact span{padding:5px 10px;border-radius:8px;background:#eef0fb;border:1px solid #dde2f2;color:#3c4a8c;font-size:0.78125rem;font-weight:700}
.role-soft-restore-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.role-soft-restore-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.role-soft-restore-effective{border-color:#9dd8bd;background:#f3fbf7}.role-soft-restore-effective header{color:#16734f}.role-soft-restore-effective .role-snapshot-perms{border-top:2px dashed #8ed0ae}@media(max-width:900px){.role-soft-restore-grid-three{grid-template-columns:1fr}}
.role-soft-restore-col{border:1px solid #e3e7f2;border-radius:12px;overflow:hidden;background:#fafbff}
.role-soft-restore-col header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #eef0f7;font-size:0.78125rem;color:#5e6790}
.role-soft-restore-col header strong{font-size:0.84375rem;color:#2c3150}
.role-soft-restore-col .role-snapshot-perms{max-height:340px;overflow:auto;padding:10px}
.role-soft-restore-target .role-snapshot-perms{border-top:2px dashed #f0c56b}
.role-soft-restore-modules{display:none}
.dark-mode .role-soft-restore-banner{background:#2a2313;border-color:#5a4a20;color:#f0d9a8}
.dark-mode .role-soft-restore-banner strong{color:#f0c56b}
.dark-mode .role-soft-restore-impact span{background:#1b2033;border-color:#38415b;color:#b9c2ea}
.dark-mode .role-soft-restore-col{background:#161b2c;border-color:#38415b}
.dark-mode .role-soft-restore-col header{border-color:#2a3145;color:#9aa0b8}
.dark-mode .role-soft-restore-col header strong{color:#e4e7f2}
.dark-mode .role-soft-restore-target .role-snapshot-perms{border-color:#5a4a20}
.role-soft-restore-export{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 14px;padding:9px 12px;border:1px solid #dde2f2;border-radius:10px;background:#fafbff}.role-soft-restore-export strong{margin-inline-end:auto;font-size:0.78125rem;color:#4b5680}.role-impact-users{margin:12px 0 14px;border:1px solid #e3e7f2;border-radius:12px;overflow:hidden;background:#fafbff}
.role-impact-users-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #eef0f7;font-size:0.78125rem;color:#5e6790}
.role-impact-users-head strong{font-size:0.84375rem;color:#2c3150}
.role-impact-users-list{max-height:240px;overflow:auto}
.role-impact-user-row{display:grid;grid-template-columns:minmax(150px,1.2fr) auto 1fr;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f2f8}
.role-impact-user-row:last-child{border-bottom:none}
.role-impact-user-row:hover{background:#f4f6fc}
.role-impact-user-identity{display:flex;flex-direction:column;min-width:0}
.role-impact-user-identity strong{font-size:0.84375rem;color:#2c3150;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.role-impact-user-identity small{font-size:0.75rem;color:#8a90ab;direction:ltr;text-align:left}
.role-impact-user-counts{display:flex;gap:6px;flex:none}
.role-impact-user-counts em{padding:3px 8px;border-radius:6px;font-size:0.75rem;font-style:normal;font-weight:800}
.role-impact-user-counts em.is-freed{color:#12805c;background:#e6f6ee;border:1px solid #bfe8d2}
.role-impact-user-counts em.is-restricted{color:#c2410c;background:#fdeee2;border:1px solid #f6d3b8}
.role-impact-user-counts em.role-impact-nochange{color:#8a90ab;background:#f1f2f7;border:1px solid #e3e6ef}
.role-impact-user-perms{display:flex;flex-wrap:wrap;gap:4px;min-width:0;justify-content:flex-end}
.dark-mode .role-impact-users{background:#161b2c;border-color:#38415b}
.dark-mode .role-impact-users-head{border-color:#2a3145;color:#9aa0b8}
.dark-mode .role-impact-users-head strong{color:#e4e7f2}
.dark-mode .role-impact-user-row{border-color:#22283c}
.dark-mode .role-impact-user-row:hover{background:#1b2033}
.dark-mode .role-impact-user-identity strong{color:#e4e7f2}
.dark-mode .role-impact-user-identity small{color:#9aa0b8}
.dark-mode .role-impact-user-counts em.role-impact-nochange{color:#9aa0b8;background:#1b2033;border-color:#38415b}
.role-export-preview{margin:14px 0 4px;border:1px solid #dde2f2;border-radius:12px;overflow:hidden;background:#fafbff}
.role-export-preview[hidden]{display:none}
.role-export-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #eef0f7;font-size:0.78125rem;color:#5e6790}
.role-export-preview-head strong{font-size:0.84375rem;color:#2c3150}
.role-export-preview-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.role-export-preview-filters label{display:flex;flex-direction:column;gap:4px;font-size:0.95rem}.role-export-preview-filters input,.role-export-preview-filters select{min-width:180px;padding:7px 9px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:var(--surface,#fff);color:inherit}.role-export-preview-filters span{font-size:0.93rem;color:var(--text-muted,#64748b);padding-bottom:8px}.role-export-preview-pdf-estimate{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:10px 0;padding:10px 12px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--surface-soft,#f8fafc);color:var(--text-muted,#64748b)}.role-export-preview-pdf-estimate strong{color:var(--text,#0f172a)}.role-export-preview-pdf-estimate small{flex-basis:100%;font-size:0.9rem}.role-export-preview-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px 4px;font-size:0.78125rem;font-weight:700;color:#5e6790}
.role-export-preview-summary span{padding:4px 9px;border-radius:7px;background:#f1f3fa;border:1px solid #e3e7f2}
.role-export-preview-summary span.role-snapshot-added{color:#12805c;background:#e6f6ee;border-color:#bfe8d2}
.role-export-preview-summary span.role-snapshot-removed{color:#c2410c;background:#fdeee2;border-color:#f6d3b8}
.role-export-preview-table{padding:8px 12px 6px;overflow:auto;max-height:280px}
.role-export-preview-table table{width:100%;border-collapse:collapse;font-size:0.78125rem}
.role-export-preview-table th{text-align:right;padding:6px 8px;color:#5e6790;border-bottom:1px solid #e3e7f2;white-space:nowrap}
.role-export-preview-table td{padding:6px 8px;border-bottom:1px solid #f0f2f8;color:#2c3150}
.role-export-preview-table td code{font-size:0.75rem;direction:ltr;display:inline-block}
.role-export-preview-table td.role-snapshot-added{color:#12805c;font-weight:800}
.role-export-preview-table td.role-snapshot-removed{color:#c2410c;font-weight:800}
.role-export-preview-table td.role-snapshot-unchanged{color:#8a90ab}
.role-export-preview-note{padding:6px 12px 10px;font-size:0.75rem;color:#8a90ab}
.dark-mode .role-export-preview{background:#161b2c;border-color:#38415b}
.dark-mode .role-export-preview-head{border-color:#2a3145;color:#9aa0b8}
.dark-mode .role-export-preview-head strong{color:#e4e7f2}
.dark-mode .role-export-preview-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.role-export-preview-filters label{display:flex;flex-direction:column;gap:4px;font-size:0.95rem}.role-export-preview-filters input,.role-export-preview-filters select{min-width:180px;padding:7px 9px;border:1px solid var(--line,#e5e7eb);border-radius:8px;background:var(--surface,#fff);color:inherit}.role-export-preview-filters span{font-size:0.93rem;color:var(--text-muted,#64748b);padding-bottom:8px}.role-export-preview-pdf-estimate{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:10px 0;padding:10px 12px;border:1px solid var(--line,#e5e7eb);border-radius:10px;background:var(--surface-soft,#f8fafc);color:var(--text-muted,#64748b)}.role-export-preview-pdf-estimate strong{color:var(--text,#0f172a)}.role-export-preview-pdf-estimate small{flex-basis:100%;font-size:0.9rem}.role-export-preview-summary{color:#9aa0b8}
.dark-mode .role-export-preview-summary span{background:#1b2033;border-color:#38415b}
.dark-mode .role-export-preview-summary span.role-snapshot-added{color:#6ee7a0;background:#17301f;border-color:#2a5338}
.dark-mode .role-export-preview-summary span.role-snapshot-removed{color:#fec08a;background:#3a2313;border-color:#5a3a20}
.dark-mode .role-export-preview-table th{color:#9aa0b8;border-color:#38415b}
.dark-mode .role-export-preview-table td{color:#e4e7f2;border-color:#22283c}
.dark-mode .role-export-preview-table td.role-snapshot-unchanged{color:#9aa0b8}
.dark-mode .role-export-preview-note{color:#9aa0b8}
.role-snapshot-seed-divider{color:#c3c9dd;opacity:.8}
.role-snapshot-beyond{color:var(--primary-dark);font-weight:700}
.role-snapshot-seed-ok{color:#12805c;font-weight:700}
.role-snapshot-cell.role-snapshot-beyond-seed{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}
.role-snapshot-cell.role-snapshot-seed-revoked{background:#fff1f2;border-color:#fecdd3;color:#be123c}
.role-snapshot-beyond-seed .role-snapshot-delta{color:var(--primary-dark)}
.role-snapshot-seed-revoked .role-snapshot-delta{color:#e11d48}
.role-snapshot-card{border:1px solid #e3e7f2;border-radius:16px;background:#fff;box-shadow:0 2px 10px rgba(70,80,140,.06);overflow:hidden;display:flex;flex-direction:column}
.role-snapshot-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #eef0f7;background:linear-gradient(135deg,#fafbff,#fff)}
.role-snapshot-card-head strong{font-size:0.875rem;color:#2c3150}
.role-snapshot-card-head time{display:block;font-size:0.75rem;color:#8a91a5}
.role-snapshot-count{font-size:0.78125rem;color:#5e6790;background:#f0f2fa;border-radius:99px;padding:3px 10px}
.role-snapshot-modules{display:flex;flex-direction:column;gap:8px;padding:12px 14px;max-height:440px;overflow:auto}
.role-snapshot-card-foot{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #eef0f7;background:linear-gradient(135deg,#fafbff,#fff)}
.role-snapshot-perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding-inline-start:16px}
.role-snapshot-cell{display:flex;align-items:center;gap:6px;border-radius:8px;padding:5px 8px;font-size:0.78125rem;border:1px solid transparent}
.role-snapshot-cell code{font-size:0.75rem;direction:ltr;color:#3d4766}
.role-snapshot-cell small{color:#8a91a5}
.role-snapshot-cell.role-snapshot-on{background:#f0fdf4;border-color:#dcfce7;color:#166534}
.role-snapshot-cell.role-snapshot-off{background:#f8f9fc;border-color:#eef0f7;color:#a3a9bd}
.role-snapshot-cell.role-snapshot-off code{color:#b6bbcc}
.role-snapshot-cell.role-snapshot-added{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.role-snapshot-cell.role-snapshot-removed{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.role-snapshot-delta{font-style:normal;font-weight:800;font-size:0.84375rem}
.role-snapshot-added .role-snapshot-delta{color:#059669}
.role-snapshot-removed .role-snapshot-delta{color:#ea580c}
.role-snapshot-module .perm-module-head{padding-inline-end:0}
.dark-mode .role-compare-snapshot-toolbar{background:#191e30;border-color:#38415b}
.dark-mode .role-compare-snapshot-toolbar input,.dark-mode .role-compare-snapshot-toolbar select{background:#1b2033;border-color:#38415b;color:#e4e7f2}
.dark-mode .role-snapshot-live{color:#aab0c8}
.dark-mode .role-snapshot-diffbar{background:#1b2033;border-color:#38415b;color:#e4e7f2}
.dark-mode .role-snapshot-card{background:#1b2033;border-color:#38415b}
.dark-mode .role-snapshot-card-head{background:linear-gradient(135deg,#1e2438,#1b2033);border-color:#38415b}
.dark-mode .role-snapshot-card-head strong{color:#e4e7f2}
.dark-mode .role-snapshot-count{background:#252b42;color:#b8c8f2}
.dark-mode .role-snapshot-cell.role-snapshot-on{background:#14251b;border-color:#1d4d3a;color:#86efac}
.dark-mode .role-snapshot-cell.role-snapshot-off{background:#20263b;border-color:#38415b;color:#6b7290}
.dark-mode .role-snapshot-cell.role-snapshot-added{background:#0e2a1f;border-color:#14532d;color:#6ee7b7}
.dark-mode .role-snapshot-cell.role-snapshot-removed{background:#2b1c10;border-color:#7c2d12;color:#fdba74}
.dark-mode .role-snapshot-card-note{background:#191e30;border-color:#38415b;color:#aab0c8}
.dark-mode .role-snapshot-cell.role-snapshot-beyond-seed{background:#251b38;border-color:#4c1d95;color:#c4b5fd}
.dark-mode .role-snapshot-cell.role-snapshot-seed-revoked{background:#33151b;border-color:#881337;color:#fda4af}
.dark-mode .role-snapshot-cell code{color:#c4cbe2}
.dark-mode .role-snapshot-cell small{color:#8d94ac}
.dark-mode .role-wizard-steps{background:#191e30;border-color:#38415b}
.dark-mode .role-wizard-step{background:#1b2033;border-color:#38415b;color:#aab0c8}
.dark-mode .role-wizard-step span{background:#252b42;color:#b8c8f2}
.dark-mode .role-wizard-step.is-active{background:#2a2438;border-color:var(--primary-dark);color:#e4e7f2}
.dark-mode .role-wizard-perm-summary{color:#e4e7f2}
.dark-mode .role-wizard-perm-summary strong{color:#c4b5fd}
.dark-mode .role-wizard-toolbar{background:#191e30;border-color:#38415b}
.dark-mode .role-wizard-tool-field{color:#aab0c8}
.dark-mode .role-wizard-tool-field input,.dark-mode .role-wizard-tool-field select{background:#1b2033;border-color:#38415b;color:#e4e7f2}
.dark-mode .role-wizard-tool-status{color:#6ee7b7;background:#0e2a1f;border-color:#14532d}
.dark-mode .role-wizard-preview-head{background:linear-gradient(135deg,#1e2438,#1b2033);border-color:#38415b}
.dark-mode .role-wizard-preview-head h3{color:#e4e7f2}
.dark-mode .role-wizard-preview-head h3 code{background:#252b42;color:#b8c8f2}
.dark-mode .role-wizard-preview-total{background:#252b42;color:#b8c8f2}
.dark-mode .role-wizard-preview-total b{color:#c4b5fd}
.dark-mode .role-wizard-preview-block{background:#1b2033;border-color:#38415b}
.dark-mode .role-wizard-preview-block h4{color:#e4e7f2}
.dark-mode .role-wizard-preview-module{background:#20263b;border-color:#38415b}
.dark-mode .role-wizard-preview-module header strong{color:#cfd4e6}
.dark-mode .role-wizard-preview-chip{background:#252b42;color:#b8c8f2}
.dark-mode .role-wizard-similar-role{background:#20263b;border-color:#38415b}
.dark-mode .role-wizard-similar-name strong{color:#e4e7f2}
.dark-mode .role-wizard-similar-name code{background:#252b42;color:#b8c8f2}
.dark-mode .role-wizard-similar-impact-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.role-wizard-similar-impact{padding:4px 8px;border-radius:7px;background:#f1f3fa;color:#5e6790;font-size:0.75rem}.role-wizard-similar-impact.is-ready{background:#e6f6ee;color:#16734f}.role-wizard-similar-impact.is-error{background:#fdeee2;color:#a33b21}.role-wizard-similar-impact.is-aggregate{flex-basis:100%;background:#eeeafe;color:#5037a5;font-weight:800}.role-wizard-similar-bar{background:#2b3248}
.dark-mode .role-wizard-preview-note{color:#aab0c8}.role-matrix-save-state{font-size:0.75rem;margin-inline-end:auto}.dark-mode .role-matrix-card{background:#1b2033;border-color:#38415b;box-shadow:none}.dark-mode .role-matrix-card-head{background:linear-gradient(135deg,#1e2438,#1b2033);border-color:#38415b}.dark-mode .role-matrix-card-title strong{color:#e4e7f2}.dark-mode .role-matrix-card-title code{background:#252b42;color:#b8c8f2}.dark-mode .role-matrix-card-foot{background:#191e30;border-color:#38415b}.dark-mode .role-matrix-dirty{color:#f0c674;background:#3a3120}.perm-matrix{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;padding:4px}
.perm-module{background:#fafafd;border:1px solid #ececf3;border-radius:10px;padding:10px 12px}
.perm-module-head{margin-bottom:6px}
.perm-all{display:flex;align-items:center;gap:7px;font-weight:700;font-size:0.84375rem;color:#3a3e52;cursor:pointer}
.perm-all input{width:auto;margin:0}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:5px;padding-inline-start:20px}.role-history-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:10px 12px;margin-bottom:12px;border:1px solid #e5e8f2;border-radius:12px;background:#fafbff}.role-history-toolbar label{display:grid;gap:4px;font-size:0.75rem;color:#697188}.role-history-toolbar input{min-height:32px;padding:5px 8px;border:1px solid #dfe3ef;border-radius:8px;background:#fff;color:#30364d;font:inherit}.role-permission-timeline{max-height:62vh;overflow:auto;padding:4px}.role-permission-timeline-list{display:grid;gap:12px}.role-permission-event{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;position:relative}.role-permission-event:not(:last-child)::after{content:'';position:absolute;right:13px;top:30px;bottom:-13px;border-right:1px dashed #cfd6e8}.role-permission-event-marker{display:flex;justify-content:center;position:relative;z-index:1}.role-permission-event-marker span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9e6ff;color:#6655c8;font-weight:800}.role-permission-event-card{border:1px solid #e5e8f2;border-radius:12px;background:#fff;padding:11px}.role-permission-event-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.role-permission-event-head strong{color:#353a50;font-size:0.84375rem}.role-permission-event-head time{color:#7b8298;font-size:0.75rem}.role-permission-event-meta{display:flex;justify-content:space-between;gap:8px;margin-top:4px;color:#8a91a5;font-size:0.75rem}.role-permission-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.role-permission-diff section{min-width:0;border-radius:9px;background:#fafbfe;padding:8px}.role-permission-diff h4{margin:0 0 6px;color:#555d75;font-size:0.78125rem}.role-history-permission-list{list-style:none;padding:0;margin:0;max-height:145px;overflow:auto;display:grid;gap:4px}.role-history-permission-list li{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dashed #e7eaf2;padding:3px 0}.role-history-permission-list code{font-size:0.6875rem;color:#5e6790;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-history-permission-list span{font-size:0.6875rem;color:#868da2;white-space:nowrap}.role-permission-change-summary{display:flex;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:0.75rem}.role-permission-added{color:#14845f}.role-permission-removed{color:#b74b5a}.dark-mode .role-history-toolbar{background:#1b2033;border-color:#38415b}.dark-mode .role-history-toolbar input{background:#171b2b;border-color:#414963;color:#e4e7f2}.dark-mode .role-permission-event-card,.dark-mode .role-permission-diff section{background:#1d2233;border-color:#39405a}.dark-mode .role-permission-event-head strong,.dark-mode .role-permission-diff h4{color:#e1e5f1}.dark-mode .role-history-permission-list li{border-color:#363d52}.dark-mode .role-history-permission-list code{color:#bdcafa}@media (max-width:680px){.role-permission-diff{grid-template-columns:1fr}.role-history-toolbar label{flex:1;min-width:180px}}.role-compare-panel{margin-top:8px;border:1px solid #dfe4f4;border-radius:14px;background:linear-gradient(135deg,#f8faff,#fff);padding:12px}.role-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.role-compare-head small{display:block;color:#7d8499;font-size:0.75rem;margin-top:3px}.role-compare-controls{display:flex;align-items:center;gap:6px}.role-compare-controls select{min-width:190px}.role-compare-result{min-height:34px}.role-compare-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;background:#eef4ff;border-radius:10px;color:#34405d;font-size:0.78125rem}.role-compare-summary span{color:#8992a9}.role-compare-summary em{font-style:normal;color:#3568be;margin-inline-start:auto}.role-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.role-compare-column{border:1px solid #e8eaf2;border-radius:10px;background:#fff;padding:9px;min-width:0}.role-compare-column h4{font-size:0.78125rem;color:#3b4055;margin:0 0 7px;display:flex;justify-content:space-between;gap:5px}.role-compare-column h4 b{color:#6d5bd0}.role-compare-column ul{list-style:none;padding:0;margin:0;max-height:170px;overflow:auto;display:grid;gap:4px}.role-compare-column li{display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px dashed #eef0f5;padding:3px 0}.role-compare-column li code{font-size:0.6875rem;color:#5b6290;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-compare-column li span{font-size:0.6875rem;color:#858ba0;white-space:nowrap}.dark-mode .role-compare-panel{background:linear-gradient(135deg,#1b2035,#161a2a);border-color:#38415f}.dark-mode .role-compare-summary{background:#202d4c;color:#dce6ff}.dark-mode .role-compare-column{background:#1d2233;border-color:#39405a}.dark-mode .role-compare-column h4{color:#e2e5f1}.dark-mode .role-compare-column li{border-color:#34394d}.dark-mode .role-compare-column li code{color:#b8c8f2}.dark-mode .role-compare-column li span{color:#a9afc4}@media (max-width:760px){.role-compare-head{align-items:stretch;flex-direction:column}.role-compare-controls{width:100%}.role-compare-controls select{flex:1;min-width:0}.role-compare-grid{grid-template-columns:1fr}}
.perm-check{display:flex;align-items:center;gap:6px;font-size:0.78125rem;color:#6b7085;cursor:pointer}
.perm-check input{width:auto;margin:0}
.status-badge{display:inline-block;font-size:0.75rem;font-weight:600;padding:3px 9px;border-radius:99px;background:#eef0f4;color:#6b7085}
.status-badge-success{background:#e3f6ec;color:#12805c}
.status-badge-danger{background:#fdeaea;color:#d64545}
.status-badge-warm{background:#fff3e0;color:#b06a00}
.htl-foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:7px;border-top:1px dashed var(--line)}
.htl-view{display:inline-flex;align-items:center;gap:5px;font-size:0.78125rem;font-weight:700;color:var(--primary);background:color-mix(in srgb, var(--primary) 9%, transparent);border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);border-radius:8px;padding:4px 10px;cursor:pointer;transition:.15s;font-family:inherit}
.htl-view:hover{background:color-mix(in srgb, var(--primary) 16%, transparent);border-color:color-mix(in srgb, var(--primary) 45%, transparent)}
.htl-view-disabled,.htl-view-disabled:hover{color:#8b8f9f;background:#f1f2f5;border-color:#dfe1e8;cursor:not-allowed;opacity:.82}
.htl-view-ico{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.htl-restore{display:inline-flex;align-items:center;gap:5px;font-size:0.78125rem;font-weight:800;color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:4px 10px;cursor:pointer;transition:.15s;font-family:inherit}.htl-restore:hover{background:#d1fae5;border-color:#34d399}.htl-restore:disabled{opacity:.58;cursor:wait}.htl-item-restored .htl-card{border-color:#86efac;background:linear-gradient(135deg,rgba(236,253,245,.92),rgba(255,255,255,.98))}.htl-restored-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.77rem;font-weight:800;color:#047857;background:#d1fae5;border:1px solid #6ee7b7;border-radius:99px;padding:2px 8px;margin-right:8px}.htl-item-stale .htl-card{border-color:#d9dce5;background:linear-gradient(135deg,rgba(248,249,251,.96),rgba(255,255,255,.98))}.htl-item-stale .htl-dot{color:#7d8494;border-color:#cfd3dc;background:#f4f5f7;box-shadow:0 0 0 3px rgba(125,132,148,.08)}.htl-stale-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.77rem;font-weight:700;color:#737a8a;background:#eef0f3;border:1px solid #d8dce4;border-radius:99px;padding:2px 8px;margin-right:8px}.htl-stale-badge::before{content:'○';font-size:0.93rem;line-height:1}

/* ========== فیلتر ممیزی بازهای خط زمانی سراسری ========== */
.tl-filterbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px 24px 6px;border-bottom:1px solid #f0f0f5}
.tl-quick{display:flex;align-items:center;gap:6px;margin-left:6px}
.tl-quick-label{color:#a0a4b5;font-size:0.6875rem;font-weight:600}
.tl-chip{background:#fff;border:1px solid #e5e6ee;color:#777b90;border-radius:8px;padding:7px 10px;font-size:0.6875rem;font-weight:600;transition:.18s}
.tl-chip:hover{border-color:var(--primary-light);color:var(--primary-dark);background:#f8f6ff}
.tl-field{display:flex;flex-direction:column;gap:5px;color:#70758a;font-size:0.6875rem;font-weight:600}
.tl-field input,.tl-field select{width:150px;border:1px solid #e5e6ee;background:#fff;border-radius:8px;color:#555a70;padding:8px 10px;outline:0;font-size:0.75rem;transition:.2s}
.tl-field input:focus,.tl-field select:focus{border-color:#987fff;box-shadow:0 0 0 3px #f0ecff}
.tl-field .jdate-input{width:150px}.tl-entity select{width:170px}.tl-user-search input{width:170px}.tl-user select{width:190px}.tl-summary{display:block;margin:10px 24px 0;padding:9px 13px;border-radius:9px;background:#f2efff;border:1px solid #e0d7ff;color:var(--primary-dark);font-size:0.75rem;font-weight:600}
.tl-summary[hidden]{display:none}
/* خلاصهٔ آماری خط زمانی سراسری: کل، عملیات، کاربران و موجودیت‌های پرتکرار */
.tl-stats{display:flex;flex-direction:column;gap:9px}.tl-stats-range{font-size:0.75rem;font-weight:800;color:var(--primary-dark)}.tl-stats-grid{display:flex;flex-wrap:wrap;gap:7px}.tl-stat-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:62px;padding:7px 10px;border:1px solid #e5e6ee;border-radius:9px;background:#fff}.tl-stat-cell b{font-size:0.9375rem;line-height:1.2}.tl-stat-cell span{font-size:0.6875rem;font-weight:600;color:#70758a}.tl-stat-total b{color:var(--primary-dark)}.tl-action-created b{color:#2b9d7c}.tl-action-updated b{color:#3b7dd8}.tl-action-deleted b{color:#d64545}.tl-action-restored b{color:#b8860b}.tl-stats-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tl-stats-group{display:flex;flex-direction:column;gap:6px;min-width:0}.tl-stats-label{font-size:0.6875rem;font-weight:800;color:#70758a}.tl-stats-chips{display:flex;flex-wrap:wrap;gap:5px}.tl-stat-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;border:1px solid #e0e2ee;border-radius:20px;background:#eef0f7;color:#555a70;font-size:0.6875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-stat-chip b{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#d9d2ff;color:var(--primary-dark);font-size:var(--fs-2xs);flex:none}.tl-stat-chip strong{color:var(--primary-dark);font-size:0.6875rem}.tl-stat-chip-entity b{background:#d9f5eb;color:#269f7e}.tl-stat-chip-entity strong{color:#269f7e}.tl-stat-empty{color:#a0a4b5;font-size:0.6875rem}
.tl-scope-switch{display:flex;align-items:center;gap:6px;padding:10px 24px 0}.tl-scope-tab{border:1px solid #e5e6ee;background:#fff;color:#85899b;border-radius:8px;padding:7px 12px;font-size:0.6875rem;font-weight:700;transition:.18s}.tl-scope-tab:hover{border-color:var(--primary-light);color:var(--primary-dark)}.tl-scope-tab.is-active{background:#f0ecff;border-color:#cfc2ff;color:var(--primary-dark)}.tl-scope-switch>span{color:#a0a4b5;font-size:0.6875rem;margin-right:5px}.my-activity-heading{display:flex;align-items:center;gap:10px;margin:12px 24px;padding:12px 14px;border:1px solid #d9f0e7;border-radius:12px;background:linear-gradient(90deg,#f2fcf8,#fff)}.my-activity-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#d9f5eb;color:#269f7e;font-size:1rem}.my-activity-heading>div{display:flex;flex-direction:column;gap:3px;flex:1}.my-activity-heading strong{font-size:0.78125rem;color:#3e5360}.my-activity-heading small{font-size:var(--fs-2xs);color:#8da2a5}.my-activity-live{color:#278f72;background:#dff7ed;border-radius:20px;padding:4px 8px;font-size:var(--fs-2xs);font-weight:700}.dark-mode .tl-scope-tab{background:#1d1e30;border-color:var(--line);color:#9aa0b8}.dark-mode .tl-scope-tab.is-active{background:#2a2548;border-color:#4a3f86;color:#c9baff}.dark-mode .my-activity-heading{background:#183127;border-color:#24503f}.dark-mode .my-activity-heading strong{color:#d0e8df}.dark-mode .my-activity-heading small{color:#91b4a7}
/* خلاصهٔ آماری تاریخچهٔ کاربر — کل تغییرات، تفکیک عملیات و موجودیت‌های پرکاربرد همان بازه */
.uh-stats{display:flex;flex-direction:column;gap:8px}
.uh-stats-range{font-size:0.75rem;font-weight:700;color:var(--primary-dark)}
.uh-stats-note{display:block;margin-top:3px;font-size:0.6875rem;font-weight:500;color:#b0853b}
.uh-stats-grid{display:flex;flex-wrap:wrap;gap:7px}
.uh-stat-cell{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:62px;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e5e6ee}
.uh-stat-cell b{font-size:0.9375rem;line-height:1.2}
.uh-stat-cell span{font-size:0.6875rem;font-weight:600;color:#70758a}
.uh-stat-total b{color:var(--primary-dark)}
.uh-action-created b{color:#2b9d7c}
.uh-action-updated b{color:#3b7dd8}
.uh-action-deleted b{color:#d64545}
.uh-action-restored b{color:#b8860b}
.uh-stats-entities{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.uh-stats-daily{margin-top:2px;padding:9px 11px 8px;border:1px solid #e5e6ee;border-radius:10px;background:linear-gradient(180deg,#fcfcff,#f7f7fb)}
.uh-stats-daily-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.uh-stats-daily-head span{font-size:0.75rem;font-weight:800;color:#555a70}
.uh-stats-daily-head small{font-size:var(--fs-2xs);color:#9a9ead}
.uh-daily-chart{height:76px;display:flex;align-items:flex-end;justify-content:space-around;gap:5px;padding:0 2px;border-bottom:1px solid #e1e3ec}
.uh-daily-column{height:100%;min-width:28px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;color:#8b90a3}
.uh-daily-column b{min-height:12px;font-size:var(--fs-2xs);font-weight:700;color:var(--primary-dark)}
.uh-daily-column i{display:block;width:min(22px,72%);min-height:3px;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,#9a7dff,#6f50e7);box-shadow:0 3px 8px rgba(112,80,231,.18);transition:height .3s ease}
.uh-daily-column:hover i{background:linear-gradient(180deg,var(--primary-light),var(--primary));transform:scaleX(1.12)}
.uh-daily-column small{font-size:var(--fs-2xs);color:#8b90a3;direction:rtl}
.uh-stats-label{font-size:0.6875rem;font-weight:700;color:#70758a}
.uh-stats-chip{background:#eef0f7;border:1px solid #e0e2ee;border-radius:20px;padding:3px 9px;font-size:0.6875rem;font-weight:600;color:#555a70}
.dark-mode .uh-stat-cell{background:#1d1e30;border-color:#383950}
.dark-mode .uh-stat-cell span{color:#9aa0b8}
.dark-mode .uh-stats-chip{background:#22233a;border-color:#3a3b55;color:#c9ccdc}.dark-mode .uh-stats-daily{background:linear-gradient(180deg,#202136,#1b1c2d);border-color:#383950}.dark-mode .uh-stats-daily-head span{color:#d2d5e2}.dark-mode .uh-stats-daily-head small,.dark-mode .uh-daily-column small{color:#9aa0b8}.dark-mode .uh-daily-chart{border-color:#383950}.dark-mode .uh-daily-column i{background:linear-gradient(180deg,#b6a3ff,var(--primary))}
.dark-mode .tl-filterbar{border-color:var(--line)}
.dark-mode .tl-field input,.dark-mode .tl-field select{background:#202136;border-color:#383950;color:#fff}
.dark-mode .tl-chip{background:#1d1e30;border-color:var(--line);color:#9aa0b8}
.dark-mode .tl-chip:hover{border-color:#4a3f86;color:#c9baff;background:#2a2548}
.dark-mode .tl-summary{background:#2a2548;border-color:#4a3f86;color:#c9baff}.dark-mode .tl-stat-cell{background:#1d1e30;border-color:#383950}.dark-mode .tl-stat-cell span,.dark-mode .tl-stats-label{color:#9aa0b8}.dark-mode .tl-stat-chip{background:#22233a;border-color:#3a3b55;color:#c9ccdc}.dark-mode .tl-stat-chip b{background:#3b3468;color:#c9baff}.dark-mode .tl-stat-chip-entity b{background:#214e42;color:#57c9a2}.dark-mode .tl-stat-chip strong{color:#c9baff}.dark-mode .tl-stat-chip-entity strong{color:#57c9a2}
@media(max-width:700px){.tl-field input,.tl-field .jdate-input{width:118px}.tl-entity select,.tl-user select{width:140px}.tl-user-search input{width:140px}.tl-filterbar{padding:12px 15px 6px}.tl-stats-breakdown{grid-template-columns:1fr}}

/* گزارش پرسنل بدون حساب و ساخت جمعی Identity */
.unlinked-employee-report{margin:16px 0 18px;overflow:hidden}.unlinked-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}.unlinked-report-head h2{font-size:0.9375rem;margin:5px 0}.unlinked-report-head p{color:#9297aa;font-size:0.6875rem;margin:0;line-height:1.8}.unlinked-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.unlinked-report-status{color:var(--primary-dark);background:#f0ecff;border:1px solid #ded5ff;border-radius:20px;padding:6px 9px;font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}.unlinked-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 22px;color:#858a9d;font-size:0.6875rem;border-bottom:1px solid var(--line)}.unlinked-report-toolbar .check-row{margin:0}.unlinked-result{display:inline-block;max-width:260px;font-size:var(--fs-2xs);line-height:1.7}.unlinked-result-pending{color:var(--primary-dark)}.unlinked-result-created{color:#269f7e}.unlinked-result-inactive,.unlinked-result-missing_email{color:#b07c32}.unlinked-result-email_exists,.unlinked-result-failed,.unlinked-result-not_found{color:#d65f70}.bulk-identity-results-modal{max-width:920px}.bulk-results-note{margin:15px 22px 0;padding:9px 11px;border-right:3px solid #f3a34f;border-radius:8px;background:#fffaf0;color:#8a6d3b;font-size:0.6875rem;line-height:1.8}.bulk-identity-results-modal .table-scroll{max-height:390px;margin:14px 22px}.bulk-identity-results-modal code{display:inline-block;direction:ltr;text-align:left;background:#f6f7fb;border:1px solid #e5e6ee;border-radius:6px;padding:4px 7px;font-size:var(--fs-2xs);line-height:1.7;white-space:nowrap}.dark-mode .unlinked-report-status{background:#2a2548;border-color:#4a3f86;color:#c9baff}.dark-mode .bulk-results-note{background:#302a20;color:#e0bd6b}.dark-mode .bulk-identity-results-modal code{background:#202136;border-color:#383950;color:#fff}@media(max-width:760px){.unlinked-report-head{flex-direction:column}.unlinked-report-actions{justify-content:flex-start}.unlinked-report-toolbar{align-items:flex-start;flex-direction:column}}

/* نشان پیوند واقعی Identity به پرسنل (P0-SEC-04) */
.identity-badge{display:inline-flex;align-items:center;gap:4px;margin-right:6px;vertical-align:middle;color:#2b9d7c;background:#e4f8f0;border:1px solid #cdeedf;border-radius:6px;padding:2px 7px;font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}
.dark-mode .identity-badge{color:#4fd6ac;background:#16352c;border-color:#24503f}
.identity-badge-link{cursor:pointer;font-family:inherit;transition:.18s;text-decoration:none}
.identity-badge-link:hover{border-color:#8fd8c0;background:#d3f2e6;box-shadow:0 0 0 3px #e0f7ef}
.identity-badge-link:focus-visible{outline:2px solid #2b9d7c;outline-offset:1px}
.dark-mode .identity-badge-link:hover{border-color:#2f6b58;background:#1d4036}
/* هایلایت ردیف کاربر هویتیِ مقصد از نمای پرسنل */
@keyframes identityFlash{0%,55%{background:#fff3c9;outline:2px solid #f5c542}100%{background:transparent;outline:2px solid transparent}}
tr.identity-flash{animation:identityFlash 2.6s ease}
.dark-mode tr.identity-flash{animation-name:identityFlashDark}
@keyframes identityFlashDark{0%,55%{background:#3a3315;outline:2px solid #8a6d1f}100%{background:transparent;outline:2px solid transparent}}
/* دکمهٔ ساخت حساب کاربری برای پرسنلِ بدون حساب هویتی */
.account-create-btn{color:var(--primary-dark);background:#f2efff;border:1px solid #e0d7ff;border-radius:7px;padding:4px 8px;font-size:0.6875rem;font-weight:700;white-space:nowrap}
.account-create-btn:hover{background:#e8e2ff;border-color:var(--primary-light);color:#5a3bd6}
.dark-mode .account-create-btn{color:#c9baff;background:#2a2548;border-color:#4a3f86}
/* مودال اعتبارنامهٔ یک‌بارهٔ حساب تازه‌ساخته */
.identity-creds{display:flex;flex-direction:column;gap:10px;padding:20px 24px}
.identity-creds-note{margin:0;font-size:0.78125rem;color:#8a6d3b;background:#fff7e0;border:1px solid #f3e3b8;border-radius:9px;padding:9px 12px;font-weight:600}
.cred-row{display:flex;align-items:center;gap:10px;font-size:0.78125rem}.cred-row span{color:#70758a;font-weight:600;min-width:70px}.cred-row strong{color:#2b9d7c;font-size:0.75rem}.cred-row code{flex:1;direction:ltr;text-align:left;background:#f6f7fb;border:1px solid #e5e6ee;border-radius:8px;padding:9px 12px;font-family:'SFMono-Regular',Consolas,monospace;font-size:0.84375rem;color:#2b2b44;user-select:all;overflow-wrap:anywhere}
.cred-copy{background:#fff;border:1px solid #e5e6ee;color:var(--primary-dark);border-radius:8px;padding:7px 12px;font-size:0.75rem;font-weight:700;cursor:pointer;transition:.18s}
.cred-copy:hover{border-color:var(--primary-light);background:#f8f6ff}
.dark-mode .cred-row code{background:#202136;border-color:#383950;color:#fff}
.dark-mode .cred-copy{background:#1d1e30;border-color:#383950;color:#c9baff}

/* ===== دورهٔ آموزشی «مسیر تسلط مالک بر CRM» ===== */.training-preview-demo { display:flex; align-items:center; justify-content:space-between; gap:1.25rem; margin:1rem 0 1.5rem; padding:1.15rem 1.35rem; border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface)); }
.training-preview-demo h3 { margin:.25rem 0 .35rem; }
.training-preview-demo p { margin:0; color:var(--muted); line-height:1.8; }
.training-preview-demo-actions { display:flex; gap:.6rem; flex-wrap:wrap; flex-shrink:0; }
@media (max-width: 720px) { .training-preview-demo { align-items:flex-start; flex-direction:column; } }
.training-hero {display:flex;gap:26px;align-items:center;justify-content:space-between;background:linear-gradient(130deg,#f0ecff,#ffffff 55%,#fdf6ec);border:1px solid #e7e0ff;border-radius:20px;padding:30px 32px;margin-bottom:22px;box-shadow:var(--shadow)}
.training-hero-copy{max-width:640px}
.training-hero h2{font-size:1.375rem;letter-spacing:-.6px;margin:0 0 10px;font-weight:800}
.training-hero p{color:#7c8096;font-size:0.84375rem;line-height:2;margin:0 0 18px}
.training-progress{display:flex;align-items:center;gap:14px}
.training-progress-bar{flex:1;max-width:340px;height:9px;background:#e8e4ff;border-radius:10px;overflow:hidden}
.training-steps-bar{flex:1;max-width:150px;height:9px;background:#eef2f7;border-radius:10px;overflow:hidden}.training-steps-bar i{display:block;height:100%;border-radius:inherit;transition:width .4s ease}.training-steps-bar i.is-good{background:linear-gradient(90deg,#2b9d7c,#4ec39f)}.training-steps-bar i.is-mid{background:linear-gradient(90deg,#d4843b,#f0b25f)}.training-steps-bar i.is-low{background:linear-gradient(90deg,#c9524c,#e0857f)}.training-admin-steps{display:flex;align-items:center;gap:8px;min-width:170px;flex-wrap:wrap}.training-admin-steps>span{color:#6f7488;font-size:0.75rem;white-space:nowrap}.training-steps-fail{font-style:normal;font-size:0.6875rem;font-weight:800;color:#c9524c;background:#fdecec;border-radius:6px;padding:2px 7px}.training-steps-skip{font-style:normal;font-size:0.6875rem;font-weight:800;color:#8a90a5;background:#eef2f7;border-radius:6px;padding:2px 7px}
.training-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:inherit;transition:width .4s ease}
.training-progress span{color:#6e628f;font-size:0.78125rem;font-weight:700;white-space:nowrap}
.training-hero-badge{width:118px;height:118px;flex:none;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 14px 30px color-mix(in srgb, var(--primary-dark) 30%, transparent)}
.training-hero-badge span{font-size:1.625rem;font-weight:800}
.training-hero-badge small{font-size:0.75rem;opacity:.85;margin-top:3px}
.training-chapters{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:20px}
.training-chapter{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);transition:.2s;position:relative}
.training-chapter:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(37,35,73,.1)}
.training-chapter.is-locked{opacity:.62;filter:saturate(.4)}
.training-chapter-head{display:flex;gap:13px;align-items:flex-start}
.training-chapter-icon{width:44px;height:44px;flex:none;border-radius:13px;display:grid;place-items:center;font-size:1.3125rem;background:linear-gradient(135deg,#f1edff,#e9e3ff);border:1px solid #e4dcff}
.training-chapter-head h3{font-size:0.875rem;margin:2px 0 5px;font-weight:800}
.training-chapter-head p{font-size:0.75rem;color:#969aac;margin:0;line-height:1.8}
.training-lock{font-size:0.9375rem;flex:none;margin-top:4px}
.training-chapter-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:#767b92}
.training-quiz-state{color:#2da982;font-size:0.6875rem}
.training-chapter .button{margin-top:auto;align-self:flex-start}
.training-exam-card{display:flex;gap:15px;align-items:center;background:linear-gradient(130deg,#2a2350,#1d1a38);color:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 14px 34px rgba(30,25,70,.22)}
.training-exam-card.is-locked{opacity:.6}
.training-exam-card h3{font-size:0.9375rem;margin:0 0 6px}
.training-exam-card p{font-size:0.75rem;color:#a9a3c8;margin:0;line-height:1.9}
.training-exam-card .button{margin-right:auto}
.training-crumbs{display:flex;align-items:center;gap:10px;color:#767b92;font-size:0.78125rem;margin-bottom:16px}
.training-crumbs button{background:transparent;color:#7354da;font-weight:700;font-size:0.78125rem;padding:0}
.training-crumbs button:hover{text-decoration:underline}
.training-chapter-hero{display:flex;gap:17px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 26px;margin-bottom:18px;box-shadow:var(--shadow)}
.training-chapter-hero h2{font-size:1.125rem;margin:0 0 7px;font-weight:800}
.training-chapter-hero p{font-size:0.78125rem;color:#8c90a4;margin:0;line-height:1.9}
.training-lessons{display:grid;gap:10px;margin-bottom:18px}
.training-lesson{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;transition:.2s}
.training-lesson:hover{box-shadow:0 10px 24px rgba(37,35,73,.08)}
.training-lesson.is-locked{opacity:.55;filter:saturate(.3)}
.training-lesson-icon{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;font-size:1.125rem;background:#f2efff}
.training-lesson-copy{flex:1;min-width:0}
.training-lesson-copy h3{font-size:0.84375rem;margin:0 0 4px;font-weight:700;color:#3f4357}
.training-lesson-copy p{font-size:0.75rem;color:#989cad;margin:0}
.training-lesson-state{display:inline-block;font-size:0.6875rem;color:#2da982;margin-top:5px}
.training-quiz-card{display:flex;gap:15px;align-items:center;background:#fff;border:1px solid #e4ddff;border-radius:16px;padding:19px 22px;margin-bottom:18px}
.training-quiz-card.is-locked{opacity:.55;filter:saturate(.3)}
.training-quiz-card h3{font-size:0.875rem;margin:0 0 5px}
.training-quiz-card p{font-size:0.75rem;color:#989cad;margin:0;line-height:1.8}
.training-quiz-card .button{margin-right:auto}
.training-lesson-hero{display:flex;gap:17px;align-items:center;background:linear-gradient(130deg,#f3efff,#fff);border:1px solid #e7e0ff;border-radius:18px;padding:26px 28px;margin-bottom:18px}
.training-lesson-hero h2{font-size:1.25rem;margin:0 0 8px;font-weight:800}
.training-lesson-hero p{font-size:0.78125rem;color:#8c90a4;margin:0;line-height:1.9}
.training-parts{display:grid;gap:12px;margin-bottom:20px}
.training-part{display:flex;gap:15px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px}
.training-part-num{width:32px;height:32px;flex:none;border-radius:9px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:0.84375rem;font-weight:800}
.training-part h4{font-size:0.84375rem;margin:2px 0 7px;color:#3f4357;font-weight:800}
.training-part p{font-size:0.78125rem;color:#6f7489;line-height:2;margin:0}
.training-mistakes ul{margin:0;padding-right:18px;color:#6f7489;font-size:0.78125rem;line-height:2.2}
.training-exercise{background:#fff;border:2px solid #d9d0ff;border-radius:18px;padding:22px 24px;margin-bottom:20px;box-shadow:0 10px 30px color-mix(in srgb, var(--primary-dark) 8%, transparent)}
.training-exercise-head span{color:#7354da;font-size:0.75rem;font-weight:800;display:block;margin-bottom:9px}
.training-exercise-head p{font-size:0.875rem;font-weight:700;color:#3f4357;line-height:2;margin:0}
.training-exercise-hint{background:#f7f5ff;border:1px dashed #cfc4ff;border-radius:10px;color:#6b5fa8;font-size:0.75rem;line-height:1.9;padding:11px 14px;margin:13px 0 0}
.training-exercise-options{display:grid;gap:8px;margin-top:15px}
.training-option{display:flex;gap:10px;align-items:flex-start;background:#fafafd;border:1px solid #ececf3;border-radius:11px;padding:12px 14px;cursor:pointer;font-size:0.78125rem;color:#555a70;transition:.15s;line-height:1.9}
.training-option:hover{border-color:#cfc4ff;background:#f6f3ff}
.training-option input{margin-top:5px;accent-color:var(--primary)}
.training-exercise-actions{display:flex;gap:10px;margin-top:17px;flex-wrap:wrap}
.training-steps-progress{display:flex;gap:7px;margin-top:2px;flex-wrap:wrap}
.training-step{width:30px;height:30px;border-radius:50%;background:#f1eefc;border:1.5px solid #d9d0ff;color:#8a80bd;font-size:0.84375rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.training-step.is-done{background:#e4f8f0;border-color:#bfe9d8;color:#1f9b6d}
.training-step.is-current{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent)}
.training-step-head{display:flex;gap:8px;align-items:baseline;margin:14px 0 4px;color:#7354da;font-size:0.84375rem;font-weight:800}
.training-step-head span{color:#8a80bd;font-size:0.78125rem;font-weight:700}
.training-step-prompt{font-size:0.875rem;font-weight:700;color:#3f4357;line-height:2;margin:8px 0 0}
.training-feedback{margin-top:15px}
.training-feedback-ok{display:inline-block;background:#e4f8f0;border:1px solid #bfe9d8;color:#1f9b6d;font-size:0.78125rem;font-weight:700;padding:11px 15px;border-radius:11px;line-height:1.9}
.training-feedback-bad{background:#fdf1f2;border:1px solid #f6cfd4;border-radius:12px;padding:15px 17px;font-size:0.78125rem;color:#8a4a55}
.training-feedback-bad h4{font-size:0.78125rem;margin:10px 0 4px;color:#c25564;font-weight:800}
.training-feedback-bad p{margin:0;line-height:1.9}
.training-feedback-bad .training-fb-detail{font-weight:700;color:#a85562}
.training-feedback-explain{background:#f7f5ff;border:1px solid #e4ddff;color:#5f548f;font-size:0.78125rem;line-height:1.9;border-radius:11px;padding:11px 15px;margin-top:10px}
.training-feedback-skip{background:#fff6e5;border:1px solid #f3dfae;color:#9a7417;font-size:0.78125rem;line-height:1.9;border-radius:11px;padding:11px 15px}
.training-feedback .button-small{margin-top:10px}
.training-lesson-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}
.training-score{background:linear-gradient(130deg,#f7f4ff,#fff);border:1px solid #e4ddff;border-radius:16px;padding:20px 22px;margin-top:14px}
.training-score h3{font-size:0.875rem;margin:0 0 3px;font-weight:800}
.training-score-sub{font-size:0.75rem;color:#989cad;margin:0 0 14px}
.training-score-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.training-score-dim span{display:b
lock;color:#777c90;font-weight:700;margin-bottom:7px}
.training-score-bar{height:8px;background:#e9e5fb;border-radius:8px;overflow:hidden}
.training-score-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:inherit;transition:width .4s ease}
.training-score-dim strong{display:block;font-size:0.84375rem;color:#4b4f68;margin-top:6px}
.training-quiz-list{display:grid;gap:12px;margin-bottom:16px}
.training-quiz-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.training-quiz-item.is-correct{border-color:#bfe9d8;background:#f7fdfa}
.training-quiz-item h4{font-size:0.84375rem;margin:0 0 4px;color:#3f4357;font-weight:800;line-height:1.9}
.training-quiz-feedback{margin-top:10px;font-size:0.78125rem}
.training-quiz-actions{display:flex;justify-content:flex-end;gap:10px}
.training-quiz-hero{display:flex;gap:17px;align-items:center;background:linear-gradient(130deg,#f3efff,#fff);border:1px solid #e7e0ff;border-radius:18px;padding:24px 26px;margin-bottom:18px}
.training-quiz-hero h2{font-size:1.0625rem;margin:0 0 7px;font-weight:800}
.training-quiz-hero p{font-size:0.78125rem;color:#8c90a4;margin:0;line-height:1.9}
.training-exam-result{display:grid;gap:16px}
.training-exam-verdict{display:flex;gap:18px;align-items:center;background:linear-gradient(130deg,#2a2350,#1d1a38);color:#fff;border-radius:18px;padding:26px 28px}
.training-exam-verdict h2{font-size:1.0625rem;margin:0 0 7px}
.training-exam-verdict p{font-size:0.78125rem;color:#b3acd2;margin:0}
.training-exam-review{display:grid;gap:10px}
.training-review-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px}
.training-review-item.is-correct{border-color:#bfe9d8}
.training-review-item h4{font-size:0.84375rem;margin:0 0 6px;color:#3f4357;line-height:1.9}
.training-review-item p{font-size:0.78125rem;color:#6f7489;margin:0 0 4px}
.training-review-explain{color:#989cad!important;font-size:0.75rem!important}
.dark-mode .training-hero{background:linear-gradient(130deg,#262143,#181a2b 60%,#1d1a30);border-color:#333055}
.dark-mode .training-hero p,.dark-mode .training-lesson-hero p,.dark-mode .training-quiz-hero p,.dark-mode .training-chapter-hero p{color:#9498af}
.dark-mode .training-chapter,.dark-mode .training-lesson,.dark-mode .training-quiz-card,.dark-mode .training-part,.dark-mode .training-quiz-item,.dark-mode .training-review-item{background:#181a2b;border-color:#2b2c40}
.dark-mode .training-lesson-copy h3,.dark-mode .training-part h4,.dark-mode .training-quiz-item h4,.dark-mode .training-review-item h4,.dark-mode .training-exercise-head p{color:#e8e7f5}
.dark-mode .training-part p,.dark-mode .training-quiz-item p,.dark-mode .training-review-item p{color:#b3b6c8}
.dark-mode .training-option{background:#202136;border-color:#383950;color:#cfd2e0}
.dark-mode .training-option:hover{border-color:#5a4f9e;background:#262441}
.dark-mode .training-exercise{background:#181a2b;border-color:#443c7e}
.dark-mode .training-exercise-hint{background:#221f3d;border-color:#4a4080;color:#b9aee8}
.dark-mode .training-feedback-ok{background:#143528;border-color:#1e5c45;color:#57c99e}
.dark-mode .training-step{background:#221f3d;border-color:#4a4080;color:#b9aee8}
.dark-mode .training-step.is-done{background:#143528;border-color:#1e5c45;color:#57c99e}
.dark-mode .training-step-prompt{color:#e8e7f5}
.dark-mode .training-feedback-explain{background:#221f3d;border-color:#4a4080;color:#c4b8f0}
.dark-mode .training-feedback-bad{background:#33202a;border-color:#5c2a38;color:#e0a3ae}
.dark-mode .training-feedback-skip{background:#3a2f17;border-color:#6b5524;color:#e0bd6b}
.dark-mode .training-score{background:linear-gradient(130deg,#201d38,#181a2b);border-color:#3a3470}
.dark-mode .training-score-dim span{color:#b7b3d6}
.dark-mode .training-score-dim strong{color:#e8e7f5}
.dark-mode .training-quiz-item.is-correct{background:#102a22;border-color:#1e5c45}
.dark-mode .training-chapter-icon{background:#262441;border-color:#4a4080}
.training-admin-quizzes{display:flex;gap:6px;flex-wrap:wrap;min-width:170px}.training-admin-q{display:inline-grid;place-items:center;min-width:34px;padding:4px 7px;border-radius:7px;font-size:0.6875rem;font-weight:800;background:#f1edff;color:#6f52d8}.training-admin-q.is-good{background:#e4f8f0;color:#2b9d7c}.training-admin-q.is-low{background:#fff0df;color:#d4843b}.training-admin-q.is-partial{background:#eef2f7;color:#8a90a5}.training-admin-exam{display:inline-block;padding:5px 10px;border-radius:8px;font-size:0.75rem;font-weight:800}.training-admin-exam.is-good{background:#e4f8f0;color:#2b9d7c}.training-admin-exam.is-low{background:#fff0df;color:#d4843b}.training-admin-progress{display:flex;align-items:center;gap:9px;min-width:180px}.training-admin-progress .training-progress-bar{flex:1;max-width:150px}.training-admin-progress>span{color:#6f7488;font-size:0.75rem;white-space:nowrap}.training-admin-followup{margin:0 0 14px;padding:16px 18px;border:1px solid #f0c98d;border-radius:14px;background:linear-gradient(135deg,#fffaf0,#fff4df);direction:rtl}.training-admin-followup-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.training-admin-followup h2{margin:2px 0 4px;font-size:1rem;color:#9b5b16}.training-admin-followup p{margin:0;color:#7d6c56;font-size:0.78125rem}.training-admin-followup-count{color:#a96418;background:#ffe5b8;border-radius:999px;padding:8px 12px;white-space:nowrap}.training-admin-followup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:12px}.training-admin-followup-user{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:1px solid #f0d8b0;border-radius:10px;background:#fff;cursor:pointer;text-align:right;font:inherit;color:inherit}.training-admin-followup-user:hover,.training-admin-followup-user:focus-visible{border-color:#d99a4d;box-shadow:0 0 0 3px rgba(217,154,77,.16);outline:none}.training-admin-followup-user span:nth-child(2){display:grid;min-width:0;flex:1}.training-admin-followup-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b8f9e;font-size:0.6875rem}.training-admin-followup-action{font-size:0.6875rem;color:#ad6a1d;white-space:nowrap}.dark-mode .training-admin-followup{background:#302718;border-color:#71552e}.dark-mode .training-admin-followup h2{color:#f0bd71}.dark-mode .training-admin-followup p{color:#c7b38f}.dark-mode .training-admin-followup-count{background:#5a3d1a;color:#ffd99b}.dark-mode .training-admin-followup-user{background:#282532;border-color:#5c4930}.training-admin-charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.training-admin-trend-panel{grid-column:1/-1}.training-trend-user-label{display:flex;align-items:center;gap:7px;font-size:0.78125rem;font-weight:700;color:var(--muted,#6f7488)}.training-trend-user-label select{min-width:150px}.training-admin-trend-panel .ec-host{min-height:260px}@media(max-width:860px){.training-admin-charts{grid-template-columns:1fr}.training-admin-trend-panel{grid-column:auto}}#trainingAdminBody tr.history-destination-flash{position:relative;z-index:1}.training-admin-min-score{width:118px;text-align:center;font-family:inherit;font-size:0.9rem;padding:7px 10px;border:1px solid var(--line,#e3e6ef);border-radius:10px;background:var(--surface,#fff);color:var(--text,#243047);transition:.18s}.training-admin-min-score:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent);outline:none}.dark-mode .training-admin-min-score{background:#211f38;border-color:#383456;color:#e7e6f2}.dark-mode .training-admin-q{background:#2a2548;color:#c3b3ff}.dark-mode .training-admin-q.is-good{background:#102a22;color:#57c9a2}.dark-mode .training-admin-q.is-low{background:#3a2f17;color:#e0bd6b}.dark-mode .training-admin-exam.is-good{background:#102a22;color:#57c9a2}.dark-mode .training-admin-exam.is-low{background:#3a2f17;color:#e0bd6b}
@media(max-width:800px){.training-hero{flex-direction:column;align-items:flex-start;padding:24px 20px}.training-hero-badge{width:84px;height:84px}.training-hero-badge span{font-size:1.25rem}.training-exam-card{flex-direction:column;align-items:flex-start}.training-exam-card .button{margin-right:0}.training-lesson-nav{flex-direction:column}.training-lesson-nav .button{width:100%}.training-exercise-actions{flex-direction:column}.training-exercise-actions .button{width:100%}}

/* ===== پیام وضعیت/حالت خالی صفحهٔ آموزش (بدون صفحهٔ خالی) ===== */
.training-notice{display:flex;align-items:flex-start;gap:11px;margin:0 0 16px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);font-size:0.75rem;line-height:1.9}
.training-notice.is-warning{border-color:#f0c98d;background:linear-gradient(135deg,#fffaf0,#fff4df)}
.training-notice.is-loading{align-items:center;color:var(--muted)}
.training-notice-icon{font-size:1.0625rem;line-height:1.4}
.training-notice>div{display:grid;gap:3px;flex:1;min-width:0}
.training-notice strong{color:var(--text);font-size:0.78125rem}
.training-notice small{color:var(--muted)}
.training-notice code{font-family:inherit;background:#efeaff;color:#6f52d8;border-radius:5px;padding:1px 5px}
.training-notice .button{flex:none;align-self:center}
.training-empty-state{display:grid;gap:7px;justify-items:center;text-align:center;padding:30px 22px;border:1px dashed var(--line);border-radius:16px;background:var(--surface-soft)}
.training-empty-icon{font-size:1.625rem}
.training-empty-state strong{font-size:0.875rem;color:var(--text)}
.training-empty-state small{color:var(--muted);font-size:0.71875rem;line-height:2;max-width:560px}
.training-empty-inline{grid-column:1/-1;margin:0;padding:13px 15px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:0.71875rem;line-height:2;text-align:center}
.dark-mode .training-notice{background:#202136;border-color:#383950}
.dark-mode .training-notice.is-warning{background:#302718;border-color:#71552e}
.dark-mode .training-notice code{background:#2a2548;color:#c3b3ff}
.dark-mode .training-empty-state,.dark-mode .training-empty-inline{background:#202136;border-color:#383950}
@media(max-width:650px){.training-notice{flex-direction:column;align-items:stretch}.training-notice .button{align-self:flex-start}}

/* ===== چاپ گزارش «سیاههٔ فعالیت» (PDF) ===== */
#printAuditReport,#printTrainingAdminReport,#printUserHistoryReport,#printManagementReport,#printSalesReport{display:none}
@media print{
  body > :not(#printAuditReport):not(#printTrainingAdminReport):not(#printUserHistoryReport):not(#printManagementReport):not(#printSalesReport){display:none !important}
  #printAuditReport,#printUserHistoryReport{display:block;direction:rtl;font-family:var(--font-family);color:#222;padding:18px 6px}
  #printTrainingAdminReport{display:block;direction:rtl;font-family:var(--font-family);color:#222;padding:18px 6px}
  #printManagementReport,#printSalesReport{display:block;direction:rtl;font-family:var(--font-family);color:#222;padding:18px 6px}
  .print-audit-head{text-align:right;border-bottom:3px solid var(--primary);padding-bottom:12px;margin-bottom:16px}
  .print-audit-head h1{font-size:19px;margin:0 0 8px;font-weight:800;color:#2b2b44}
  .print-audit-range{font-size:13.5px;color:#5a4f9e;font-weight:700;margin:0 0 5px}
  .print-audit-meta{font-size:12px;color:#777;margin:0}
  .print-audit-table{width:100%;border-collapse:collapse;font-size:12px}
  .training-admin-print-table{font-size:12px;direction:rtl}
  .print-audit-table th{background:var(--primary);color:#fff;text-align:right;padding:7px 9px;font-weight:700}
  .print-audit-table td{border:1px solid #dcdce4;padding:6px 9px;text-align:right;vertical-align:top;color:#333}
  .print-audit-table tr{page-break-inside:avoid}
  .print-audit-table thead{display:table-header-group}
}

/* ===== نسخهٔ چاپ رسمی گزارش فروش ماهانه ===== */
@media print{
  #printSalesReport{font-family:Mikhak,Vazirmatn,Arial,sans-serif;color:#172033;background:#fff;min-height:100vh;padding:18mm 14mm;direction:rtl}
  .sales-print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:3px solid #46329b;padding-bottom:14px;margin-bottom:18px}
  .sales-print-brand-lockup{display:flex;align-items:center;gap:12px;min-width:230px}.sales-print-logo{width:58px;height:58px;flex:none}.sales-print-logo svg{display:block;width:100%;height:100%}.sales-print-company{display:block;color:#20243a;font-size:15px;line-height:1.5}.sales-print-company-subtitle{display:block;color:#667085;font-size:var(--fs-2xs);margin-top:3px}.sales-print-heading{flex:1;text-align:right}.sales-print-eyebrow{display:block;color:var(--primary);font-size:12.5px;font-weight:800;margin-bottom:6px}.sales-print-header h1{font-size:23px;margin:0 0 8px;color:#20243a}.sales-print-header p{font-size:12.5px;color:#667085;margin:0}.sales-print-people{display:flex;justify-content:flex-start;gap:8px;margin-top:12px}.sales-print-people>div{min-width:125px;border:1px solid #e2e5ee;border-radius:8px;padding:7px 9px;background:#fafbfe}.sales-print-people span,.sales-print-people small{display:block;color:#7b8498;font-size:var(--fs-2xs)}.sales-print-people strong{display:block;color:#20243a;font-size:11px;margin:3px 0;white-space:nowrap}.sales-print-brand{display:none}
  .sales-print-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.sales-print-summary>div{border:1px solid #e2e5ee;border-radius:10px;padding:12px;background:#f8f9fc;min-height:78px}.sales-print-summary span,.sales-print-summary small{display:block;color:#667085;font-size:11px}.sales-print-summary strong{display:block;color:#20243a;font-size:15px;margin:7px 0 4px;line-height:1.5}.sales-print-summary small{font-size:var(--fs-2xs);color:#8b93a5}.sales-print-chart{border:1px solid #e2e5ee;border-radius:10px;padding:12px;margin-bottom:18px;break-inside:avoid}.sales-print-chart h2,.sales-print-table-head h2{font-size:14px;color:#30364d;margin:0 0 9px}.sales-print-chart img{display:block;width:100%;height:auto;max-height:78mm;object-fit:contain}
  .sales-print-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.sales-print-table-head span{color:#7b8498;font-size:11px}.sales-print-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.sales-print-table th{background:#46329b;color:#fff;padding:8px 6px;text-align:right;font-weight:800}.sales-print-table td{border:1px solid #dfe3ec;padding:7px 6px;text-align:right;vertical-align:middle;color:#30364d}.sales-print-table tr{break-inside:avoid}.sales-print-table tr:nth-child(even){background:#fafbfc}.sales-print-current{background:#fff7e6!important}.sales-print-badge{display:inline-block;background:#fff0c2;color:#9a6700;border-radius:99px;padding:2px 5px;font-size:var(--fs-2xs);margin-right:3px}.sales-print-badge-muted{background:#edf0f5;color:#6c7486}.sales-print-up{color:#15805f!important;font-weight:800}.sales-print-down{color:#bf475c!important;font-weight:800}.sales-print-method{margin-top:14px;border-right:3px solid #f59e0b;background:#fffaf0;color:#6b7280;padding:10px 12px;font-size:11px;line-height:1.9;break-inside:avoid}.sales-print-method strong{color:#895d08}  .sales-print-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e5ee;margin-top:18px;padding-top:8px;color:#8b93a5;font-size:var(--fs-2xs)}.sales-print-people strong,.sales-print-company{font-family:Mikhak,Vazirmatn,Arial,sans-serif}
  @media(max-width:680px){.sales-print-header{display:block}.sales-print-heading{margin-top:12px}.sales-print-people{justify-content:stretch}.sales-print-people>div{flex:1;min-width:0}}

  @page{size:A4 portrait;margin:0}
}

/* ===== هایلایت مسیر ممیزی → رکورد ===== */
.opp-card.hl-source-flash{animation:hlSourceFlash 2.4s ease}.history-destination-flash{animation:historyDestinationFlash 2.4s ease;scroll-margin-top:96px}.crm-table tr.history-destination-flash,.lead-card.history-destination-flash,.agenda-item.history-destination-flash{position:relative;z-index:1}
@keyframes hlSourceFlash{0%{box-shadow:0 0 0 3px rgba(245,158,11,.9),0 14px 30px rgba(245,158,11,.35);transform:translateY(-2px)}55%{box-shadow:0 0 0 3px rgba(245,158,11,.55),0 14px 30px rgba(245,158,11,.2)}100%{box-shadow:none;transform:none}}
.htl-item.htl-item-origin{border-radius:12px;background:linear-gradient(90deg,rgba(245,158,11,.10),transparent 55%);box-shadow:inset 3px 0 0 #f59e0b;animation:historyOriginFlash 2.4s ease}@keyframes historyOriginFlash{0%{background-color:rgba(245,158,11,.32);box-shadow:inset 3px 0 0 #f59e0b,0 0 0 3px rgba(245,158,11,.55)}55%{background-color:rgba(245,158,11,.14);box-shadow:inset 3px 0 0 #f59e0b,0 0 0 2px rgba(245,158,11,.25)}100%{background-color:transparent;box-shadow:inset 3px 0 0 #f59e0b}}
.htl-origin-badge{display:inline-flex;align-items:center;gap:4px;font-size:0.77rem;font-weight:800;color:#b45309;background:#fef3c7;border:1px solid #fcd34d;border-radius:99px;padding:2px 8px;margin-right:8px}.htl-origin-badge:focus{outline:2px solid #f59e0b;outline-offset:2px}.history-return-button{margin-right:auto;border-color:#fcd34d;color:#a16207;background:#fffbeb;white-space:nowrap}.history-return-button:hover{color:#854d0e;background:#fef3c7;border-color:#f59e0b}.htl-item.htl-return-target{animation:historyReturnFlash 2.6s ease;scroll-margin-top:96px}.htl-item.htl-return-target .htl-card{box-shadow:0 0 0 3px rgba(245,158,11,.7),0 12px 28px rgba(245,158,11,.2)}
@keyframes historyReturnFlash{0%{transform:translateX(5px);filter:brightness(1.08)}55%{transform:translateX(0);filter:brightness(1)}100%{transform:none}}@keyframes historyDestinationFlash{0%{box-shadow:0 0 0 3px rgba(245,158,11,.9),0 12px 28px rgba(245,158,11,.3);transform:translateY(-2px)}55%{box-shadow:0 0 0 3px rgba(245,158,11,.55),0 12px 28px rgba(245,158,11,.16)}100%{box-shadow:none;transform:none}}
@media(prefers-reduced-motion:reduce){.opp-card.hl-source-flash{animation:none;box-shadow:0 0 0 3px rgba(245,158,11,.5)}.htl-item.htl-return-target{animation:none}.htl-item.htl-return-target .htl-card{box-shadow:0 0 0 3px rgba(245,158,11,.5)}.htl-item.htl-item-origin{animation:none;box-shadow:inset 3px 0 0 #f59e0b,0 0 0 2px rgba(245,158,11,.35)}.history-destination-flash{animation:none;box-shadow:0 0 0 3px rgba(245,158,11,.5)}}
/* ===== Secure record attachments ===== */
.record-attachments{margin-top:1.25rem;padding:1rem;border:1px solid var(--line,#e6e9f0);border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 88%,#eef3ff)}.record-attachments-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.record-attachments-head h3{margin:.15rem 0 .25rem;font-size:1.05rem}.record-attachments-head small{color:var(--muted,#788197)}.attachment-count{color:var(--primary);font-weight:700;white-space:nowrap}.attachment-upload-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px dashed var(--line,#dfe4ee)}.attachment-list{display:grid;gap:.55rem;margin-top:.75rem}.attachment-item{display:flex;align-items:center;gap:.7rem;padding:.65rem .75rem;border-radius:13px;background:var(--surface,#fff);border:1px solid var(--line,#e6e9f0)}.attachment-icon{display:inline-grid;place-items:center;min-width:38px;height:32px;border-radius:9px;background:#fff1e8;color:#c66b26;font-size:0.79rem;font-weight:800}.attachment-meta{min-width:0;flex:1;display:grid;gap:.2rem}.attachment-meta a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text,#243047);font-weight:700;text-decoration:none}.attachment-meta a:hover{color:var(--primary);text-decoration:underline}.attachment-meta small{color:var(--muted,#788197);font-size:0.84rem}.attachment-delete{color:#c44b62}.ticket-conversation{margin-top:1.25rem;padding:1rem;border:1px solid var(--line,#e6e9f0);border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 90%,#f3f6ff)}.ticket-thread{display:grid;gap:.65rem;max-height:300px;overflow-y:auto;margin:.5rem 0 .85rem;padding:.25rem}.ticket-msg{display:flex;gap:.6rem;max-width:86%}.ticket-msg.is-expert{flex-direction:row-reverse;margin-right:auto}.ticket-msg-avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:0.84rem;font-weight:800;flex:none;background:#eef1ff;color:#536dfe}.ticket-msg.is-expert .ticket-msg-avatar{background:#e7f9f4;color:#0e9f7a}.ticket-msg-bubble{background:var(--surface,#fff);border:1px solid var(--line,#e6e9f0);border-radius:14px;padding:.55rem .8rem;min-width:0}.ticket-msg.is-expert .ticket-msg-bubble{background:#eefaf6;border-color:#cdeee3}.ticket-msg-bubble strong{display:block;font-size:0.84rem;color:var(--muted,#788197);margin-bottom:.3rem}.ticket-msg-bubble p{font-size:0.99rem;line-height:1.8;margin:0;color:var(--text,#243047);white-space:pre-wrap}.ticket-msg-bubble small{display:block;color:var(--muted,#788197);font-size:0.79rem;margin-top:.35rem}.ticket-reply-row{display:flex;gap:.6rem;align-items:stretch}.ticket-reply-row textarea{flex:1;min-height:64px;resize:vertical;border:1px solid var(--line,#dfe4ee);border-radius:12px;padding:.6rem .75rem;font:inherit;font-size:0.99rem;background:var(--surface,#fff)}.ticket-reply-actions{display:flex;flex-direction:column;gap:.45rem;justify-content:center}.att-chip{display:inline-flex;align-items:center;gap:.4rem;background:#eef1ff;border:1px solid #d3dafe;color:#4b5fd9;text-decoration:none;border-radius:8px;padding:.3rem .55rem;font-size:0.84rem;margin-top:.5rem;margin-left:.4rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-chip:hover{background:#e2e7ff}.att-chip small{color:var(--muted,#788197);font-size:0.77rem}
/* ===== Customer 360 در مودال مشتری ===== */
.customer-360-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.customer-360-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.customer-360-head p{margin:5px 0 0;color:#9297aa;font-size:0.75rem;line-height:1.8}.customer-360-live{display:inline-flex;align-items:center;gap:5px;color:#269f7e;background:#e4f8f0;border-radius:20px;padding:5px 9px;font-size:0.6875rem;white-space:nowrap}.customer-360-live i{width:6px;height:6px;border-radius:50%;background:#4bbf9b;box-shadow:0 0 0 3px #d6f4e9}.customer-360-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:14px}.customer-360-tab{color:#888da1;background:transparent;border-bottom:2px solid transparent;padding:9px 11px;font-size:0.75rem;white-space:nowrap}.customer-360-tab:hover{color:var(--primary)}.customer-360-tab.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:800}.customer-360-tab b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:6px;background:#f0ecff;color:var(--primary);font-size:var(--fs-2xs);margin-right:4px}.customer-360-tab-panel[hidden]{display:none}.customer-360-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.customer-360-kpi{border:1px solid #ececf3;background:#fcfcfe;border-radius:11px;padding:11px;min-width:0}.customer-360-kpi span{display:block;color:#9da1b1;font-size:0.6875rem;margin-bottom:6px}.customer-360-kpi strong{display:block;color:#464b61;font-size:0.78125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-360-kpi small{font-size:var(--fs-2xs);color:#9da1b1;font-weight:400}.customer-360-list{display:flex;flex-direction:column;gap:7px;max-height:230px;overflow:auto}.customer-360-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ececf3;border-radius:10px;padding:10px 12px;background:#fff}.customer-360-row>div{min-width:0;flex:1}.customer-360-desc{display:block;margin-top:5px;color:#9297aa;font-size:var(--fs-2xs);line-height:1.7;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-360-activity-state{display:inline-flex;gap:5px;flex:none;align-items:center;flex-wrap:wrap;justify-content:flex-end}.audit-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-bottom:12px;align-items:start}.audit-kpi{border:1px solid #ececf3;background:#fcfcfe;border-radius:11px;padding:11px;min-width:0}.audit-kpi span{display:block;color:#9da1b1;font-size:0.6875rem;margin-bottom:5px}.audit-kpi strong{display:block;color:#464b61;font-size:0.875rem}.audit-kpi small{font-size:var(--fs-2xs);color:#9da1b1;font-weight:400}.audit-kpi-highlight{background:linear-gradient(135deg,#f0ecff,#e8fbff);border-color:#ddd4ff}.audit-kpi-group{border:1px solid #ececf3;background:#fff;border-radius:11px;padding:11px;min-width:0}.audit-kpi-group-title{display:block;color:var(--primary);font-size:0.6875rem;font-weight:700;margin-bottom:7px}.audit-kpi-group .audit-kpi{border:none;background:transparent;padding:5px 0}.audit-entity-id{display:inline-block;margin-right:4px;background:#f4f5fa;border-radius:4px;padding:1px 4px;font-size:var(--fs-2xs);color:#9da1b1}.audit-changes{max-width:340px;line-height:1.7;font-size:0.6875rem;color:#6b7086}.filter-active{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:4px 10px;font-size:var(--fs-2xs);font-weight:700;white-space:nowrap;line-height:1.6}.status-pill.status-green{background:rgba(21,145,111,.12);color:#137d62}.status-pill.status-blue{background:rgba(46,138,247,.12);color:#226fd6}.status-pill.status-red{background:rgba(210,65,80,.12);color:#c43c50}.status-pill.status-purple{background:color-mix(in srgb, var(--primary) 12%, transparent);color:#6a4ce8}.status-pill.status-amber{background:rgba(245,158,11,.14);color:#b45309}.status-pill.status-orange{background:rgba(243,163,79,.16);color:#c4762a}.status-pill.status-muted{background:#eef0f4;color:#7d8296}.org-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:12px}.org-tab{color:#888da1;background:transparent;border-bottom:2px solid transparent;padding:8px 11px;font-size:0.75rem;white-space:nowrap}.org-tab:hover{color:var(--primary)}.org-tab.is-active{color:var(--primary);border-bottom-color:var(--primary);font-weight:800}.org-tab b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:6px;background:#f0ecff;color:var(--primary);font-size:var(--fs-2xs);margin-right:4px}.org-pane[hidden]{display:none}.org-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.nav-with-submenu{position:relative}.nav-with-submenu .nav-item{width:calc(100% - 26px)}.nav-submenu-toggle{position:absolute;left:4px;top:0;width:26px;height:100%;display:grid;place-items:center;color:var(--sidebar-text);border-radius:8px;opacity:.6;transition:.15s}.nav-submenu-toggle:hover{opacity:1;background:rgba(255,255,255,.07)}.nav-submenu-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.nav-submenu-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .2s ease}.nav-submenu{margin:2px 0 6px;padding:4px 10px 6px;border-right:1px solid rgba(255,255,255,.09);display:flex;flex-direction:column;gap:2px}.nav-submenu[hidden]{display:none}.nav-submenu-item{text-align:right;font-size:var(--fs-2xs);color:var(--sidebar-text);padding:7px 10px;border-radius:8px;background:transparent;transition:.15s;white-space:nowrap}.nav-submenu-item:hover{background:rgba(255,255,255,.06);color:#e9e8f4}.nav-submenu-item.is-active{background:color-mix(in srgb, var(--primary) 28%, transparent);color:#fff;box-shadow:inset 2px 0 var(--primary-light)}.sidebar.is-mini .nav-submenu,.sidebar.is-mini .nav-submenu-toggle{display:none}.org-card-actions{display:inline-flex;align-items:center;gap:6px}.customer-360-row strong,.customer-360-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-360-row strong{color:#4b5066;font-size:0.75rem}.customer-360-row small{color:#a0a4b3;font-size:var(--fs-2xs);margin-top:4px}.customer-360-row>span{color:#8e93a5;font-size:0.6875rem;white-space:nowrap}.customer-360-money{color:#269f7e!important;font-size:0.75rem!important}.customer-360-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#9ca1b2;border:1px dashed #dfe0e8;border-radius:11px;padding:22px;font-size:0.75rem}.customer-360-empty span{font-size:1.25rem;color:#b8bac8}.customer-360-disclaimer{color:#9b9faf;background:#fffaf0;border-right:3px solid #f3a34f;border-radius:8px;padding:9px 11px;font-size:0.6875rem;line-height:1.9;margin:12px 0 0}.customer-360-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.customer-360-health-factors strong{white-space:normal;line-height:1.9}.customer-360-health-factors em{display:block;font-style:normal;font-size:var(--fs-2xs);color:#7d8296}.customer-360-health-note{color:#9b9faf;font-size:0.6875rem;line-height:1.9;margin:0 0 12px}.dark-mode .customer-360-health-factors em{color:#a9adbd}.dark-mode .customer-360-kpi,.dark-mode .customer-360-row{background:var(--surface);border-color:var(--line)}.dark-mode .customer-360-disclaimer{background:#302a20}
/* ===== مقایسهٔ سال‌به‌سال فروش ===== */
.yoy-dashboard-panel{margin:18px 0;overflow:hidden}.yoy-dashboard-panel .panel-heading{padding-bottom:15px}.yoy-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 22px 18px}.yoy-kpi{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.yoy-kpi span{color:#8f94a7;font-size:0.6875rem}.yoy-kpi strong{color:var(--text);font-size:1.1875rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yoy-kpi small{color:#a0a4b3;font-size:var(--fs-2xs)}.yoy-kpi-highlight{background:linear-gradient(135deg,rgba(16,185,129,.10),color-mix(in srgb, var(--primary-light) 8%, transparent));border-color:rgba(16,185,129,.25)}.yoy-kpi-highlight strong{color:#159b75}.yoy-chart-heading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 22px!important}.yoy-chart-heading h3{margin:0 0 4px;font-size:0.84375rem}.yoy-chart-heading p{margin:0;color:#767b92;font-size:0.6875rem}.yoy-table-wrap{padding:0 22px 20px}.yoy-table-wrap table{min-width:690px}.yoy-data-row{transition:background .15s}.yoy-data-row:hover{background:var(--surface-soft)}.yoy-month-button{padding:0;background:transparent;color:var(--primary);font:inherit;font-weight:800;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.yoy-month-button:hover{text-decoration-color:currentColor}.yoy-count{display:block;color:#a0a4b3;font-size:var(--fs-2xs);margin-top:3px}.yoy-positive{color:#159b75;font-weight:800}.yoy-negative{color:#d05c70;font-weight:800}.dark-mode .yoy-kpi-highlight{background:linear-gradient(135deg,rgba(16,185,129,.15),color-mix(in srgb, var(--primary-light) 14%, transparent));border-color:#2d6e5b}@media(max-width:850px){.yoy-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.yoy-kpi-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.yoy-chart-heading{padding-left:14px!important;padding-right:14px!important}.yoy-table-wrap{padding-left:14px;padding-right:14px}}
/* ===== تفکیک‌پذیری گزارش عملکرد فروش ===== */
.sales-performance-filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:0 22px 14px;border-bottom:1px solid var(--line)}
.sales-performance-filter-bar .tl-field{min-width:190px}.sales-performance-filter-bar .tl-field select{margin-top:6px}
.sales-performance-filter-note{align-self:center;color:#8b90a3;font-size:0.6875rem;margin-right:auto}.sales-performance-team-share{display:flex;gap:9px;flex-wrap:wrap;padding:14px 22px 4px}
.sales-team-share-card{display:flex;align-items:center;gap:10px;min-width:190px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);cursor:pointer;text-align:right;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.sales-team-share-card:hover,.sales-team-share-card:focus-visible{transform:translateY(-2px);border-color:#8b70f8;box-shadow:0 8px 22px rgba(83,62,180,.12);outline:none}
.sales-team-share-card .sales-team-share-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-weight:900;font-size:0.78125rem}
.sales-team-share-card strong,.sales-team-share-card small{display:block}.sales-team-share-card strong{color:var(--text);font-size:0.75rem}.sales-team-share-card small{color:#767b92;font-size:var(--fs-2xs);margin-top:3px}.sales-team-share-chart-panel{margin:12px 22px 6px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);overflow:hidden}.sales-team-share-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 4px}.sales-team-share-chart-heading h3{margin:3px 0;font-size:0.875rem;color:var(--text)}.sales-team-share-chart-heading p{margin:0;color:#767b92;font-size:0.6875rem}.sales-team-share-chart-canvas{height:230px;padding:0 8px}.sales-team-share-drilldown{border-top:1px dashed var(--line);padding:11px 16px}.sales-team-share-drilldown-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.sales-team-share-drilldown-head strong{font-size:0.78125rem;color:var(--text)}.sales-team-share-drilldown-head small{font-size:0.6875rem;color:#767b92}.sales-team-share-sellers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.sales-team-share-seller{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;text-align:right;transition:border-color .2s ease,background .2s ease}.sales-team-share-seller:hover,.sales-team-share-seller:focus-visible{border-color:#8b70f8;background:var(--surface-soft);outline:none}.sales-team-share-seller strong,.sales-team-share-seller small{display:block}.sales-team-share-seller strong{font-size:0.75rem;color:var(--text)}.sales-team-share-seller small{font-size:var(--fs-2xs);color:#767b92;margin-top:2px}.muted-cell{color:#767b92;font-size:0.6875rem}.target-achievement{display:inline-flex;align-items:center;padding:3px 6px;border-radius:7px;font-size:0.6875rem}.target-achievement-good{color:#087f5b;background:rgba(32,181,126,.12)}.target-achievement-near{color:#996c00;background:rgba(245,158,11,.14)}.target-achievement-behind{color:#b42318;background:rgba(239,68,68,.12)}.avatar-tiny{width:25px!important;height:25px!important;font-size:0.6875rem!important;flex:none}.seller-arrow{margin-right:auto;color:#8b70f8;font-size:0.875rem}.dark-mode .sales-team-share-card .sales-team-share-mark{background:#2a2548;color:#c3b3ff}.dark-mode .sales-performance-filter-note{color:#a6a9bb}
@media(max-width:680px){.sales-team-share-chart-panel{margin-left:14px;margin-right:14px}.sales-team-share-chart-heading{align-items:flex-start;flex-direction:column}.sales-team-share-chart-canvas{height:210px}.sales-team-share-sellers{grid-template-columns:1fr}}

/* ===== کارت تحقق هدف فروش (داشبورد عملیاتی) ===== */
.sales-target-achievement{margin:0 0 26px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 3px 14px rgba(35,40,70,.05);overflow:hidden}
.sales-target-achievement[hidden]{display:none}
.sales-target-achievement-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 20px 12px;border-bottom:1px solid var(--line)}
.sales-target-achievement-head h2{margin:4px 0 0;font-size:0.9375rem;color:var(--text);font-weight:800}
.sales-target-achievement-head p{margin:5px 0 0;color:#767b92;font-size:0.6875rem}
.sales-target-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;padding:14px 20px 4px}
.sta-summary-card{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:var(--surface-soft);display:flex;flex-direction:column;gap:3px}
.sta-summary-label{font-size:0.6875rem;color:#767b92;font-weight:700}
.sta-summary-label small{color:#b7bac6;font-weight:500;margin-right:4px}
.sta-summary-value{font-size:0.8125rem;color:var(--text);font-weight:800}
.sta-summary-meta{font-size:0.6875rem;color:#7c8094}
.sta-summary-card.target-good{border-color:rgba(8,127,91,.35);background:rgba(8,127,91,.06)}
.sta-summary-card.target-good .sta-summary-meta{color:#087f5b;font-weight:700}
.sta-summary-card.target-near{border-color:rgba(211,132,59,.35);background:rgba(211,132,59,.06)}
.sta-summary-card.target-near .sta-summary-meta{color:#b3702f;font-weight:700}
.sta-summary-card.target-behind{border-color:rgba(214,95,112,.35);background:rgba(214,95,112,.06)}
.sta-summary-card.target-behind .sta-summary-meta{color:#c14a5b;font-weight:700}
.sta-summary-card.target-none{background:var(--surface-soft)}
.sta-summary-card.target-none .sta-summary-value{color:#767b92}
/* کارت‌های واحد و ردیف فروشنده قابل کلیک‌اند (Drill-down) — نشانگر دست + هایلایت کیبورد */
.sta-summary-card[data-sta-unit]{cursor:pointer;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}
.sta-summary-card[data-sta-unit]:hover{transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 14%, transparent)}
.sta-summary-card[data-sta-unit]:focus-visible,.sta-seller-row[data-record-entity]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.sta-summary-card[data-sta-unit]::after{content:"↗";font-size:13px;color:var(--primary);margin-inline-start:4px;opacity:.55}
.sales-target-sellers{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;padding:12px 20px 18px}
.sta-seller-row[data-record-entity]{cursor:pointer}
.sta-seller-row[data-record-entity]:hover{border-color:#a58bff;box-shadow:0 6px 16px color-mix(in srgb, var(--primary) 14%, transparent)}
.sta-seller-row{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:var(--surface-soft);transition:border-color .2s ease,box-shadow .2s ease}
.sta-seller-row:hover{border-color:#c9bfff;box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 9%, transparent)}
.sta-seller-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.sta-seller-head strong{font-size:0.78125rem;color:var(--text);font-weight:800}
.sta-seller-unit{font-size:var(--fs-2xs);color:#767b92}
.sta-target-scope{font-size:var(--fs-2xs);color:var(--primary-dark);background:#eeeaff;border-radius:6px;padding:2px 6px;font-weight:700}
.sta-seller-pct{font-size:0.75rem;font-weight:800;padding:2px 7px;border-radius:7px}
.sta-seller-pct.target-good{color:#087f5b;background:rgba(8,127,91,.1)}
.sta-seller-pct.target-near{color:#b3702f;background:rgba(211,132,59,.1)}
.sta-seller-pct.target-behind{color:#c14a5b;background:rgba(214,95,112,.1)}
.sta-seller-pct.target-none{color:#767b92;background:rgba(150,154,170,.1)}
.sta-progress{height:8px;border-radius:8px;background:rgba(150,154,170,.18);overflow:hidden;margin-bottom:8px}
.sta-progress-fill{height:100%;border-radius:8px;transition:width .6s cubic-bezier(.22,1,.36,1)}
.sta-progress-fill.target-good{background:linear-gradient(90deg,#2b9d7c,#087f5b)}
.sta-progress-fill.target-near{background:linear-gradient(90deg,#f3a34f,#dd7c3b)}
.sta-progress-fill.target-behind{background:linear-gradient(90deg,#e57a89,#d65f70)}
.sta-progress-fill.target-none{background:#c8cad4}
.sta-seller-numbers{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:var(--fs-2xs);color:#7c8094}
.sta-seller-numbers b{color:var(--text);font-weight:700}
.sta-gap-ahead{color:#087f5b;font-weight:700}
.sta-gap-behind{color:#c14a5b;font-weight:700}
@media(max-width:680px){.sales-target-achievement-head{flex-direction:column;align-items:flex-start}.sales-target-summary{grid-template-columns:1fr}.sales-target-sellers{grid-template-columns:1fr;padding-left:14px;padding-right:14px}}
@media(max-width:680px){.sales-performance-filter-bar{padding-left:14px;padding-right:14px}.sales-performance-filter-bar .tl-field{flex:1;min-width:140px}.sales-performance-filter-note{width:100%;margin-right:0}.sales-performance-team-share{padding-left:14px;padding-right:14px}.sales-team-share-card{flex:1;min-width:160px}}

/* ===== سفارش پیشنهادی تأمین ===== */
.reorder-suggestion-panel{overflow:hidden}.reorder-suggestion-panel>.panel-heading{align-items:flex-start}.reorder-suggestion-panel .panel-heading p{max-width:760px}.reorder-summary{color:var(--muted,#64748b);font-size:0.95rem;white-space:nowrap;padding-top:.35rem}.reorder-summary strong{color:var(--text,#1e293b);font-size:1.05rem}.reorder-suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1rem}.reorder-suggestion-card{border:1px solid rgba(245,158,11,.24);background:linear-gradient(145deg,rgba(255,251,235,.9),rgba(255,255,255,.96));border-radius:18px;padding:1rem;box-shadow:0 10px 28px rgba(120,85,20,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.reorder-suggestion-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(120,85,20,.14);border-color:rgba(245,158,11,.5)}.reorder-suggestion-card.is-critical{border-color:rgba(220,38,38,.32);background:linear-gradient(145deg,rgba(254,242,242,.96),rgba(255,255,255,.98))}.reorder-card-head{display:flex;align-items:flex-start;gap:.65rem;min-height:54px}.reorder-card-head h3{margin:0;color:var(--text,#1e293b);font-size:.98rem;line-height:1.6}.reorder-card-head small{color:var(--muted,#64748b);display:block;margin-top:.15rem}.reorder-card-head .status-pill{margin-right:auto;white-space:nowrap}.reorder-card-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;color:#b45309;background:rgba(245,158,11,.15)}.reorder-card-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.reorder-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0 .75rem}.reorder-card-metrics>div{padding:.55rem .45rem;border-radius:11px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.14);text-align:center}.reorder-card-metrics span,.reorder-card-cost span{display:block;color:var(--muted,#64748b);font-size:0.84rem}.reorder-card-metrics strong{display:block;color:var(--text,#1e293b);font-size:1rem;margin-top:.2rem}.reorder-card-metrics strong small{font-size:0.79rem;font-weight:500}.reorder-card-metrics .reorder-metric-accent{background:rgba(245,158,11,.11);border-color:rgba(245,158,11,.24)}.reorder-card-metrics .reorder-metric-accent strong{color:#b45309}.reorder-card-cost{border-top:1px dashed rgba(148,163,184,.35);padding-top:.75rem;margin-bottom:.85rem}.reorder-card-cost strong{display:block;color:var(--text,#1e293b);font-size:1.02rem;margin-top:.2rem}.reorder-card-cost small{display:block;color:var(--muted,#64748b);font-size:0.81rem;margin-top:.2rem;min-height:1.2rem}.reorder-cost-missing{color:#b45309;font-size:0.95rem}.reorder-submit-button{width:100%;justify-content:center}.reorder-empty{grid-column:1 / -1;padding:1.4rem}@media(max-width:640px){.reorder-suggestion-panel>.panel-heading{display:block}.reorder-summary{margin-top:.75rem}.reorder-card-head .status-pill{font-size:0.75rem}}

/* ===== Enterprise Report Builder / Grid ===== */

/* ===== Drawer جزئیات جستجوی سراسری ===== */
.search-details-drawer{position:fixed;z-index:1200;top:0;right:0;bottom:0;width:min(760px,96vw);background:var(--surface,#fff);border-left:1px solid var(--line,#e6e6ef);box-shadow:-18px 0 55px rgba(33,31,72,.18);transform:translateX(105%);transition:transform .2s ease;overflow:auto;direction:rtl}.search-details-drawer[hidden]{display:block;visibility:hidden}.search-details-drawer.is-open{transform:translateX(0);visibility:visible}.search-details-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;gap:16px;padding:22px 24px 16px;background:color-mix(in srgb,var(--surface,#fff) 94%,#f0edff);border-bottom:1px solid var(--line,#e6e6ef)}.search-details-head h2{margin:5px 0 4px;font-size:1.0625rem;color:var(--text,#2b2b44)}.search-details-head p{margin:0;color:#8b90a3;font-size:0.6875rem}.search-details-head .modal-close{margin-right:auto}.search-details-body{padding:18px 24px 32px}.search-details-hero{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e4ddff;border-radius:14px;background:linear-gradient(135deg,#f6f3ff,#fff);margin-bottom:15px}.search-details-hero-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;font-size:1.1875rem}.search-details-hero strong,.search-details-hero small{display:block}.search-details-hero strong{font-size:0.875rem;color:#3f4357}.search-details-hero small{margin-top:4px;color:#8b90a3;font-size:var(--fs-2xs)}.search-details-hero code{font-size:var(--fs-2xs);color:#575d73}.search-details-live{margin-right:auto;display:inline-flex;align-items:center;gap:5px;color:#269f7e;background:#e4f8f0;border-radius:99px;padding:5px 8px;font-size:var(--fs-2xs);white-space:nowrap}.search-details-live i{width:6px;height:6px;border-radius:50%;background:#38b890}.search-details-grid{display:grid;gap:12px}.search-details-section{border:1px solid var(--line,#e8e8f0);border-radius:14px;background:var(--surface,#fff);padding:14px}.search-details-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.search-details-section-head h3{margin:0;color:var(--text,#3f4357);font-size:0.78125rem}.search-details-section-head span{color:#767b92;font-size:var(--fs-2xs)}.search-details-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.search-details-summary>div{min-width:0;padding:9px;background:var(--surface-soft,#fafafd);border-radius:9px}.search-details-summary small,.search-details-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-details-summary small{color:#9da1b1;font-size:var(--fs-2xs);margin-bottom:5px}.search-details-summary strong{color:var(--text,#4b5066);font-size:0.75rem}.search-details-history,.search-details-related-list{display:grid;gap:7px;max-height:230px;overflow:auto}.search-details-history-row{padding:9px 10px;border-right:3px solid var(--primary);background:var(--surface-soft,#fafafd);border-radius:8px}.search-details-history-row>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.search-details-history-row strong{color:#575d73;font-size:0.6875rem}.search-details-history-row small{color:#999dae;font-size:var(--fs-2xs)}.search-details-history-row p{margin:5px 0 0;color:#777c90;font-size:0.6875rem;line-height:1.8}.search-details-related{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;text-align:right;background:var(--surface-soft,#fafafd);border:1px solid transparent;border-radius:9px;cursor:pointer;font:inherit}.search-details-related:hover{border-color:#cfc4ff;background:#f6f3ff}.search-details-related-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;background:#e9f8f3;color:#269f7e;font-size:0.875rem}.search-details-related-icon.opportunity{background:#fff0df;color:#d4843b}.search-details-related span:nth-child(2){min-width:0;flex:1}.search-details-related strong,.search-details-related small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-details-related strong{color:#4b5066;font-size:0.6875rem}.search-details-related small{color:#999dae;font-size:var(--fs-2xs);margin-top:3px}.search-details-related>b{color:#8b90a3;font-size:0.84375rem}.search-details-empty{display:flex;align-items:center;justify-content:center;gap:7px;color:#999dae;border:1px dashed #dfe0e8;border-radius:9px;padding:18px;font-size:0.6875rem}.search-details-empty span{font-size:1.0625rem;color:#b5b8c7}.dark-mode .search-details-head,.dark-mode .search-details-hero{background:linear-gradient(135deg,#221f3d,#181a2b);border-color:#3a3470}.dark-mode .search-details-section,.dark-mode .search-details-related{background:var(--surface);border-color:var(--line)}.dark-mode .search-details-summary>div,.dark-mode .search-details-history-row{background:#202136}.dark-mode .search-details-related:hover{background:#262441;border-color:#5a4f9e}@media(max-width:600px){.search-details-body{padding:14px}.search-details-head{padding:18px 14px 14px}.search-details-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.search-details-live{display:none}}
.enterprise-report-builder{margin:18px 0;padding-bottom:18px;overflow:hidden}.enterprise-report-builder-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:0 24px 18px;border-bottom:1px solid var(--line)}.enterprise-report-builder-toolbar .tl-field{min-width:170px}.builder-template-divider{width:1px;align-self:stretch;margin:0 2px;background:var(--line)}.enterprise-report-builder-toolbar #enterpriseReportTemplateSelect{min-width:190px}.enterprise-report-builder-toolbar .tl-field select,.enterprise-report-builder-toolbar .tl-field input{margin-top:6px}.enterprise-report-grid{padding:0 24px}.enterprise-grid-loading,.enterprise-grid-empty{display:flex;align-items:center;justify-content:center;gap:9px;min-height:130px;color:#999daf;font-size:0.75rem;text-align:center}.enterprise-grid-empty{flex-direction:column;padding:25px}.enterprise-grid-empty strong{color:#62677c;font-size:0.78125rem}.enterprise-grid-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 0 14px}.enterprise-grid-head h3{margin:6px 0 0;font-size:0.9375rem}.enterprise-grid-head p{margin:5px 0 0;color:#767b92;font-size:0.6875rem;line-height:1.8}.enterprise-grid-view-switch{display:flex;gap:5px;direction:rtl}.enterprise-grid-view-button{background:var(--surface);border:1px solid var(--line);color:#888da1;border-radius:7px;padding:7px 10px;font-size:0.6875rem}.enterprise-grid-view-button.is-active{background:#f0ecff;color:var(--primary-dark);border-color:#ded5ff;font-weight:800}.enterprise-grid-table-wrap{overflow:auto;max-width:100%}.enterprise-grid-table{min-width:760px}.enterprise-grid-table th{vertical-align:top;padding:9px 12px}.enterprise-grid-table td{padding:11px 12px}.enterprise-grid-sort{display:block;width:100%;padding:0;background:transparent;color:inherit;text-align:right;font-size:0.6875rem;font-weight:700;white-space:nowrap}.enterprise-grid-sort.is-active{color:var(--primary)}.enterprise-grid-filter{display:block;width:100%;min-width:72px;margin-top:7px;padding:6px 7px;border:1px solid #e5e6ee;border-radius:6px;background:#fff;color:var(--text);font-size:0.6875rem;outline:0}.enterprise-grid-filter:focus{border-color:#987fff;box-shadow:0 0 0 2px #f0ecff}.enterprise-grid-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 4px;color:#8d92a4;font-size:0.6875rem;border-top:1px solid var(--line)}.enterprise-grid-footer-actions{display:flex;align-items:center;gap:7px}.enterprise-grid-footer-actions label{display:flex;align-items:center;gap:5px}.enterprise-grid-footer-actions select{border:1px solid var(--line);border-radius:6px;padding:5px;background:var(--surface);color:var(--text);font-size:0.6875rem}.enterprise-grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding-bottom:8px}.enterprise-grid-card{border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--surface-soft);display:flex;flex-direction:column;gap:9px}.enterprise-grid-card div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding-bottom:6px}.enterprise-grid-card div:last-child{border-bottom:0;padding-bottom:0}.enterprise-grid-card span{color:#999dae;font-size:0.6875rem}.enterprise-grid-card strong{color:var(--text);font-size:0.75rem;text-align:left}.enterprise-report-grid .enterprise-grid-table td,.enterprise-report-grid .enterprise-grid-table th{transition:padding .2s}.enterprise-report-grid[data-grid-view="compact"] .enterprise-grid-table td,.enterprise-report-grid[data-grid-view="compact"] .enterprise-grid-table th{padding-top:6px;padding-bottom:6px}.dark-mode .enterprise-grid-view-button,.dark-mode .enterprise-grid-filter{background:var(--surface);border-color:var(--line);color:var(--text)}.dark-mode .enterprise-grid-view-button.is-active{background:#2a2548;color:#c9baff;border-color:#4a3f86}@media(max-width:760px){.enterprise-report-builder-toolbar{display:grid;grid-template-columns:1fr 1fr}.enterprise-report-builder-toolbar .tl-field{min-width:0}.enterprise-report-builder-toolbar .button{width:100%}.enterprise-grid-head{display:block}.enterprise-grid-view-switch{margin-top:12px}.enterprise-grid-footer{align-items:flex-start;flex-direction:column}.enterprise-grid-footer-actions{width:100%;justify-content:space-between}.enterprise-report-grid{padding:0 14px}}

/* ========== Drill-down ردیف‌های گزارش‌ساز Enterprise ==========
   زنجیرهٔ کامل: کلیک روی نقطهٔ نمودار → لیست فیلترشده → جزئیات/ویرایش رکورد.
   ردیف جدول و کارت، هر دو data-record-entity/data-record-id دارند و listener
   سراسری Index.cshtml (openDrillRecord) را فعال می‌کنند. */
.enterprise-grid-row{cursor:pointer;transition:background .12s ease}
.enterprise-grid-row:hover{background:#f4f1fe}
.enterprise-grid-drill-head{width:34px;border-inline-start:1px dashed #e6e6ee}
.enterprise-grid-drill{width:34px;text-align:center;border-inline-start:1px dashed #e6e6ee}
.enterprise-grid-drill-button{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:#7c5cff;padding:0;cursor:pointer}
.enterprise-grid-drill-button:hover{background:#f0ecff;border-color:#ded5ff}
.enterprise-grid-drill-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.enterprise-grid-card-drill{cursor:pointer;position:relative;transition:box-shadow .12s ease,border-color .12s ease}
.enterprise-grid-card-drill:hover{border-color:#ded5ff;box-shadow:0 3px 14px color-mix(in srgb, var(--primary) 14%, transparent)}
.enterprise-grid-card-drill-mark{margin-top:9px;padding-top:7px;border-top:1px dashed #e6e6ee;color:#7c5cff;font-size:var(--fs-2xs);font-weight:700}

/* ========== هدف فروش (P1-SALES-02) ========== */
.scc-target-missing{color:#d65f70;cursor:pointer;text-decoration:underline;font-size:0.6875rem;font-weight:600}
.scc-target-detail{display:block;font-size:var(--fs-2xs);color:#8f93a4;font-weight:400;margin-top:2px}
.sales-target-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;border-top:1px dashed #e6e6ee;padding-top:12px}
.sales-target-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ececf3;border-radius:10px;padding:10px 12px;background:#fcfcfe}
.sales-target-row strong{display:block;font-size:0.75rem;color:#4e5368}
.sales-target-row small{font-size:var(--fs-2xs);color:#8f93a4}
.sales-target-row .button-danger{border-color:#f3d7dc;color:#d65f70;background:#fff}
.sales-target-row .button-danger:hover{background:#fdf0f2}
.dark-mode .sales-target-row{border-color:var(--line);background:var(--surface)}
.dark-mode .sales-target-row small{color:#9da1b6}
.feature-routes{display:flex;flex-direction:column;gap:4px;margin-top:9px;padding-top:9px;border-top:1px dashed #eef0f5}.feature-routes span{font-size:var(--fs-2xs);color:#a1a5b4}.feature-routes strong{color:var(--primary);font-variant-numeric:tabular-nums}.feature-routes code{font-size:var(--fs-2xs);color:#8f93a4;direction:ltr;text-align:left;font-family:ui-monospace,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dark-mode .feature-routes{border-top-color:var(--line)}.dark-mode .feature-routes code{color:#9da1b6}

/* ===== لایهٔ Enterprise Dock: پنل‌های جمع‌شدنی، تمام‌صفحه و جابه‌جاشدنی ===== */
.dock-bar{display:flex;align-items:center;gap:2px;flex:none;opacity:.55;transition:opacity .2s}.panel-heading:hover .dock-bar,.panel:hover .dock-bar{opacity:1}.dock-btn{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:transparent;color:#9a9db0;transition:.18s;padding:0}.dock-btn:hover{background:#eeebff;color:var(--primary)}.dock-btn.is-active{color:var(--primary);background:#f0ecff}.dock-ico{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dock-btn[data-dock-action="collapse"] .dock-ico{transition:transform .25s}.dock-btn[data-dock-action="collapse"].is-active .dock-ico{transform:rotate(-180deg)}.dock-grip{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;color:#b6b8c6;cursor:grab;transition:.18s}.dock-grip:hover{color:var(--primary);background:#f4f2ff}.dock-grip:active{cursor:grabbing}.dock-grip .dock-ico{width:14px;height:14px}.panel.is-dock-collapsed{position:relative}.panel.is-dock-collapsed>*:not(.panel-heading):not(.dock-bar){display:none}.panel.is-dock-collapsed .panel-heading{margin:0}.panel.is-dock-collapsed .dock-btn[data-dock-action="collapse"]{color:var(--primary);background:#f0ecff}.panel.is-dock-dragging{opacity:.45;border-style:dashed!important;border-color:#a28cff!important;box-shadow:0 18px 40px rgba(90,60,220,.18)!important}.dock-backdrop{position:fixed;inset:0;background:rgba(16,15,28,.55);backdrop-filter:blur(6px);z-index:120;animation:dockBackdropIn .18s ease}.dock-maximized .panel-heading{background:var(--surface)}.panel.is-dock-maximized{position:fixed!important;inset:26px;z-index:130;width:auto!important;max-width:min(1180px,calc(100vw - 52px))!important;max-height:calc(100vh - 52px)!important;height:auto!important;margin:auto;overflow:auto;border-radius:20px;box-shadow:0 34px 90px rgba(10,8,30,.42);animation:dockZoomIn .22s cubic-bezier(.2,.8,.3,1)}.panel.is-dock-maximized .dock-btn[data-dock-action="maximize"] .dock-ico{stroke:#d65f70}.dock-maximized .bi-canvas,.dock-maximized .enterprise-report-chart{height:auto;min-height:320px}.dock-maximized .report-insight{max-width:none}@keyframes dockBackdropIn{from{opacity:0}to{opacity:1}}@keyframes dockZoomIn{from{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:none}}body.has-dock-maximized{overflow:hidden}.dark-mode .dock-btn{color:#8d90a8}.dark-mode .dock-btn:hover{background:#2a2548;color:#b9aaff}.dark-mode .dock-grip{color:#7c7f98}.dark-mode .dock-grip:hover{background:#2a2548;color:#b9aaff}.dark-mode .panel.is-dock-maximized{background:var(--surface);border-color:var(--line)}.panel-heading:has(> .dock-bar){gap:8px}.panel-heading>.dock-bar+.dock-title,.panel-heading>.dock-bar+div{flex:1;min-width:0}

/* ===== انیمیشن ورود مرحله‌ای پنل‌ها در هر نمای (stagger) ===== */
.dock-stagger>*{animation:dockRise .42s cubic-bezier(.2,.7,.3,1) both}.dock-stagger>*:nth-child(1){animation-delay:.02s}.dock-stagger>*:nth-child(2){animation-delay:.07s}.dock-stagger>*:nth-child(3){animation-delay:.12s}.dock-stagger>*:nth-child(4){animation-delay:.17s}.dock-stagger>*:nth-child(5){animation-delay:.22s}.dock-stagger>*:nth-child(6){animation-delay:.27s}.dock-stagger>*:nth-child(7){animation-delay:.32s}.dock-stagger>*:nth-child(8){animation-delay:.37s}@keyframes dockRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dock-stagger>*{animation:none}.panel.is-dock-collapsed,.panel.is-dock-maximized{transition:none!important}}

/* ===== اسکلت لودینگ (shimmer) برای ردیف‌های در حال بارگذاری ===== */
.loading-row{position:relative;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb, var(--primary) 7%, transparent) 50%,transparent 70%);background-size:220% 100%;animation:shimmer 1.5s linear infinite}.loading-row .loader{position:relative;z-index:1}@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ===== میکرو-تعامل‌ها: فشار دکمه، فوکوس، اسکرول‌بار ===== */
.button:active{transform:translateY(0) scale(.97)}.icon-button:active{transform:scale(.92)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.panel{transition:box-shadow .25s,border-color .25s}.panel:hover{border-color:#ded9fb}.dark-mode .panel:hover{border-color:#3d3768}.panel,.crm-modal,.report-card{scrollbar-width:thin;scrollbar-color:#d4d0ee transparent}.panel::-webkit-scrollbar,.crm-modal::-webkit-scrollbar,.report-card::-webkit-scrollbar{width:7px;height:7px}.panel::-webkit-scrollbar-thumb,.crm-modal::-webkit-scrollbar-thumb{background:#d4d0ee;border-radius:6px}.dark-mode .panel::-webkit-scrollbar-thumb{background:#3a3558}

/* ===== دکمه‌های چیدمان نوار بالا ===== */
#dockCollapseAll,#dockResetLayout{opacity:.85}.dock-layout-btn.is-visible{opacity:1}#dockResetLayout{color:#d08745}#dockResetLayout.is-visible{box-shadow:0 0 0 2px rgba(208,135,69,.35)}@media(max-width:560px){.dock-bar{opacity:.9}.dock-grip{display:none}.panel.is-dock-maximized{inset:8px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:14px}}
.smart-forecast-scope-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:0 24px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(20,184,166,.04),transparent)}.smart-forecast-scope-toolbar>div{display:flex;flex-direction:column;gap:4px;min-width:245px;margin-left:auto}.smart-forecast-scope-toolbar>div small{color:var(--muted);font-size:0.75rem;line-height:1.7}.smart-forecast-scope-toolbar .tl-field{min-width:190px}.smart-forecast-scope-toolbar .tl-field select{margin-top:6px}.dark-mode .smart-forecast-scope-toolbar{background:linear-gradient(90deg,rgba(20,184,166,.08),transparent)}@media(max-width:700px){.smart-forecast-scope-toolbar{padding:0 15px 14px}.smart-forecast-scope-toolbar>div,.smart-forecast-scope-toolbar .tl-field{width:100%;min-width:0}.smart-forecast-scope-toolbar>div{margin-left:0}}
/* ===== Feature Flags: زمان‌بندی شمسی بدون ری‌استارت ===== */
.feature-schedule{margin-top:12px;padding:11px;border:1px solid #e7e3f5;border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 5%, transparent),rgba(38,159,126,.035))}.feature-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.feature-schedule-head strong{font-size:0.6875rem;color:var(--text)}.feature-schedule-head span,.feature-schedule-status{font-size:var(--fs-2xs);color:var(--muted)}.feature-schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature-schedule-fields label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:var(--fs-2xs)}.feature-schedule-fields input{width:100%;min-height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);padding:5px 7px;font:inherit;font-size:0.6875rem}.feature-schedule-fields input:focus{border-color:var(--primary);outline:2px solid color-mix(in srgb, var(--primary) 14%, transparent)}.feature-schedule-actions{display:flex;gap:6px;align-items:center;margin-top:8px}.feature-schedule-actions .button{min-height:27px;padding:5px 9px;font-size:var(--fs-2xs)}.feature-schedule-status{display:block;margin-top:8px;line-height:1.8}.dark-mode .feature-schedule{border-color:var(--line);background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 12%, transparent),rgba(38,159,126,.08))}.dark-mode .feature-schedule-fields input{background:#24203f;color:#e6e6ee}@media(max-width:650px){.feature-schedule-fields{grid-template-columns:1fr}.feature-schedule-head{align-items:flex-start;flex-direction:column}}

/* ===== Timeline تمدید قرارداد ===== */
.contract-renewal-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid #e6e0ff;border-right:4px solid var(--primary);border-radius:12px;background:linear-gradient(135deg,#f7f4ff,#fff)}
.contract-renewal-entry strong,.contract-renewal-entry small{display:block}.contract-renewal-entry strong{color:#4f467e;font-size:0.75rem}.contract-renewal-entry small{margin-top:4px;color:#8c90a3;font-size:var(--fs-2xs)}.dark-mode .contract-renewal-entry{border-color:#443b72;background:linear-gradient(135deg,#272342,#202136)}.dark-mode .contract-renewal-entry strong{color:#d0c6ff}
@media(max-width:560px){.contract-renewal-entry{align-items:flex-start;flex-direction:column}.contract-renewal-entry .button{width:100%}}

/* ===== P1-FIN-01/02: فاکتور، پرداخت و Aging ===== */
.finance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.finance-kpi{padding:16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,rgba(16,185,129,.08),var(--surface));box-shadow:0 8px 22px rgba(20,100,80,.06)}.finance-kpi span,.finance-kpi small{display:block;color:#8d93a6;font-size:0.6875rem}.finance-kpi strong{display:block;color:#159b75;font-size:1.3125rem;margin:8px 0 3px}.finance-invoice-form{margin:16px 0;padding-bottom:4px}.finance-aging-panel,.finance-invoice-form{overflow:hidden}.finance-outstanding{color:#c84b61}.status-pill-warm{background:#fff3dd;color:#b46a0b}.dark-mode .finance-kpi{background:linear-gradient(135deg,rgba(16,185,129,.14),var(--surface))}.dark-mode .status-pill-warm{background:#3b2d17;color:#f0bd65}@media(max-width:700px){.finance-kpi-grid{grid-template-columns:1fr}.finance-kpi strong{font-size:1.125rem}}

/* ===== Sidebar Enterprise: گروه‌های جمع‌شونده و حالت مینی فقط‌آیکون ===== */
.sidebar-brand-actions{display:flex;align-items:center;gap:3px}.sidebar-mini-toggle{display:grid}.sidebar-mini-toggle svg{width:15px;height:15px}.nav-label[data-sidebar-group]{display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;user-select:none;transition:color .18s,background .18s;border-radius:8px}.nav-label[data-sidebar-group]::after{content:'⌄';font-size:0.84375rem;color:#77798c;transition:transform .2s ease}.nav-label[data-sidebar-group]:hover{color:#a9a5c9;background:rgba(255,255,255,.035)}.nav-label[data-sidebar-group].is-collapsed::after{transform:rotate(90deg)}.nav-item.is-sidebar-group-hidden{display:none}.sidebar.is-mini{width:78px;min-width:78px;padding-inline:10px}.sidebar.is-mini .brand-row{justify-content:center;padding-inline:0}.sidebar.is-mini .brand{gap:0}.sidebar.is-mini .brand>span:last-child,.sidebar.is-mini .workspace-copy,.sidebar.is-mini .workspace-switcher>.chevron,.sidebar.is-mini .nav-label,.sidebar.is-mini .user-mini>span:nth-child(2){display:none}.sidebar.is-mini .workspace-switcher{justify-content:center;padding:8px;margin-inline:0}.sidebar.is-mini .nav-item{justify-content:center;gap:0;padding-inline:0;min-height:42px}.sidebar.is-mini .nav-item .nav-icon{width:100%}.sidebar.is-mini .nav-badge{position:absolute;top:3px;right:8px;margin:0;min-width:15px;height:15px;padding:0 3px;font-size:var(--fs-2xs)}.sidebar.is-mini .user-mini{justify-content:center;padding-inline:0}.sidebar.is-mini .user-mini .icon-button{display:none}.sidebar.is-mini .sidebar-mini-toggle{transform:scaleX(-1)}.sidebar.is-mini .nav-label[data-sidebar-group]::after{display:none}.sidebar.is-mini .nav-groups{overflow-y:auto;overflow-x:hidden}.sidebar.is-mini .nav-item[title]{position:relative}.sidebar.is-mini .nav-item[title]::after{content:attr(title);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);display:none;z-index:80;white-space:nowrap;padding:7px 9px;border-radius:8px;background:#25243a;color:#fff;font-size:0.6875rem;box-shadow:0 8px 20px rgba(0,0,0,.2);pointer-events:none}.sidebar.is-mini .nav-item[title]:hover::after{display:block}.sidebar.is-mini~.main-content{min-width:0}.sidebar.is-mini + .sidebar-backdrop + .main-content{min-width:0}@media(max-width:800px){.sidebar.is-mini{width:264px;min-width:264px;padding-inline:16px}.sidebar.is-mini .brand-row{justify-content:space-between;padding-inline:10px}.sidebar.is-mini .brand>span:last-child,.sidebar.is-mini .workspace-copy,.sidebar.is-mini .workspace-switcher>.chevron,.sidebar.is-mini .nav-label,.sidebar.is-mini .user-mini>span:nth-child(2){display:block}.sidebar.is-mini .nav-item{justify-content:flex-start;gap:11px;padding-inline:12px}.sidebar.is-mini .nav-item .nav-icon{width:19px}.sidebar.is-mini .nav-badge{position:static;margin-right:auto}.sidebar.is-mini .user-mini{justify-content:initial;padding-inline:3px}.sidebar.is-mini .sidebar-mini-toggle{transform:none}.sidebar.is-mini .nav-item[title]::after{display:none}}

/* ===== ویجت رویدادهای زنده SignalR ===== */
.live-events-panel{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 86%,var(--primary) 14%));min-height:252px}.live-events-panel .panel-heading{align-items:flex-start}.live-events-status{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 9px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:0.6875rem;font-weight:800;white-space:nowrap}.live-events-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#b6adca;box-shadow:0 0 0 3px color-mix(in srgb,#b6adca 18%,transparent)}.live-events-panel[data-live-status="connected"] .live-events-status{color:#218653;background:#eaf8f0}.live-events-panel[data-live-status="connected"] .live-events-status::before{background:#2eb872;box-shadow:0 0 0 3px rgba(46,184,114,.16);animation:livePulse 1.8s ease-out infinite}.live-events-panel[data-live-status="reconnecting"] .live-events-status{color:#a36b12;background:#fff5df}.live-events-panel[data-live-status="reconnecting"] .live-events-status::before{background:#e5a52c;animation:livePulse 1s ease-out infinite}.live-events-panel[data-live-status="offline"] .live-events-status{color:#a44350;background:#fff0f1}.live-events-panel[data-live-status="offline"] .live-events-status::before{background:#c85b67}.live-events-list{display:flex;flex-direction:column;gap:5px;margin-top:5px;min-height:148px;overflow:hidden}.live-event-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid transparent;border-radius:11px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent);transition:background .2s,border-color .2s,transform .2s}.live-event-row:hover{background:var(--surface-soft);border-color:var(--line);transform:translateX(-2px)}.live-event-row.is-entering{animation:liveEventIn .38s cubic-bezier(.2,.8,.2,1) both}.live-event-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#6650cf;background:#eeeafe;font-size:1rem}.live-event-opportunity{color:#4770cf;background:#eaf1ff}.live-event-inventory{color:#b4771d;background:#fff2d6}.live-event-notification{color:#bd5363;background:#fff0f3}.live-event-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.live-event-copy strong{color:var(--text);font-size:0.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-event-copy small{color:var(--muted);font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-event-row time{color:var(--muted);font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;direction:ltr;white-space:nowrap}.live-events-empty{display:grid;place-items:center;min-height:145px;color:var(--muted);font-size:0.75rem;border:1px dashed var(--line);border-radius:12px}.live-events-panel[data-live-status="connected"] .live-events-empty{border-color:color-mix(in srgb,#2eb872 30%,var(--line))}.dark-mode .live-events-panel{background:linear-gradient(145deg,#222236,#27234a)}.dark-mode .live-events-panel[data-live-status="connected"] .live-events-status{background:#183b2c;color:#8be0ad}.dark-mode .live-events-panel[data-live-status="reconnecting"] .live-events-status{background:#493619;color:#f4cb76}.dark-mode .live-events-panel[data-live-status="offline"] .live-events-status{background:#49252d;color:#f3a3ac}@keyframes liveEventIn{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(46,184,114,.34)}70%{box-shadow:0 0 0 7px rgba(46,184,114,0)}100%{box-shadow:0 0 0 0 rgba(46,184,114,0)}}@media(prefers-reduced-motion:reduce){.live-event-row.is-entering,.live-events-status::before{animation:none}.live-event-row{transition:none}}@media(max-width:700px){.live-events-panel{min-height:230px}.live-events-status{font-size:var(--fs-2xs);padding:5px 7px}.live-event-row{grid-template-columns:26px minmax(0,1fr) auto;padding:7px}.live-event-icon{width:26px;height:26px}}
.insight-ec-canvas{height:180px;padding:6px 20px 20px}.heat-ec-canvas{height:210px;padding:6px 20px 16px}.tl-highlight-target{animation:tlTargetFlash 1.5s ease}@keyframes tlTargetFlash{0%{opacity:.5;background:color-mix(in srgb, var(--primary) 16%, transparent)}40%{opacity:1;background:color-mix(in srgb, var(--primary) 26%, transparent)}100%{opacity:1;background:transparent}}.role-wizard-users-head{padding:6px 4px 14px}.role-wizard-users-head h3{font-size:1rem;margin:6px 0 4px}.role-wizard-users-note{color:#8a91a5;font-size:0.78125rem;line-height:1.9;margin:0}.role-wizard-user-toolbar{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f8f9fd;border:1px solid #eceef6;border-radius:12px;margin-bottom:12px}.role-wizard-users-count{color:#8a91a5;font-size:0.78125rem;font-weight:700;margin-right:auto;white-space:nowrap}.role-wizard-user-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding:2px}.role-wizard-user-row{display:grid;grid-template-columns:auto 34px minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid #e9ebf4;border-radius:11px;background:#fff;cursor:pointer;transition:.15s}.role-wizard-user-row:hover{border-color:#c9b8f7;background:#faf8ff}.role-wizard-user-row.is-already{opacity:.62;cursor:not-allowed;background:#f6f7fa}.role-wizard-user-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-dark)}.role-wizard-user-copy{min-width:0}.role-wizard-user-copy strong,.role-wizard-user-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-wizard-user-copy strong{font-size:0.84375rem}.role-wizard-user-copy small{color:#9aa0b3;font-size:0.75rem}.role-wizard-user-roles{display:flex;gap:4px;flex-wrap:wrap;max-width:220px}.role-wizard-user-already{font-size:0.6875rem;color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;padding:3px 7px;font-weight:700;white-space:nowrap}.role-wizard-selectall{display:flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:700;color:#6b7280;cursor:pointer;white-space:nowrap}.role-wizard-selectall input[type=checkbox]{width:14px;height:14px;accent-color:var(--primary-dark)}.role-wizard-user-status{font-size:0.6875rem;font-weight:700;white-space:nowrap}.role-wizard-user-pending{color:#9ca3af;animation:fadePulse 1.2s ease-in-out infinite}.role-wizard-user-ok{color:#059669}.role-wizard-user-fail{color:#dc2626;cursor:help;text-decoration:underline dotted}@keyframes fadePulse{0%,100%{opacity:.5}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.role-wizard-user-pending{animation:none}}.dark-mode .role-wizard-users-head h3{color:#e4e7f2}.dark-mode .role-wizard-users-note{color:#aab0c8}.dark-mode .role-wizard-user-toolbar{background:#1a1f33;border-color:#38415b}.dark-mode .role-wizard-users-count{color:#aab0c8}.dark-mode .role-wizard-user-row{background:#1b2033;border-color:#38415b}.dark-mode .role-wizard-user-row:hover{border-color:#6d4fd1;background:#222840}.dark-mode .role-wizard-user-row.is-already{background:#171b2b;opacity:.6}.dark-mode .role-wizard-user-copy strong{color:#dde3f4}.dark-mode .role-wizard-user-copy small{color:#8d94ac}.dark-mode .role-wizard-user-already{color:#fbbf24;background:#2b2410;border-color:#6b4f10}.dark-mode .role-wizard-selectall{color:#aab0c8}.dark-mode .role-wizard-user-fail{color:#f87171}.realtime-status{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 10px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:0.6875rem;font-weight:800;white-space:nowrap;transition:background .25s,color .25s;cursor:default}.realtime-status .realtime-status-dot{width:7px;height:7px;border-radius:50%;background:#b6adca;box-shadow:0 0 0 3px color-mix(in srgb,#b6adca 18%,transparent)}.realtime-status[data-realtime-status="connected"]{color:#218653;background:#eaf8f0}.realtime-status[data-realtime-status="connected"] .realtime-status-dot{background:#2eb872;box-shadow:0 0 0 3px rgba(46,184,114,.16);animation:livePulse 1.8s ease-out infinite}.realtime-status[data-realtime-status="reconnecting"]{color:#a36b12;background:#fff5df}.realtime-status[data-realtime-status="reconnecting"] .realtime-status-dot{background:#e5a52c;animation:livePulse 1s ease-out infinite}.realtime-status[data-realtime-status="offline"]{color:#a44350;background:#fff0f1}.realtime-status[data-realtime-status="offline"] .realtime-status-dot{background:#c85b67}.dark-mode .realtime-status{background:#222236;color:#9aa1b8}.dark-mode .realtime-status[data-realtime-status="connected"]{background:#183b2c;color:#8be0ad}.dark-mode .realtime-status[data-realtime-status="reconnecting"]{background:#493619;color:#f4cb76}.dark-mode .realtime-status[data-realtime-status="offline"]{background:#49252d;color:#f3a3ac}@media(max-width:700px){.realtime-status{font-size:var(--fs-2xs);padding:4px 8px}.realtime-status-text{display:none}}@media(prefers-reduced-motion:reduce){.realtime-status .realtime-status-dot{animation:none}}.realtime-reconnect-btn{display:inline-flex;align-items:center;flex:none;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid #f3d7a0;background:#fff5df;color:#a36b12;font-size:0.6875rem;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}.realtime-reconnect-btn:hover{background:#ffe9b8;border-color:#e5a52c;color:#8a5a08}.realtime-reconnect-btn:focus-visible{outline:2px solid color-mix(in srgb,#e5a52c 45%,transparent);outline-offset:2px}.realtime-reconnect-btn[hidden]{display:none}.dark-mode .realtime-reconnect-btn{background:#493619;border-color:#6b4f10;color:#f4cb76}.dark-mode .realtime-reconnect-btn:hover{background:#5a431c;color:#ffdf94}.realtime-status.realtime-reconnected-flash{animation:realtimeReconnectedFlash 1.6s ease-out}.realtime-status.realtime-reconnected-flash .realtime-status-dot{animation:realtimeReconnectedDot 1s ease-out}@keyframes realtimeReconnectedFlash{0%{box-shadow:0 0 0 0 rgba(46,184,114,.5)}60%{box-shadow:0 0 0 9px rgba(46,184,114,0)}100%{box-shadow:0 0 0 0 rgba(46,184,114,0)}}@keyframes realtimeReconnectedDot{0%{transform:scale(1)}40%{transform:scale(1.6)}100%{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.realtime-status.realtime-reconnected-flash{animation:none}.realtime-status.realtime-reconnected-flash .realtime-status-dot{animation:none}}.realtime-offline-banner{position:relative;display:flex;align-items:center;gap:14px;max-width:1700px;margin:14px 42px 0;padding:13px 16px;border:1px solid #f2c3c9;border-right:5px solid #c85b67;border-radius:14px;background:linear-gradient(135deg,#fff5f5,#fff0f1);color:#7c2f3a;box-shadow:0 8px 22px rgba(200,91,103,.08);animation:realtimeBannerIn .28s ease-out}.realtime-offline-banner[hidden]{display:none}.realtime-offline-banner-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#ffe3e7;font-size:1.125rem}.realtime-offline-banner-copy{flex:1;min-width:0}.realtime-offline-banner-copy strong,.realtime-offline-banner-copy span{display:block}.realtime-offline-banner-copy strong{font-size:0.84375rem}.realtime-offline-banner-copy span{margin-top:3px;font-size:0.75rem;line-height:1.9;color:#9a4a56}@keyframes realtimeBannerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.realtime-offline-banner{animation:none}}.dark-mode .realtime-offline-banner{background:linear-gradient(135deg,#3a2226,#3c2428);border-color:#5c2f3a;color:#f3a3ac}.dark-mode .realtime-offline-banner-icon{background:#49252d}.dark-mode .realtime-offline-banner-copy span{color:#c98a94}@media(max-width:640px){.realtime-offline-banner{align-items:flex-start;flex-wrap:wrap;margin:10px 16px 0}.realtime-offline-banner-copy{flex-basis:calc(100% - 52px)}.realtime-offline-banner .realtime-reconnect-btn{margin-right:50px}}.realtime-status.is-clickable{position:relative;cursor:pointer}.realtime-status.is-clickable .realtime-status-dot{transition:transform .15s}.realtime-status.is-clickable:hover .realtime-status-dot{transform:scale(1.3)}.realtime-detail-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:246px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 16px 38px rgba(37,35,73,.16);text-align:right;white-space:normal;cursor:default}.realtime-detail-popover[hidden]{display:none}.realtime-detail-popover::before{content:'';position:absolute;top:-5px;right:16px;width:10px;height:10px;background:var(--surface);border-top:1px solid var(--line);border-right:1px solid var(--line);transform:rotate(-45deg)}.realtime-detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px dashed var(--line);font-size:0.75rem}.realtime-detail-row:last-of-type{border-bottom:0}.realtime-detail-row span{color:var(--muted);font-weight:600;flex:none}.realtime-detail-row strong{direction:ltr;font-weight:700;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis}.realtime-detail-reconnect{display:flex;align-items:center;justify-content:center;width:100%;margin-top:10px;padding:8px 10px;border-radius:9px;border:1px solid #f3d7a0;background:#fff5df;color:#a36b12;font-size:0.75rem;font-weight:800;cursor:pointer;transition:background .2s,color .2s}.realtime-detail-reconnect:hover{background:#ffe9b8;color:#8a5a08}.dark-mode .realtime-detail-popover{background:#222236;border-color:#38415b}.dark-mode .realtime-detail-popover::before{background:#222236;border-color:#38415b}.dark-mode .realtime-detail-row{border-color:#2c3148}.dark-mode .realtime-detail-row span{color:#aab0c8}.dark-mode .realtime-detail-row strong{color:#dde3f4}.dark-mode .realtime-detail-reconnect{background:#493619;border-color:#6b4f10;color:#f4cb76}.dark-mode .realtime-detail-reconnect:hover{background:#5a431c;color:#ffdf94}@media (max-width:1100px){.realtime-detail-popover{right:auto;left:0}.realtime-detail-popover::before{right:auto;left:14px;border-right:0;border-left:1px solid var(--line);transform:rotate(45deg)}}.funnel-compare-toggle.is-active{color:#fff;background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent)}.funnel-compare-toggle.is-active:hover{opacity:.92}.dark-mode .funnel-compare-toggle.is-active{color:#fff;background:var(--primary);border-color:var(--primary)}.bi-compare-guide{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:2px 16px 14px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--muted);font-size:0.6875rem;font-weight:600;line-height:1.6}.bi-compare-guide[hidden]{display:none}.bi-compare-guide .bi-compare-guide-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--swatch,#94a3b8);margin-inline-end:5px;vertical-align:-2px}.bi-compare-guide .bi-compare-guide-delta{display:inline-flex;align-items:center;gap:3px;color:var(--primary);font-weight:800}.dark-mode .bi-compare-guide{border-color:var(--line);background:#1b2033}.bi-value-compare-canvas{padding-top:6px}.bi-value-compare-canvas[hidden]{display:none}.bi-compare-canvas-label{padding:2px 20px 4px;color:var(--muted);font-size:0.6875rem;font-weight:800;letter-spacing:.2px}.panel.is-dock-leaving{opacity:0;transform:translateY(-10px) scale(.97);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.panel.is-dock-entering{animation:dockPanelIn .32s cubic-bezier(.2,.8,.2,1) both}@keyframes dockPanelIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.panel.is-dock-leaving{transition:none}.panel.is-dock-entering{animation:none}}

/* ===== License Management ===== */
.license-current-info{margin-top:12px}.license-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.license-kpi{padding:12px;border:1px solid var(--line,#e6e6ef);border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 5%, transparent),var(--surface,#fff))}.license-kpi-label{display:block;color:#8d93a6;font-size:0.6875rem;margin-bottom:5px}.license-kpi strong{display:block;color:#4b5066;font-size:0.9375rem;font-weight:800}.license-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:10px}.license-feature-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:9px;border:1px solid var(--line,#e6e6ef);font-size:0.75rem;transition:background .18s,border-color .18s}.license-feature-active{background:rgba(38,159,126,.06);border-color:#c4f0e1;color:#218653}.license-feature-active .license-feature-icon{color:#218653;font-weight:800}.license-feature-inactive{background:rgba(156,163,175,.04);border-color:#e8e9ee;color:#9ca3af;opacity:.65}.license-feature-inactive .license-feature-icon{color:#dc2626;font-weight:800}.license-history-table{width:100%}.license-history-table th,.license-history-table td{padding:9px 12px;text-align:right;font-size:0.75rem}.license-history-table th{background:var(--surface-soft,#f7f8fc);color:#6b7280;font-weight:700;border-bottom:2px solid var(--line,#e6e6ef)}.license-admin-buttons{display:flex;gap:10px;margin-top:12px}.license-issue-result{margin-top:12px}.license-issue-key{display:grid;gap:6px;padding:14px;border:1px solid #c4f0e1;border-radius:12px;background:rgba(38,159,126,.06)}.license-issue-key span{color:#218653;font-size:0.75rem;font-weight:800}.license-issue-key code{display:block;padding:9px 12px;border-radius:8px;background:#fff;border:1px solid #e6e6ef;direction:ltr;text-align:left;font-family:ui-monospace,Consolas,monospace;font-size:0.84375rem;color:#0f766e;letter-spacing:.5px;word-break:break-all}.license-issue-key small{color:#8d93a6;font-size:0.75rem}.dark-mode .license-issue-key{border-color:#1a5c43;background:rgba(38,159,126,.12)}.dark-mode .license-issue-key span{color:#6ee7b7}.dark-mode .license-issue-key code{background:#141829;border-color:#38415b;color:#6ee7b7}.settings-badge-red{background:#fef2f2;color:#dc2626}.settings-badge-amber{background:#fffbeb;color:#b45309}.settings-badge-gold{background:#fffbeb;color:#b45309}.dark-mode .license-kpi{border-color:var(--line);background:linear-gradient(135deg,color-mix(in srgb, var(--primary) 12%, transparent),var(--surface))}.dark-mode .license-kpi strong{color:#dde3f4}.dark-mode .license-feature-active{background:rgba(38,159,126,.12);border-color:#1a5c43;color:#6ee7b7}.dark-mode .license-feature-inactive{background:rgba(100,116,139,.1);border-color:#374151;color:#64748b}.dark-mode .license-history-table th{background:#1b2033;color:#9ca3af;border-color:#38415b}@media(max-width:700px){.license-kpi-grid{grid-template-columns:1fr}.license-features-grid{grid-template-columns:1fr}.license-admin-buttons{flex-direction:column}.license-admin-buttons .button{width:100%}}

/* ===== لایهٔ ارتقای تجربهٔ کاربری (UI/UX Enterprise) ===== */
/* توکن‌های طراحی: مقیاس متن، عمق، حرکت و حلقهٔ فوکوس — همه روی همان کلاس‌های موجود */
:root{--fs-2xs:0.6875rem;--fs-xs:0.75rem;--fs-sm:0.8125rem;--fs-md:0.90625rem;--fs-lg:1.03125rem;--fs-xl:1.125rem;--fs-2xl:1.375rem;--fs-3xl:1.75rem;--fs-display:2.125rem;--type-scale:1.1;--lh-body:1.95;--lh-compact:1.8;--ease-soft:cubic-bezier(.22,.61,.36,1);--ease-snap:cubic-bezier(.34,1.4,.64,1);--shadow-card:0 12px 34px rgba(23,22,48,.07);--shadow-hover:0 20px 48px rgba(23,22,48,.12);--surface-glass:color-mix(in srgb,var(--surface) 88%,transparent);--focus-ring:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
/* کف قلم: <small> ارثی (پیش‌فرض `smaller` مرورگر) نباید از توکن --fs-2xs پایین‌تر برود؛
   max() فقط کف می‌گذارد و اندازهٔ فعلی متن‌های بزرگ‌تر را کوچک نمی‌کند. */
small{font-size:max(var(--fs-2xs),0.833em)}

/* ۱) خوانایی پایه و فوکوس */
html{font-size:calc(16px * var(--type-scale,1))}body{font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5{line-height:1.6;letter-spacing:-.2px}
::selection{background:color-mix(in srgb,var(--primary) 22%,transparent);color:var(--text)}
:focus-visible{outline:2.5px solid color-mix(in srgb,var(--primary) 60%,transparent);outline-offset:2px;border-radius:8px}
button:disabled,.button:disabled{cursor:not-allowed}
input,select,textarea{line-height:1.75;transition:border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft),background .2s var(--ease-soft)}
input:focus,select:focus,textarea:focus{box-shadow:var(--focus-ring)}

/* ۲) عنوان صفحه، نوار بالا و سایدبار */
.page-heading h1{letter-spacing:-.8px}
.page-heading p{font-size:var(--fs-sm);line-height:var(--lh-body)}
.topbar{background:var(--surface-glass);backdrop-filter:blur(22px) saturate(1.15);box-shadow:0 1px 0 rgba(23,22,48,.05)}
.breadcrumb{font-size:var(--fs-xs)}
.command-search{transition:background .22s var(--ease-soft),border-color .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}
.command-search:hover{background:#f2f2f9;border-color:#e2e3ef}
.icon-button{transition:transform .18s var(--ease-snap),background .18s,color .18s}
.icon-button:hover{transform:translateY(-1px)}
.nav-item{font-size:var(--fs-xs);transition:transform .22s var(--ease-soft),background .22s,color .22s}
.nav-item:hover{transform:translateX(-3px)}
.nav-item.is-active{box-shadow:inset 3px 0 var(--primary-light),0 10px 22px color-mix(in srgb, var(--primary) 18%, transparent)}
.nav-label{font-size:var(--fs-2xs);letter-spacing:.4px}
.nav-badge{font-size:var(--fs-2xs)}
.workspace-switcher{transition:transform .22s var(--ease-soft),background .22s,box-shadow .22s}
.workspace-switcher:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.24)}
.brand small,.workspace-copy small,.user-mini small{font-size:var(--fs-2xs)}

/* ۳) کارت‌ها و پنل‌ها: عمق، بلندشدن نرم و ورود پویا */
.panel,.report-card,.summary-mini,.metric-card,.lead-card,.kanban-card,.settings-unit-card,.settings-action-card,.feature-card,.attention-card{transition:box-shadow .3s var(--ease-soft),transform .3s var(--ease-soft),border-color .3s var(--ease-soft)}
.panel{box-shadow:var(--shadow-card)}
.panel:hover{box-shadow:var(--shadow-hover)}
.panel-heading h2{font-size:var(--fs-lg)}
.panel-heading p,.panel-heading small{font-size:var(--fs-xs);line-height:1.85}
.metric-card{box-shadow:var(--shadow-card)}
.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.metric-label{font-size:var(--fs-xs);letter-spacing:.2px}
.metric-value{letter-spacing:-1px}
.metric-value small,.metric-foot{font-size:var(--fs-2xs)}
.summary-mini span,.summary-mini small{font-size:var(--fs-xs)}
.report-insight h3{font-size:var(--fs-lg)}
.report-insight p,.report-insight li{font-size:var(--fs-xs);line-height:var(--lh-body)}
.activity-item,.agenda-item{transition:background .2s var(--ease-soft),transform .2s var(--ease-soft)}
.activity-item:hover,.agenda-item:hover{transform:translateX(-2px)}
.empty-state{border:1px dashed color-mix(in srgb,var(--primary) 26%,var(--line));border-radius:16px;background:linear-gradient(140deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface))}
.empty-state p,.empty-state span{font-size:var(--fs-xs);line-height:var(--lh-body)}

/* ۴) جدول‌ها: تراکم بهتر، سرصفحهٔ شفاف و هاور رنگی */
.crm-table th,.crm-table td{font-size:var(--fs-sm);line-height:1.85}
.crm-table th{font-weight:800;letter-spacing:.2px}
.crm-table tbody tr{transition:background .18s var(--ease-soft)}
.crm-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 5%,transparent)}
.grid-cols-host{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:40px;padding:6px 20px}.grid-cols-host .icon-button{background:transparent;border:1px solid var(--line);color:#8a8fa2;border-radius:8px;width:30px;height:30px;display:grid;place-items:center}.grid-cols-host .icon-button:hover{color:var(--primary-dark);border-color:#d9cfff;background:#f7f4ff}
.table-scroll{border-radius:14px}
.field-label,.form-grid label,.generic-form label{font-size:var(--fs-xs);line-height:1.8}
.pagination button{transition:transform .16s var(--ease-snap),background .16s,color .16s}
.pagination button:hover{transform:translateY(-1.5px)}

/* ۵) دکمه‌ها و کنترل‌های فیلتر */
.button{transition:transform .18s var(--ease-snap),box-shadow .22s var(--ease-soft),filter .2s,background .2s}
.button:hover{transform:translateY(-1.5px);box-shadow:0 10px 22px color-mix(in srgb,var(--primary) 24%,transparent)}
.button:active{transform:translateY(0) scale(.985)}
.button-ghost:hover{box-shadow:0 8px 18px rgba(23,22,48,.09)}
.select-button,.filter-button,.icon-button,.text-button{transition:transform .18s var(--ease-snap),border-color .18s,background .18s,color .18s}
.select-button:hover,.filter-button:hover{border-color:var(--primary);transform:translateY(-1px)}

/* ۶) تنظیمات، مودال و بازخورد */
.settings-tab span b{font-size:var(--fs-sm)}
.settings-tab small{font-size:var(--fs-2xs)}
.settings-section-title h2{font-size:1rem}
.settings-section-title p{font-size:var(--fs-xs);line-height:1.9}
.settings-menu-title strong{font-size:var(--fs-sm)}
.settings-menu-title small,.settings-menu-foot{font-size:var(--fs-2xs)}
.theme-option,.density-option,.feature-chip{transition:transform .2s var(--ease-soft),border-color .2s,box-shadow .2s,background .2s}
.theme-option:hover,.density-option:hover{box-shadow:0 10px 24px rgba(23,22,48,.09)}
.crm-modal{box-shadow:0 34px 90px rgba(23,22,48,.3)}
.modal-header h2{font-size:1.1875rem}
.modal-kicker{font-size:var(--fs-2xs);letter-spacing:.6px}
.notif-panel{box-shadow:0 26px 62px rgba(23,22,48,.22)}
.notif-body strong{font-size:var(--fs-xs)}
.notif-body p{font-size:var(--fs-2xs);line-height:1.85}
.toast{font-size:var(--fs-xs)}

/* ۷) حرکت: ورود نرم بخش‌ها و کارت‌ها (با احترام به prefers-reduced-motion) */
@keyframes uiViewFade{from{opacity:0}to{opacity:1}}
@keyframes uiRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* پاپِ مودال: ورود با مقیاس فنری — حس پنجرهٔ شناور مدرن.
   تبدیلِ پایانی none می‌شود تا درگ/تغییر اندازه هیچ‌وقت قفل نشود. */
@keyframes modalPop{from{opacity:0;transform:translateY(14px) scale(.96)}60%{opacity:1}to{opacity:1;transform:none}}
.view-section.is-visible{animation:uiViewFade .26s var(--ease-soft) both}
.view-section.is-visible>.panel,.view-section.is-visible>[data-dock-container]>.panel{animation:uiRise .44s var(--ease-soft) both}
.dock-panel-picker-menu{animation:uiRise .24s var(--ease-soft) both}
@media (prefers-reduced-motion:reduce){.view-section.is-visible,.view-section.is-visible>.panel,.view-section.is-visible>[data-dock-container]>.panel,.dock-panel-picker-menu,.crm-modal,.crm-modal.is-entering,.modal-backdrop.is-animating-out,.modal-icon,.panel,.metric-card,.button,.nav-item,.icon-button,.select-button,.filter-button,.activity-item,.agenda-item,.pagination button{animation:none;transition:none;transform:none}}

/* ۸) هم‌سانی تاریک: عمق و شیشه از توکن‌های تم تیره می‌آید (--surface-glass/--shadow-sm/--shadow-lg در بلوک تم) */
.dark-mode .command-search:hover{background:#202136;border-color:#383950}

/* ۹) چاپ: بدون سایه و انیمیشن تا صفحه‌بندی دست‌نخورده بماند */
@media print{.panel,.metric-card,.crm-modal,.notif-panel{box-shadow:none!important}.view-section.is-visible,.view-section.is-visible>.panel,.view-section.is-visible>[data-dock-container]>.panel{animation:none!important;transform:none!important}}

/* ===== ۱۱) مودال‌های حرفه‌ای: دستهٔ جابه‌جایی، اندازهٔ هوشمند، اسکرول هوشمند و شیت موبایل ===== */
:root{--modal-shadow:0 42px 110px rgba(20,19,45,.30);--modal-shadow-active:0 52px 130px rgba(20,19,45,.42);--modal-head:linear-gradient(180deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),color-mix(in srgb,var(--primary) 2%,var(--surface)));--grip-surface:color-mix(in srgb,var(--primary) 12%,var(--surface))}
/* سایهٔ مودال در تم‌های تیره هم از توکن --shadow-xl همان تم می‌آید. */

/* پرده: چیدمان امن و بدون اسکرول زنجیره‌ای */
.modal-backdrop:not(.palette-backdrop){align-items:center;justify-content:center;overscroll-behavior:contain;padding:clamp(10px,2.4vh,26px)}

/* کارت: عمق، قاب و ورود نرم (فقط opacity تا درگ هیچ‌وقت قفل نشود) */
.crm-modal{position:relative;width:min(560px,100%);max-height:min(90vh,900px);border:1px solid var(--line);background:var(--surface);border-radius:22px;box-shadow:var(--modal-shadow);transition:box-shadow .25s var(--ease-soft),background-color .3s ease,border-color .3s ease,color .3s ease}
/* پاپِ ورود فقط زمانی که کارت در حال تعامل نیست — با شروعِ درگ کلاس is-entering
   برداشته می‌شود تا transform هرگز قفل نشود. */
.crm-modal.is-entering{animation:modalPop .3s var(--ease-snap)}
/* خروج نرم: پرده کوچک و محو می‌شود. انیمیشن روی پرده است چون انیمیشن‌های
   داخل عنصرِ دارای backdrop-filter در Chromium در رستر قفل می‌شوند. */
@keyframes modalLeave{from{opacity:1;transform:none}to{opacity:0;transform:scale(.97) translateY(6px)}}
.modal-backdrop.is-animating-out{animation:modalLeave .18s var(--ease-soft) forwards}
.crm-modal::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 60%,transparent)}
.dark-mode .crm-modal::after{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.crm-modal.is-dragging,.crm-modal.is-resizing{will-change:transform;transition:box-shadow .2s var(--ease-soft);box-shadow:var(--modal-shadow-active);z-index:5}
.crm-modal.is-resized{max-height:none}

/* سرصفحه: دستهٔ جابه‌جایی + آیکون + تفکیک شیشه‌ای */
.crm-modal>.modal-header{position:relative;z-index:3;justify-content:flex-start;gap:10px;padding:20px 22px 15px;background:var(--modal-head);border-bottom:1px solid var(--line);cursor:grab;touch-action:none;user-select:none}
.crm-modal>.modal-header:active{cursor:grabbing}
.modal-grip{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:9px;color:var(--muted);background:var(--grip-surface);transition:background .2s var(--ease-soft),color .2s var(--ease-soft),transform .2s var(--ease-snap)}
.modal-grip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.crm-modal>.modal-header:hover .modal-grip{color:var(--primary);transform:scale(1.06)}
/* آیکن موضوعی: نشان گرادیان با درخشش نرم — هویت بصری مختص هر مودال.
   ورود آن با انیمیشن مقیاس فنری همراه با باز شدن پنجره انجام می‌شود. */
.modal-icon{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--mi-a,var(--primary-light)),var(--mi-b,var(--primary-dark)));box-shadow:0 8px 18px color-mix(in srgb,var(--mi-a,var(--primary-light)) 38%,transparent);transition:transform .25s var(--ease-snap),box-shadow .25s var(--ease-soft);animation:modalIconIn .42s var(--ease-snap) both;animation-delay:.06s}
.modal-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.crm-modal>.modal-header:hover .modal-icon{transform:scale(1.08) rotate(-2deg);box-shadow:0 12px 24px color-mix(in srgb,var(--mi-a,var(--primary-light)) 50%,transparent)}
@keyframes modalIconIn{from{opacity:0;transform:scale(.4) rotate(-24deg)}to{opacity:1;transform:none}}
/* هویت رنگی هر دسته — همه در فضای رنگی تم، هارمونی با بنفش اصلی */
.modal-icon-violet{--mi-a:var(--primary-light);--mi-b:var(--primary-dark)}
.modal-icon-indigo{--mi-a:#7f8ff2;--mi-b:#4f5fd4}
.modal-icon-blue{--mi-a:#71b9ff;--mi-b:#4285de}
.modal-icon-emerald{--mi-a:#4bd4a8;--mi-b:#1ea683}
.modal-icon-amber{--mi-a:#ffc275;--mi-b:#dd7c3b}
.modal-icon-rose{--mi-a:#ff8fa3;--mi-b:#e5486d}
.modal-icon-slate{--mi-a:#a8adbf;--mi-b:#6d7488}
.dark-mode .modal-icon{box-shadow:0 8px 18px color-mix(in srgb,var(--mi-a,var(--primary-light)) 30%,transparent)}
.dark-mode .modal-icon-slate{--mi-a:#8f95a8;--mi-b:#565d72}
@media (prefers-reduced-motion:reduce){.modal-icon{animation:none;transition:none;transform:none}}
@media (max-width:700px){.modal-icon{width:34px;height:34px;border-radius:11px}.modal-icon svg{width:18px;height:18px}}
.crm-modal>.modal-header .modal-close{flex:none;width:32px;height:32px;margin-inline-start:auto;border-radius:10px;font-size:1.1875rem;line-height:1;color:var(--muted);background:color-mix(in srgb,var(--surface) 72%,transparent);transition:background .2s,color .2s,transform .25s var(--ease-snap)}
.crm-modal>.modal-header .modal-close:hover{color:#fff;background:linear-gradient(135deg,#e36f7d,#c95165);transform:rotate(90deg)}

/* اسکرول هوشمند: نشانگرهای بالا/پایین فقط وقتی سرریز واقعی هست */
.crm-modal>*{overscroll-behavior:contain}
.crm-modal>.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}
.crm-modal .is-scrolled-down{box-shadow:inset 0 14px 14px -14px rgba(23,22,48,.34)}
.crm-modal .is-scroll-more{box-shadow:inset 0 -14px 14px -14px rgba(23,22,48,.34)}
.crm-modal .is-scrolled-down.is-scroll-more{box-shadow:inset 0 14px 14px -14px rgba(23,22,48,.34),inset 0 -14px 14px -14px rgba(23,22,48,.34)}
.dark-mode .crm-modal .is-scrolled-down{box-shadow:inset 0 14px 14px -14px rgba(0,0,0,.62)}
.dark-mode .crm-modal .is-scroll-more{box-shadow:inset 0 -14px 14px -14px rgba(0,0,0,.62)}
.dark-mode .crm-modal .is-scrolled-down.is-scroll-more{box-shadow:inset 0 14px 14px -14px rgba(0,0,0,.62),inset 0 -14px 14px -14px rgba(0,0,0,.62)}
.crm-modal ::-webkit-scrollbar{width:9px;height:9px}
.crm-modal ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 28%,transparent);border-radius:6px;border:2px solid transparent;background-clip:content-box}
.crm-modal ::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 46%,transparent);background-clip:content-box}

/* پاصفحهٔ چسبان: دکمه‌های عملیات همیشه در دسترس */
.crm-modal .modal-footer{position:sticky;bottom:0;z-index:2;align-items:center;gap:10px;padding:14px 0 12px;border-top:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 72%,transparent),var(--surface) 46%)}
.crm-modal>.modal-footer{flex:none;padding:14px 22px 18px}
.crm-modal .modal-footer .button-primary{box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 30%,transparent)}

/* دستگیرهٔ تغییر اندازه (گوشهٔ پایین-چپ) */
.modal-resize-grip{position:absolute;left:8px;bottom:8px;z-index:4;width:20px;height:20px;padding:0;border:0;border-radius:7px;cursor:nesw-resize;color:color-mix(in srgb,var(--muted) 78%,transparent);background-color:transparent;background-image:repeating-linear-gradient(45deg,currentColor 0 1.5px,transparent 1.5px 5px);background-size:15px 15px;background-position:center;background-repeat:no-repeat;opacity:.55;transition:opacity .2s var(--ease-soft),color .2s var(--ease-soft)}
.modal-resize-grip:hover,.modal-resize-grip:focus-visible{opacity:1;color:var(--primary)}

/* کارتِ مودالِ بدون ناحیهٔ اسکرول اختصاصی (محتوا مستقیم داخل کارت): خود کارت
   اسکرول می‌شود و سرصفحه/پانویس استیکی می‌مانند تا هیچ محتوایی بریده نشود.
   این کلاس را crm-ui-enhancements فقط وقتی می‌گذارد که ناحیهٔ اسکرول اختصاصی نباشد. */
.crm-modal.is-modal-card-scroll{overflow-y:auto;overscroll-behavior:contain}
.crm-modal.is-modal-card-scroll>.modal-header{position:sticky;top:0;z-index:4}
.crm-modal.is-modal-card-scroll>.modal-footer{position:sticky;bottom:0;z-index:4}
/* dvh روی مرورگرهای پشتیبان دقیق‌تر است (نوار آدرس موبایل). */
.crm-modal{max-height:min(90dvh,900px)}
.crm-modal.is-resized{max-height:none}

/* شیت موبایل: چسبیدن به پایین، گوشه‌های گرد بالا و دستگیرهٔ لمسی */
@media(max-width:700px){
.modal-backdrop:not(.palette-backdrop){align-items:flex-end;padding:0;grid-template-columns:minmax(0,1fr)}
.crm-modal,.crm-modal.crm-modal-wide,.crm-modal.crm-modal-small,.crm-modal.crm-modal-xxwide{width:100%;max-width:100%;justify-self:stretch;align-self:stretch;max-height:92vh;max-height:92dvh;border-radius:24px 24px 0 0;border-bottom:0}
.crm-modal:not(.is-resized){animation:uiRise .3s var(--ease-soft)}
.crm-modal>.modal-header{border-radius:22px 22px 0 0;padding-top:18px}
.crm-modal.is-sheet>.modal-header::before{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:46px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--text) 16%,transparent)}
.crm-modal.is-sheet .modal-grip,.crm-modal.is-sheet .modal-resize-grip{display:none}
.crm-modal>.modal-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.modal-backdrop:not(.palette-backdrop) .modal-footer{flex-direction:column-reverse}
.modal-backdrop:not(.palette-backdrop) .modal-footer .button{width:100%}
}
@media print{.modal-grip,.modal-resize-grip{display:none!important}.crm-modal{box-shadow:none!important;animation:none!important}}

/* وضعیت‌های صریح ناحیهٔ تنظیمات: بارگذاری/خطا/خالی/بدون‌دسترسی — هرگز ناحیهٔ خالی بی‌پیام. */
.settings-load-banner{display:flex;align-items:flex-start;gap:11px;margin:0 31px 4px;padding:12px 14px;border-radius:12px;border:1px solid #e6e6ee;background:#f8f8fc}
.settings-load-banner[hidden]{display:none}
.settings-load-banner[data-state="error"]{border-color:#f3ccd2;background:#fff5f6}
.settings-load-banner[data-state="no-access"]{border-color:#f3e0c2;background:#fffaf1}
.settings-load-banner[data-state="loading"]{border-color:#e4ddff;background:#faf8ff}
.settings-load-text{flex:1;min-width:0}
.settings-load-text strong{display:block;font-size:0.78125rem;color:#42465b}
.settings-load-text p{margin:4px 0 0!important;font-size:0.71875rem;color:#9ca0b0;line-height:1.8}
.settings-load-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eeeaff;color:var(--primary);font-weight:700;flex:none}
.settings-load-banner[data-state="error"] .settings-load-icon{background:#ffebed;color:#d65f70}
.settings-state{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border-radius:11px;border:1px solid #e9eaf1;background:#fcfcfe;font-size:0.75rem;color:#6c7186}
.settings-state>span{font-size:0.9375rem;line-height:1.2}
.settings-state strong{display:block;font-size:0.78125rem;color:#4e5368;font-weight:600}
.settings-state .button{margin-top:8px}
.settings-state.is-error{border-color:#f3ccd2;background:#fff5f6}
.settings-state.is-no-access{border-color:#f3e0c2;background:#fffaf1}
.feature-manager-state{padding:15px;border-radius:11px;border:1px dashed #e0e1ea;background:#fcfcfe;font-size:0.75rem;color:#6c7186}
.feature-manager-state strong{display:block;font-size:0.78125rem;color:#4e5368;margin-bottom:5px}
.feature-manager-state.is-error{border-color:#f3ccd2;background:#fff5f6}
.feature-manager-state .button{margin-top:9px}
.dark-mode .settings-load-banner,.dark-mode .settings-state,.dark-mode .feature-manager-state{background:var(--surface-soft);border-color:var(--line)}

/* مدل سطح آموزش (مقدماتی/متوسط/پیشرفته) و نشان سنگ پایانی. */
.training-level-badge{display:inline-block;margin-right:7px;padding:3px 8px;border-radius:20px;background:#eeeaff;color:#7354da;font-size:var(--fs-2xs);font-weight:600;vertical-align:middle;white-space:nowrap}
.training-level-badge[data-training-level="basic"]{background:#e6f6ee;color:#269d79}
.training-level-badge[data-training-level="intermediate"]{background:#e7f1ff;color:#398bdf}
.training-level-badge[data-training-level="advanced"]{background:#f2ebff;color:var(--primary)}
.training-levels-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:14px 0 18px}
.training-levels-title{font-size:0.75rem;color:#8d93a7}
.training-level-legend{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:11px;padding:8px 11px;background:var(--surface-soft);font-size:0.75rem;color:#4e5368;max-width:320px}
.training-level-legend strong{font-size:0.75rem}
.training-level-legend small{font-size:var(--fs-2xs);color:#9ca0b0;line-height:1.7}
.training-chapter-levels{margin-top:6px}
.training-path-level{display:block;font-size:var(--fs-2xs);color:#9ca0b0;margin-top:2px}
.training-capstone-tag{display:inline-block;margin-right:7px;padding:3px 8px;border-radius:20px;background:#fff3d9;color:#b9791f;font-size:var(--fs-2xs);font-weight:600}
.training-chapter.is-capstone{border-color:#f0dcae;box-shadow:0 8px 22px rgba(185,121,31,.08)}
.dark-mode .training-level-legend{background:var(--surface-soft);border-color:var(--line)}

/* ===== crm-grid.js — پوستهٔ مشترک گریدهای فهرست (حالت نمایش، صفحه‌بندی، حالت‌های صریح) ===== */
.grid-view-switch{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.grid-view-button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:0.71875rem;padding:5px 10px;border-radius:9px;cursor:pointer;transition:background var(--ease-soft),color var(--ease-soft)}
.grid-view-button:hover{color:var(--text);background:var(--surface)}
.grid-view-button.is-active{background:var(--primary);color:#fff;font-weight:600}
.grid-view-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.grid-page-size{min-width:96px}
.pagination-total{color:var(--muted);font-size:0.71875rem;margin-inline-start:8px;white-space:nowrap}
.crm-table[aria-busy="true"]{opacity:.72}
.grid-error-row .error-state,.grid-loading-row .loading-row,.grid-empty-row .empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;text-align:center}
.grid-error-row .error-state strong{color:var(--danger)}
.grid-error-row [data-grid-retry]{cursor:pointer}
.crm-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;padding:4px}
.crm-grid-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-card,0 2px 10px rgba(15,23,42,.05))}
.crm-grid-card-field{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:0.78125rem}
.crm-grid-card-label{color:var(--muted);font-size:0.6875rem;white-space:nowrap}
.crm-grid-card-value{color:var(--text);text-align:start;overflow-wrap:anywhere}
.crm-grid-card-value strong{font-weight:700}
.crm-grid-card-actions{margin-top:auto;padding-top:8px;border-top:1px solid var(--line)}
[data-grid-view="card"]>table,[data-grid-view="card"] .crm-table{display:none}
[data-grid-view="compact"] .crm-table td,[data-grid-view="compact"] .crm-table th{padding-top:4px;padding-bottom:4px;font-size:0.75rem}
[data-grid-view="compact"] .crm-table .avatar{width:22px;height:22px;font-size:var(--fs-2xs)}
[data-grid-view="compact"] .crm-table [data-col="description"],[data-grid-view="compact"] .crm-table [data-col="website"]{display:none}
.dark-mode .crm-grid-card{background:var(--surface-soft);border-color:var(--line)}
/* =====================================================================
   کتابخانهٔ تم‌های سازمانی — ۱۲ تم روی یک منبع واحد توکن (CSS Custom Properties)
   ---------------------------------------------------------------------
   • هر شناسهٔ تم (همان شناسه‌ای که در js/theme-preferences.js ثبت می‌شود) یک بلوک
     «:root[data-theme="<id>"]» دارد با مجموعهٔ کامل توکن‌ها: پس‌زمینه، سطوح، متن،
     خطوط، رنگ‌های برند/وضعیت، حلقهٔ فوکوس، چهار رده سایه و پالت ۱۰رنگی نمودار.
   • نگهبان tests/ClientJs/theme-library.test.js تضمین می‌کند افزودن یک تم
     نیم‌بند نماند: هر شناسه باید در JS، CSS، Viewها و AllowedThemes سرور باشد.
   • توکن‌های مشتق (سایهٔ نام‌دار قدیمی، شیشه، نویز) یک‌بار تعریف می‌شوند و از
     توکن‌های همان تم محاسبه می‌شوند؛ پس تم تازه نیازی به تکرار آن‌ها ندارد.
   • تم‌های کلاسیک (light/dark/indigo/royal/emerald) هنر رنگی دست‌ساز خود را در
     بخش‌های بالای همین فایل دارند و فقط توکن‌هایشان از این‌جا می‌آید؛ تم‌های
     تازه (data-skin="token") عمق بصری خود را از لایهٔ توکن‌محور پایین می‌گیرند.
   ===================================================================== */

/* ═══ ۱) توکن‌های مشتق — یک‌بار، از توکن‌های تم جاری ═══ */
:root{
--shadow:var(--shadow-md);
--shadow-card:var(--shadow-sm);
--shadow-hover:var(--shadow-lg);
--modal-shadow:var(--shadow-xl);
--modal-shadow-active:var(--shadow-xl);
--purple-soft:var(--primary-soft);
--blue:var(--info);
--orange:var(--warn);
--green:var(--success);
--muted-text:var(--muted);
--link-soft:color-mix(in srgb,var(--link) 12%,var(--surface));
--radius:18px;
}

/* ═══ ۲) بلوک توکن هر تم — منبع واحد رنگ‌ها ═══ */
:root[data-theme="light"]{color-scheme:light;--bg:#f7f8fc;--bg-image:radial-gradient(1200px 620px at 92% -12%,rgba(95,67,217,.07),transparent 62%),radial-gradient(900px 520px at -8% 8%,rgba(47,99,207,.06),transparent 58%);--texture-opacity:.18;--surface:#ffffff;--surface-soft:#fbfbfe;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#202337;--muted:#6b7183;--text-muted:#6b7183;--line:#e8eaf3;--line-strong:#cdd2e2;--primary:#5f43d9;--primary-dark:#4a31b8;--primary-light:#8f6bff;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#ffffff;--secondary:#2f63cf;--secondary-contrast:#ffffff;--accent:#a2610a;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#16714f;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#8d5906;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#b8303f;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#2563b8;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#4b32bd;--focus-ring:0 0 0 3px color-mix(in srgb,#5f43d9 24%,transparent);--shadow-sm:0 12px 34px rgba(23,22,48,.07);--shadow-md:0 14px 42px rgba(37,35,73,.06);--shadow-lg:0 20px 48px rgba(23,22,48,.12);--shadow-xl:0 42px 110px rgba(20,19,45,.30);--sidebar:#171827;--sidebar-deep:#101019;--sidebar-text:#b9bbcd;--sidebar-active:#7c5cf6;--chart-1:#5f43d9;--chart-2:#2f63cf;--chart-3:#0f8f7f;--chart-4:#a2610a;--chart-5:#c33a4d;--chart-6:#8b5cf6;--chart-7:#0e7c9e;--chart-8:#5b6478;--chart-9:#5f8f14;--chart-10:#c2570f}
:root[data-theme="dark"]{color-scheme:dark;--bg:#10111c;--bg-image:radial-gradient(1100px 600px at 88% -14%,rgba(139,92,246,.18),transparent 60%),radial-gradient(800px 500px at 6% 108%,rgba(59,130,246,.12),transparent 58%);--texture-opacity:.16;--surface:#181a2b;--surface-soft:#1d1e30;--surface-elevated:#22243a;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:rgba(24,26,43,.84);--text:#f1f0fb;--muted:#a6abc4;--text-muted:#a6abc4;--line:#2b2c40;--line-strong:#3d4059;--primary:#a78bfa;--primary-dark:#8b6cf0;--primary-light:#c3b1ff;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#171326;--secondary:#7fb0ff;--secondary-contrast:#0d1424;--accent:#f0b45f;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#4ecfa0;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#f0b45f;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#f58a95;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#7ec4ff;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#b9a2ff;--focus-ring:0 0 0 3px color-mix(in srgb,#a78bfa 42%,transparent);--shadow-sm:0 12px 34px rgba(0,0,0,0.3);--shadow-md:0 14px 42px rgba(0,0,0,0.16);--shadow-lg:0 22px 52px rgba(0,0,0,0.42);--shadow-xl:0 42px 110px rgba(0,0,0,0.55);--sidebar:#171827;--sidebar-deep:#101019;--sidebar-text:#a9adc2;--sidebar-active:#a78bfa;--chart-1:#a78bfa;--chart-2:#7fb0ff;--chart-3:#4ecfa0;--chart-4:#f0b45f;--chart-5:#f58a95;--chart-6:#5eead4;--chart-7:#f0a3e0;--chart-8:#8f96b3;--chart-9:#a3d95f;--chart-10:#fb923c}
:root[data-theme="indigo"]{color-scheme:dark;--bg:#100f1e;--bg-image:radial-gradient(1000px 620px at 86% -16%,rgba(167,139,250,.24),transparent 58%),radial-gradient(760px 520px at 4% 104%,rgba(244,114,182,.14),transparent 60%);--texture-opacity:.16;--surface:#1a1830;--surface-soft:#1e1b38;--surface-elevated:#221e42;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,#100f1e);--text:#f4f0ff;--muted:#a79fd0;--text-muted:#a79fd0;--line:#2f2a55;--line-strong:#443c73;--primary:#b79bff;--primary-dark:#9a7bf5;--primary-light:#d4c4ff;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#150f2b;--secondary:#8fb6ff;--secondary-contrast:#0f1024;--accent:#ff9ecb;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#5fd6a8;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#f2bd6b;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#ff8f9e;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#8cc8ff;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#c9b4ff;--focus-ring:0 0 0 3px color-mix(in srgb,#b79bff 42%,transparent);--shadow-sm:0 12px 34px rgba(0,0,0,0.4);--shadow-md:0 14px 42px rgba(0,0,0,0.3);--shadow-lg:0 22px 52px rgba(0,0,0,0.5);--shadow-xl:0 42px 110px rgba(0,0,0,0.62);--sidebar:#0d0b1d;--sidebar-deep:#080713;--sidebar-text:#a79fc8;--sidebar-active:#b79bff;--chart-1:#b79bff;--chart-2:#8fb6ff;--chart-3:#e9a6ff;--chart-4:#f2bd6b;--chart-5:#ff8f9e;--chart-6:#5fd6a8;--chart-7:#7cd8ff;--chart-8:#9aa0c0;--chart-9:#a3d95f;--chart-10:#fb923c}
:root[data-theme="royal"]{color-scheme:light;--bg:#f2f6fb;--bg-image:radial-gradient(1100px 620px at 90% -12%,rgba(11,99,206,.10),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.6),rgba(232,240,250,.35));--texture-opacity:.18;--surface:#ffffff;--surface-soft:#f8fafd;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#1b2b45;--muted:#576d8a;--text-muted:#576d8a;--line:#dfe7f2;--line-strong:#bfcfe4;--primary:#0b63ce;--primary-dark:#094d9e;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#ffffff;--secondary:#0e7fa8;--secondary-contrast:#ffffff;--accent:#c1001a;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#12734f;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#96590a;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#b91c2c;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#0b5fbf;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#0b5fd0;--focus-ring:0 0 0 3px color-mix(in srgb,#0b63ce 24%,transparent);--shadow-sm:0 12px 34px rgba(13,36,71,.08);--shadow-md:0 14px 42px rgba(13,36,71,.07);--shadow-lg:0 20px 48px rgba(13,36,71,.14);--shadow-xl:0 42px 110px rgba(13,36,71,.28);--sidebar:#0d2447;--sidebar-deep:#08182f;--sidebar-text:#a8bcd8;--sidebar-active:#2b7fe0;--chart-1:#0b63ce;--chart-2:#0e8fd0;--chart-3:#12a8a6;--chart-4:#f0a13a;--chart-5:#e0536b;--chart-6:#7c5cf0;--chart-7:#0f7d5e;--chart-8:#64748b;--chart-9:#84cc16;--chart-10:#f97316}
:root[data-theme="emerald"]{color-scheme:light;--bg:#f3f8f4;--bg-image:radial-gradient(1100px 620px at 88% -12%,rgba(18,128,92,.10),transparent 60%),radial-gradient(800px 480px at 4% 106%,rgba(140,174,30,.08),transparent 58%);--texture-opacity:.18;--surface:#ffffff;--surface-soft:#f8fbf9;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#16301f;--muted:#4f6d5b;--text-muted:#4f6d5b;--line:#dfece4;--line-strong:#bed7c9;--primary:#0f7354;--primary-dark:#0b5a42;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#ffffff;--secondary:#5f7a0f;--secondary-contrast:#ffffff;--accent:#a06a08;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#0f7354;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#8f5c05;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#b02a37;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#1a6a95;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#0d6b4f;--focus-ring:0 0 0 3px color-mix(in srgb,#0f7354 24%,transparent);--shadow-sm:0 12px 34px rgba(13,43,28,.08);--shadow-md:0 14px 42px rgba(13,43,28,.07);--shadow-lg:0 20px 48px rgba(13,43,28,.14);--shadow-xl:0 42px 110px rgba(13,43,28,.28);--sidebar:#0d2b1c;--sidebar-deep:#081c12;--sidebar-text:#a9c7b6;--sidebar-active:#16a06b;--chart-1:#0f7354;--chart-2:#16a06b;--chart-3:#8cae1e;--chart-4:#0e8fd0;--chart-5:#b02a37;--chart-6:#7c5cf0;--chart-7:#0f7d5e;--chart-8:#5b6478;--chart-9:#c98a12;--chart-10:#c2570f}
:root[data-theme="graphite"]{color-scheme:dark;--bg:#141517;--bg-image:linear-gradient(180deg,rgba(255,255,255,.025),transparent 38%),repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 82px);--texture-opacity:.12;--surface:#1c1e21;--surface-soft:#212327;--surface-elevated:#27292e;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,#141517);--text:#eceef0;--muted:#a4a9b0;--text-muted:#a4a9b0;--line:#2f3237;--line-strong:#43474d;--primary:#d6dae0;--primary-dark:#b0b6bf;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#15171a;--secondary:#9aa3ad;--secondary-contrast:#15171a;--accent:#8fb8d8;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#6fd6a4;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#e6c069;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#f1939b;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#9cc7f0;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#c9d2dc;--focus-ring:0 0 0 3px color-mix(in srgb,#d6dae0 42%,transparent);--shadow-sm:0 12px 34px rgba(0,0,0,0.4);--shadow-md:0 14px 42px rgba(0,0,0,0.3);--shadow-lg:0 22px 52px rgba(0,0,0,0.5);--shadow-xl:0 42px 110px rgba(0,0,0,0.62);--sidebar:#0f1012;--sidebar-deep:#0a0b0c;--sidebar-text:#a0a5ac;--sidebar-active:#e2e6ea;--chart-1:#d6dae0;--chart-2:#9aa3ad;--chart-3:#7f99b0;--chart-4:#b9c4cf;--chart-5:#8c949d;--chart-6:#c3cb6a;--chart-7:#6fb3a4;--chart-8:#e0a878;--chart-9:#a89ad6;--chart-10:#7f8b99}
:root[data-theme="amber"]{color-scheme:light;--bg:#fbf6ec;--bg-image:radial-gradient(1000px 600px at 88% -14%,rgba(201,138,42,.14),transparent 62%),linear-gradient(160deg,rgba(255,253,248,.7),rgba(244,232,208,.5));--texture-opacity:.18;--surface:#fffdf8;--surface-soft:#f9f3e7;--surface-elevated:#fffdf8;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#3a2d16;--muted:#7a6644;--text-muted:#7a6644;--line:#ecdfc8;--line-strong:#d8c4a0;--primary:#9a5b06;--primary-dark:#7c4803;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#fffaf0;--secondary:#8a6a1f;--secondary-contrast:#fffaf0;--accent:#b3541e;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#4f6b16;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#8f5c05;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#a8321f;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#2f6288;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#8a4a08;--focus-ring:0 0 0 3px color-mix(in srgb,#9a5b06 24%,transparent);--shadow-sm:0 12px 34px rgba(58,45,22,.08);--shadow-md:0 14px 42px rgba(58,45,22,.07);--shadow-lg:0 20px 48px rgba(58,45,22,.14);--shadow-xl:0 42px 110px rgba(58,45,22,.28);--sidebar:#2b2011;--sidebar-deep:#20170b;--sidebar-text:#cfbc9a;--sidebar-active:#c98a2a;--chart-1:#9a5b06;--chart-2:#c98a2a;--chart-3:#6b7f2a;--chart-4:#2f6288;--chart-5:#a8321f;--chart-6:#7c4a9a;--chart-7:#0f6f6a;--chart-8:#7a6644;--chart-9:#b3541e;--chart-10:#c2570f}
:root[data-theme="teal"]{color-scheme:light;--bg:#f1fafb;--bg-image:radial-gradient(1000px 600px at 90% -14%,rgba(18,160,176,.12),transparent 60%),radial-gradient(760px 480px at 2% 104%,rgba(13,127,149,.08),transparent 58%);--texture-opacity:.18;--surface:#ffffff;--surface-soft:#f6fcfd;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#12313a;--muted:#4d7180;--text-muted:#4d7180;--line:#d9ecf0;--line-strong:#b3d8e0;--primary:#0b6d78;--primary-dark:#075059;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#ffffff;--secondary:#0d7f95;--secondary-contrast:#ffffff;--accent:#9a6a08;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#0f7354;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#8f6005;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#b32e33;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#146c8f;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#0a6a80;--focus-ring:0 0 0 3px color-mix(in srgb,#0b6d78 24%,transparent);--shadow-sm:0 12px 34px rgba(11,41,48,.08);--shadow-md:0 14px 42px rgba(11,41,48,.07);--shadow-lg:0 20px 48px rgba(11,41,48,.14);--shadow-xl:0 42px 110px rgba(11,41,48,.28);--sidebar:#0b2930;--sidebar-deep:#071c21;--sidebar-text:#a7cbd3;--sidebar-active:#12a0b0;--chart-1:#0b6d78;--chart-2:#12a0b0;--chart-3:#0f8f7f;--chart-4:#2f63cf;--chart-5:#b32e33;--chart-6:#7c5cf0;--chart-7:#8cae1e;--chart-8:#5b6478;--chart-9:#c98a12;--chart-10:#c2570f}
:root[data-theme="crimson"]{color-scheme:light;--bg:#fbf4f4;--bg-image:radial-gradient(1000px 620px at 86% -14%,rgba(157,26,47,.12),transparent 60%),linear-gradient(165deg,rgba(255,255,255,.75),rgba(240,220,223,.4));--texture-opacity:.18;--surface:#ffffff;--surface-soft:#faf6f6;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,transparent);--text:#331619;--muted:#7a5559;--text-muted:#7a5559;--line:#f0dcdf;--line-strong:#dcbcc1;--primary:#9d1a2f;--primary-dark:#7d1325;--primary-soft:color-mix(in srgb,var(--primary) 12%,var(--surface));--primary-contrast:#fff8f8;--secondary:#8a4a1f;--secondary-contrast:#fff8f8;--accent:#8a6a1f;--accent-soft:color-mix(in srgb,var(--accent) 13%,var(--surface));--success:#2f6b3f;--success-soft:color-mix(in srgb,var(--success) 12%,var(--surface));--warn:#8f5c05;--warn-soft:color-mix(in srgb,var(--warn) 12%,var(--surface));--danger:#b01e2f;--danger-soft:color-mix(in srgb,var(--danger) 12%,var(--surface));--info:#2f5f88;--info-soft:color-mix(in srgb,var(--info) 12%,var(--surface));--link:#8e1630;--focus-ring:0 0 0 3px color-mix(in srgb,#9d1a2f 24%,transparent);--shadow-sm:0 12px 34px rgba(51,22,25,.08);--shadow-md:0 14px 42px rgba(51,22,25,.07);--shadow-lg:0 20px 48px rgba(51,22,25,.14);--shadow-xl:0 42px 110px rgba(51,22,25,.28);--sidebar:#2c1216;--sidebar-deep:#1f0c0f;--sidebar-text:#d3b3b8;--sidebar-active:#c53049;--chart-1:#9d1a2f;--chart-2:#c2415a;--chart-3:#8a6a1f;--chart-4:#2f5f88;--chart-5:#2f6b3f;--chart-6:#7c4a9a;--chart-7:#0f6f6a;--chart-8:#6b5f60;--chart-9:#b3541e;--chart-10:#c2570f}
:root[data-theme="nordic"]{color-scheme:dark;--bg:#0f1620;--bg-image:radial-gradient(1100px 640px at 84% -16%,rgba(74,124,166,.22),transparent 60%),linear-gradient(200deg,rgba(13,20,28,.9),rgba(20,30,42,.6));--texture-opacity:.12;--surface:#18212c;--surface-soft:#1d2733;--surface-elevated:#232e3c;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,#0f1620);--text:#e8eef4;--muted:#9dafc0;--text-muted:#9dafc0;--line:#2b3847;--line-strong:#3d4d5f;--primary:#8ab4d8;--primary-dark:#6b97bd;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#0e1620;--secondary:#7fc0c4;--secondary-contrast:#0e1620;--accent:#d8a86a;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#6cc9a4;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#dfb877;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#e58c94;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#8ec6f0;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#a8cbe8;--focus-ring:0 0 0 3px color-mix(in srgb,#8ab4d8 42%,transparent);--shadow-sm:0 12px 34px rgba(6,14,22,0.4);--shadow-md:0 14px 42px rgba(6,14,22,0.3);--shadow-lg:0 22px 52px rgba(6,14,22,0.5);--shadow-xl:0 42px 110px rgba(6,14,22,0.62);--sidebar:#0b1119;--sidebar-deep:#080c12;--sidebar-text:#9aacbc;--sidebar-active:#8ab4d8;--chart-1:#8ab4d8;--chart-2:#7fc0c4;--chart-3:#6cc9a4;--chart-4:#d8a86a;--chart-5:#e58c94;--chart-6:#a89ad6;--chart-7:#7fb0ff;--chart-8:#8d9aa8;--chart-9:#b8c46a;--chart-10:#d99a6c}
:root[data-theme="orchid"]{color-scheme:dark;--bg:#150d18;--bg-image:radial-gradient(1000px 620px at 88% -18%,rgba(233,163,216,.26),transparent 58%),radial-gradient(760px 540px at 2% 106%,rgba(183,155,255,.20),transparent 60%);--texture-opacity:.16;--surface:#221428;--surface-soft:#291a30;--surface-elevated:#31203a;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,#150d18);--text:#f6ecf6;--muted:#c0a3c4;--text-muted:#c0a3c4;--line:#3b2743;--line-strong:#553761;--primary:#e9a3d8;--primary-dark:#cf83c0;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#21102a;--secondary:#b79bff;--secondary-contrast:#1b1128;--accent:#f2c46b;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#68d0a6;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#f0c46b;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#f78d9c;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#a9c8ff;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#f0b3e2;--focus-ring:0 0 0 3px color-mix(in srgb,#e9a3d8 42%,transparent);--shadow-sm:0 12px 34px rgba(16,6,20,0.4);--shadow-md:0 14px 42px rgba(16,6,20,0.3);--shadow-lg:0 22px 52px rgba(16,6,20,0.5);--shadow-xl:0 42px 110px rgba(16,6,20,0.62);--sidebar:#100813;--sidebar-deep:#0b050d;--sidebar-text:#c3a8c7;--sidebar-active:#e9a3d8;--chart-1:#e9a3d8;--chart-2:#b79bff;--chart-3:#f2c46b;--chart-4:#68d0a6;--chart-5:#f78d9c;--chart-6:#8fd8e8;--chart-7:#c9a3ff;--chart-8:#b9a6bd;--chart-9:#e8d26a;--chart-10:#f0a868}
:root[data-theme="hc"]{color-scheme:dark;--bg:#000000;--bg-image:none;--texture-opacity:0;--surface:#0a0a0a;--surface-soft:#121212;--surface-elevated:#181818;--surface-muted:color-mix(in srgb,var(--surface-soft) 62%,var(--line));--surface-glass:color-mix(in srgb,var(--surface) 86%,#000000);--text:#ffffff;--muted:#d8d8d8;--text-muted:#d8d8d8;--line:#5a5a5a;--line-strong:#8f8f8f;--primary:#ffe14d;--primary-dark:#f5cf00;--primary-soft:color-mix(in srgb,var(--primary) 18%,var(--surface));--primary-contrast:#000000;--secondary:#7fe0ff;--secondary-contrast:#000000;--accent:#ff9ecd;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--success:#5cff9d;--success-soft:color-mix(in srgb,var(--success) 16%,var(--surface));--warn:#ffe14d;--warn-soft:color-mix(in srgb,var(--warn) 16%,var(--surface));--danger:#ff8a8a;--danger-soft:color-mix(in srgb,var(--danger) 16%,var(--surface));--info:#8ecdff;--info-soft:color-mix(in srgb,var(--info) 16%,var(--surface));--link:#8fd4ff;--focus-ring:0 0 0 3px color-mix(in srgb,#ffe14d 100%,transparent);--shadow-sm:0 12px 34px rgba(0,0,0,0.4);--shadow-md:0 14px 42px rgba(0,0,0,0.3);--shadow-lg:0 22px 52px rgba(0,0,0,0.5);--shadow-xl:0 42px 110px rgba(0,0,0,0.62);--sidebar:#000000;--sidebar-deep:#000000;--sidebar-text:#f0f0f0;--sidebar-active:#ffe14d;--chart-1:#ffe14d;--chart-2:#7fe0ff;--chart-3:#5cff9d;--chart-4:#ff9ecd;--chart-5:#ff8a8a;--chart-6:#c7a2ff;--chart-7:#ffc46b;--chart-8:#bfbfbf;--chart-9:#a8e05f;--chart-10:#ff7a45}

/* ── هویت رسمی راهکاران: سرمه‌ای/آبی سازمانی + نوار قرمز برند ── */
:root[data-theme="rahkaran"]{color-scheme:light;--bg:#eef2f8;--bg-image:radial-gradient(1100px 620px at 90% -12%,rgba(11,74,151,.10),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.72),rgba(238,242,248,.35));--texture-opacity:.12;--surface:#ffffff;--surface-soft:#f6f8fc;--surface-elevated:#ffffff;--surface-muted:color-mix(in srgb,#ffffff 88%,#0b3a75);--surface-glass:color-mix(in srgb,#ffffff 84%,transparent);--text:#0f1c2e;--muted:#56678a;--text-muted:color-mix(in srgb,#56678a 78%,#ffffff);--line:#d7e0ee;--line-strong:#b9c7dd;--primary:#0b4a97;--primary-dark:#08356d;--primary-soft:color-mix(in srgb,#0b4a97 12%,#ffffff);--primary-contrast:#ffffff;--secondary:#c8102e;--secondary-contrast:#ffffff;--accent:#c8102e;--accent-soft:color-mix(in srgb,#c8102e 14%,#ffffff);--success:#0e7a52;--success-soft:color-mix(in srgb,#0e7a52 14%,#ffffff);--warn:#9a6106;--warn-soft:color-mix(in srgb,#9a6106 15%,#ffffff);--danger:#b01230;--danger-soft:color-mix(in srgb,#b01230 14%,#ffffff);--info:#0f6fc4;--info-soft:color-mix(in srgb,#0f6fc4 14%,#ffffff);--link:#0b4a97;--focus-ring:0 0 0 3px color-mix(in srgb,#0b4a97 30%,transparent);--shadow-sm:0 1px 2px rgba(15,28,46,.06),0 1px 3px rgba(15,28,46,.05);--shadow-md:0 4px 14px rgba(15,28,46,.08),0 2px 6px rgba(15,28,46,.05);--shadow-lg:0 14px 34px rgba(15,28,46,.12),0 6px 14px rgba(15,28,46,.07);--shadow-xl:0 28px 64px rgba(15,28,46,.18),0 10px 24px rgba(15,28,46,.10);--sidebar:#0b3a75;--sidebar-deep:#072a58;--sidebar-text:#e7eefa;--sidebar-active:#ffffff;--chart-1:#0b4a97;--chart-2:#0f6fc4;--chart-3:#128c8a;--chart-4:#b8860b;--chart-5:#c8102e;--chart-6:#5b4bb8;--chart-7:#0e7a52;--chart-8:#64748b;--chart-9:#7aa116;--chart-10:#c2570f}
:root[data-theme="rahkaran-dark"]{color-scheme:dark;--bg:#0a1420;--bg-image:radial-gradient(1100px 640px at 86% -16%,rgba(90,162,240,.18),transparent 60%),radial-gradient(760px 520px at 4% 106%,rgba(200,16,46,.10),transparent 62%);--texture-opacity:.14;--surface:#0f1c2b;--surface-soft:#132436;--surface-elevated:#172a3e;--surface-muted:color-mix(in srgb,#0a1420 72%,#8fb4dc);--surface-glass:color-mix(in srgb,#0f1c2b 78%,transparent);--text:#e8eef6;--muted:#9db0c6;--text-muted:color-mix(in srgb,#9db0c6 74%,#0a1420);--line:#22384f;--line-strong:#31506e;--primary:#5aa2f0;--primary-dark:#3d84d0;--primary-soft:color-mix(in srgb,#5aa2f0 20%,#0f1c2b);--primary-contrast:#04101f;--secondary:#ff6b7f;--secondary-contrast:#1a0308;--accent:#ff6b7f;--accent-soft:color-mix(in srgb,#ff6b7f 18%,#0f1c2b);--success:#57c99a;--success-soft:color-mix(in srgb,#57c99a 18%,#0f1c2b);--warn:#e9b45f;--warn-soft:color-mix(in srgb,#e9b45f 18%,#0f1c2b);--danger:#ff7a8c;--danger-soft:color-mix(in srgb,#ff7a8c 18%,#0f1c2b);--info:#4fc3d9;--info-soft:color-mix(in srgb,#4fc3d9 18%,#0f1c2b);--link:#7fbcf5;--focus-ring:0 0 0 3px color-mix(in srgb,#5aa2f0 38%,transparent);--shadow-sm:0 1px 2px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.28);--shadow-md:0 6px 18px rgba(0,0,0,.42),0 2px 8px rgba(0,0,0,.30);--shadow-lg:0 16px 38px rgba(0,0,0,.50),0 6px 16px rgba(0,0,0,.34);--shadow-xl:0 30px 70px rgba(0,0,0,.60),0 12px 28px rgba(0,0,0,.40);--sidebar:#071120;--sidebar-deep:#040c16;--sidebar-text:#dbe6f3;--sidebar-active:#8fc4f7;--chart-1:#5aa2f0;--chart-2:#4fc3d9;--chart-3:#57c99a;--chart-4:#e9b45f;--chart-5:#ff6b7f;--chart-6:#a48bf0;--chart-7:#4fd1b5;--chart-8:#8d9aa8;--chart-9:#b8d45f;--chart-10:#f2905f}

/* ═══ ۳) اعمال سطحی توکن‌ها روی همهٔ ۱۴ تم ═══ */
/* بافت پس‌زمینه و نویز تم‌محور: هر تم گرادیان/بافت خودش را می‌آورد */
body{background-image:var(--bg-image,none);background-repeat:no-repeat}
.app-noise{background-image:radial-gradient(color-mix(in srgb,var(--text) 26%,transparent) .7px,transparent .7px);opacity:var(--texture-opacity,.18)}
html{scrollbar-color:color-mix(in srgb,var(--primary) 38%,var(--line)) var(--surface-soft);scrollbar-width:thin}
::selection{background:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--text)}
a:not([class]){color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 42%,transparent)}
:focus-visible{outline-color:color-mix(in srgb,var(--primary) 66%,var(--text))}
/* گذار نرم در لحظهٔ تعویض تم؛ فقط در همان بازهٔ ۳۵۰ms و با احترام به کاهش حرکت */
@media(prefers-reduced-motion:no-preference){body.theme-switching,body.theme-switching .topbar,body.theme-switching .sidebar,body.theme-switching .panel,body.theme-switching .metric-card,body.theme-switching .crm-modal,body.theme-switching .report-card{transition:background-color .3s var(--ease-soft),color .3s var(--ease-soft),border-color .3s var(--ease-soft)}}
@media(prefers-reduced-motion:reduce){body.theme-switching,body.theme-switching *{transition:none!important;animation:none!important}}

/* ═══ ۴) عمق بصری توکن‌محور — تم‌های ساخته‌شده روی موتور توکن (data-skin="token") ═══ */
/* ستون ناوبری، آرایهٔ برند و نشان‌ها */
:root[data-skin="token"] .sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-deep));box-shadow:var(--shadow-md)}
:root[data-skin="token"] .workspace-switcher:hover{background:color-mix(in srgb,var(--primary) 22%,transparent)}
:root[data-skin="token"] .nav-item:hover{background:color-mix(in srgb,var(--primary) 20%,transparent)}
:root[data-skin="token"] .nav-item.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--sidebar-active) 42%,transparent),color-mix(in srgb,var(--sidebar-active) 12%,transparent));box-shadow:inset 3px 0 var(--sidebar-active)}
:root[data-skin="token"] .nav-badge{background:var(--primary);color:var(--primary-contrast)}
:root[data-skin="token"] .brand-mark,:root[data-skin="token"] .workspace-avatar{background:linear-gradient(135deg,var(--primary),var(--primary-dark))}
:root[data-skin="token"] .workspace-avatar{color:var(--primary-contrast)}
:root[data-skin="token"] .upgrade-card{background:linear-gradient(145deg,var(--sidebar),var(--sidebar-deep));border-color:color-mix(in srgb,var(--primary) 26%,transparent)}
:root[data-skin="token"] .upgrade-icon,:root[data-skin="token"] .text-button{color:var(--sidebar-active)}
:root[data-skin="token"] .upgrade-glow{background:var(--primary)}
:root[data-skin="token"] .topbar{background:var(--surface-glass);border-bottom-color:var(--line)}
/* دکمه‌ها و کنترل‌ها */
:root[data-skin="token"] .button-primary,.theme-royal .button-primary{color:var(--primary-contrast)}
:root[data-skin="token"] .button-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:var(--shadow-sm)}
:root[data-skin="token"] .button-primary:hover{box-shadow:var(--shadow-md)}
:root[data-skin="token"] .button-ghost:hover,:root[data-skin="token"] .filter-button:hover,:root[data-skin="token"] .panel-link:hover{color:var(--primary)}
:root[data-skin="token"] .pagination button.is-current,:root[data-skin="token"] button.is-current,:root[data-skin="token"] .grid-view-button.is-active,:root[data-skin="token"] .enterprise-grid-view-button.is-active,:root[data-skin="token"] .funnel-compare-toggle.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}
:root[data-skin="token"] .form-grid input:focus,:root[data-skin="token"] .form-grid select:focus,:root[data-skin="token"] .generic-form input:focus,:root[data-skin="token"] .generic-form select:focus,:root[data-skin="token"] .settings-section input:focus,:root[data-skin="token"] .settings-section select:focus,:root[data-skin="token"] .crm-modal textarea:focus,:root[data-skin="token"] .search-field:focus-within{border-color:var(--primary);box-shadow:var(--focus-ring)}
:root[data-skin="token"] .command-search,:root[data-skin="token"] .search-field{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}
/* سطوح، عمق و شیشه */
:root[data-skin="token"] .panel,:root[data-skin="token"] .report-card,:root[data-skin="token"] .summary-mini{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}
:root[data-skin="token"] .metric-card{box-shadow:var(--shadow-sm)}
:root[data-skin="token"] .crm-modal,:root[data-skin="token"] .notif-panel,:root[data-skin="token"] .dock-panel-picker-menu{background:var(--surface-elevated);border-color:var(--line);box-shadow:var(--shadow-xl)}
:root[data-skin="token"] .report-main{background:linear-gradient(135deg,var(--primary-soft),var(--surface))}
:root[data-skin="token"] .report-insight{background:linear-gradient(110deg,var(--surface),var(--primary-soft))}
:root[data-skin="token"] .metric-purple{background:linear-gradient(145deg,var(--primary-soft),var(--surface));border-color:color-mix(in srgb,var(--primary) 18%,var(--line))}
:root[data-skin="token"] .metric-purple .metric-icon{color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--surface))}
:root[data-skin="token"] .metric-purple .metric-label{color:var(--muted)}
:root[data-skin="token"] .sparkline-purple{color:color-mix(in srgb,var(--primary) 72%,var(--surface))}
:root[data-skin="token"] .heat-cell{background:var(--surface-soft);border-color:var(--line)}
:root[data-skin="token"] .heat-cell b{color:var(--text)}
:root[data-skin="token"] .crm-table th{background:var(--surface-soft);color:var(--muted);border-color:var(--line)}
:root[data-skin="token"] .crm-table tbody tr:hover{background:var(--primary-soft)}
/* تأکیدهای برند (همان فهرستی که تم‌های کلاسیک دست‌ساز پوشش می‌دهند) */
:root[data-skin="token"] .status-dot{background:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}
:root[data-skin="token"] .eyebrow{color:var(--muted)}
:root[data-skin="token"] .modal-kicker,:root[data-skin="token"] .insight-kicker,:root[data-skin="token"] .panel-link,:root[data-skin="token"] .link-action:hover{color:var(--primary)}
:root[data-skin="token"] .chart-line,:root[data-skin="token"] .chart-point{stroke:var(--primary)}
:root[data-skin="token"] .chart-area{fill:var(--accent-soft)}
:root[data-skin="token"] .insight-chart span{background:color-mix(in srgb,var(--primary) 44%,var(--surface))}
:root[data-skin="token"] .insight-chart span:nth-last-child(-n+2){background:var(--primary)}
:root[data-skin="token"] .progress{background:var(--surface-muted)}
:root[data-skin="token"] .progress i{background:var(--primary)}
:root[data-skin="token"] .progress-blue{background:var(--info-soft)}
:root[data-skin="token"] .control-funnel-bar{background:var(--surface-muted)}
:root[data-skin="token"] .control-funnel-bar i{background:var(--primary)}
:root[data-skin="token"] .probability i:after{background:var(--primary)}
:root[data-skin="token"] .health-score{color:var(--primary)}
:root[data-skin="token"] .health-meter i{background:linear-gradient(90deg,var(--warn),var(--success))}
:root[data-skin="token"] .avatar-violet,:root[data-skin="token"] .lead-violet{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 55%,var(--surface)),var(--primary))}
:root[data-skin="token"] .report-card-icon{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .history-dot{background:var(--primary)}
:root[data-skin="token"] .settings-tab{color:var(--muted)}
:root[data-skin="token"] .settings-tab:hover,:root[data-skin="token"] .settings-tab.is-active{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .toast-icon{background:var(--success);color:var(--surface)}
:root[data-skin="token"] .notif-foot{background:var(--primary-soft);color:var(--primary);border-top-color:var(--line)}
:root[data-skin="token"] .notif-read{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .notif-icon.info{color:var(--info);background:var(--info-soft)}
:root[data-skin="token"] .lead-action-convert{background:var(--primary);color:var(--primary-contrast)}
:root[data-skin="token"] .lead-action-convert:hover{background:var(--primary-dark)}
/* تقویم، انتخابگر تاریخ شمسی، چیپ‌ها و برچسب‌ها */
:root[data-skin="token"] .calendar-grid .today{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-sm)}
:root[data-skin="token"] .calendar-grid i:not(.muted-day):hover{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--primary)}
:root[data-skin="token"] .cal-dot{background:var(--accent)}
:root[data-skin="token"] .cal-selected{border-color:var(--primary)!important;background:var(--primary-soft)!important}
:root[data-skin="token"] .jdate-popup .jp-sel{background:var(--primary);color:var(--primary-contrast)}
:root[data-skin="token"] .jdate-popup .jp-today{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .jdate-popup .jp-grid .jp-day:hover{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .jdate-popup .jp-nav{color:var(--primary)}
:root[data-skin="token"] .status-purple,:root[data-skin="token"] .tag-purple,:root[data-skin="token"] .marker-purple,:root[data-skin="token"] .account-chip,:root[data-skin="token"] .date-chip{color:var(--primary);background:var(--primary-soft)}
:root[data-skin="token"] .dot-purple,:root[data-skin="token"] .legend-purple{background:var(--primary)}
:root[data-skin="token"] .tag-green{color:var(--success);background:var(--success-soft)}
:root[data-skin="token"] .tag-red{color:var(--danger);background:var(--danger-soft)}
:root[data-skin="token"] .tag-orange{color:var(--warn);background:var(--warn-soft)}
:root[data-skin="token"] .tag-blue{color:var(--info);background:var(--info-soft)}
:root[data-skin="token"] .theme-option{background:var(--surface);border-color:var(--line)}
:root[data-skin="token"] .theme-option.is-selected{border-color:var(--primary);box-shadow:var(--focus-ring)}

/* ═══ ۵) انتخابگر تم: کاشی‌های داشبورد و سواچ‌های صفحات عمومی (۱۲ تم) ═══ */
.theme-options{flex-wrap:wrap;gap:10px}
.theme-option{min-width:104px}
.theme-option:focus-visible{outline:2.5px solid color-mix(in srgb,var(--primary) 70%,var(--text));outline-offset:2px}
.theme-option[aria-pressed="true"]{border-color:var(--primary);box-shadow:var(--focus-ring)}
.theme-option .theme-option-name{font-size:0.71875rem}
.theme-option .theme-option-desc{font-size:var(--fs-2xs);color:var(--muted);line-height:1.6}
.public-theme-picker{flex-wrap:wrap;row-gap:3px;max-width:min(430px,calc(100vw - 20px));justify-content:flex-start}
.public-theme-picker-portal{max-width:none}
.public-theme-picker button:focus-visible{outline:2.5px solid rgba(255,255,255,.85);outline-offset:2px}

/* ═══ ۶) صفحات عمومی (ورود/پورتال) برای تم‌های موتور توکن ═══ */
/* تم‌های کلاسیک، بلوک‌های دست‌ساز خود را در بالای فایل دارند و دست‌نخورده می‌مانند. */
:root[data-skin="token"] .login-page{background:var(--bg-image),var(--bg);color:var(--text)}
:root[data-skin="token"] .login-aside{color:var(--text)}
:root[data-skin="token"] .login-aside .eyebrow{color:var(--primary)}
:root[data-skin="token"] .login-aside .lead,:root[data-skin="token"] .login-aside .feature{color:var(--muted)}
:root[data-skin="token"] .login-aside .feature b{color:var(--text)}
:root[data-skin="token"] .login-form-wrap{background:color-mix(in srgb,var(--surface) 55%,transparent);border-color:var(--line)}
:root[data-skin="token"] .login-card{background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--line);box-shadow:var(--shadow-xl);backdrop-filter:blur(18px)}
:root[data-skin="token"] .login-card h2{color:var(--text)}
:root[data-skin="token"] .login-card .sub,:root[data-skin="token"] .login-note,:root[data-skin="token"] .remember-me{color:var(--muted)}
:root[data-skin="token"] .brand-mark,:root[data-skin="token"] .demo-avatar{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--primary-contrast)}
:root[data-skin="token"] .demo-role{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .demo-role:hover{background:var(--primary-soft);border-color:var(--primary)}
:root[data-skin="token"] .demo-role span small,:root[data-skin="token"] .demo-role .tag{color:var(--muted)}
:root[data-skin="token"] .demo-role input{accent-color:var(--primary)}
:root[data-skin="token"] .auth-field label{color:var(--muted)}
:root[data-skin="token"] .auth-field input{background:var(--surface);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .auth-field input:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}
:root[data-skin="token"] .login-btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--primary-contrast);box-shadow:var(--shadow-md)}
:root[data-skin="token"] .public-theme-picker{background:color-mix(in srgb,var(--surface) 82%,transparent);border-color:var(--line);box-shadow:var(--shadow-md)}
:root[data-skin="token"] .public-theme-picker>span{color:var(--muted)}
:root[data-skin="token"] .public-theme-picker button{color:var(--muted)}
:root[data-skin="token"] .public-theme-picker button:hover{background:var(--primary-soft);color:var(--text)}
:root[data-skin="token"] .public-theme-picker button.is-selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);box-shadow:var(--focus-ring)}
:root[data-skin="token"] .portal{background:var(--bg-image),var(--bg);color:var(--text)}
:root[data-skin="token"] .portal-head{background:var(--surface-glass);border-color:var(--line)}
:root[data-skin="token"] .portal .brand{color:var(--text)}
:root[data-skin="token"] .portal .card,:root[data-skin="token"] .portal .pk{background:color-mix(in srgb,var(--surface) 90%,transparent);border-color:var(--line);box-shadow:var(--shadow-md)}
:root[data-skin="token"] .portal .card-head p,:root[data-skin="token"] .portal .ticket-meta,:root[data-skin="token"] .portal .detail-desc,:root[data-skin="token"] .portal .portal-user small{color:var(--muted)}
:root[data-skin="token"] .portal .btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--primary-contrast)}
:root[data-skin="token"] .portal .btn-ghost{background:var(--surface);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .portal .tab{color:var(--muted);border-color:var(--line)}
:root[data-skin="token"] .portal .tab.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
:root[data-skin="token"] .portal .ticket-item:hover,:root[data-skin="token"] .portal .ticket-item.is-active{background:var(--primary-soft)}
:root[data-skin="token"] .portal .msg-bubble{background:var(--surface-soft);border-color:var(--line)}
:root[data-skin="token"] .portal .modal-card{background:var(--surface-elevated);color:var(--text)}
:root[data-skin="token"] .portal .modal-card input,:root[data-skin="token"] .portal .modal-card select,:root[data-skin="token"] .portal .modal-card textarea{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .portal .rt-live{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:var(--primary-soft)}

/* ═══ ۷) سواچ/پیش‌نمای هر تم (کاشی تنظیمات ظاهر و انتخابگر صفحات عمومی) ═══ */
.theme-preview-light{background:linear-gradient(135deg,#ffffff 0 42%,#5f43d9 42% 78%,#a2610a 78% 100%)}
.theme-preview-dark{background:linear-gradient(135deg,#181a2b 0 42%,var(--primary-light) 42% 78%,#f0b45f 78% 100%)}
.theme-preview-indigo{background:linear-gradient(135deg,#1a1830 0 42%,#b79bff 42% 78%,#ff9ecb 78% 100%)}
.theme-preview-royal{background:linear-gradient(135deg,#ffffff 0 42%,#0b63ce 42% 78%,#c1001a 78% 100%)}
.theme-preview-emerald{background:linear-gradient(135deg,#ffffff 0 42%,#0f7354 42% 78%,#a06a08 78% 100%)}
.theme-preview-graphite{background:linear-gradient(135deg,#1c1e21 0 42%,#d6dae0 42% 78%,#8fb8d8 78% 100%)}
.theme-preview-amber{background:linear-gradient(135deg,#fffdf8 0 42%,#9a5b06 42% 78%,#b3541e 78% 100%)}
.theme-preview-teal{background:linear-gradient(135deg,#ffffff 0 42%,#0b6d78 42% 78%,#9a6a08 78% 100%)}
.theme-preview-crimson{background:linear-gradient(135deg,#ffffff 0 42%,#9d1a2f 42% 78%,#8a6a1f 78% 100%)}
.theme-preview-nordic{background:linear-gradient(135deg,#18212c 0 42%,#8ab4d8 42% 78%,#d8a86a 78% 100%)}
.theme-preview-orchid{background:linear-gradient(135deg,#221428 0 42%,#e9a3d8 42% 78%,#f2c46b 78% 100%)}
.theme-preview-rahkaran{background:linear-gradient(135deg,#eef2f8 0 42%,#0b4a97 42% 78%,#c8102e 78% 100%)}
.theme-preview-rahkaran-dark{background:linear-gradient(135deg,#0a1420 0 42%,#5aa2f0 42% 78%,#ff6b7f 78% 100%)}
.theme-preview-hc{background:linear-gradient(135deg,#0a0a0a 0 42%,#ffe14d 42% 78%,#ff9ecd 78% 100%)}
.theme-swatch-light{background:linear-gradient(135deg,#ffffff 0 46%,#5f43d9 46% 100%)}
.theme-swatch-dark{background:linear-gradient(135deg,#10111c 0 58%,var(--primary-light) 58% 100%)}
.theme-swatch-indigo{background:linear-gradient(135deg,#b79bff,#8fb6ff)}
.theme-swatch-royal{background:linear-gradient(135deg,#0b63ce,#0e7fa8)}
.theme-swatch-emerald{background:linear-gradient(135deg,#0f7354,#5f7a0f)}
.theme-swatch-graphite{background:linear-gradient(135deg,#d6dae0,#9aa3ad)}
.theme-swatch-amber{background:linear-gradient(135deg,#9a5b06,#8a6a1f)}
.theme-swatch-teal{background:linear-gradient(135deg,#0b6d78,#0d7f95)}
.theme-swatch-crimson{background:linear-gradient(135deg,#9d1a2f,#8a4a1f)}
.theme-swatch-nordic{background:linear-gradient(135deg,#8ab4d8,#7fc0c4)}
.theme-swatch-orchid{background:linear-gradient(135deg,#e9a3d8,#b79bff)}
.theme-swatch-rahkaran{background:linear-gradient(135deg,#0b4a97,#c8102e)}
.theme-swatch-rahkaran-dark{background:linear-gradient(135deg,#5aa2f0,#ff6b7f)}
.theme-swatch-hc{background:linear-gradient(135deg,#ffe14d,#7fe0ff)}


/* ═══ ۸) بازنویسی توکن‌محور هنر تیره — فقط برای تم‌های موتور توکن ═══ */
/* ۲۴۴ قاعدهٔ `.dark-mode` رنگ‌های تیرهٔ دست‌ساز (آبی‌بنفش) دارند؛ این بلوک همان
   اعلان‌ها را با توکن‌های همان تم بازنویسی می‌کند تا تم‌های تازه در همهٔ صفحه‌ها
   هویت رنگی خودشان را داشته باشند (نگاشت قطعی: سطح/خط/متن/موفق/هشدار/خطر/اطلاع/برند).
   تم‌های کلاسیک از این بلوک اثر نمی‌گیرند چون data-skin آن‌ها "classic" است. */
:root[data-skin="token"] .dock-view-meta,:root[data-skin="token"] .dock-view-summary,:root[data-skin="token"] .settings-tab small,:root[data-skin="token"] .settings-section-title p,:root[data-skin="token"] .training-next-step-copy small,:root[data-skin="token"] .training-path-node em,:root[data-skin="token"] .calendar-grid .muted-day,:root[data-skin="token"] .account-check,:root[data-skin="token"] .alert-empty,:root[data-skin="token"] .sales-kpi>span,:root[data-skin="token"] .sales-month,:root[data-skin="token"] .ai-risk-reasons li,:root[data-skin="token"] .crm-tour-card p,:root[data-skin="token"] .session-client span,:root[data-skin="token"] .role-snapshot-impact-meta,:root[data-skin="token"] .role-impact-user-identity small,:root[data-skin="token"] .role-export-preview-table td.role-snapshot-unchanged,:root[data-skin="token"] .role-export-preview-note,:root[data-skin="token"] .role-snapshot-live,:root[data-skin="token"] .role-snapshot-cell code,:root[data-skin="token"] .role-snapshot-cell small,:root[data-skin="token"] .role-wizard-tool-field,:root[data-skin="token"] .role-wizard-preview-note,:root[data-skin="token"] .role-compare-column li span,:root[data-skin="token"] .my-activity-heading small,:root[data-skin="token"] .uh-stat-cell span,:root[data-skin="token"] .uh-stats-daily-head small,:root[data-skin="token"] .uh-daily-column small,:root[data-skin="token"] .tl-stat-cell span,:root[data-skin="token"] .tl-stats-label,:root[data-skin="token"] .training-hero p,:root[data-skin="token"] .training-lesson-hero p,:root[data-skin="token"] .training-quiz-hero p,:root[data-skin="token"] .training-chapter-hero p,:root[data-skin="token"] .training-part p,:root[data-skin="token"] .training-quiz-item p,:root[data-skin="token"] .training-review-item p,:root[data-skin="token"] .training-score-dim span,:root[data-skin="token"] .sales-performance-filter-note,:root[data-skin="token"] .sales-target-row small,:root[data-skin="token"] .feature-routes code,:root[data-skin="token"] .dock-btn,:root[data-skin="token"] .dock-grip,:root[data-skin="token"] .role-wizard-users-note,:root[data-skin="token"] .role-wizard-users-count,:root[data-skin="token"] .role-wizard-user-copy small,:root[data-skin="token"] .role-wizard-selectall,:root[data-skin="token"] .realtime-detail-row span{color:var(--muted)}
:root[data-skin="token"] .dock-column-chip.is-removed,:root[data-skin="token"] .realtime-offline-badge,:root[data-skin="token"] .jdate-popup .jp-range-hint{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}
:root[data-skin="token"] .dock-column-chip.is-added,:root[data-skin="token"] .role-snapshot-impact-chip.is-freed,:root[data-skin="token"] .role-export-preview-summary span.role-snapshot-added,:root[data-skin="token"] .role-wizard-tool-status,:root[data-skin="token"] .identity-badge{color:var(--success);background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 34%,var(--line))}
:root[data-skin="token"] .dock-view-audit-filters,:root[data-skin="token"] .aq-stat,:root[data-skin="token"] .crm-table th,:root[data-skin="token"] .lead-card,:root[data-skin="token"] .history-changes,:root[data-skin="token"] .account-check-list,:root[data-skin="token"] .jdate-popup .jp-header,:root[data-skin="token"] .jdate-popup .jp-footer,:root[data-skin="token"] .notif-foot,:root[data-skin="token"] .dash-alert,:root[data-skin="token"] .sales-kpi,:root[data-skin="token"] .snoozed-item,:root[data-skin="token"] .ai-risk-card,:root[data-skin="token"] .note-item,:root[data-skin="token"] .prob-row,:root[data-skin="token"] .health-kpi,:root[data-skin="token"] .today-call-item,:root[data-skin="token"] .bi-kpis>span,:root[data-skin="token"] .heat-cell,:root[data-skin="token"] .role-snapshot-impact,:root[data-skin="token"] .role-export-preview-summary span,:root[data-skin="token"] .role-snapshot-card,:root[data-skin="token"] .role-wizard-preview-block,:root[data-skin="token"] .role-wizard-preview-module,:root[data-skin="token"] .role-wizard-similar-role,:root[data-skin="token"] .role-history-toolbar,:root[data-skin="token"] .role-permission-event-card,:root[data-skin="token"] .role-permission-diff section,:root[data-skin="token"] .role-compare-column,:root[data-skin="token"] .uh-stat-cell,:root[data-skin="token"] .tl-stat-cell,:root[data-skin="token"] .training-notice,:root[data-skin="token"] .training-empty-state,:root[data-skin="token"] .training-empty-inline,:root[data-skin="token"] .role-wizard-user-toolbar,:root[data-skin="token"] .role-wizard-user-row,:root[data-skin="token"] .realtime-detail-popover,:root[data-skin="token"] .realtime-detail-popover::before,:root[data-skin="token"] .command-search:hover{background:var(--surface-soft);border-color:var(--line)}
:root[data-skin="token"] .dock-view-audit-filters .dock-audit-jdate,:root[data-skin="token"] .dock-view-audit-filters .dock-audit-select,:root[data-skin="token"] .dock-view-audit-filters button,:root[data-skin="token"] .stage-prob-input,:root[data-skin="token"] .prob-row input,:root[data-skin="token"] .cred-copy{background:var(--surface-soft);border-color:var(--line);color:var(--primary)}
:root[data-skin="token"] .metric-processing,:root[data-skin="token"] .smart-forecast-mape-kpi{background:linear-gradient(145deg,var(--warn-soft),var(--surface-soft));border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .processing-metrics strong,:root[data-skin="token"] .management-board-export-text strong,:root[data-skin="token"] .management-board-export-text span,:root[data-skin="token"] .dash-alert .alert-name,:root[data-skin="token"] .dash-alert b,:root[data-skin="token"] .smart-forecast-mape-kpi strong,:root[data-skin="token"] .role-soft-restore-banner strong,:root[data-skin="token"] .training-admin-followup h2,:root[data-skin="token"] .training-admin-followup p{color:var(--warn)}
:root[data-skin="token"] .crm-swal-popup{background:var(--surface)!important}
:root[data-skin="token"] .crm-swal-popup .swal2-title{color:var(--text)!important}
:root[data-skin="token"] .crm-swal-popup .swal2-html-container{color:var(--muted)!important}
:root[data-skin="token"] .crm-swal-cancel{background:var(--surface-soft)!important;color:var(--text)!important}
:root[data-skin="token"] .settings-menu-foot,:root[data-skin="token"] .settings-action-card:hover,:root[data-skin="token"] .feature-bulk-bar,:root[data-skin="token"] .settings-tab:hover,:root[data-skin="token"] .settings-tab.is-active,:root[data-skin="token"] .cur-badge,:root[data-skin="token"] .panel::-webkit-scrollbar-thumb{background:var(--primary-soft)}
:root[data-skin="token"] .feature-search{border-color:var(--line);background:var(--primary-soft)}
:root[data-skin="token"] .feature-search input,:root[data-skin="token"] .management-export-group strong,:root[data-skin="token"] .training-next-step-copy span,:root[data-skin="token"] .calendar-grid i,:root[data-skin="token"] .history-headline strong,:root[data-skin="token"] .h-diff b,:root[data-skin="token"] .jdate-popup .jp-title,:root[data-skin="token"] .jdate-popup .jp-grid .jp-day,:root[data-skin="token"] .notif-body strong,:root[data-skin="token"] .sales-kpi strong,:root[data-skin="token"] .opp-card-title,:root[data-skin="token"] .ai-risk-head h4,:root[data-skin="token"] .ai-next-action p,:root[data-skin="token"] .detail-hero-title h3,:root[data-skin="token"] .tl-title,:root[data-skin="token"] .prob-row label,:root[data-skin="token"] .health-kpi strong,:root[data-skin="token"] .today-call-info strong,:root[data-skin="token"] .cell-person,:root[data-skin="token"] .heat-cell b,:root[data-skin="token"] .role-snapshot-impact-meta strong,:root[data-skin="token"] .role-soft-restore-col header strong,:root[data-skin="token"] .role-impact-users-head strong,:root[data-skin="token"] .role-impact-user-identity strong,:root[data-skin="token"] .role-export-preview-head strong,:root[data-skin="token"] .role-snapshot-card-head strong,:root[data-skin="token"] .role-wizard-perm-summary,:root[data-skin="token"] .role-wizard-preview-head h3,:root[data-skin="token"] .role-wizard-preview-block h4,:root[data-skin="token"] .role-wizard-preview-module header strong,:root[data-skin="token"] .role-wizard-similar-name strong,:root[data-skin="token"] .role-matrix-card-title strong,:root[data-skin="token"] .role-permission-event-head strong,:root[data-skin="token"] .role-permission-diff h4,:root[data-skin="token"] .role-compare-column h4,:root[data-skin="token"] .my-activity-heading strong,:root[data-skin="token"] .uh-stats-daily-head span,:root[data-skin="token"] .training-lesson-copy h3,:root[data-skin="token"] .training-part h4,:root[data-skin="token"] .training-quiz-item h4,:root[data-skin="token"] .training-review-item h4,:root[data-skin="token"] .training-exercise-head p,:root[data-skin="token"] .training-step-prompt,:root[data-skin="token"] .training-score-dim strong,:root[data-skin="token"] .role-wizard-users-head h3,:root[data-skin="token"] .role-wizard-user-copy strong,:root[data-skin="token"] .realtime-detail-row strong,:root[data-skin="token"] .license-kpi strong{color:var(--text)}
:root[data-skin="token"] .feature-chip{background:transparent;color:var(--muted)}
:root[data-skin="token"] .support-agent-satisfaction-summary,:root[data-skin="token"] .training-exercise{background:var(--surface);border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .rank-badge,:root[data-skin="token"] .training-path-node.is-locked .training-path-circle,:root[data-skin="token"] .jdate-popup .jp-footer button,:root[data-skin="token"] .bi-modal-note,:root[data-skin="token"] .realtime-status{background:var(--surface-soft);color:var(--muted)}
:root[data-skin="token"] .ui-multiselect-chip,:root[data-skin="token"] .management-export-status.is-busy,:root[data-skin="token"] .sales-val,:root[data-skin="token"] .change-pill,:root[data-skin="token"] .tl-scope-tab.is-active,:root[data-skin="token"] .tl-summary,:root[data-skin="token"] .unlinked-report-status,:root[data-skin="token"] .training-exercise-hint,:root[data-skin="token"] .training-step,:root[data-skin="token"] .training-feedback-explain{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--primary)}
:root[data-skin="token"] .management-forecast-export{background:linear-gradient(135deg,var(--primary-soft),var(--surface-soft));border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .management-forecast-export .management-export-hint,:root[data-skin="token"] .training-next-step-copy strong,:root[data-skin="token"] .sales-col.is-current .sales-month,:root[data-skin="token"] .opp-card-value,:root[data-skin="token"] .today-call-value,:root[data-skin="token"] .bi-kpis strong,:root[data-skin="token"] .role-wizard-perm-summary strong,:root[data-skin="token"] .role-wizard-preview-total b,:root[data-skin="token"] .tl-stat-chip strong,:root[data-skin="token"] .contract-renewal-entry strong{color:var(--primary)}
:root[data-skin="token"] .management-export-status,:root[data-skin="token"] .role-snapshot-cell.role-snapshot-on,:root[data-skin="token"] .role-snapshot-cell.role-snapshot-added,:root[data-skin="token"] .training-feedback-ok,:root[data-skin="token"] .training-step.is-done{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 34%,var(--line));color:var(--success)}
:root[data-skin="token"] .management-board-export{background:linear-gradient(135deg,var(--warn-soft),var(--warn-soft));border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .training-next-step,:root[data-skin="token"] .search-details-head,:root[data-skin="token"] .search-details-hero{background:linear-gradient(135deg,var(--primary-soft),var(--surface));border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .training-path-map,:root[data-skin="token"] .notif-panel,:root[data-skin="token"] .opp-column,:root[data-skin="token"] .tl-icon,:root[data-skin="token"] .role-soft-restore-col,:root[data-skin="token"] .role-impact-users,:root[data-skin="token"] .role-export-preview,:root[data-skin="token"] .role-compare-snapshot-toolbar,:root[data-skin="token"] .role-wizard-steps,:root[data-skin="token"] .role-wizard-toolbar,:root[data-skin="token"] .role-matrix-card-foot,:root[data-skin="token"] .training-chapter,:root[data-skin="token"] .training-lesson,:root[data-skin="token"] .training-quiz-card,:root[data-skin="token"] .training-part,:root[data-skin="token"] .training-quiz-item,:root[data-skin="token"] .training-review-item{background:var(--surface);border-color:var(--line)}
:root[data-skin="token"] .training-path-link,:root[data-skin="token"] .crm-table tbody tr:hover,:root[data-skin="token"] .search-field,:root[data-skin="token"] .command-search,:root[data-skin="token"] .notif-item:hover,:root[data-skin="token"] .sales-current-row td,:root[data-skin="token"] .forecast-drilldown-summary>span,:root[data-skin="token"] .timeline-feed::before,:root[data-skin="token"] .role-impact-user-row:hover,:root[data-skin="token"] .search-details-summary>div,:root[data-skin="token"] .search-details-history-row{background:var(--surface-soft)}
:root[data-skin="token"] .topbar-role-badge,:root[data-skin="token"] .dock-apply-preset-btn,:root[data-skin="token"] .account-create-btn{color:var(--primary);background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .topbar-role-badge::before{background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-light) 18%, transparent)}
:root[data-skin="token"] .grid-stale-bar{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .calendar-toolbar .calendar-jump-input,:root[data-skin="token"] .form-grid input,:root[data-skin="token"] .generic-form input,:root[data-skin="token"] .settings-section input,:root[data-skin="token"] .settings-section select,:root[data-skin="token"] .generic-form select,:root[data-skin="token"] .crm-modal textarea,:root[data-skin="token"] .bi-modal-range .jdate-input,:root[data-skin="token"] .role-compare-snapshot-toolbar input,:root[data-skin="token"] .role-compare-snapshot-toolbar select,:root[data-skin="token"] .role-snapshot-diffbar,:root[data-skin="token"] .role-wizard-tool-field input,:root[data-skin="token"] .role-wizard-tool-field select,:root[data-skin="token"] .tl-field input,:root[data-skin="token"] .tl-field select,:root[data-skin="token"] .bulk-identity-results-modal code,:root[data-skin="token"] .cred-row code,:root[data-skin="token"] .training-admin-min-score{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .aq-stat.aq-highlight{background:var(--success-soft);border-color:var(--line)}
:root[data-skin="token"] .kanban-column,:root[data-skin="token"] .detail-side{background:var(--surface)}
:root[data-skin="token"] .report-insight{background:linear-gradient(110deg,var(--surface),var(--primary-soft))}
:root[data-skin="token"] .history-drawer{background:var(--surface);box-shadow:-18px 0 44px rgba(0,0,0,.4)}
:root[data-skin="token"] .history-item{border-right-color:var(--line)}
:root[data-skin="token"] select.filter-button{background-color:var(--surface);color:var(--text);border-color:var(--line)}
:root[data-skin="token"] .account-chip{color:var(--primary);background:var(--primary-soft)}
:root[data-skin="token"] .status-muted{color:var(--muted);background:var(--surface-soft)}
:root[data-skin="token"] .link-action:hover,:root[data-skin="token"] .jdate-popup .jp-grid .jp-day:hover,:root[data-skin="token"] .jdate-popup .jp-today,:root[data-skin="token"] .jdate-popup .jp-chip:hover,:root[data-skin="token"] .jdate-popup .jp-footer button:hover,:root[data-skin="token"] .future-tag,:root[data-skin="token"] .future-badge,:root[data-skin="token"] .card-prob,:root[data-skin="token"] .today-call-rank,:root[data-skin="token"] .tl-stat-chip b,:root[data-skin="token"] .training-admin-q,:root[data-skin="token"] .training-notice code,:root[data-skin="token"] .sales-team-share-card .sales-team-share-mark,:root[data-skin="token"] .dock-btn:hover,:root[data-skin="token"] .dock-grip:hover{background:var(--primary-soft);color:var(--primary)}
:root[data-skin="token"] .jdate-popup{background:var(--surface);border-color:var(--line);box-shadow:0 12px 40px rgba(0,0,0,.3)}
:root[data-skin="token"] .jdate-popup .jp-grid .jp-day.jp-disabled{color:var(--muted);opacity:.35}
:root[data-skin="token"] .jdate-popup .jp-grid .jp-sel{background:var(--primary);color:var(--primary-contrast)}
:root[data-skin="token"] .jdate-popup .jp-grid .jp-wknd,:root[data-skin="token"] .role-wizard-user-fail,:root[data-skin="token"] .realtime-offline-banner-copy span{color:var(--danger)}
:root[data-skin="token"] .jdate-popup .jp-chip{background:var(--surface-soft);color:var(--primary)}
:root[data-skin="token"] .cal-selected{background:var(--primary-soft)!important}
:root[data-skin="token"] .low-stock td{background:var(--warn-soft)!important}
:root[data-skin="token"] .dash-alert.is-critical{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}
:root[data-skin="token"] .metric-link,:root[data-skin="token"] .tl-stat-chip-entity b,:root[data-skin="token"] .training-admin-q.is-good,:root[data-skin="token"] .training-admin-exam.is-good,:root[data-skin="token"] .live-events-panel[data-live-status="connected"] .live-events-status,:root[data-skin="token"] .realtime-status[data-realtime-status="connected"]{background:var(--success-soft);color:var(--success)}
:root[data-skin="token"] .seg-booked{background:linear-gradient(180deg,var(--primary),var(--primary))}
:root[data-skin="token"] .seg-pipe{background:repeating-linear-gradient(-45deg,var(--primary-soft),var(--primary-soft) 5px,var(--primary-soft) 5px,var(--primary-soft) 10px);border-top:1px dashed color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .smart-forecast-kpi-accent{background:linear-gradient(145deg,var(--success-soft),var(--surface-soft));border-color:color-mix(in srgb,var(--success) 34%,var(--line))}
:root[data-skin="token"] .smart-forecast-kpi-accent strong,:root[data-skin="token"] .tl-stat-chip-entity strong,:root[data-skin="token"] .license-issue-key span{color:var(--success)}
:root[data-skin="token"] .forecast-drilldown-summary em,:root[data-skin="token"] .role-soft-restore-banner,:root[data-skin="token"] .role-snapshot-cell.role-snapshot-removed,:root[data-skin="token"] .training-feedback-skip,:root[data-skin="token"] .realtime-reconnect-btn,:root[data-skin="token"] .realtime-detail-reconnect{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 34%,var(--line));color:var(--warn)}
:root[data-skin="token"] .macro-risk-gold,:root[data-skin="token"] .macro-risk-wartension{color:var(--warn);background:linear-gradient(135deg,var(--warn-soft),var(--warn-soft));border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .opp-card.is-war-risk,:root[data-skin="token"] .opp-card.is-hot{background:linear-gradient(135deg,var(--warn-soft),var(--surface-soft));border-right-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .opp-column.drag-over,:root[data-skin="token"] .training-chapter-icon,:root[data-skin="token"] .search-details-related:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .opp-card,:root[data-skin="token"] .role-matrix-card{background:var(--surface-soft);border-color:var(--line);box-shadow:none}
:root[data-skin="token"] .opp-card:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));box-shadow:0 8px 20px rgba(0,0,0,.3)}
:root[data-skin="token"] .detail-description,:root[data-skin="token"] .role-snapshot-cell.role-snapshot-off,:root[data-skin="token"] .role-wizard-step,:root[data-skin="token"] .tl-scope-tab,:root[data-skin="token"] .uh-stats-chip,:root[data-skin="token"] .tl-chip,:root[data-skin="token"] .tl-stat-chip,:root[data-skin="token"] .training-option{background:var(--surface-soft);border-color:var(--line);color:var(--muted)}
:root[data-skin="token"] .stale-days,:root[data-skin="token"] .today-call-rank.is-hot,:root[data-skin="token"] .bulk-results-note,:root[data-skin="token"] .training-admin-followup-count,:root[data-skin="token"] .training-admin-q.is-low,:root[data-skin="token"] .training-admin-exam.is-low,:root[data-skin="token"] .status-pill-warm,:root[data-skin="token"] .live-events-panel[data-live-status="reconnecting"] .live-events-status,:root[data-skin="token"] .realtime-status[data-realtime-status="reconnecting"],:root[data-skin="token"] .realtime-reconnect-btn:hover,:root[data-skin="token"] .realtime-detail-reconnect:hover{background:var(--warn-soft);color:var(--warn)}
:root[data-skin="token"] .stale-days.is-critical,:root[data-skin="token"] .live-events-panel[data-live-status="offline"] .live-events-status,:root[data-skin="token"] .realtime-status[data-realtime-status="offline"]{background:var(--danger-soft);color:var(--danger)}
:root[data-skin="token"] .today-call-item:hover,:root[data-skin="token"] .panel:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .import-result.is-error,:root[data-skin="token"] .role-snapshot-cell.role-snapshot-seed-revoked,:root[data-skin="token"] .training-feedback-bad{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 34%,var(--line));color:var(--danger)}
:root[data-skin="token"] .import-result.is-success{background:var(--success-soft);border-color:var(--line);color:var(--success)}
:root[data-skin="token"] .opp-ghost{background:var(--surface-soft)!important;border-color:color-mix(in srgb,var(--primary) 34%,var(--line))!important}
:root[data-skin="token"] .opp-chosen{background:var(--primary-soft)!important;border-color:color-mix(in srgb,var(--primary) 34%,var(--line))!important}
:root[data-skin="token"] .lead-card:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));box-shadow:0 12px 22px rgba(0,0,0,.35)}
:root[data-skin="token"] .bi-kpis-updated{background:var(--surface-soft);border-color:var(--line);color:var(--success)}
:root[data-skin="token"] .funnel-updated-unchanged,:root[data-skin="token"] .role-impact-user-counts em.role-impact-nochange{color:var(--muted);background:var(--surface-soft);border-color:var(--line)}
:root[data-skin="token"] .heat-weekend{color:var(--danger);background:var(--danger-soft)}
:root[data-skin="token"] .crm-tour-card{background:var(--surface);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--text)}
:root[data-skin="token"] .crm-tour-actions .button-ghost{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--muted)}
:root[data-skin="token"] .ceo-kpi{background:linear-gradient(180deg,var(--surface-soft),var(--surface-soft))!important}
:root[data-skin="token"] .ceo-insight{background:linear-gradient(110deg,var(--surface),var(--surface))}
:root[data-skin="token"] .today-workspace{background:linear-gradient(145deg,var(--surface),var(--surface-soft))}
:root[data-skin="token"] .session-revoke-button{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}
:root[data-skin="token"] .session-revoke-button:hover:not(:disabled),:root[data-skin="token"] .realtime-offline-banner-icon{background:var(--danger-soft)}
:root[data-skin="token"] .role-snapshot-impact-chip.is-restricted,:root[data-skin="token"] .role-export-preview-summary span.role-snapshot-removed,:root[data-skin="token"] .role-wizard-user-already{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .role-soft-restore-impact span{background:var(--surface-soft);border-color:var(--line);color:var(--info)}
:root[data-skin="token"] .role-soft-restore-col header,:root[data-skin="token"] .role-impact-users-head,:root[data-skin="token"] .role-export-preview-head{border-color:var(--line);color:var(--muted)}
:root[data-skin="token"] .role-soft-restore-target .role-snapshot-perms{border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .role-impact-user-row,:root[data-skin="token"] .role-history-permission-list li,:root[data-skin="token"] .role-compare-column li,:root[data-skin="token"] .uh-daily-chart,:root[data-skin="token"] .realtime-detail-row{border-color:var(--line)}
:root[data-skin="token"] .role-export-preview-table th{color:var(--muted);border-color:var(--line)}
:root[data-skin="token"] .role-export-preview-table td{color:var(--text);border-color:var(--line)}
:root[data-skin="token"] .role-snapshot-card-head,:root[data-skin="token"] .role-wizard-preview-head,:root[data-skin="token"] .role-matrix-card-head{background:linear-gradient(135deg,var(--surface-soft),var(--surface-soft));border-color:var(--line)}
:root[data-skin="token"] .role-snapshot-count,:root[data-skin="token"] .role-wizard-step span,:root[data-skin="token"] .role-wizard-preview-head h3 code,:root[data-skin="token"] .role-wizard-preview-total,:root[data-skin="token"] .role-wizard-preview-chip,:root[data-skin="token"] .role-wizard-similar-name code,:root[data-skin="token"] .role-matrix-card-title code{background:var(--surface-soft);color:var(--info)}
:root[data-skin="token"] .role-snapshot-card-note{background:var(--surface);border-color:var(--line);color:var(--muted)}
:root[data-skin="token"] .role-snapshot-cell.role-snapshot-beyond-seed{background:var(--surface-soft);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--primary)}
:root[data-skin="token"] .role-wizard-step.is-active{background:var(--surface-soft);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--text)}
:root[data-skin="token"] .role-matrix-dirty{color:var(--warn);background:var(--warn-soft)}
:root[data-skin="token"] .role-history-toolbar input{background:var(--surface);border-color:var(--line);color:var(--text)}
:root[data-skin="token"] .role-history-permission-list code,:root[data-skin="token"] .role-compare-column li code{color:var(--info)}
:root[data-skin="token"] .role-compare-panel{background:linear-gradient(135deg,var(--surface-soft),var(--surface));border-color:var(--line)}
:root[data-skin="token"] .role-compare-summary{background:var(--info-soft);color:var(--text)}
:root[data-skin="token"] .my-activity-heading,:root[data-skin="token"] .training-quiz-item.is-correct{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 34%,var(--line))}
:root[data-skin="token"] .uh-stats-daily{background:linear-gradient(180deg,var(--surface-soft),var(--surface));border-color:var(--line)}
:root[data-skin="token"] .uh-daily-column i{background:linear-gradient(180deg,var(--primary-soft),var(--primary))}
:root[data-skin="token"] .tl-chip:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));color:var(--primary);background:var(--primary-soft)}
:root[data-skin="token"] .identity-badge-link:hover{border-color:color-mix(in srgb,var(--success) 34%,var(--line));background:var(--success-soft)}
:root[data-skin="token"] .training-hero{background:linear-gradient(130deg,var(--primary-soft),var(--surface) 60%,var(--surface-soft));border-color:var(--line)}
:root[data-skin="token"] .training-option:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:var(--surface-soft)}
:root[data-skin="token"] .training-score{background:linear-gradient(130deg,var(--surface-soft),var(--surface));border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .training-admin-followup,:root[data-skin="token"] .training-notice.is-warning{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .training-admin-followup-user{background:var(--surface-soft);border-color:color-mix(in srgb,var(--warn) 34%,var(--line))}
:root[data-skin="token"] .customer-360-disclaimer{background:var(--warn-soft)}
:root[data-skin="token"] .yoy-kpi-highlight{background:linear-gradient(135deg,rgba(16,185,129,.15),color-mix(in srgb, var(--primary-light) 14%, transparent));border-color:color-mix(in srgb,var(--success) 34%,var(--line))}
:root[data-skin="token"] .enterprise-grid-view-button.is-active{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 34%,var(--line))}
:root[data-skin="token"] .feature-schedule-fields input{background:var(--primary-soft);color:var(--text)}
:root[data-skin="token"] .contract-renewal-entry{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:linear-gradient(135deg,var(--primary-soft),var(--surface-soft))}
:root[data-skin="token"] .live-events-panel{background:linear-gradient(145deg,var(--surface-soft),var(--primary-soft))}
:root[data-skin="token"] .role-wizard-user-row:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:var(--info-soft)}
:root[data-skin="token"] .role-wizard-user-row.is-already{background:var(--surface);opacity:.6}
:root[data-skin="token"] .realtime-offline-banner{background:linear-gradient(135deg,var(--danger-soft),var(--danger-soft));border-color:color-mix(in srgb,var(--danger) 34%,var(--line));color:var(--danger)}
:root[data-skin="token"] .funnel-compare-toggle.is-active{color:var(--primary-contrast);background:var(--primary);border-color:var(--primary)}
:root[data-skin="token"] .bi-compare-guide{border-color:var(--line);background:var(--surface-soft)}
:root[data-skin="token"] .license-issue-key{border-color:color-mix(in srgb,var(--success) 34%,var(--line));background:rgba(38,159,126,.12)}
:root[data-skin="token"] .license-issue-key code{background:var(--surface);border-color:var(--line);color:var(--success)}
:root[data-skin="token"] .license-feature-active{background:rgba(38,159,126,.12);border-color:color-mix(in srgb,var(--success) 34%,var(--line));color:var(--success)}
:root[data-skin="token"] .license-feature-inactive{background:rgba(100,116,139,.1);border-color:var(--line);color:var(--muted)}
:root[data-skin="token"] .license-history-table th{background:var(--surface-soft);color:var(--muted);border-color:var(--line)}


/* ===== هوش بازار و رقبا (market-intelligence) ===== */
.market-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:18px}
.market-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;align-items:start}
.market-proposal-panel{grid-row:span 2}
.market-method{margin:0 24px;padding:10px 14px;background:#f6f4ff;border:1px dashed #ddd4ff;border-radius:10px;color:#7166a8;font-size:0.75rem;font-weight:600}
.dark-mode .market-method{background:color-mix(in srgb, var(--primary) 8%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, transparent);color:#b7abf5}
.market-proposal-list{display:flex;flex-direction:column;gap:12px;padding:16px 24px 22px;max-height:820px;overflow:auto}
.mi-proposal-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:fadeUp .35s ease}
.mi-proposal-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(37,35,73,.1);border-color:#c9b8ff}
.mi-proposal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.mi-proposal-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.mi-account-link{background:transparent;border:0;color:var(--text);font-weight:800;font-size:0.84375rem;cursor:pointer;padding:0}
.mi-account-link:hover{color:var(--primary-dark);text-decoration:underline}
.mi-industry-chip{font-size:0.6875rem;color:var(--primary-dark);background:#eeeaff;border-radius:7px;padding:4px 9px;font-weight:700}
.dark-mode .mi-industry-chip{background:color-mix(in srgb, var(--primary) 16%, transparent);color:#c4b7ff}
.mi-proposal-score{display:flex;align-items:center;gap:7px;font-size:0.6875rem;color:#767b92}
.mi-proposal-body{margin-top:10px;display:flex;flex-direction:column;gap:7px}
.mi-proposal-row{display:grid;grid-template-columns:120px 1fr;gap:9px;font-size:0.7625rem;align-items:start}
.mi-k{color:#a0a4b5;font-weight:700;white-space:nowrap}
.mi-v{color:var(--text);line-height:1.7}
.mi-rival{color:#b45464;font-weight:700}
.mi-action{color:#137d62;font-weight:700}
.dark-mode .mi-action{color:#5fd3ac}
.mi-product-chip{display:inline-block;font-size:0.6875rem;color:#2b6cb0;background:#e6f3ff;border-radius:6px;padding:3px 8px;margin:0 0 4px 5px;font-weight:700}
.dark-mode .mi-product-chip{background:rgba(77,156,248,.14);color:#8ec3ff}
.mi-contract-ok,.mi-contract-warn{font-size:0.71875rem;font-weight:800;border-radius:8px;padding:5px 10px;align-self:flex-start}
.mi-contract-ok{color:#2b9d7c;background:#e4f8f0}
.mi-contract-warn{color:#b45464;background:#ffe9ee}
.mi-figures{display:flex;gap:16px;flex-wrap:wrap;font-size:0.71875rem;color:#8b8fa3}
.mi-figures b{color:var(--text)}
.mi-signals{display:flex;gap:6px;flex-wrap:wrap}
.mi-signal{font-size:var(--fs-2xs);color:#996b25;background:#fff5df;border:1px solid #f4d9a1;border-radius:7px;padding:3px 8px;font-weight:700}
.dark-mode .mi-signal{background:#352b1b;color:#f4c979;border-color:#66501f}
.mi-stale summary{cursor:pointer;font-size:0.71875rem;color:#b45464;font-weight:700}
.mi-stale ul{margin:7px 18px 0 0;color:#70758a;font-size:0.71875rem}
.mi-proposal-footer{display:flex;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.market-competitor-list{display:flex;flex-direction:column;gap:11px;padding:16px 24px 22px}
.mi-competitor-card{border:1px solid var(--line);border-inline-start:4px solid #22c55e;border-radius:13px;padding:13px 15px;background:var(--surface);animation:fadeUp .35s ease}
.mi-threat-high{border-inline-start-color:#ef4444}
.mi-threat-mid{border-inline-start-color:#f59e0b}
.mi-competitor-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mi-competitor-head strong{font-size:0.8125rem}
.mi-competitor-focus{margin:6px 0 9px;color:#8b8fa3;font-size:0.7375rem}
.mi-competitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:0.725rem}
.mi-competitor-grid .mi-k{font-size:var(--fs-2xs)}
.mi-competitor-grid p{margin:3px 0 0;color:var(--text);line-height:1.65}
.mi-contested{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.market-forecast-canvas{height:290px}
.market-interpretation{margin:14px 24px 0;padding:13px 16px;background:linear-gradient(135deg,#f3efff,#fbfaff);border:1px solid #e5ddff;border-radius:12px;color:#4d4580;font-size:0.775rem;font-weight:600;line-height:1.9}
.dark-mode .market-interpretation{background:color-mix(in srgb, var(--primary) 10%, transparent);border-color:color-mix(in srgb, var(--primary) 30%, transparent);color:#cdc2ff}
.market-risk-list{margin:10px 24px 22px;padding:0 18px 0 0;color:#70758a;font-size:0.7375rem;line-height:2}
@media (max-width:1280px){.market-grid{grid-template-columns:1fr}.market-kpis{grid-template-columns:repeat(2,1fr)}.market-proposal-panel{grid-row:auto}}
@media (max-width:640px){.mi-proposal-row{grid-template-columns:1fr}}

/* ============ بازبینی و بازمطبعهٔ فصل در نقشهٔ آموزش ============
   نشان «↻» روی دایرهٔ فصلِ کامل + منوی لنگرانداخته (بازآزمایی/مرور/گواهی) + دعوتِ
   مرور فصل قبل. منو position:fixed است تا از کانتینر overflow-x نقشه بیرون بماند. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.training-path-step{position:relative;display:inline-flex;align-items:center;justify-content:center}
.training-path-retake{position:absolute;top:-7px;inset-inline-end:-9px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #d5c8ff;color:#6b4ede;font-size:0.875rem;font-weight:800;line-height:1;box-shadow:0 5px 12px color-mix(in srgb, var(--primary-dark) 22%, transparent);transition:transform .2s ease,background .2s ease}
.training-path-retake:hover{transform:translateY(-2px) rotate(-24deg);background:#f4f0ff}
.training-path-retake:focus-visible{outline:2px solid #b7a3ff;outline-offset:2px}
.training-path-node.is-complete .training-path-review-hint{color:#7b68d6;font-weight:700}
.training-review-nudge{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:14px 0 16px;padding:14px 17px;border-radius:16px;background:linear-gradient(135deg,#f7f3ff,#fff);border:1px dashed #d9cfff}
.training-review-nudge-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#ece5ff;color:#6b4ede;font-size:1.0625rem;font-weight:800}
.training-review-nudge-copy{flex:1;min-width:180px}
.training-review-nudge-copy strong{display:block;font-size:0.8125rem}
.training-review-nudge-copy small{display:block;margin-top:5px;color:#8b90a3;font-size:var(--fs-2xs);line-height:1.9;max-width:620px}
.training-retake-menu{position:fixed;z-index:210;min-width:264px;max-width:min(320px,calc(100vw - 24px));padding:9px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(30,28,66,.18);display:flex;flex-direction:column;gap:3px}
.training-retake-menu[hidden]{display:none}
.training-retake-head{margin:3px 6px 7px;padding-bottom:8px;border-bottom:1px solid #f0f0f5}
.training-retake-head strong{display:block;font-size:0.78125rem}
.training-retake-head small{display:block;margin-top:4px;color:#9aa0b0;font-size:var(--fs-2xs)}
.training-retake-item{display:flex;align-items:center;gap:9px;width:100%;text-align:right;padding:10px 9px;border-radius:9px;background:transparent;color:#5f6478;font-size:0.78125rem;font-weight:600}
/* قاب ثابت برای آیکن تا عرض متفاوت ایموجی‌ها لبهٔ راست برچسب‌ها را دندانه‌دار نکند. */
.training-retake-item>span[aria-hidden="true"]{flex:none;width:18px;text-align:center;font-size:0.8125rem;line-height:1}
.training-retake-item:hover{background:#f4f1ff;color:#5b3fd6}
.training-retake-item.is-close{color:#9aa0b0;border-top:1px solid #f0f0f5;border-radius:0 0 9px 9px;margin-top:3px}
.training-quiz-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dark-mode .training-path-retake{background:#202136;border-color:#3f3a6b;color:#c4b4ff}
.dark-mode .training-review-nudge{background:#1c1d2f;border-color:#3a3470}
.dark-mode .training-review-nudge-icon{background:#2a2548;color:#c4b4ff}
.dark-mode .training-retake-menu{background:#1b1d2e;border-color:#333055}
.dark-mode .training-retake-head{border-color:#2b2c44}
.dark-mode .training-retake-item{color:#b9bccd}
.dark-mode .training-retake-item:hover{background:#2a2548;color:#fff}
@media (max-width:560px){.training-review-nudge{align-items:flex-start}.training-review-nudge .button{width:100%}.training-path-retake{width:24px;height:24px;font-size:0.8125rem}}
.training-path-tip{position:fixed;z-index:205;min-width:220px;max-width:min(330px,calc(100vw - 24px));padding:11px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(30,28,66,.18);pointer-events:none}
.training-path-tip[hidden]{display:none}
.training-path-tip .tip-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #f0f0f5}
.training-path-tip .tip-head strong{font-size:0.78125rem;color:#3d3a55}
.training-path-tip .tip-head small{color:#9aa0b0;font-size:var(--fs-2xs)}
.training-path-tip .tip-state{flex:none;padding:2px 7px;border-radius:999px;background:#f1eefe;color:#5b3fd6;font-size:var(--fs-2xs);font-weight:700}
.training-path-tip .tip-state.is-done{background:#e6f6ef;color:#1c7a46}
.training-path-tip .tip-state.is-locked{background:#f1f1f6;color:#8b90a3}
.training-path-tip .tip-rows{display:grid;gap:6px;margin:0}
.training-path-tip .tip-rows>div{display:grid;gap:2px}
.training-path-tip dt{color:#9aa0b0;font-size:var(--fs-2xs);font-weight:700}
.training-path-tip dd{margin:0;color:#4a475f;font-size:0.78125rem;line-height:1.6}
.training-path-tip .tip-keys{margin:9px 0 0;padding-top:8px;border-top:1px solid #f0f0f5;color:#9aa0b0;font-size:var(--fs-2xs);line-height:1.8}
.dark-mode .training-path-tip{background:#1b1d2e;border-color:#333055}
.dark-mode .training-path-tip .tip-head,.dark-mode .training-path-tip .tip-keys{border-color:#2b2c44}
.dark-mode .training-path-tip .tip-head strong{color:#e7e5f5}
.dark-mode .training-path-tip dd{color:#c3c0d8}
.dark-mode .training-path-tip .tip-state.is-locked{background:#292b3f;color:#8b90a8}
@media (max-width:560px){.training-path-tip .tip-keys{display:none}}

/* ===== پنل «تعطیلات رسمی و روزهای غیرکاری» (صفحهٔ فعالیت‌ها و تقویم) =====
   مصرف‌کنندهٔ واقعی سه Endpoint «تعطیلات تقویم»؛ پیش از این هیچ دری برای ثبت تعطیلی
   وجود نداشت و محاسبهٔ روز کاری همیشه «بدون تعطیل» می‌ماند. استایل با توکن‌های موجود
   ساخته شده تا با همهٔ تم‌ها (روشن/تیره) هم‌راستا بماند. */
.holiday-panel{display:flex;flex-direction:column;gap:14px}
.holiday-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft)}
.holiday-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-xs);font-weight:700;color:var(--muted)}
.holiday-form input[type=text],.holiday-form select{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);outline:0;transition:border-color .18s,box-shadow .18s}
.holiday-form input[type=text]:focus,.holiday-form select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}
.holiday-form .holiday-submit{align-self:end;justify-self:start}
.holiday-form .sh-status{grid-column:1/-1;min-width:0}
.holiday-list{display:grid;gap:8px}
.holiday-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .18s var(--ease-soft)}
.holiday-item:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--line))}
.holiday-date{flex:none;min-width:96px;padding:4px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:var(--fs-xs);font-weight:800;text-align:center}
.holiday-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.holiday-body strong{font-size:var(--fs-sm);color:var(--text)}
.holiday-body small{color:var(--muted);font-size:var(--fs-2xs)}
.holiday-item .row-action{flex:none}
.dark-mode .holiday-date{background:color-mix(in srgb,var(--primary) 22%,var(--surface));color:var(--text)}
@media (max-width:560px){.holiday-form{grid-template-columns:1fr}.holiday-date{min-width:78px}}
/* جست‌وجوی منو (ستون P5) — فیلتر فقط-نمایشی سایدبار. صفت فیلتر از `hidden` جداست
   تا پاک‌کردن جست‌وجو، حالت جمع‌شدگی گروه‌ها را از بین نبرد. */
.sidebar-search{display:flex;align-items:center;gap:8px;margin:0 14px 10px;padding:0 10px;border:1px solid var(--line);background:var(--surface);border-radius:10px}
.sidebar-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}
.sidebar-search-icon{display:inline-grid;place-items:center;color:var(--muted);flex:none}
.sidebar-search-icon svg{width:16px;height:16px}
.sidebar-search-input{flex:1;min-width:0;border:0;background:transparent;padding:9px 0;font:inherit;font-size:var(--fs-sm);color:var(--text)}
.sidebar-search-input::placeholder{color:var(--muted)}
.sidebar-search-input:focus{outline:none}
.sidebar-search-clear{flex:none;color:var(--muted);background:transparent;border:0;cursor:pointer;padding:2px}
.sidebar-search-clear:hover{color:var(--text)}
.sidebar-search-clear svg{width:14px;height:14px}
.nav-search-empty{margin:0 14px 10px;padding:10px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:var(--fs-2xs);text-align:center}
.sidebar [data-menu-search-hidden="1"]{display:none !important}
.sidebar.is-mini .sidebar-search,.sidebar.is-mini .nav-search-empty{display:none}

/* ════════════════════════════════════════════════════════════════════
   سینی فایل شرکتی (ui-file-tray) — جایگزین FilePond برای آپلود دکمه‌ای
   ════════════════════════════════════════════════════════════════════
   ورودی‌های «فایل را انتخاب کن و بعداً با دکمهٔ آپلود کن» دیگر FilePond
   نمی‌سازند: FilePond بدون server فایل را در حالت idle گیر می‌اندازد و در
   آن حالت پنل را شفاف و متن را سفید می‌کرد. این سینی مستقل از FilePond،
   روی توکن‌های طراحی CRM و کاملاً RTL است. (.ui-file-tray-list با
   display:contents می‌چیند تا chipها مستقیم آیتمِ flexِ سینی باشند.) */
.ui-file-tray{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1.5px dashed color-mix(in srgb,var(--line) 88%,var(--muted));border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,var(--purple-soft));transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.ui-file-tray[data-ui-tray-empty="0"]{border-style:solid;border-color:var(--line);background:var(--surface);box-shadow:0 3px 12px color-mix(in srgb,var(--text) 5%,transparent)}
.ui-file-tray.is-drag-over{border-color:var(--primary);background:color-mix(in srgb,var(--purple-soft) 62%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.ui-file-tray-list{display:contents}
.ui-file-tray-drop{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:600;padding:3px 5px;border-radius:9px;cursor:pointer;transition:color .15s ease,background .15s ease}
.ui-file-tray-drop:hover{color:var(--primary-dark);background:color-mix(in srgb,var(--primary) 8%,transparent)}
.ui-file-tray-drop b{color:var(--primary);font-weight:800}
.ui-file-tray-ico{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:.8125rem;line-height:1}
.ui-file-tray-error{flex:1 1 100%;color:var(--danger);font-size:var(--fs-2xs);font-weight:700}
.ui-file-tray-error[hidden]{display:none}
.ui-file-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 5px 5px 4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 3px 10px color-mix(in srgb,var(--text) 6%,transparent);animation:uiFileChipIn .18s ease}
@keyframes uiFileChipIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.ui-file-chip-badge{display:inline-grid;place-items:center;min-width:34px;height:26px;padding:0 5px;border-radius:7px;font-size:.6875rem;font-weight:800;letter-spacing:.2px;flex:none}
.ui-file-chip-badge.is-pdf{background:#fdece8;color:#c0553a}
.ui-file-chip-badge.is-img{background:#e6f3ff;color:#2f7fc7}
.ui-file-chip-badge.is-xls{background:#e4f8ef;color:#22936c}
.ui-file-chip-badge.is-doc{background:#f1edff;color:#6a4fd0}
.ui-file-chip-badge.is-bin{background:#f0f1f6;color:#6b7183}
.ui-file-chip-name{min-width:0;max-width:min(240px,34vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:700;font-size:var(--fs-2xs)}
.ui-file-chip-size{color:var(--muted);font-size:.6875rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ui-file-chip-remove{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted);font-size:.6875rem;line-height:1;flex:none;transition:background .15s ease,color .15s ease}
.ui-file-chip-remove:hover{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}
/* جایگاه سینی در ردیف آپلود پیوست: input مخفی است، پس سینی و دکمهٔ آپلود
   کنار هم می‌نشینند و در عرض‌های کم می‌شکنند. */
.attachment-upload-row .ui-file-tray{flex:1 1 190px;min-width:0;order:-1}
.attachment-upload-row #ticketAttachmentUpload,
.attachment-upload-row #contractAttachmentUpload{flex:none}
/* سینی پیوستِ پاسخ تیکت زیر ردیف پاسخ می‌نشیند */
.ticket-conversation .ui-file-tray{margin-top:.55rem}
.dark-mode .ui-file-tray{background:color-mix(in srgb,var(--surface) 92%,var(--line))}
.dark-mode .ui-file-tray[data-ui-tray-empty="0"]{background:var(--surface-soft)}
.dark-mode .ui-file-chip{background:var(--surface-soft);border-color:var(--line)}
@media (prefers-reduced-motion:reduce){.ui-file-chip{animation:none}.ui-file-tray{transition:none}}

/* ===== بهبودهای ظاهری مدرن (Design Polish) ===== */
/* کارت‌های KPI: سایهٔ نرم‌تر و Hover با برجستگی ظریف */
.metric-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.metric-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);opacity:0;transition:opacity .22s}
.metric-card:hover::after{opacity:1}
@media (prefers-reduced-motion:reduce){.metric-card{transition:none}}

/* پنل‌ها: سایهٔ ظریف‌تر و لبهٔ بالایی روشن */
.panel{transition:box-shadow .25s ease,border-color .25s ease}
.panel:hover{box-shadow:var(--shadow-raised);border-color:var(--line-strong)}
@media (prefers-reduced-motion:reduce){.panel{transition:none}}

/* دکمهٔ اصلی: حالت فعال و تمرکز */
.button-primary{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.button-primary:hover{filter:brightness(1.06)}
.button-primary:active{transform:translateY(0) scale(.98)}
.button-ghost{transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.button-ghost:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}

/* آیکون‌ها: hover ملایم */
.icon-button{transition:background .16s ease,color .16s ease,transform .16s ease}
.icon-button:hover{transform:translateY(-1px)}

/* جدول‌ها: ردیف‌ها با hover نرم */
.crm-table tbody tr{transition:background .15s ease}

/* صفحه‌عنوان: برجستگی بهتر */
.page-heading h1{letter-spacing:-1.2px}

/* اسکرول‌بار نرم */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 35%,transparent) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 30%,transparent);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 45%,transparent)}
::-webkit-scrollbar-track{background:transparent}
