/* ERP NPS standards v1.1. Loaded after module styles; shared roles, scoped overrides. */
:root {
  --erp-font-ui: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --erp-font-display: Georgia, "Times New Roman", serif;
  --navy: #0b1626; --ink: #122033; --gold: #c7a25d;
  --paper: #f5f3ee; --white: #fff; --line: #dedbd2; --muted: #697386;
  --green: #2e7d67; --red: #a23e3e; --blue: #5687b5;
  --erp-radius-sm: 8px; --erp-radius-md: 12px; --erp-radius-lg: 16px;
  --erp-control-height: 44px;
  --erp-space-xs: 4px; --erp-space-sm: 8px; --erp-space-md: 12px;
  --erp-space-lg: 16px; --erp-space-xl: 24px; --erp-space-2xl: 32px;
  --erp-shadow-sm: 0 4px 14px rgba(18,32,51,.05);
  --erp-shadow-md: 0 14px 38px rgba(18,32,51,.10);
}
body.erp-page { background:var(--paper); color:var(--ink); font:14px/1.5 var(--erp-font-ui); }
.erp-page :is(button,input,select,textarea) { font-family:var(--erp-font-ui); }
.erp-page :focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.erp-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {
  min-height:var(--erp-control-height); border-radius:var(--erp-radius-sm);
  border-color:var(--line); color:var(--ink); background-color:var(--white);
}
.erp-page :is(input,select,textarea):focus {
  border-color:var(--gold); box-shadow:0 0 0 3px rgba(199,162,93,.14);
}
.erp-page :is(button.primary,button.jc-primary,button[type=submit]:not(.secondary)) {
  min-height:var(--erp-control-height); padding:11px 16px!important;
  border:1px solid transparent!important; border-radius:var(--erp-radius-sm)!important;
  background:var(--gold)!important; color:var(--ink)!important;
  font-size:14px!important; line-height:1.4; font-weight:700!important;
  box-shadow:none; cursor:pointer;
}
.erp-page :is(button.primary,button.jc-primary,button[type=submit]:not(.secondary)):hover:not(:disabled) {
  filter:brightness(.97); transform:translateY(-1px); box-shadow:var(--erp-shadow-sm);
}
.erp-page :is(button.primary,button.jc-primary,button[type=submit]):disabled {
  opacity:.55; transform:none; filter:none; cursor:wait; box-shadow:none;
}
.erp-page :is(.secondary,.jc-view-tools button,.status-settings-trigger,.month-controls button) {
  min-height:var(--erp-control-height); border:1px solid var(--line); border-radius:var(--erp-radius-sm);
  background:var(--white); color:var(--ink); font-size:13px; padding:10px 14px;
}
.erp-page .jc-view-tools button.active { background:var(--navy); color:var(--white); border-color:var(--navy); }
.erp-page :is(.card-trash-delete,.status-remove) { color:var(--red); }
.erp-page .card-trash-dialog button.card-trash-confirm { background:var(--red)!important; border-color:var(--red)!important; color:var(--white)!important; }
.erp-page .jc-link { color:var(--ink); text-decoration:underline; text-decoration-color:#b8b1a4; text-underline-offset:3px; min-height:36px; }
.erp-page .jc-link:hover { color:var(--navy); text-decoration-color:var(--gold); }
.erp-page :is(.jc-hint,.jc-empty,.jc-source-count) { color:var(--muted); font-size:13px; line-height:1.5; }
.erp-page :is(.jc-source-controls,.case-controls,.jc-day,.jc-column,.jc-linked,.module-card) { border-radius:var(--erp-radius-lg); }
.erp-page .jc-source-controls { display:grid; grid-template-columns:minmax(240px,1fr) minmax(140px,180px) minmax(220px,260px); gap:12px; border-color:var(--line); padding:16px; }
.erp-page .jc-source-controls :is(input,select) { min-width:0; font-size:14px; border-radius:var(--erp-radius-sm); padding:11px 13px; }
.erp-page .jc-source-panel { min-width:0; padding:0; }
.erp-page .jc-source-head h2 { font:700 36px/1.08 var(--erp-font-display); color:var(--ink); }
.erp-page .jc-board { gap:16px; padding:8px 0 20px; max-width:100%; grid-template-columns:repeat(3,minmax(260px,1fr)); align-items:start; color:var(--ink); }
.erp-page .jc-column { background:#efeee9; border:1px solid var(--line); border-top:3px solid var(--erp-stage-color,var(--muted)); padding:16px; min-width:0; }
.erp-page .jc-column>header { gap:12px; min-height:38px; margin-bottom:12px; }
.erp-page .jc-column h3 { font:700 17px/1.35 var(--erp-font-ui); }
.erp-page .jc-count { min-width:28px; min-height:28px; padding:4px 8px; color:var(--muted); text-align:center; background:var(--white); }
.erp-page .jc-source-card { border-color:var(--line); border-radius:var(--erp-radius-md); padding:16px; box-shadow:var(--erp-shadow-sm); }
.erp-page .jc-source-card h4 { font:700 15px/1.4 var(--erp-font-ui); overflow-wrap:anywhere; }
.erp-page .jc-source-card>small { font-size:12px; color:var(--muted); }
.erp-page .jc-source-card p { font-size:13px; line-height:1.5; }
.erp-page .jc-badge { background:#eee7d8; color:#66532f; border-radius:var(--erp-radius-sm); }
.erp-page .jc-actions { gap:8px; }
.erp-page .jc-actions select { min-height:44px; padding:10px 12px; font-size:13px; }
.erp-page .jc-drop { outline:2px solid var(--gold); }
.erp-page .jc-day { padding:20px 24px; border-color:var(--line); }
.erp-page .jc-day-item { border-radius:var(--erp-radius-md); }
.erp-page .jc-day-item small { font-size:12px; }
.erp-page .jc-linked { background:var(--paper); border-color:var(--line); }
.erp-page .jc-notes { font:13px/1.6 var(--erp-font-ui); }

/* One card and column rhythm; stage color follows a key, never an index. */
.erp-page #board.board:not(.table-mode) { gap:16px; padding:16px 16px 24px; border-color:var(--line); border-radius:var(--erp-radius-lg); background:#eeede7; }
.erp-page.erp-crm-page #board.board:not(.table-mode) { grid-auto-columns:320px; }
.erp-page #board .column { border-radius:var(--erp-radius-md); border:1px solid var(--line); border-top:3px solid var(--erp-stage-color,var(--muted))!important; background:#f8f7f3!important; padding:0 12px 12px; box-shadow:var(--erp-shadow-sm); }
.erp-page #board .column::before { display:none!important; }
.erp-page #board .column-head { gap:8px; min-height:64px; padding:12px 0; margin:0; font-size:12px; letter-spacing:.015em; }
.erp-page #board .column-head>div:first-child { flex:1; min-width:0; }
.erp-page #board .column-head>div:first-child span { white-space:normal; overflow-wrap:anywhere; line-height:1.35; }
.erp-page #board .column-head :is(.count,b) { min-width:26px; min-height:26px; height:26px; font-size:12px; }
.erp-page #board :is(.card,.case-card) { padding:16px; border-color:var(--line); border-radius:var(--erp-radius-md); box-shadow:var(--erp-shadow-sm); }
.erp-page #board :is(.card,.case-card) :is(h3,h4) { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
.erp-page #board :is(.card,.case-card) :is(p,small,.case-operational-meta,.case-operational-meta span,.case-next-action) { font-size:12px; line-height:1.5; }
.erp-page #board :is(.status-picker,.case-stage-picker,.open-card) { min-height:36px; font-size:12px; }
.erp-page :is(.crm-column-actions,.production-column-actions) button { min-width:36px; width:36px; min-height:36px; height:36px; border-radius:var(--erp-radius-sm); }
.erp-page :is(.crm-quick-task-button,.quick-task-button) { min-height:44px; font-size:13px; border-radius:var(--erp-radius-sm); }
.erp-page .crm-quick-task :is(strong,time,small) { font-size:12px; }
.erp-page .crm-quick-task>button { min-width:32px; min-height:32px; }
.erp-page .jc-production-hint { padding:10px 0 14px; margin:0; font-size:12px; border-bottom:1px solid var(--line); }
.erp-page [data-erp-stage] { --erp-stage-color:var(--muted); }
.erp-page :is([data-erp-stage=new],[data-erp-stage=intake]) { --erp-stage-color:var(--blue); }
.erp-page :is([data-erp-stage=working],[data-erp-stage=documents],[data-erp-stage=preparation],[data-erp-stage=contact],[data-erp-stage=meeting],[data-erp-stage=proposal]) { --erp-stage-color:var(--gold); }
.erp-page :is([data-erp-stage=crm],[data-erp-stage=court]) { --erp-stage-color:var(--navy); }
.erp-page :is([data-erp-stage=won],[data-erp-stage=contract],[data-erp-stage=completed]) { --erp-stage-color:var(--green); }
.erp-page [data-erp-stage=rejected] { --erp-stage-color:var(--red); }

/* Shared dialog surface. Existing inner scroll containers and cancel handlers remain. */
.erp-page dialog { border:1px solid var(--line); border-radius:var(--erp-radius-lg); background:var(--white); color:var(--ink); box-shadow:var(--erp-shadow-md); }
.erp-page dialog::backdrop { background:rgba(5,12,22,.62); backdrop-filter:blur(2px); }
.erp-page dialog.jc-transfer { border-radius:var(--erp-radius-lg); padding:24px; }
.erp-page .jc-transfer input,.erp-page .jc-transfer select { border-color:var(--line); color:var(--ink); border-radius:var(--erp-radius-sm); font-size:14px; }
.erp-page .jc-transfer label { color:var(--muted); font-size:13px; }
.erp-page .jc-dialog-head h2 { font:700 28px/1.2 var(--erp-font-display); }
.erp-page dialog :is(.close,.dialog-close,.erp-modal-close,.jc-dialog-head button,.card-trash-close) {
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  min-width:44px; min-height:44px; width:44px; height:44px; padding:0;
  border:1px solid var(--line); border-radius:var(--erp-radius-sm); background:var(--white); color:var(--ink); font-size:24px;
}
.erp-page dialog button[aria-label^="Закрыть"] { min-width:44px; min-height:44px; }
.erp-page .status-setting-row button { min-width:36px; min-height:36px; }
.erp-page .erp-calendar-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; border-radius:var(--erp-radius-md); }
.erp-page .erp-calendar-scroll :is(.weekdays,.calendar-grid) { min-width:840px; }
.erp-page #calendarView .cal-event { font-size:12px; padding:8px; }
.erp-page #calendarView .cal-event small { font-size:11px; }

/* Arbitr now consumes the shared shell and type system. */
body.erp-arbitr-page { --bg:var(--paper); --surface:var(--white); --accent:var(--gold); }
.erp-arbitr-page .sidebar { position:fixed; left:0; top:0; width:240px; height:100vh; padding:28px 20px 18px; }
.erp-arbitr-page main { margin-left:240px; min-width:0; padding:36px; }
.erp-arbitr-page :is(h1,.dossier-header h2) { color:var(--ink); font-family:var(--erp-font-display); }
.erp-arbitr-page h1 { font-size:36px; line-height:1.08; }
.erp-arbitr-page .sidebar nav { flex-direction:column; overflow:auto; }
.erp-arbitr-page #cases-page .case-controls { padding:24px; border-color:var(--line); border-radius:var(--erp-radius-lg); box-shadow:none; }
.erp-arbitr-page #cases-page .case-controls .toolbar input { min-height:46px; padding:11px 13px; border-radius:var(--erp-radius-sm); background:var(--white); border-color:var(--line); }
.erp-arbitr-page #cases-page .case-sort-field select { min-height:46px; padding:11px 13px; border-radius:var(--erp-radius-sm); border-color:var(--line); }
.erp-arbitr-page #cases-page .case-status-tabs { border-radius:var(--erp-radius-md); }
.erp-arbitr-page #cases-page .case-status-tabs button { border-radius:var(--erp-radius-sm); font-size:14px; }
.erp-arbitr-page #cases-page .case-status-tabs button.active { background:var(--navy); color:var(--white); }
.erp-arbitr-page #cases-page :is(.case-filter-label,.case-debtor-hint,#case-result-count) { font-size:12px; }
.erp-arbitr-page #cases-page .case-debtor-tabs button { min-height:40px; font-size:13px; }
.erp-arbitr-page .dossier-tabs button { min-height:48px; font-size:14px; }
.erp-arbitr-page .dossier-tabs button.active { color:var(--ink); border-bottom-color:var(--gold); }
.erp-arbitr-page :is(.dossier-provenance,.claims-source,.claims-item-foot,.case-row small) { font-size:12px; }
.erp-arbitr-page :is(.dossier-facts>div,.creditor-claims,.instance-card,.claims-empty) { border-color:var(--line); border-radius:var(--erp-radius-md); }
.erp-arbitr-page .dossier-provenance { background:var(--paper); color:var(--muted); }

@media (max-width:1100px) {
  .erp-page .jc-board { grid-template-columns:repeat(3,minmax(280px,1fr)); }
  .erp-page .jc-source-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .erp-page .jc-source-controls input { grid-column:1/-1; }
}
@media (max-width:900px) {
  .erp-arbitr-page .sidebar { position:static; width:100%; height:auto; padding:20px; }
  .erp-arbitr-page .sidebar nav { flex-flow:row wrap; overflow:visible; }
  .erp-arbitr-page .sidebar :is(.nav,.arbitr-portal-link) { width:auto; }
  .erp-arbitr-page .sidebar .side-bottom { display:none; }
  .erp-arbitr-page main { margin-left:0; padding:22px; }
  .erp-page.erp-crm-page #board.board:not(.table-mode) { grid-auto-columns:min(86vw,320px); }
  .erp-page .jc-source-head { align-items:flex-start; flex-wrap:wrap; }
  .erp-page .jc-source-controls { flex-wrap:wrap; }
}
@media (max-width:760px) {
  .erp-page .jc-board,.erp-page .jc-source-panel .jc-board { grid-template-columns:repeat(3,minmax(260px,84vw)); max-width:100%; }
  .erp-page .jc-source-head h2 { font-size:29px; }
  .erp-page .jc-source-controls>* { width:100%; min-width:0!important; }
  .erp-page .jc-source-controls { grid-template-columns:1fr; }
  .erp-page dialog.jc-transfer { padding:20px; max-height:calc(100dvh - 32px); }
  .erp-page .jc-fields { grid-template-columns:1fr; }
  .erp-page .jc-dialog-head h2 { font-size:24px; }
  .erp-arbitr-page .case-filter-main { flex-direction:column; align-items:stretch; }
  .erp-arbitr-page #cases-page .case-controls { padding:16px; }
  .erp-arbitr-page h1 { font-size:29px; }
  .erp-arbitr-page #dossier-dialog { max-width:calc(100vw - 24px); }
  .erp-arbitr-page .dossier-header { align-items:flex-start; flex-wrap:wrap; padding:20px; }
  .erp-arbitr-page .dossier-actions { flex-wrap:wrap; }
}
@media (pointer:coarse) {
  .erp-page :is(.crm-column-actions,.production-column-actions) button,
  .erp-page .status-setting-row button { min-width:44px; min-height:44px; width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .erp-page *, .erp-page *::before, .erp-page *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

/* Sidebar preview: suppress sideways scrolling, retain vertical navigation. */
.erp-page .sidebar nav,
.erp-page .sidebar.production-light-nav nav {
  min-width:0;
  overflow-x:hidden;
  overflow-y:auto;
}
.erp-page .sidebar nav > .nav-item {
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Arbitr sidebar uses the CRM brand, navigation and signed-in user components. */
.erp-arbitr-page .sidebar .crm-brand-home { font:inherit; letter-spacing:normal; }
.erp-arbitr-page .sidebar .crm-brand-mark { width:48px; height:48px; font:700 15px var(--erp-font-display); }
.erp-arbitr-page .sidebar .crm-brand-copy strong { font:700 18px/1.15 var(--erp-font-display); }
.erp-arbitr-page .sidebar .crm-brand-copy small { font:700 8px/1.2 var(--erp-font-ui); letter-spacing:.10em; margin-top:4px; }
.erp-arbitr-page .sidebar .nav-item { font:500 13px/18px var(--erp-font-ui); letter-spacing:normal; }
.erp-arbitr-page .sidebar #nav-cases { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.erp-arbitr-page .sidebar #nav-count { font:600 11px/18px var(--erp-font-ui); border-radius:6px; padding:0 6px; }
.erp-arbitr-page .sidebar .erp-arbitr-user { text-decoration:none; font-family:var(--erp-font-ui); }
.erp-arbitr-page .sidebar .erp-arbitr-user>div:last-child { min-width:0; }
.erp-arbitr-page .sidebar .erp-arbitr-user strong { overflow-wrap:anywhere; }
.erp-arbitr-page .jc-source-card.jc-clickable { cursor:pointer; }
.erp-arbitr-page .jc-source-card.jc-clickable:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.erp-page .erp-icon-glyph { display:inline-flex; position:relative; width:18px; height:18px; min-width:18px; font-size:0!important; line-height:0; vertical-align:middle; align-items:center; justify-content:center; pointer-events:none; }
.erp-page .erp-icon-glyph svg { display:block; width:18px; height:18px; flex:none; }
.erp-page button.erp-icon-only { display:inline-flex; align-items:center; justify-content:center; font-size:0!important; }
.erp-page button.erp-icon-only::before,.erp-page button.erp-icon-only::after { display:none!important; }
