/* One desktop radius scale shared by both CRMs. Mobile keeps its existing scale. */
@media(min-width:861px){
 :root{--crm-radius-card:var(--crm-radii-card,24px);--crm-radius-inset:var(--crm-radii-inset,20px);--crm-radius-control:var(--crm-radii-control,16px);--crm-radius-field:var(--crm-radii-control,16px)}
 body #mainApp #content :is(
  .chart-card,.stat-tile,.role-card,.person-card,.kcard,.kcol,.qstep,
  .role-work-client,.role-work-stat,.role-task-row,.role-assignment-card,
  .role-assignment-form,.assignment-client-card,.wait-row,.cf-stage,
  .team-doc-card,.team-doc-upload,.memo-card,.memo-preview,.price-card,
  .bug-card,.bug-row,.dup-card,.duty-row,.pl-item,.ann-group,.off-slot,
  .off-list-row,.off-mode,.modal-section,.client-filter-bar,.dash-pay-form,
  .ov-card,.ov-row,.lk-card,.pr-tile,.tariff-rate,.payroll-freeze,.poa-card,.work-row,
  .mw-plan-item,.mw-complaint-source-card,.mw-complaint-note
 ){border-radius:var(--crm-radius-card)!important}
 body :is(.modal,.off-modal-card,.crm-step-confirm,.login-card,.login-box,.auth-card,.modal-card){border-radius:var(--crm-radius-card)!important}
 body #mainApp #content :is(
  .note,.modal-note-text,.modal-hint.note,.assignment-audience-note,
  .term-calc,.term-doc-row,.cc-fact,.cc-person,.ios-case-info,.cc-fold,
  .memo-box,.memo-say,.memo-fact,.med-guide-chapter,.med-guide-target,
  .med-guide-added,.premed-group,.nc-progress,.cl-step,.cl-hold,.qstep-warn,
  .assign-how,.assign-due,.price-note,.cc-refund-calc,.clause-box,.legal-link-box,
  .sw-panel,.sw-doc,.sw-act,.sw-send,.sw-now,.sw-check,.faq-item,
  .kom-agents,.kom-cases,.kom-more,.txt-body,.vz-answer,.kas-item,
  .pf-item,.ios-editor-secondary,.tariff-breakdown,.piecework-list,.comp-rows,
  .stats-list,.pl-office-grid,.cand-row,.journal-row,.ch-bubble
 ){border-radius:var(--crm-radius-inset)!important}
 body #mainApp #content :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]):not([type=file]),select,textarea){border-radius:var(--crm-radius-field)!important}
 body #mainApp :is(.btn,.mini-btn,.btn-primary,.btn-secondary,.nav-item,button[type=submit]):not(.icon-btn):not(.avatar):not(.user-avatar):not(.ch-send-btn):not(.large-text-toggle),
 body :is(.modal,.off-modal-card,.crm-step-confirm,.login-card,.login-box,.auth-card) :is(.btn,.mini-btn,.btn-primary,.btn-secondary,button[type=submit]):not(.icon-btn):not(.avatar):not(.user-avatar):not(.large-text-toggle){border-radius:var(--crm-radius-control)!important}
 /* These controls have component-specific rules; use the same control token. */
 body #mainApp #content .mw-shell .mw-journey [data-mw-pane],
 body #mainApp #content .mw-shell .mw-step-action>.mini-btn,
 body #mainApp #content .mw-shell .mw-plan-item>.mini-btn{border-radius:var(--crm-radius-control)!important}
 body #mainApp #content .mw-shell .mw-complaint-entry textarea,
 body #mainApp #content .mw-shell .mw-document-form .sd-field>textarea,
 body #mainApp #content .sd-sheet[data-workspace-editor][data-sd-kind] .sd-field>textarea[id^=sd_]{border-radius:var(--crm-radius-field)!important}
 body #mainApp #content .mw-shell :is(.mw-plan-item,.mw-complaint-source-card,.mw-complaint-note,.role-assignment-card:has([data-med-request])){border-radius:var(--crm-radius-card)!important}
 body button.mini-btn:is(.notification-bell,.tc-top,.topbar-btn){border-radius:var(--crm-radius-control)!important}
 body #mainApp #teamChatTop.mini-btn,body #mainApp #notificationBell.mini-btn,body #mainApp #crmTeamDebtsTop.mini-btn{border-radius:var(--crm-radius-control)!important}
}

/* Complete the desktop scale for components outside the original card list. */
@media(min-width:861px){
 html body #mainApp #content :is(
  .tc-list,.tc-panel,.chat-win,.ios-chat-group,.tpl-card,.mat-card,.txt-card,
  .promo-card,.promo-step,.aiq-card,.cm-row,.ref-sec,.akd-sec,.ak-verdict,
  .cab-hero,.cab-card,.cab-msg,.case-hide,.econ-steps,.dl-row,.rw-new-task,
  .stages-edit,.sd-sheet,.mg-clinical-card,.mg-proof-head,.mg-proof-row,
  .mg-direction,.mg-auto-proposal,.mg-next,.mw-stagebar,.mw-record-summary
 ){border-radius:var(--crm-radius-card)!important}
 html body #mainApp #content :is(
  .notification-permission,.client-filter-empty,.agr-row,.agr-unsigned,.tu-discount,
  .pay-plan-row,.sched-row,.pool-banner,.cc-row,.nc-note,.pl-cell,.tpl-addr,
  .team-doc-status,.ch-task,.tc-row,.refund-warn,.off-col-head,.clause-row,
  .pack-files,.sos-item,.wr-step,.piece-row,.piece-add,.doc-req-list,.lr-appeal,
  .tariff-up-row,.task-file,.kom-person,.kom-agent,.kom-excl,.lead-assign,
  .sd-help-note,.sd-diff,.sd-draft-note,.uch-q,.uch-opt,.vz-search,.otk-opt,
  .task-parts-how,.cm-body,.cm-ai,.bfl-all,.ak-mfc,.up-rule,.up-pick,
  .mg-v-title,.mg-v-point,.mg-v-evidence,.mg-v-conditions,.mg-v-other,
  .mg-clinical-v,.mg-norm-table-scroll,.cand-more-menu,.workspace-review-item,
  .mg-proof-rules>div,.mg-complaint-list li,.ch-answer
 ){border-radius:var(--crm-radius-inset)!important}
 html body #mainApp #content :is(.payroll-totals,.payroll-outcome,.kom-money,.ref-reward)>div,
 html body #mainApp #content .qstep-items>li{border-radius:var(--crm-radius-inset)!important}
 html body #mainApp #content :is(.mg-v-tests>span,.mg-v-badge,.mg-proof-legend span,.cl-tag,.ch-ai,.aiw-section-mark){border-radius:var(--crm-radius-control)!important}
 html body #mainApp #content :is(.role-tab,.login-tab,.ak-tab,.ch-opt,.doc-btn,.cab-cta,.up-pick,.otk-opt),
 html body #mainApp .topbar .pp-menu .pp-item,
 html body #mainApp #content .ch-top .ch-parts>button{border-radius:var(--crm-radius-control)!important}
 html body #mainApp #content input[type=file]::file-selector-button{border-radius:var(--crm-radius-control)!important}
 html body #mainApp #content .uniform-date-control{border-radius:var(--crm-radius-field)!important}
 html body #mainApp #content .uniform-date-control input{border-radius:inherit!important}
 html body :is(#crmNotificationOverlay,#mainApp) .notification-panel,
 html body #crmTeamDebts .team-debts-sheet,
 html body #mainApp .pp-menu,
 html body #loginScreen :is(.login-card,.login-box,.auth-card){border-radius:var(--crm-radius-card)!important}
 html body :is(#crmNotificationOverlay,#mainApp) :is(.notification-entry,.notification-item,.notification-permission),
 html body #crmTeamDebts :is(.td-task,.team-debts-totals>span),
 html body #mainApp :is(.crm-toast,.crm-confirm-task){border-radius:var(--crm-radius-inset)!important}
 html body :is(#crmNotificationOverlay,#crmTeamDebts,#loginScreen) :is(button,.mini-btn,.login-submit){border-radius:var(--crm-radius-control)!important}
 html body #loginScreen :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
 html body .crm-step-confirm textarea{border-radius:var(--crm-radius-field)!important}
 html body #mainApp .topbar .pp-menu .pp-out{border-radius:0 0 var(--crm-radius-control) var(--crm-radius-control)!important}
}

@media(min-width:861px){
 html body #mainApp #content .uch-test .uch-q{border-radius:var(--crm-radius-inset)!important}
 html body #mainApp #content .uch-test .uch-opts .uch-opt{border-radius:var(--crm-radius-control)!important}
 html body #mainApp #content .pl-chip,
 html body #mainApp :is(.nav-group-head,.modal-close),
 html body .crm-step-confirm .crm-confirm-close{border-radius:var(--crm-radius-control)!important}
 html body #mainApp .nav-badge{border-radius:999px}
}

/* Keep the case audience selector and menu together in both CRM headers. */
@media(min-width:861px){
 html body #mainApp #content .team-chat .ch-top>.ch-parts{border-radius:999px!important;order:10!important;margin-left:auto!important;flex:0 0 auto!important}
 html body #mainApp #content .team-chat .ch-top>.workspace-chat-actions{order:11!important;margin-left:0!important;flex:0 0 auto!important}
}
