html body{--crm-action-secondary-bg:var(--surface-2)}
@supports(background:color-mix(in srgb,black,white)){html body{--crm-action-secondary-bg:color-mix(in srgb,var(--surface-2) 88%,var(--text) 12%)}}
/* Unslop by Damir Sokolovsky, CC BY 4.0: https://github.com/heydamir/unslop. CRM component consistency; chat excluded. */
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.chart-card,.stat-tile,.role-card,.person-card,.kcard,.qstep,.role-work-client,.role-assignment-card,.assignment-client-card,.team-doc-card,.memo-card,.memo-preview,.price-card,.bug-card,.dup-card,.ov-card,.lk-card,.pr-tile,.tariff-rate,.poa-card,.payroll-card,.cm-card,.au-card,.aiq-card,.mat-card,.promo-card,.sos-card,.tpl-card,.txt-card,.vz-card,.ios-pool-card,.login-card,.kcol,.team-doc-upload,.notification-entry):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:20px!important;padding:20px!important;box-sizing:border-box;min-width:0;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.modal-section,.cf-stage,.sw-panel,.sw-doc,.sw-act,.sw-send,.sw-now,.sw-check,.note,.modal-hint.note,.clause-box,.legal-link-box,.memo-box,.memo-say,.memo-fact,.txt-body,.vz-answer,.tariff-breakdown,.piecework-list,.comp-rows,.stats-list,.pl-office-grid,.role-task-row):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:12px!important;padding:12px!important;box-sizing:border-box;min-width:0;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.mini-btn,.btn,.finance-actions>button,.modal-footer>button):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:12px!important;min-height:44px!important;padding:8px 16px!important;box-sizing:border-box;font-family:inherit;font-weight:500!important;letter-spacing:normal!important;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="file"]),select,textarea,.uniform-date-control,.ios-select-field):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:12px!important;box-sizing:border-box;font-family:inherit;letter-spacing:normal!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.cc-tab,.ak-tab,.role-tab,.login-tab,.nc-tabs>button,.mode-tabs>button,.tc-tabs>button):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:10px!important;min-height:44px!important;padding:8px 12px!important;box-sizing:border-box;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.badge,.tag,.work-priority,.cl-tag,.team-doc-status,.promo-state,.off-tag,.piece-kind,.ov-chip):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:8px!important;padding:4px 8px!important;font-weight:500!important;letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.modal-content,.off-modal-card,.crm-step-confirm):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:24px!important;box-sizing:border-box}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.stat-value,.comp-row-sum,.salary-totals b,.payroll-totals b):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){font-variant-numeric:tabular-nums}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.mini-btn.primary,.btn.primary):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){background:var(--accent)!important;color:var(--accent-ink)!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.mini-btn:not(.primary):not(.danger):not(.danger-text)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){background:var(--crm-action-secondary-bg)!important;border:0!important;color:var(--text)!important}
@layer crm-component-radii { html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.mini-btn:is(:disabled,[aria-disabled="true"]),.btn:is(:disabled,[aria-disabled="true"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){background:var(--surface-2)!important;color:var(--text-secondary)!important;cursor:default} }
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){outline:2px solid var(--text)!important;outline-offset:3px}
@media(max-width:860px){
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.chart-card,.stat-tile,.role-card,.person-card,.kcard,.qstep,.role-work-client,.role-assignment-card,.assignment-client-card,.team-doc-card,.memo-card,.memo-preview,.price-card,.bug-card,.dup-card,.ov-card,.lk-card,.pr-tile,.tariff-rate,.poa-card,.payroll-card,.cm-card,.au-card,.aiq-card,.mat-card,.promo-card,.sos-card,.tpl-card,.txt-card,.vz-card,.ios-pool-card,.login-card,.kcol,.team-doc-upload,.notification-entry):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){padding:16px!important}
}
html body:not(.ios-chat-open) :is(.off-modal-card,.crm-step-confirm,.modal-content):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:24px!important}
@media(min-width:861px){html body:not(.ios-chat-open) .modal:not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu)):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"],.pp-menu) *):not(:has(.chat-win)){border-radius:24px!important}}

/* Profile rows keep their own layout instead of inheriting generic action styles. */
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu{display:flex!important;overflow-x:hidden!important;overscroll-behavior:contain;flex-direction:column!important;gap:4px!important;width:min(280px,calc(100vw - 32px))!important;min-width:0!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 112px)!important;padding:12px!important;border:0!important;border-radius:20px!important;background:var(--ios-group,var(--bg-app))!important;color:var(--text)!important;box-shadow:none!important;box-sizing:border-box;overflow-y:auto!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu .pp-who{padding:8px 8px 12px!important;margin:0 0 4px!important;gap:4px!important;border-bottom:1px solid var(--border)!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu .pp-who b{font-size:15px!important;line-height:1.4!important;color:var(--text)!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu .pp-who span{font-size:13px!important;line-height:1.4!important;color:var(--text-secondary)!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu button.pp-item{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;min-width:0!important;min-height:44px!important;height:auto!important;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:12px!important;background:var(--surface)!important;color:var(--text)!important;text-align:left!important;font-size:14px!important;line-height:1.4!important;font-weight:500!important;box-sizing:border-box;white-space:normal!important;box-shadow:none!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu :is(.pp-ico,.th-ico,.bug-ico){display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 20px!important;width:20px!important;min-height:20px}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu .build-tag{display:block!important;min-height:20px!important;height:auto!important;margin:0!important;padding:0 8px 4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text-secondary)!important;font-size:12px!important;line-height:1.4!important;text-align:left!important;opacity:1!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu button.pp-out{margin-top:4px!important;background:var(--critical-soft)!important;color:var(--critical-text)!important;border-color:var(--critical-line)!important;border-radius:12px!important}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu[hidden],html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu [hidden]{display:none!important}
@media(hover:hover){html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu button.pp-item:hover{background:var(--surface-2)!important;border-color:var(--border-strong)!important}}

/* Profile icons: one outline set, labels and handlers preserved. */
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu button.pp-item :is(.pp-ico,.bug-ico,.th-ico){display:none!important}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu [data-open-settings]::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%208a4%204%200%201%200%200%208%204%204%200%200%200%200-8Z%22%2F%3E%3Cpath%20d%3D%22m9%203-1%203-3%201-2%203%202%202-1%203%203%202%201%203h5l1-3%203-1%202-3-2-2%201-3-3-2-1-3Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%208a4%204%200%201%200%200%208%204%204%200%200%200%200-8Z%22%2F%3E%3Cpath%20d%3D%22m9%203-1%203-3%201-2%203%202%202-1%203%203%202%201%203h5l1-3%203-1%202-3-2-2%201-3-3-2-1-3Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmMotionButton::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m13%202-9%2012h7l-1%208%2010-13h-7l1-7Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m13%202-9%2012h7l-1%208%2010-13h-7l1-7Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmBugButton::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10.3%204-8%2014a2%202%200%200%200%201.7%203h16a2%202%200%200%200%201.7-3l-8-14a2%202%200%200%200-3.4%200Z%22%2F%3E%3Cpath%20d%3D%22M12%209v4m0%204h.01%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10.3%204-8%2014a2%202%200%200%200%201.7%203h16a2%202%200%200%200%201.7-3l-8-14a2%202%200%200%200-3.4%200Z%22%2F%3E%3Cpath%20d%3D%22M12%209v4m0%204h.01%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #logoutBtn::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%204H4v16h5m5-12%204%204-4%204m-6-4h12%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%204H4v16h5m5-12%204%204-4%204m-6-4h12%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmThemeButton::before{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.9%2013a9%209%200%200%201-9.9-9.9A9%209%200%201%200%2020.9%2013Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.9%2013a9%209%200%200%201-9.9-9.9A9%209%200%201%200%2020.9%2013Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmThemeButton[aria-label="Включить светлую тему"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v2m0%2016v2M2%2012h2m16%200h2M5%205l1.5%201.5m11%2011L19%2019M5%2019l1.5-1.5m11-11L19%205%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v2m0%2016v2M2%2012h2m16%200h2M5%205l1.5%201.5m11%2011L19%2019M5%2019l1.5-1.5m11-11L19%205%22%2F%3E%3C%2Fsvg%3E")}

/* Lucide profile icons, ISC license: lucide.dev/license. */
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu [data-open-settings]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M9.671%204.136a2.34%202.34%200%200%201%204.659%200%202.34%202.34%200%200%200%203.319%201.915%202.34%202.34%200%200%201%202.33%204.033%202.34%202.34%200%200%200%200%203.831%202.34%202.34%200%200%201-2.33%204.033%202.34%202.34%200%200%200-3.319%201.915%202.34%202.34%200%200%201-4.659%200%202.34%202.34%200%200%200-3.32-1.915%202.34%202.34%200%200%201-2.33-4.033%202.34%202.34%200%200%200%200-3.831A2.34%202.34%200%200%201%206.35%206.051a2.34%202.34%200%200%200%203.319-1.915%22%20%2F%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmMotionButton::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M15.914%204a1.5%201.5%200%2000-2.474-1.561l-9%209A1.5%201.5%200%20005.5%2014h4.002a.5.5%200%2001.471.666L8.086%2020a1.5%201.5%200%20002.475%201.56l9-9A1.5%201.5%200%200018.5%2010h-3.997a.5.5%200%2001-.472-.667z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmBugButton::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%209v4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2017h.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%209v4%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2017h.01%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #logoutBtn::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m16%2017%205-5-5-5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M21%2012H9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22m16%2017%205-5-5-5%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M21%2012H9%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M9%2021H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2h4%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmThemeButton::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20.985%2012.486a9%209%200%201%201-9.473-9.472c.405-.022.617.46.402.803a6%206%200%200%200%208.268%208.268c.344-.215.825-.004.803.401%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Cpath%20d%3D%22M20.985%2012.486a9%209%200%201%201-9.473-9.472c.405-.022.617.46.402.803a6%206%200%200%200%208.268%208.268c.344-.215.825-.004.803.401%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}
html body:not(.ios-chat-open) #mainApp .topbar .pp-menu #crmThemeButton[aria-label="Включить светлую тему"]::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%202v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2020v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m4.93%204.93%201.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m17.66%2017.66%201.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M2%2012h2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%2012h2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6.34%2017.66-1.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m19.07%204.93-1.41%201.41%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg%0A%20%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0A%20%20width%3D%2224%22%0A%20%20height%3D%2224%22%0A%20%20viewBox%3D%220%200%2024%2024%22%0A%20%20fill%3D%22none%22%0A%20%20stroke%3D%22black%22%0A%20%20stroke-width%3D%222%22%0A%20%20stroke-linecap%3D%22round%22%0A%20%20stroke-linejoin%3D%22round%22%0A%3E%0A%20%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%202v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M12%2020v2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m4.93%204.93%201.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m17.66%2017.66%201.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M2%2012h2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22M20%2012h2%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m6.34%2017.66-1.41%201.41%22%20%2F%3E%0A%20%20%3Cpath%20d%3D%22m19.07%204.93-1.41%201.41%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}

/* Radius authority: layered important declarations win over legacy runtime styles. */
:root{--crm-radii-card:24px;--crm-radii-inset:20px;--crm-radii-control:16px;--crm-radii-modal:24px;--crm-radii-tab:999px;--crm-radii-badge:8px}
@layer crm-component-radii{
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.ios-case-info,.modal-section,.aiq-card,.ak-verdict,.akd-sec,.ann-group,.assignment-client-card,.au-card,.bug-card,.bug-row,.cab-card,.cab-hero,.cab-msg,.case-hide,.chart-card,.client-filter-bar,.cm-card,.cm-row,.dl-row,.dup-card,.duty-row,.econ-steps,.ios-client,.ios-pool-card,.kcard,.kcol,.lk-card,.mat-card,.memo-card,.memo-preview,.mg-auto-proposal,.mg-clinical-card,.mg-direction,.mg-next,.mg-proof-head,.mg-proof-row,.mw-complaint-note,.mw-complaint-source-card,.mw-plan-item,.mw-record-summary,.mw-stagebar,.note.resolved,.notification-entry,.off-list-row,.off-mode,.off-slot,.ov-card,.ov-row,.payroll-freeze,.person-card,.pl-item,.poa-card,.pool-banner,.pp-menu,.pr-tile,.price-card,.promo-card,.promo-step,.qstep,.ref-sec,.role-assignment-card,.role-assignment-form,.role-card,.role-work-client,.role-work-stat,.rw-new-task,.sd-sheet,.sos-card,.stages-edit,.stat-tile,.tariff-rate,.team-doc-card,.team-doc-upload,.tpl-card,.txt-card,.wait-row,.work-row):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-card)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.agr-row,.agr-unsigned,.ak-mfc,.assign-due,.assign-how,.assignment-audience-note,.bfl-all,.cand-more-menu,.cand-row,.cc-fact,.cc-fold,.cc-person,.cc-refund-calc,.cc-row,.cf-stage,.cl-hold,.cl-step,.clause-box,.clause-row,.client-filter-empty,.cm-ai,.cm-body,.comp-rows,.crm-confirm-task,.dash-pay-form,.doc-req-list,[data-section-key="history"] > .declined-strip,.faq-item,.ios-client-doc-compact,.ios-editor-secondary,.journal-row,.kas-item,.kom-agent,.kom-agents,.kom-cases,.kom-excl,.kom-more,.kom-person,.lead-assign,.legal-link-box,.lr-appeal,.med-guide-added,.med-guide-chapter,.med-guide-target,.memo-box,.memo-fact,.memo-say,.mg-clinical-v,.mg-norm-table-scroll,.mg-v-conditions,.mg-v-evidence,.mg-v-other,.mg-v-point,.mg-v-title,.modal-note-text,.nc-note,.nc-progress,.note,.notification-item,.off-col-head,.otk-opt,.pack-files,.pay-plan-row,.pf-item,.piece-add,.piece-row,.piecework-list,.pl-cell,.pl-office-grid,.premed-group,.price-note,.qstep-warn,.refund-warn,.role-task-row,.sched-row,.sd-diff,.sd-draft-note,.sd-help-note,.sos-item,.stats-list,.sw-act,.sw-check,.sw-doc,.sw-now,.sw-panel,.sw-send,.tariff-breakdown,.tariff-up-row,.task-file,.task-parts-how,.team-doc-status,.term-calc,.term-doc-row,.tpl-addr,.tu-discount,.txt-body,.uch-opt,.uch-q,.up-pick,.up-rule,.vz-answer,.vz-search,.workspace-review-item,.wr-step):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-inset)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.btn,.btn-primary,.btn-secondary,.cab-cta,.doc-btn,.finance-actions>button,.mini-btn,.modal-footer>button):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-control)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.ios-select-field,.uniform-date-control,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]),select,textarea):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-control)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.ak-tab,.cc-tab,.login-tab,.mode-tabs>button,.nc-tabs>button,.tc-tabs>button,.role-tab):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-tab)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.badge,.cl-tag,.off-tag,.ov-chip,.piece-kind,.promo-state,.tag,.team-doc-status,.work-priority):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-badge)!important}
html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) :is(.auth-card,.crm-step-confirm,.login-box,.login-card,.modal,.modal-card,.modal-content,.off-modal-card):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-modal)!important}
html body:not(.ios-chat-open) :is(dialog.ios-sheet,.off-modal-card,.crm-step-confirm):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-modal)!important}
@media(max-width:860px){html body:not(.ios-chat-open) :is(#mainApp,#loginScreen,.modal-overlay,.modal-backdrop,.modal) table:not(.dist-table) tbody tr:not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"])):not(:where([class^="ch-"],[class*=" ch-"],[class*="chat"]) *):not(:has(.chat-win)){border-radius:var(--crm-radii-inset)!important}}
}

@layer crm-component-radii {
  html body #loginScreen .login-submit {border-radius:var(--crm-radii-control)!important}
  html body #mainApp #content .cc-tabs {border-radius:var(--crm-radii-tab)!important}
  html body #mainApp #content .cc-tabs > .cc-tab:focus-visible {
    outline:2px solid var(--text-muted)!important;
    outline-offset:-3px!important;
    box-shadow:none!important;
  }
}

@layer crm-component-radii {
html body #crmUpdateBar [data-crm-reload], html body #crmUpdateBar .cub-close {border-radius:var(--crm-radii-control)!important}
}

@layer crm-component-radii {
  html body #mainApp .sos-card button.sos-main[data-sos="open"] {
    background: var(--critical, #b42318) !important;
    border-color: var(--critical, #b42318) !important;
    color: #fff !important;
    min-height: 44px !important;
  }
}

/* Court case summary */
.chart-card.crm-court-summary .crm-court-number { color:var(--accent-text,var(--accent)); }
@layer crm-component-radii {
html body #mainApp .crm-court-summary a.crm-court-kad {background:var(--accent)!important;color:var(--accent-ink,#111)!important;border:0!important;padding:0 16px!important;text-decoration:none!important;border-radius:var(--crm-radii-control)!important}
}
.chart-card.crm-court-summary a.crm-court-kad:hover { filter:brightness(.93);text-decoration:none; }
@layer crm-component-radii {
  html body #mainApp .crm-court-summary a.crm-court-kad:focus-visible {
    outline: 2px solid var(--accent-text, var(--text)) !important;
    outline-offset: 3px !important;
  }
}

@layer crm-component-radii {
html body #mainApp .pay-plan > .pay-plan-row {border:0!important}
}

/* Client memo grid */
#mainApp #content .price-card-head {
  flex-wrap: wrap;
  gap: 6px 14px;
}
#mainApp #content .price-card-head > b {
  flex: 1 1 12ch;
  min-width: 0;
  overflow-wrap: anywhere;
}
#mainApp #content .price-card-head > .price-tag {
  margin-inline-start: auto;
  white-space: normal;
}
@layer crm-component-radii {
@media (max-width: 480px) {
  html body #mainApp #content .price-card-head { display: grid !important; grid-template-columns: minmax(0, 1fr); }
  #mainApp #content .price-card-head > .price-tag { margin-inline-start: 0; }
}
}
@layer crm-component-radii {
  html body #mainApp #content .faq-item {
    border: 0 !important;
    overflow-wrap: anywhere;
  }
}
#mainApp #content .faq-item > summary {
  box-sizing: border-box;
  min-height: 44px;
  align-items: center;
}
.memo-cards:has(> article.memo-card) {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
}
.memo-cards > article.memo-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: anywhere;
}
.memo-cards > article.memo-card > .memo-card-top {
  align-items: flex-start;
  flex-wrap: nowrap;
}
.memo-cards > article.memo-card > .memo-card-top > b {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.memo-cards > article.memo-card > .memo-card-top > .memo-new {
  flex: none;
}
.memo-cards > article.memo-card > .memo-card-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: repeat(2, minmax(1.2em, auto));
  gap: 2px 10px;
  margin-top: auto;
  padding-top: 8px;
}
.memo-cards > article.memo-card > .memo-card-foot > span {
  grid-column: 1;
}
.memo-cards > article.memo-card > .memo-card-foot > button {
  grid-area: 1 / 2 / 3;
  justify-self: end;
  align-self: end;
}

@layer crm-component-radii {
html body #mainApp .ref-offer .ref-reward {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));max-width:520px}
html body #mainApp .ref-offer .ref-reward > div {border:0!important;border-radius:var(--crm-radii-inset)!important;min-width:0;overflow-wrap:anywhere;background:var(--tint-1);display:flex;flex-direction:column;justify-content:space-between}
html body #mainApp .ref-offer .ref-reward b {color:var(--accent-text)}
}

@media (min-width: 861px) {
  .portal-case-chat .ch-bubble {width:fit-content!important;max-width:min(66ch,100%)!important;overflow-wrap:anywhere}
  .portal-case-chat .ch-bubble .ch-text {line-height:1.55}
}

@media (min-width: 861px) {
  html body #mainApp #content:has(:is(.portal-case-chat,.team-chat)) {
    max-width:none!important;
  }
  html body #mainApp #content :is(.portal-case-chat,.team-chat) {
    width:100%;max-width:none!important;box-sizing:border-box;
  }
  html body #mainApp #content .portal-case-chat {
    display:flex;flex-direction:column;
    height:max(420px,calc(100dvh - 190px));
    border-radius:24px!important;
  }
  html body #mainApp #content .portal-case-chat .chat-win {flex:1;margin-top:8px}
  html body #mainApp #content .team-chat {height:max(420px,calc(100dvh - 150px))}
  html body #mainApp #content .cc-chat .chat-win {height:max(440px,calc(100dvh - 250px))}
  html body #mainApp #content .chat-win .ch-scroll {
    flex:1 1 0;min-height:0!important;max-height:none!important;
  }
  html body #mainApp #content .chat-win .ch-bubble {
    width:fit-content!important;max-width:min(76ch,100%)!important;
    border-radius:16px!important;
  }
  html body #mainApp #content .chat-win .ch-body,
  html body #mainApp #content .chat-win .ch-body > div {
    font-size:15px!important;line-height:1.5!important;
  }
  html body #mainApp #content .chat-win .ch-send-row {
    align-items:center!important;
  }
  html body #mainApp #content .chat-win .ch-send-row textarea {
    min-height:44px!important;border-radius:16px!important;font-size:15px!important;
  }
  html body #mainApp #content .chat-win .ch-send-row :is([data-ch-pick],.ch-go) {
    flex-basis:44px!important;width:44px!important;height:44px!important;
    border-radius:50%!important;
  }
}

@layer crm-component-radii {
  @media (min-width:861px) {
    html body #mainApp #content:has(.portal-case-chat,.team-chat),
    html body #mainApp #content :is(.portal-case-chat,.team-chat),
    html body #mainApp #content > :has(.portal-case-chat,.team-chat) {max-width:none!important}
    html body #mainApp #content .portal-case-chat {height:max(420px,calc(100dvh - 190px))!important}
    html body #mainApp #content .team-chat {height:max(420px,calc(100dvh - 150px))!important}
    html body #mainApp #content :is(.portal-case-chat,.team-chat,.cc-chat) :is(.chat-win,.tc-panel,.tc-list) {
      border-radius:var(--crm-radii-card)!important;
    }
    html body #mainApp #content .chat-win .ch-scroll {max-height:none!important;min-height:0!important}
    html body #mainApp #content .chat-win .ch-bubble {
      width:fit-content!important;max-width:min(72ch,calc(100% - 48px))!important;
      border-radius:var(--crm-radii-inset)!important;
    }
    html body #mainApp #content .chat-win .ch-send-row {align-items:center!important}
    html body #mainApp #content .chat-win .ch-send-row textarea {
      min-height:44px!important;border-radius:var(--crm-radii-control)!important;
    }
    html body #mainApp #content .chat-win .ch-send-row :is([data-ch-pick],.ch-go) {
      width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:50%!important;
    }
    html body #mainApp #content :is(.view-title,.chart-title) {line-height:1.3}
    html body #mainApp #content .chart-title {font-size:16px!important}
    html body #mainApp #content .chart-sub {font-size:14px!important;line-height:1.5}
    html body #mainApp #content textarea[aria-label="Внутренняя заметка"] {min-height:76px!important;height:76px}
    html body #mainApp #content textarea[aria-label="Внутренняя заметка"] + button {
      background:var(--accent)!important;color:var(--accent-ink)!important;
    }
  }
}

@layer crm-component-radii {
 @media (min-width:861px) {
  html body #mainApp #content .chat-win .ch-send-row {
   display:flex!important;align-items:center!important;gap:10px!important;
  }
  html body #mainApp #content .chat-win .ch-send-row textarea[data-ch-body] {
   height:auto!important;min-height:44px!important;max-height:120px!important;field-sizing:content;resize:none;
   box-sizing:border-box;padding:11px 14px!important;
   border-radius:var(--crm-radii-control)!important;
  }
  html body #mainApp #content .chat-win .ch-send-row :is([data-ch-pick],.ch-go) {
   align-self:center!important;margin:0!important;
  }
  html body #mainApp #content .chat-win .ios-chat-audience {
   background:var(--surface-2)!important;color:var(--text-secondary)!important;
  }
 }
}

@layer crm-component-radii {
  @media (min-width: 861px) {
    html body #mainApp #content {
      max-width: none !important;
      margin-inline: 0 !important;
    }
    html body #mainApp #content > .detail-page {
      width: 100%;
      max-width: none !important;
      margin-inline: 0 !important;
    }
  }
}

@layer crm-component-radii {
  @media (min-width:861px) {
    html body #mainApp .topbar #notificationBell {
      display:inline-grid!important;place-items:center;
      box-sizing:border-box;width:36px!important;min-width:36px!important;
      height:36px!important;min-height:36px!important;padding:0!important;
      border:0!important;border-radius:10px!important;
      background:var(--surface-2)!important;
    }
  }
}

@layer crm-component-radii {
 html body #mainApp #content .sos-kinds button {
  background:var(--surface-2)!important;color:var(--text)!important;
  border:0!important;border-radius:var(--crm-radii-control)!important;
  min-height:44px!important;padding:8px 12px!important;white-space:normal;
 }
 html body #mainApp #content .sos-kinds button:hover:not(:disabled) {
  background:var(--accent-soft)!important;
 }
}

@layer crm-component-radii {
  /* The desktop minimum must not push the composer off short landscape screens. */
  @media (min-width:861px) and (max-height:600px) {
    html body #mainApp #content .portal-case-chat {
      height:calc(100dvh - 150px)!important;
      min-height:160px!important;
    }
    html body #mainApp #content .team-chat {
      height:calc(100dvh - 100px)!important;
      min-height:160px!important;
    }
    html body #mainApp #content .portal-case-chat > .chart-sub {
      margin-bottom:4px!important;
    }
  }
}

@layer crm-component-radii {
 @media (min-width:861px) and (max-height:600px) {
  html body #mainApp #content .portal-case-chat .chat-win {
   display:flex;flex-direction:column;
  }
  html body #mainApp #content .chat-win .ch-send-row textarea[data-ch-body] {
   max-height:clamp(44px, 18dvh, 96px)!important;
   overflow-y:auto;
  }
 }
}

html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu > * {flex-shrink:0}
html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu .pp-who {min-width:0;overflow-wrap:anywhere}

#mainApp #content :is(.memo-card,.assign-facts,.pay-plan-row) {min-width:0;overflow-wrap:anywhere}

@layer crm-component-radii {
 @media (orientation:landscape) and (max-height:400px) {
  #loginScreen .login-wrap {padding-block:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-bottom))!important}
  #loginScreen .login-card {padding-block:12px!important}
  #loginScreen .login-brand {margin-bottom:8px!important}
  #loginScreen .login-logo {height:32px!important}
  #loginScreen .login-field {margin-bottom:8px!important}
 }
}

#mainApp #content .detail-page :is(.modal-title,.modal-sub,.cc-client-name) {min-width:0;white-space:normal;overflow-wrap:anywhere}

@layer crm-component-radii {
  html body #mainApp #content .ch-send-row button:focus-visible {
    outline:2px solid var(--accent-text,var(--accent))!important;
    outline-offset:2px!important;
  }
}

@layer crm-component-radii {
 @media (max-width:860px) {
  html body .ch-ms-panel :is(input,select) {
   font-size:16px!important;
   min-height:44px;
   max-width:100%;
   box-sizing:border-box;
  }
 }
}

#mainApp #content :is(.team-doc-name,.sd-name,.sw-doc b,.ios-client-doc-compact .doc-main b) {overflow-wrap:anywhere;min-width:0}

/* Client documents: keep headings and file rows on the same spacing grid. */
#mainApp #content .cab-card:has(> .doc-list) { padding: clamp(16px, 2vw, 24px); }
#mainApp #content .cab-card > .cab-note:has(+ .doc-list) { margin: 6px 0 16px !important; }
#mainApp #content .up-row .up-main {
  min-width: 0;
  overflow-wrap: anywhere;
}
@layer crm-component-radii {
  html body #mainApp #content .client-upload-form :is(input[type="file"], select) {
    min-height: 44px !important;
    border-radius: var(--crm-radii-control) !important;
    border: 0 !important;
  }
}
#mainApp #content .modal-grid:has(#pwOld) {
  max-inline-size: 42rem;
}
#mainApp #content .modal-grid:has(#pwOld) input[type="password"] {
  min-height: 44px;
}
#mainApp #content .client-upload-form > label {
  min-width: 0;
}
#mainApp #content .client-upload-form :is(input[type="file"], select) {
  min-width: 0;
  max-width: 100%;
}
#mainApp #content .cab-card > .doc-list { gap: 8px; }
@layer crm-component-radii {
  html body #mainApp #content .cab-card > .doc-list > .doc-row {
    border: 0 !important;
    border-radius: var(--crm-radii-control) !important;
  }
}
#mainApp #content .cab-card > .doc-list > .doc-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; padding: 12px 16px; gap: 12px; align-items: center; }
#mainApp #content .cab-card > .doc-list .doc-btn { min-height: 44px; }

#mainApp #content .client-document-table { padding: clamp(16px, 2vw, 24px); }
#mainApp #content .client-document-table > .chart-sub { margin: 6px 0 16px; }
#mainApp #content .client-document-table td:last-child .mini-btn { min-height: 44px; }

@layer crm-component-radii {
  @media (min-width: 861px) {
    html body #mainApp #content .chat-win > .ios-chat-audience {
      border-radius: var(--crm-radii-control) !important;
    }
  }
}

@layer crm-component-radii {
  #mainApp #content .chat-win .ch-actions-menu > button.mini-btn {
    justify-content: flex-start !important;
    text-align: start !important;
    font-weight: 600 !important;
  }
  #mainApp #content .chat-win .ch-actions-menu > button.mini-btn:not(:has(> svg)) {
    padding-inline-start: 36px !important;
  }
  @media (min-width: 861px) {
    html body #mainApp #content .chat-win > .ios-chat-audience {
      align-self: flex-start;
      width: fit-content;
      max-width: 100%;
    }
  }
}

@layer crm-component-radii {
  html body #mainApp #content .ch-send-row textarea[data-ch-body]:focus {
    outline: 0 !important;
    border-color: transparent !important;
    box-shadow: inset 0 0 0 1px var(--text-muted) !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .chat-win .ch-ms-search {
    padding: 12px 16px;
  }
  html body #mainApp #content .chat-win .ch-ms-search form > :is(input, button) {
    min-height: 40px !important;
    border-radius: var(--crm-radii-control) !important;
  }
  html body #mainApp #content .chat-win .ch-ms-search input[name="q"]:focus {
    outline: 0 !important;
    border-color: transparent !important;
    box-shadow: inset 0 0 0 1px var(--text-muted) !important;
  }
}

@layer crm-component-radii {
  html body :is(#mainApp #content, #mainApp, #loginScreen, .modal, .modal-overlay, .modal-backdrop)
  :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"]), select, textarea):focus {
    outline: 0 !important;
    border-color: transparent !important;
    box-shadow: inset 0 0 0 1px var(--text-muted) !important;
  }
}



#mainApp #content .cab-card > .doc-list .doc-main { min-width: 0; overflow-wrap: anywhere; white-space: normal; }

#mainApp #content .client-document-table td:first-child { overflow-wrap: anywhere; white-space: normal; }

/* Preserve the client filter grid when the desktop sidebar reduces available space. */
@media (600px <= width <= 1100px) {
  #mainApp :is(#content, #iosClients) .client-filter-bar:not(.client-filter-two) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#mainApp :is(#content, #iosClients) .client-filter-bar :is(input, select) {
  min-width: 0;
  max-width: 100%;
}

/* Desktop case tabs stay visible when the sidebar leaves less room. */
@media (min-width: 861px) {
  #mainApp #content .cc-tabbed .cc-tabs:has(> .cc-tab) {
    flex-wrap: wrap;
  }
}

#mainApp #content .assignment-client-list > .assignment-client-card.done {
  opacity: 1;
}

#mainApp #content .assignment-client-list .assign-how {
  max-inline-size: 70ch;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

@layer crm-component-radii {
  html body #mainApp .cab-hero {
    background: linear-gradient(135deg, var(--accent-soft), transparent 70%), var(--surface) !important;
    border: 0 !important;
  }
  html body #mainApp .client-overdue-card,
  html body #mainApp .cab-hero.is-overdue {
    background: linear-gradient(135deg, rgba(200,45,60,.24), transparent 80%), var(--surface) !important;
    border: 0 !important;
  }
  html body #notificationPanel .notification-entry {
    border-radius: var(--crm-radii-inset) !important;
  }

  html body #notificationPanel .notification-permission > summary {
    border: 0 !important;
    border-radius: var(--crm-radii-inset) !important;
  }
  html body #notificationPanel .notification-permission > summary:focus {
    outline: 0 !important;
    box-shadow: none !important;
  }
  html body #notificationPanel .notification-permission > summary:focus-visible {
    box-shadow: inset 0 0 0 1px var(--text-muted) !important;
  }
  html body #notificationPanel .notification-permission,
  html body #crmNotificationOverlay #notificationPanel .notification-permission {
    background: var(--accent-soft) !important;
    border: 0 !important;
    border-radius: var(--crm-radii-inset) !important;
  }
}

@media (min-width: 861px) {
  body #mainApp #content .stat-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 208px), 1fr)) !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .chat-win .ch-actions-menu > button.mini-btn:not(.danger) {
    color: var(--text) !important;
  }

  @media (max-width: 860px) {
    html body #mainApp #content .chat-win .ch-actions-menu[data-ch-mode="actions"] > button.mini-btn {
      min-height: 44px !important;
      height: 44px !important;
    }
  }
}

@media (max-width: 480px) {
  #mainApp #content .pl-nav { flex-wrap: wrap; max-width: 100%; }
}

#mainApp #content .pl-item :is(.pl-body,.pl-line,.pl-title) { min-width: 0; }
#mainApp #content .pl-item .pl-title { overflow-wrap: anywhere; white-space: normal; }

#mainApp #content .crm-case-note > :is(p, [role="status"]) { overflow-wrap: anywhere; }
#mainApp #content .crm-case-note > textarea { box-sizing: border-box; max-width: 100%; }

.ios-sheet .ios-sheet-items > button { min-width: 0; white-space: normal; overflow-wrap: anywhere; }

.notification-entry :is(.notification-item,.notification-title,.notification-title b,.notification-message) { min-width: 0; }
.notification-entry :is(.notification-title b,.notification-message) { overflow-wrap: anywhere; white-space: normal; }

@media (max-width: 860px) and (max-height: 480px) and (orientation: landscape) {
  html body :is(#crmNotificationOverlay .notification-panel,#crmTeamDebts .team-debts-sheet) {
    height: calc(100dvh - max(clamp(12px, 100dvh - 408px, 72px), env(safe-area-inset-top, 0px)) - max(12px, env(safe-area-inset-bottom, 0px))) !important;
    max-height: none !important;
  }
  html body #crmNotificationOverlay .notification-panel-head { padding-block: clamp(8px, 100dvh - 412px, 10px) 8px !important; }
  #crmNotificationOverlay .notification-permission { max-height: clamp(44px, 100dvh - 376px, 25%); }
}

#mainApp #content .pl-item { background: var(--surface-2); border: 0; border-radius: var(--crm-radii-inset, 20px); }

#mainApp #content .pl-actions [data-pl-edit] { background: var(--surface) !important; }

#mainApp #content .assignment-client-list > .assignment-client-card { border: 0 !important; background: var(--surface-2); }
@layer crm-component-radii {
  html body #mainApp #content .assignment-client-list > .assignment-client-card.is-late { background: color-mix(in srgb, var(--critical) 12%, var(--surface-2)) !important; }
}

#mainApp #content .finance-section .table-wrap :is(th, td),
#mainApp #content .refunds-table :is(th, td),
#mainApp #content .payouts-table :is(th, td),
#mainApp #content .users-table :is(th, td),
#mainApp #content .table-wrap:has([data-delete-expense], [data-delete-recurring]) :is(th, td) {
  overflow-wrap: anywhere;
}

#mainApp #content .finance-section :is(.staff-payroll-grid .stat-tile, .kom-agents) {
  min-width: 0;
  overflow-wrap: anywhere;
}

#mainApp #content .tpl-cases .tpl-case > :is(b, span) {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

#mainApp #content .view-sub:has(> [data-tpl-case]) {
  overflow-wrap: anywhere;
}

#mainApp #content .tpl-editor { overflow-wrap: anywhere; }
#mainApp #content .tpl-editor :is(.tpl-form, .tpl-addr-who) { min-width: 0; }

#mainApp .topbar #personName {
  min-width: 0;
  max-inline-size: min(26ch, 26vw);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#crmUpdateBar .cub-close {
  flex: none;
  min-width: 44px;
  min-height: 44px;
}
#crmUpdateBar [data-crm-reload] {
  min-height: 44px !important;
}

@media (min-width: 861px) {
  #crmUpdateBar {
    inset: auto 20px 20px auto !important;
    max-inline-size: min(42rem, calc(100vw - 40px));
    border-radius: var(--crm-radii-card);
  }
}

#mainApp #content :is(.sos-item, .sos-card .resolved) { overflow-wrap: anywhere; }
#mainApp #content .sos-item-head > div:first-child { min-width: 0; }

@layer crm-component-radii {
  @media (max-width: 860px) {
    #mainApp #content :is(#plPrev, #plNext) { min-width: 44px !important; }
    #mainApp #content button.pl-cell { min-height: 44px !important; }
  }
}

@layer crm-component-radii {
  @media (max-width: 860px), (any-pointer: coarse) {
    :is(#mainApp #content, .modal-overlay, .modal-backdrop, .modal) :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="button"], [type="submit"], [type="reset"]), textarea, select) { font-size: 16px !important; }
  }
}

#mainApp #content > .crm-wide-table { max-width: 100%; overflow-x: auto; }

@layer crm-component-radii {
  #mainApp #content .mini-btn.danger:not(:disabled, [aria-disabled="true"]):not(:where(.chat-win *)) { color: var(--critical-text) !important; }
}

@layer crm-component-radii {
  html body #mainApp #content .chat-win .ch-actions-menu > .mini-btn.danger { color: var(--critical-text) !important; }
}

@layer crm-component-radii {
  #mainApp #content .tc-row :is(.tc-last, .tc-sub, .tc-when) { color: var(--text-secondary) !important; }
}

#mainApp #content .cab-note {
  max-inline-size: 72ch;
  overflow-wrap: anywhere;
}

@media (max-width: 360px) {
  #mainApp #content .cab-card > .doc-list > .doc-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  #mainApp #content .cab-card > .doc-list > .doc-row > .doc-btn {
    grid-column: 2;
    justify-self: start;
  }
}

@layer crm-component-radii {
  #mainApp #content :is(.ios-client-doc-name, .ios-client-doc-compact .doc-main) b {
    -webkit-line-clamp: unset !important;
  }
}

#mainApp #content td[data-label="Документ"] {
  overflow-wrap: anywhere;
  white-space: normal;
}

@media (any-pointer: coarse) {
  @layer crm-component-radii {
    #mainApp #content tr:has(> td[data-label="Документ"]) > td[data-label="Файл"] > a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px !important;
      min-width: 44px;
    }
  }
}

@layer crm-component-radii {
  @media (max-width: 860px) {
    body.ios-preview-active #mainApp #content .ios-client-doc-table tr.ios-client-doc-row {
      grid-template-columns: minmax(0, 1fr) auto !important;
    }
    body.ios-preview-active #mainApp #content .ios-client-doc-compact {
      grid-template-columns: 28px minmax(0, 1fr) auto !important;
    }
    body.ios-preview-active #mainApp #content :is(.ios-client-doc-action, .ios-client-doc-compact) > a {
      width: auto !important;
      min-width: 44px;
      padding-inline: 10px !important;
      font-size: 13px !important;
    }
    body.ios-preview-active #mainApp #content :is(.ios-client-doc-action, .ios-client-doc-compact) > a::after { content: none; }
  }
  @media (max-width: 360px) {
    body.ios-preview-active #mainApp #content .cab-card > .doc-list > .ios-client-doc-compact {
      grid-template-columns: 24px minmax(0, 1fr) !important;
    }
  }
}

@layer crm-component-radii {
  @media (max-width: 360px) {
    #mainApp #content .pl-grid { column-gap: 2px !important; }
  }
}

@layer crm-component-radii {
  #mainApp #content .pl-cell.is-picked {
    opacity: 1 !important;
    background: var(--accent) !important;
    color: var(--accent-ink) !important;
  }
  #mainApp #content .pl-cell.is-picked .pl-chip {
    color: var(--text);
  }
  #mainApp #content .pl-cell.is-picked .pl-num {
    color: var(--accent-ink) !important;
  }
}

#mainApp #content .memo-page { overflow-wrap: anywhere; }

@layer crm-component-radii {
@media (max-width: 860px), (any-pointer: coarse) {
  #mainApp #content :is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden],[type=button],[type=submit],[type=reset]), select):not(.chat-win *) { min-height: 44px !important; }
}
}

@layer crm-component-radii {
  #mainApp #content :is(.ios-lead-scopes > button, button.lg-head) {
    min-height:44px!important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    min-width: 0;
  }
  #mainApp #content button.lg-head > * { min-width: 0; }
}

@layer crm-component-radii {
  #mainApp #content :is(.good-text, .users-doc-yes, .pl-tag-done, .task-result-ok, .doc-req-asked, .rt-doc-ok) {
    color: var(--good-text) !important;
  }
}

@layer crm-component-radii {
  #mainApp #content :is(.assign-due-late, .wait-row.is-late .wait-due, .qstep-due.is-late, .work-row.is-late .work-due, .dl-pill.is-late, .file-wrong, .pl-tag-miss) {
    color: var(--critical-text) !important;
  }
}

#mainApp #content .pay-plan-row :is(.pay-plan-sum, .pay-plan-status) {
  max-inline-size: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (600px <= width <= 860px) {
  #mainApp :is(#content, #iosClients) .client-filter-bar > :is(label:has(> #clientQuickSearch), .client-filter-meta) {
    grid-column: 1 / -1;
  }
}

#mainApp :is(#content, #iosClients) .client-filter-bar :is(.client-filter-meta, label > span),
#mainApp #clientQuickSearch::placeholder { color: var(--text-secondary); }

@layer crm-component-radii {
  html body #mainApp :is(#content, #iosClients) .client-filter-bar :is(input, select):focus-visible {
    box-shadow: inset 0 0 0 2px var(--text-secondary) !important;
  }
}

#mainApp .ios-client-copy small {
  white-space: normal;
  overflow-wrap: anywhere;
}
#mainApp .ios-client-overdue {
  color: var(--critical-text) !important;
  white-space: nowrap;
}

#mainApp .ios-client:not(.is-swiped, .is-dragging) > .ios-client-actions {
  visibility: hidden;
}

@media (max-height: 420px) {
  dialog.ios-sheet > h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
  }
}

@media (max-height: 320px) {
  html body.ios-preview-active dialog.ios-sheet:not(.ios-from-nav) {
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  html body.ios-preview-active dialog.ios-sheet:not(.ios-from-nav) > .ios-sheet-items {
    flex: none !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

html body.ios-preview-active dialog.ios-sheet.ios-from-nav {
  --sheet-anchor-limit: min(var(--ios-sheet-anchor-top), calc(100dvh - 60px));
  top: var(--sheet-anchor-limit) !important;
  max-height: calc(var(--sheet-anchor-limit) - env(safe-area-inset-top, 0px) - 12px) !important;
}

@layer crm-component-radii {
  html body #mainApp #content .chat-win .ch-send-row .ch-go:not(:disabled) {
    background-color: var(--accent) !important;
    color: var(--accent-ink, #000) !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .chat-win .ch-ms-more:focus-visible {
    outline: 2px solid var(--accent-text, var(--text)) !important;
    outline-offset: 2px !important;
  }
}

@media (max-width: 860px), (any-pointer: coarse) {
  html body .modal-head > .modal-close { min-width: 44px; min-height: 44px; flex-shrink: 0; }
}

@media (max-width: 860px) {
  html body #mainApp #content .cc-tabs { align-items: center; }
  html body #mainApp #content .cc-tabs > .cc-tab {
    flex: none;
    width: max-content;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

#mainApp #content .dash-pay-form .dash-pay-err { overflow-wrap: anywhere; }

@layer crm-component-radii {
  @media (max-width: 860px) {
    html body #mainApp #content .chat-win .ch-send [data-ch-remove-file] {
      min-inline-size: 44px !important;
    }
  }
}

@media (max-height: 320px) {
  dialog.ios-sheet > .ios-sheet-cancel {
    position: sticky;
    bottom: 0;
    z-index: 1;
  }
}

@media (max-height: 320px) {
  dialog.ios-sheet { scroll-padding-block-end: 56px; }
}

@media (max-width: 860px) {
  body.ios-preview-active.ios-chat-open > nav.ios-bottom { display: none !important; }
}

@media (max-width: 860px) {
  body.ios-preview-active > nav.ios-bottom { height: auto !important; max-height: none !important; }
  body.ios-preview-active > nav.ios-bottom button span { max-inline-size: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.15; }
  html body.ios-preview-active:not(.ios-chat-open,.ios-keyboard-open,.ios-editor-open) #mainApp #content,
  html body.ios-preview-active.ios-chat-section:not(.ios-chat-open,.ios-keyboard-open) #mainApp .tc-rows {
    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px) + var(--ios-dock-extra, 0px)) !important;
  }
}

@media print {
  .memo-page :is(h1, h2, h3, h4, h5, h6) { break-after: avoid-page; }
}

#mainApp #content .pl-cell.is-other { opacity: 1; }
#mainApp #content .pl-cell.is-other:not(.is-picked) .pl-num { color: var(--text-secondary); }

#mainApp .dash-pay-err { color: var(--critical-text); }

@media (max-width: 860px) {
  body.ios-preview-active:not(.ios-chat-open):has(> nav.ios-bottom) #crmToasts {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px) + var(--ios-dock-extra, 0px));
  }
}

#crmToasts .crm-toast { min-width: 0; overflow-wrap: anywhere; }

#crmToasts {
  --toast-bottom: 16px;
  max-height: calc(100dvh - var(--toast-bottom) - 12px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
#crmToasts .crm-toast { flex-shrink: 0; pointer-events: auto; }
@media (max-width: 520px) {
  #crmToasts { --toast-bottom: 12px; }
}
@media (max-width: 860px) {
  body.ios-preview-active:not(.ios-chat-open):has(> nav.ios-bottom) #crmToasts {
    --toast-bottom: calc(76px + env(safe-area-inset-bottom, 0px) + var(--ios-dock-extra, 0px));
  }
}

@media screen {
  #mainApp #content .memo-read {
    max-inline-size: none;
    width: 100%;
    margin-inline: 0;
  }
  #mainApp #content .memo-read > .memo-page {
    max-inline-size: none;
    font-size: 16px;
    line-height: 1.65;
  }
  #mainApp #content .memo-read > .memo-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
}

#mainApp #content .role-assignment-meta:has(> .exam-ai-draft) {
  max-inline-size: none;
  width: 100%;
  display: grid;
  gap: 12px;
}
#mainApp #content .role-assignment-meta:has(> .exam-ai-draft) > :is(.task-file, .exam-ai-draft, .task-result) {
  min-inline-size: 0;
  max-inline-size: none;
  margin: 0;
  border: 0;
  border-radius: var(--crm-radii-inset);
  box-sizing: border-box;
}
#mainApp #content .role-assignment-meta:has(> .exam-ai-draft) > .task-file.is-ok {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}
#mainApp #content .role-assignment-meta > .exam-ai-draft {
  padding: 16px;
  font-size: 14px;
  line-height: 1.55;
}

@layer crm-component-radii {

html body #crmUpdateBar {
  position: fixed !important;
  inset: auto 20px 20px auto !important;
  width: min(640px, calc(100vw - 40px));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between !important;
  gap: 12px;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: var(--crm-radii-card, 24px) !important;
}
html body #crmUpdateBar .cub-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 860px) {
  html body #crmUpdateBar { left: 12px !important; right: 12px !important; width: auto; bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important; }
  html body.ios-preview-active:not(.ios-chat-open):has(>nav.ios-bottom) #crmUpdateBar {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px) + var(--ios-dock-extra, 0px)) !important;
  }
}

}

@layer crm-component-radii {
  @media screen {
    html body #mainApp #content .memo-page :is(.memo-fact, .memo-say, .memo-box) {
      border: 0 !important;
      box-shadow: none !important;
      border-radius: var(--crm-radii-inset) !important;
    }
    html body #mainApp #content .memo-page .memo-fact {
      background: var(--surface-2);
    }
  }
}

@layer crm-component-radii {
  html body #mainApp #content :is(.cc-flow .cf-track, .case-workspace .cc-stages, .mw-shell .mw-readiness) {
    max-width: none !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .sd-sheet[data-workspace-editor] :is(.sd-field, .workspace-editor-tools) {
    border-radius: var(--crm-radii-card) !important;
    border: 0 !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .role-assignment-meta > .task-result {
    border-radius: var(--crm-radii-inset) !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .task-file > a.mini-btn.quiet {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 0 !important;
    text-decoration: none !important;
  }
}

@layer crm-component-radii {
  html body #mainApp #content .role-assignment-card {
    border: 0 !important;
  }
  html body #mainApp #content .task-result.is-waiting textarea:not(:focus-visible) {
    box-shadow: none !important;
  }
}

@layer crm-component-radii {
  html body #mainApp .topbar :is(.notification-bell, .person-avatar, #notificationBell) {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    flex: 0 0 36px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: var(--crm-radii-control) !important;
    box-shadow: none !important;
  }
  @media (max-width: 860px) {
    html body #mainApp .topbar :is(.notification-bell, .person-avatar, #notificationBell) {
      width: 44px !important;
      min-width: 44px !important;
      height: 44px !important;
      min-height: 44px !important;
      flex-basis: 44px !important;
    }
  }
}

@layer crm-component-radii {
  html body #mainApp .topbar .notification-center {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px !important;
  }
  @media (max-width: 860px) {
    html body #mainApp .topbar .notification-center { gap: 6px !important; }
  }
}

@layer crm-component-radii {
  html body #mainApp #content :is(.ios-client-doc-action, .ios-client-doc-compact) > a::after {
    content: none !important;
    display: none !important;
  }
}

/* Keep the profile scroll area above mobile bottom navigation. */
@media(max-width:860px){html body:not(.ios-chat-open) :is(#mainApp #content,#mainApp) .topbar .pp-menu{max-height:calc(100dvh - 144px - env(safe-area-inset-bottom,0px))!important}}

/* Links styled as buttons use the same label treatment as native buttons. */
html body a.mini-btn{text-decoration:none!important}

/* Unread notifications use fill and text markers without decorative outlines. */
html body :is(#mainApp,#crmNotificationOverlay) .notification-entry{border:0!important;outline:0!important;box-shadow:none!important}

/* The lead form summary already names the expanded form. */
html body .workspace-lead-form>.chart-title{display:none!important}

/* Expense entry fields share the 44px action height. */
@layer crm-component-radii{html body #content .modal-cols:has(#expenseName) .modal-grid :is(input:not([type=hidden]),select,.uniform-date-control){min-height:44px!important}}

/* Labelled finance/admin fields use the shared minimum control height. */
@layer crm-component-radii{html body :is(.finance-field,.role-work-form) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),select,.uniform-date-control){min-height:44px!important}}

/* Editable staff values must remain distinguishable from read-only table text. */
@layer crm-component-radii{html body .users-edit-row :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select){min-height:44px!important;background:var(--surface)!important;color:var(--text)!important;border-radius:var(--crm-radii-control)!important}}

/* Standalone list/help search fields share the standard control height. */
@layer crm-component-radii{html body #content :is(.faq-search,.tpl-search,.list-search input[type=search]){min-height:44px!important}}

/* Name and role stay aligned beside the staff avatar when they wrap. */
html body .users-identity{display:flex;align-items:flex-start;gap:10px}
html body .users-identity>.crm-staff-avatar{flex:none;margin:0!important}
html body .users-identity>div{min-width:0;overflow-wrap:anywhere}
html body .users-identity b{display:block}

/* On narrow phones the reread action must not squeeze the lesson title. */
@media(max-width:480px){html body #mainApp #content .uch-row{display:grid!important;grid-template-columns:32px minmax(0,1fr);align-items:start!important}html body #mainApp #content .uch-row>.mini-btn{grid-column:2;justify-self:start;min-height:44px!important}}

/* Material actions stack below long names on phones. */
@media(max-width:600px){html body #content .comp-row:has([data-mat-hide]){flex-direction:column!important;align-items:stretch!important}html body #content .comp-row:has([data-mat-hide]) .comp-row-main{width:100%;overflow-wrap:anywhere}html body #content .comp-row:has([data-mat-hide]) .comp-row-main b{white-space:normal!important}html body #content .comp-row:has([data-mat-hide])>.piece-actions{justify-content:flex-start!important;margin:0!important}}

/* Template recipient controls follow the shared surface and field system. */
@layer crm-component-radii{html body .tpl-editor :is(.tpl-addr,.tpl-why){border:0!important;outline:0!important;box-shadow:none!important;border-radius:var(--crm-radii-inset)!important}html body .tpl-editor .tpl-addr-add>select{min-height:44px!important}}

/* Deadline urgency uses fill and status text, consistently on desktop and phone. */
@layer crm-component-radii{html body:not(.ios-chat-open) #mainApp #content .dl-row.dl-row:has(.dl-main){border:0!important;box-shadow:none!important;border-radius:var(--crm-radii-inset)!important}html body #content .dl-row.is-late:has(.dl-main){background:color-mix(in srgb,var(--critical) 10%,var(--surface))!important}html body #content .dl-row.is-today:has(.dl-main){background:color-mix(in srgb,var(--warning) 10%,var(--surface))!important}html body #content .dl-row.is-late .dl-state{color:var(--critical)!important;font-weight:700}html body #content .dl-row.is-today .dl-state{color:var(--warning)!important;font-weight:700}}

@layer crm-component-radii {
 html body .uniform-date-control:focus-within { box-shadow: none !important; }
}

@layer crm-component-radii {
 html body #content .off-actions [data-off-presence] { background: var(--surface-2) !important; color: var(--text) !important; min-height: 44px !important; }
}

body.ios-preview-active:has(#officeBookBox) > .ios-bottom { visibility: hidden !important; pointer-events: none !important; }

.off-slot > .off-time { align-self: start; }

@layer crm-component-radii {
 html body #content .refunds-table :is(.refund-approved,.uniform-date-control) { min-height: 44px !important; }
 html body #content .refunds-table td[data-label="Статус"] { min-width: 110px; overflow-wrap: normal; word-break: normal; }
 html body #content .refunds-table .refund-approved { width: 140px; max-width: 100%; }
 html body #content .refunds-table .uniform-date-control { width: 160px; max-width: 100%; }
}

@layer crm-component-radii {
@media (min-width:861px) and (max-width:1439px) {
 #mainApp #content :is(.refunds-table,.payouts-table) { display:block !important; width:100% !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) thead { display:none !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) tbody { display:grid !important; gap:12px !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) tr { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; padding:20px !important; background:var(--surface) !important; border-radius:var(--crm-radii-card) !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) td[data-label] { display:block !important; width:auto !important; min-width:0 !important; padding:0 !important; text-align:left !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) td[data-label]::before { content:attr(data-label) !important; display:block !important; margin-bottom:8px !important; color:var(--muted) !important; font-size:12px !important; }
 #mainApp #content :is(.refunds-table,.payouts-table) td[data-label="Клиент"],#mainApp #content :is(.refunds-table,.payouts-table) td[data-label="Действия"] { grid-column:1/-1 !important; }
 #mainApp #content .payouts-table td:is([data-label="Агент"],[data-label="Основание"],[data-label="Статус"]) { grid-column:1/-1 !important; }
}

}

@layer crm-component-radii {
 html body #mainApp #content .cc-refund-calc { border: 0 !important; box-shadow: none !important; }
}

@layer crm-component-radii {
 html body #mainApp #content .partial-box > summary { text-transform:none !important; letter-spacing:normal !important; }
 html body #mainApp #content .partial-box input[data-partial-check]:not(:checked) { background:var(--muted) !important; }
}

@layer crm-component-radii {
 html body #mainApp #content .partial-box .partial-proof { min-height:44px !important; width:100%; min-width:0; box-sizing:border-box; }
}

#mainApp #content .refunds-table td[data-label="Дата"] { white-space:nowrap; overflow-wrap:normal; }

#mainApp #content .payouts-table td:is([data-label="Срок"],[data-label="Выплачено"]) { white-space:nowrap; overflow-wrap:normal; }
@layer crm-component-radii {
 html body #mainApp #content :is(#payoutAgentFilter,#payoutStatusFilter,#payoutClient,#payoutAmount,#payoutNotes) { min-height:44px !important; }
}

@layer crm-component-radii {
@media (min-width:861px) and (max-width:1240px) {
 body[data-workspace-view="payouts"] #content > .stat-row { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
}

@layer crm-component-radii {
 body[data-workspace-view="finance-settings"] #mainApp #content input[type="number"] { min-height:44px !important; }
}

@layer crm-component-radii {
 html body #mainApp #content [data-company-form]:not(.primary) { background:var(--surface-2) !important; color:var(--text) !important; }
}

@layer crm-component-radii {
 html body #mainApp #content [data-cf-weeks]:not(.primary) { background:var(--surface-2) !important; color:var(--text) !important; }
}

@layer crm-component-radii {
 html body #mainApp #content :is(#poaDownload,[data-poa-edit],[data-poa-archive],[data-poa-restore],#poaCancel) { background:var(--surface-2) !important; color:var(--text) !important; }
}
@media (max-width:600px) {
 #mainApp #content .section-heading:has(#poaAdd) { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
 #mainApp #content .section-heading:has(#poaAdd) > .modal-controls { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
 #mainApp #content .section-heading :is(#poaAdd,#poaDownload) { width:100%; min-width:0; }
}

#mainApp #content .poa-card-head > .badge { max-width:100%; white-space:normal; overflow-wrap:anywhere; box-sizing:border-box; }

@layer crm-component-radii {
 html body #mainApp #content .price-card .ms-input { background:var(--surface) !important; color:var(--text) !important; }
 html body #mainApp #content .price-note { border:0 !important; box-shadow:none !important; }
}

/* Services catalog: consistent controls and unbroken prices. */
@layer crm-component-radii {
 body[data-workspace-view="services"] #content :is(#newServiceName,#newServicePrice,[id^="editServiceName_"],[id^="editServicePrice_"]) {min-height:44px!important;}
 body[data-workspace-view="services"] #content td[data-label="Цена"] {white-space:nowrap!important;}
}

/* Promotion form follows shared control sizes. */
@layer crm-component-radii {
 [data-promo-form] :is(input[data-pf]:not([type="checkbox"]),select[data-pf],.uniform-date-control){min-height:44px!important;}
}
@media(min-width:861px) and (max-width:1240px){
 [data-promo-form]>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Selected promotion status inherits the button contrast. */
@layer crm-component-radii { .promo-tabs .mini-btn.primary .muted {color:inherit!important;opacity:1!important;} }

/* Promotion badges use filled surfaces on every viewport. */
@layer crm-component-radii { #mainApp #content :is(.promo-state,.promo-step-tag){border:0!important;box-shadow:none!important;} }

/* Role cards align within each row. */
@layer crm-component-radii { body[data-workspace-view="roles"] #content>.staff-payroll-grid{align-items:stretch!important;} }

/* Legal reference articles share inset surfaces. */
@layer crm-component-radii { #mainApp #content .lg-item{border:0!important;box-shadow:none!important;border-radius:var(--crm-radii-inset,20px)!important;padding:16px!important;background:var(--surface-2)!important;} }

/* Legal guide explanations and source buttons remain distinct. */
@layer crm-component-radii {
 body[data-workspace-view="legal-guide"] #content .role-assignment-instructions{border:0!important;box-shadow:none!important;border-radius:20px!important;padding:16px!important;}
 body[data-workspace-view="legal-guide"] #content .assignment-client-card a.mini-btn{background:var(--surface)!important;color:var(--text)!important;}
}

/* Medical guide controls use shared height. */
@layer crm-component-radii { #mainApp #content :is(#medGuideClientSelect,#medGuideSearchInput,#medGuideChapterFilter,#medGuideCategoryFilter,[data-med-guide-mode],[data-med-guide-hint]){min-height:44px!important;} }

/* Quick complaint choices remain recognizable as buttons. */
@layer crm-component-radii { html body[data-workspace-view="med-guide"] #mainApp #content .med-guide-hints button.mini-btn[data-med-guide-hint]{background:var(--surface-2)!important;color:var(--text)!important;} }

/* Medical results use shared cards without decorative frames. */
@layer crm-component-radii {
 #mainApp #content #medGuideResults :is(.mg-v-title,.mg-v-point,.mg-v-point-head,.mg-v-exception,.mg-v-evidence,.mg-clinical-card,.mg-clinical-v){border:0!important;box-shadow:none!important;}
 #mainApp #content #medGuideResults :is(.mg-v-point,.mg-v-evidence,.mg-clinical-card){border-radius:24px!important;overflow:hidden;}
 #mainApp #content #medGuideResults .mg-v-point-head{border-radius:24px 24px 0 0!important;}
}

/* Medical result lower blocks share surfaces. */
@layer crm-component-radii {
 #mainApp #content #medGuideResults :is(.mg-v-conditions,.mg-norm-table-scroll,.mg-v-tests>span){border:0!important;box-shadow:none!important;}
 #mainApp #content #medGuideResults .mg-v-conditions{border-radius:24px!important;}
}

/* Medical reference tables retain columns inside their scroll region. */
@layer crm-component-radii {
 #mainApp #content .mg-norm-table-scroll table{display:table!important;min-width:680px!important;width:100%!important;table-layout:auto!important;}
 #mainApp #content .mg-norm-table-scroll caption{display:table-caption!important;}
 #mainApp #content .mg-norm-table-scroll tbody{display:table-row-group!important;}
 #mainApp #content .mg-norm-table-scroll tr{display:table-row!important;}
 #mainApp #content .mg-norm-table-scroll :is(th,td){display:table-cell!important;width:auto!important;word-break:normal!important;overflow-wrap:normal!important;padding:10px!important;color:var(--text)!important;vertical-align:top!important;}
}

/* Trustee contacts keep their reading width on phones. */
@layer crm-component-radii { #mainApp #content .au-actions .mini-btn{background:var(--surface-2)!important;color:var(--text)!important;} }
@media(max-width:600px){body[data-workspace-view="trustees"] #content .au-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;}body[data-workspace-view="trustees"] #content .au-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px!important;}}

/* Open court mail uses a shared inset surface. */
@layer crm-component-radii {
 #mainApp #content .cm-body{border:0!important;box-shadow:none!important;border-radius:20px!important;background:var(--surface-2)!important;}
 #mainApp #content .cm-body :is(select,.mini-btn:not(.primary)){min-height:44px!important;background:var(--surface)!important;color:var(--text)!important;}
}

/* Statistics details have a usable target. */
#mainApp #content .stats-det>summary{min-height:44px;box-sizing:border-box;padding-block:12px;cursor:pointer;}

/* KPI fields share control height. */
@layer crm-component-radii { #mainApp #content :is(#kpiMonth,#kpiProfit,.tier-threshold,.tier-amount,.tier-text,.uniform-date-control:has(#kpiMonth)){min-height:44px!important;} }

/* KPI currency stays with its amount. */
body[data-workspace-view="manager-kpi"] #content td[data-label$="выручки"]{white-space:nowrap!important;}

/* Payroll detail controls remain visible and usable. */
@layer crm-component-radii {
 #mainApp #content .salary-breakdown>summary{min-height:44px!important;box-sizing:border-box;padding-block:12px!important;}
 #mainApp #content .payroll-card .finance-actions>.mini-btn:not(.primary){background:var(--surface-2)!important;color:var(--text)!important;}
}

/* Unchecked payment checkbox remains visible on its form. */
@layer crm-component-radii {
 #mainApp #content .piece-add .pa-paid:not(:checked){background:var(--muted)!important;}
 #mainApp #content .piece-add .pa-paid:checked{background:var(--accent)!important;}
 #mainApp #content .piece-add .pa-paid-wrap{min-height:44px!important;display:flex;align-items:center;gap:8px;}
}

/* Payroll row actions use filled controls; deductions keep text emphasis. */
@layer crm-component-radii {
 #mainApp #content .piece-actions>.mini-btn{background:var(--surface-2)!important;color:var(--text)!important;}
 #mainApp #content .piece-row.is-deduction{border:0!important;box-shadow:none!important;}
}

/* Piece edit cancel remains a filled control. */
@layer crm-component-radii { #mainApp #content .piece-edit-form .pe-cancel{background:var(--surface-2)!important;color:var(--text)!important;} }

@layer crm-component-radii { .doli-terms>.mini-btn:not(.primary),#saveCofounderClient:not(.primary) { background:var(--surface-2)!important; color:var(--text)!important; } }

@layer crm-component-radii { body[data-workspace-view="cofounders"] #content td.num { white-space:nowrap!important; } }

@layer crm-component-radii { .kom-basis>button.mini-btn,.kom-basis select[data-co-base] { background:var(--surface-2)!important;color:var(--text)!important;border:0!important;box-shadow:none!important; } }

@layer crm-component-radii { label.kom-person { min-height:44px!important;box-sizing:border-box!important; } #teamPickClear { background:var(--surface-2)!important;color:var(--text)!important; } }

@layer crm-component-radii { body[data-workspace-view="economy"] #content td.num { white-space:nowrap!important; } }

@layer crm-component-radii { body[data-workspace-view="agents-admin"] #content :is(input:not([type="checkbox"]),select) { min-height:44px!important;box-sizing:border-box!important; } }

@layer crm-component-radii { body[data-workspace-view="agents-admin"] #content tr[data-agent-row] :is(input,select) { background:var(--surface)!important;color:var(--text)!important; } }

@layer crm-component-radii { body[data-workspace-view="agents-admin"] .detail-page .modal-section>summary { min-height:44px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important; } }

@layer crm-component-radii { body[data-workspace-view="expenses-due"] #content :is(.exp-due-date,.uniform-date-control:has(.exp-due-date)) { min-height:44px!important;box-sizing:border-box!important; } }

@layer crm-component-radii { body[data-workspace-view="expenses-due"] #content td.num {white-space:nowrap!important;} body[data-workspace-view="expenses-due"] #content .dash-pay-cell>.mini-btn:not(.primary) {background:var(--surface-2)!important;color:var(--text)!important;} }

@layer crm-component-radii { body[data-workspace-view="expenses-due"] .dash-pay-cell:has([data-exp-paid-ok])>span { display:block!important;white-space:normal!important;margin-bottom:8px!important; } @media(min-width:861px) { body[data-workspace-view="expenses-due"] .dash-pay-cell:has([data-exp-paid-ok]) { min-width:208px!important;white-space:normal!important; } body[data-workspace-view="expenses-due"] tr:has([data-exp-paid-ok])>td:first-child {min-width:180px!important;} } }

@layer crm-component-radii { @media(min-width:861px) { body[data-workspace-view="expenses-due"] #content td:nth-child(2) {min-width:100px!important;word-break:normal!important;overflow-wrap:normal!important;} } }

@layer crm-component-radii { body[data-workspace-view="expenses-due"] details.dash-pay>summary {min-height:44px!important;box-sizing:border-box!important;padding-block:12px!important;cursor:pointer;} }

@layer crm-component-radii { body[data-workspace-view="ai-weekly"] #content details>summary {min-height:44px!important;box-sizing:border-box!important;padding-block:12px!important;cursor:pointer;} }

@layer crm-component-radii { .client-helper-question,.client-helper-answer {border-radius:20px!important;border:0!important;padding:16px!important;overflow-wrap:anywhere;} .client-helper-answer {background:var(--surface-2)!important;} }

@layer crm-component-radii { #vzSearch.vz-search {min-height:44px!important;box-sizing:border-box!important;} }

@layer crm-component-radii { body[data-workspace-view="vozrazheniya"] .vz-answer {border:0!important;background:var(--surface-2)!important;border-radius:20px!important;} }

@layer crm-component-radii { .modal-back:is([data-kas-close],[data-otkaz-close]) {position:fixed!important;inset:0!important;z-index:10050!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;background:var(--veil,rgba(0,0,0,.5))!important;box-sizing:border-box!important;} .modal-back:is([data-kas-close],[data-otkaz-close])>.modal-card {width:min(640px,100%)!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;margin:0!important;padding:24px!important;border:0!important;border-radius:24px!important;background:var(--surface)!important;box-sizing:border-box!important;} }

@layer crm-component-radii { .modal-back[data-otkaz-close] .otk-opt {border:0!important;background:var(--surface-2)!important;color:var(--text)!important;border-radius:20px!important;} .modal-back[data-otkaz-close] .otk-opt.is-on {background:var(--accent-soft)!important;} }

@layer crm-component-radii { body[data-workspace-view="my-settings"] #content input[type="password"] {min-height:44px!important;box-sizing:border-box!important;} }

@layer crm-component-radii { @media(min-width:861px) { #content table.users-table {min-width:1040px!important;} #content table.users-table td:first-child {min-width:200px!important;} #content table.users-table td:nth-child(2) {min-width:160px!important;} #content table.users-table td:nth-child(3) {min-width:160px!important;} } }

@layer crm-component-radii { #mainApp #content .cab-card > .doc-list .doc-btn { background:var(--surface-2)!important;color:var(--text)!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:12px 16px!important;text-decoration:none!important; } }

@layer crm-component-radii { body[data-workspace-view="my-prices"] #content details.price-card > summary.price-card-head { min-height:44px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:12px!important; } }

@layer crm-component-radii { #mainApp #content a.promo-rules { display:inline-flex!important;align-items:center!important;min-height:44px!important;box-sizing:border-box!important;padding:12px 16px!important;background:var(--surface)!important;color:var(--text)!important;border:0!important;border-radius:var(--crm-radii-control)!important;text-decoration:none!important; } }

@layer crm-component-radii { #mainApp #content .mini-btn[data-off-cancel] { background:var(--critical-soft)!important;color:var(--critical-text)!important;border:0!important; } }

@layer crm-component-radii { html body #mainApp #officeBookBox .mini-btn { box-shadow:none!important; } }

@layer crm-component-radii {
 html body #mainApp #content #medGuideResults details > summary,
 html body #mainApp #content .mg-extra-search > summary {
  min-height:44px!important;box-sizing:border-box!important;align-content:center!important;
 }
}

@layer crm-component-radii {
 html body #mainApp #content tr[data-service-row] :is(input[id^="editServiceName_"],input[id^="editServicePrice_"]) {
  background:var(--surface)!important;color:var(--text)!important;
 }
}

@layer crm-component-radii {
 html body #mainApp #content .kcard [data-kas-lead] {background:var(--surface-2)!important;color:var(--text)!important;}
}

@layer crm-component-radii {
 html body #mainApp #content .finance-check:has(> #prodEditDocs,> #prodEditSenior) {min-height:44px!important;box-sizing:border-box!important;align-items:center!important;}
}

@layer crm-component-radii {
 html body #mainApp #content .finance-check > input:is(#prodEditDocs,#prodEditSenior):not(:checked) {border:1px solid var(--text-muted)!important;}
}

@layer crm-component-radii {
 @media (pointer:coarse) {
  html body #mainApp #content .chat-win .ch-bar.ch-actions-menu > .mini-btn {min-height:44px!important;height:44px!important;}
 }
}

@layer crm-component-radii { html body #mainApp #content [data-dup-dismiss] {background:var(--surface-2)!important;color:var(--text)!important;} }

@layer crm-component-radii { html body #mainApp #content .work-act > :is([data-work-open],[data-remind-client]) {background:var(--surface)!important;color:var(--text)!important;} }

@layer crm-component-radii { html body #mainApp #content :is(.qstep,.bug-row) details > summary {min-height:44px!important;box-sizing:border-box!important;align-content:center!important;} }

@layer crm-component-radii { @media(max-width:860px) { html body #mainApp #content .work-act > :is([data-work-open],[data-remind-client]) {background:var(--surface-2)!important;} } }

@layer crm-component-radii { html body #mainApp #content .bug-row [data-bug-set].quiet {background:var(--surface)!important;color:var(--text)!important;} }

@layer crm-component-radii { html body #mainApp #content .ch-opt.is-other {background:var(--surface-2)!important;color:var(--text)!important;border:0!important;box-shadow:none!important;} html body #mainApp #content .ch-opt.is-other:not(:focus-visible) {outline:none!important;} }

@layer crm-component-radii { html body #mainApp #content .ios-answer-form textarea {border:0!important;box-shadow:none!important;background:var(--surface-2)!important;color:var(--text)!important;} html body #mainApp #content .ios-answer-form textarea:not(:focus-visible) {outline:none!important;} }

@layer crm-component-radii { html body #mainApp #content .ch-task [data-ch-answer] {min-height:44px!important;height:auto!important;box-sizing:border-box!important;white-space:normal!important;} }

/* Shared notification component: same tokens in both brands and viewports. */
@layer crm-component-radii {
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel.notification-panel {border:0!important;border-radius:var(--crm-radii-modal)!important;padding:20px!important;background:var(--surface,var(--panel))!important;color:var(--text)!important;box-sizing:border-box!important;scrollbar-gutter:stable;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-panel-head {display:flex!important;align-items:flex-start!important;gap:16px!important;padding:0!important;margin:0 0 16px!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-panel-head>div {display:grid;gap:4px;min-width:0;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-panel-head b {font-size:18px!important;line-height:1.35!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-panel-head small {display:block;font-size:14px!important;line-height:1.45!important;color:var(--text-secondary,var(--muted))!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-tools {padding:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;margin:0 0 16px!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel :is(.notification-tools .mini-btn,#notificationClose,#enableNotifications,.notification-delete) {border:0!important;border-radius:var(--crm-radii-control)!important;min-height:44px!important;padding:10px 12px!important;background:var(--crm-action-secondary-bg)!important;color:var(--text)!important;font-size:14px!important;line-height:1.4!important;white-space:normal!important;box-shadow:none!important;box-sizing:border-box!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel :is(#notificationClose,.notification-delete) {display:grid!important;place-items:center;width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;flex:none;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .mini-btn:disabled {opacity:.5!important;cursor:default;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-permission {display:block!important;padding:0!important;margin:0 0 16px!important;border:0!important;border-radius:var(--crm-radii-control)!important;background:var(--surface-2)!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-permission>summary {display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:44px!important;padding:12px!important;margin:0!important;font-size:14px!important;line-height:1.4!important;list-style:none;cursor:pointer;background:transparent!important;border:0!important;border-radius:inherit!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel summary::marker {content:'';}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel summary::-webkit-details-marker {display:none;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-chevron {width:18px;height:18px;flex:none;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel details[open] .notification-chevron {transform:rotate(180deg);}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-permission>span {display:block;padding:0 12px 12px;font-size:14px!important;line-height:1.45!important;color:var(--text-secondary,var(--muted))!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel #enableNotifications {margin:0 12px 12px;background:var(--accent)!important;color:var(--accent-ink)!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-history {display:grid;gap:12px!important;padding:0!important;margin:0!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-empty {display:grid;place-items:center;min-height:80px!important;padding:16px!important;margin:0!important;font-size:14px!important;line-height:1.45!important;text-align:center;color:var(--text-secondary,var(--muted))!important;}
 html body #mainApp .topbar #notificationBell {border-radius:var(--crm-radii-control)!important;border:0!important;box-shadow:none!important;}
 html body #mainApp .topbar #notificationBell:focus:not(:focus-visible),html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel :is(button,summary):focus:not(:focus-visible) {outline:none!important;box-shadow:none!important;}
 html body #mainApp .topbar #notificationBell:focus-visible,html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel :is(button,summary):focus-visible {outline:none!important;box-shadow:inset 0 0 0 2px var(--text-muted,var(--muted))!important;}
 @media(max-width:860px){html body #crmNotificationOverlay #notificationPanel.notification-panel {padding:20px!important;border-radius:var(--crm-radii-modal)!important;}}
}

/* Notification actions occupy their own column; never cover the title or unread marker. */
@layer crm-component-radii {
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-entry {display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;align-items:start!important;gap:6px!important;padding:10px!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-item {display:grid!important;gap:6px!important;color:var(--text)!important;width:100%!important;min-width:0!important;padding:0!important;background:transparent!important;border:0!important;text-align:left!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-title {display:flex!important;align-items:baseline!important;flex-wrap:wrap!important;gap:6px!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-title b {flex:1 1 140px!important;min-width:0!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-title::after {margin-left:0!important;}
 html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-delete {position:static!important;inset:auto!important;}
 @media(min-width:861px) {
  html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel :is(#notificationClose,.notification-delete) {width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;border-radius:10px!important;}
  html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-tools :is(#notificationReadAll,#notificationClearAll,.mini-btn) {height:34px!important;min-height:34px!important;padding:7px 10px!important;font-size:13px!important;}
  html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-permission>summary {min-height:36px!important;padding:8px 10px!important;font-size:13px!important;}
 }
 @media(max-width:860px) {
  html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-entry {grid-template-columns:minmax(0,1fr) 44px!important;}
 }
}

@layer crm-component-radii {html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel #notificationClose {margin-left:auto!important;} html body :is(#mainApp,#crmNotificationOverlay) #notificationPanel .notification-entry.is-unread {background:color-mix(in srgb,var(--surface) 85%,var(--accent) 15%)!important;} }

/* The scrolling list clips content with the same rounded shape at both ends. */
@layer crm-component-radii {
 @media(min-width:861px){
  html body #mainApp #content .team-chat .tc-list {overflow:hidden!important;padding-bottom:12px!important;box-sizing:border-box!important;}
  html body #mainApp #content .team-chat .tc-rows {min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:var(--crm-radii-inset,16px)!important;clip-path:inset(0 round var(--crm-radii-inset,16px));box-sizing:border-box!important;}
 }
}

/* Keep scrolling without a visible track in the chat list. */
@layer crm-component-radii {
 html body #mainApp #content .team-chat .tc-rows {scrollbar-width:none!important;scrollbar-gutter:auto!important;}
 html body #mainApp #content .team-chat .tc-rows::-webkit-scrollbar {display:none!important;width:0!important;height:0!important;}
}

@layer crm-component-radii {
 html body #mainApp #content .payroll-queue {display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
 html body #mainApp #content .payroll-queue>.payroll-card {display:grid!important;grid-template-columns:minmax(220px,1.2fr) minmax(300px,1.5fr) minmax(170px,.7fr)!important;gap:16px!important;align-items:center!important;padding:20px!important;}
 html body #mainApp #content .payroll-queue>.payroll-card[hidden] {display:none!important;}
 html body #mainApp #content .payroll-queue .payroll-title {margin:0!important;display:block!important;}
 html body #mainApp #content .payroll-queue .payroll-title h3 {margin:6px 0!important;font-size:16px!important;line-height:1.4!important;}
 html body #mainApp #content .payroll-queue .salary-summary {margin:0!important;}
 html body #mainApp #content .payroll-queue .salary-totals {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;}
 html body #mainApp #content .payroll-queue .salary-totals b {font-size:18px!important;}
 html body #mainApp #content .payroll-queue .salary-totals>div:last-child b {color:var(--accent)!important;}
 html body #mainApp #content .payroll-more {grid-column:1/-1!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;}
 html body #mainApp #content .payroll-more>summary {cursor:pointer;padding:8px 0!important;font-size:13px!important;color:var(--text-secondary)!important;}
 html body #mainApp #content .payroll-issue {border:0!important;padding:0!important;margin:0!important;background:transparent!important;}
 html body #mainApp #content .payroll-issue>summary {display:flex!important;align-items:center;justify-content:center;min-height:44px!important;padding:10px 16px!important;background:var(--accent)!important;color:var(--accent-ink)!important;border-radius:var(--crm-radii-control,16px)!important;cursor:pointer;font-weight:600;list-style:none;}
 html body #mainApp #content .payroll-issue>summary::-webkit-details-marker {display:none;}
 html body #mainApp #content .payroll-issue[open] {grid-column:1/-1!important;}
 html body #mainApp #content .payroll-issue[open]>summary {width:max-content;}
 html body #mainApp #content .payroll-pay-status {font-size:13px!important;color:var(--text-secondary)!important;margin:0!important;}
 html body #mainApp #content .payroll-queue-tools {background:var(--surface)!important;padding:20px!important;border-radius:var(--crm-radii-card,24px)!important;margin:0 0 16px!important;}
 html body #mainApp #content .payroll-queue-heading b {font-size:22px;}
 html body #mainApp #content .payroll-queue-heading p {margin:6px 0 16px;color:var(--text-secondary);}
 html body #mainApp #content .payroll-queue-filters {display:grid;grid-template-columns:2fr 1fr;gap:16px;}
 html body #mainApp #content .payroll-queue-filters label {display:grid;gap:8px;font-size:13px;color:var(--text-secondary);}
 html body #mainApp #content .payroll-queue-filters :is(input,select) {width:100%!important;min-height:44px!important;padding:10px 14px!important;background:var(--surface-2)!important;color:var(--text)!important;border:0!important;border-radius:var(--crm-radii-control,16px)!important;box-sizing:border-box;}
 @media(max-width:1100px){html body #mainApp #content .payroll-queue>.payroll-card {grid-template-columns:1fr!important;}html body #mainApp #content .payroll-queue-filters {grid-template-columns:1fr;}}
}

@layer crm-component-radii {
 html body #mainApp #content .payroll-queue .payroll-payment {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-items:end!important;margin-top:16px!important;padding:16px!important;background:var(--surface-2)!important;border-radius:16px!important;}
 html body #mainApp #content .payroll-queue .payroll-payment .finance-field {display:grid!important;gap:8px!important;min-width:0!important;}
 html body #mainApp #content .payroll-queue .payroll-payment input {width:100%!important;min-height:44px!important;box-sizing:border-box!important;padding:10px 12px!important;background:var(--surface)!important;}
 html body #mainApp #content .payroll-queue .payroll-payment button {min-height:44px!important;background:var(--accent)!important;color:var(--accent-ink)!important;}
 @media(max-width:860px){html body #mainApp #content .payroll-queue .payroll-payment {grid-template-columns:1fr!important;}}
}

@layer crm-component-radii {
 html body #mainApp #content .payroll-queue .payroll-more>summary {display:flex!important;align-items:center!important;width:fit-content!important;min-height:36px!important;padding:8px 12px!important;background:var(--surface-2)!important;color:var(--text)!important;border-radius:12px!important;list-style:none!important;outline:0!important;box-shadow:none!important;}
 html body #mainApp #content .payroll-queue .payroll-more>summary::-webkit-details-marker {display:none;}
 html body #mainApp #content .payroll-queue .payroll-more>summary::after {content:"";width:6px;height:6px;margin-left:12px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);}
 html body #mainApp #content .payroll-queue .payroll-more[open]>summary::after {transform:rotate(225deg);}
 html body #mainApp #content .payroll-detail-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:16px!important;align-items:start;}
 html body #mainApp #content .payroll-detail-grid>.payroll-detail-section,html body #mainApp #content .payroll-detail-grid>div:not([hidden]) {background:var(--surface-2)!important;padding:16px!important;border-radius:16px!important;min-width:0!important;}
 html body #mainApp #content .payroll-detail-section h4 {margin:0 0 12px!important;font-size:14px!important;}
 html body #mainApp #content .payroll-detail-section dl {margin:0!important;}
 html body #mainApp #content .payroll-detail-section .salary-line {display:flex!important;justify-content:space-between;gap:16px;padding:8px 0!important;font-size:13px;}
 html body #mainApp #content .payroll-detail-section .salary-line :is(dt,dd) {margin:0!important;}
 html body #mainApp #content .payroll-detail-section .salary-line dd {white-space:nowrap;}
 html body #mainApp #content .payroll-detail-grid .tariff-breakdown {margin:0!important;}
 html body #mainApp #content .payroll-detail-grid>.finance-actions {grid-column:1/-1!important;display:flex!important;gap:8px!important;}
 html body #mainApp #content .payroll-more>summary:focus-visible {background:var(--accent-soft,var(--surface-2))!important;}
 @media(max-width:860px){html body #mainApp #content .payroll-detail-grid {grid-template-columns:1fr!important;}}
}

@layer crm-component-radii {
 html body #mainApp #content .payroll-detail-grid>.modal-hint,html body #mainApp #content .payroll-detail-grid>.finance-actions {grid-column:1/-1!important;background:transparent!important;padding:0!important;margin:0!important;}
 html body #mainApp #content .payroll-detail-grid .mini-btn {display:inline-flex!important;align-items:center;justify-content:center;min-height:44px!important;padding:8px 16px!important;background:var(--crm-action-secondary-bg)!important;color:var(--text)!important;border-radius:var(--crm-radii-control)!important;}
 html body #mainApp #content .payroll-detail-grid>.muted {grid-column:1/-1;font-size:12px;}
}

@layer crm-component-radii {
 html body #mainApp #content .payroll-queue .payroll-action-bar {grid-column:1/-1!important;display:flex!important;flex-wrap:wrap;gap:8px!important;margin:0!important;padding:0!important;}
 html body #mainApp #content .payroll-queue .payroll-action-bar>.mini-btn {display:inline-flex!important;align-items:center;justify-content:center;min-height:44px!important;padding:8px 16px!important;background:var(--crm-action-secondary-bg)!important;color:var(--text)!important;border:0!important;border-radius:var(--crm-radii-control)!important;font-size:12px!important;}
 html body #mainApp #content .payroll-queue .payroll-action-bar>.mini-btn[aria-expanded=true] {background:var(--accent)!important;color:var(--accent-ink)!important;}
 html body #mainApp #content .payroll-queue .payroll-action-panel>summary {display:none!important;}
 html body #mainApp #content .payroll-queue .payroll-action-panel:not([open]) {display:none!important;}
 html body #mainApp #content .payroll-queue .payroll-detail-grid>[hidden] {display:none!important;}
 html body #mainApp #content .payroll-queue .payroll-action-panel .payroll-detail-grid {margin-top:0!important;}
 html body #mainApp #content .payroll-queue .payroll-action-panel .payroll-detail-grid>.comp-detail {grid-column:1/-1!important;}
 html body #mainApp #content .payroll-queue>.payroll-card {gap:12px!important;padding:16px 20px!important;}
}

@layer crm-component-radii {
 html body #mainApp #content .finance-page:has(.payroll-queue) {display:flex!important;flex-direction:column!important;gap:12px!important;}
 html body #mainApp #content .finance-page:has(.payroll-queue)>* {margin-top:0!important;margin-bottom:0!important;}
 html body #mainApp #content .finance-page:has(.payroll-queue)>[hidden] {display:none!important;}
 html body #mainApp #content .payroll-queue-tools {padding:16px 20px!important;}
 html body #mainApp #content .payroll-queue-heading b {font-size:20px!important;}
 html body #mainApp #content .payroll-queue-heading p {margin:4px 0 12px!important;}
 html body #mainApp #content .payroll-salary-plan {font-size:13px!important;line-height:1.5!important;color:var(--text-secondary)!important;margin:6px 0 0!important;}
 html body #mainApp #content .finance-page:has(.payroll-queue) .payroll-freeze {padding:12px 20px!important;gap:12px!important;}
 html body #mainApp #content .finance-page:has(.payroll-queue) .payroll-freeze summary {width:fit-content!important;outline:0!important;box-shadow:none!important;padding:8px 12px!important;border-radius:12px!important;background:var(--surface-2)!important;}
 html body #mainApp #content .finance-page:has(.payroll-queue) .payroll-freeze summary:focus-visible {background:var(--accent-soft,var(--surface-2))!important;}
 html body #mainApp #content .payroll-queue .payroll-title h3 {margin:4px 0!important;}
}

@layer crm-component-radii {
 html body #mainApp #content .econ-totals .econ-head {display:flex!important;flex-direction:row!important;text-align:left!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;}
 html body #mainApp #content .econ-totals .econ-head .chart-title {margin:0!important;width:auto!important;flex:1 1 200px!important;text-align:left!important;}
 html body #mainApp #content .econ-totals .econ-head .econ-switch {display:inline-flex!important;flex:0 0 auto!important;width:auto!important;max-width:100%!important;gap:4px!important;padding:4px!important;background:var(--surface-2)!important;border-radius:16px!important;}
 html body #mainApp #content .econ-totals .econ-head .econ-switch>.mini-btn {flex:0 0 auto!important;width:auto!important;min-width:88px!important;min-height:44px!important;height:44px!important;padding:8px 16px!important;margin:0!important;background:transparent!important;color:var(--text)!important;font-size:12px!important;line-height:20px!important;border:0!important;border-radius:12px!important;box-shadow:none!important;white-space:nowrap!important;}
 html body #mainApp #content .econ-totals .econ-head .econ-switch:not(.ios-segmented)>.mini-btn.primary {background:var(--accent)!important;color:var(--accent-ink)!important;}
 html body #mainApp #content .econ-totals .econ-head .econ-switch>.mini-btn:focus-visible {outline:0!important;box-shadow:inset 0 0 0 2px var(--text-secondary)!important;}
 @media(max-width:860px){html body #mainApp #content .econ-totals .econ-head .econ-switch>.mini-btn {height:44px!important;min-height:44px!important;padding:8px 16px!important;min-width:80px!important;}}
}

/* Adjacent swipe actions share the card clip, without round inner seams. */
@layer crm-component-radii {html body #mainApp #content .ios-client-actions>button{border-radius:0!important}}

/* Search actions follow the mobile touch target scale. */
@layer crm-component-radii{@media(max-width:860px){html body #mainApp #content .chat-win .ch-ms-search form>:is(input,button){min-height:44px!important}html body #mainApp #content .chat-win :is(.ch-ms-search-toggle,.ch-ms-search header>[data-close]){min-width:44px!important;min-height:44px!important}}}


@layer crm-component-radii{html body #mainApp #content .mini-btn.danger-text{background:var(--critical-soft)!important;color:var(--critical-text)!important;border:0!important}}

@layer crm-component-radii {
 html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn){display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:44px!important;padding:8px 16px!important;border:0!important;border-radius:var(--crm-radii-control,16px)!important;background:var(--crm-action-secondary-bg,var(--surface-2))!important;color:var(--text)!important;font-family:inherit!important;font-size:12px!important;font-weight:500!important;line-height:1.35!important;white-space:nowrap!important;}
 html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn):disabled{background:var(--surface-2)!important;color:var(--text-secondary)!important;opacity:1!important;cursor:default!important;}
 html body :is(#docViewer,#crmViewer) :is(.dv-bar,.cv-bar){gap:8px!important;padding:calc(8px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) 8px calc(16px + env(safe-area-inset-left,0px))!important;}
 html body :is(#docViewer,#crmViewer) :is(.dv-title,.cv-name){font-size:14px!important;line-height:1.35!important;font-weight:600!important;text-align:center!important;}
 html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn):focus-visible{outline:2px solid var(--accent-text)!important;outline-offset:2px!important;}
}

@layer crm-component-radii {
 html body :is(#docViewer,#crmViewer) :is(.dv-body,.cv-body):has(>.dv-msg,>.cv-msg){background:var(--bg)!important;}
 html body :is(#docViewer,#crmViewer) :is(.dv-msg,.cv-msg){box-sizing:border-box!important;max-width:520px!important;margin:40px auto!important;padding:16px!important;border-radius:var(--crm-radii-inset,20px)!important;background:var(--surface)!important;color:var(--text)!important;font-size:14px!important;line-height:1.5!important;text-align:center!important;overflow-wrap:anywhere;}
 html body :is(#docViewer,#crmViewer) :is(.dv-msg,.cv-msg) :is(.dv-btn,.cv-btn){margin-top:12px!important;}
 html body #mainApp :is(#ccFixName,#ccFixPhone){box-sizing:border-box!important;min-height:44px!important;padding:8px 16px!important;}
}

@layer crm-component-radii {
 html body #mainApp .cc-head-top.contacts-edit{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto auto!important;align-items:center!important;gap:8px!important;}
 html body #mainApp .contacts-edit :is(#ccFixName,#ccFixPhone){width:100%!important;max-width:100%!important;min-width:0!important;}
 html body #mainApp .contacts-edit>.modal-hint{grid-column:1/-1;}
 @media(max-width:860px){
  html body #mainApp .cc-head-top.contacts-edit{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  html body #mainApp .contacts-edit :is(#ccFixName,#ccFixPhone){grid-column:1/-1;}
  html body #mainApp .contacts-edit :is(#ccFixSave,#ccFixCancel){width:100%!important;}
 }
}

@layer crm-component-radii {
 html body :is(#docViewer,#crmViewer) :is(.dv-body,.cv-body){padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))!important;background:var(--bg)!important;}
 html body :is(#docViewer,#crmViewer) canvas:is(.dv-page,.cv-page){display:block!important;max-width:100%;margin:0 auto 16px!important;background:#fff!important;box-shadow:var(--shadow-1,0 1px 4px rgba(0,0,0,.18))!important;}
 html body #docViewer[data-media] .dv-body,html body #crmViewer[data-ready="img"] .cv-body{padding:0 0 env(safe-area-inset-bottom,0px)!important;background:#111!important;}
}

@layer crm-component-radii {
 html body #mainApp .stages-edit-row>label{grid-template-columns:minmax(0,1fr)!important;}
 html body #mainApp .stages-edit-row .stage-variant-pick{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;}
}

@layer crm-component-radii {
 /* The gesture handler owns fixed geometry while zoom is active. */
 html body :is(#docViewer,#crmViewer) canvas:is(.dv-page,.cv-page):not([style*="zoom:"]){height:auto!important;}
}

@layer crm-component-radii {
 html body :is(#docViewer,#crmViewer){box-sizing:border-box!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;inset:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;}
}

@layer crm-component-radii {
 html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn){transition:background-color 140ms ease,color 140ms ease,transform 120ms var(--ease-out,ease-out);}
 html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn):active:not(:disabled){transform:scale(.98);}
 html[data-crm-motion="off"] body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn){transition:none!important;transform:none!important;}
 @media(prefers-reduced-motion:reduce){html body :is(#docViewer,#crmViewer) :is(.dv-btn,.cv-btn){transition:none!important;transform:none!important;}}
}

/* Chat dialogs unified 20261109 */
@layer crm-component-radii {
 html body .ch-ms-panel {border-radius:var(--crm-radii-modal,24px)!important;padding:20px!important;}
 html body .ch-ms-panel>header {gap:12px;margin-bottom:20px;}
 html body .ch-ms-panel>header b {font-size:18px;line-height:1.35;}
 html body .ch-ms-panel>header [data-close] {display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px!important;min-height:44px!important;padding:0!important;border:0;border-radius:var(--crm-radii-control,16px);background:var(--crm-action-secondary-bg,var(--surface))!important;color:var(--text);}
 html body .ch-ms-panel>header [data-close] svg {width:20px;height:20px;}
 html body .ch-ms-panel :is(input,select,textarea,.uniform-date-control) {min-height:44px!important;padding:10px 12px;border:0;border-radius:var(--crm-radii-control,16px)!important;background:var(--surface)!important;color:var(--text);font:inherit;font-size:16px;line-height:1.4;box-sizing:border-box;}
 html body .ch-ms-panel .ch-ms-filters {gap:8px;margin-bottom:16px;}
 html body .ch-ms-panel .mini-btn {display:inline-flex;align-items:center;justify-content:center;min-height:44px!important;padding:10px 16px;border:0;border-radius:var(--crm-radii-control,16px)!important;background:var(--crm-action-secondary-bg,var(--surface))!important;color:var(--text);font:inherit;font-size:14px;line-height:1.4;font-weight:600;box-sizing:border-box;}
 html body .ch-ms-panel .mini-btn.primary {background:var(--accent)!important;color:var(--accent-ink)!important;}
 html body .ch-ms-panel [hidden] {display:none!important;}
 html body .ch-ms-panel .ch-ms-results {margin-block:16px;color:var(--text-secondary);line-height:1.5;}
 html body .ch-ms-panel :is(button,input,select,textarea):focus-visible {outline:2px solid var(--accent-text,var(--accent));outline-offset:2px;}
 html body .ch-ms-panel button:disabled {opacity:.5;cursor:default;}
}

/* Case tab labels 20261109 */
@layer crm-component-radii {
 html body #mainApp #content .cc-tabs>.ios-segment-highlight {display:none!important;}
 html body #mainApp #content .cc-tabs>button {background:var(--crm-action-secondary-bg,var(--surface-2))!important;color:var(--text-secondary)!important;-webkit-text-fill-color:var(--text-secondary)!important;transition:background-color 162ms ease,color 162ms ease!important;}
 html body #mainApp #content .cc-tabs>button:is(.primary,.active,[aria-selected=true],[aria-pressed=true]) {background:var(--accent)!important;color:var(--accent-ink)!important;-webkit-text-fill-color:var(--accent-ink)!important;}
 html[data-crm-motion=off] body #mainApp #content .cc-tabs>button {transition:none!important;}
 @media(prefers-reduced-motion:reduce){html body #mainApp #content .cc-tabs>button {transition:none!important;}}
}

/* Pool swipe layout 20261109 */
@layer crm-component-radii {
 @media(max-width:860px){
  html body.ios-pool-page #mainApp #content .ios-pool-card {padding:0!important;overflow:hidden!important;}
  html body.ios-pool-page #mainApp #content .ios-pool-actions>button {border-radius:0!important;}
 }
}
