:root{--bg:#f7f6f9;--panel:#fff;--panel2:#fbfafd;--text:#21192a;--muted:#776f80;--line:#e9e4ee;--accent:#9b2cf6;--accent2:#7b24dc;--accent-soft:#f5ebff;--danger:#d94343;--warning:#b06c00;--success:#14804a;--shadow:0 12px 34px rgba(43,27,54,.07)}
html[data-theme="dark"]{color-scheme:dark;--bg:#100d13;--panel:#1d1922;--panel2:#24202a;--text:#f4eff8;--muted:#aaa0b2;--line:#37303f;--accent:#b65cff;--accent2:#9440ed;--accent-soft:#32203f;--danger:#ff7070;--warning:#ffbd58;--success:#55d18f;--shadow:0 16px 38px rgba(0,0,0,.23)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.exec-app{padding:18px;max-width:1840px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px 11px 14px;margin-bottom:12px}.toolbar-left,.toolbar-actions{display:flex;align-items:center;gap:9px;min-width:0}.toolbar-actions{justify-content:flex-end;flex-wrap:wrap}.connection-badge{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:12px;font-weight:800}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--warning) 12%,transparent)}.connection-badge[data-state="online"] .status-dot{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.connection-badge[data-state="error"] .status-dot{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)}.updated-label{color:var(--muted);font-size:11px;white-space:nowrap}.select-control{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--muted);font-size:11px}.select-control select{border:0;outline:0;background:transparent;color:var(--text);font-weight:700;min-width:118px}.btn{border:1px solid transparent;min-height:40px;padding:0 13px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;background:var(--panel2);color:var(--text)}.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.secondary{border-color:var(--line);background:var(--panel)}.btn.ghost{border-color:var(--line);background:transparent}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);display:grid;place-items:center;padding:0}.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icon-btn.loading svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.notice{margin:0 0 12px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:var(--panel);font-weight:650}.notice.info{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft)}.notice.success{border-color:color-mix(in srgb,var(--success) 40%,var(--line));color:var(--success)}.notice.warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--line));color:var(--warning)}.notice.error{border-color:color-mix(in srgb,var(--danger) 40%,var(--line));color:var(--danger)}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:10px}.kpi-card{min-height:122px;padding:15px 16px;display:flex;flex-direction:column;justify-content:center}.kpi-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.kpi-icon{width:27px;height:27px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:900}.kpi-icon.success{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--panel))}.kpi-card>strong{margin-top:7px;font-size:24px;line-height:1.08;letter-spacing:-.035em}.kpi-card>small{margin-top:6px;color:var(--muted);font-size:10px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr) minmax(310px,.85fr);gap:10px;align-items:stretch}.dashboard-grid>.panel{min-width:0;padding:16px}.revenue-card{grid-column:1/3;min-height:330px}.plan-card{grid-column:3;min-height:330px}.funnel-card{grid-column:1;min-height:390px}.managers-card{grid-column:2/4;min-height:390px}.sources-card{grid-column:1/2;min-height:320px}.alerts-card{grid-column:2/4;min-height:320px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.card-head h2{margin:2px 0 0;font-size:16px;line-height:1.25;letter-spacing:-.02em}.eyebrow{display:block;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.card-head-value{font-size:16px;font-weight:850}.muted{color:var(--muted);font-size:10px}
.trend-chart{height:245px;display:grid;grid-template-columns:repeat(var(--bars,12),minmax(0,1fr));align-items:end;gap:7px;padding:18px 4px 0;border-top:1px solid var(--line);position:relative}.trend-chart:before,.trend-chart:after{content:"";position:absolute;left:4px;right:4px;border-top:1px dashed color-mix(in srgb,var(--line) 82%,transparent)}.trend-chart:before{top:34%}.trend-chart:after{top:66%}.trend-column{min-width:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 18px;gap:6px;position:relative;z-index:1}.trend-bar-wrap{display:flex;align-items:flex-end;height:100%}.trend-bar{width:100%;min-height:4px;border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--accent),var(--accent2));opacity:.88;position:relative}.trend-bar:hover{opacity:1;filter:saturate(1.1)}.trend-bar:hover:after{content:attr(data-value);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);white-space:nowrap;padding:4px 7px;border-radius:7px;background:var(--text);color:var(--panel);font-size:9px;font-weight:800;z-index:4}.trend-label{text-align:center;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-content{flex:1 1 auto;min-height:230px;display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid var(--line);background:var(--panel);margin:0;padding:16px 4px 4px;box-sizing:border-box}.plan-card{overflow:hidden;display:flex;flex-direction:column}.plan-ring{--progress:0deg;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--accent) var(--progress),var(--panel2) 0);display:grid;place-items:center;position:relative;flex:0 0 auto}.plan-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--panel);border:1px solid var(--line)}.plan-ring>div{position:relative;z-index:2;text-align:center}.plan-ring strong{display:block;font-size:29px;letter-spacing:-.04em}.plan-ring span{display:block;color:var(--muted);font-size:10px}.plan-details{display:grid;gap:13px;min-width:120px}.plan-details div{display:flex;flex-direction:column}.plan-details span{color:var(--muted);font-size:10px}.plan-details strong{margin-top:2px;font-size:13px}
.funnel-list{display:grid;gap:9px}.funnel-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(120px,1.8fr) 82px;gap:10px;align-items:center}.funnel-name{min-width:0}.funnel-name strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.funnel-name span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.funnel-track{height:10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}.funnel-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));min-width:2px}.funnel-value{text-align:right}.funnel-value strong{display:block;font-size:11px}.funnel-value span{display:block;color:var(--muted);font-size:9px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.manager-table{width:100%;border-collapse:separate;border-spacing:0;min-width:640px}.manager-table th,.manager-table td{padding:10px 11px;border-bottom:1px solid var(--line);text-align:left}.manager-table th{background:var(--panel2);color:var(--muted);font-size:10px;font-weight:800;position:sticky;top:0}.manager-table tr:last-child td{border-bottom:0}.manager-table .num{text-align:right}.manager-cell{display:flex;align-items:center;gap:9px;min-width:170px}.manager-avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:900;flex:0 0 auto}.manager-cell strong{display:block;font-size:11px}.manager-cell small{display:block;color:var(--muted);font-size:9px}.conversion-pill{display:inline-flex;justify-content:center;min-width:50px;padding:3px 7px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:10px;font-weight:800}.conversion-pill.good{color:var(--success);border-color:color-mix(in srgb,var(--success) 28%,var(--line))}.conversion-pill.warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 28%,var(--line))}
.source-list{display:grid;gap:12px}.source-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1.3fr) 70px;gap:9px;align-items:center}.source-name{font-size:11px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-track{height:8px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);overflow:hidden}.source-fill{height:100%;border-radius:999px;background:var(--accent)}.source-value{text-align:right;font-size:10px;font-weight:800}.alert-count{min-width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--warning) 11%,var(--panel));color:var(--warning);font-size:11px;font-weight:900}.alert-list{display:grid;gap:8px}.alert-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.alert-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--warning) 10%,var(--panel));color:var(--warning);font-weight:900;font-size:11px}.alert-copy{min-width:0}.alert-copy strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-copy span{display:block;margin-top:2px;color:var(--muted);font-size:9px}.alert-age{text-align:right;font-size:10px;font-weight:850;color:var(--warning)}.empty-inline{padding:30px 10px;text-align:center;color:var(--muted);font-size:11px}
.app-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none;color:var(--text)}.app-dialog::backdrop{background:rgba(20,15,25,.48);backdrop-filter:blur(2px)}.dialog-card{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 80px rgba(20,12,25,.28)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:20px}.dialog-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.dialog-close{border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1;padding:0 3px}.dialog-body{padding:18px 20px}.mode-switch{border:0;padding:0;margin:0 0 16px}.mode-switch legend{font-size:11px;font-weight:850;margin-bottom:7px}.mode-switch label{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;margin:6px 0;border:1px solid var(--line);border-radius:13px;background:var(--panel2);cursor:pointer}.mode-switch input{margin-top:3px;accent-color:var(--accent)}.mode-switch span{display:flex;flex-direction:column}.mode-switch strong{font-size:12px}.mode-switch small{margin-top:2px;color:var(--muted);font-size:10px}.field{display:flex;flex-direction:column;gap:6px;margin-top:14px}.field>span{font-size:11px;font-weight:800}.field input{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 11px;outline:0}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.field small{color:var(--muted);font-size:9px}.test-result{margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:11px}.test-result.success{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.test-result.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.dialog-actions.split{justify-content:space-between}.dialog-actions-right{display:flex;gap:8px}
@media(max-width:1380px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}.revenue-card{grid-column:1}.plan-card{grid-column:2}.funnel-card{grid-column:1}.managers-card{grid-column:2}.sources-card{grid-column:1}.alerts-card{grid-column:2}.plan-content{gap:18px;flex-direction:column}.plan-ring{width:130px;height:130px}.plan-details{grid-template-columns:repeat(3,1fr);width:100%;gap:6px}.plan-details div{align-items:center;text-align:center}}
@media(max-width:920px){.toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{justify-content:flex-start;width:100%}.dashboard-grid{grid-template-columns:1fr}.revenue-card,.plan-card,.funnel-card,.managers-card,.sources-card,.alerts-card{grid-column:1}.plan-content{flex-direction:row}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.exec-app{padding:10px}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.select-control{min-width:0}.select-control select{min-width:0;width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card{padding:12px;min-height:108px}.kpi-card>strong{font-size:20px}.trend-chart{gap:4px}.dashboard-grid>.panel{padding:13px}.plan-content{flex-direction:column}.dialog-actions.split{flex-direction:column}.dialog-actions-right{display:grid;grid-template-columns:1fr 1fr}.dialog-actions .btn{width:100%}.toolbar-left{flex-wrap:wrap}}

/* v3.2.35 — department analytics */
.eyebrow{color:var(--muted)}
.department-filter{position:relative;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 8px 0 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--muted);font-size:11px}
.department-filter-caption{white-space:nowrap}
.department-filter-btn{display:flex;align-items:center;gap:6px;max-width:220px;min-width:118px;padding:0;border:0;background:transparent;color:var(--text);font-weight:700;text-align:left}
.department-filter-btn strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.department-filter-btn svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s ease}
.department-filter[data-open="true"] .department-filter-btn svg{transform:rotate(180deg)}
.department-filter[data-disabled="true"]{opacity:.58}
.department-filter[data-disabled="true"] .department-filter-btn{cursor:not-allowed}
.department-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:50;width:min(330px,calc(100vw - 28px));padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 48px rgba(27,16,34,.18)}
.department-option-list{max-height:310px;overflow:auto;padding-top:4px;margin-top:4px;border-top:1px solid var(--line)}
.department-option{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:9px;color:var(--text);font-size:11px;font-weight:650;cursor:pointer}
.department-option:hover{background:var(--panel2)}
.department-option input{width:15px;height:15px;margin:0;accent-color:var(--accent)}
.department-option.all-option{font-weight:800}
.departments-card{grid-column:1/4;min-height:0}
.department-table{min-width:720px}
.department-name-cell strong{display:block;font-size:11px}
.department-name-cell small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.manager-department{font-size:10px;color:var(--muted);white-space:nowrap}
.manager-table{min-width:760px}
@media(max-width:920px){.departments-card{grid-column:1}.department-filter{max-width:100%}}
@media(max-width:640px){.department-filter{min-width:0}.department-filter-btn{min-width:0;max-width:none;width:100%}.department-menu{right:auto;left:0}.toolbar-actions .department-filter{grid-column:1/3}}
.test-result.warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--line))}


/* v3.2.37 — configurable Dynamics widget */
.trend-card-head{align-items:flex-start}.trend-title-wrap{min-width:0;flex:1}.trend-title-wrap h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:0;max-width:100%}.trend-head-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.widget-settings-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);display:grid;place-items:center;padding:0;transition:border-color .15s ease,color .15s ease,background .15s ease}.widget-settings-btn:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--accent);background:var(--accent-soft)}.widget-settings-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.trend-title-more{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:5px;padding:1px 6px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--accent);font-size:10px;font-weight:850;line-height:18px;vertical-align:1px;cursor:default;outline:0}.trend-title-tooltip{position:absolute;right:0;top:calc(100% + 7px);z-index:30;display:none;min-width:220px;max-width:320px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 14px 34px rgba(27,16,34,.17);color:var(--text);font-size:10px;font-weight:650;line-height:1.45;white-space:normal}.trend-title-tooltip span{display:block;padding:3px 2px}.trend-title-more:hover .trend-title-tooltip,.trend-title-more:focus .trend-title-tooltip{display:block}.trend-settings-card{width:min(620px,calc(100vw - 32px));overflow:visible}.trend-settings-body{display:grid;gap:18px}.trend-config-section{min-width:0}.trend-config-section+ .trend-config-section{padding-top:17px;border-top:1px solid var(--line)}.trend-config-section h3{margin:0 0 2px;font-size:12px;font-weight:900}.trend-config-field{margin-top:9px}.field select{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 34px 0 11px;outline:0}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.trend-people-picker{position:relative}.trend-people-btn{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);text-align:left}.trend-people-btn strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.trend-people-btn svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease}.trend-people-picker[data-open="true"] .trend-people-btn{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}.trend-people-picker[data-open="true"] .trend-people-btn svg{transform:rotate(180deg)}.trend-people-menu{position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:80;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--panel);box-shadow:0 18px 48px rgba(27,16,34,.2)}.trend-people-search-wrap{padding:2px 2px 7px}.trend-people-search-wrap input{width:100%;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:0 10px;outline:0}.trend-people-search-wrap input:focus{border-color:var(--accent)}.trend-people-options{max-height:290px;overflow:auto;padding-top:4px;border-top:1px solid var(--line)}.trend-people-group{padding:8px 9px 4px;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.trend-people-option{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;color:var(--text);font-size:11px;font-weight:650;cursor:pointer}.trend-people-option:hover{background:var(--panel2)}.trend-people-option input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.trend-people-option.all-option{font-weight:800;border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;padding-bottom:9px}.trend-people-option small{margin-left:auto;color:var(--muted);font-size:9px}.trend-people-empty{padding:14px 9px;color:var(--muted);font-size:10px;text-align:center}
@media(max-width:640px){.trend-card-head{gap:8px}.trend-head-actions{gap:6px}.card-head-value{font-size:13px}.trend-title-tooltip{right:auto;left:0}.trend-settings-card{overflow:auto}.trend-people-menu{position:static;margin-top:7px}}


/* v3.2.38 — Dynamics grouping, custom period and detached entity picker */
.trend-date-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trend-date-range .field{margin-top:9px}
.trend-settings-error{display:block;margin-top:10px;color:var(--danger);font-size:10px;font-weight:700}
.trend-people-menu{position:fixed;left:auto;right:auto;top:auto;z-index:9999;max-width:calc(100vw - 24px);display:flex;flex-direction:column;overflow:hidden}
.trend-people-search-wrap,.trend-people-option.all-option{flex:0 0 auto}
.trend-people-options{max-height:none;min-height:0;overflow:auto;overscroll-behavior:contain}
.trend-chart{overflow-x:auto;overflow-y:visible;grid-template-columns:repeat(var(--bars,12),minmax(var(--bar-min,0px),1fr));scrollbar-width:thin}
.trend-chart.categorical{padding-bottom:2px}
.trend-chart.categorical .trend-column{grid-template-rows:minmax(0,1fr) 34px}
.trend-chart.is-people .trend-column{grid-template-rows:minmax(0,1fr) 50px}
.trend-category-label{min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:9px;line-height:1.15;overflow:hidden}
.trend-category-label>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trend-person-label{flex-direction:column;gap:3px}
.trend-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);background:var(--panel2)}
.trend-avatar-fallback{color:var(--accent);font-size:8px;font-weight:900;background:var(--accent-soft)}
@media(max-width:640px){
  .trend-settings-card{overflow:visible}
  .trend-people-menu{position:fixed;margin-top:0}
  .trend-date-range{grid-template-columns:1fr}
}


/* v3.2.39 — viewport-safe entity picker and floating chart tooltip */
.trend-people-menu[hidden]{display:none!important}
.trend-people-menu{box-sizing:border-box;max-width:none;min-height:0}
.trend-people-options{min-height:0}
.trend-bar:hover:after{content:none!important;display:none!important}
.trend-floating-tooltip{position:fixed;z-index:12000;pointer-events:none;max-width:min(360px,calc(100vw - 24px));padding:6px 9px;border-radius:8px;background:var(--text);color:var(--panel);font-size:10px;font-weight:800;line-height:1.35;white-space:normal;box-shadow:0 10px 30px rgba(20,12,25,.24);opacity:0;visibility:hidden;transform:translate(-50%,-100%);transition:opacity .08s ease}
.trend-floating-tooltip[data-show="true"]{opacity:1;visibility:visible}

.trend-date-range input[type="date"]:disabled{opacity:.72;cursor:not-allowed;color:var(--muted);background:color-mix(in srgb,var(--panel2) 78%,var(--line));}

/* v3.2.42 — configurable successful deals KPI */
.kpi-won-card{justify-content:flex-start;min-height:158px}
.kpi-head-actions{display:flex;align-items:center;gap:5px;min-width:0}
.kpi-mini-toggle{display:flex;align-items:center;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.kpi-mini-toggle button{height:23px;padding:0 6px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap}
.kpi-mini-toggle button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px rgba(30,20,35,.08)}
.kpi-settings-btn{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted)}
.kpi-settings-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.kpi-settings-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kpi-won-summary{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);color:var(--muted);font-size:8.5px;line-height:1.35}
.kpi-won-summary span{white-space:nowrap}.kpi-won-summary b{color:var(--text);font-weight:800}
.compact-dialog-card{width:min(520px,calc(100vw - 32px))}
.field select{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);padding:0 11px;outline:0}
.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
@media(max-width:640px){.kpi-won-card{min-height:158px}.kpi-mini-toggle button{padding:0 4px;font-size:7.5px}.kpi-head-actions{gap:3px}}


/* v3.2.44 — optimized telephony + plan diagnostics */
:root{--plan-red:#d94343;--plan-yellow:#d79a18;--plan-green:#14804a}html[data-theme="dark"]{--plan-red:#ff7070;--plan-yellow:#ffbd58;--plan-green:#55d18f}
.plan-ring{background:conic-gradient(var(--plan-color,var(--accent)) var(--progress),var(--panel2) 0)}
.sales-plan-card{grid-column:1/-1;min-height:300px}.sales-plan-head{align-items:center}.sales-plan-head-actions{display:flex;align-items:center;gap:9px}.sales-plan-body{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:10px}.sales-plan-row{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);gap:16px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}.sales-plan-person{display:flex;align-items:center;gap:10px;min-width:0}.sales-plan-person>div:last-child{min-width:0}.sales-plan-person strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.sales-plan-person small{display:block;margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-plan-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:900}.sales-plan-avatar img{width:100%;height:100%;object-fit:cover}.sales-plan-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.sales-plan-metric{min-width:0}.sales-plan-metric-head{display:flex;align-items:baseline;justify-content:space-between;gap:7px;font-size:9px}.sales-plan-metric-head>span{color:var(--muted);font-weight:750}.sales-plan-metric-head b{min-width:0;text-align:right;font-size:10px;white-space:nowrap}.sales-plan-metric-head em{color:var(--muted);font-style:normal;font-weight:650}.sales-plan-track{height:5px;margin-top:6px;border-radius:999px;overflow:hidden;background:var(--line)}.sales-plan-track i{display:block;height:100%;border-radius:inherit;background:var(--plan-red)}.sales-plan-metric.yellow .sales-plan-track i{background:var(--plan-yellow)}.sales-plan-metric.green .sales-plan-track i{background:var(--plan-green)}.sales-plan-metric>small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.sales-plan-metric.unavailable .sales-plan-track i{width:0!important}.plan-rocket{font-size:11px}.plan-settings-launch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.plan-settings-launch>div{display:grid;gap:2px}.plan-settings-launch span{font-size:10px;color:var(--muted);font-weight:750}.plan-settings-launch strong{font-size:12px}.plan-settings-launch small{font-size:9px;color:var(--muted)}.plan-rules-card{width:min(720px,calc(100vw - 32px))}.plan-rules-body{display:grid;gap:18px}.plan-rules-section+ .plan-rules-section{padding-top:16px;border-top:1px solid var(--line)}.plan-rules-section h3,.plan-entities-section h3{margin:0;font-size:12px}.plan-rules-section>p{margin:3px 0 9px;color:var(--muted);font-size:9px}.plan-departments-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.plan-check-option{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:10px;font-weight:700}.plan-check-option input,.plan-entity-option input{accent-color:var(--accent)}.plan-position-rows{display:grid;gap:7px}.plan-position-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.plan-position-row strong{display:block;font-size:10px}.plan-position-row small{display:block;color:var(--muted);font-size:8px}.plan-position-row label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.plan-position-row input{width:140px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:0 9px;text-align:right}.plan-common-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sales-plan-settings-card{width:min(660px,calc(100vw - 32px))}.sales-plan-settings-body{display:grid;gap:14px}.plan-entities-section{min-width:0}.plan-entities-section h3{margin-bottom:7px}.sales-plan-entities{max-height:310px;overflow:auto;border-top:1px solid var(--line);padding-top:4px}.plan-entity-group{padding:8px 8px 4px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.plan-entity-option{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px;cursor:pointer}.plan-entity-option:hover{background:var(--panel2)}.plan-entity-option>span{display:grid;min-width:0}.plan-entity-option b{font-size:10px}.plan-entity-option small{color:var(--muted);font-size:8px}.plan-entity-option.all{border:1px solid var(--line);background:var(--panel2);margin-bottom:5px}
@media(max-width:920px){.sales-plan-card{grid-column:1}.sales-plan-row{grid-template-columns:1fr}.sales-plan-metrics{gap:10px}}
@media(max-width:640px){.sales-plan-metrics{grid-template-columns:1fr}.plan-departments-list,.plan-common-grid{grid-template-columns:1fr}.plan-position-row{align-items:flex-start;flex-direction:column}.plan-position-row label,.plan-position-row input{width:100%}.plan-settings-launch{align-items:flex-start;flex-direction:column}.plan-settings-launch .btn{width:100%}}

/* v3.2.46 — archived plan periods, grouped plan blocks and performance sorting */
.plan-period-pickers,.plan-sort-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sales-plan-group-block{border:1px solid var(--line);border-radius:15px;background:var(--panel2);overflow:hidden}.sales-plan-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px 8px}.sales-plan-group-head>div:first-child{min-width:0}.sales-plan-group-head strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-plan-group-head small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.sales-plan-group-score{text-align:right;flex:0 0 auto}.sales-plan-group-score b{font-size:14px}.sales-plan-group-score small{font-size:8px}.sales-plan-group-track{height:5px;margin:0 13px;border-radius:999px;overflow:hidden;background:var(--line)}.sales-plan-group-track i{display:block;height:100%;border-radius:inherit;background:var(--plan-red)}.sales-plan-group-block.yellow .sales-plan-group-track i{background:var(--plan-yellow)}.sales-plan-group-block.green .sales-plan-group-track i{background:var(--plan-green)}.sales-plan-group-summary{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 13px 10px;color:var(--muted);font-size:8.5px}.sales-plan-group-summary b{color:var(--text);font-weight:800}.sales-plan-group-members{display:grid;gap:7px;padding:8px;border-top:1px solid var(--line);background:var(--panel)}.sales-plan-group-members .sales-plan-row{background:var(--panel2);border-color:color-mix(in srgb,var(--line) 88%,transparent)}
@media(max-width:640px){.plan-period-pickers,.plan-sort-grid{grid-template-columns:1fr}.sales-plan-group-head{align-items:flex-start}.sales-plan-group-summary{display:grid;gap:4px}.sales-plan-group-members{padding:6px}}

/* Sales-plan period controls are mutually exclusive. Author display rules for
   the grid wrappers must never override the native hidden attribute. */
#salesPlanCustomRange[hidden],
#salesPlanSpecificMonthWrap[hidden],
#salesPlanSpecificQuarterWrap[hidden],
#salesPlanSpecificYearWrap[hidden]{display:none!important}

/* v3.2.49: margin breakdown = commission reward - return */
.plan-details .plan-breakdown-detail{padding-top:5px;border-top:1px dashed var(--line)}
.plan-details .plan-breakdown-detail span{font-size:8px}
.plan-details .plan-breakdown-detail strong{font-size:10px}
.sales-plan-breakdown{opacity:.86;white-space:normal;line-height:1.25}
@media(max-width:1380px){.plan-details{grid-template-columns:repeat(3,minmax(0,1fr));}.plan-details .plan-breakdown-detail{grid-column:auto}}
@media(max-width:640px){.plan-details{grid-template-columns:1fr 1fr}.plan-details>div:first-child{grid-column:1/-1}}

/* v3.2.50 — Google sales-plan source + dashboard widget visibility */
[data-widget][hidden]{display:none!important}
.google-sales-plan-card{border-color:color-mix(in srgb,var(--accent) 16%,var(--line))}
.sales-plan-source-note{margin:-2px 0 10px;padding:7px 10px;border:1px dashed var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);font-size:8.5px;line-height:1.35}
.settings-section{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.settings-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.settings-section-head h3{margin:0;font-size:12px;font-weight:900}.settings-section-head p{margin:3px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.btn.compact{height:32px;padding:0 10px;font-size:9px}
.widget-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.widget-toggle-option{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer}
.widget-toggle-option:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.widget-toggle-option input{width:15px;height:15px;margin:0;accent-color:var(--accent);flex:0 0 auto}.widget-toggle-option span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9.5px;font-weight:700}
.google-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.google-source-status{margin-top:9px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);font-size:9px;line-height:1.4}
.google-source-status[data-state="success"]{color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,var(--line))}.google-source-status[data-state="error"]{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.google-source-status[data-state="warning"]{color:var(--plan-yellow)}
@media(max-width:640px){.widget-toggle-grid{grid-template-columns:1fr}.settings-section-head{flex-direction:column}.settings-section-head .btn{width:100%}.google-source-actions .btn{flex:1 1 100%}}

/* v3.2.51 — independent Google widgets + workspace */
.google-trend-card{grid-column:1/-1;min-height:330px;border-color:color-mix(in srgb,var(--accent) 14%,var(--line))}
.workspace-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.workspace-card{width:min(760px,calc(100vw - 32px))}.workspace-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.workspace-widget-grid .widget-toggle-option{min-height:42px}.workspace-widget-grid .widget-toggle-option:has(input:not(:checked)){opacity:.7}.workspace-widget-grid .widget-toggle-option:has(input:checked){border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}
@media(max-width:920px){.google-trend-card{grid-column:1}}
@media(max-width:640px){.workspace-widget-grid{grid-template-columns:1fr}.workspace-btn{grid-column:1/-1}}


/* v3.2.52 — movable dashboard workspace */
.workspace-edit-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 10px;padding:10px 12px;border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent-soft) 42%,var(--panel))}
.workspace-edit-bar[hidden]{display:none!important}.workspace-edit-copy{display:grid;gap:2px;min-width:0}.workspace-edit-copy strong{font-size:11px}.workspace-edit-copy span{color:var(--muted);font-size:9px}.workspace-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.workspace-layout-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.workspace-layout-callout>div{display:grid;gap:2px;min-width:0}.workspace-layout-callout strong{font-size:10px}.workspace-layout-callout span{color:var(--muted);font-size:8.5px;line-height:1.4}
.workspace-drag-handle{display:none;position:absolute;z-index:40;left:50%;top:5px;transform:translateX(-50%);width:43px;height:23px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft));box-shadow:0 4px 14px rgba(30,18,38,.10);grid-template-columns:repeat(3,3px);grid-template-rows:repeat(2,3px);place-content:center;gap:3px;cursor:grab;touch-action:none;color:var(--accent)}.workspace-drag-handle span{width:3px;height:3px;border-radius:50%;background:currentColor}.workspace-drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.workspace-editing [data-widget]{position:relative;outline:2px dashed color-mix(in srgb,var(--accent) 24%,var(--line));outline-offset:-2px;transition:opacity .12s ease,outline-color .12s ease,transform .12s ease}.workspace-editing [data-widget]>.workspace-drag-handle{display:grid}.workspace-editing [data-widget]>*:not(.workspace-drag-handle):not(.workspace-resize-handle){pointer-events:none;user-select:none}.workspace-editing [data-widget]:hover{outline-color:color-mix(in srgb,var(--accent) 52%,var(--line))}.workspace-editing .workspace-dragging{opacity:.58;outline-color:var(--accent);transform:scale(.997)}.workspace-editing .workspace-drop-target{outline-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent),var(--shadow)}.workspace-drag-active{cursor:grabbing!important;user-select:none}.workspace-drag-active .workspace-drag-handle{cursor:grabbing}
.workspace-editing .kpi-grid,.workspace-editing .dashboard-grid{padding-top:4px}
@media(max-width:760px){.workspace-edit-bar{align-items:flex-start;flex-direction:column}.workspace-edit-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.workspace-edit-actions .btn{width:100%}.workspace-layout-callout{align-items:flex-start;flex-direction:column}.workspace-layout-callout .btn{width:100%}}
@media(max-width:480px){.workspace-edit-actions{grid-template-columns:1fr}}


/* v3.2.53 — ramp-up analytics, collapsible/resizable widgets */
.widget-collapse-btn{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:15px;line-height:1}.widget-collapse-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.widget-collapse-btn span{transform:translateY(-1px)}
.widget-collapsed{min-height:0!important}.widget-collapsed>.card-head{margin-bottom:0!important}.widget-collapsed>:not(.card-head):not(.workspace-drag-handle):not(.workspace-resize-handle){display:none!important}.widget-collapsed .widget-collapse-btn{color:var(--accent)}
.widget-scroll-sized{overflow:auto!important;scrollbar-width:thin;overscroll-behavior:contain}
.workspace-resize-handle{display:none;position:absolute;z-index:45;right:7px;bottom:7px;width:26px;height:26px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft));color:var(--accent);cursor:ns-resize;touch-action:none;box-shadow:0 3px 12px rgba(30,18,38,.10)}.workspace-resize-handle:before,.workspace-resize-handle:after,.workspace-resize-handle span{content:"";position:absolute;height:2px;border-radius:9px;background:currentColor;transform:rotate(-45deg);transform-origin:right center;right:5px}.workspace-resize-handle:before{width:8px;bottom:6px}.workspace-resize-handle:after{width:13px;bottom:6px}.workspace-resize-handle span{width:5px;bottom:6px}
.workspace-editing [data-widget]>.workspace-resize-handle{display:block;pointer-events:auto!important}.workspace-editing [data-widget]>*:not(.workspace-drag-handle):not(.workspace-resize-handle){pointer-events:none;user-select:none}.workspace-editing .workspace-resizing{outline-color:var(--accent)!important}.workspace-editing .widget-collapse-btn{pointer-events:none!important}
.sales-plan-group-head{position:relative}.sales-plan-group-toggle{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:14px}.sales-plan-group-toggle:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.sales-plan-group-members[hidden]{display:none!important}.sales-plan-group-block.group-collapsed .sales-plan-group-summary{padding-bottom:12px}
.ramp-up-card{grid-column:1/-1;min-height:310px}.ramp-up-body{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:10px}.ramp-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ramp-summary>div{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.ramp-summary span{display:block;color:var(--muted);font-size:8.5px;font-weight:800}.ramp-summary strong{display:block;margin-top:2px;font-size:17px}.ramp-note,.ramp-settings-note{padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent-soft) 34%,var(--panel));color:var(--muted);font-size:8.5px;line-height:1.45}.ramp-rows{display:grid;gap:7px}.ramp-row{display:grid;grid-template-columns:minmax(210px,1.05fr) 110px 72px minmax(175px,.8fr) minmax(250px,1.2fr);gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--panel2)}.ramp-person{display:flex;align-items:center;gap:9px;min-width:0}.ramp-person>div:last-child{min-width:0}.ramp-person strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ramp-person small,.ramp-start small,.ramp-result small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.ramp-start>span{font-size:10px;font-weight:800}.ramp-status{display:inline-flex;justify-content:center;padding:4px 6px;border-radius:999px;border:1px solid var(--line);font-size:8px;font-weight:850}.ramp-status.on{color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,var(--line))}.ramp-status.off{color:var(--muted)}.ramp-result strong{display:block;font-size:10px}.ramp-month-strip{height:42px;display:flex;align-items:flex-end;gap:3px;min-width:0;overflow-x:auto;padding-bottom:2px}.ramp-month-chip{position:relative;width:18px;height:34px;flex:0 0 18px;border-radius:5px;background:var(--line);overflow:hidden}.ramp-month-chip i{position:absolute;left:0;right:0;bottom:0;background:var(--plan-red);opacity:.8}.ramp-month-chip.yellow i{background:var(--plan-yellow)}.ramp-month-chip.green i{background:var(--plan-green)}.ramp-month-chip b{position:absolute;left:0;right:0;bottom:1px;text-align:center;color:var(--text);font-size:7px;text-shadow:0 1px 2px var(--panel)}.ramp-month-strip em{align-self:center;color:var(--muted);font-size:8px;font-style:normal}.ramp-up-settings-card{width:min(560px,calc(100vw - 32px))}.ramp-up-settings-body{display:grid;gap:12px}
@media(max-width:980px){.ramp-row{grid-template-columns:minmax(190px,1fr) 100px 70px minmax(170px,1fr);}.ramp-month-strip{grid-column:1/-1}.ramp-summary{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.ramp-summary{grid-template-columns:1fr}.ramp-row{grid-template-columns:1fr 1fr}.ramp-person,.ramp-month-strip{grid-column:1/-1}.ramp-result{grid-column:1/-1}.sales-plan-group-toggle{width:25px;height:25px}}

.widget-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.widget-head-actions>.muted{white-space:nowrap}

/* v3.2.54 — ramp-up filters, source switch and full month history */
.trend-floating-tooltip{white-space:pre-line}
.ramp-up-head{align-items:flex-start}.ramp-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.ramp-source-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.ramp-source-switch button{height:27px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:8.5px;font-weight:850;cursor:pointer}.ramp-source-switch button:hover{color:var(--text)}.ramp-source-switch button.active{background:var(--panel);color:var(--accent);box-shadow:0 2px 8px rgba(30,18,38,.08)}
.ramp-row[data-ramp-manager]{cursor:pointer;transition:border-color .12s ease,background .12s ease}.ramp-row[data-ramp-manager]:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent-soft) 18%,var(--panel2))}.ramp-row[data-ramp-manager]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ramp-row.expanded{align-items:start}.ramp-row.expanded .ramp-month-strip{grid-column:1/-1}
.ramp-month-chip.unavailable{background:repeating-linear-gradient(135deg,var(--line),var(--line) 4px,color-mix(in srgb,var(--panel2) 90%,var(--line)) 4px,color-mix(in srgb,var(--panel2) 90%,var(--line)) 8px);opacity:.65}.ramp-month-chip.unavailable b{color:var(--muted)}.ramp-month-name{display:none}
.ramp-month-strip.expanded{height:auto;min-height:62px;display:flex;align-items:flex-end;flex-wrap:wrap;overflow:visible;gap:7px 5px;padding:7px 2px 3px;border-top:1px dashed var(--line)}.ramp-month-strip.expanded .ramp-month-chip{width:38px;height:50px;flex:0 0 38px;overflow:visible;margin-bottom:13px}.ramp-month-strip.expanded .ramp-month-chip b{bottom:5px;font-size:8px}.ramp-month-strip.expanded .ramp-month-name{display:block;position:absolute;left:50%;top:calc(100% + 3px);transform:translateX(-50%);width:46px;text-align:center;color:var(--muted);font-size:6.8px;font-weight:750;white-space:nowrap}.ramp-month-strip.expanded .ramp-month-chip i{border-radius:0 0 5px 5px}
.ramp-up-entities{max-height:280px;overflow:auto;padding-right:2px}.ramp-up-settings-card{width:min(650px,calc(100vw - 32px))}
@media(max-width:760px){.ramp-up-head{gap:8px}.ramp-head-actions{align-items:flex-end;flex-direction:column}.ramp-source-switch button{padding:0 7px}}
@media(max-width:480px){.ramp-head-actions{width:100%;align-items:stretch}.ramp-source-switch{justify-content:stretch}.ramp-source-switch button{flex:1}.ramp-head-actions .widget-settings-btn{align-self:flex-end}}

/* v3.2.56 — laptop-safe responsive grid, horizontal workspace sizing, manager operations */
.dashboard-grid{align-items:start}
.dashboard-grid>[data-widget]{align-self:start;height:auto}
.dashboard-grid>[data-widget-span="1"]{grid-column:span 1}
.dashboard-grid>[data-widget-span="2"]{grid-column:span 2}
.dashboard-grid>[data-widget-span="3"]{grid-column:1/-1}
.widget-collapsed{align-self:start!important;height:auto!important;min-height:0!important}
.widget-collapsed>.card-head{min-height:28px}
.widget-collapsed>:not(.card-head):not(.workspace-drag-handle):not(.workspace-resize-handle){display:none!important}

/* Horizontal size only: widget content keeps its designed vertical dimensions. */
.workspace-resize-handle{display:none;position:absolute;z-index:45;right:5px;top:50%;bottom:auto;transform:translateY(-50%);width:20px;height:46px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft));color:var(--accent);cursor:ew-resize;touch-action:none;box-shadow:0 3px 12px rgba(30,18,38,.10)}
.workspace-resize-handle:before,.workspace-resize-handle:after,.workspace-resize-handle span{content:"";position:absolute;top:9px;bottom:9px;width:2px;height:auto;border-radius:9px;background:currentColor;transform:none;right:auto}
.workspace-resize-handle:before{left:6px}.workspace-resize-handle span{left:9px}.workspace-resize-handle:after{left:12px}
.workspace-editing [data-widget]>.workspace-resize-handle{display:block;pointer-events:auto!important}
.widget-scroll-sized{height:auto!important;max-height:none!important}

/* Bitrix and Google dynamics use the same systemic width and the same fixed vertical chart size. */
.revenue-card,.google-trend-card{min-height:330px}
.revenue-card .trend-chart,.google-trend-card .trend-chart{height:245px;min-height:245px;max-height:245px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}

.global-period-filter{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.global-period-extra{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.global-period-extra[hidden]{display:none!important}
.compact-period{min-height:40px;padding-left:9px}
.compact-period select{min-width:74px}
.compact-period input{min-width:126px;border:0;outline:0;background:transparent;color:var(--text);font-weight:700}

.kpi-won-card .kpi-head{align-items:flex-start;min-width:0}
.kpi-won-card .kpi-head>span:first-child{min-width:0}
.kpi-won-card .kpi-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;max-width:100%;margin-left:auto;flex-wrap:wrap}
.kpi-won-card .kpi-settings-btn{flex:0 0 auto}
.kpi-won-card .kpi-mini-toggle{min-width:0;max-width:100%}

.managers-card-head{align-items:flex-start}.managers-card-head>.widget-head-actions{flex-wrap:wrap}
.managers-table-wrap{overflow:auto;max-width:100%;scrollbar-width:thin}
.manager-performance-table{min-width:1180px}
.manager-performance-table th,.manager-performance-table td{white-space:nowrap}
.manager-performance-table th:first-child,.manager-performance-table td:first-child{position:sticky;left:0;z-index:2;background:var(--panel)}
.manager-performance-table th:first-child{z-index:4;background:var(--panel2)}
.manager-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden}
.manager-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.manager-department-group-row td{position:static!important;background:color-mix(in srgb,var(--accent-soft) 40%,var(--panel2))!important;border-top:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-bottom:1px solid var(--line);padding:9px 11px!important}
.manager-department-group-row div{display:flex;align-items:center;justify-content:space-between;gap:12px}.manager-department-group-row strong{font-size:11px}.manager-department-group-row span{color:var(--muted);font-size:9px;font-weight:750}
.manager-settings-card{width:min(540px,calc(100vw - 32px))}.manager-settings-note{padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--muted);font-size:9px;line-height:1.5}

@media(max-width:1600px){
  .exec-app{padding:14px}
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar-left{padding-top:2px}.toolbar-actions{flex:1 1 880px}
  .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1380px){
  .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-grid>[data-widget-span="3"]{grid-column:1/-1}
  .dashboard-grid>[data-widget-span="2"]{grid-column:span 2}
  .dashboard-grid>[data-widget-span="1"]{grid-column:span 1}
  .toolbar-actions{justify-content:flex-start}
  .select-control select{min-width:104px}
  .kpi-won-card{padding-right:12px;padding-left:12px}
  .kpi-won-card .kpi-mini-toggle button{padding-left:6px;padding-right:6px;font-size:8px}
}
@media(max-width:920px){
  .dashboard-grid{grid-template-columns:1fr}
  .dashboard-grid>[data-widget-span]{grid-column:1/-1}
  .workspace-resize-handle{display:none!important}
  .toolbar-left,.toolbar-actions{width:100%}.toolbar-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .global-period-filter{width:100%}.global-period-filter>.select-control{flex:1 1 190px}.global-period-extra{width:100%}.global-period-extra>.select-control{flex:1 1 130px}
  .compact-period input,.compact-period select{width:100%;min-width:0}
  .manager-department-group-row div{align-items:flex-start;flex-direction:column;gap:2px}
}
@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}}

/* v3.2.56 final — notebook safety and fixed-height analytical content */
@media(max-width:1760px){
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1500px){
  .kpi-won-card .kpi-head{flex-wrap:wrap}
  .kpi-won-card .kpi-head-actions{width:100%;justify-content:space-between;margin-left:0}
  .kpi-won-card .kpi-mini-toggle{flex:1 1 auto}
  .kpi-won-card .kpi-mini-toggle button{flex:1 1 auto;min-width:0;padding-left:5px;padding-right:5px}
}
/* A collapsed card owns only its header height even when a neighbour in the grid row is tall. */
.dashboard-grid>.widget-collapsed{align-self:start!important;block-size:max-content!important;min-block-size:0!important;padding-bottom:16px}
.dashboard-grid>.widget-collapsed>.card-head{margin-bottom:0!important}
/* Horizontal data tables keep their designed vertical flow; page-space editing never changes their height. */
.managers-table-wrap,.table-wrap,.sales-plan-body,.ramp-up-body{max-height:none}
.revenue-card .trend-chart,.google-trend-card .trend-chart{resize:none!important}
/* Fallback avatars remain circular and readable. */
.manager-avatar{display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:900}


/* v3.2.57 — composite KPI, shell-mounted controls and sortable managers */
.dashboard-shell-embedded .exec-app{padding-top:12px}
.toolbar-shell-mounted{margin:0!important}
.kpi-grid{display:block!important;grid-template-columns:none!important;margin-bottom:10px}
.kpi-summary-card{padding:16px;min-width:0}
.kpi-summary-head{margin-bottom:12px}
.kpi-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;align-items:stretch}
.kpi-summary-grid>.kpi-card{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel2);box-shadow:none}
.kpi-summary-grid>[hidden]{display:none!important}
.kpi-summary-grid .kpi-won-card{background:color-mix(in srgb,var(--success) 2.5%,var(--panel2))}
.kpi-widget-settings-card{width:min(600px,calc(100vw - 32px))}.kpi-section-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-inline-error{display:block;min-height:16px;margin-top:8px;color:var(--danger);font-size:9px;font-weight:750}
.manager-sort-btn{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;white-space:nowrap}.manager-performance-table th:first-child .manager-sort-btn{justify-content:flex-start}.manager-sort-btn span{color:var(--muted);font-size:8px}.manager-sort-btn.active{color:var(--accent)}.manager-sort-btn.active span{color:var(--accent)}
.manager-department-group-row>td>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.manager-department-copy{display:flex;align-items:baseline;gap:10px;min-width:0}.manager-department-copy>span{min-width:0}.manager-group-toggle{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:14px}.manager-group-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.manager-data-row[hidden]{display:none!important}
@media(max-width:1760px){.kpi-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kpi-section-toggle-grid{grid-template-columns:1fr}.kpi-summary-card{padding:12px}.manager-department-copy{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:480px){.kpi-summary-grid{grid-template-columns:1fr}}


/* v3.2.58 — financial source switches and company breakdown */
.general-plan-head,.manager-head-actions{min-width:0}.financial-source-switch{flex:0 0 auto}.manager-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.manager-companies-cell{cursor:pointer;user-select:none;white-space:nowrap}.manager-companies-cell:hover{background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel))}.manager-companies-cell span{font-weight:850}.manager-companies-cell i{display:inline-block;margin-left:5px;color:var(--muted);font-style:normal;font-size:9px}.manager-company-detail-head{min-width:92px;color:var(--accent)!important;background:color-mix(in srgb,var(--accent-soft) 34%,var(--panel2))!important}.manager-company-detail-cell{background:color-mix(in srgb,var(--accent-soft) 18%,transparent);font-weight:800}.manager-performance-table.company-breakdown-open{min-width:1260px}
@media(max-width:920px){.general-plan-head{gap:8px}.general-plan-head>.widget-head-actions{align-items:flex-end;flex-direction:column}.manager-head-actions{align-items:flex-end}.financial-source-switch button{padding:0 7px}}

/* v3.2.60 — compact deal breakdown in Managers */
.manager-deals-cell{cursor:pointer;user-select:none;white-space:nowrap}.manager-deals-cell:hover{background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel))}.manager-deals-cell span{font-weight:850}.manager-deals-cell i{display:inline-block;margin-left:5px;color:var(--muted);font-style:normal;font-size:9px}.manager-deal-detail-cell{background:color-mix(in srgb,var(--accent-soft) 12%,transparent);font-weight:800}.manager-performance-table.deal-breakdown-open{min-width:1120px}.manager-performance-table.deal-breakdown-open.company-breakdown-open{min-width:1420px}

/* v3.2.61 — KPI financial source and ten-card summary */
.kpi-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.kpi-source-switch{flex:0 0 auto}
.kpi-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1760px){.kpi-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1080px){.kpi-summary-head{align-items:flex-start;gap:8px}.kpi-summary-actions{max-width:100%}.kpi-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.kpi-summary-actions{width:100%;justify-content:space-between}.kpi-source-switch{flex:1}.kpi-source-switch button{flex:1}.kpi-summary-grid{grid-template-columns:1fr}}


/* v3.2.62 — KPI source switch + redesigned «Успешно закрыто» */
.kpi-source-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}
.kpi-source-switch button{height:27px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:8.5px;font-weight:850;cursor:pointer}
.kpi-source-switch button:hover{color:var(--text)}
.kpi-source-switch button.active{background:var(--panel);color:var(--accent);box-shadow:0 2px 8px rgba(30,18,38,.08)}
.kpi-summary-grid>.kpi-won-card{grid-column:span 2;min-height:158px;justify-content:flex-start}
.kpi-won-card>.kpi-head{align-items:center}
.kpi-won-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;flex:1}
.kpi-won-metric{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel) 62%,transparent)}
.kpi-won-metric>span{color:var(--muted);font-size:8.5px;font-weight:750;line-height:1.2}
.kpi-won-metric>strong{margin-top:4px;color:var(--text);font-size:16px;line-height:1.05;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi-won-meta{display:block;margin-top:7px;color:var(--muted);font-size:8.5px}
@media(max-width:920px){.kpi-summary-grid>.kpi-won-card{grid-column:span 2}}
@media(max-width:560px){.kpi-source-switch{flex:1}.kpi-source-switch button{flex:1}.kpi-summary-grid>.kpi-won-card{grid-column:span 1}.kpi-won-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.kpi-won-metrics{grid-template-columns:1fr}}


/* v3.2.63 — dual workspace: grid + free Windows-like layout */
.workspace-surface{position:relative;min-width:0}
.workspace-mode-panel{display:grid;gap:9px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.workspace-mode-panel .settings-section-head{margin:0}
.workspace-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.workspace-mode-switch>button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.workspace-mode-switch>button>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--panel2);color:var(--muted);font-size:15px}
.workspace-mode-switch>button>strong{font-size:10px}.workspace-mode-switch>button>small{color:var(--muted);font-size:8px;line-height:1.3}
.workspace-mode-switch>button:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.workspace-mode-switch>button.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 35%,var(--panel));box-shadow:0 4px 14px rgba(30,18,38,.06)}.workspace-mode-switch>button.active>span{background:var(--accent-soft);color:var(--accent)}
.workspace-layout-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}

body.workspace-mode-free .workspace-surface{isolation:isolate;min-height:720px;margin-bottom:12px}
body.workspace-mode-free .workspace-surface>.kpi-grid,body.workspace-mode-free .workspace-surface>.dashboard-grid{display:contents!important}
body.workspace-mode-free .workspace-surface [data-widget]{position:absolute!important;box-sizing:border-box!important;grid-column:auto!important;margin:0!important;align-self:auto!important;min-height:0!important;max-width:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;transition:box-shadow .12s ease,outline-color .12s ease}
body.workspace-mode-free .workspace-surface [data-widget].workspace-window-active{box-shadow:0 16px 42px rgba(25,17,32,.18),var(--shadow);outline:1px solid color-mix(in srgb,var(--accent) 24%,transparent)}
body.workspace-mode-free .workspace-surface [data-widget]>.card-head{cursor:move;user-select:none}
body.workspace-mode-free .workspace-surface [data-widget]>.card-head button,body.workspace-mode-free .workspace-surface [data-widget]>.card-head input,body.workspace-mode-free .workspace-surface [data-widget]>.card-head select,body.workspace-mode-free .workspace-surface [data-widget]>.card-head a{cursor:pointer}
body.workspace-mode-free .workspace-surface [data-widget].widget-collapsed{height:var(--free-collapsed-height,62px)!important;overflow:hidden!important;padding-bottom:16px!important}
body.workspace-mode-free .workspace-surface [data-widget].widget-collapsed>.card-head{min-height:28px;margin-bottom:0!important}
body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle{display:block;right:6px;bottom:6px;top:auto;transform:none;width:25px;height:25px;border-radius:8px;cursor:nwse-resize;opacity:.62}
body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle:hover,body.workspace-mode-free .workspace-surface [data-widget].workspace-window-active>.workspace-resize-handle{opacity:1}
body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle:before,body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle:after,body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle span{top:auto;left:auto;height:2px;bottom:5px;right:5px;transform:rotate(-45deg);transform-origin:right center}
body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle:before{width:7px}body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle span{width:11px}body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle:after{width:15px}
body.workspace-mode-free .workspace-surface [data-widget].widget-collapsed>.workspace-resize-handle{display:none!important}
body.workspace-mode-free.workspace-drag-active{cursor:grabbing!important}
body.workspace-mode-free .workspace-dragging{opacity:.9!important;transform:none!important;box-shadow:0 20px 48px rgba(25,17,32,.22),var(--shadow)!important}
body.workspace-mode-free .workspace-resizing{outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent)!important}

/* Grid mode keeps the previous width-only resize behavior. */
body.workspace-mode-grid.workspace-editing [data-widget][data-grid-resizable="false"]>.workspace-resize-handle{display:none!important}
body.workspace-mode-grid .workspace-resize-handle{cursor:ew-resize}
body.workspace-mode-free.workspace-editing [data-widget]>*:not(.workspace-drag-handle):not(.workspace-resize-handle){pointer-events:none;user-select:none}
body.workspace-mode-free.workspace-editing [data-widget]>.workspace-resize-handle,body.workspace-mode-free.workspace-editing [data-widget]>.workspace-drag-handle{pointer-events:auto!important}

@media(max-width:760px){.workspace-mode-switch{grid-template-columns:1fr}.workspace-layout-buttons{width:100%;display:grid;grid-template-columns:1fr 1fr}.workspace-layout-buttons .btn{width:100%}}
@media(max-width:480px){.workspace-layout-buttons{grid-template-columns:1fr}}

/* v3.2.64 — resize from the actual widget border; no scroll-bound resize button */
.workspace-resize-handle{display:none!important}
body.workspace-mode-free .workspace-surface [data-widget]>.workspace-resize-handle,
body.workspace-mode-grid.workspace-editing .workspace-surface [data-widget]>.workspace-resize-handle{display:none!important}

/* In precise grid editing, keep content protected while the real card border remains hit-testable. */
.workspace-editing [data-widget]>*:not(.workspace-drag-handle){pointer-events:none;user-select:none}
.workspace-editing [data-widget]>.workspace-drag-handle{pointer-events:auto!important}

body.workspace-resize-cursor-n,body.workspace-resize-cursor-n *{cursor:n-resize!important}
body.workspace-resize-cursor-s,body.workspace-resize-cursor-s *{cursor:s-resize!important}
body.workspace-resize-cursor-e,body.workspace-resize-cursor-e *{cursor:e-resize!important}
body.workspace-resize-cursor-w,body.workspace-resize-cursor-w *{cursor:w-resize!important}
body.workspace-resize-cursor-ne,body.workspace-resize-cursor-ne *{cursor:ne-resize!important}
body.workspace-resize-cursor-nw,body.workspace-resize-cursor-nw *{cursor:nw-resize!important}
body.workspace-resize-cursor-se,body.workspace-resize-cursor-se *{cursor:se-resize!important}
body.workspace-resize-cursor-sw,body.workspace-resize-cursor-sw *{cursor:sw-resize!important}
body.workspace-mode-free .workspace-surface [data-widget].workspace-resizing{user-select:none!important}

/* v3.2.68 — analytics widget constructor */
.workspace-widget-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.analytics-builder-card{width:min(980px,calc(100vw - 28px));max-height:min(900px,calc(100vh - 28px))}
.analytics-builder-body{display:grid;gap:16px;overflow:auto}
.analytics-builder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.analytics-name-field{grid-column:span 2}
.analytics-custom-range{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:span 2}
.analytics-builder-section{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel2)}
.analytics-builder-section .settings-section-head{margin:0}
.analytics-entity-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:210px;overflow:auto;padding-right:3px}
.analytics-entity-group{grid-column:1/-1;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:5px}
.analytics-entity-option{display:flex;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.analytics-entity-option input{margin-top:2px}.analytics-entity-option span{display:grid;min-width:0}.analytics-entity-option b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-entity-option small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analytics-series-editor{display:grid;gap:8px}
.analytics-series-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(105px,.65fr) 34px;gap:7px;align-items:end;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.analytics-series-row .field>span{font-size:8px}.analytics-series-remove{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);cursor:pointer;font-size:17px}.analytics-series-remove:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}
.analytics-builder-hint{font-size:9px;color:var(--muted);line-height:1.5}
.analytics-builder-card .btn.danger{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));background:transparent}

.analytics-custom-widget{min-height:350px}.analytics-custom-widget>.card-head{align-items:flex-start}.analytics-custom-widget .analytics-widget-head-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:3px}.analytics-custom-widget .analytics-widget-badge{font-size:8px;padding:3px 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel2)}
.analytics-chart-shell{display:grid;grid-template-rows:minmax(250px,1fr) auto;gap:10px;min-height:290px;height:100%}
.analytics-chart-stage{position:relative;min-width:0;min-height:250px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 58%,transparent),transparent);overflow:hidden}
.analytics-chart-stage svg{display:block;width:100%;height:100%;min-height:250px;overflow:visible}
.analytics-grid-line{stroke:var(--line);stroke-width:1}.analytics-axis-line{stroke:color-mix(in srgb,var(--muted) 55%,transparent);stroke-width:1}.analytics-axis-text{fill:var(--muted);font-size:10px}.analytics-series-path{fill:none;stroke-width:2.2;vector-effect:non-scaling-stroke}.analytics-series-area{opacity:.08}.analytics-point{stroke:var(--panel);stroke-width:1.5;vector-effect:non-scaling-stroke}.analytics-bar{opacity:.72}.analytics-correlation-point{opacity:.78;stroke:var(--panel);stroke-width:1.2;vector-effect:non-scaling-stroke}
.analytics-series-0{--analytics-color:#8757a8}.analytics-series-1{--analytics-color:#2f7d67}.analytics-series-2{--analytics-color:#b07434}.analytics-series-3{--analytics-color:#4d6fa8}.analytics-series-4{--analytics-color:#a44d67}.analytics-series-5{--analytics-color:#6d7c38}.analytics-series-6{--analytics-color:#7e5c4c}.analytics-series-7{--analytics-color:#3e7f9b}.analytics-series-8{--analytics-color:#8a7040}.analytics-series-9{--analytics-color:#5d5a9f}
.analytics-series-path{stroke:var(--analytics-color);fill:none}.analytics-point,.analytics-bar,.analytics-correlation-point{stroke:var(--analytics-color);fill:var(--analytics-color)}.analytics-series-area{fill:var(--analytics-color)}
.analytics-chart-legend{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;max-height:86px;overflow:auto}.analytics-legend-item{display:grid;grid-template-columns:10px auto;grid-template-rows:auto auto;column-gap:6px;align-items:center;min-width:140px}.analytics-legend-dot{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--analytics-color)}.analytics-legend-item strong{font-size:9px;line-height:1.25}.analytics-legend-item small{font-size:8px;color:var(--muted)}
.analytics-chart-empty{height:100%;min-height:250px;display:grid;place-items:center;color:var(--muted);font-size:10px;text-align:center;padding:20px}.analytics-correlation-badge{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.analytics-custom-widget.widget-collapsed .analytics-chart-shell{display:none}
body.workspace-mode-free .analytics-custom-widget{min-height:0}.analytics-custom-widget .widget-settings-btn[data-edit-analytics-widget]{flex:0 0 auto}

@media(max-width:900px){.analytics-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-entity-list{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-series-row{grid-template-columns:1fr 1fr 1fr}.analytics-series-remove{align-self:end}.analytics-name-field{grid-column:span 2}}
@media(max-width:620px){.workspace-widget-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.analytics-builder-grid{grid-template-columns:1fr}.analytics-name-field,.analytics-custom-range{grid-column:span 1}.analytics-entity-list{grid-template-columns:1fr}.analytics-series-row{grid-template-columns:1fr 1fr}.analytics-series-row .field:first-child{grid-column:1/-1}.analytics-chart-legend{max-height:110px}}
.workspace-widget-grid .custom-analytics-toggle>span{display:grid;gap:2px}.workspace-widget-grid .custom-analytics-toggle small{font-size:8px;color:var(--muted);font-weight:500}
.analytics-small-grid{height:100%;min-height:250px;overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:8px;align-content:start}
.analytics-mini-chart{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:7px}.analytics-mini-chart svg{min-height:190px;height:auto}.analytics-mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px 4px}.analytics-mini-head strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-mini-head span{font-size:9px;font-weight:800;white-space:nowrap}
body.workspace-mode-free .analytics-custom-widget{display:flex;flex-direction:column}
body.workspace-mode-free .analytics-custom-widget>.card-head{flex:0 0 auto}
body.workspace-mode-free .analytics-custom-widget>.analytics-chart-shell{flex:1 1 auto;height:auto;min-height:0;grid-template-rows:minmax(0,1fr) auto}
body.workspace-mode-free .analytics-custom-widget .analytics-chart-stage{min-height:0}
body.workspace-mode-free .analytics-custom-widget .analytics-chart-stage svg{min-height:220px}

/* v3.2.70 — system reference charts. Fixed metric semantics; no constructor aggregation. */
.system-charts-card{min-height:430px;overflow:hidden}
.system-chart-head{align-items:flex-start;gap:14px}
.system-chart-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.system-chart-preset{display:grid;gap:4px;min-width:245px}
.system-chart-preset>span{font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.system-chart-preset select{height:34px;min-width:0;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font:inherit;font-size:9px;font-weight:800}
.system-chart-control{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);color:var(--muted);font-size:9px}
.system-chart-control b{color:var(--text);font-weight:900}
.system-chart-stage{min-width:0;min-height:315px;overflow:auto;border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 55%,transparent),transparent);padding:8px}
.system-chart-svg{display:block;width:100%;min-width:680px;height:auto;overflow:visible}
.system-grid-line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.system-axis-text{fill:var(--muted);font-size:10px}.system-axis-title{fill:var(--text);font-size:11px;font-weight:800}
.system-series-line{fill:none;stroke:var(--analytics-color);stroke-width:2.4;vector-effect:non-scaling-stroke}
.system-series-point{fill:var(--analytics-color);stroke:var(--panel);stroke-width:1.5;vector-effect:non-scaling-stroke}
.system-bar{fill:var(--analytics-color);opacity:.72}
.system-scatter-point{fill:var(--analytics-color);opacity:.78;stroke:var(--panel);stroke-width:1.5;vector-effect:non-scaling-stroke}
.system-series-0{--analytics-color:#8757a8}.system-series-1{--analytics-color:#2f7d67}.system-series-2{--analytics-color:#b07434}.system-series-3{--analytics-color:#4d6fa8}.system-series-4{--analytics-color:#a44d67}.system-series-5{--analytics-color:#6d7c38}.system-series-6{--analytics-color:#7e5c4c}.system-series-7{--analytics-color:#3e7f9b}.system-series-8{--analytics-color:#8a7040}.system-series-9{--analytics-color:#5d5a9f}
.system-chart-legend{display:flex;align-items:center;gap:7px 14px;flex-wrap:wrap;padding:7px 6px 2px}
.system-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800}.system-legend-item i{width:9px;height:9px;border-radius:3px;background:var(--analytics-color)}
.system-chart-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.system-metric-card{display:grid;gap:2px;min-width:210px;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.system-metric-card>span,.system-metric-card>small{font-size:8px;color:var(--muted)}.system-metric-card>strong{font-size:15px;font-weight:900}
.system-small-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.system-small-chart{min-width:0;border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:7px;overflow:auto}
.system-small-chart>header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:2px 4px 4px}.system-small-chart>header strong{font-size:10px}.system-small-chart>header span{font-size:8px;color:var(--muted);font-weight:800}
.system-small-chart .system-chart-svg{min-width:420px}
.system-employee-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px 2px 2px}
.system-employee-list>span{display:grid;gap:2px;padding:7px 8px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.system-employee-list b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-employee-list small{font-size:8px;color:var(--muted)}
body.workspace-mode-free .system-charts-card{display:flex;flex-direction:column;min-height:0}.system-charts-card.widget-collapsed .system-chart-control,.system-charts-card.widget-collapsed .system-chart-stage{display:none}
@media(max-width:900px){.system-chart-head{flex-direction:column}.system-chart-actions,.system-chart-preset{width:100%}.system-small-grid{grid-template-columns:1fr}.system-employee-list{grid-template-columns:1fr}}
.system-chart-control[data-state="ok"]{border-color:color-mix(in srgb,var(--success) 28%,var(--line));background:color-mix(in srgb,var(--success) 5%,var(--panel2))}.system-chart-control[data-state="ok"] b:first-child{color:var(--success)}
.system-chart-control[data-state="error"]{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 5%,var(--panel2))}.system-chart-control[data-state="error"] b:first-child{color:var(--danger)}


/* v3.4.13 — native select popups in dark theme */
html[data-theme="dark"] .select-control select,
html[data-theme="dark"] .select-control select option,
html[data-theme="dark"] .select-control select optgroup{
  background-color:var(--panel2);
  color:var(--text);
}
html[data-theme="dark"] #periodSelect,
html[data-theme="dark"] #pipelineSelect{
  color-scheme:dark;
  background-color:var(--panel2);
  color:var(--text);
}

/* v3.4.15 — dense live grid: 2D top-left packing fills vertical holes */
body.workspace-mode-grid .workspace-surface>.kpi-grid,
body.workspace-mode-grid .workspace-surface>.dashboard-grid{
  display:block!important;
  position:relative;
  width:100%;
  min-width:0;
  min-height:0;
  overflow:visible;
}
body.workspace-mode-grid .workspace-surface>.kpi-grid{margin-bottom:10px}
body.workspace-mode-grid .workspace-surface [data-widget]{
  position:absolute!important;
  box-sizing:border-box!important;
  grid-column:auto!important;
  align-self:auto!important;
  max-width:100%;
  min-width:0;
  margin:0!important;
  transition:left .22s cubic-bezier(.2,.78,.24,1),top .22s cubic-bezier(.2,.78,.24,1),height .18s cubic-bezier(.2,.78,.24,1);
}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-grid-sized:not(.widget-collapsed){
  min-height:0!important;
  overflow:visible;
  overscroll-behavior:auto;
}
body.workspace-mode-grid .workspace-surface [data-widget].widget-collapsed{
  height:auto!important;
  overflow:hidden!important;
}
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head{
  cursor:grab;
  user-select:none;
}
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head button,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head input,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head select,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head textarea,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head a,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head label,
body.workspace-mode-grid .workspace-surface [data-widget]>.card-head [role="button"]{cursor:pointer}
body.workspace-mode-grid.workspace-drag-active,
body.workspace-mode-grid.workspace-drag-active *{cursor:grabbing!important}
body.workspace-mode-grid .workspace-grid-placeholder{
  position:absolute;
  box-sizing:border-box;
  min-width:0;
  border:2px dashed color-mix(in srgb,var(--accent) 42%,var(--line));
  border-radius:16px;
  background:color-mix(in srgb,var(--accent-soft) 34%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);
  pointer-events:none;
  transition:left .22s cubic-bezier(.2,.78,.24,1),top .22s cubic-bezier(.2,.78,.24,1);
}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-grid-floating{
  position:fixed!important;
  opacity:.97!important;
  transform:scale(1.012)!important;
  transform-origin:center center;
  box-shadow:0 24px 58px rgba(25,17,32,.26),var(--shadow)!important;
  outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent)!important;
  pointer-events:none!important;
  overflow:hidden!important;
  transition:none!important;
}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-drop-target{
  outline:2px solid color-mix(in srgb,var(--accent) 52%,transparent);
  outline-offset:-2px;
}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-resizing{
  outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent)!important;
  user-select:none!important;
  transition:none!important;
}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-grid-measuring{
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  transition:none!important;
}
/* Old 1/2/3-column spans are migration defaults only; dense packing owns geometry. */
body.workspace-mode-grid .dashboard-grid>[data-widget-span]{grid-column:auto!important}

@media(max-width:760px){
  body.workspace-mode-grid .workspace-surface [data-widget]{max-width:100%!important}
}

/* v3.4.16 — dashboard workspace uses the full available viewport width */
.exec-app{
  width:100%;
  max-width:none;
  margin:0;
  padding:12px 8px;
}
.dashboard-shell-embedded .exec-app{
  padding-left:8px;
  padding-right:8px;
}


/* v3.4.18 — KPI and main widgets use one continuous dense grid surface.
   Logical wrappers remain in the DOM, but no longer reserve separate rows. */
body.workspace-mode-grid .workspace-surface{
  position:relative;
}
body.workspace-mode-grid .workspace-surface>.kpi-grid,
body.workspace-mode-grid .workspace-surface>.dashboard-grid{
  display:contents!important;
  position:static!important;
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}


/* v3.4.18 — named dashboard screens rendered like funnel stages */
.dashboard-screens-bar{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
  margin:0 0 10px;
}
.dashboard-screen-list{
  display:flex;
  align-items:stretch;
  min-width:0;
  flex:1 1 auto;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 2px 3px 0;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}
.dashboard-screen-stage{
  --screen-stage-bg:var(--panel);
  position:relative;
  flex:0 0 auto;
  min-width:130px;
  max-width:260px;
  height:40px;
  margin-left:-7px;
  padding:0 27px 0 25px;
  border:0;
  outline:0;
  background:var(--screen-stage-bg);
  color:var(--muted);
  font-weight:800;
  font-size:12px;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%);
  filter:drop-shadow(0 1px 0 var(--line));
  scroll-snap-align:start;
  transition:background .16s ease,color .16s ease,transform .16s ease,filter .16s ease;
}
.dashboard-screen-stage:first-child{
  margin-left:0;
  padding-left:18px;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);
  border-radius:10px 0 0 10px;
}
.dashboard-screen-stage:hover{
  --screen-stage-bg:var(--accent-soft);
  color:var(--accent);
  z-index:2;
}
.dashboard-screen-stage.active{
  --screen-stage-bg:linear-gradient(135deg,var(--accent),var(--accent2));
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
  z-index:3;
  filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--accent) 25%,transparent));
}
.dashboard-screen-stage:focus-visible{
  z-index:4;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent);
}
.dashboard-screen-stage span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-screen-stage[draggable="true"]{cursor:grab;user-select:none}
.dashboard-screen-list.is-reordering .dashboard-screen-stage{transition:transform .15s ease,background .16s ease,color .16s ease,filter .16s ease}
.dashboard-screen-stage.dragging{
  opacity:.42;
  cursor:grabbing;
  z-index:8;
  filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--accent) 24%,transparent));
}
.dashboard-screen-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.dashboard-screen-action{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  color:var(--text);
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease;
}
.dashboard-screen-action:hover{
  background:var(--accent-soft);
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
  color:var(--accent);
}
.dashboard-screen-action:active{transform:translateY(1px)}
.dashboard-screen-action:disabled{opacity:.45;cursor:not-allowed}
.dashboard-screen-action svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dashboard-screen-dialog-card{width:min(520px,calc(100vw - 24px))}
.dashboard-screen-copy-option{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px;
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel2);
  cursor:pointer;
}
.dashboard-screen-copy-option input{margin-top:3px}
.dashboard-screen-copy-option span{display:flex;flex-direction:column;gap:3px}
.dashboard-screen-copy-option strong{font-size:12px}
.dashboard-screen-copy-option small{color:var(--muted);font-size:10px;line-height:1.45}
.dashboard-screen-copy-option[hidden]{display:none!important}

.dashboard-shell-embedded .dashboard-screens-bar{
  margin-top:0;
}

@media(max-width:760px){
  .dashboard-screen-stage{min-width:112px;max-width:190px;height:38px;padding-left:22px;padding-right:25px}
  .dashboard-screen-action{width:36px;height:36px}
}

/* v3.5.1 — configurable reference charts */
.system-chart-settings-btn{align-self:flex-end;flex:0 0 auto}
.system-chart-settings-card{width:min(720px,calc(100vw - 32px))}
.system-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.system-metric-toggle{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);font-size:10px;font-weight:800;cursor:pointer}
.system-metric-toggle input{accent-color:var(--accent)}
.system-correlation-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr))}
.system-correlation-summary .system-metric-card{min-width:0}
.system-correlation-note{margin:-1px 0 7px;padding:0 3px;color:var(--muted);font-size:8px}
@media(max-width:900px){.system-metric-grid{grid-template-columns:1fr}.system-correlation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.5.1 — custom analytics line rendering: SVG paths stay open/unfilled */
.analytics-custom-widget .analytics-series-path{fill:none!important}

/* v3.5.6 — KPI card layout + conversion status */
.kpi-summary-grid>.kpi-card{position:relative;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .12s ease}
.kpi-card-drag-handle{display:none;position:absolute;z-index:6;left:50%;top:5px;transform:translateX(-50%);width:38px;height:19px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,var(--accent-soft));grid-template-columns:repeat(3,3px);grid-template-rows:repeat(2,3px);place-content:center;gap:3px;cursor:grab;touch-action:none;color:var(--accent);box-shadow:0 3px 10px rgba(30,18,38,.08)}
.kpi-card-drag-handle span{width:3px;height:3px;border-radius:50%;background:currentColor}
.workspace-editing [data-widget="kpi_summary"]>.kpi-summary-grid{pointer-events:auto!important;user-select:none!important}
.workspace-editing .kpi-summary-grid>.kpi-card{outline:1px dashed color-mix(in srgb,var(--accent) 28%,var(--line));outline-offset:-2px;padding-top:25px}
.workspace-editing .kpi-card-drag-handle{display:grid;pointer-events:auto!important}
.kpi-summary-grid>.kpi-card.kpi-card-dragging{opacity:.62;outline-color:var(--accent);transform:scale(.99);z-index:7}
.kpi-summary-grid>.kpi-card.kpi-card-resizing{outline:2px solid color-mix(in srgb,var(--accent) 58%,var(--line));z-index:7}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-red{border-color:color-mix(in srgb,var(--plan-red) 38%,var(--line));background:color-mix(in srgb,var(--plan-red) 7%,var(--panel2))}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-yellow{border-color:color-mix(in srgb,var(--plan-yellow) 42%,var(--line));background:color-mix(in srgb,var(--plan-yellow) 8%,var(--panel2))}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-green{border-color:color-mix(in srgb,var(--plan-green) 38%,var(--line));background:color-mix(in srgb,var(--plan-green) 7%,var(--panel2))}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-red>strong{color:var(--plan-red)}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-yellow>strong{color:var(--plan-yellow)}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-green>strong{color:var(--plan-green)}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-red .kpi-icon{background:color-mix(in srgb,var(--plan-red) 12%,var(--panel));color:var(--plan-red)}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-yellow .kpi-icon{background:color-mix(in srgb,var(--plan-yellow) 13%,var(--panel));color:var(--plan-yellow)}
.kpi-summary-grid>[data-kpi-section="conversion"].conversion-tone-green .kpi-icon{background:color-mix(in srgb,var(--plan-green) 12%,var(--panel));color:var(--plan-green)}
.kpi-summary-grid>.kpi-card>.kpi-head{cursor:grab;user-select:none}
.kpi-summary-grid>.kpi-card.kpi-card-dragging>.kpi-head{cursor:grabbing}


/* v3.5.6 — adaptive KPI inner workspace */
.plan-ring-wrap{display:flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto}
.plan-tone-emoji{font-size:30px;line-height:1;filter:drop-shadow(0 3px 8px rgba(30,18,38,.12));user-select:none}
.plan-tone-emoji[hidden]{display:none!important}
.kpi-summary-grid{align-items:start}
.kpi-summary-grid>.kpi-card{box-sizing:border-box;align-self:start;overflow:visible;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.kpi-summary-grid>.kpi-card.kpi-card-dragging{opacity:1;transform:none;cursor:grabbing;box-shadow:0 18px 42px rgba(25,17,32,.20);outline:2px solid color-mix(in srgb,var(--accent) 58%,var(--line))}
.kpi-summary-grid>.kpi-card.kpi-grid-floating{pointer-events:none!important}
.kpi-card-placeholder{pointer-events:none;box-sizing:border-box;border:2px dashed color-mix(in srgb,var(--accent) 44%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,transparent);min-height:72px}
.kpi-summary-grid>.kpi-card.kpi-card-resizing,.kpi-summary-grid>.kpi-card.kpi-row-resizing{transition:none}
.workspace-resize-cursor-n,.workspace-resize-cursor-s{cursor:ns-resize!important}
.workspace-resize-cursor-ne,.workspace-resize-cursor-sw{cursor:nesw-resize!important}
.workspace-resize-cursor-nw,.workspace-resize-cursor-se{cursor:nwse-resize!important}
.workspace-resize-cursor-n *,.workspace-resize-cursor-s *{cursor:ns-resize!important}
.workspace-resize-cursor-ne *,.workspace-resize-cursor-sw *{cursor:nesw-resize!important}
.workspace-resize-cursor-nw *,.workspace-resize-cursor-se *{cursor:nwse-resize!important}
@media(max-width:1380px){.plan-ring-wrap{gap:9px}.plan-tone-emoji{font-size:26px}}

/* v3.5.7 — dense pixel KPI packing: continuous resize + nearest-position drag */
.kpi-summary-grid{
  display:block!important;
  position:relative!important;
  grid-template-columns:none!important;
  align-items:initial!important;
  min-height:0;
  overflow:visible;
}
.kpi-summary-grid>.kpi-card,
.kpi-summary-grid>.kpi-card-placeholder{
  position:absolute;
  box-sizing:border-box;
  margin:0!important;
}
.kpi-summary-grid>.kpi-card{
  grid-column:auto!important;
  transition:left .2s cubic-bezier(.2,.78,.24,1),top .2s cubic-bezier(.2,.78,.24,1),border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important;
}
.kpi-summary-grid>.kpi-card.kpi-card-resizing,
.kpi-summary-grid>.kpi-card.kpi-row-resizing,
.kpi-summary-grid>.kpi-card.kpi-grid-floating{
  transition:none!important;
}
.kpi-summary-grid>.kpi-card.kpi-grid-floating{position:fixed!important}
.kpi-summary-grid>.kpi-card-placeholder{
  transition:left .14s ease,top .14s ease,width .12s ease,height .12s ease;
}
@media(max-width:560px){
  .kpi-summary-grid>.kpi-card{max-width:100%}
}

/* v3.5.8 — KPI period trend markers + plan emoji badge */
.plan-tone-emoji{
  min-width:48px;
  height:44px;
  padding:0 10px;
  box-sizing:border-box;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
  box-shadow:0 4px 14px rgba(30,18,38,.08);
  filter:none;
}
.plan-tone-emoji[data-tone="red"]{border-color:color-mix(in srgb,var(--plan-red) 38%,var(--line));background:color-mix(in srgb,var(--plan-red) 8%,var(--panel2))}
.plan-tone-emoji[data-tone="yellow"]{border-color:color-mix(in srgb,var(--plan-yellow) 42%,var(--line));background:color-mix(in srgb,var(--plan-yellow) 9%,var(--panel2))}
.plan-tone-emoji[data-tone="green"]{border-color:color-mix(in srgb,var(--plan-green) 38%,var(--line));background:color-mix(in srgb,var(--plan-green) 8%,var(--panel2))}
.kpi-card>strong,.kpi-won-metric>strong{display:flex;align-items:baseline;min-width:0;white-space:nowrap}
.kpi-value-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kpi-trend-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:.18em;font-size:.78em;line-height:1;font-weight:950;font-family:Inter,system-ui,sans-serif;vertical-align:.08em}
.kpi-trend-arrow.up{color:var(--plan-green)}
.kpi-trend-arrow.down{color:var(--plan-red)}
.kpi-status-sep{flex:0 0 auto;margin:0 .14em;font-size:1em;line-height:1;color:currentColor}
.kpi-status-emoji{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1em;line-height:1;vertical-align:-.04em}
.kpi-summary-grid>[data-kpi-section="conversion"]>strong{overflow:visible;text-overflow:clip}
@media(max-width:1380px){.plan-tone-emoji{min-width:44px;height:40px;padding:0 8px}}


/* v3.5.12 — Telephony widget */
.telephony-card{grid-column:1/-1;min-height:340px}.telephony-head{align-items:center}.telephony-summary{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px;margin-bottom:11px}.telephony-summary-card{display:grid;align-content:center;min-height:78px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);min-width:0}.telephony-summary-card>span{color:var(--muted);font-size:8.5px;font-weight:800}.telephony-summary-card>strong{display:block;margin-top:5px;font-size:16px;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telephony-summary-card>small{display:block;margin-top:4px;color:var(--muted);font-size:7.5px}.telephony-summary-card.plan-summary.red{border-color:color-mix(in srgb,var(--plan-red) 45%,var(--line));background:color-mix(in srgb,var(--plan-red) 8%,var(--panel2))}.telephony-summary-card.plan-summary.yellow{border-color:color-mix(in srgb,var(--plan-yellow) 48%,var(--line));background:color-mix(in srgb,var(--plan-yellow) 8%,var(--panel2))}.telephony-summary-card.plan-summary.green,.telephony-summary-card.plan-summary.super{border-color:color-mix(in srgb,var(--plan-green) 45%,var(--line));background:color-mix(in srgb,var(--plan-green) 8%,var(--panel2))}.telephony-table{min-width:980px}.telephony-department-row td{background:color-mix(in srgb,var(--panel2) 75%,var(--panel));font-weight:750}.telephony-department-name{display:flex;align-items:center;gap:8px}.telephony-department-name span{display:grid;min-width:0}.telephony-department-name strong{font-size:10px}.telephony-department-name small{font-size:8px;color:var(--muted);font-weight:650}.telephony-group-toggle{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);font-size:14px}.telephony-group-toggle:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.telephony-plan{display:inline-grid;gap:4px;justify-items:end;min-width:84px}.telephony-plan-value{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:900}.telephony-plan-value b{font-size:12px;line-height:1}.telephony-plan>i{display:block;width:84px;height:5px;border-radius:999px;background:var(--line);overflow:hidden}.telephony-plan>i>em{display:block;height:100%;border-radius:inherit;background:var(--plan-red)}.telephony-plan.yellow>i>em{background:var(--plan-yellow)}.telephony-plan.green>i>em{background:var(--plan-green)}.telephony-plan.super>i>em{background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 45%,transparent)}.telephony-plan.red .telephony-plan-value{color:var(--plan-red)}.telephony-plan.yellow .telephony-plan-value{color:var(--plan-yellow)}.telephony-plan.green .telephony-plan-value,.telephony-plan.super .telephony-plan-value{color:var(--plan-green)}.telephony-plan.none{color:var(--muted);min-width:auto}.telephony-summary-card .telephony-plan{justify-items:start;min-width:0}.telephony-summary-card .telephony-plan-value{font-size:16px}.telephony-summary-card .telephony-plan-value b{font-size:17px}.telephony-user-row[hidden]{display:none!important}.telephony-table-wrap{max-height:none}
@media(max-width:1320px){.telephony-summary{grid-template-columns:repeat(4,minmax(125px,1fr))}}@media(max-width:760px){.telephony-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.telephony-summary-card{min-height:70px}}


/* v3.5.12 — Telephony configurable report */
.telephony-head .widget-head-actions{display:flex;align-items:center;gap:7px}
.telephony-table{min-width:760px;border-collapse:separate;border-spacing:0}
.telephony-table th,.telephony-table td{transition:background-color .16s ease,border-color .16s ease}
.telephony-table .telephony-main-col{border-left:0;border-right:0}
.telephony-table .telephony-detail-col{background:transparent}
.telephony-table .telephony-detail-col.telephony-detail-end{border-right:0}
.telephony-main-head-inner{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}
.telephony-breakdown-toggle,.telephony-sort-mini,.telephony-sort-btn{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:0}
.telephony-breakdown-toggle{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end;white-space:nowrap}
.telephony-breakdown-toggle i{font-style:normal;color:var(--accent);font-size:12px;line-height:1}
.telephony-sort-mini{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;color:var(--muted);font-size:8px}
.telephony-sort-mini:hover,.telephony-sort-mini.active{background:color-mix(in srgb,var(--accent-soft) 66%,transparent);color:var(--accent)}
.telephony-sort-btn{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;width:100%;white-space:nowrap}
.telephony-person-head .telephony-sort-btn{justify-content:flex-start}
.telephony-sort-btn span{font-size:8px;color:var(--muted)}
.telephony-sort-btn.active span{color:var(--accent)}
.telephony-department-head-avatar{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px}
.telephony-department-head-avatar .manager-avatar{width:30px;height:30px}
.telephony-department-head-avatar.empty{border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:9px}
.telephony-department-name{gap:7px}
.telephony-user-row.telephony-row-tone-red>td{background:color-mix(in srgb,var(--plan-red) 8%,var(--panel))!important}
.telephony-user-row.telephony-row-tone-super>td{background:color-mix(in srgb,var(--success) 12%,var(--panel))!important}
.telephony-user-row.telephony-row-tone-red>td:first-child,.telephony-department-row.telephony-row-tone-red>td:first-child{box-shadow:inset 3px 0 0 var(--plan-red)}
.telephony-user-row.telephony-row-tone-yellow>td:first-child,.telephony-department-row.telephony-row-tone-yellow>td:first-child{box-shadow:inset 3px 0 0 var(--plan-yellow)}
.telephony-user-row.telephony-row-tone-green>td:first-child,.telephony-department-row.telephony-row-tone-green>td:first-child,.telephony-user-row.telephony-row-tone-super>td:first-child,.telephony-department-row.telephony-row-tone-super>td:first-child{box-shadow:inset 3px 0 0 var(--plan-green)}
.telephony-summary-card.summary-main{border-color:color-mix(in srgb,var(--accent) 20%,var(--line));background:color-mix(in srgb,var(--accent-soft) 26%,var(--panel2))}
.telephony-summary-card.summary-detail{background:color-mix(in srgb,var(--panel2) 90%,var(--accent-soft))}
.telephony-summary-value-with-emoji{display:flex!important;align-items:center;gap:7px;min-width:0}.telephony-summary-value-with-emoji>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.telephony-summary-value-with-emoji>b{font-size:1em;line-height:1;flex:0 0 auto}.telephony-talk-summary.tone-red{border-left:4px solid var(--plan-red)}.telephony-talk-summary.tone-yellow{border-left:4px solid var(--plan-yellow)}.telephony-talk-summary.tone-green{border-left:4px solid var(--plan-green)}.telephony-talk-summary.tone-super{border-left:4px solid var(--success)}

.telephony-settings-card{width:min(940px,calc(100vw - 32px))}
.telephony-settings-body{display:grid;gap:15px}
.telephony-settings-departments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:390px;overflow:auto;padding-right:3px}
.telephony-settings-department{border:1px solid var(--line);border-radius:14px;background:var(--panel2);overflow:hidden}
.telephony-settings-department-head,.telephony-settings-person,.telephony-settings-check{display:flex;align-items:center;gap:8px;cursor:pointer}
.telephony-settings-department-head{padding:10px 11px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 25%,var(--panel2))}
.telephony-settings-department-head>span{display:grid;gap:2px;min-width:0}
.telephony-settings-department-head strong{font-size:10px}.telephony-settings-department-head small{font-size:8px;color:var(--muted)}
.telephony-settings-employees{display:grid;padding:4px 0}
.telephony-settings-person{padding:6px 10px}
.telephony-settings-person:hover{background:color-mix(in srgb,var(--accent-soft) 22%,transparent)}
.telephony-settings-person>span{display:flex;align-items:center;gap:7px;min-width:0}
.telephony-settings-person .manager-avatar{width:27px;height:27px}
.telephony-settings-person>span>span{display:grid;min-width:0}
.telephony-settings-person b{font-size:9px}.telephony-settings-person small{font-size:7.5px;color:var(--muted)}
.telephony-settings-grid-section{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.telephony-settings-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.telephony-settings-check{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:9px;font-weight:700}
.telephony-settings-card input[type="checkbox"]{accent-color:var(--accent)}
@media(max-width:820px){.telephony-settings-departments,.telephony-settings-grid-section{grid-template-columns:1fr}.telephony-settings-check-grid{grid-template-columns:1fr 1fr}}

.telephony-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}

/* v3.5.12 — simplified telephony table */
.telephony-department-row>td{background:color-mix(in srgb,var(--panel2) 78%,var(--panel))!important}
.telephony-person-cell{align-items:center}
.telephony-person-copy{display:grid;gap:3px;min-width:0;flex:1 1 auto}
.telephony-person-title{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.telephony-person-title>strong{min-width:0}
.telephony-inline-plan{display:inline-grid;grid-template-columns:auto;gap:2px;min-width:118px;max-width:180px;vertical-align:middle}
.telephony-inline-plan-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;line-height:1;color:var(--muted)}
.telephony-inline-plan.red .telephony-inline-plan-status{color:var(--plan-red)}
.telephony-inline-plan.yellow .telephony-inline-plan-status{color:var(--plan-yellow)}
.telephony-inline-plan.green .telephony-inline-plan-status,.telephony-inline-plan.super .telephony-inline-plan-status{color:var(--plan-green)}
.telephony-plan-emoji{font-size:14px;line-height:1;font-weight:400;display:inline-block;transform-origin:center}
.telephony-inline-plan-track{display:block;width:100%;height:5px;border-radius:999px;background:var(--line);overflow:hidden}
.telephony-inline-plan-track>em{display:block;height:100%;border-radius:inherit;background:var(--plan-red)}
.telephony-inline-plan.yellow .telephony-inline-plan-track>em{background:var(--plan-yellow)}
.telephony-inline-plan.green .telephony-inline-plan-track>em{background:var(--plan-green)}
.telephony-inline-plan.super .telephony-inline-plan-track>em{background:var(--success);box-shadow:0 0 8px color-mix(in srgb,var(--success) 45%,transparent)}
.telephony-department-name>.telephony-person-copy{flex:1 1 auto}
.telephony-table .telephony-main-col,.telephony-table .telephony-detail-end{box-shadow:none}


/* v3.5.17 — telephony emoji hierarchy */
.telephony-main-title{display:inline-flex;align-items:center;gap:7px;min-width:0}
.telephony-main-title>span{min-width:0}
.telephony-main-emoji{display:inline-block;font-size:30px;line-height:1;font-weight:400;flex:0 0 auto;transform:translateY(1px)}
.telephony-inline-plan-status{gap:4px}
@media(max-width:900px){.telephony-main-emoji{font-size:26px}.telephony-plan-emoji{font-size:13px}}

/* v3.5.17 — telephony hierarchy polish */
/* Main group emojis are compact visual markers. */
.telephony-main-emoji{font-size:14px;line-height:1;transform:none}
/* Department status must stay horizontal even though older department styles grid nested spans. */
.telephony-department-name .telephony-person-copy{display:grid}
.telephony-department-name .telephony-person-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.telephony-department-name .telephony-inline-plan{display:inline-grid}
.telephony-department-name .telephony-inline-plan-status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.telephony-department-name .telephony-inline-plan-status>span{display:inline!important;min-width:0}
.telephony-department-name .telephony-plan-emoji{display:inline-block!important;font-size:14px;line-height:1}
/* Employee rows are visually nested one avatar step beneath their department. */
.telephony-user-row .telephony-person-cell{padding-left:32px}
@media(max-width:900px){
  .telephony-main-emoji{font-size:14px}
  .telephony-user-row .telephony-person-cell{padding-left:30px}
}

/* v3.5.17 — Telephony settings: zero-activity filter */
.telephony-hide-absent-option{margin-bottom:10px;cursor:pointer}.telephony-hide-absent-option>span{display:grid;gap:2px}.telephony-hide-absent-option b{font-size:10px}.telephony-hide-absent-option small{font-size:8px;color:var(--muted);font-weight:650}

/* v3.5.17 — quick Today / Period switch for Telephony */
.telephony-head-actions{display:flex;align-items:center;gap:7px}
.telephony-period-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}
.telephony-period-switch button{height:27px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:8.5px;font-weight:850;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.telephony-period-switch button:hover{color:var(--text)}
.telephony-period-switch button.active{background:var(--panel);color:var(--accent);box-shadow:0 2px 8px rgba(30,18,38,.08)}
@media(max-width:760px){.telephony-head{align-items:flex-start;gap:8px}.telephony-head-actions{align-items:flex-end}.telephony-period-switch button{padding:0 8px}}
@media(max-width:520px){.telephony-head-actions{flex-direction:column}.telephony-period-switch{align-self:stretch}.telephony-period-switch button{flex:1}}


/* v3.5.20 — attendance summary widget */
.attendance-widget-card{min-width:0}.attendance-widget-summary{display:grid;grid-template-columns:repeat(4,minmax(96px,1fr));gap:8px;margin:10px 0 12px}.attendance-mini{border:1px solid var(--line,#e6e8ed);border-radius:12px;padding:10px 11px;display:grid;gap:2px;background:var(--panel,#fff)}.attendance-mini span{font-size:10px;color:var(--muted,#777);font-weight:700}.attendance-mini strong{font-size:20px}.attendance-mini.sick{border-left:4px solid #d66c72}.attendance-mini.absence{border-left:4px solid #c85055}.attendance-mini.vacation{border-left:4px solid #5c8ed0}.attendance-mini.remote{border-left:4px solid #6baf88}.attendance-widget-timeline{border:1px solid var(--line,#e6e8ed);border-radius:12px;overflow:auto;max-height:310px}.attendance-date-head,.attendance-date-row{display:grid;grid-template-columns:minmax(72px,1fr) 46px 46px 46px minmax(92px,1fr);gap:5px;align-items:center;min-height:34px;padding:0 10px}.attendance-date-head{position:sticky;top:0;background:var(--panel,#fff);z-index:1;color:var(--muted,#777);font-size:9px;font-weight:800;border-bottom:1px solid var(--line,#e6e8ed)}.attendance-date-row{border-bottom:1px solid var(--line,#e6e8ed);font-size:11px}.attendance-date-row:last-child{border-bottom:0}.attendance-date-row span,.attendance-date-row strong{text-align:center}.attendance-date-row .sick{color:#be5674}.attendance-date-row .absence{color:#c85055}.attendance-date-row .vacation{color:#4278b8}@media(max-width:760px){.attendance-widget-summary{grid-template-columns:repeat(2,1fr)}}


/* v3.5.134 — stage control widget */
.stage-control-card{grid-column:1/-1;min-height:330px}
.stage-control-head{margin-bottom:10px}
.stage-control-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}
.stage-control-stat{padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel2);min-width:0}
.stage-control-stat span{display:block;color:var(--muted);font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-control-stat strong{display:block;margin-top:3px;font-size:18px;line-height:1.15;letter-spacing:-.02em}
.stage-control-stat small{display:block;margin-top:3px;color:var(--muted);font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-control-stat.primary{background:color-mix(in srgb,var(--accent-soft) 48%,var(--panel));border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}
.stage-control-table{min-width:980px}
.stage-control-table tbody tr.stage-control-department td{background:var(--panel);font-weight:850}
.stage-control-table tbody tr.stage-control-user td{background:var(--panel2)}
.stage-control-table tbody tr.stage-control-user td:first-child{padding-left:28px}
.stage-control-person{display:flex;align-items:center;gap:8px;min-width:190px}
.stage-control-person .manager-avatar{width:28px;height:28px;border-radius:9px}
.stage-control-person strong{display:block;font-size:10.5px}
.stage-control-person small{display:block;color:var(--muted);font-size:8.5px}
.stage-control-stage-value strong{display:block;font-size:10px}
.stage-control-stage-value small{display:block;color:var(--muted);font-size:8px;margin-top:1px}
@media(max-width:980px){.stage-control-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-control-stat.primary{grid-column:1/-1}}
@media(max-width:640px){.stage-control-summary{grid-template-columns:1fr}.stage-control-stat.primary{grid-column:auto}}


/* v3.5.140 — stable dashboard scrolling and non-overlapping dense workspace */
html{scrollbar-gutter:stable}
html.dashboard-shell-embedded,body.dashboard-shell-embedded{overflow-x:hidden;overflow-y:visible}
body.workspace-mode-grid .workspace-surface [data-widget].workspace-grid-sized:not(.widget-collapsed){overflow:visible}

/* v3.5.157 — unified Dynamics source switch + compact fixed KPI cards */
.trend-source-switch{display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel2);flex:0 0 auto}
.trend-source-switch button{height:27px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:8.5px;font-weight:850;cursor:pointer}
.trend-source-switch button:hover{color:var(--text)}
.trend-source-switch button.active{background:var(--panel);color:var(--accent);box-shadow:0 2px 8px rgba(30,18,38,.08)}
.kpi-summary-card{padding:12px!important}
.kpi-summary-head{margin-bottom:8px!important}
.kpi-summary-grid>.kpi-card{padding:9px 10px!important;border-radius:12px!important;min-height:0!important}
.kpi-summary-grid>.kpi-card>.kpi-head{font-size:9.5px;line-height:1.15;gap:6px}
.kpi-summary-grid>.kpi-card>.kpi-head .kpi-icon{width:23px;height:23px;border-radius:8px;font-size:10px}
.kpi-summary-grid>.kpi-card>strong{margin-top:5px;font-size:20px;line-height:1.02}
.kpi-summary-grid>.kpi-card>small{margin-top:4px;font-size:8.5px;line-height:1.2}
.kpi-summary-grid>.kpi-won-card{min-height:0!important;padding:9px 10px!important;justify-content:flex-start}
.kpi-won-metrics{gap:5px;margin-top:6px}
.kpi-won-metric{padding:6px 7px;border-radius:9px}
.kpi-won-metric>span{font-size:7.8px}
.kpi-won-metric>strong{margin-top:3px;font-size:13.5px}
.kpi-won-meta{margin-top:4px;font-size:7.8px}
.workspace-editing .kpi-summary-grid>.kpi-card{padding-top:23px!important}
.kpi-summary-grid>.kpi-card.kpi-card-resizing,.kpi-summary-grid>.kpi-card.kpi-row-resizing{outline:none!important;cursor:default!important}
@media(max-width:1080px){.trend-head-actions{gap:6px}.trend-source-switch button{padding:0 7px}}
@media(max-width:560px){.trend-source-switch{width:100%}.trend-source-switch button{flex:1}.kpi-summary-card{padding:10px!important}.kpi-summary-grid>.kpi-card{padding:8px 9px!important}}

/* v3.5.158 — freeze KPI internals while the outer widget is moving/resizing */
[data-widget="kpi_summary"].workspace-resizing .kpi-summary-grid>.kpi-card,
[data-widget="kpi_summary"].workspace-dragging .kpi-summary-grid>.kpi-card,
[data-widget="kpi_summary"].workspace-grid-floating .kpi-summary-grid>.kpi-card{
  transition:none!important;
  animation:none!important;
}

/* v3.5.160 — General Plan visual cleanup */
@media(max-width:640px){.plan-card .plan-content{min-height:210px;padding:14px 2px 2px}}

/* v3.5.161 — semantic widget profiles, stable row sizing and resize clipping */
/* Vertical widgets keep independent height. Horizontal + compact widgets can join a
   semantic row; row peers are only highlighted during drag and resized after drop. */
.workspace-row-sync-preview{
  outline-color:color-mix(in srgb,var(--accent) 72%,var(--line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent),var(--shadow)!important;
}
[data-widget][data-widget-profile="vertical"]{--widget-layout-profile:vertical}
[data-widget][data-widget-profile="horizontal"]{--widget-layout-profile:horizontal}
[data-widget][data-widget-profile="compact"]{--widget-layout-profile:compact}

/* General Plan must always paint inside the rounded panel. The generic grid rule uses
   overflow:visible for resizable widgets, which used to expose the square bottom edge
   of .plan-content while the card was vertically resized. */
body.workspace-mode-grid .workspace-surface .plan-card.workspace-grid-sized:not(.widget-collapsed),
body.workspace-mode-free .workspace-surface .plan-card:not(.widget-collapsed),
.plan-card.workspace-resizing{
  overflow:hidden!important;
  overflow:clip!important;
  border-radius:18px;
}
.plan-card .plan-content{
  max-width:100%;
  min-width:0;
  border-radius:0;
}

/* KPI inner geometry stays frozen during the outer resize for stability, but it must
   never paint outside the widget while the outer width is temporarily smaller. */
[data-widget="kpi_summary"].workspace-resizing{
  overflow:hidden!important;
  overflow:clip!important;
  contain:paint;
}
[data-widget="kpi_summary"].workspace-resizing .kpi-summary-grid{
  max-width:100%;
  overflow:hidden!important;
  overflow:clip!important;
}

/* v3.5.162 — semantic rows use natural content height unless explicitly resized vertically. */


/* v3.5.172 — stable General Plan spacing and theme-safe surface */
.plan-card .general-plan-head{flex:0 0 auto;margin-bottom:14px}
.plan-card .plan-content{width:100%;color:var(--text)}
html[data-theme="dark"] .plan-card .plan-content{background:var(--panel)}
.plan-card .plan-details{min-width:0;max-width:230px;width:min(230px,45%)}
.plan-card .plan-details>div{min-width:0}
.plan-card .plan-details strong{overflow-wrap:anywhere}
@media(max-width:1380px){.plan-card .plan-content{padding:14px 6px 6px}.plan-card .plan-details{width:100%;max-width:none}}
@media(max-width:920px){.plan-card .plan-content{padding:16px 6px 6px}}

/* v3.5.215 — viewport-safe dialogs, including an auto-height embedded iframe. */
.app-dialog{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  left:50%!important;
  top:12px;
  transform:translateX(-50%);
  margin:0!important;
  width:min(980px,calc(100vw - 24px));
  max-width:calc(100vw - 24px)!important;
  overflow:hidden;
  overscroll-behavior:contain;
}
.app-dialog .dialog-card{
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  max-height:var(--dashboard-modal-visible-height,calc(100dvh - 24px))!important;
  min-height:0;
  overflow:hidden;
  margin:0;
}
.app-dialog .dialog-head,.app-dialog .dialog-actions{flex:0 0 auto}
.app-dialog .dialog-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.app-dialog .dialog-actions{flex-wrap:wrap;background:var(--panel)}
.app-dialog .dialog-actions-right{flex-wrap:wrap}
.app-dialog .dialog-close{flex:0 0 auto;cursor:pointer}
@media(max-width:640px){
  .app-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px)!important}
  .app-dialog .dialog-head{padding:12px 14px}
  .app-dialog .dialog-body{padding:12px 14px}
  .app-dialog .dialog-actions{padding:10px 14px}
}
/* The extracted widget participates in the same persistent dashboard grid. */
.won-summary-widget{padding:16px;min-width:0;display:flex;flex-direction:column;gap:10px}
.won-summary-widget>.card-head{margin-bottom:0;min-height:34px}
.won-summary-widget .kpi-won-metrics{margin-top:0;flex:none}
.won-summary-widget .kpi-won-metric{min-width:0;padding:11px 9px}
.won-summary-widget .kpi-won-metric>strong{font-size:clamp(12px,1.6vw,18px);min-width:0}
.won-summary-widget .kpi-won-meta{margin-top:auto}
@media(max-width:560px){
  .won-summary-widget{padding:12px}
  .won-summary-widget .kpi-won-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-summary-card .kpi-summary-head{flex-wrap:wrap}
  .kpi-summary-card .kpi-summary-actions{width:100%}
  .kpi-summary-grid>.kpi-card{max-width:100%;overflow-wrap:anywhere}
}

.won-summary-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}
.won-summary-head .financial-source-switch{margin-left:auto;max-width:100%}
.won-summary-head .financial-source-switch button{min-width:0}

@media(max-width:800px){
  .kpi-summary-grid>.kpi-card{padding:12px;min-height:84px}
  .kpi-summary-grid>.kpi-card .kpi-head>span:first-child{font-size:11px;line-height:1.25;white-space:normal}
  .kpi-summary-grid>.kpi-card>strong{font-size:clamp(17px,3.5vw,23px)}
  .kpi-summary-grid>.kpi-card>small{font-size:10px;line-height:1.3}
}

/* v3.5.211 — clean modal backdrop. Reserving scrollbar space left an undimmed
   white strip in Chromium; translucent blur exposed widget-shaped ghost panels. */
html:has(dialog.app-dialog[open]){
  scrollbar-gutter:auto;
  overflow-y:hidden;
}
dialog.app-dialog::backdrop{
  background:rgba(34,29,42,.94);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
html[data-theme="dark"] dialog.app-dialog::backdrop{
  background:rgba(10,8,14,.95);
}

/* v3.5.215: precision layout, header controls, consistent canvas themes */
.connection-badge{min-width:36px;width:36px;height:36px;min-height:36px;padding:0;justify-content:center;flex:0 0 36px}
.connection-badge .status-dot{width:9px;height:9px}
#connectionLabel,.toolbar-left .updated-label{display:none!important}
.toolbar .workspace-btn,.toolbar #settingsBtn{padding:0;width:40px;height:40px}
.workspace-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
.workspace-precision-settings{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:12px}
.workspace-switch{display:flex;align-items:center;gap:9px;flex:1;min-width:230px;cursor:pointer}
.workspace-switch input{accent-color:var(--accent);width:18px;height:18px;flex:none}
.workspace-switch>span{display:grid;gap:2px}.workspace-switch strong,.workspace-step-setting>span{font-size:11px;font-weight:800}
.workspace-switch small{color:var(--muted);font-size:9px}
.workspace-step-setting{display:flex;align-items:center;gap:8px;font-size:11px}.workspace-step-setting select{padding:8px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--panel)}
.dashboard-background-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-background-choices button{display:grid;gap:5px;text-align:center;padding:6px;border:2px solid transparent;border-radius:12px;background:transparent;color:var(--text)}
.dashboard-background-choices button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.dashboard-background-choices button strong{font-size:10px}
.background-choice-preview{display:block;height:65px;width:100%;border:1px solid var(--line);border-radius:8px;background-size:cover;background-position:center}
.bg-preview-solid{background:#f7f6f9}.bg-preview-lines{background-color:#f7f6f9;background-image:linear-gradient(#d3c9dc 1px,transparent 1px),linear-gradient(90deg,#d3c9dc 1px,transparent 1px);background-size:16px 16px}
.bg-preview-gradient{background:linear-gradient(125deg,#edf4ff,#e4dcfc,#f9e1ee)}
.bg-preview-forest{background-image:url('/dashboard-backgrounds/forest.svg')}.bg-preview-waterfall{background-image:url('/dashboard-backgrounds/waterfall.svg')}.bg-preview-city{background-image:url('/dashboard-backgrounds/city.svg')}
body[data-dashboard-background="lines"]{background-image:linear-gradient(to right,color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px);background-size:40px 40px;background-attachment:local}
body[data-dashboard-background="gradient"]{background-image:linear-gradient(120deg,#eaf1fb,#f0e5ff 45%,#fceaf3);background-attachment:fixed}
body[data-dashboard-background="forest"],body[data-dashboard-background="waterfall"],body[data-dashboard-background="city"]{background-size:cover;background-position:center top;background-attachment:fixed}
body[data-dashboard-background="forest"]{background-image:linear-gradient(180deg,rgba(245,250,248,.20),rgba(241,244,248,.55)),url('/dashboard-backgrounds/forest.svg')}
body[data-dashboard-background="waterfall"]{background-image:linear-gradient(180deg,rgba(246,251,254,.28),rgba(230,241,251,.6)),url('/dashboard-backgrounds/waterfall.svg')}
body[data-dashboard-background="city"]{background-image:linear-gradient(180deg,rgba(250,248,253,.25),rgba(239,233,245,.57)),url('/dashboard-backgrounds/city.svg')}
html[data-theme="dark"] body[data-dashboard-background="gradient"]{background-image:linear-gradient(130deg,#1e2436,#2d1d43,#142c32)}
/* A dark --bg multiplied with the scenic SVG makes the artwork almost black.
   Tint with an overlay instead; keep the full image visible in both themes. */
html[data-theme="dark"] body[data-dashboard-background="forest"]{background-image:linear-gradient(180deg,rgba(12,15,22,.40),rgba(12,15,22,.60)),url('/dashboard-backgrounds/forest.svg');background-blend-mode:normal}
html[data-theme="dark"] body[data-dashboard-background="waterfall"]{background-image:linear-gradient(180deg,rgba(12,15,22,.42),rgba(12,15,22,.62)),url('/dashboard-backgrounds/waterfall.svg');background-blend-mode:normal}
html[data-theme="dark"] body[data-dashboard-background="city"]{background-image:linear-gradient(180deg,rgba(12,15,22,.40),rgba(12,15,22,.60)),url('/dashboard-backgrounds/city.svg');background-blend-mode:normal}
body.workspace-resizing .workspace-surface [data-widget]:not(.workspace-resizing){transition:left .14s ease-out,top .14s ease-out}
body.workspace-resizing .workspace-surface [data-widget].workspace-resizing{transition:none!important}
@media(max-width:720px){.dashboard-background-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-mode-switch{grid-template-columns:1fr}.workspace-precision-settings{align-items:stretch;flex-direction:column;gap:8px}}


.sales-tv-card{overflow:hidden;background:linear-gradient(180deg,#ffffff,#f8f5ff)}
.sales-tv-head{align-items:flex-start}.sales-tv-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.sales-tv-source-note{display:block;margin-top:3px;font-size:10px;line-height:1.3}
.sales-tv-head-actions .ramp-source-switch{flex:0 0 auto}
@media(max-width:700px){.sales-tv-head{flex-wrap:wrap}.sales-tv-head-actions{width:100%;justify-content:flex-start}.sales-tv-head-actions .widget-settings-btn{margin-left:auto}}
.sales-tv-body{display:flex;flex-direction:column;gap:12px}.sales-tv-stage{overflow:auto;border:1px solid color-mix(in srgb,var(--line) 88%, #8750f7 12%);border-radius:18px;background:linear-gradient(180deg,rgba(135,80,247,.07),rgba(135,80,247,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.sales-tv-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;min-width:980px}.sales-tv-table th,.sales-tv-table td{border-right:1px solid color-mix(in srgb,var(--line) 88%, #8750f7 12%);border-bottom:1px solid color-mix(in srgb,var(--line) 88%, #8750f7 12%);padding:10px 12px;text-align:center;vertical-align:middle}.sales-tv-table th:first-child,.sales-tv-table td:first-child{border-left:1px solid color-mix(in srgb,var(--line) 88%, #8750f7 12%)}.sales-tv-table thead tr:first-child th{border-top:1px solid color-mix(in srgb,var(--line) 88%, #8750f7 12%)}
.sales-tv-table thead th{background:linear-gradient(180deg,#f4edff,#ece6fb);color:#33224f;font-weight:850;letter-spacing:.02em}.sales-tv-table thead tr:last-child th{font-size:12px}
.sales-tv-table tbody tr:nth-child(even) td{background:rgba(136,93,218,.03)}
.sales-tv-person{min-width:270px;text-align:left;background:rgba(255,255,255,.78)}.sales-tv-person-wrap{display:flex;align-items:center;gap:10px;min-width:0}.sales-tv-person-copy{min-width:0}.sales-tv-person-main{display:block;font-weight:800;color:var(--text);font-size:13px;line-height:1.2}.sales-tv-person small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.sales-tv-person .manager-avatar{flex:0 0 auto}
.sales-tv-cell{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.56)}.sales-tv-cell.plan{color:var(--muted)}.sales-tv-cell.percent b{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:6px 8px;border-radius:999px;background:rgba(58,40,91,.08)}.sales-tv-cell.percent.red b{background:rgba(217,67,67,.14);color:#a92e2e}.sales-tv-cell.percent.yellow b{background:rgba(215,154,24,.18);color:#8a5e00}.sales-tv-cell.percent.green b{background:rgba(20,128,74,.16);color:#0e6a3d}
.sales-tv-row.lead td{background:linear-gradient(180deg,rgba(182,92,255,.15),rgba(182,92,255,.08));font-weight:800}.sales-tv-row.lead .sales-tv-person-main::after{content:"Руководитель";display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(182,92,255,.16);color:var(--accent);font-size:10px;font-weight:900;vertical-align:middle}
.sales-tv-row.team td{background:rgba(124,58,237,.10);font-weight:800}.sales-tv-row.grand td{background:rgba(124,58,237,.16);font-weight:900}.sales-tv-group-title td{text-align:left;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#4a2a74;background:linear-gradient(90deg,rgba(181,146,255,.26),rgba(230,220,255,.58))}.sales-tv-row.team .sales-tv-person-main,.sales-tv-row.grand .sales-tv-person-main{color:var(--text)}
.sales-tv-footnote{color:var(--muted);font-size:12px;padding:0 4px}.sales-tv-settings-card{width:min(920px,calc(100vw - 32px))}.sales-tv-settings-body{display:grid;gap:16px}.sales-tv-settings-note{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);font-size:11px;color:var(--muted)}.sales-tv-approve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.sales-tv-approved-list{display:grid;gap:8px}.sales-tv-approved-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.sales-tv-approved-item b{font-size:11px}.sales-tv-approved-item small{display:block;color:var(--muted);font-size:9px}
.sales-tv-plan-editor{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:4px}.sales-tv-plan-row{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(150px,.8fr) minmax(140px,.8fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.sales-tv-plan-person{display:flex;align-items:center;gap:10px;min-width:0}.sales-tv-plan-person>span{min-width:0}.sales-tv-plan-person b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-tv-plan-person small{display:block;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sales-tv-plan-input{display:grid;gap:3px}.sales-tv-plan-input span{font-size:9px;color:var(--muted);font-weight:700}.sales-tv-plan-input input{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);padding:0 9px;text-align:right}.sales-tv-plan-input em{font-style:normal;color:var(--muted);font-size:8px}
@media(max-width:920px){.sales-tv-approve-grid{grid-template-columns:1fr}.sales-tv-plan-row{grid-template-columns:1fr}.sales-tv-table{min-width:860px}}
html[data-theme="dark"] .sales-tv-card{background:linear-gradient(180deg,rgba(33,13,51,.98),rgba(16,8,26,.98))}html[data-theme="dark"] .sales-tv-stage{border-color:rgba(176,123,255,.28);background:linear-gradient(180deg,rgba(113,47,204,.18),rgba(39,13,68,.34));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}html[data-theme="dark"] .sales-tv-table th,html[data-theme="dark"] .sales-tv-table td{border-color:rgba(176,123,255,.22)}html[data-theme="dark"] .sales-tv-table thead th{background:linear-gradient(180deg,rgba(75,35,124,.98),rgba(48,21,82,.98));color:#fff}html[data-theme="dark"] .sales-tv-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}html[data-theme="dark"] .sales-tv-person,html[data-theme="dark"] .sales-tv-cell{background:rgba(14,11,20,.62)}html[data-theme="dark"] .sales-tv-row.lead td{background:linear-gradient(180deg,rgba(182,92,255,.18),rgba(182,92,255,.10))}html[data-theme="dark"] .sales-tv-row.team td{background:rgba(124,58,237,.12)}html[data-theme="dark"] .sales-tv-row.grand td{background:rgba(124,58,237,.22)}html[data-theme="dark"] .sales-tv-group-title td{color:#f7efff;background:linear-gradient(90deg,rgba(103,31,189,.82),rgba(59,11,120,.65))}html[data-theme="dark"] .sales-tv-cell.percent b{background:rgba(255,255,255,.06)}html[data-theme="dark"] .sales-tv-cell.percent.red b{background:rgba(230,75,75,.18);color:#ffb7b7}html[data-theme="dark"] .sales-tv-cell.percent.yellow b{background:rgba(255,187,0,.18);color:#ffe08a}html[data-theme="dark"] .sales-tv-cell.percent.green b{background:rgba(32,184,115,.18);color:#b2f5d6}
.sales-tv-locked-quarter{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(20,128,74,.11);color:#14794b;font-size:10px;font-weight:800}
html[data-theme="dark"] .sales-tv-locked-quarter{background:rgba(85,209,143,.13);color:#87ecc0}

/* v3.5.237: TV plan scoreboard refinements */
.sales-tv-table td.sales-tv-person{text-align:left!important}
.sales-tv-person-wrap,.sales-tv-person-copy,.sales-tv-person-main{justify-content:flex-start;text-align:left}
.sales-tv-person-copy{flex:1 1 auto;overflow:hidden}
.sales-tv-person-main{white-space:normal;overflow-wrap:anywhere}
.sales-tv-rocket{display:inline-block;margin-left:7px;font-size:15px;vertical-align:middle}
.sales-tv-table .sales-tv-progress-row td{padding:0 12px 9px!important;border-top:0;text-align:left}
.sales-tv-progress-row[hidden],.sales-tv-row[hidden]{display:none!important}
.sales-tv-progress-wrap{display:flex;align-items:center;gap:10px;min-height:12px}
.sales-tv-progress-track{flex:1;height:7px;border-radius:999px;background:rgba(112,101,133,.14);overflow:hidden}
.sales-tv-progress-fill{display:block;height:100%;border-radius:999px;transition:width .25s ease}
.sales-tv-progress-fill.red{background:#dd4b52}.sales-tv-progress-fill.yellow{background:#ecc052}.sales-tv-progress-fill.mint{background:#9dddac}.sales-tv-progress-fill.green{background:#18a563}
.sales-tv-progress-pct{font-size:11px;min-width:40px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}
.sales-tv-progress-row.department td{background:color-mix(in srgb,var(--panel) 88%, #b38bee 12%);padding:7px 12px 10px!important}
.sales-tv-group-title td{padding:0!important;text-align:left!important}
.sales-tv-group-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:0;color:inherit;background:transparent;font:inherit;font-weight:900;text-align:left;cursor:pointer}
.sales-tv-group-chevron{width:14px;font-size:17px;line-height:1;color:var(--accent)}
.sales-tv-group-toggle small{margin-left:auto;opacity:.75;font-size:10px;font-weight:650;text-transform:none}
.sales-tv-sort-button{display:inline-flex;align-items:center;gap:5px;justify-content:center;width:100%;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;padding:2px 0}
.sales-tv-sort-button span{font-size:13px;opacity:.5}
.sales-tv-sort-button.active span{opacity:1;color:var(--accent)}
.sales-tv-sort-button:focus-visible,.sales-tv-group-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}
.sales-tv-cell.percent.mint b{background:rgba(99,181,122,.19);color:#31704b}
html[data-theme="dark"] .sales-tv-cell.percent.mint b{background:rgba(157,221,172,.16);color:#bdeed1}
html[data-theme="dark"] .sales-tv-progress-track{background:rgba(255,255,255,.15)}
html[data-theme="dark"] .sales-tv-progress-row.department td{background:rgba(112,44,164,.19)}

/* v3.5.238: named dashboard views */
.dashboard-screen-actions{position:relative}
.dashboard-views-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;min-width:250px;max-width:min(94vw,340px);padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:0 14px 42px rgba(14,9,32,.20);display:flex;flex-direction:column;gap:4px}
.dashboard-views-menu[hidden]{display:none!important}
.dashboard-views-menu-title{font-size:12px;font-weight:800;padding:8px}
.dashboard-views-menu button{border:0;border-radius:9px;padding:10px 12px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit;font-size:12px}
.dashboard-views-menu button:hover{background:var(--panel2)}.dashboard-views-menu button:disabled{opacity:.5;cursor:not-allowed}
.dashboard-views-menu small{font-size:10px;color:var(--muted);line-height:1.45;padding:6px}
.dashboard-views-menu .dashboard-view-active{font-weight:800;color:var(--accent);background:var(--panel2)}
.dashboard-view-dialog-card{width:min(820px,calc(100vw - 26px))}.dashboard-view-dialog-body{display:grid;gap:16px}
.dashboard-view-dialog-body .settings-section{display:grid;gap:9px}.dashboard-view-dialog-body h3{margin:0;font-size:14px}.dashboard-view-dialog-body p{margin:0;font-size:12px}
.dashboard-view-users{max-height:195px;overflow-y:auto;display:grid;gap:4px}.dashboard-view-users label,.dashboard-view-rule{display:flex;align-items:center;gap:10px;font-size:12px;padding:8px 10px;border-radius:9px;background:var(--panel2);cursor:pointer}
.dashboard-view-users input,.dashboard-view-rule input{accent-color:var(--accent)}.dashboard-view-rule.strict{border:1px solid var(--line)}
body.dashboard-view-lock-screens #createDashboardScreenBtn,body.dashboard-view-lock-screens #manageDashboardScreenBtn{opacity:.5;pointer-events:none}
body.dashboard-view-lock-layout #workspaceArrangeBtn,body.dashboard-view-lock-layout #workspaceAutoArrangeBtn{opacity:.5;pointer-events:none}

/* v3.5.257: CRM company-base quality dashboard widget */
.base-quality-widget{grid-column:1/-1;min-height:300px}.base-quality-filters{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.base-quality-filters label{min-width:210px;flex:1;font-size:12px;color:var(--muted)}.base-quality-filters select{display:block;width:100%;min-height:72px;margin-top:5px;padding:6px;border:1px solid var(--line,#ddd);border-radius:9px;background:var(--panel);color:var(--text)}.base-quality-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.base-quality-metric{background:var(--surface,#f8f8fa);padding:12px;border-radius:9px;display:flex;gap:4px;flex-direction:column}.base-quality-metric small{color:var(--muted)}.base-quality-metric strong{font-size:20px}.base-quality-tables{margin:14px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.base-quality-tables h3{font-size:13px;margin:0 0 8px}.base-quality-list{max-height:260px;overflow:auto}.base-quality-list>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line,#ddd);font-size:12px}.base-quality-list strong{white-space:nowrap}.base-quality-widget .base-quality-metrics strong{font-variant-numeric:tabular-nums}

/* v3.5.261 — scoped company quality picker and diagrams */
.base-quality-widget{overflow:visible}
.base-quality-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative;z-index:3}
.base-quality-picker{position:relative;flex:0 1 390px;min-width:min(100%,275px)}
.base-quality-scope-trigger{width:100%;min-height:56px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3px 8px;align-items:center;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line,#d5d5df);border-radius:12px;padding:10px 14px;cursor:pointer}
.base-quality-scope-trigger>span:first-child{font-size:12px;color:var(--muted)}
.base-quality-scope-trigger strong{grid-column:1;font-size:13px;font-weight:600}
.base-quality-scope-trigger>span:last-child{grid-area:1/2/3/3;color:var(--muted)}
.base-quality-scope-trigger[aria-expanded="true"]{outline:2px solid #6079e8;outline-offset:1px}
.base-quality-scope-popup{position:absolute;left:0;top:calc(100% + 6px);width:min(540px,calc(100vw - 45px));max-height:min(70vh,650px);background:var(--panel);color:var(--text);border:1px solid var(--line,#d5d5df);box-shadow:0 18px 45px #0002;border-radius:12px;display:flex;flex-direction:column;gap:9px;padding:12px;z-index:90}
.base-quality-scope-popup[hidden]{display:none!important}
.base-quality-scope-head,.base-quality-scope-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}
.base-quality-scope-head>button{background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer}
.base-quality-scope-search{width:100%;padding:10px 12px;background:var(--surface,#fafaff);border:1px solid var(--line,#ddd);color:var(--text);border-radius:9px;font-size:13px}
.base-quality-scope-tree{min-height:80px;max-height:360px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line,#ddd);border-radius:9px;padding:6px 2px}
.base-quality-tree-row{display:flex;align-items:center;gap:7px;min-height:31px;padding:3px 7px 3px calc(6px + var(--tree-depth,0)*19px);font-size:12px;cursor:pointer;border-radius:7px}
.base-quality-tree-row:hover{background:var(--surface,#f3f5f9)}
.base-quality-tree-expand{flex:0 0 20px;background:none;border:0;color:var(--muted);cursor:pointer;font-size:16px;padding:0}
.base-quality-user-row{padding-left:calc(30px + var(--tree-depth,0)*19px)}
.base-quality-tree-row input{flex:0 0 auto;accent-color:#6079e8;margin:0}
.base-quality-tree-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.base-quality-dept-row>.base-quality-tree-name{font-weight:600}
.base-quality-tree-row small{color:var(--muted)}
.base-quality-scope-count,.base-quality-scope-bottom{font-size:12px;color:var(--muted)}
.base-quality-scope-apply{width:100%;min-height:37px}
.base-quality-selection-note{color:var(--muted);max-width:450px;line-height:1.5}
.base-quality-tree-section{font-size:12px;color:var(--muted);padding:9px 10px 5px}
.base-quality-empty{font-size:13px;color:var(--muted);padding:14px}
.base-quality-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.base-quality-chart{min-width:0;border:1px solid var(--line,#ddd);border-radius:12px;padding:13px;background:var(--panel)}
.base-quality-chart h3{font-size:14px;margin:0 0 16px;color:var(--text)}
.base-quality-donut-layout{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:center}
.base-quality-donut{width:152px;height:152px;flex:0 0 152px;border-radius:50%;display:grid;place-items:center}
.base-quality-donut-hole{width:58%;height:58%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--panel);color:var(--text)}
.base-quality-donut-hole strong{font-size:23px;font-variant-numeric:tabular-nums}
.base-quality-donut-hole small{font-size:11px;color:var(--muted)}
.base-quality-donut-legend{min-width:0;flex:1 1 170px;max-height:250px;overflow:auto}
.base-quality-donut-legend-row{display:flex;align-items:center;gap:7px;font-size:11px;padding:5px 0;border-bottom:1px solid var(--line,#eee)}
.base-quality-donut-legend-row i{width:9px;height:9px;border-radius:3px;flex:0 0 9px}
.base-quality-donut-legend-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.base-quality-donut-legend-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.base-quality-chart-bars{display:flex;flex-direction:column;gap:11px;max-height:400px;overflow:auto}
.base-quality-bar-row{display:grid;grid-template-columns:minmax(65px,120px) minmax(30px,1fr) auto;gap:9px;align-items:center;font-size:11px}
.base-quality-bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.base-quality-bar-track{height:12px;border-radius:6px;background:var(--surface,#edf0f5);overflow:hidden}
.base-quality-bar-fill{height:100%;min-width:1px;border-radius:6px;display:block}
.base-quality-bar-row strong{font-variant-numeric:tabular-nums;min-width:25px;text-align:right}
.base-quality-chart-foot{display:block;color:var(--muted);font-size:11px;margin-top:12px}
@media(max-width:1100px){.base-quality-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.base-quality-chart-donut{grid-column:1/-1}}
@media(max-width:660px){.base-quality-charts{grid-template-columns:1fr}.base-quality-chart-donut{grid-column:auto}.base-quality-picker{flex-basis:100%}.base-quality-bar-row{grid-template-columns:minmax(80px,115px) minmax(30px,1fr) auto}}

/* v3.5.266 — company base comparison / compact quality KPI cards */
.base-quality-widget .base-quality-mode-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 6px}
.base-quality-mode-row label{font-size:12px;color:var(--muted);font-weight:600}
.base-quality-mode-row select{min-height:37px;min-width:205px;background:var(--panel);border:1px solid var(--line,#ddd);border-radius:9px;color:var(--text);padding:6px 10px}
.base-quality-widget [hidden]{display:none!important}
.base-quality-compare-controls{margin:12px 0 16px}
.base-quality-compare-pickers,.base-quality-comparison,.base-quality-compare-loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.base-quality-compare-filter{min-width:0;display:flex;flex-direction:column;gap:8px}
.base-quality-compare-filter>strong{font-size:13px}
.base-quality-compare-filter .base-quality-picker{flex:1 1 auto;width:100%;min-width:0}
.base-quality-compare-filter .base-quality-scope-popup{width:min(495px,calc(100vw - 45px))}
.base-quality-compare-filter:last-child .base-quality-scope-popup{left:auto;right:0}
.base-quality-compare-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.base-quality-compare-actions span{font-size:11px}
.base-quality-compare-loading>div{display:flex;flex-direction:column;gap:8px;padding:15px;background:var(--surface,#fafaff);border:1px solid var(--line,#ddd);border-radius:10px;min-width:0}
.base-quality-compare-loading small{font-size:12px;color:var(--muted)}
.base-quality-compare-side{min-width:0;border:1px solid var(--line,#ddd);border-radius:12px;padding:12px;background:var(--panel)}
.base-quality-compare-side>h3{font-size:14px;margin:2px 0 12px;overflow-wrap:anywhere}
.base-quality-compare-side .base-quality-charts{grid-template-columns:minmax(0,1fr);gap:10px;margin:12px 0}
.base-quality-compare-side .base-quality-chart-donut{grid-column:auto}
.base-quality-compare-side .base-quality-donut{width:125px;height:125px;flex-basis:125px}
.base-quality-compare-side .base-quality-donut-hole strong{font-size:18px}
.base-quality-compare-side .base-quality-donut-legend{min-width:130px}
.base-quality-widget .base-quality-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:6px}
.base-quality-widget .base-quality-metric{min-width:0;padding:8px 10px;border-radius:8px;gap:3px}
.base-quality-widget .base-quality-metric small{font-size:9.5px;white-space:nowrap;letter-spacing:-.01em}
.base-quality-widget .base-quality-metric strong{font-size:17px;line-height:1.2;overflow-wrap:anywhere}
.base-quality-compare-side .base-quality-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
.base-quality-meta{display:block;font-size:10px;line-height:1.5}
@media(max-width:750px){.base-quality-compare-pickers,.base-quality-comparison,.base-quality-compare-loading{grid-template-columns:minmax(0,1fr)}.base-quality-compare-filter:last-child .base-quality-scope-popup{left:0;right:auto}}
