/* СтройПилот CRM UI System v1 · Google Stitch composition reference, native CRM implementation */
:root{
  --sp-navy-950:#07172b;
  --sp-navy-900:#0b2039;
  --sp-navy-800:#123454;
  --sp-navy-700:#1d4c73;
  --sp-blue-100:#eaf3fa;
  --sp-orange-600:#df681d;
  --sp-orange-700:#bd4f0b;
  --sp-orange-100:#fff0e5;
  --sp-green-700:#24734f;
  --sp-green-100:#eaf7f0;
  --sp-red-700:#a53b36;
  --sp-red-100:#fff0ef;
  --sp-amber-700:#8a5a12;
  --sp-amber-100:#fff7df;
  --sp-ink:#172334;
  --sp-muted:#627184;
  --sp-line:#d6dee7;
  --sp-line-strong:#b9c5d1;
  --sp-canvas:#f4f7fa;
  --sp-surface:#ffffff;
  --sp-surface-soft:#f8fafc;
  --sp-radius-sm:6px;
  --sp-radius:10px;
  --sp-radius-lg:14px;
  --sp-shadow-sm:0 1px 2px rgba(7,23,43,.08);
  --sp-shadow:0 10px 28px rgba(7,23,43,.12);
  --sp-focus:0 0 0 3px rgba(29,76,115,.25);
  --sp-shell-top:44px;
  --sp-shell-nav:78px;
  font:14px/1.42 "Segoe UI",Inter,Arial,sans-serif;
  color:var(--sp-ink);
  background:var(--sp-canvas);
}

html,body{width:100%;max-width:100%;background:var(--sp-canvas);color:var(--sp-ink)}
body{accent-color:var(--sp-orange-600)}
::selection{background:#f8c7a6;color:var(--sp-navy-950)}
*{scrollbar-color:#9babb9 #edf1f5;scrollbar-width:thin}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:#edf1f5}
*::-webkit-scrollbar-thumb{background:#9babb9;border:2px solid #edf1f5;border-radius:999px}

button,input,select,textarea,summary{font:inherit}
button,input,select,textarea{border-radius:var(--sp-radius-sm)}
button{color:var(--sp-ink)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--sp-navy-700)!important;
  outline-offset:2px!important;
  box-shadow:var(--sp-focus)!important;
}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{
  min-height:38px;
  border:1px solid var(--sp-line-strong);
  background:var(--sp-surface);
  color:var(--sp-ink);
  padding:7px 10px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#8798a9}
input::placeholder,textarea::placeholder{color:#8794a3;opacity:1}
input[readonly],input:disabled,select:disabled,textarea:disabled{background:#edf1f5;color:#788595;border-color:#d8dfe6}
textarea{line-height:1.45;resize:vertical}

.titlebar{
  height:var(--sp-shell-top);
  min-height:var(--sp-shell-top);
  padding:0 16px;
  align-items:center;
  gap:14px;
  background:linear-gradient(90deg,var(--sp-navy-950),var(--sp-navy-800));
  color:#fff;
  border:0;
  box-shadow:0 2px 12px rgba(7,23,43,.2);
}
.titlebar .brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;letter-spacing:.01em;color:#fff}
.titlebar .brand::before{content:"";width:10px;height:24px;border-radius:3px;background:var(--sp-orange-600);box-shadow:8px 0 0 #fff3}
.titlebar .brand::after{content:"Строительная CRM для СНГ";margin-left:10px;padding-left:14px;border-left:1px solid #ffffff42;color:#cbd7e3;font-size:12px;font-weight:500;letter-spacing:0}
.titlebar>span{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0}
.titlebar select,.titlebar button{height:32px;min-height:32px;border:1px solid #ffffff42;background:#fff;color:var(--sp-navy-950);border-radius:7px}
.titlebar select{min-width:min(320px,36vw);padding:4px 28px 4px 9px}
.titlebar button{padding:4px 12px;font-weight:650}
.titlebar .companyContextBar{display:grid!important;grid-template-columns:minmax(220px,320px) auto 40px;align-items:center;gap:7px}
.titlebar .companyContextBar #aiAssistantToggle{position:static!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:2px solid #fff!important;border-radius:50%!important;background:var(--sp-orange-600)!important;color:#fff!important;box-shadow:none!important;font-size:12px!important}

.modules{
  height:var(--sp-shell-nav);
  min-height:var(--sp-shell-nav);
  padding:6px 14px;
  gap:6px;
  align-items:stretch;
  background:var(--sp-surface);
  border:0;
  border-bottom:1px solid var(--sp-line);
  box-shadow:var(--sp-shadow-sm);
}
.moduleGroup{height:66px!important}
.primaryModule,.module{
  height:66px!important;
  min-height:66px;
  width:140px!important;
  border:0;
  border-radius:var(--sp-radius);
  background:transparent;
  color:#334155;
  gap:2px;
  transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.module .ico{font-size:23px;filter:saturate(.85)}
.module:hover{background:var(--sp-blue-100);color:var(--sp-navy-800);transform:translateY(-1px)}
.module.active{background:var(--sp-navy-900);color:#fff;box-shadow:0 5px 14px rgba(7,23,43,.2)}
.module.active .ico{color:#fff;filter:none}
.module.active::after{content:"";position:absolute;bottom:4px;width:28px;height:3px;border-radius:999px;background:var(--sp-orange-600)}
.moduleMenu{
  top:67px!important;
  padding:6px!important;
  border:1px solid var(--sp-line)!important;
  border-radius:var(--sp-radius)!important;
  background:var(--sp-surface)!important;
  box-shadow:var(--sp-shadow)!important;
  overflow:hidden;
}
.moduleMenu button{min-height:38px;padding:8px 10px!important;border:0!important;border-radius:6px!important;color:var(--sp-ink)}
.moduleMenu button:hover,.moduleMenu button:focus{background:var(--sp-blue-100)!important;color:var(--sp-navy-800)!important}

.home,.workspace{background:var(--sp-canvas)}
.home{height:calc(100dvh - var(--sp-shell-top) - var(--sp-shell-nav));grid-template-rows:minmax(0,1fr) 48px}
.workspace{height:calc(100dvh - var(--sp-shell-top) - var(--sp-shell-nav));grid-template-rows:auto minmax(0,1fr) 30px}
.welcome{padding:14px 22px 28px}
.homeWelcome{align-items:center;margin-bottom:14px}
.homeWelcome h1{font-size:26px;line-height:1.2;font-weight:700;color:var(--sp-navy-900);letter-spacing:-.02em}
.homeWelcome span{font-size:13px;color:var(--sp-muted)}
.homeWelcome small{padding:6px 9px;border:1px solid var(--sp-line);border-radius:999px;background:var(--sp-surface);color:var(--sp-muted)}
.homeLaunchers{gap:10px;margin-bottom:12px}
.homeLaunchers button{
  min-height:104px;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius);
  background:var(--sp-surface);
  box-shadow:var(--sp-shadow-sm);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.homeLaunchers button:hover,.homeLaunchers button:focus-visible{border-color:#ee9b61;background:#fffaf6;box-shadow:0 8px 18px rgba(7,23,43,.1);transform:translateY(-2px)}
.homeLaunchers span{font-size:28px}
.homeLaunchers b{font-size:14px;color:var(--sp-navy-900)}
.homeWelcome,.homeLaunchers{display:none!important}
.homeOperations{margin:0 0 12px;gap:7px}
.homeOperations button,.homeOperations span{min-height:32px;padding:6px 10px;border:1px solid var(--sp-line);border-radius:999px;background:var(--sp-surface);color:#425269}
.homeOperations button:hover{background:var(--sp-blue-100);border-color:#9ab5ca}
.directorCenter,.chartPanel,.favorites,.kpi{
  border:1px solid var(--sp-line)!important;
  border-radius:var(--sp-radius)!important;
  background:var(--sp-surface)!important;
  box-shadow:var(--sp-shadow-sm);
  overflow:hidden;
}
.directorHead,.chartPanel h2,.favorites h2,.recent h2{
  background:var(--sp-surface-soft)!important;
  border-color:var(--sp-line)!important;
  color:var(--sp-navy-900)!important;
}
.directorHead{min-height:52px;padding:9px 12px}
.directorHead h2,.chartPanel h2,.favorites h2{font-size:14px;font-weight:750}
.directorEmpty{margin:10px;padding:18px;border:1px dashed #b8d6c8;border-radius:var(--sp-radius);background:var(--sp-green-100);color:var(--sp-green-700)}
.dashboard{gap:10px;margin:10px 0}
.kpi{padding:14px 15px;position:relative}
.kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--sp-orange-600)}
.kpi b{font-size:22px;color:var(--sp-navy-900);font-variant-numeric:tabular-nums}
.kpi span{color:var(--sp-muted)}
.analysisGrid{gap:10px}
.chartPanel,.favorites{padding:0 12px 12px}
.chartPanel h2,.favorites h2{padding:10px 12px}
.favoriteGrid button{border:1px solid var(--sp-line);border-radius:8px;background:var(--sp-surface);min-height:38px}
.favoriteGrid button:hover{border-color:#9ab5ca;background:var(--sp-blue-100)}
.homeFooter{
  min-height:48px;
  padding:5px 12px;
  gap:5px;
  background:rgba(255,255,255,.96);
  border-top:1px solid var(--sp-line);
  box-shadow:0 -5px 18px rgba(7,23,43,.07);
  backdrop-filter:blur(8px);
}
.homeFooter button{min-height:38px;padding:7px 11px;border:1px solid transparent;border-radius:7px;background:transparent;color:#425269}
.homeFooter button:hover{background:var(--sp-blue-100);color:var(--sp-navy-800)}
.homeToolsMenu{border:1px solid var(--sp-line)!important;border-radius:var(--sp-radius)!important;background:var(--sp-surface)!important;box-shadow:var(--sp-shadow)!important}

.workspace>.toolbar{
  min-height:52px;
  height:auto;
  padding:7px 10px;
  gap:6px;
  align-content:center;
  background:var(--sp-surface);
  border-bottom:1px solid var(--sp-line);
  box-shadow:var(--sp-shadow-sm);
}
.tool,.toolbarMenu>summary{
  min-height:38px;
  padding:7px 11px;
  border:1px solid var(--sp-line-strong);
  border-radius:var(--sp-radius-sm);
  background:var(--sp-surface);
  color:#334155;
  font-weight:600;
  box-shadow:none;
  transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease;
}
.tool:hover,.toolbarMenu>summary:hover{background:var(--sp-blue-100);border-color:#8fabc0;color:var(--sp-navy-800)}
.tool:active,.toolbarMenu>summary:active{transform:translateY(1px)}
.tool.primary,.primary.tool,button.primary{
  background:var(--sp-orange-600)!important;
  border-color:var(--sp-orange-600)!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(223,104,29,.2)!important;
}
.tool.primary:hover,.primary.tool:hover,button.primary:hover{background:var(--sp-orange-700)!important;border-color:var(--sp-orange-700)!important}
.tool:disabled,button:disabled,.toolbarMenu>summary[aria-disabled="true"]{opacity:.48;filter:saturate(.35);cursor:not-allowed;box-shadow:none!important;transform:none!important}
.toolbar .search{min-height:38px;border-color:var(--sp-line-strong);background:var(--sp-surface);border-radius:var(--sp-radius-sm);padding:7px 11px}
.toolbar label.tool{display:inline-flex;align-items:center;gap:7px}
.toolbar label.tool input[type="checkbox"]{width:18px;height:18px}
.toolbarMenu>div{padding:6px;border:1px solid var(--sp-line);border-radius:var(--sp-radius);background:var(--sp-surface);box-shadow:var(--sp-shadow)}

.paneTitle{
  min-height:36px;
  padding:9px 11px;
  background:var(--sp-surface-soft)!important;
  border-color:var(--sp-line)!important;
  color:#435267;
  font-size:11px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.statusbar{
  min-height:30px;
  padding:6px 10px;
  background:var(--sp-surface);
  border-top:1px solid var(--sp-line);
  color:var(--sp-muted);
  font-size:12px;
}
.empty,.fieldEmpty{
  color:var(--sp-muted);
  line-height:1.5;
}
.workspace .empty{min-height:120px;display:grid;place-content:center;padding:24px;text-align:center}
.spEmptyState{min-height:clamp(260px,58vh,560px);display:grid;place-content:center;justify-items:center;text-align:center;padding:32px 20px;color:var(--sp-muted)}
.spEmptyStateIcon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:18px;background:var(--sp-blue-100);font-size:30px}
.spEmptyState h2{margin:0 0 6px;color:var(--sp-navy-900);font-size:20px}
.spEmptyState p{max-width:480px;margin:0 0 16px}
.spEmptyState small{max-width:520px;margin-top:10px;color:#7b8897}

table{border-collapse:separate;border-spacing:0;background:var(--sp-surface);color:var(--sp-ink)}
th{
  position:sticky;
  top:0;
  z-index:2;
  background:#eaf0f5!important;
  color:#3f4f63;
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:none;
}
th,td{border-color:var(--sp-line)!important;padding:8px 9px}
tbody tr{transition:background .1s ease,box-shadow .1s ease}
tbody tr:hover{background:#f3f8fc!important}
tbody tr.selected,tbody tr.active,tbody tr.checked{background:#fff0e5!important;box-shadow:inset 4px 0 0 var(--sp-orange-600)}
td{font-variant-numeric:tabular-nums}
.gridWrap,.catalogGrid,.quoteLines,.analyticsMain,.accountingGridWrap,.documentGridWrap,.serviceGridWrap,.receivableGrid,.payableGrid{background:var(--sp-surface)}

.clientNode,.projectNode,.leadNode,.campaignNode,.classificationNode,.accountingNavNode,.receivableClient,.payableSupplier,.accessNode,
.assetTypeNode,.warehouseNode,.documentNode,.serviceNode,.activityCard,.projectStageCard{
  border-color:var(--sp-line)!important;
  background:var(--sp-surface)!important;
  color:var(--sp-ink);
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease;
}
.clientNode:hover,.projectNode:hover,.leadNode:hover,.campaignNode:hover,.classificationNode:hover,.accountingNavNode:hover,.receivableClient:hover,.payableSupplier:hover,
.clientNode.active,.projectNode.active,.leadNode.active,.campaignNode.active,.classificationNode.active,.accountingNavNode.active,.receivableClient.active,.payableSupplier.active{
  background:var(--sp-blue-100)!important;
  color:var(--sp-navy-800)!important;
}
.clientNode.active,.projectNode.active,.leadNode.active,.campaignNode.active,.classificationNode.active,.accountingNavNode.active{box-shadow:inset 4px 0 0 var(--sp-orange-600)}

.tabs,.documentStatusTabs,.serviceViewTabs,.projectTabs{background:var(--sp-surface-soft);border-color:var(--sp-line)!important;gap:2px;padding:4px}
.tab,.serviceViewTab,.projectTabs button,.documentStatusTabs button{
  min-height:36px;
  border:0!important;
  border-radius:6px!important;
  background:transparent!important;
  color:#516174!important;
  font-weight:650;
}
.tab:hover,.serviceViewTab:hover,.projectTabs button:hover,.documentStatusTabs button:hover{background:var(--sp-blue-100)!important}
.tab.active,.serviceViewTab.active,.projectTabs button.active,.documentStatusTabs button.active{background:var(--sp-navy-900)!important;color:#fff!important}

.attentionBadge{
  min-width:20px;
  height:20px;
  padding:0 6px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:var(--sp-red-700);
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 0 0 2px var(--sp-surface);
}
.validationBox,.documentHint,.serviceHint,.leadFormHint,.priceNotice,.receivableNotice,.payableWarning,.normativeCatalogNotice{
  border:1px solid #e4c47c!important;
  border-left:4px solid #c47a24!important;
  border-radius:var(--sp-radius-sm)!important;
  background:var(--sp-amber-100)!important;
  color:#5f4619!important;
}
.countryPackPreviewOk,.good,.resolved{border-color:#9ac9b2!important;background:var(--sp-green-100)!important;color:var(--sp-green-700)!important}
.bad,.error{border-color:#dfa5a1!important;background:var(--sp-red-100)!important;color:var(--sp-red-700)!important}

dialog{
  width:min(920px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:min(88dvh,900px);
  padding:0;
  border:1px solid var(--sp-line);
  border-radius:var(--sp-radius-lg);
  background:var(--sp-surface);
  color:var(--sp-ink);
  box-shadow:0 28px 80px rgba(7,23,43,.3);
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-padding-block:64px;
}
dialog::backdrop{background:rgba(7,23,43,.56);backdrop-filter:blur(2px)}
dialog>header{position:sticky;top:0;z-index:12;min-height:52px;padding:14px 18px;background:var(--sp-navy-900)!important;color:#fff!important;border:0!important;font-size:16px;font-weight:750}
dialog>.formTabs{position:sticky;top:52px;z-index:11}
dialog form{max-height:none;overflow:visible;background:var(--sp-surface)}
dialog .fields{gap:12px;padding:16px 18px}
dialog label{color:#506074;font-size:12px;font-weight:650}
dialog label input,dialog label select,dialog label textarea{margin-top:5px;font-size:14px;font-weight:400}
dialog .actions{position:sticky;bottom:0;z-index:12;min-height:58px;padding:9px 14px;gap:10px;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.97);border-top:1px solid var(--sp-line);box-shadow:0 -8px 20px rgba(7,23,43,.06);backdrop-filter:blur(8px)}
dialog .actions>span{min-width:0;flex:1 1 240px;overflow-wrap:anywhere}
dialog .actions>.right{min-width:0;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}
dialog .actions .tool{min-height:40px}

.aiAssistantPanel{
  position:fixed!important;
  inset:var(--sp-shell-top) 0 0!important;
  z-index:55!important;
  width:100vw!important;
  max-width:100vw!important;
  height:calc(100dvh - var(--sp-shell-top));
  display:grid;
  grid-template-columns:minmax(310px,380px) minmax(0,1fr)!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  border:0!important;
  background:var(--sp-canvas)!important;
  box-shadow:none!important;
  overflow:hidden;
  isolation:isolate;
}
.aiAssistantPanel.closed{display:none!important}
.aiAssistantHead{grid-column:1/-1;grid-row:1;min-height:64px;padding:12px 18px!important;align-items:center;border-bottom:1px solid #ffffff2e}
.aiAssistantPanel .aiAssistantHead{background:var(--sp-navy-900)!important;color:#fff!important}
.aiAssistantHead h2{font-size:20px!important;line-height:1.2}
.aiAssistantHead button{width:44px;height:44px;min-height:44px;border-radius:50%!important}
.aiAssistantHead button:hover{background:#ffffff1f!important}
#aiControlStrip{grid-column:1;grid-row:2;min-height:34px;padding:8px 12px!important;border:0!important;border-right:1px solid var(--sp-line)!important;border-bottom:1px solid var(--sp-line)!important;background:var(--sp-amber-100)!important;color:var(--sp-amber-700)!important;white-space:normal}
.aiAssistantQuick{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:12px!important;border:0!important;border-right:1px solid var(--sp-line)!important;border-bottom:1px solid var(--sp-line)!important;background:var(--sp-surface)!important}
.aiAssistantQuick button{min-height:46px;white-space:normal;line-height:1.2}
.aiAssistantQuick button:last-child{grid-column:1/-1}
.aiCoordinatorTaskCenter{grid-column:1;grid-row:4/6;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:0!important;border-right:1px solid var(--sp-line)!important;background:var(--sp-surface)!important;overflow:hidden}
.aiCoordinatorTaskHead{min-height:58px;padding:10px 12px!important;background:var(--sp-surface-soft)!important;border-bottom:1px solid var(--sp-line)!important}
.aiCoordinatorTaskList{min-height:0;max-height:none!important;overflow:auto;padding:10px!important;align-content:start}
.aiCoordinatorTaskCard{border-color:var(--sp-line)!important;border-radius:var(--sp-radius-sm);background:var(--sp-surface-soft)!important;padding:10px!important}
.aiAssistantMessages{grid-column:2;grid-row:2/5;min-width:0;min-height:0;overflow:auto;padding:24px clamp(18px,4vw,64px)!important;align-content:start;background:var(--sp-canvas);scroll-padding-block:24px}
.aiMessage,.aiEstimatorCandidate,.aiAssignmentPreview{border-color:var(--sp-line)!important;border-radius:var(--sp-radius)!important;background:var(--sp-surface-soft)!important}
.aiMessage{width:fit-content;max-width:min(920px,92%);padding:14px 16px!important;line-height:1.5;box-shadow:var(--sp-shadow-sm)}
.aiMessage.assistant{margin-right:auto!important;border-left:4px solid var(--sp-navy-700)!important;background:var(--sp-surface)!important}
.aiMessage.user{margin-left:auto!important;border-left:4px solid var(--sp-orange-600)!important;background:var(--sp-orange-100)!important}
.aiSources{margin-top:10px!important;gap:7px!important}
.aiSource{padding:9px 10px!important;border-radius:var(--sp-radius-sm);line-height:1.4}
.aiAssistantComposer{grid-column:2;grid-row:5;min-width:0;padding:12px clamp(18px,4vw,64px)!important;border:0!important;border-top:1px solid var(--sp-line)!important;background:rgba(255,255,255,.98)!important;box-shadow:0 -8px 24px rgba(7,23,43,.07)}
.aiAssistantComposer textarea{width:100%;min-height:88px;height:88px!important;padding:12px 14px;line-height:1.45;resize:none!important}
.aiAssistantComposer .actions{min-height:44px;padding:8px 0 0!important;gap:12px;align-items:center;background:transparent!important}
.aiAssistantComposer .actions .tool{min-width:120px;min-height:42px}
.aiAssistantTrust{color:var(--sp-muted)!important;font-size:12px!important}
#aiAssistantToggle{right:18px!important;bottom:66px!important;z-index:56!important;width:50px!important;height:50px!important;border:3px solid #fff!important;background:var(--sp-navy-900)!important;color:#fff!important;box-shadow:0 8px 22px rgba(7,23,43,.28)!important}

.fieldWorkspace{background:var(--sp-canvas);color:var(--sp-ink)}
.fieldHeader{background:var(--sp-navy-900)!important;color:#fff!important}
.fieldTaskCard,.fieldSyncPanel,.fieldSummary{border-color:var(--sp-line)!important;border-radius:var(--sp-radius)!important;background:var(--sp-surface)!important;box-shadow:var(--sp-shadow-sm)}

@media(max-width:1100px){
  :root{--sp-shell-nav:74px}
  .modules{padding-inline:8px;justify-content:flex-start!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
  .moduleGroup{flex:0 0 auto;scroll-snap-align:start}
  .primaryModule,.module{width:116px!important;height:62px!important;min-height:62px}
  .moduleGroup{height:62px!important}
  .moduleMenu{top:63px!important}
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analysisGrid{grid-template-columns:1fr}
}

@media(max-width:720px){
  :root{--sp-shell-top:84px;--sp-shell-nav:70px;font-size:14px}
  html,body{overflow-x:hidden!important}
  .titlebar{
    min-height:var(--sp-shell-top);
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    align-content:center;
    gap:5px;
    padding:7px 10px;
  }
  .titlebar .brand{font-size:15px}
  .titlebar .brand::after{display:none}
  .titlebar>span{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:6px}
  .titlebar select{width:100%;min-width:0;max-width:none;height:44px;min-height:44px}
  .titlebar #openMultiCompanySettings{width:82px;height:44px;min-height:44px;white-space:nowrap;padding-inline:9px;font-size:0}
  .titlebar #openMultiCompanySettings::before{content:"Группа";font-size:13px}
  .titlebar .companyContextBar{width:100%;grid-template-columns:minmax(0,1fr) 82px 44px;gap:6px}
  .titlebar .companyContextBar #aiAssistantToggle{width:44px!important;height:44px!important;min-height:44px!important}
  .modules{
    min-height:var(--sp-shell-nav);
    height:var(--sp-shell-nav);
    padding:4px 6px;
    gap:3px;
    scroll-padding-inline:6px;
    scrollbar-width:none;
  }
  .modules::-webkit-scrollbar{display:none}
  .moduleGroup{height:61px!important}
  .primaryModule,.module{width:96px!important;height:61px!important;min-height:61px;padding:3px 5px;font-size:11px;line-height:1.15}
  .module .ico{font-size:20px}
  .module.active::after{bottom:2px}
  .moduleMenu{position:fixed!important;left:8px!important;right:8px!important;top:calc(var(--sp-shell-top) + var(--sp-shell-nav) - 2px)!important;min-width:0!important;max-height:58vh;overflow:auto;grid-template-columns:1fr!important}
  .moduleMenu button{min-height:44px}
  .home{height:auto;min-height:calc(100dvh - var(--sp-shell-top) - var(--sp-shell-nav));grid-template-rows:minmax(0,1fr) auto}
  .workspace{height:auto;min-height:calc(100dvh - var(--sp-shell-top) - var(--sp-shell-nav));grid-template-rows:auto minmax(0,1fr) auto}
  .welcome{padding:15px 12px 86px}
  .homeOperations button,.homeOperations span{min-height:36px}
  .directorHead{align-items:flex-start;gap:8px}
  .directorHead .tool{flex:0 0 auto;max-width:112px;white-space:normal;text-align:center}
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kpi{padding:11px 12px}
  .kpi b{font-size:19px}
  .homeFooter{position:fixed;z-index:45;left:0;right:0;bottom:0;min-height:58px;padding:5px 6px;overflow-x:auto;justify-content:flex-start}
  .homeFooter button{min-width:74px;min-height:46px;flex:1 0 auto;padding:5px 8px;font-size:11px}
  .workspace>.toolbar{padding:7px;gap:6px;align-items:stretch}
  .workspace>.toolbar>.tool,.workspace>.toolbar>select,.workspace>.toolbar>label,.workspace>.toolbar>.toolbarMenu,.workspace>.toolbar>span>.tool{
    min-height:44px;
    flex:1 1 calc(50% - 4px);
  }
  .workspace>.toolbar .search{order:40;min-height:44px;width:100%;max-width:100%;flex:1 0 100%}
  .toolbarMenu>summary{min-height:44px;display:flex;align-items:center}
  .tool,button:not(.module):not(.classificationBreadcrumb button){min-height:44px}
  .favoriteSettings,.normativePanelClose,.normativeDetailClose{min-width:44px;min-height:44px}
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:44px}
  input[type="checkbox"],input[type="radio"]{width:20px;height:20px}
  .paneTitle{min-height:40px;padding:11px}
  .statusbar{min-height:36px;padding:9px 10px;white-space:normal}
  .spEmptyState{min-height:360px;padding:30px 18px 90px}
  .spEmptyState h2{font-size:19px}
  dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:12px;scroll-padding-block:60px}
  dialog form{max-height:none;overflow:visible}
  dialog>header{min-height:52px;padding:14px}
  dialog .fields{grid-template-columns:1fr!important;padding:12px;gap:10px}
  dialog .fields .wide{grid-column:1!important}
  dialog .actions{display:grid;gap:8px;padding:9px}
  dialog .actions>.right{display:grid;grid-template-columns:1fr;gap:7px;width:100%}
  dialog .actions .tool{width:100%}
  table{font-size:12px}
  th,td{padding:8px 7px}
  .normativeCatalogNotice{margin:7px!important;padding:10px!important}
  .normativeCatalogPager{padding:8px!important;gap:8px!important}
  .normativeCatalogPager .tool{min-width:92px}
  .aiAssistantPanel{inset:var(--sp-shell-top) 0 0!important;width:100vw!important;max-width:100vw!important;height:calc(100dvh - var(--sp-shell-top));grid-template-columns:1fr!important;grid-template-rows:auto auto auto minmax(110px,22vh) minmax(180px,1fr) auto!important;border-radius:0!important}
  .aiAssistantHead{grid-column:1;grid-row:1;min-height:58px;padding:8px 12px!important}
  .aiAssistantHead h2{font-size:18px!important}
  #aiControlStrip{grid-column:1;grid-row:2;min-height:32px;padding:7px 10px!important;border-right:0!important}
  .aiAssistantQuick{grid-column:1;grid-row:3;display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(165px,68vw);overflow-x:auto;overscroll-behavior-inline:contain;padding:8px!important;border-right:0!important}
  .aiAssistantQuick button,.aiAssistantQuick button:last-child{grid-column:auto;min-height:48px}
  .aiCoordinatorTaskCenter{grid-column:1;grid-row:4/5;border-right:0!important;border-bottom:1px solid var(--sp-line)!important}
  .aiCoordinatorTaskHead{min-height:50px;padding:7px 9px!important}
  .aiCoordinatorTaskList{padding:7px!important}
  .aiAssistantMessages{grid-column:1;grid-row:5;padding:14px 12px!important}
  .aiMessage{max-width:96%;padding:11px 12px!important}
  .aiAssistantComposer{grid-column:1;grid-row:6;padding:9px 10px!important}
  .aiAssistantComposer textarea{min-height:70px;height:70px!important}
  .aiAssistantComposer .actions{display:flex;flex-wrap:wrap}
  .aiAssistantComposer .actions .tool{width:auto;min-width:112px;margin-left:auto}
  body>.aiAssistantToggle{right:12px!important;bottom:74px!important;width:48px!important;height:48px!important}
}

@media(max-width:430px){
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace>.toolbar>.tool,.workspace>.toolbar>select,.workspace>.toolbar>label,.workspace>.toolbar>.toolbarMenu{flex-basis:100%}
}

/* Dedicated decision center: the dashboard stays an overview, the queue gets its own workspace. */
.primaryModule[data-module="decisions"]{position:relative}
.moduleBadge{
  position:absolute;
  top:6px;
  right:10px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border:2px solid var(--sp-surface,#fff);
  border-radius:999px;
  background:var(--sp-accent,#ef6c00);
  color:#fff;
  font-size:11px;
  font-weight:800;
  line-height:16px;
  text-align:center;
}
.decisionsWorkspace{grid-template-rows:auto minmax(0,1fr) auto;background:var(--sp-canvas,#f4f7fa)}
.decisionToolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:16px;padding:14px 18px;border-bottom:1px solid var(--sp-border,#d7dee5);background:#fff}
.decisionToolbar h1{margin:0;color:var(--sp-navy,#0b2945);font-size:22px;line-height:1.2}
.decisionToolbar>div>span{display:block;margin-top:4px;color:var(--sp-muted,#64748b);font-size:12px}
.decisionControls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.decisionControls .search{width:min(330px,34vw);min-height:38px}
.decisionsWorkspace .directorCenter{margin:14px 18px;min-height:0;overflow:auto;border:0;background:transparent}
.decisionsWorkspace .directorHead{position:sticky;top:0;z-index:2;border:1px solid var(--sp-border,#d7dee5);border-radius:10px 10px 0 0;background:#fff}
.decisionsWorkspace .directorQueue{grid-template-columns:repeat(3,minmax(240px,1fr));align-content:start;padding:12px;border:1px solid var(--sp-border,#d7dee5);border-top:0;border-radius:0 0 10px 10px;background:#fff}
.decisionsWorkspace .directorCard{min-height:160px;text-align:left;border-radius:9px;box-shadow:0 1px 2px rgba(11,41,69,.06)}
.decisionsWorkspace .directorCard:hover{border-color:var(--sp-accent,#ef6c00);box-shadow:0 5px 16px rgba(11,41,69,.12);transform:translateY(-1px)}
.decisionsWorkspace .directorAction{margin-top:auto;font-weight:800;color:var(--sp-accent-dark,#b94700)}
.decisionsWorkspace .directorEmpty{grid-column:1/-1;min-height:220px;display:grid;place-content:center;text-align:center;border:1px dashed var(--sp-border,#d7dee5);border-radius:9px;background:var(--sp-success-soft,#eef9f2)}

@media(max-width:1100px){
  .decisionToolbar{grid-template-columns:1fr;align-items:start}
  .decisionControls{justify-content:flex-start}
  .decisionControls .search{width:min(100%,460px);flex:1 1 280px}
  .decisionsWorkspace .directorQueue{grid-template-columns:repeat(2,minmax(220px,1fr))}
}

@media(max-width:720px){
  .decisionToolbar{padding:12px}
  .decisionControls>*{flex:1 1 100%;width:100%!important;min-height:44px}
  .decisionsWorkspace .directorCenter{margin:8px}
  .decisionsWorkspace .directorQueue{grid-template-columns:1fr;padding:8px}
  .decisionsWorkspace .directorCard{min-height:0}
  .moduleBadge{top:3px;right:5px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Единый возврат к родительскому разделу и общему реестру на каждом рабочем экране. */
.workspaceRouteHost{position:relative!important;padding-top:50px!important;overflow:visible!important}
.workspaceRouteControls{position:absolute;z-index:8;top:7px;left:10px;right:10px;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--sp-muted,#64748b);font-size:12px}
.workspaceRouteTrail{min-width:0;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}
.workspaceRouteTrail b,.workspaceRouteTrail span,.workspaceRouteTrail strong{overflow:hidden;text-overflow:ellipsis}
.workspaceRouteTrail b{color:var(--sp-navy,#0b2945)}
.workspaceRouteTrail i{flex:0 0 auto;color:var(--sp-border-strong,#94a3b8);font-style:normal}
.workspaceRouteTrail strong{color:var(--sp-text,#1e293b)}
.workspaceRouteActions{flex:0 0 auto;display:flex;align-items:center;gap:7px}
.workspaceRouteButton{min-height:34px;padding:6px 10px;border:1px solid var(--sp-border,#d7dee5);border-radius:6px;background:#fff;color:var(--sp-navy,#0b2945);font:inherit;font-weight:750;cursor:pointer}
.workspaceRouteButton:hover{border-color:var(--sp-accent,#ef6c00);background:var(--sp-accent-soft,#fff3e8);color:var(--sp-accent-dark,#b94700)}
.workspaceRouteButton:focus-visible{outline:3px solid color-mix(in srgb,var(--sp-accent,#ef6c00) 35%,transparent);outline-offset:2px}
.workspaceRouteList{border-color:color-mix(in srgb,var(--sp-accent,#ef6c00) 55%,var(--sp-border,#d7dee5))}
.workspaceRouteAnnouncement{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:720px){
  .workspaceRouteHost{padding-top:62px!important}
  .workspaceRouteControls{top:8px;gap:6px}
  .workspaceRouteTrail{display:none}
  .workspaceRouteActions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .workspaceRouteButton{min-height:44px;padding:7px 8px}
}
