/* Согласованное обновление: фирменная палитра, стабильные данные, короткие отклики.
   Селекторы ограничены CRM: формы входа и печатные документы не меняются. */
#mainApp .nav-item {transition:background-color 120ms,color 120ms;}
#mainApp .nav-item.active {background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 3px 0 0 var(--accent);}
#mainApp .view-title {font-size:22px;line-height:1.35;letter-spacing:-.02em;margin-bottom:8px;}
#mainApp .view-sub {max-width:85ch;line-height:1.6;}
#mainApp .mini-btn {border-radius:8px;transition:background-color 120ms,border-color 120ms,color 120ms,transform 100ms;}
#mainApp .mini-btn:active:not(:disabled) {transform:scale(.98);}
#mainApp .mini-btn:disabled {cursor:wait;}
#mainApp button:focus-visible,#mainApp a:focus-visible,#mainApp input:focus-visible,
#mainApp select:focus-visible,#mainApp textarea:focus-visible,
.crm-step-confirm button:focus-visible,.crm-step-confirm textarea:focus-visible {
  outline:2px solid var(--accent-text);outline-offset:3px;
}
#mainApp tbody tr[data-client] > td {padding-block:14px;font-variant-numeric:tabular-nums;}
#mainApp tbody tr[data-client] > td[data-label="Клиент"] b {font-size:14px;font-weight:600;}
#mainApp .detail-page {border-radius:14px;}
#mainApp .cc-head {background:var(--bg-app);border:0;border-bottom:1px solid var(--border);border-radius:0;padding:4px 0 22px;gap:18px;}
#mainApp .cc-head-top {align-items:center;gap:12px;}
#mainApp .cc-head-top > .cc-client-name {font-family:'Euclid Flex',system-ui,sans-serif;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere;}
#mainApp .cc-head-top > .cc-client-meta {flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;color:var(--text-secondary);}
#mainApp .cc-head-top #ccFixOpen {margin-left:auto;}
#mainApp .cc-facts {grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px 24px;}
#mainApp .cc-fact {border:0;border-radius:0;background:transparent;padding:0;gap:5px;}
#mainApp .cc-fact > span {text-transform:none;letter-spacing:0;color:var(--text-secondary);}
#mainApp .cc-fact > b {font-size:13px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums;}
#mainApp .cc-stage-label {color:var(--text-secondary);}
#mainApp .cc-tabs {gap:6px 18px;border-bottom:1px solid var(--border);padding:0;margin:4px 0 20px;}
#mainApp .nc-tabs.cc-tabs {border-bottom:0;}
#mainApp .cc-tabs .cc-tab {position:relative;border:0;border-radius:0;background:transparent;color:var(--text-secondary);padding:12px 0;min-height:44px;font-weight:500;box-shadow:none;filter:none;}
#mainApp .cc-tabs .cc-tab.primary {background:transparent;color:var(--text);font-weight:700;}
#mainApp .cc-tabs .cc-tab::after {content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform 150ms;}
#mainApp .cc-tabs .cc-tab.primary::after {transform:scaleX(1);}
#mainApp .cc-tabbed details.modal-section {background:var(--bg-app);border-radius:12px;}
#mainApp .cc-nav {padding:20px;border-radius:12px;background:var(--bg-app);}
#mainApp .cc-nav .cc-nav-head b {color:var(--text-secondary);font-size:11px;letter-spacing:.065em;}
#mainApp .cc-nav .cc-nav-state {font-size:12.5px;}
#mainApp .cc-nav .cc-nav-reason {font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.015em;}
#mainApp .cc-nav .cc-nav-next {color:var(--text-secondary);line-height:1.6;}
#mainApp .cc-nav .cc-nav-who,#mainApp .cc-nav .cc-nav-mark {color:var(--text-secondary);}
#mainApp .cc-nav .mini-btn.primary {padding:10px 14px;min-height:42px;}
/* Не анимируем карточку/список при каждом renderContent или событии SSE. */
#mainApp .live-dot.is-live,#mainApp .is-loading-soft,#mainApp .skeleton {animation:none!important;}
#mainApp .is-loading-soft {opacity:1;}
#mainApp .skeleton {background:var(--surface);}
#mainApp .is-busy::after {animation:none!important;background:var(--accent-soft);}
#mainApp .bar-fill,#mainApp .nc-progress span,#mainApp .cc-bar > b {transition:none;}
#mainApp .modal-backdrop {animation:crm-polish-veil 140ms ease-out both;}
#mainApp .modal {animation:crm-polish-window 180ms ease-out both;}
.crm-step-confirm {color:var(--text);background:var(--bg-app);border:1px solid var(--border-strong);border-radius:14px;padding:24px;width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:var(--shadow-2);}
.crm-step-confirm[open] {animation:crm-polish-window 180ms ease-out both;}
.crm-step-confirm::backdrop {background:var(--veil);}
.crm-step-confirm .crm-confirm-top {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.crm-step-confirm .crm-confirm-eyebrow {font-size:11px;letter-spacing:.075em;font-weight:600;color:var(--text-secondary);}
.crm-step-confirm .crm-confirm-close {background:transparent;border:0;color:var(--text-secondary);font-size:24px;min-width:44px;min-height:44px;border-radius:8px;cursor:pointer;}
.crm-step-confirm h2 {font-family:'Euclid Flex',system-ui,sans-serif;font-size:25px;letter-spacing:-.035em;line-height:1.3;margin:10px 0 8px;}
.crm-step-confirm .crm-confirm-client {color:var(--text-secondary);font-size:12.5px;margin:0;overflow-wrap:anywhere;}
.crm-step-confirm .crm-confirm-task {background:var(--surface);border-left:3px solid var(--accent);border-radius:8px;padding:13px 14px;margin:20px 0;font-size:14px;font-weight:600;overflow-wrap:anywhere;}
.crm-step-confirm .crm-confirm-date {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--text-secondary);margin:0 0 18px;}
.crm-step-confirm .crm-confirm-date time {color:var(--text);font-variant-numeric:tabular-nums;}
.crm-step-confirm label {display:block;font-size:12.5px;font-weight:600;}
.crm-step-confirm textarea {display:block;width:100%;max-width:none;margin:8px 0 0;padding:11px 12px;min-height:90px;font-size:14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;}
.crm-step-confirm .crm-confirm-hint {color:var(--text-secondary);font-size:12px;line-height:1.5;margin:8px 0 0;}
.crm-step-confirm .crm-confirm-footer {display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:24px;}
.crm-step-confirm .mini-btn {padding:10px 14px;min-height:42px;transition:transform 100ms,background-color 120ms;}
.crm-step-confirm .mini-btn:active:not(:disabled) {transform:scale(.98);}
.crm-toast.crm-step-success {animation:crm-polish-confirm 170ms ease-out backwards;}
@keyframes crm-polish-window {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes crm-polish-veil {from{opacity:0}to{opacity:1}}
@keyframes crm-polish-confirm {from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
html[data-crm-motion="off"] {scroll-behavior:auto!important;}
html[data-crm-motion="off"] #mainApp *,html[data-crm-motion="off"] #mainApp *::before,
html[data-crm-motion="off"] #mainApp *::after,html[data-crm-motion="off"] .crm-step-confirm,
html[data-crm-motion="off"] .crm-step-confirm *,html[data-crm-motion="off"] #crmToasts * {
  animation:none!important;transition:none!important;scroll-behavior:auto!important;
}
html[data-crm-motion="off"] #mainApp .mini-btn:active,
html[data-crm-motion="off"] #mainApp .tc-row:active,
html[data-crm-motion="off"] #mainApp .kcard:hover,
html[data-crm-motion="off"] .crm-step-confirm .mini-btn:active {transform:none!important;}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important;}
  #mainApp *,#mainApp *::before,#mainApp *::after,.crm-step-confirm,.crm-step-confirm *,#crmToasts * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  #mainApp .mini-btn:active,#mainApp .tc-row:active,#mainApp .kcard:hover,.crm-step-confirm .mini-btn:active {transform:none!important;}
}
@media(max-width:600px) {
  #mainApp .view-title {font-size:19px;}
  #mainApp .cc-head-top > .cc-client-name {font-size:23px;}
  #mainApp .cc-head-top #ccFixOpen {margin-left:0;}
  #mainApp .cc-tabs {gap:2px 15px;}
  #mainApp .cc-nav {padding:16px;}
  #mainApp .cc-nav .cc-nav-reason {font-size:16px;}
  .crm-step-confirm {padding:17px;}
  .crm-step-confirm textarea {font-size:16px;}
  .crm-step-confirm .mini-btn {min-height:44px;}
}
@media print {
  #crmMotionButton,.crm-step-confirm {display:none!important;}
}
