

* {
  box-sizing: border-box;
}


html,
body {

  margin: 0;

  padding: 0;

  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Arial,
    sans-serif;

  background: #f5f6f8;

  color: #16181d;

}


body {

  min-height: 100vh;

}




/* =========================================================
   ГЛАВНАЯ ПАНЕЛЬ
   ========================================================= */

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 16px;
  margin-bottom: 16px;
}

.dashboard-welcome {
  position: relative;
  overflow: hidden;
  padding: 25px 27px;
  background:
    linear-gradient(
      135deg,
      #172131 0%,
      #26364d 100%
    );
  border-radius: 20px;
  color: #ffffff;
  box-shadow:
    0 10px 28px
    rgba(18, 28, 45, .12);
}

.dashboard-welcome::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  right: -55px;
  top: -75px;
  border-radius: 50%;
  background:
    rgba(255,255,255,.06);
}

.dashboard-date {
  position: relative;
  z-index: 1;
  margin-bottom: 9px;
  color:
    rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 700;
}

.dashboard-welcome-title {
  position: relative;
  z-index: 1;
  margin: 0 0 8px;
  font-size: 28px;
  line-height: 1.18;
  font-weight: 800;
}

.dashboard-welcome-text {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 660px;
  color:
    rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.55;
}

.dashboard-quick {
  padding: 18px;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 20px;
  box-shadow:
    0 4px 18px
    rgba(18, 28, 45, .035);
}

.dashboard-block-title {
  margin: 0 0 12px;
  color: #20262d;
  font-size: 15px;
  font-weight: 800;
}

.dashboard-quick-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.dashboard-action {
  min-height: 65px;
  padding: 12px;
  border: 1px solid #e2e6ea;
  border-radius: 12px;
  background: #f8f9fa;
  color: #29313a;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition:
    transform .15s ease,
    background .15s ease,
    border-color .15s ease;
}

.dashboard-action:hover {
  transform:
    translateY(-1px);
  background: #ffffff;
  border-color: #cfd5da;
}

.dashboard-action strong {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
}

.dashboard-action span {
  color: #7a828c;
  font-size: 11px;
  line-height: 1.35;
}

.dashboard-kpis {
  display: grid;
  grid-template-columns:
    repeat(
      5,
      minmax(0, 1fr)
    );
  gap: 12px;
  margin-bottom: 16px;
}

.dashboard-kpi {
  min-width: 0;
  padding: 17px;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 16px;
  box-shadow:
    0 4px 18px
    rgba(18, 28, 45, .025);
}

.dashboard-kpi-label {
  margin-bottom: 7px;
  color: #7a828c;
  font-size: 11px;
  font-weight: 800;
}

.dashboard-kpi-value {
  color: #20262d;
  font-size: 23px;
  line-height: 1.15;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.dashboard-kpi-sub {
  margin-top: 6px;
  color: #9299a1;
  font-size: 11px;
  line-height: 1.35;
}

.dashboard-kpi.attention {
  background: #fff9ed;
  border-color: #f1e1bd;
}

.dashboard-kpi.money {
  background: #eff8f2;
  border-color: #d5e9dc;
}

.dashboard-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  gap: 16px;
}

.dashboard-panel {
  min-width: 0;
  padding: 19px;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 18px;
  box-shadow:
    0 4px 18px
    rgba(18, 28, 45, .035);
}

.dashboard-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.dashboard-panel-head h3 {
  margin: 0;
  color: #20262d;
  font-size: 16px;
  font-weight: 800;
}

.dashboard-panel-link {
  border: 0;
  background: transparent;
  color: #68727e;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.dashboard-panel-link:hover {
  color: #20262d;
}

.dashboard-shoot-grid {
  display: grid;
  grid-template-columns:
    1fr 1fr;
  gap: 10px;
}

.dashboard-shoot-card {
  padding: 14px;
  background: #f7f8f9;
  border: 1px solid #e5e8eb;
  border-radius: 13px;
}

.dashboard-shoot-card strong {
  display: block;
  margin-top: 3px;
  color: #20262d;
  font-size: 22px;
}

.dashboard-shoot-card span {
  color: #747d87;
  font-size: 11px;
  font-weight: 700;
}

.dashboard-shoot-next {
  margin-top: 10px;
  padding: 12px 13px;
  background: #f7f8f9;
  border: 1px solid #e5e8eb;
  border-radius: 12px;
  color: #5f6873;
  font-size: 12px;
  line-height: 1.5;
}

.dashboard-list {
  display: grid;
  gap: 8px;
}

.dashboard-list-item {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #e4e7ea;
  border-radius: 12px;
  background: #fbfbfc;
  color: inherit;
  font: inherit;
  text-align: left;
}

button.dashboard-list-item {
  cursor: pointer;
}

button.dashboard-list-item:hover {
  background: #ffffff;
  border-color: #cfd5da;
}

.dashboard-list-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.dashboard-list-title {
  min-width: 0;
  color: #20262d;
  font-size: 13px;
  font-weight: 800;
}

.dashboard-list-money {
  flex: 0 0 auto;
  color: #20262d;
  font-size: 13px;
  font-weight: 850;
}

.dashboard-list-meta {
  margin-top: 4px;
  color: #7a828c;
  font-size: 11px;
  line-height: 1.45;
}

.dashboard-badge {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  margin-top: 6px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef1f3;
  color: #646d78;
  font-size: 10px;
  font-weight: 800;
}

.dashboard-badge.pending {
  background: #fff4da;
  color: #855f10;
}

.dashboard-badge.confirmed {
  background: #e9f6ed;
  color: #28603a;
}

.dashboard-empty {
  padding: 18px 8px;
  color: #8a929c;
  font-size: 12px;
  text-align: center;
}

.dashboard-full {
  grid-column: 1 / -1;
}

.dashboard-finance-strip {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-finance-item {
  padding: 14px;
  background: #f7f8f9;
  border: 1px solid #e5e8eb;
  border-radius: 12px;
}

.dashboard-finance-item span {
  display: block;
  margin-bottom: 5px;
  color: #7a828c;
  font-size: 10px;
  font-weight: 800;
}

.dashboard-finance-item strong {
  color: #20262d;
  font-size: 16px;
}

@media (max-width: 1050px) {

  .dashboard-hero,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-kpis {
    grid-template-columns:
      1fr 1fr;
  }

}

@media (max-width: 650px) {

  .dashboard-welcome {
    padding: 21px;
  }

  .dashboard-welcome-title {
    font-size: 24px;
  }

  .dashboard-quick-grid,
  .dashboard-shoot-grid,
  .dashboard-kpis,
  .dashboard-finance-strip {
    grid-template-columns: 1fr;
  }

  .dashboard-panel {
    padding: 16px;
  }

}


/* =========================================================
   ЕДИНАЯ НАВИГАЦИЯ CRM
   ========================================================= */

.app-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 24px;
  padding: 8px;
  background: #ffffff;
  border: 1px solid #e4e7eb;
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(18, 28, 45, 0.035);
}

.app-nav-button {
  min-width: 0;
  min-height: 48px;
  padding: 10px 14px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #59616d;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.app-nav-button:hover {
  background: #f4f6f8;
  color: #20262d;
}

.app-nav-button.active {
  background: #172131;
  color: #ffffff;
}

.app-nav-button:focus-visible {
  outline: 3px solid rgba(47, 111, 228, .18);
  outline-offset: 2px;
}

.workspace-section {
  display: none;
}

.workspace-section.active {
  display: block;
}

.workspace-intro {
  margin-bottom: 18px;
}

.workspace-title {
  margin: 0 0 5px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: #20262d;
}

.workspace-subtitle {
  margin: 0;
  color: #747c86;
  font-size: 14px;
  line-height: 1.5;
}


/* =========================================================
   КАЛЕНДАРИ
   ========================================================= */

.calendar-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  align-items: stretch;
  gap: 10px;
  margin: 0 0 18px;
  padding: 8px;
  width: min(650px, 100%);
  max-width: 100%;
  background: #dfeceb;
  border: 1px solid #c4d9d6;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(55,99,94,.08);
}

.calendar-tab-button {
  min-height: 56px;
  padding: 12px 18px;
  border: 2px solid transparent;
  border-radius: 12px;
  background: rgba(255,255,255,.62);
  color: #52676a;
  font: inherit;
  font-size: 15px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.calendar-tab-button:hover { transform: translateY(-1px); }

.calendar-tab-button.active {
  background: linear-gradient(135deg,#e0f5eb,#e1f1fb);
  color: #173d42;
  border-color: #72ad9b;
  box-shadow: 0 5px 14px rgba(64,126,111,.16);
}

.calendar-frame-card {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(18, 28, 45, .035);
}

.calendar-panel {
  display: none;
}

.calendar-panel.active {
  display: block;
}

.calendar-frame {
  display: block;
  width: 100%;
  height: 760px;
  border: 0;
  background: #ffffff;
}



/* =========================================================
   РАСЧЁТНЫЕ ДОКУМЕНТЫ
   ========================================================= */

.payment-doc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  gap: 18px;
  align-items: start;
}

.payment-doc-card {
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 4px 18px rgba(18, 28, 45, .035);
}

.payment-doc-card-title {
  margin: 0 0 16px;
  color: #20262d;
  font-size: 18px;
  font-weight: 800;
}

.payment-order-select {
  width: 100%;
  min-height: 50px;
  padding: 10px 13px;
  border: 1px solid #ccd2d8;
  border-radius: 11px;
  background: #ffffff;
  color: #20262d;
  font: inherit;
  outline: none;
}

.payment-doc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-top: 14px;
}

.payment-doc-field {
  min-width: 0;
}

.payment-doc-field.full {
  grid-column: 1 / -1;
}

.payment-doc-field label {
  display: block;
  margin-bottom: 6px;
  color: #5f6873;
  font-size: 12px;
  font-weight: 700;
}

.payment-doc-field input,
.payment-doc-field select {
  width: 100%;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid #ccd2d8;
  border-radius: 10px;
  background: #ffffff;
  color: #20262d;
  font: inherit;
  outline: none;
}

.payment-doc-field input[readonly] {
  background: #f6f7f8;
  color: #626b76;
}

.payment-order-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 15px;
}

.payment-summary-card {
  padding: 13px;
  background: #f6f7f8;
  border: 1px solid #e3e6e9;
  border-radius: 12px;
}

.payment-summary-card span {
  display: block;
  margin-bottom: 5px;
  color: #7a828c;
  font-size: 11px;
  font-weight: 700;
}

.payment-summary-card strong {
  color: #20262d;
  font-size: 16px;
}

.payment-summary-card.balance strong {
  font-size: 18px;
}

.payment-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 17px;
}

.payment-primary-button,
.payment-secondary-button,
.issue-payment-button {
  min-height: 44px;
  padding: 10px 15px;
  border: 0;
  border-radius: 10px;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.payment-primary-button,
.issue-payment-button {
  background: #172131;
  color: #ffffff;
}

.payment-secondary-button {
  background: #edf0f2;
  color: #29313a;
}

.payment-primary-button:disabled,
.payment-secondary-button:disabled {
  opacity: .55;
  cursor: wait;
}

.payment-doc-status {
  display: none;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 11px;
  white-space: pre-line;
  font-size: 13px;
  line-height: 1.5;
}

.payment-doc-status.show {
  display: block;
}

.payment-doc-status.loading {
  background: #f2f4f6;
  border: 1px solid #dfe3e7;
  color: #4f5863;
}

.payment-doc-status.success {
  background: #eef8f1;
  border: 1px solid #cfe7d5;
  color: #245d35;
}

.payment-doc-status.error {
  background: #fff1f1;
  border: 1px solid #efcccc;
  color: #8a3030;
}

.payment-history-list {
  display: grid;
  gap: 9px;
}

.payment-history-item {
  padding: 13px 14px;
  border: 1px solid #e2e6ea;
  border-radius: 12px;
  background: #fbfbfc;
}

.payment-history-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.payment-history-number {
  color: #20262d;
  font-size: 14px;
  font-weight: 800;
}

.payment-history-amount {
  color: #20262d;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
}

.payment-history-meta {
  margin-top: 5px;
  color: #6f7883;
  font-size: 12px;
  line-height: 1.5;
}

.payment-history-path {
  margin-top: 5px;
  color: #8a929b;
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.payment-history-actions {
  margin-top: 9px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.payment-history-action {
  border: 1px solid #d7e0e3;
  background: #ffffff;
  color: #263844;
  border-radius: 9px;
  padding: 8px 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.payment-history-action:hover {
  background: #f3f7f8;
}

.payment-empty {
  padding: 18px;
  text-align: center;
  color: #7a828c;
  font-size: 13px;
}

.order-payment-action {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
}


.order-stage-box {
  margin-top: 12px;
  padding: 14px;
  background: #f8f9fa;
  border: 1px solid #e2e6ea;
  border-radius: 13px;
}

.order-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.order-stage-title {
  color: #20262d;
  font-size: 13px;
  font-weight: 800;
}

.order-stage-current {
  font-size: 12px;
  font-weight: 800;
}

.order-stage-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 9px;
}

.order-stage-select {
  width: 100%;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #ccd2d8;
  border-radius: 10px;
  background: #ffffff;
  color: #20262d;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  outline: none;
}

.order-stage-save {
  min-height: 43px;
  padding: 9px 15px;
  border: 0;
  border-radius: 10px;
  background: #172131;
  color: #ffffff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.order-stage-save:disabled {
  opacity: .55;
  cursor: wait;
}

.order-stage-hint {
  margin-top: 8px;
  color: #828a94;
  font-size: 11px;
  line-height: 1.45;
}

@media (max-width: 620px) {
  .order-stage-controls {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   PDF РАСЧЁТНОГО ДОКУМЕНТА
   ========================================================= */

#paymentPdfTemplate {
  position: fixed;
  left: -100000px;
  top: 0;
  width: 794px;
  background: #ffffff;
  z-index: -1;
}

.payment-pdf-page {
  width: 794px;
  height: 1123px;
  padding: 45px 50px 38px;
  background: #ffffff;
  color: #111111;
  font-family: Arial, 'Segoe UI', sans-serif;
  font-size: 12px;
  line-height: 1.4;
  overflow: hidden;
}

.payment-pdf-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 17px;
  border-bottom: 2px solid #111111;
}

.payment-pdf-brand {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
}

.payment-pdf-subtitle {
  margin-top: 5px;
  color: #555555;
  font-size: 10px;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.payment-pdf-number {
  text-align: right;
}

.payment-pdf-number strong {
  display: block;
  font-size: 17px;
}

.payment-pdf-number span {
  display: block;
  margin-top: 3px;
  color: #666666;
  font-size: 9px;
}

.payment-pdf-box {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #bfc3c8;
  border-radius: 9px;
}

.payment-pdf-label {
  margin-bottom: 5px;
  color: #606060;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.payment-pdf-executor {
  font-size: 13px;
  font-weight: 700;
}

.payment-pdf-executor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px 18px;
  margin-top: 9px;
  color: #222222;
  font-size: 9px;
}

.payment-pdf-section-title {
  margin: 22px 0 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .7px;
}

.payment-pdf-client-name {
  font-size: 14px;
  font-weight: 800;
}

.payment-pdf-muted {
  margin-top: 4px;
  color: #555555;
  font-size: 10px;
}

.payment-pdf-money-box {
  border: 1px solid #bfc3c8;
  border-radius: 9px;
  overflow: hidden;
}

.payment-pdf-money-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 13px;
  border-bottom: 1px solid #d5d8dc;
}

.payment-pdf-money-row:last-child {
  border-bottom: 0;
}

.payment-pdf-money-row.main,
.payment-pdf-money-row.balance {
  background: #f4f5f6;
}

.payment-pdf-money-row strong {
  white-space: nowrap;
}

.payment-pdf-payment-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.payment-pdf-purpose {
  min-height: 60px;
}

.payment-pdf-footer {
  margin-top: 28px;
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #c8ccd0;
  color: #666666;
  font-size: 9px;
}


@media (max-width: 880px) {

  .payment-doc-layout {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 620px) {

  .payment-doc-grid,
  .payment-order-summary {
    grid-template-columns: 1fr;
  }

  .payment-doc-card {
    padding: 17px;
  }

  .payment-doc-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .payment-primary-button,
  .payment-secondary-button {
    width: 100%;
  }

}



/* =========================================================
   НОВЫЙ ДОГОВОР — ВСТРОЕННЫЙ КАЛЬКУЛЯТОР
   ========================================================= */

.new-contract-shell {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(18, 28, 45, .035);
}

.new-contract-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 15px 18px;
  border-bottom: 1px solid #e7eaed;
  background: #ffffff;
}

.new-contract-head-text strong {
  display: block;
  margin-bottom: 3px;
  color: #20262d;
  font-size: 14px;
}

.new-contract-head-text span {
  color: #747c86;
  font-size: 12px;
  line-height: 1.45;
}

.new-contract-sync-status {
  min-width: 210px;
  max-width: 420px;
  padding: 8px 11px;
  border-radius: 9px;
  background: #f2f4f6;
  color: #69717c;
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}

.new-contract-sync-status.success {
  background: #eef8f1;
  color: #245d35;
}

.new-contract-frame {
  display: block;
  width: 100%;
  height: 1100px;
  border: 0;
  background: #f7f7f5;
}

@media (max-width: 760px) {
  .new-contract-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .new-contract-sync-status {
    min-width: 0;
    width: 100%;
    max-width: none;
    text-align: left;
  }
}


/* =========================================================
   БУДУЩИЕ РАЗДЕЛЫ
   ========================================================= */

.workspace-placeholder {
  padding: 30px;
  background: #ffffff;
  border: 1px solid #e2e6ea;
  border-radius: 18px;
  box-shadow: 0 4px 18px rgba(18, 28, 45, .035);
}

.workspace-placeholder strong {
  display: block;
  margin-bottom: 7px;
  color: #20262d;
  font-size: 17px;
}

.workspace-placeholder p {
  margin: 0;
  max-width: 720px;
  color: #747c86;
  font-size: 14px;
  line-height: 1.6;
}


@media (max-width: 760px) {

  .app-nav {
    grid-template-columns: 1fr 1fr;
  }

  .app-nav-button {
    min-height: 46px;
    padding: 9px 10px;
    font-size: 13px;
  }

  .calendar-toolbar {
    width: 100%;
  }

  .calendar-tab-button {
    flex: 1;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
  }

  .calendar-frame {
    height: 720px;
  }

  .workspace-placeholder {
    padding: 22px;
  }

}


/* =========================================================
   HEADER
   ========================================================= */

.header {

  height: 68px;

  background: #ffffff;

  border-bottom:
    1px solid #e5e7eb;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding:
    0 28px;

  position: sticky;

  top: 0;

  z-index: 20;

}


.logo {

  display: flex;

  align-items: center;

  gap: 14px;

  font-size: 22px;

  font-weight: 800;

}


.logo-icon {

  width: 42px;

  height: 42px;

  border-radius: 12px;

  background: #16181d;

  color: white;

  display: flex;

  align-items: center;

  justify-content: center;

  font-weight: 800;

  font-size: 20px;

}


.refresh-button {

  border: 1px solid #dfe3e8;

  background: #fff;

  border-radius: 12px;

  padding:
    12px 18px;

  font-size: 15px;

  font-weight: 700;

  cursor: pointer;

}


.refresh-button:hover {

  background: #f7f8fa;

}


/* =========================================================
   MAIN
   ========================================================= */

.container {

  max-width: 1800px;

  margin: 0 auto;

  padding:
    42px 32px 70px;

}


.page-title {

  margin: 0;

  font-size: 36px;

  line-height: 1.1;

  font-weight: 800;

}


.page-subtitle {

  margin-top: 8px;

  color: #7a7f87;

  font-size: 16px;

}


/* =========================================================
   STAT CARDS
   ========================================================= */

.stats {

  display: grid;

  grid-template-columns:
    repeat(5, minmax(0, 1fr));

  gap: 18px;

  margin-top: 30px;

}


.stat {

  background: #ffffff;

  border:
    1px solid #e6e8eb;

  border-radius: 18px;

  padding: 25px;

}


.stat-title {

  color: #7b818a;

  font-size: 15px;

  font-weight: 600;

}


.stat-value {

  margin-top: 10px;

  font-size: 32px;

  font-weight: 800;

}


.stat-value.profit {

  color: #168457;

}


/* =========================================================
   FILTERS
   ========================================================= */

.filters-card {

  margin-top: 24px;

  background: #ffffff;

  border:
    1px solid #e6e8eb;

  border-radius: 18px;

  padding: 16px;

}


.filters {

  display: grid;

  grid-template-columns:
    minmax(280px, 2fr)
    repeat(2, minmax(160px, 1fr))
    auto;

  gap: 12px;

}


.input,
.select {

  width: 100%;

  height: 50px;

  border:
    1px solid #dfe3e8;

  border-radius: 11px;

  padding:
    0 14px;

  background: #fff;

  font-size: 15px;

  outline: none;

}


.input:focus,
.select:focus {

  border-color: #aeb5be;

}


.reset-button {

  height: 50px;

  padding:
    0 20px;

  border:
    1px solid #dfe3e8;

  background: #fff;

  border-radius: 11px;

  font-weight: 700;

  cursor: pointer;

}


.contract-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
  padding: 6px;
  background: #eef1f4;
  border-radius: 15px;
}

.contract-tab {
  border: 0;
  border-radius: 11px;
  padding: 13px 16px;
  background: transparent;
  color: #68707a;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.contract-tab.active {
  background: #fff;
  color: #171a1f;
  box-shadow: 0 2px 10px rgba(25,34,45,.08);
}

.contract-tab-count {
  display: inline-flex;
  min-width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  margin-left: 7px;
  padding: 0 7px;
  border-radius: 999px;
  background: #e9edf1;
  font-size: 12px;
}

.contract-tab.active .contract-tab-count {
  background: #171a1f;
  color: #fff;
}

.confirmation-badge {
  display: inline-flex;
  align-items: center;
  margin-top: 7px;
  border: 0;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.confirmation-link-button {
  display: block;
  margin-top: 6px;
  border: 1px solid #d7dce2;
  background: #fff;
  color: #303740;
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.15;
  cursor: pointer;
  white-space: nowrap;
}

.confirmation-link-button:hover {
  background: #f5f7f9;
}

.confirmation-badge.pending {
  background: #fff3d7;
  color: #8a5b00;
}

.confirmation-badge.confirmed {
  background: #e8f7ee;
  color: #176b42;
}

.confirmation-badge.invalidated {
  background: #fff0f0;
  color: #a32d2d;
}

.secondary-line {
  color: #858b93;
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.25;
}


/* =========================================================
   TABLE
   ========================================================= */

.table-card {

  margin-top: 24px;

  background: #fff;

  border:
    1px solid #e6e8eb;

  border-radius: 18px;

  overflow: hidden;

}


.table-wrap {

  overflow-x: auto;

}


table {

  width: 100%;

  border-collapse: collapse;

  min-width: 1840px;

}


thead {

  background: #fafbfc;

}


th {

  text-align: left;

  padding:
    17px 16px;

  color: #777e87;

  font-size: 12px;

  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: .03em;

  border-bottom:
    1px solid #e8eaed;

}


td {

  padding:
    17px 16px;

  border-bottom:
    1px solid #eef0f2;

  font-size: 14px;

}


tbody tr {

  cursor: pointer;

  transition:
    background .15s ease;

}


tbody tr:hover {

  background: #f8fafc;

}


.order-number {

  font-weight: 800;

}


.client-name {

  font-weight: 700;

}


.money {

  white-space: nowrap;

  font-weight: 700;

}


.status {

  display: inline-flex;

  align-items: center;

  padding:
    6px 10px;

  border-radius: 999px;

  font-size: 12px;

  font-weight: 700;

  background: #f0f2f4;

}


.status-new {

  background: #eef4ff;

  color: #3766b8;

}


.status-work {

  background: #fff5df;

  color: #9b6900;

}


.status-print {

  background: #f2edff;

  color: #6b48a8;

}


.status-done {

  background: #e9f8ef;

  color: #19804d;

}


.status-cancel {

  background: #ffecec;

  color: #a93232;

}


.payment-paid {

  color: #19804d;

  font-weight: 700;

}


.payment-unpaid {

  color: #a33d3d;

  font-weight: 700;

}


/* =========================================================
   EMPTY / LOADING
   ========================================================= */

.empty {

  padding:
    70px 20px;

  text-align: center;

  color: #8a9098;

  font-size: 16px;

}


.error {

  padding:
    30px;

  color: #a33636;

  text-align: center;

}


/* =========================================================
   MODAL
   ========================================================= */

.modal-backdrop {

  position: fixed;

  inset: 0;

  background:
    rgba(20, 23, 28, .48);

  display: none;

  align-items: center;

  justify-content: center;

  padding: 25px;

  z-index: 100;

}


.modal-backdrop.open {

  display: flex;

}


.modal {

  width: min(1180px, 100%);

  max-height: 90vh;

  overflow-y: auto;

  background: white;

  border-radius: 22px;

  box-shadow:
    0 25px 80px
    rgba(0,0,0,.22);

}


.modal-header {

  position: sticky;

  top: 0;

  background: white;

  border-bottom:
    1px solid #e8eaed;

  padding:
    15px 20px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  z-index: 2;

}


.client-link-button {
  border: 1px solid #b9d7c6;
  background: #edf9f2;
  color: #17633c;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
  transition: .18s ease;
  margin-left: auto;
  margin-right: 8px;
}

.client-link-button:hover {
  background: #e0f5e9;
  border-color: #98c8ad;
  transform: translateY(-1px);
}

.client-link-button:disabled {
  opacity: .55;
  cursor: wait;
  transform: none;
}

.delete-order-button {
  border: 1px solid #efc7c7;
  background: #fff3f3;
  color: #b42318;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 750;
  cursor: pointer;
  transition: .18s ease;
  margin-right: 8px;
}

.delete-order-button:hover {
  background: #ffe7e7;
  border-color: #e3a3a3;
  transform: translateY(-1px);
}

.delete-order-button:disabled {
  opacity: .55;
  cursor: wait;
  transform: none;
}

.modal-title {

  font-size: 24px;

  font-weight: 800;

}


.close-button {

  width: 40px;

  height: 40px;

  border: 0;

  background: #f1f3f5;

  border-radius: 10px;

  font-size: 22px;

  cursor: pointer;

}


.modal-body {

  padding: 18px 20px 22px;

}


.detail-grid {

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 9px;

}


.detail {

  background: #f8f9fa;

  border-radius: 11px;

  padding: 11px 12px;

}


.detail-label {

  color: #7c828a;

  font-size: 13px;

  margin-bottom: 7px;

}


.detail-value {

  font-size: 16px;

  font-weight: 700;

  word-break: break-word;

}


.section-title {

  margin:
    19px 0 9px;

  font-size: 16px;

  font-weight: 800;

}


.finance {

  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 9px;

}


.finance-card {

  border-radius: 11px;

  padding: 12px;

  background: #f7f8fa;

}


.finance-card.green {

  background: #eaf8f0;

}


.finance-label {

  color: #777e87;

  font-size: 13px;

}


.finance-value {

  margin-top: 5px;

  font-size: 19px;

  font-weight: 800;

}


.comment {

  background: #f8f9fa;

  border-radius: 14px;

  padding: 18px;

  white-space: pre-wrap;

  line-height: 1.55;

}




/* =========================================================
   КОМПАКТНАЯ КАРТОЧКА ЗАКАЗА — ЭТАП 5
   ========================================================= */
.order-overview {
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:12px;
  margin-bottom:12px;
}
.order-hero, .order-panel {
  background:#f7f8fa;
  border:1px solid #eceff2;
  border-radius:16px;
  padding:16px;
}
.order-hero-top {display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.order-client {font-size:21px;font-weight:850;line-height:1.2;}
.order-muted {color:#777e87;font-size:13px;margin-top:5px;}
.order-row-mark > td { transition: background .15s ease; }
.order-row-mark-yellow > td { background:#fff4bf !important; }
.order-row-mark-blue > td { background:#e3f1ff !important; }
.order-row-mark-green > td { background:#e1f5e8 !important; }
.order-row-mark-pink > td { background:#ffe7ed !important; }
.order-row-mark-purple > td { background:#eee7ff !important; }
.order-row-mark-gray > td { background:#eceff2 !important; }
.order-row-color-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:9px}.order-row-color-select{min-height:42px;border:1px solid #dbe3e3;border-radius:10px;background:#fff;padding:8px 10px;color:#263238}.order-row-color-preview{width:30px;height:30px;border-radius:9px;border:1px solid rgba(0,0,0,.12);background:#fff}
.order-badges {display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.order-badge {padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #e5e8eb;font-size:12px;font-weight:750;}
.order-badge.good {background:#eaf8f0;border-color:#d1eedc;color:#17633b;}
.order-badge.warn {background:#fff6df;border-color:#f0dfaa;color:#7c5a00;}
.order-mini-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px;}
.order-mini {background:#fff;border-radius:11px;padding:10px;border:1px solid #edf0f2;}
.order-mini span {display:block;color:#818790;font-size:11px;margin-bottom:4px;}
.order-mini strong {font-size:14px;line-height:1.25;}
.money-summary {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0;}
.money-summary .finance-card {padding:11px;}
.money-summary .finance-value {font-size:17px;}
.money-summary .profit-card {background:#eaf8f0;}
.compact-columns {display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
.compact-section {border:1px solid #eceff2;border-radius:16px;padding:14px;background:#fff;}
.compact-section-title {font-size:15px;font-weight:850;margin-bottom:10px;display:flex;align-items:center;gap:7px;}
.compact-list {display:grid;gap:0;}
.compact-row {display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid #f0f2f4;font-size:13px;}
.compact-row:last-child {border-bottom:0;}
.compact-row-label {color:#7a8088;}
.compact-row-value {font-weight:750;text-align:right;max-width:58%;word-break:break-word;}
.extras-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.extra-card {background:#f8f9fa;border-radius:12px;padding:11px;min-height:68px;}
.extra-card-title {color:#777e87;font-size:11px;font-weight:700;}
.extra-card-value {font-size:15px;font-weight:850;margin-top:5px;}
.extra-card-note {font-size:11px;color:#858b93;margin-top:3px;}
.finance-visual {display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:center;}
.finance-donut {width:138px;height:138px;border-radius:50%;display:grid;place-items:center;margin:auto;position:relative;}
.finance-donut:after {content:'';position:absolute;inset:19px;border-radius:50%;background:#fff;}
.finance-donut-center {position:relative;z-index:1;text-align:center;}
.finance-donut-center strong {display:block;font-size:19px;}
.finance-donut-center span {display:block;color:#7c828a;font-size:11px;margin-top:2px;}
.finance-bars {display:grid;gap:10px;}
.finance-bar-head {display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:4px;}
.finance-bar-track {height:8px;border-radius:999px;background:#edf0f2;overflow:hidden;}
.finance-bar-fill {height:100%;border-radius:999px;background:#6f8f7d;}
.confirm-box {margin-top:12px;border-radius:16px;padding:14px;background:#f7f8fa;border:1px solid #eceff2;}
.confirm-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.confirm-item {background:#fff;border-radius:11px;padding:10px;border:1px solid #edf0f2;}
.confirm-item span {display:block;color:#818790;font-size:11px;margin-bottom:4px;}
.confirm-item strong {font-size:13px;}
@media(max-width:900px){.order-overview,.compact-columns{grid-template-columns:1fr}.money-summary{grid-template-columns:repeat(2,1fr)}.extras-grid{grid-template-columns:repeat(2,1fr)}.confirm-grid{grid-template-columns:repeat(2,1fr)}.finance-visual{grid-template-columns:1fr}.order-mini-grid{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (
  max-width: 1100px
) {

  .stats {

    grid-template-columns:
      repeat(2, 1fr);

  }


  .filters {

    grid-template-columns:
      1fr 1fr;

  }

}


@media (
  max-width: 700px
) {

  .container {

    padding:
      25px 14px 50px;

  }


  .header {

    padding:
      0 14px;

  }


  .logo {

    font-size: 17px;

  }


  .logo-icon {

    width: 36px;

    height: 36px;

  }


  .page-title {

    font-size: 30px;

  }


  .stats {

    grid-template-columns:
      1fr;

  }


  .filters {

    grid-template-columns:
      1fr;

  }


  .detail-grid,
  .finance {

    grid-template-columns:
      1fr;

  }


  .modal {

    max-height: 95vh;

    border-radius: 16px;

  }

}


/* =========================================================
   CRM v15.2 — СВЕТЛАЯ МЯТНО-ГОЛУБАЯ ТЕМА
   Этап 1: навигация, типографика, цвета, карточки, таблицы,
   модальные окна и адаптивность. Бизнес-логика не меняется.
   ========================================================= */

:root {
  --v15-bg: #f4fbfa;
  --v15-surface: #ffffff;
  --v15-surface-soft: #f7fcfb;
  --v15-border: #dceeea;
  --v15-border-strong: #cce4df;
  --v15-text: #24363a;
  --v15-muted: #6f8586;
  --v15-muted-2: #96aaa9;
  --v15-nav: #eaf8f4;
  --v15-nav-soft: #dff3ee;
  --v15-blue: #4c91c7;
  --v15-blue-soft: #eaf6ff;
  --v15-green: #4a9b7c;
  --v15-green-soft: #eaf8f2;
  --v15-amber: #9a6a09;
  --v15-amber-soft: #fff7e6;
  --v15-red: #a94444;
  --v15-red-soft: #fff0f0;
  --v15-purple: #7f83bf;
  --v15-purple-soft: #f1f1ff;
  --v15-radius-sm: 10px;
  --v15-radius: 14px;
  --v15-radius-lg: 18px;
  --v15-shadow: 0 10px 30px rgba(77, 132, 125, .09);
  --v15-sidebar: 242px;
}

html, body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  background: var(--v15-bg);
  color: var(--v15-text);
}

body {
  letter-spacing: -0.005em;
}

button, input, select, textarea {
  font-family: inherit;
}

/* Sidebar */
.app-nav {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--v15-sidebar);
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0;
  padding: 20px 14px 16px;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #eaf9f4 0%, #edf8ff 52%, #f4f1ff 100%);
  box-shadow: 10px 0 32px rgba(83, 139, 132, .10);
  border-right: 1px solid rgba(116, 176, 166, .20);
  z-index: 60;
}


.sidebar-text-brand {
  margin: 6px 8px 28px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  line-height: 1;
}
.sidebar-text-brand-studio {
  color: #557875;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
.sidebar-text-brand-name {
  color: #315f79;
  font-size: 38px;
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.045em;
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 50px;
  margin: 0 4px 23px;
  color: #315e5a;
}
.sidebar-brand-mark {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  color: #4b8f82;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 5px 18px rgba(0,0,0,.16);
}
.sidebar-brand strong {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}
.sidebar-brand span {
  display: block;
  margin-top: 4px;
  color: #7a9b98;
  font-size: 10px;
  font-weight: 650;
}
.sidebar-brand-logo {
  display: block;
  min-height: 0;
  margin: 4px 4px 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sidebar-brand-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
  object-position: left center;
}
.sidebar-brand-season {
  display: block !important;
  margin-top: 7px !important;
  padding-left: 2px;
  text-align: left;
  color: #688783 !important;
  font-size: 9px !important;
  font-weight: 750 !important;
  letter-spacing: .04em;
}

.sidebar-group-label {
  margin: 7px 11px 5px;
  color: #91aaa8;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.sidebar-group-docs { margin-top: 16px; }
.sidebar-group-integrations { margin-top: 16px; }
.sidebar-footer {
  margin-top: auto;
  padding: 14px 10px 2px;
  border-top: 1px solid rgba(91, 151, 142, .16);
  color: #91aaa8;
  font-size: 9px;
  line-height: 1.45;
}

.app-nav-button {
  width: 100%;
  min-height: 43px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #567674;
  font-size: 12.5px;
  font-weight: 720;
  text-align: left;
  box-shadow: none;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.app-nav-button:hover {
  transform: none;
  background: rgba(255,255,255,.58);
  color: #315e5a;
}
.app-nav-button.active {
  background: rgba(255,255,255,.82);
  color: #4b8f82;
  box-shadow: 0 5px 16px rgba(0,0,0,.14);
}
.nav-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: rgba(255,255,255,.55);
  font-size: 14px;
  font-weight: 900;
}
.app-nav-button.active .nav-icon {
  background: var(--v15-blue-soft);
  color: var(--v15-blue);
}
.nav-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Top bar and content geometry */
.header {
  height: 64px;
  margin-left: var(--v15-sidebar);
  padding: 0 26px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--v15-border);
  box-shadow: 0 1px 0 rgba(25,35,48,.02);
}
.header .logo {
  gap: 10px;
  color: var(--v15-text);
  font-size: 13px;
  font-weight: 750;
}
.header .logo-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: linear-gradient(135deg, #6ab7a1, #72a9d2);
  font-size: 13px;
}
.refresh-button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid var(--v15-border-strong);
  border-radius: 10px;
  background: var(--v15-surface);
  color: #475362;
  font-size: 12px;
  font-weight: 750;
  box-shadow: 0 2px 7px rgba(25,35,48,.03);
}
.refresh-button:hover { background: var(--v15-surface-soft); }

.container {
  max-width: none;
  margin: 0 0 0 var(--v15-sidebar);
  padding: 30px 28px 70px;
}
.page-title {
  font-size: 29px;
  line-height: 1.15;
  letter-spacing: -0.035em;
  font-weight: 850;
}
.page-subtitle {
  margin-top: 6px;
  color: var(--v15-muted);
  font-size: 13px;
}
.workspace-section { margin-top: 24px; }
.workspace-intro {
  margin-bottom: 16px;
  padding: 0;
}
.workspace-title {
  margin: 0 0 5px;
  color: var(--v15-text);
  font-size: 22px;
  letter-spacing: -0.025em;
  font-weight: 850;
}
.workspace-subtitle {
  margin: 0;
  color: var(--v15-muted);
  font-size: 12.5px;
  line-height: 1.5;
}


/* v15.2 — светлая мятно-голубая тема */
.sidebar-brand strong { color:#315e5a; }
.app-nav-button:hover { background:rgba(255,255,255,.62); color:#315e5a; }
.app-nav-button.active { border-color:rgba(102,168,157,.16); }
.sidebar-footer { color:#91aaa8; }
.dashboard-welcome-title { color:#284a49 !important; }
.dashboard-welcome-text { color:#688986 !important; }
.dashboard-welcome .dashboard-quick-button,
.dashboard-welcome button { background:rgba(255,255,255,.78) !important; color:#3d7770 !important; border-color:rgba(103,164,155,.18) !important; }
.header { background:rgba(250,255,254,.88); }
body { background:linear-gradient(135deg,#f4fbf8 0%,#f6fbff 52%,#faf8ff 100%); }
.card, .dashboard-panel, .dashboard-quick, .table-wrap, .modal, .filters, .tabs, .workspace-card { box-shadow:0 8px 28px rgba(80,137,130,.065); }
.primary-button, .btn-primary { background:linear-gradient(135deg,#69b69f,#67a8d2) !important; border-color:transparent !important; color:#fff !important; }

/* Dashboard */
.dashboard-hero { gap: 14px; margin-bottom: 14px; }
.dashboard-welcome {
  padding: 23px 24px;
  border-radius: var(--v15-radius-lg);
  background: linear-gradient(135deg, #dff6ee 0%, #e7f5ff 52%, #f0edff 100%);
  border: 1px solid #d8ece7;
  color: #284a49;
  box-shadow: var(--v15-shadow);
}
.dashboard-welcome-title {
  font-size: 25px;
  letter-spacing: -0.025em;
}
.dashboard-welcome-text { font-size: 12.5px; }
.dashboard-quick,
.dashboard-panel,
.dashboard-kpi,
.stat,
.filters-card,
.table-card {
  border-color: var(--v15-border);
  box-shadow: var(--v15-shadow);
}
.dashboard-quick { padding: 16px; border-radius: var(--v15-radius-lg); }
.dashboard-action {
  min-height: 61px;
  border-color: var(--v15-border);
  border-radius: 11px;
  background: var(--v15-surface-soft);
}
.dashboard-action:hover { border-color: #cbd4de; background: #fff; }
.dashboard-kpis { gap: 10px; margin-bottom: 14px; }
.dashboard-kpi { padding: 15px; border-radius: var(--v15-radius); }
.dashboard-kpi-label { color: var(--v15-muted); font-size: 9.5px; letter-spacing: .05em; }
.dashboard-kpi-value { font-size: 21px; letter-spacing: -0.02em; }
.dashboard-kpi-sub { color: var(--v15-muted-2); font-size: 10.5px; }
.dashboard-kpi.attention { background: var(--v15-amber-soft); border-color: #eedeb9; }
.dashboard-kpi.money { background: var(--v15-green-soft); border-color: #d4eadc; }
.dashboard-grid { gap: 14px; }
.dashboard-panel { padding: 17px; border-radius: var(--v15-radius-lg); }

/* Orders */
.stats { gap: 10px; margin-top: 18px; }
.stat {
  padding: 16px 17px;
  border-radius: var(--v15-radius);
}
.stat-title { color: var(--v15-muted); font-size: 11px; font-weight: 750; }
.stat-value { margin-top: 7px; font-size: 23px; letter-spacing: -0.025em; }
.stat-value.profit { color: var(--v15-green); }

.contract-tabs {
  max-width: 670px;
  margin-top: 16px;
  padding: 4px;
  gap: 4px;
  border: 1px solid var(--v15-border);
  border-radius: 12px;
  background: #edf0f3;
}
.contract-tab {
  min-height: 40px;
  padding: 8px 13px;
  border-radius: 9px;
  color: #697583;
  font-size: 12px;
  font-weight: 800;
}
.contract-tab-count { height: 20px; min-width: 20px; font-size: 10px; }

.filters-card {
  margin-top: 14px;
  padding: 11px;
  border-radius: var(--v15-radius);
}
.filters { gap: 8px; grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(145px, .75fr)) auto; }
.input, .select, .reset-button {
  height: 42px;
  border-color: var(--v15-border-strong);
  border-radius: 9px;
  font-size: 12px;
}
.input:focus, .select:focus {
  border-color: #7ea1df;
  box-shadow: 0 0 0 3px rgba(53,111,214,.08);
}
.reset-button { padding: 0 15px; color: #5f6b78; }

.table-card {
  margin-top: 14px;
  border-radius: var(--v15-radius);
}
.table-wrap {
  scrollbar-width: thin;
  scrollbar-color: #c9d0d8 transparent;
}
table { min-width: 1470px; }
thead { background: #f7f9fb; }
th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 11px 10px;
  color: #7b8794;
  font-size: 9px;
  letter-spacing: .055em;
  background: #f7f9fb;
}
td {
  padding: 11px 10px;
  color: #3d4855;
  font-size: 11.5px;
  line-height: 1.35;
}
tbody tr:hover { background: #f6f9fc; }
.order-number { color: var(--v15-text); font-size: 12px; }
.client-name { color: var(--v15-text); font-weight: 750; }
.secondary-line { margin-top: 2px; color: var(--v15-muted-2); font-size: 10px; }
.money { font-size: 11.5px; font-variant-numeric: tabular-nums; }
.status {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 780;
}
.status-new { background: var(--v15-blue-soft); color: #3566b3; }
.status-work { background: var(--v15-amber-soft); color: var(--v15-amber); }
.status-print { background: var(--v15-purple-soft); color: var(--v15-purple); }
.status-done { background: var(--v15-green-soft); color: var(--v15-green); }
.status-cancel { background: var(--v15-red-soft); color: var(--v15-red); }
.confirmation-badge { margin-top: 5px; padding: 5px 7px; font-size: 9px; }
.confirmation-link-button { margin-top: 4px; padding: 5px 7px; font-size: 8.5px; }

/* Modal / order card */
.modal-backdrop {
  background: rgba(15, 23, 34, .56);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
.modal {
  width: min(1120px, 100%);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 19px;
  box-shadow: 0 28px 90px rgba(12,20,31,.28);
}
.modal-header {
  padding: 13px 17px;
  border-color: var(--v15-border);
}
.modal-title { font-size: 20px; letter-spacing: -0.02em; }
.modal-body { padding: 15px 17px 20px; }
.close-button {
  width: 36px; height: 36px;
  border-radius: 9px;
  color: #5d6976;
  font-size: 19px;
}
.client-link-button, .delete-order-button {
  padding: 8px 11px;
  border-radius: 9px;
  font-size: 11px;
}
.order-overview { gap: 10px; margin-bottom: 10px; }
.order-hero, .order-panel {
  padding: 14px;
  border-color: var(--v15-border);
  border-radius: var(--v15-radius);
  background: var(--v15-surface-soft);
}
.order-client { font-size: 19px; letter-spacing: -0.02em; }
.order-muted { color: var(--v15-muted); font-size: 11.5px; }
.order-badge { padding: 5px 8px; font-size: 10px; }
.order-mini-grid { gap: 6px; margin-top: 10px; }
.order-mini { padding: 8px 9px; border-radius: 9px; }
.order-mini span { font-size: 9.5px; }
.order-mini strong { font-size: 12.5px; }
.money-summary { gap: 6px; margin: 10px 0; }
.finance-card { border: 1px solid var(--v15-border); }
.finance-label { color: var(--v15-muted); font-size: 10.5px; }
.finance-value { font-size: 16px; font-variant-numeric: tabular-nums; }
.compact-columns { gap: 10px; }
.compact-section { padding: 12px; border-color: var(--v15-border); border-radius: var(--v15-radius); }
.compact-section-title { margin-bottom: 8px; font-size: 13px; }
.compact-row { padding: 7px 0; font-size: 11.5px; }
.compact-row-label { color: var(--v15-muted); }
.extra-card, .confirm-item { border: 1px solid var(--v15-border); background: var(--v15-surface-soft); }
.confirm-box { border-color: var(--v15-border); background: var(--v15-surface-soft); }

/* Workspaces / iframes / document cards */
.calendar-frame-card,
.new-contract-frame-card,
.leads-frame-card,
.documents-card,
.yougile-card,
.workspace-placeholder {
  border-color: var(--v15-border) !important;
  box-shadow: var(--v15-shadow);
}
.calendar-frame-card,
.new-contract-frame-card,
.leads-frame-card {
  border-radius: var(--v15-radius-lg) !important;
  overflow: hidden;
}

/* Clearer focus states */
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(53,111,214,.18);
  outline-offset: 2px;
}

/* Responsive: tablets — compact rail */
@media (max-width: 1180px) and (min-width: 821px) {
  :root { --v15-sidebar: 82px; }
  .app-nav { padding: 17px 10px; align-items: stretch; }
  .sidebar-text-brand { margin: 5px 0 20px; text-align: center; }
  .sidebar-text-brand-studio { display: none; }
  .sidebar-text-brand-name { font-size: 22px; letter-spacing: -.04em; }
  .sidebar-brand { justify-content: center; margin: 0 0 20px; }
  .sidebar-brand > div:last-child,
  .sidebar-group-label,
  .sidebar-footer,
  .nav-text { display: none; }
  .app-nav-button { justify-content: center; padding: 8px; }
  .nav-icon { width: 30px; height: 30px; flex-basis: 30px; }
  .header { padding-left: 18px; padding-right: 18px; }
  .container { padding-left: 20px; padding-right: 20px; }
  .dashboard-kpis { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* Mobile: navigation becomes an app-style bottom bar */
@media (max-width: 820px) {
  :root { --v15-sidebar: 0px; }
  body { padding-bottom: 68px; }
  .header { margin-left: 0; height: 58px; padding: 0 13px; }
  .header .logo > div:last-child { display: none; }
  .container { margin-left: 0; padding: 20px 13px 36px; }
  .page-title { font-size: 25px; }
  .page-subtitle { font-size: 12px; }
  .app-nav {
    inset: auto 8px 8px 8px;
    width: auto;
    height: 58px;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    gap: 2px;
    padding: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    box-shadow: 0 10px 35px rgba(16,24,36,.28);
  }
  .sidebar-text-brand, .sidebar-brand, .sidebar-group-label, .sidebar-footer { display: none; }
  .app-nav-button {
    min-width: 46px;
    width: auto;
    min-height: 46px;
    flex: 1 0 46px;
    justify-content: center;
    padding: 5px;
    border-radius: 12px;
  }
  .app-nav-button .nav-text { display: none; }
  .nav-icon { width: 31px; height: 31px; flex-basis: 31px; }
  .dashboard-hero, .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filters { grid-template-columns: 1fr; }
  .contract-tabs { max-width: none; }
  .table-card { margin-left: -13px; margin-right: -13px; border-radius: 0; }
  .modal-backdrop { padding: 8px; align-items: flex-end; }
  .modal { max-height: 94vh; border-radius: 18px 18px 10px 10px; }
}

@media (max-width: 520px) {
  .dashboard-kpis, .stats { grid-template-columns: 1fr 1fr; }
  .dashboard-quick-grid { grid-template-columns: 1fr; }
  .dashboard-welcome { padding: 20px; }
  .dashboard-welcome-title { font-size: 22px; }
  .stat-value { font-size: 20px; }
  .refresh-button { padding: 0 10px; font-size: 11px; }
}



/* =========================================================
   CRM v15.3 — ПАСТЕЛЬНАЯ ТЕМА С ПОВЫШЕННЫМ КОНТРАСТОМ
   Более насыщенные мята/голубой, тёмный читаемый текст,
   чёткие границы карточек и визуальная иерархия.
   ========================================================= */
:root {
  --v15-bg: #eef8f7;
  --v15-surface: #ffffff;
  --v15-surface-soft: #f5fbfa;
  --v15-border: #cfe2df;
  --v15-border-strong: #b8d7d2;
  --v15-text: #1f3439;
  --v15-muted: #587174;
  --v15-muted-2: #789194;
  --v15-nav: #dff2ed;
  --v15-nav-soft: #d3ebe5;
  --v15-blue: #4a88b8;
  --v15-blue-soft: #e2f2fb;
  --v15-green: #3f8d72;
  --v15-green-soft: #e1f3ea;
  --v15-amber: #8b650e;
  --v15-amber-soft: #fff2cf;
  --v15-red: #a34747;
  --v15-red-soft: #fdeaea;
  --v15-purple: #6f72aa;
  --v15-purple-soft: #ecebfd;
  --v15-shadow: 0 8px 24px rgba(54, 102, 98, .10);
}

html, body {
  color: var(--v15-text);
  background: #eef8f7;
}
body {
  background: linear-gradient(135deg, #edf8f5 0%, #eff7fc 54%, #f4f1fb 100%) !important;
}

/* Боковая навигация — цвет заметнее, текст темнее */
.app-nav {
  background: linear-gradient(180deg, #dcefe9 0%, #e1f1f7 52%, #ebe8f7 100%);
  border-right: 1px solid #c4ddd8;
  box-shadow: 8px 0 26px rgba(60, 112, 105, .10);
}
.sidebar-brand { color: #285653; }
.sidebar-brand strong { color: #254f4d !important; }
.sidebar-brand span { color: #63817f; }
.sidebar-brand-mark {
  background: linear-gradient(135deg, #ffffff 0%, #eefaf6 100%);
  color: #397e70;
  border: 1px solid #c4ded8;
  box-shadow: 0 4px 12px rgba(58, 102, 96, .11);
}
.sidebar-group-label,
.sidebar-footer { color: #6f8d8a !important; }
.app-nav-button {
  color: #3f6563;
  font-weight: 760;
}
.app-nav-button:hover {
  background: rgba(255,255,255,.70);
  color: #244f4c;
  border-color: rgba(113,165,156,.20);
}
.app-nav-button.active {
  background: #ffffff;
  color: #287566;
  border-color: #b8d9d2;
  box-shadow: 0 5px 15px rgba(55, 104, 98, .12);
}
.nav-icon {
  background: rgba(255,255,255,.72);
  color: #4e7773;
}
.app-nav-button.active .nav-icon {
  background: #dcefe9;
  color: #2f7d6d;
}

/* Верхняя панель */
.header {
  background: rgba(251,254,254,.94) !important;
  border-bottom: 1px solid #d0e2df;
  box-shadow: 0 3px 14px rgba(52, 91, 88, .045);
}
.header .logo { color: #22383d; }
.header .logo-icon {
  background: linear-gradient(135deg, #55aa91, #5c98c2);
  box-shadow: 0 4px 12px rgba(75, 143, 133, .18);
}
.refresh-button {
  border-color: #c4d9d6;
  background: #ffffff;
  color: #344f53;
}
.refresh-button:hover { background: #edf8f5; }

/* Заголовки — больше контраста */
.page-title,
.workspace-title,
.dashboard-block-title,
.modal-title { color: #1d3035; }
.page-subtitle,
.workspace-subtitle { color: #5d7779; }

/* Главный баннер — пастельный, но текст читается */
.dashboard-welcome {
  background: linear-gradient(135deg, #c6eade 0%, #d3ebf8 52%, #e1def6 100%) !important;
  border: 1px solid #b8dcd5 !important;
  color: #244744 !important;
  box-shadow: 0 9px 25px rgba(66, 115, 108, .11) !important;
}
.dashboard-date {
  color: #4d7774 !important;
  font-weight: 800;
}
.dashboard-welcome-title { color: #214643 !important; }
.dashboard-welcome-text { color: #4f706e !important; font-weight: 560; }
.dashboard-welcome::after { background: rgba(255,255,255,.22); }

/* Белые блоки чётко отделены от фона */
.dashboard-quick,
.dashboard-panel,
.dashboard-kpi,
.stat,
.filters-card,
.table-card,
.card,
.workspace-card,
.documents-card,
.yougile-card,
.workspace-placeholder,
.order-hero,
.order-panel,
.compact-section,
.finance-card {
  border-color: #cbdeda !important;
  box-shadow: 0 7px 22px rgba(52, 95, 91, .075) !important;
}
.dashboard-quick,
.dashboard-panel,
.filters-card,
.table-card,
.card,
.workspace-card,
.documents-card,
.yougile-card,
.workspace-placeholder {
  background: rgba(255,255,255,.96) !important;
}

/* Быстрые действия — отдельные плитки */
.dashboard-action {
  background: #f7fbfb !important;
  border: 1px solid #d3e2e0 !important;
  box-shadow: 0 2px 8px rgba(53, 93, 90, .035);
}
.dashboard-action:hover {
  background: #eef8f5 !important;
  border-color: #a9cec6 !important;
}
.dashboard-action strong { color: #263b40; }
.dashboard-action span { color: #667d7f; }

/* KPI: лёгкие разные оттенки, чтобы показатели не сливались */
.dashboard-kpi {
  background: #f9fcfc !important;
  border: 1px solid #cfdfdd !important;
}
.dashboard-kpi:nth-child(1) { background: #eef8f5 !important; border-color: #c9e1db !important; }
.dashboard-kpi:nth-child(2) { background: #eef6fb !important; border-color: #cadde9 !important; }
.dashboard-kpi.attention { background: #fff3d8 !important; border-color: #ead7a4 !important; }
.dashboard-kpi.money { background: #e6f5ed !important; border-color: #c5e2d3 !important; }
.dashboard-kpi:last-child { background: #fff4dc !important; border-color: #e7d6a8 !important; }
.dashboard-kpi-label { color: #5c7375 !important; font-weight: 820; }
.dashboard-kpi-value { color: #1e3136 !important; font-weight: 880; }
.dashboard-kpi-sub { color: #718789 !important; }

/* Панели на главной */
.dashboard-panel {
  background: #ffffff !important;
  border: 1px solid #cadeda !important;
}
.dashboard-panel .dashboard-block-title { color: #20373b; }
.dashboard-panel a,
.dashboard-panel button { color: #41666a; }
.dashboard-panel [class*="item"],
.dashboard-panel [class*="shoot"] {
  border-color: #dbe7e5;
}

/* Таблицы — видимые шапка и строки */
.table-card,
.table-wrap { border-color: #c9dcda !important; }
thead,
th {
  background: #eaf4f3 !important;
}
th {
  color: #546e70 !important;
  border-bottom: 1px solid #c8dcda !important;
  font-weight: 850;
}
td {
  color: #34494d;
  border-bottom-color: #e1eae8 !important;
}
tbody tr:nth-child(even) { background: #fbfdfd; }
tbody tr:hover { background: #eef7f5 !important; }
.secondary-line { color: #74898b !important; }

/* Фильтры, поля и вкладки */
.input, .select, .reset-button,
input, select, textarea {
  border-color: #bed7d2;
}
.input:focus, .select:focus,
input:focus, select:focus, textarea:focus {
  border-color: #6da99e !important;
  box-shadow: 0 0 0 3px rgba(76, 151, 137, .12) !important;
}
.contract-tabs {
  background: #e6f0ef;
  border-color: #c5dbd7;
}
.contract-tab { color: #587173; }
.contract-tab.active {
  background: #ffffff;
  color: #2d6f63;
  box-shadow: 0 2px 9px rgba(57, 99, 94, .08);
}

/* Статусы — насыщеннее, но без кислотности */
.status-new { background: #dceefa !important; color: #326b97 !important; }
.status-work { background: #fff0c8 !important; color: #805d0c !important; }
.status-print { background: #e8e6fb !important; color: #625f9c !important; }
.status-done { background: #dcefe5 !important; color: #327359 !important; }
.status-cancel { background: #f9dfdf !important; color: #9a4141 !important; }
.confirmation-badge { border: 1px solid rgba(75,120,105,.12); }

/* Карточка заказа */
.modal-backdrop { background: rgba(29, 50, 54, .48); }
.modal {
  border-color: #c5d9d6 !important;
  background: #fbfefd !important;
  box-shadow: 0 30px 80px rgba(28, 55, 58, .26) !important;
}
.modal-header { background: #f3f9f8; border-bottom-color: #cbddda !important; }
.order-hero, .order-panel,
.compact-section, .extra-card, .confirm-item, .confirm-box {
  background: #ffffff !important;
  border-color: #cfdfdd !important;
}
.order-client { color: #20373b; }
.order-muted, .compact-row-label, .finance-label { color: #637b7d !important; }
.order-mini { background: #f0f7f6; border: 1px solid #d7e5e3; }

/* Основные действия */
.primary-button, .btn-primary {
  background: linear-gradient(135deg, #4fa58c 0%, #5797c5 100%) !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 5px 14px rgba(73, 142, 134, .19);
}
.primary-button:hover, .btn-primary:hover {
  filter: brightness(.97);
  box-shadow: 0 7px 17px rgba(73, 142, 134, .23);
}

/* Встроенные рабочие области визуально отделяем */
.calendar-frame-card,
.new-contract-frame-card,
.leads-frame-card {
  border: 1px solid #c6dcd8 !important;
  background: #ffffff !important;
  box-shadow: 0 9px 27px rgba(55, 99, 94, .085) !important;
}


/* =========================================================
   V15.4 — ФИНАНСЫ СЕЗОНА
   ========================================================= */
.finance-intro-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.season-finance-filter{display:flex;gap:6px;padding:5px;background:#eef7f5;border:1px solid #cfe5df;border-radius:12px}.season-finance-filter-btn{border:0;background:transparent;color:#48645f;padding:9px 13px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.season-finance-filter-btn.active{background:#fff;color:#175f55;box-shadow:0 2px 8px rgba(39,101,91,.12)}.season-finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.season-finance-kpi{min-width:0;padding:18px;border:1px solid #d9e5e4;border-radius:16px;background:#fff;box-shadow:0 3px 12px rgba(42,72,82,.045)}.season-finance-kpi span{display:block;color:#526b70;font-size:10px;font-weight:900;letter-spacing:.045em;margin-bottom:7px}.season-finance-kpi strong{display:block;color:#18343a;font-size:clamp(21px,2vw,29px);line-height:1.08;white-space:nowrap;font-variant-numeric:tabular-nums}.season-finance-kpi small{display:block;margin-top:7px;color:#6e8589;font-size:11px;font-weight:700}.season-finance-kpi.blue{background:linear-gradient(135deg,#eef9ff,#eaf4ff);border-color:#c9dfed}.season-finance-kpi.mint{background:linear-gradient(135deg,#eafaf4,#e5f7f1);border-color:#bfe2d5}.season-finance-kpi.amber{background:linear-gradient(135deg,#fff9e9,#fff3d8);border-color:#ead9ad}.season-finance-kpi.lilac{background:linear-gradient(135deg,#f5f2ff,#eeeaff);border-color:#d9d0ef}.season-finance-kpi.green{background:linear-gradient(135deg,#e7f8ec,#def3e6);border-color:#badcc5}.season-finance-kpi.neutral{background:linear-gradient(135deg,#f7fbfb,#f1f7f7);border-color:#d5e3e2}.season-finance-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.season-finance-panel{background:#fff;border:1px solid #d6e3e2;border-radius:17px;padding:19px;box-shadow:0 4px 16px rgba(40,73,82,.045)}.season-finance-wide{grid-column:1/-1}.season-finance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.season-finance-panel-head h3{margin:0;color:#18343a;font-size:16px}.season-finance-panel-head p{margin:5px 0 0;color:#71878a;font-size:11px;line-height:1.45}.season-panel-total{color:#214b50;font-size:17px;white-space:nowrap}.season-money-row{margin:15px 0}.season-money-row-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#536d71;font-size:12px;font-weight:800}.season-money-row-head strong{color:#25474c}.season-progress{height:11px;background:#edf3f2;border:1px solid #e0e9e7;border-radius:999px;overflow:hidden}.season-progress-fill{height:100%;width:0;border-radius:inherit;transition:width .25s ease}.season-progress-fill.paid{background:linear-gradient(90deg,#63bea8,#4ba994)}.season-progress-fill.balance{background:linear-gradient(90deg,#e9c56f,#ddb154)}.season-progress-fill.cost{background:linear-gradient(90deg,#a9a0d8,#8f86c8)}.season-progress-fill.profit{background:linear-gradient(90deg,#72bd87,#54a970)}.season-split{display:grid;gap:10px}.season-split-card{padding:14px;border:1px solid #dce7e5;border-radius:13px;background:#f8fbfb}.season-split-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.season-split-top strong{color:#24464b;font-size:14px}.season-split-count{color:#71878a;font-size:11px;font-weight:800}.season-split-values{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.season-split-value{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e1e9e8}.season-split-value span{display:block;color:#789093;font-size:9px;font-weight:900;margin-bottom:4px}.season-split-value strong{font-size:13px;color:#25474c}.season-debtors{display:grid;gap:8px}.season-debtor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid #e0e8e7;border-radius:12px;background:#fafcfc}.season-debtor-title{font-size:12px;font-weight:900;color:#203f44}.season-debtor-sub{margin-top:3px;font-size:10px;color:#75898c}.season-debtor-money{text-align:right}.season-debtor-money strong{display:block;color:#8a641c;font-size:13px}.season-debtor-money span{display:block;margin-top:3px;color:#829294;font-size:9px;font-weight:800}.season-finance-empty{padding:18px;text-align:center;color:#71878a;background:#f7faf9;border:1px dashed #cfddda;border-radius:12px;font-size:12px}
.business-expense-panel{grid-column:1/-1}
.business-expense-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.business-expense-summary-card{padding:13px;border:1px solid #dce7e5;border-radius:13px;background:#f8fbfb}
.business-expense-summary-card span{display:block;font-size:9px;font-weight:900;color:#71878a;margin-bottom:5px}
.business-expense-summary-card strong{display:block;font-size:16px;color:#24464b}
.business-expense-form{display:grid;grid-template-columns:150px 190px 150px minmax(180px,1fr) auto;gap:8px;align-items:end}
.business-expense-form label{font-size:10px;font-weight:800;color:#647b7e}
.business-expense-form input,.business-expense-form select{width:100%;margin-top:5px;min-height:40px;padding:8px 10px;border:1px solid #cfdfdd;border-radius:10px;background:#fff;color:#243d41}
.business-expense-list{display:grid;gap:7px;margin-top:14px}
.business-expense-row{display:grid;grid-template-columns:100px 140px minmax(0,1fr) 120px auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e1e9e8;border-radius:11px;background:#fafcfc;font-size:11px}
.business-expense-delete{border:0;background:#fff0f0;color:#9a4949;border-radius:8px;padding:7px 9px;font-weight:800;cursor:pointer}
@media(max-width:760px){.business-expense-summary{grid-template-columns:repeat(2,1fr)}.business-expense-form{grid-template-columns:1fr 1fr}.business-expense-form label:nth-child(4){grid-column:1/-1}.business-expense-form button{grid-column:1/-1}.business-expense-row{grid-template-columns:1fr auto}.business-expense-row .expense-mobile-hide{display:none}}
@media(max-width:1050px){.season-finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.season-finance-grid{grid-template-columns:1fr}}@media(max-width:650px){.finance-intro-row{align-items:stretch;flex-direction:column}.season-finance-filter{width:100%}.season-finance-filter-btn{flex:1;padding-left:6px;padding-right:6px}.season-finance-kpis{grid-template-columns:1fr}.season-split-values{grid-template-columns:1fr}.season-debtor{grid-template-columns:1fr}.season-debtor-money{text-align:left}}

/* =========================================================
   V15.5 — ИСХОДНИКИ И УВЕДОМЛЕНИЯ
   ========================================================= */
.orders-count-only{grid-template-columns:minmax(220px,320px)!important;justify-content:start}.orders-count-only .stat{min-height:92px}.yougile-source-cell{min-width:170px}
.materials-nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#d85e5e;color:#fff;font-size:10px;font-weight:900;box-shadow:0 2px 8px rgba(153,59,59,.2)}.materials-nav-badge[hidden]{display:none!important}.materials-toast-stack{position:fixed;top:76px;right:18px;z-index:10050;display:grid;gap:9px;width:min(390px,calc(100vw - 28px));pointer-events:none}.materials-toast{pointer-events:auto;border:1px solid #bcded4;border-radius:15px;background:#f3fcf8;box-shadow:0 14px 35px rgba(36,75,70,.18);padding:14px 15px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:start}.materials-toast-icon{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#ccefe4,#d8ecf7);display:flex;align-items:center;justify-content:center;font-size:18px}.materials-toast-title{font-size:12px;font-weight:900;color:#21453f}.materials-toast-text{font-size:11px;color:#607b78;margin-top:3px;line-height:1.4}.materials-toast-open{border:0;background:#fff;color:#2f766a;border-radius:9px;padding:8px 9px;font-size:10px;font-weight:900;cursor:pointer}.source-materials-box{margin-top:12px;padding:16px;border:1px solid #bfe1d5;border-radius:14px;background:linear-gradient(135deg,#edfbf6,#eef8fc);display:flex;align-items:center;justify-content:space-between;gap:14px}.source-materials-main{min-width:0}.source-materials-title{font-size:13px;font-weight:900;color:#1f5148}.source-materials-meta{margin-top:4px;font-size:10px;color:#69817e}.source-materials-link{flex:0 0 auto;text-decoration:none;padding:10px 13px;border-radius:10px;background:linear-gradient(135deg,#55aa91,#5b99c4);color:#fff!important;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(65,132,120,.13)}.yougile-materials-note{margin-top:12px;padding:12px 13px;border:1px solid #cce3dc;border-radius:11px;background:#f3faf8;color:#4b6e68;font-size:11px;line-height:1.5}.browser-notify-button{border:1px solid #c9dfda;background:#fff;color:#35685f;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:850;cursor:pointer}@media(max-width:650px){.materials-toast-stack{top:68px;right:10px;width:calc(100vw - 20px)}.source-materials-box{align-items:stretch;flex-direction:column}.source-materials-link{text-align:center}.materials-nav-badge{position:absolute;right:8px;top:4px}}

/* v15.7 — фирменный логотип в боковом меню */
@media (min-width: 761px) and (max-width: 1100px) {
  .sidebar-brand-logo { padding: 0; margin: 4px 1px 18px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .sidebar-brand-logo .sidebar-brand-image { width: 100%; max-height: 42px; object-fit: contain; object-position: center; }
  .sidebar-brand-logo .sidebar-brand-season { display: none !important; }
}


/* =========================================================
   CRM v17 — МОБИЛЬНАЯ ГЛАВНАЯ / БЫСТРЫЕ ДЕЙСТВИЯ
   ========================================================= */
.dashboard-weather{margin-top:15px;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.64);border:1px solid rgba(91,151,143,.18);backdrop-filter:blur(8px)}
.dashboard-weather-icon{width:48px;height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(255,255,255,.82);font-size:27px;box-shadow:0 4px 13px rgba(48,102,96,.08)}
.dashboard-weather-main{min-width:0}.dashboard-weather-city{font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:#5b7b77}.dashboard-weather-line{display:flex;align-items:baseline;gap:9px;margin-top:2px}.dashboard-weather-line strong{font-size:26px;color:#214b49;letter-spacing:-.04em}.dashboard-weather-line span{font-size:13px;font-weight:850;color:#355f5b}.dashboard-weather-meta{margin-top:2px;color:#6b8885;font-size:10.5px;line-height:1.35}
.dashboard-action{display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important;padding:11px 12px!important;min-height:67px!important;overflow:hidden}.dashboard-action-icon{width:39px;height:39px;flex:0 0 39px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.82);font-size:19px;box-shadow:0 3px 10px rgba(41,76,82,.07)}.dashboard-action-copy{min-width:0;display:grid;gap:3px}.dashboard-action-copy strong{font-size:12.5px!important}.dashboard-action-copy span{font-size:10px!important}.dashboard-action.action-lead{background:linear-gradient(135deg,#e8f8f2,#effbf7)}.dashboard-action.action-contract{background:linear-gradient(135deg,#e8f3ff,#eff7ff)}.dashboard-action.action-document{background:linear-gradient(135deg,#fff5df,#fff9ec)}.dashboard-action.action-calendar{background:linear-gradient(135deg,#f0edff,#f6f3ff)}.dashboard-action.action-orders{background:linear-gradient(135deg,#e9f8fa,#effbfc)}.dashboard-action.action-finance{background:linear-gradient(135deg,#e9f7ec,#f0faf2)}
.dashboard-shoot-panel{margin-bottom:14px!important;background:linear-gradient(135deg,#ffffff,#f7fcfb)}.dashboard-shoot-card.outdoor{background:linear-gradient(135deg,#edf7ff,#f4faff);border-color:#cfe3ef}.dashboard-shoot-card.studio{background:linear-gradient(135deg,#eefaf5,#f4fbf8);border-color:#c9e5da}.dashboard-today-shoots{display:grid;gap:7px;margin-top:10px}.dashboard-today-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #d8e7e4;border-radius:11px;background:#fff;color:#486367;font-size:11px}.dashboard-today-item strong{min-width:48px;color:#234d52;font-size:12px}.dashboard-today-empty{padding:9px 11px;border:1px dashed #d3e1df;border-radius:11px;color:#778d90;font-size:10.5px;background:#fafcfc}
.new-contract-head{background:linear-gradient(135deg,#315f5a,#487a75)!important;border-bottom-color:#315f5a!important}.new-contract-head-text strong{color:#fff!important}.new-contract-head-text span{color:#dcebea!important}.new-contract-sync-status{background:rgba(255,255,255,.13)!important;color:#f4fffd!important;border:1px solid rgba(255,255,255,.18)}.new-contract-sync-status.success{background:rgba(218,247,232,.18)!important;color:#f2fff7!important}
#ordersTable{min-width:1470px!important}
@media(max-width:820px){.dashboard-shoot-panel{margin-left:0;margin-right:0}.dashboard-quick-grid{grid-template-columns:1fr 1fr!important}.dashboard-action{min-width:0}.dashboard-action-icon{width:36px;height:36px;flex-basis:36px}.dashboard-kpis{margin-top:14px}.dashboard-weather{align-items:flex-start}.new-contract-head{border-radius:0}}
@media(max-width:430px){.dashboard-quick-grid{grid-template-columns:1fr!important}.dashboard-action{min-height:62px!important}}

/* CRM v18 — mobile UX */
.orders-main-mobile{display:none}
.order-identity{display:flex;flex-direction:column;gap:3px;min-width:185px}
.order-identity-school{font-size:13px;font-weight:850;color:#22383b;line-height:1.25}
.order-identity-secondary{font-size:10px;font-weight:650;color:#6b8082;line-height:1.3}
.order-identity-class{font-size:14px;font-weight:900;color:#1f5f5a;line-height:1.2}
.order-identity-city{display:inline-flex;align-items:center;margin:4px 0 2px;padding:3px 7px;border-radius:999px;background:#fff2d9;color:#8a5a16;font-size:10px;font-weight:900;line-height:1.2}
.order-identity-phone{font-size:10px;font-weight:750;color:#708386;line-height:1.3;margin-top:2px}
.mobile-nav-backdrop{display:none}
.mobile-nav-trigger{display:none}
@media(max-width:820px){
  .mobile-nav-trigger{display:flex!important;position:fixed;right:14px;bottom:18px;z-index:5000;width:54px;height:54px;border:1px solid #bfd8d4;border-radius:16px;background:rgba(239,249,247,.97);color:#315e5a;box-shadow:0 8px 24px rgba(38,76,72,.22);align-items:center;justify-content:center;font-size:27px;font-weight:900;cursor:pointer;padding:0!important}
  html.nebo-mobile-nav-open .mobile-nav-trigger{z-index:5003;background:#fff}

  body{padding-bottom:24px!important}
  .container{margin-left:0!important;padding-left:12px!important;padding-right:12px!important}
  .app-nav{position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;width:min(78vw,290px)!important;height:auto!important;padding:18px 12px 22px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:0 20px 20px 0!important;background:rgba(239,249,247,.985)!important;border:0!important;border-right:1px solid #c7dfdb!important;box-shadow:18px 0 44px rgba(38,76,72,.22)!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;z-index:5002!important}
  html.nebo-mobile-nav-open .app-nav{transform:translateX(0)!important}
  .app-nav-button{width:100%!important;min-height:50px!important;flex:0 0 auto!important;justify-content:flex-start!important;padding:8px 10px!important;gap:10px!important}
  .app-nav-button .nav-text{display:block!important;max-width:none!important;font-size:12px!important}
  .app-nav-button .nav-icon{flex:0 0 34px!important;width:34px!important;height:34px!important}
  .sidebar-group-label{display:block!important;margin:12px 8px 4px!important}
  .sidebar-footer{display:block!important;margin-top:auto!important;padding:12px 8px!important}
  .mobile-nav-backdrop{position:fixed;inset:0;background:rgba(25,42,44,.28);z-index:5001;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
  html.nebo-mobile-nav-open .mobile-nav-backdrop{display:block}
  #ordersWorkspace #ordersTable{min-width:1120px!important}
}


@media(max-width:820px){
  html.nebo-android-app .orders-main-mobile{display:table-cell!important}
  html.nebo-android-app .orders-main-desktop{display:none!important}
  html.nebo-android-app .order-identity-school{font-size:15px!important}
  html.nebo-android-app .order-identity-class{font-size:16px!important}
  html.nebo-android-app .order-identity-city{font-size:11px!important;padding:4px 8px!important}
  html.nebo-android-app .order-identity-phone{font-size:11px!important}
}


/* =========================================================
   V30 — КАЛЕНДАРЬ НАТИВНО В CRM
   ========================================================= */
.crm-calendar-card{overflow:hidden;background:#fff;border:1px solid #c8dcda;border-radius:20px;box-shadow:0 9px 27px rgba(55,99,94,.085)}
.crm-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #dce9e7;background:linear-gradient(135deg,#f9fdfc,#f6fbff)}
.crm-calendar-title{font-size:24px;font-weight:900;color:#20373b;letter-spacing:-.02em}
.crm-calendar-sync{margin-top:5px;font-size:12px;color:#6b8285}
.crm-calendar-nav{display:flex;align-items:center;gap:7px}.crm-calendar-nav button{min-height:40px;padding:8px 13px;border:1px solid #cddfdd;border-radius:11px;background:#fff;color:#29484c;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.crm-calendar-nav button:not(#crmCalendarToday){width:42px;padding:0;font-size:22px}.crm-calendar-nav button:hover{background:#f0f8f6}
.crm-calendar-legend{display:flex;align-items:center;justify-content:center;gap:10px 14px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #dbe8e6;background:#f7fbfa;font-size:12px;color:#38575b;font-weight:800}.crm-calendar-legend span{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;background:#fff;border:1px solid #d9e6e4;box-shadow:0 2px 6px rgba(55,99,94,.04)}.crm-legend-dot{width:18px;height:18px;border-radius:6px;border:1px solid rgba(0,0,0,.08);flex:0 0 18px}.crm-legend-dot.free{background:#fff}.crm-legend-dot.partial{background:#dfeeff}.crm-legend-dot.full{background:#ffd9d9}.crm-legend-dot.past{background:#e8e8f3}
.crm-calendar-block-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #dbe8e6;background:#fff}.crm-calendar-block-toggle{border:1px solid #d6e1df;background:#f7fbfa;color:#355b55;border-radius:11px;padding:10px 13px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.crm-calendar-block-toggle.active{background:#b83f3f;color:#fff;border-color:#b83f3f}.crm-calendar-block-help{font-size:11px;color:#738487}.crm-calendar-weekdays,.crm-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.crm-calendar-weekdays{border-bottom:1px solid #dce8e6;background:#fbfdfd}.crm-calendar-weekdays div{text-align:center;padding:10px 3px;color:#789093;font-size:11px;font-weight:900}.crm-calendar-cell{position:relative;min-width:0;min-height:116px;padding:9px;border-right:1px solid #e1e9e8;border-bottom:1px solid #e1e9e8;background:#fff;overflow:hidden;transition:filter .15s ease,transform .15s ease}.crm-calendar-cell:nth-child(7n){border-right:0}.crm-calendar-cell.empty{background:#fbfcfc}.crm-calendar-cell.partial{background:linear-gradient(135deg,#edf7ff,#dfedff)}.crm-calendar-cell.full{background:linear-gradient(135deg,#fff1f1,#ffdada)}.crm-calendar-cell.blocked{background:linear-gradient(135deg,#ffe3e3,#ffc8c8)!important;box-shadow:inset 0 0 0 2px #c95353}.crm-calendar-cell.block-mode{cursor:pointer}.crm-calendar-cell.block-mode:hover{transform:translateY(-1px);filter:brightness(.985)}.crm-calendar-block-badge{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:#b84444;color:#fff;font-size:9px;font-weight:900;letter-spacing:.04em}.crm-calendar-cell.past{background:linear-gradient(135deg,#f0f0f6,#e6e7f1)!important;color:#858a9c}.crm-calendar-cell.today{box-shadow:inset 0 0 0 3px #4c9b83}.crm-calendar-cell.future{cursor:pointer}.crm-calendar-cell.future:hover{filter:brightness(.985)}
.crm-calendar-day-number{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:rgba(255,255,255,.72);font-size:14px;font-weight:900;color:#294045}.crm-calendar-cell.today .crm-calendar-day-number{background:#4c9b83;color:#fff}.crm-calendar-cell.past .crm-calendar-day-number{color:#7b8091}.crm-calendar-past-badge{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;background:rgba(100,105,140,.12);font-size:8px;font-weight:900;letter-spacing:.05em;color:#777c90}.crm-calendar-times{margin-top:7px;display:grid;gap:3px}.crm-calendar-time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:800;color:#425d62}.crm-calendar-cell.past .crm-calendar-time{color:#858a9c}.crm-calendar-empty-label{margin-top:9px;font-size:10px;color:#789094;font-weight:700}
.crm-calendar-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(26,44,47,.42)}.crm-calendar-modal.show{display:flex}.crm-calendar-modal-card{position:relative;width:min(700px,100%);max-height:85vh;overflow:auto;padding:24px;background:#fff;border-radius:20px;box-shadow:0 22px 70px rgba(20,40,45,.24)}.crm-calendar-modal-card h3{margin:0 42px 5px 0;color:#20373b;font-size:23px}.crm-calendar-modal-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:11px;background:#eef5f4;color:#35585b;font-size:24px;cursor:pointer}.crm-calendar-modal-status{color:#6e8486;font-size:13px}.crm-calendar-modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.crm-calendar-modal-columns>div>strong{display:block;margin-bottom:9px;font-size:11px;color:#617679;letter-spacing:.05em}.crm-calendar-slot{display:flex;justify-content:space-between;gap:12px;margin-top:7px;padding:10px 12px;border-radius:11px;font-size:13px;font-weight:800}.crm-calendar-slot.busy{background:#fff0f0;color:#8a4242}.crm-calendar-slot.free{background:#edf8f3;color:#32715c}.crm-calendar-modal-empty{padding:11px 2px;color:#7a8c8f;font-size:13px}
@media(max-width:760px){
.crm-calendar-card{width:100%;max-width:100%;overflow:hidden;border-radius:14px}
.crm-calendar-top{padding:12px 10px;align-items:stretch;flex-direction:column;gap:10px}
.crm-calendar-title{font-size:19px;line-height:1.2}
.crm-calendar-sync{font-size:10px;line-height:1.35}
.crm-calendar-nav{display:grid;grid-template-columns:1fr 42px 42px;gap:6px;width:100%}
.crm-calendar-nav button{min-height:40px;padding:6px 8px;font-size:11px;min-width:0}
.crm-calendar-nav button:not(#crmCalendarToday){width:42px;font-size:19px}
.crm-calendar-legend{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;gap:7px;padding:9px;font-size:9px}
.crm-calendar-legend span{min-width:0;width:100%;padding:7px 8px;gap:6px;line-height:1.15}
.crm-legend-dot{width:14px;height:14px;flex:0 0 14px;border-radius:4px}
.crm-calendar-block-tools{display:block;padding:9px}
.crm-calendar-block-toggle{width:100%;min-height:42px;white-space:normal}
.crm-calendar-block-help{margin-top:7px;line-height:1.35}
.crm-calendar-weekdays,.crm-calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}
.crm-calendar-weekdays div{font-size:8px;padding:7px 0;overflow:hidden}
.crm-calendar-cell{min-height:80px;padding:4px 3px}
.crm-calendar-day-number{width:25px;height:25px;font-size:11px}
.crm-calendar-time{font-size:7px}
.crm-calendar-block-badge{max-width:100%;font-size:6px;padding:3px 4px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-calendar-past-badge{font-size:6px;padding:2px 4px}
.crm-calendar-empty-label{display:none}
.crm-calendar-modal{align-items:flex-end;padding:8px}
.crm-calendar-modal-card{border-radius:18px 18px 10px 10px;padding:20px 16px}
.crm-calendar-modal-columns{grid-template-columns:1fr}
.crm-calendar-toolbar{width:100%}
}
@media(max-width:390px){
.crm-calendar-legend{grid-template-columns:1fr}
.crm-calendar-cell{min-height:72px}
.crm-calendar-time{font-size:6.5px}
}


/* ==========================================================
   NEBO CRM v43 — LIGHT TYPE + COMPACT ORDER CARD
   ========================================================== */
body, button, input, select, textarea {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 400;
}
body { letter-spacing: -0.006em; }
.sidebar-title, .brand-title, h1, h2, h3, .modal-title, .workspace-title,
.compact-section-title, .order-stage-title, .order-client, .order-number { font-weight: 600 !important; }
.nav-item, .btn, button, .status, .confirmation-badge, .order-badge, th { font-weight: 500 !important; }
td, .secondary-line, .order-muted, .compact-row-label, .compact-row-value,
.order-identity, .detail-label, .detail-value { font-weight: 400 !important; }

.v43-primary-card{background:#fff;border:1px solid #dce7e5;border-radius:17px;padding:18px;margin-bottom:12px;box-shadow:0 4px 15px rgba(50,85,82,.035)}
.v43-primary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.v43-primary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.v43-primary-grid .order-mini{background:#f7faf9;border:1px solid #e5eeec;border-radius:11px;padding:10px 11px;min-height:62px}
.v43-primary-grid .order-mini span{font-size:11px;color:#7a8a8b;font-weight:400}
.v43-primary-grid .order-mini strong{display:block;margin-top:5px;color:#283b3d;font-size:14px;font-weight:500;line-height:1.35}

.v43-special-card{border:1px solid #dfe7e6;border-radius:16px;padding:15px 16px;background:#fbfdfd;margin-top:12px}
.v43-special-card.has-note{background:#fffaf0;border-color:#ead9ad}
.v43-special-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v43-special-sub{margin-top:3px;color:#7a898b;font-size:12px;line-height:1.45}
.v43-note-marker{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0c9;color:#8a6416;font-size:10px;font-weight:600;letter-spacing:.04em}
.v43-special-textarea{width:100%;margin-top:11px;min-height:82px;resize:vertical;border:1px solid #d9e3e1;border-radius:11px;background:#fff;color:#26383b;padding:11px 12px;font-size:14px;line-height:1.5;outline:none}
.v43-special-textarea:focus{border-color:#9ebdb7;box-shadow:0 0 0 3px rgba(120,170,160,.1)}
.v43-special-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px}
.v43-save-status{font-size:12px;color:#4d806c}
.special-request-list-badge{display:inline-flex;align-items:center;margin-top:7px;padding:4px 8px;border-radius:999px;background:#fff3cf;color:#7b5a15;border:1px solid #ead9a8;font-size:10px;font-weight:500;white-space:nowrap}

.v43-shoots{border-color:#dce7e5!important;background:#fff!important}
.v43-stage-box{margin-top:12px!important}
.v43-details-toggle{width:100%;margin-top:12px;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid #dfe7e6;border-radius:12px;background:#f7faf9;color:#4c6265;cursor:pointer;font-size:13px;font-weight:500!important}
.v43-details-toggle:hover{background:#f1f6f5}
.v43-details-arrow{font-size:20px;line-height:1;transition:transform .16s ease}
.v43-details-toggle.open .v43-details-arrow{transform:rotate(180deg)}
.v43-order-details{margin-top:12px;padding-top:3px}
.v43-order-details[hidden]{display:none!important}

@media(max-width:760px){
  .v43-primary-card{padding:14px}
  .v43-primary-head{flex-direction:column}
  .v43-primary-grid{grid-template-columns:1fr 1fr}
  .v43-special-card{padding:13px}
}
@media(max-width:480px){.v43-primary-grid{grid-template-columns:1fr}}

/* Native browser PDF fallback: render only the existing payment template on A4. */
@media print {
  @page { size: A4 portrait; margin: 0; }
  body.nebo-payment-print-active, body.nebo-payment-print-active html { background: #fff !important; }
  body.nebo-payment-print-active * { visibility: hidden !important; }
  body.nebo-payment-print-active #paymentPdfTemplate,
  body.nebo-payment-print-active #paymentPdfTemplate * { visibility: visible !important; }
  body.nebo-payment-print-active #paymentPdfTemplate {
    position: fixed !important; left: 0 !important; top: 0 !important;
    width: 210mm !important; z-index: 2147483647 !important;
    margin: 0 !important; padding: 0 !important;
  }
  body.nebo-payment-print-active #paymentPdfTemplate .payment-pdf-page {
    width: 210mm !important; height: 297mm !important;
    box-sizing: border-box !important; overflow: hidden !important;
  }
}

.payment-history-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid #e2e6ea;border-radius:10px;background:#f7fafb;font-size:12px;font-weight:700}
.payment-history-bulk button{border:0;border-radius:8px;padding:9px 13px;background:#a53136;color:#fff;font:inherit;cursor:pointer}
.payment-history-bulk button:disabled{opacity:.45;cursor:not-allowed}
.payment-test-select{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;color:#a53136;cursor:pointer}
.payment-test-select input{width:17px;height:17px;accent-color:#a53136}

.payment-test-order-cleanup{display:grid;gap:8px;padding:12px;margin:8px 0 12px;background:#edf8f6;border:1px solid #d2ebe4;border-radius:12px;font-size:12px;font-weight:700}
.payment-test-order-cleanup select{padding:10px 12px;border-radius:8px;background:white;border:1px solid #c9dbd5;font:inherit}
.payment-test-order-cleanup button{padding:10px 12px;border-radius:8px;background:#a53136;color:white;border:0;font:inherit;cursor:pointer}
.payment-test-order-cleanup button:disabled{opacity:.45;cursor:not-allowed}
.payment-test-order-cleanup small{color:#63777a;font-weight:500}

/* Полная форма редактирования расчётного документа (v47/YDB) */
.payment-edit-banner{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 18px;padding:15px 16px;background:linear-gradient(110deg,#e6f6f1,#edf3fb);border:1px solid #bfdcd5;border-radius:14px;color:#204f49}
.payment-edit-banner[hidden],.payment-edit-adjustment[hidden]{display:none!important}
.payment-edit-banner strong{display:block;font-size:15px}
.payment-edit-banner p{margin:6px 0 0;font-size:12px;line-height:1.5;color:#4e716e}
.payment-edit-adjustment{padding:12px 15px;border:1px solid #d5dfeb;border-radius:12px;background:#f4f8fc;margin:12px 0}
.payment-edit-adjustment label{font-weight:700;display:flex;align-items:center;gap:10px;cursor:pointer}
.payment-edit-adjustment input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:#408f89}
.payment-edit-adjustment small{display:block;color:#677782;line-height:1.5;margin-top:8px}
.payment-doc-card:has(.payment-edit-banner:not([hidden])){outline:2px solid #8bcfc2;outline-offset:0}
@media(max-width:650px){.payment-edit-banner{align-items:stretch;flex-direction:column}.payment-edit-banner button{width:100%}}

/* Keep the login overlay out of sight on refresh when a saved session exists. */
html.nebo-saved-session #neboClassicGate { display:none !important; }

/* NEBO HOME MENU — 2026-11-07: compact single-column home, same navigation mechanism */
.nebo-home-menu{max-width:980px;margin:0 auto 36px;}
.nebo-home-heading{padding:12px 2px 22px;}
.nebo-home-eyebrow{display:inline-block;color:#4b8b84;font-size:11px;letter-spacing:.16em;font-weight:850;margin-bottom:9px;}
.nebo-home-heading h2{color:#203c43;font-size:clamp(26px,3.3vw,37px);line-height:1.14;letter-spacing:-.04em;margin:0 0 8px;font-weight:850;}
.nebo-home-heading p{margin:0;color:#718389;font-size:14px;}
.nebo-home-actions{display:flex;flex-direction:column;gap:12px;}
.nebo-home-action{display:flex;align-items:center;text-align:left;gap:20px;width:100%;min-height:96px;background:linear-gradient(112deg,#fff,#fafdff);border:1px solid #d9e9e7;border-radius:20px;padding:19px 25px;color:#173d43;cursor:pointer;box-shadow:0 6px 25px rgba(36,108,110,.065);font:inherit;transition:transform .14s,box-shadow .14s,border-color .14s;}
.nebo-home-action:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(36,108,110,.12);border-color:#86bcb5;}
.nebo-home-action:focus-visible,.sidebar-text-brand:focus-visible,.nebo-header-home:focus-visible{outline:3px solid #318b96;outline-offset:3px;}
.nebo-home-icon{display:flex;align-items:center;justify-content:center;flex:0 0 57px;height:57px;border-radius:17px;background:linear-gradient(140deg,#e3f4ef,#e7f1fb);color:#317c79;font-size:29px;font-weight:800;}
.nebo-home-copy{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;}
.nebo-home-copy strong{font-size:21px;font-weight:800;line-height:1.15;color:#203d44;}
.nebo-home-copy small{font-size:13px;color:#718489;font-weight:550;line-height:1.3;}
.nebo-home-arrow{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#eff7f5;width:40px;height:40px;font-size:25px;color:#327c78;flex:0 0 40px;}
.sidebar-text-brand{display:block;width:calc(100% - 16px);text-align:left;cursor:pointer;font-family:inherit;}
.sidebar-text-brand:hover .sidebar-text-brand-name{color:#287f8a;}
.nebo-header-home{border:0;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit;padding:0;}
@media(max-width:820px){.nebo-home-menu{margin:0 0 24px;}.nebo-home-heading{padding:4px 0 16px;}.nebo-home-actions{gap:9px;}.nebo-home-action{min-height:78px;padding:13px 15px;gap:13px;border-radius:16px;}.nebo-home-icon{flex-basis:47px;height:47px;border-radius:13px;font-size:24px;}.nebo-home-copy strong{font-size:18px;}.nebo-home-copy small{font-size:11px;}.nebo-home-arrow{width:30px;height:30px;flex-basis:30px;font-size:19px;}}


/* NEBO home quick actions: restrained visual separation into four work areas. */
.nebo-home-actions{gap:27px;}
.nebo-home-group{display:flex;flex-direction:column;gap:12px;min-width:0;}
.nebo-home-group+.nebo-home-group{padding-top:23px;border-top:1px solid #dce9e7;}
.nebo-home-group-label{display:flex;align-items:center;padding:0 3px 2px;color:#7e9698;font-size:11px;font-weight:750;letter-spacing:.075em;text-transform:uppercase;}
@media(max-width:820px){.nebo-home-actions{gap:21px;}.nebo-home-group{gap:9px;}.nebo-home-group+.nebo-home-group{padding-top:17px;}.nebo-home-group-label{font-size:10px;}}

/* NEBO 2026-11-07: единая иерархия заголовков, без повторов.
   Общий заголовок относится к оболочке, внутри разделов уже есть свой. */
.page-title, .page-subtitle { display:none !important; }
.workspace-subtitle { display:none !important; }
#leadsWorkspace > .workspace-intro { display:none !important; }
#newContractWorkspace .new-contract-head { display:none !important; }
.nebo-home-heading { padding:0 2px 17px; }
.nebo-home-heading h2 { margin:0; }
.nebo-orders-heading { margin:0 0 18px; font-size:clamp(25px,2.8vw,34px); line-height:1.15; font-weight:850; letter-spacing:-.03em; color:#1d3035; }
.workspace-intro { margin-bottom:18px; }
@media(max-width:820px) { .nebo-home-heading{padding:0 0 14px;} .nebo-orders-heading{margin-bottom:13px;font-size:26px;} }

/* Compact, centered dashboard title */
.nebo-home-heading{text-align:center;padding:4px 0 18px;}
.nebo-home-heading h2{font-size:22px;line-height:1.25;font-weight:700;letter-spacing:0;margin:0;}
@media(max-width:820px){.nebo-home-heading{padding:4px 0 14px;}.nebo-home-heading h2{font-size:20px;}}


/* ==============================================================
   НЕБО / 2026-11-07 — УТВЕРЖДЁННАЯ СИНЕ-БЕЛАЯ ДИЗАЙН-СИСТЕМА
   Только оформление; бизнес-логика, API, PDF и расписание нетронуты.
   =============================================================== */
:root{
 --v15-bg:#f7f9fd;--v15-surface:#fff;--v15-surface-soft:#f8faff;
 --v15-border:#e0e8f4;--v15-border-strong:#cbd9ee;
 --v15-text:#14284b;--v15-muted:#667891;--v15-muted-2:#8795aa;
 --v15-nav:#113e7b;--v15-nav-soft:#20559a;
 --v15-blue:#256bd3;--v15-blue-soft:#eaf2ff;
 --v15-green:#239b77;--v15-green-soft:#e7f7ef;
 --v15-amber:#9b700b;--v15-amber-soft:#fffaeb;
 --v15-purple:#7464d5;--v15-purple-soft:#f0edff;
 --v15-shadow:0 7px 22px rgba(21,58,115,.06);
 --v15-sidebar:252px;
}
html,body{font-family:"Segoe UI Variable Text","Segoe UI", "Helvetica Neue",Arial,sans-serif!important;color:var(--v15-text)!important}
body{background:#f7f9fd!important;letter-spacing:0;font-weight:400}
button,input,select,textarea{font-family:inherit!important;letter-spacing:0}
.app-nav{
 position:fixed!important;inset:0 auto 0 0!important;width:var(--v15-sidebar)!important;
 height:100vh!important;display:flex!important;flex-direction:column!important;gap:4px!important;
 background:linear-gradient(172deg,#0c356e 0%,#123f7d 55%,#1e5699 100%)!important;
 padding:19px 12px 22px!important;overflow-y:auto!important;
 border:0!important;border-radius:0!important;box-shadow:4px 0 24px rgba(22,56,112,.12)!important;z-index:60;
}
.sidebar-text-brand{
 display:flex!important;align-items:center;justify-content:center;flex:0 0 auto!important;
 margin:0 2px 28px!important;padding:12px 13px!important;width:calc(100% - 4px)!important;
 min-height:159px!important;border:1px solid rgba(255,255,255,.55)!important;
 border-radius:19px!important;background:#fff!important;cursor:pointer!important;
 box-shadow:0 5px 15px rgba(0,23,62,.15)!important;
}
.nebo-brand-image{display:block;width:100%;max-width:186px;max-height:142px;height:auto;object-fit:contain;object-position:center;aspect-ratio:auto}
.sidebar-group-label,.sidebar-footer{display:none!important}
.app-nav-button{
 min-height:49px!important;width:100%!important;display:flex!important;justify-content:flex-start!important;
 align-items:center!important;flex:0 0 auto!important;gap:11px!important;padding:10px 12px!important;
 background:transparent!important;border:1px solid transparent!important;border-radius:12px!important;
 color:#eff5ff!important;font-size:14px!important;font-weight:400!important;text-align:left!important;
 box-shadow:none!important;transition:background .18s ease,transform .18s ease!important;
}
.app-nav-button:hover{background:rgba(255,255,255,.13)!important;color:#fff!important;transform:none!important}
.app-nav-button.active{
 background:linear-gradient(95deg,rgba(94,155,240,.55),rgba(72,128,211,.28))!important;
 border-color:rgba(255,255,255,.12)!important;color:#fff!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.13)!important;
}
.app-nav-button .nav-icon{
 display:grid!important;place-items:center!important;flex:0 0 25px!important;width:25px!important;height:25px!important;
 background:transparent!important;color:#eff7ff!important;border-radius:0!important;font-size:19px!important;
}
.nebo-icon-svg{display:block;width:23px;height:23px;flex-shrink:0;stroke:currentColor}
.app-nav-button.active .nav-icon{color:#fff!important;background:transparent!important}
.app-nav-button .nav-text{color:inherit!important;font-weight:400!important;font-size:13.5px!important;line-height:1.3}
.app-nav-button[data-workspace="yougile"] .materials-nav-badge{background:#e8ecff!important;color:#173b7e!important}
.header{height:70px!important;margin-left:var(--v15-sidebar)!important;padding:0 27px!important;
 background:#fff!important;border-bottom:1px solid #e2e9f5!important;box-shadow:0 2px 12px rgba(39,77,125,.025)!important}
.header .logo{font-size:15px!important;color:#152a50!important;font-weight:450!important}
.header .logo-icon{background:linear-gradient(150deg,#3c92ed,#2367c8)!important;
 border-radius:12px!important;width:36px!important;height:36px!important;box-shadow:none!important}
.refresh-button{background:#fff!important;border:1px solid #dbe4f2!important;color:#355478!important;
 font-weight:500!important;border-radius:11px!important;min-height:38px!important;padding:0 14px!important;box-shadow:none!important}
.refresh-button:hover{background:#f4f8ff!important;color:#174a94!important}
.container{max-width:none!important;margin:0 0 0 var(--v15-sidebar)!important;
 padding:30px clamp(18px,3vw,42px) 70px!important;background:#f7f9fd!important}
.workspace-section{margin-top:10px!important}
.workspace-title,.nebo-orders-heading{color:#152e58!important;font-weight:550!important;letter-spacing:-.025em!important;font-size:27px!important}
.page-title,.page-subtitle{display:none!important}
.workspace-subtitle{display:none!important}
/* Home: exact four groups, crisp flat cards without illustrations or backplates */
.nebo-home-menu{max-width:1220px!important;margin:0 auto 28px!important}
.nebo-home-heading{text-align:center!important;padding:2px 0 22px!important}
.nebo-home-heading h2{font-weight:300!important;font-size:34px!important;letter-spacing:.12em!important;color:#123e82!important;line-height:1.2!important}
.nebo-home-actions{gap:23px!important}
.nebo-home-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 18px!important}
.nebo-home-group+.nebo-home-group{border-top:1px solid #dde6f4!important;padding-top:19px!important}
.nebo-home-group-label{grid-column:1 / -1;display:flex!important;gap:10px!important;align-items:center!important;
 padding:0 4px 2px!important;color:#2d4366!important;font-size:14px!important;
 font-weight:500!important;letter-spacing:.015em!important;text-transform:none!important}
.nebo-home-group-label .nebo-icon-svg{height:22px;width:22px;color:#236ad0}
.nebo-home-action{
 min-height:91px!important;display:flex!important;gap:16px!important;align-items:center!important;
 width:100%!important;padding:16px 21px!important;border:1px solid #dce6f4!important;border-radius:18px!important;
 background:#fff!important;color:#152847!important;box-shadow:0 5px 15px rgba(22,62,115,.055)!important;
 text-align:left!important;transform:none!important;
}
.nebo-home-action:hover{border-color:#9ebce8!important;background:#fbfdff!important;
 box-shadow:0 9px 25px rgba(28,80,146,.1)!important;transform:translateY(-1px)!important}
.nebo-home-icon{
 display:grid!important;place-items:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;
 border-radius:12px!important;background:#edf4ff!important;color:#246fd3!important;
 box-shadow:none!important;
}
.nebo-home-icon .nebo-icon-svg{width:30px;height:30px;stroke-width:1.9}
.nebo-home-action[data-dashboard-target="orders"] .nebo-home-icon{background:#f2efff!important;color:#755cda!important}
.nebo-home-action[data-dashboard-target="new-contract"] .nebo-home-icon{background:#e9f8f3!important;color:#1e9b72!important}
.nebo-home-action[data-dashboard-target="documents"] .nebo-home-icon{background:#edf5ff!important;color:#3977c7!important}
.nebo-home-action[data-dashboard-target="yougile"] .nebo-home-icon{background:#f3efff!important;color:#8459cd!important}
.nebo-home-action[data-dashboard-target="finance"] .nebo-home-icon{background:#fff6df!important;color:#d59b16!important}
.nebo-home-action[data-dashboard-target="calendar"] .nebo-home-icon{background:#e9f4ff!important;color:#2469c9!important}
.nebo-home-copy{gap:0!important}
.nebo-home-copy strong{font-size:20px!important;font-weight:450!important;color:#172947!important;letter-spacing:0!important}
.nebo-home-copy small{display:none!important}
.nebo-home-arrow{width:24px!important;height:24px!important;flex:0 0 24px!important;
 border-radius:0!important;background:none!important;font-size:23px!important;font-weight:300!important;color:#5c6b85!important}
/* Uniform panels / tables / controls throughout CRM */
.dashboard-panel,.dashboard-quick,.dashboard-kpi,.dashboard-action,.dashboard-shoot-panel,
.stat,.filters-card,.table-card,.payment-card,.payment-document-card,.payment-panel,
.season-finance-panel,.season-finance-stat,.season-finance-card,.business-expense-summary-card,
.workspace-card,.crm-calendar-card,.documents-card,.new-contract-shell,
.card,.calendar-frame-card,.modal,.modal-content,.payment-documents-card{
 background-color:#fff!important;border-color:#e0e8f3!important;
 box-shadow:0 5px 18px rgba(18,50,96,.052)!important;border-radius:17px!important;
}
.stat,.season-finance-stat{padding:19px!important}
.stats,.season-finance-grid,.season-finance-stats{gap:12px!important}
.stat-value,.season-finance-stat strong,.season-panel-total{color:#152d54!important;font-weight:650!important}
.stat-title,.season-finance-stat span,.dashboard-kpi-label{color:#74859c!important;font-weight:550!important;letter-spacing:.035em}
.filters,.filters-card{background-color:#fff!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,.input,.select{
 background-color:#fff!important;color:#172f56!important;border-color:#d8e2f0!important;border-radius:11px!important;
 font-size:13.5px!important;font-weight:400!important;box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#8b99ac!important;font-weight:400!important}
input:focus,select:focus,textarea:focus{border-color:#82ade9!important;outline-color:#7faef0!important}
.btn,.btn-primary,.primary-button,.reset-button,.refresh-button,
button:not(.app-nav-button):not(.nebo-home-action):not(.logo):not(.sidebar-text-brand){
 font-family:inherit!important;letter-spacing:0;font-weight:500;
}
.btn.primary,.primary-button,.btn-primary,
.add-payment-btn,.btn-create,.payment-submit-btn{
 background:#246bce!important;color:#fff!important;border-color:#246bce!important;
 border-radius:11px!important;box-shadow:none!important;font-weight:550!important;
}
.btn.primary:hover,.primary-button:hover,.btn-primary:hover{background:#1a57ad!important}
th{background:#f2f6fc!important;color:#536c90!important;border-bottom:1px solid #dce6f4!important;
 font-size:11px!important;font-weight:550!important;text-transform:none!important;letter-spacing:.01em!important}
td{border-bottom-color:#ecf0f6!important;font-size:12.5px!important;color:#233954!important;font-weight:400!important}
tbody tr:hover td{background:#f9fbff}
.table-wrap,.table-card{overflow:auto}
button:focus-visible,.nebo-home-action:focus-visible,.sidebar-text-brand:focus-visible{outline:2px solid #6a9dec!important;outline-offset:3px!important}
.new-contract-head{background:#1c4e91!important;border-color:#1c4e91!important}
.new-contract-head-text strong{font-weight:550!important}
.calendar-toolbar{background:#f2f6fc!important;border-color:#dbe5f4!important}
.calendar-toolbar button.active,.contract-tab.active{background:#fff!important;color:#205aa8!important}
.crm-calendar-top{background:#fff!important;border-color:#e1e9f5!important}
.crm-calendar-title{font-weight:550!important;color:#1e365a!important}
.crm-calendar-day.today{box-shadow:inset 0 0 0 2px #347bd1!important}
#neboClassicLogin{font-family:inherit!important}
/* Important: status, alert, money semantics, and PDF print definitions remain unaltered. */
@media(min-width:821px) and (max-width:1180px){
 :root{--v15-sidebar:220px}
 .app-nav{width:var(--v15-sidebar)!important;padding:15px 9px!important}
 .sidebar-text-brand{min-height:135px!important;margin-bottom:17px!important}
 .nebo-brand-image{max-height:118px}
 .app-nav-button .nav-text{display:block!important;font-size:12px!important}
 .app-nav-button{justify-content:flex-start!important;padding:8px 9px!important}
 .nebo-home-action{padding:13px!important}
 .nebo-home-copy strong{font-size:18px!important}
}
@media(max-width:820px){
 :root{--v15-sidebar:0px}
 .header{margin-left:0!important;height:60px!important;padding:0 14px!important}
 .container{margin-left:0!important;padding:18px 12px 55px!important}
 .app-nav{
   position:fixed!important;top:0!important;left:0!important;bottom:0!important;right:auto!important;
   width:min(82vw,290px)!important;height:100dvh!important;padding:16px 13px 22px!important;
   display:flex!important;flex-direction:column!important;align-items:stretch!important;
   border-radius:0 18px 18px 0!important;overflow-y:auto!important;
   background:linear-gradient(172deg,#0c356e 0%,#123f7d 55%,#1e5699 100%)!important;
   transform:translateX(-105%)!important;z-index:5002!important;
 }
 html.nebo-mobile-nav-open .app-nav{transform:translateX(0)!important}
 .sidebar-text-brand{display:flex!important;min-height:140px!important;margin:0 2px 16px!important}
 .nebo-brand-image{max-height:120px}
 .app-nav-button{width:100%!important;flex:0 0 auto!important;min-height:46px!important;justify-content:flex-start!important}
 .app-nav-button .nav-text{display:block!important;max-width:none!important;white-space:normal!important;font-size:13px!important}
 .app-nav-button .nav-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
 .mobile-nav-trigger{background:#174986!important;color:#fff!important;border:1px solid #3276c4!important;border-radius:14px!important}
 .mobile-nav-backdrop{background:rgba(4,23,54,.4)!important}
 .nebo-home-group{grid-template-columns:1fr!important;gap:10px!important}
 .nebo-home-actions{gap:19px!important}
 .nebo-home-action{min-height:76px!important;padding:12px 15px!important}
 .nebo-home-copy strong{font-size:17px!important}
 .nebo-home-icon{width:40px!important;height:40px!important;flex-basis:40px!important}
 .nebo-home-icon .nebo-icon-svg{width:25px;height:25px}
 .nebo-home-heading h2{font-size:26px!important}
}

/* One-column YouGile shortcut fills the row on desktop. */
.nebo-home-group[aria-label="Интеграция"] .nebo-home-action{grid-column:1/-1!important;}

/* 2026-11-07: logo-only patch. Retain approved navy sidebar and all other styles. */
.app-nav > .sidebar-text-brand {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 2px 4px 8px !important;
  min-height: 0 !important;
  margin: 0 2px 14px !important;
  width: calc(100% - 4px) !important;
  flex: 0 0 auto !important;
}
.app-nav > .sidebar-text-brand .nebo-brand-image {
  display: block !important;
  width: 100% !important;
  max-width: 185px !important;
  max-height: 158px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (min-width: 821px) and (max-width: 1180px) {
  .app-nav > .sidebar-text-brand .nebo-brand-image {max-width: 155px !important; max-height: 132px !important;}
}
@media (max-width: 820px) {
  .app-nav > .sidebar-text-brand {margin: 0 2px 12px !important; min-height: 0 !important;}
  .app-nav > .sidebar-text-brand .nebo-brand-image {max-width: 165px !important; max-height: 145px !important;}
}

/* НЕБО · изменение пароля, scoped styles; no impact on other CRM screens. */
.nebo-password-overlay[hidden]{display:none!important}
.nebo-password-overlay{position:fixed;inset:0;z-index:9999999;background:rgba(10,25,44,.65);display:flex;align-items:center;justify-content:center;padding:20px}
.nebo-password-dialog{position:relative;background:white;color:#152b41;box-shadow:0 22px 70px #0a1c3555;border-radius:18px;padding:29px;width:min(430px,100%);max-height:90vh;overflow:auto;font-family:inherit}
.nebo-password-dialog h2{font-size:24px;line-height:1.2;margin:0 35px 6px 0;font-weight:700}
.nebo-password-dialog>p{font-size:14px;color:#607184;margin:0 0 22px}
.nebo-password-dialog form label{display:block;font-size:13px;font-weight:650;margin:14px 0;color:#34485f}
.nebo-password-dialog form input{display:block;box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:9px;padding:12px;margin-top:7px;color:#16263d;font:inherit;background:white}
.nebo-password-dialog form input:focus{outline:2px solid #5da7e8;outline-offset:1px}
.nebo-password-hint{font-size:12px;color:#627387;margin:10px 0}
.nebo-password-result{font-size:13px;color:#b43d47;min-height:16px;margin:6px 0 8px}
.nebo-password-submit{width:100%;background:#1766a1;color:white;padding:13px;border:0;border-radius:10px;cursor:pointer;font:inherit;font-weight:700}
.nebo-password-submit:disabled{opacity:.65;cursor:wait}
.nebo-password-close{position:absolute;top:16px;right:17px;border:0;background:transparent;color:#627387;font-size:28px;cursor:pointer}

/* Yandex ID primary sign-in + unobtrusive emergency password entry */
.nebo-yandex-primary{display:block;width:100%;border:0;border-radius:10px;background:#ffdb4d;color:#141414;font-size:15px;font-weight:700;padding:15px 12px;cursor:pointer;margin:15px 0 19px;font-family:inherit}
.nebo-yandex-primary:hover{background:#ffe577}
.nebo-reserve-login{border-top:1px solid #e7e9ed;margin-top:12px;padding-top:13px}
.nebo-reserve-login summary{cursor:pointer;color:#516173;font-size:13px;list-style:none;text-decoration:underline}
.nebo-reserve-login summary::-webkit-details-marker{display:none}
.nebo-reserve-login label{display:block;margin-top:14px}

/* НЕБО · 2026-11-07 mobile readability & safe-area refinements.
   Purely visual; no changes to bookings, money or CRM actions. */
@media(max-width:820px){
  .container{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px))!important}
  .app-nav{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))!important}
  .mobile-nav-backdrop{touch-action:manipulation}
  .app-nav-button,.mobile-nav-trigger,.nebo-home-action,button{touch-action:manipulation}
  .table-wrap,.table-card{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .nebo-password-dialog{max-height:calc(100dvh - 24px);padding:22px}
  .modal{max-height:calc(100dvh - 16px)}
  .crm-calendar-day-number{width:27px;height:27px;font-size:13px}
  .crm-calendar-times,.crm-calendar-empty-label{font-size:10px;line-height:1.25}
  .crm-calendar-time{font-size:9px;line-height:1.3}
}
@media(max-width:650px){
  input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}
  .crm-calendar-weekdays div{font-size:10px}
  .crm-calendar-block-badge{font-size:10px}
  .crm-calendar-past-badge{font-size:10px}
}

/* NEBO mobile cards · viewport locked on x-axis; individual details remain scrollable */
@media (max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:clip!important;overscroll-behavior-x:none!important}
  .container,.workspace-section,.workspace-intro,.new-contract-shell,.dashboard-panel,.payment-doc-layout,.payment-doc-card,.crm-calendar-card,
  .season-finance-grid,.season-finance-panel,.season-finance-kpis,.filters-card,.table-card,.dashboard-hero,.dashboard-quick,.dashboard-kpis{
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important
  }
  .container{overflow-x:clip!important}
  .workspace-section>*{max-width:100%;min-width:0}
  .workspace-section .table-wrap,.nebo-yougile-desktop-table{max-width:100%;overflow-x:auto}
  .payment-doc-layout,.payment-doc-grid,.season-finance-grid,.season-finance-kpis,.dashboard-hero,.dashboard-kpis,
  .business-expense-summary,.business-expense-form{grid-template-columns:minmax(0,1fr)!important}
  .payment-doc-card input,.payment-doc-card select,.payment-doc-card textarea{max-width:100%;min-width:0}
  .calendar-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:8px!important}
  .calendar-tab-button{display:block!important;width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important}
  .crm-calendar-card,.crm-calendar-grid,.crm-calendar-weekdays{min-width:0!important;max-width:100%!important}
  .crm-calendar-nav{max-width:100%;display:flex;flex-wrap:wrap;gap:5px}
  .crm-calendar-top{flex-wrap:wrap;gap:9px}
  .crm-calendar-day{min-width:0!important}
  .crm-calendar-time,.crm-calendar-times{overflow-wrap:anywhere}
  .crm-calendar-legend{flex-wrap:wrap}
  .nebo-yougile-layout{grid-template-columns:minmax(0,1fr)!important}
  .nebo-yougile-staff-panel,.nebo-yougile-settings-mobile-hidden,.nebo-yougile-technical-note,
  [data-workspace-section="yougile"] .yougile-materials-note{display:none!important}
  .nebo-yougile-desktop-table{display:none!important}
  .nebo-yougile-mobile-list,.nebo-orders-mobile-list{display:grid!important;gap:10px;width:100%;min-width:0}
  #ordersWorkspace .table-wrap{display:none!important}
  .nebo-mobile-order-card,.nebo-yougile-mobile-card{display:block;min-width:0;width:100%;padding:15px;border-radius:14px;background:#fff;border:1px solid #dce6f2;box-shadow:0 3px 11px rgba(18,50,96,.05);overflow-wrap:anywhere}
  .nebo-mobile-order-card{cursor:pointer}
  .nebo-mobile-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
  .nebo-mobile-card-heading strong{color:#163762;font-size:15px}
  .nebo-mobile-card-heading .status{font-size:11px;max-width:55%;text-align:right}
  .nebo-mobile-card-school,.nebo-yc-school{font-size:15px;font-weight:700;color:#17345e;line-height:1.4}
  .nebo-mobile-card-secondary,.nebo-yc-city{font-size:12px;color:#70839a;margin-top:2px}
  .nebo-mobile-card-class,.nebo-yc-group{font-size:13px;font-weight:650;color:#355779;margin-top:5px}
  .nebo-mobile-card-phone{margin-top:9px;font-size:14px;color:#233e61;font-weight:600}
  .nebo-mobile-card-contract{margin-top:9px}
  .nebo-mobile-card-contract button,.nebo-mobile-card-contract a{min-height:38px}
  .nebo-mobile-card-open{display:flex;justify-content:space-between;margin-top:11px;border-top:1px solid #eff3fa;padding-top:9px;color:#567bad;font-size:12px}
  .nebo-mobile-empty{padding:16px;text-align:center;color:#73829b}
  .nebo-yougile-mobile-card>strong{display:block;font-size:14px;color:#193a69;margin-bottom:8px}
  .nebo-yc-materials{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin:13px 0}
  .nebo-yc-materials>a,.nebo-yc-materials>span{min-width:0;padding:10px 6px;border:1px solid #d6e1ef;border-radius:9px;background:#f7faff;text-align:center;font-size:11px;text-decoration:none;overflow-wrap:anywhere}
  .nebo-yc-materials>a{color:#165c85;font-weight:700;background:#eaf8f4}
  .nebo-yougile-mobile-card details{border-top:1px solid #eaf0f7;padding-top:9px}
  .nebo-yougile-mobile-card summary{cursor:pointer;color:#496e9b;font-size:12px}
  .nebo-yc-detail{display:grid;gap:10px;margin-top:10px;font-size:12px}
  .nebo-yc-error{color:#a33d42;overflow-wrap:anywhere}
  .filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .filters input,.filters select,.filters button{width:100%!important;min-width:0!important}
  .contract-tabs{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px}
  .contract-tab{min-width:0!important;width:100%;white-space:normal!important}
  .new-contract-frame{max-width:100%!important;min-width:0!important}
  .crm-calendar-modal-card,.modal{max-width:calc(100vw - 22px)!important}
}
@media (min-width:821px){.nebo-orders-mobile-list,.nebo-yougile-mobile-list{display:none!important}}

@media(max-width:820px){
  .season-finance-panel-head{flex-wrap:wrap}
  .season-panel-total{white-space:normal}
  .business-expense-row{grid-template-columns:minmax(0,1fr) auto!important;overflow-wrap:anywhere}
  .season-finance-kpi strong{white-space:normal!important;overflow-wrap:anywhere}
  .season-money-row-head{flex-wrap:wrap}
  .crm-calendar-grid,.crm-calendar-weekdays{width:100%!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .crm-calendar-day{overflow:hidden!important;max-width:100%!important}
  .payment-edit-banner{max-width:100%;overflow-wrap:anywhere}
  .payment-doc-card,.new-contract-shell{overflow-x:clip!important}
  .season-finance-panel-head>div{min-width:0}
}

/* 07.11.2026 — compact desktop windows: independent orders scroll rail */
@media(min-width:821px){
  #ordersWorkspace{min-width:0;max-width:100%;}
  #ordersWorkspace .table-card{max-width:100%;min-width:0;overflow:visible!important;}
  #ordersWorkspace .table-wrap{max-width:100%;width:100%;min-width:0;overflow-x:auto!important;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-x:contain;}
  #ordersWorkspace .nebo-orders-scrollbar{display:block;overflow-x:scroll;overflow-y:hidden;height:22px;width:100%;max-width:100%;background:#f0f4fb;border:1px solid #d9e3f2;border-radius:8px;margin:2px 0 6px;scrollbar-color:#80a4db #e9eff8;scrollbar-width:auto;}
  #ordersWorkspace .nebo-orders-scrollbar[hidden]{display:none!important;}
  #ordersWorkspace .nebo-orders-scrollbar-content{height:1px;min-width:100%;}
}
@media(max-width:820px){
  #ordersWorkspace .nebo-orders-scrollbar{display:none!important;}
  .nebo-mobile-card-main{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(0,1fr);gap:11px;align-items:start;}
  .nebo-mobile-card-primary,.nebo-mobile-card-facts{min-width:0;}
  .nebo-mobile-card-facts{display:grid;gap:8px;padding:1px 0 0 10px;border-left:1px solid #e5ecf5;}
  .nebo-mobile-card-facts>div{min-width:0;display:grid;gap:2px;}
  .nebo-mobile-card-facts span{font-size:10px;line-height:1.25;color:#74859a;overflow-wrap:anywhere;}
  .nebo-mobile-card-facts strong{font-size:12px;line-height:1.3;font-weight:650;color:#1b3b67;overflow-wrap:anywhere;}
  .nebo-mobile-card-school{font-size:18px!important;line-height:1.25!important;}
  .nebo-mobile-card-class{font-size:16px!important;line-height:1.28!important;}
  .nebo-mobile-card-phone{font-size:13px!important;overflow-wrap:anywhere;}
  #ordersWorkspace .nebo-orders-heading,.workspace-section>.workspace-intro,.workspace-section>.workspace-title,.workspace-section>h2,
  #ordersWorkspace .stats.orders-count-only{text-align:center!important;}
  #ordersWorkspace .stats.orders-count-only{display:flex!important;justify-content:center!important;}
  #ordersWorkspace .stats.orders-count-only .stat{width:min(100%,320px)!important;margin-inline:auto!important;text-align:center!important;}
  .workspace-intro .workspace-title{width:100%;text-align:center!important;}
  .workspace-section>.workspace-title,.workspace-section>h2{text-align:center!important;}
}
@media(min-width:821px){
  /* Security tools live at the bottom of the desktop side navigation. */
  nav.app-nav .nebo-security-nav{margin-top:auto!important;border-top:1px solid rgba(255,255,255,.20)!important;padding-top:13px!important;}
}

/* 07 Nov 2026 – compact desktop orders and centered phone cards */
@media (min-width:821px){
  #ordersWorkspace .table-wrap table{min-width:1450px!important}
  #ordersWorkspace .table-wrap th,#ordersWorkspace .table-wrap td{padding:11px 9px!important}
  #ordersWorkspace .table-wrap th:nth-child(3),#ordersWorkspace .table-wrap td:nth-child(3){min-width:188px;max-width:270px}
  #ordersWorkspace .table-wrap th:nth-child(4),#ordersWorkspace .table-wrap td:nth-child(4){min-width:92px;width:103px}
  #ordersWorkspace .table-wrap th:nth-child(6),#ordersWorkspace .table-wrap td:nth-child(6){min-width:95px;width:115px}
  #ordersWorkspace .table-wrap th:nth-child(7),#ordersWorkspace .table-wrap td:nth-child(7){min-width:116px;width:133px}
}
@media (max-width:820px){
  #ordersWorkspace .nebo-orders-mobile-list{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:calc(100vw - 24px)!important;margin:0 auto!important;justify-items:stretch}
  #ordersWorkspace .nebo-mobile-order-card{width:100%;max-width:100%;margin:0 auto!important}
  #ordersWorkspace .nebo-mobile-card-contract{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
  #ordersWorkspace .nebo-mobile-card-contract .nebo-mobile-confirmation{display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:0;font-size:12px;padding:8px 11px;border:1px solid #bcd8e7;background:#e9f5ff;color:#19496e;border-radius:11px;font-weight:700}
}
