.consulting-module {
  --consulting-ink: #17213b;
  --consulting-muted: #64708b;
  --consulting-blue: #3157d5;
  --consulting-blue-soft: #edf2ff;
  --consulting-green: #0f9f6e;
  --consulting-green-soft: #e9f9f3;
  --consulting-red: #db4b4b;
  --consulting-red-soft: #fff0f0;
  --consulting-amber: #d68a18;
  --consulting-border: #dde3ef;
  color: var(--consulting-ink);
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 400;
}

.consulting-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: -2px -2px 18px;
  padding: 28px 30px;
  overflow: hidden;
  border: 1px solid #dce5ff;
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 15%, rgba(83, 117, 231, .18), transparent 28%),
    linear-gradient(135deg, #f8faff 0%, #eef3ff 58%, #fbfcff 100%);
  box-shadow: 0 18px 45px rgba(49, 87, 213, .08);
}

.consulting-hero h1 {
  margin: 3px 0 7px;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 600;
  letter-spacing: -.035em;
}

.consulting-hero p,
.consulting-panel-head p,
.consulting-list-head p {
  margin: 0;
  color: var(--consulting-muted);
}

.consulting-eyebrow {
  display: block;
  color: var(--consulting-blue);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.consulting-hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.consulting-integration-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 190px;
  padding: 10px 14px;
  border: 1px solid rgba(49, 87, 213, .18);
  border-radius: 14px;
  background: rgba(255, 255, 255, .78);
}

.consulting-integration-pill span:last-child {
  display: grid;
  gap: 1px;
}

.consulting-integration-pill small {
  color: var(--consulting-muted);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
}

.consulting-integration-pill strong { font-size: 12px; font-weight: 600; }

.consulting-status-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border: 3px solid #fff1bd;
  border-radius: 50%;
  background: #e8a91a;
  box-shadow: 0 0 0 2px #e8a91a;
}

.consulting-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 18px;
  padding: 5px;
  width: max-content;
  max-width: 100%;
  border: 1px solid var(--consulting-border);
  border-radius: 14px;
  background: #f5f7fb;
}

.consulting-tabs button {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border: 0;
  border-radius: 10px;
  color: var(--consulting-muted);
  background: transparent;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}

.consulting-tabs button.active {
  color: var(--consulting-ink);
  background: #fff;
  box-shadow: 0 3px 12px rgba(31, 43, 77, .1);
}

.consulting-tabs button span {
  min-width: 22px;
  padding: 2px 7px;
  border-radius: 99px;
  color: var(--consulting-blue);
  background: var(--consulting-blue-soft);
  font-size: 11px;
  text-align: center;
}

.consulting-search-panel {
  margin-bottom: 10px;
  padding: 14px 16px;
}

.consulting-search-top {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}

.consulting-search-top > span {
  color: #34405a;
  font-size: 13px;
  font-weight: 600;
}

.consulting-search-top input {
  min-height: 44px;
  padding-left: 42px;
  border-color: #cfd8e8;
  background:
    linear-gradient(90deg, transparent 39px, #e8ecf3 39px, #e8ecf3 40px, transparent 40px),
    #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2364708b' stroke-width='1.8'%3E%3Ccircle cx='8' cy='8' r='5.5'/%3E%3Cpath d='m12 12 4 4'/%3E%3C/svg%3E") no-repeat 12px center;
}

.consulting-controls {
  display: grid;
  grid-template-columns: minmax(160px, .9fr) 90px 120px minmax(190px, 1.1fr) 130px minmax(170px, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 16px;
}

.consulting-period-summary {
  display: grid;
  align-self: center;
  gap: 3px;
}

.consulting-period-summary span {
  color: var(--consulting-muted);
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
}

.consulting-period-summary strong {
  font-size: 15px;
  font-weight: 600;
}

.consulting-controls label,
.consulting-search-panel label,
.consulting-annex-controls label,
.consulting-form-grid label,
.consulting-payment-modal form > label {
  display: grid;
  gap: 6px;
}

.consulting-controls label > span,
.consulting-annex-controls label > span,
.consulting-form-grid label > span,
.consulting-payment-modal form > label > span {
  color: var(--consulting-muted);
  font-size: 11px;
  font-weight: 500;
}

.consulting-controls select,
.consulting-search-panel input,
.consulting-annex-controls input,
.consulting-annex-controls select,
.consulting-form-grid input,
.consulting-form-grid select,
.consulting-form-section textarea,
.consulting-payment-modal input,
.consulting-payment-modal textarea {
  width: 100%;
  min-height: 40px;
  border: 1px solid #d8deea;
  border-radius: 10px;
  color: var(--consulting-ink);
  background: #fff;
  font: inherit;
}

.consulting-controls select {
  border-color: #d8deea !important;
  background-color: #fff !important;
  box-shadow: none !important;
}

.consulting-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 15px 0;
}

.consulting-kpi {
  position: relative;
  min-height: 116px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--consulting-border);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 22px rgba(31, 43, 77, .055);
}

.consulting-kpi::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -30px;
  width: 85px;
  height: 85px;
  border-radius: 50%;
  background: var(--kpi-soft, var(--consulting-blue-soft));
}

.consulting-kpi small,
.consulting-kpi span {
  display: block;
  position: relative;
  z-index: 1;
}

.consulting-kpi small {
  color: var(--consulting-muted);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
}

.consulting-kpi strong {
  display: block;
  position: relative;
  z-index: 1;
  margin: 10px 0 4px;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 600;
  letter-spacing: -.03em;
}

.consulting-kpi span {
  color: var(--consulting-muted);
  font-size: 11px;
}

.consulting-kpi.is-green { --kpi-soft: var(--consulting-green-soft); }
.consulting-kpi.is-red { --kpi-soft: var(--consulting-red-soft); }
.consulting-kpi.is-amber { --kpi-soft: #fff7e7; }

.consulting-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr);
  gap: 15px;
  margin-bottom: 22px;
}

.consulting-monthly-card,
.consulting-annex-mini,
.consulting-annex-builder,
.consulting-annex-guide { padding: 19px; }

.consulting-panel-head,
.consulting-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.consulting-panel-head h2,
.consulting-list-head h2 {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.015em;
}

.consulting-panel-head p,
.consulting-list-head p { font-size: 12px; }

.consulting-legend {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--consulting-muted);
  font-size: 10px;
  white-space: nowrap;
}

.consulting-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.consulting-legend .is-invoiced { background: #6682df; }
.consulting-legend .is-collected { margin-left: 5px; background: var(--consulting-green); }

.consulting-monthly-chart {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.consulting-month-row {
  display: grid;
  grid-template-columns: 70px minmax(120px, 1fr) 115px;
  align-items: center;
  gap: 10px;
  font-size: 11px;
}

.consulting-month-row > span:first-child { color: var(--consulting-muted); font-weight: 500; text-transform: capitalize; }
.consulting-month-row > strong { font-size: 11px; font-weight: 600; text-align: right; }

.consulting-month-bars {
  display: grid;
  gap: 3px;
}

.consulting-month-bars i {
  display: block;
  width: max(3px, var(--bar-width));
  height: 7px;
  border-radius: 10px;
  background: #6682df;
}

.consulting-month-bars i:last-child { background: var(--consulting-green); }

.consulting-mini-annex-list { display: grid; gap: 9px; margin-top: 14px; }
.consulting-mini-annex {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid #e6eaf2;
  border-radius: 11px;
}
.consulting-mini-annex > span:first-child { color: var(--consulting-blue); font-size: 11px; font-weight: 600; }
.consulting-mini-annex strong { display: block; font-size: 12px; font-weight: 600; }
.consulting-mini-annex small { color: var(--consulting-muted); font-size: 10px; }

.consulting-list-head { align-items: center; margin: 22px 2px 11px; }
.consulting-selection-hint {
  padding: 8px 12px;
  border-radius: 10px;
  color: var(--consulting-blue);
  background: var(--consulting-blue-soft);
  font-size: 11px;
  font-weight: 600;
}

.consulting-projects { display: grid; gap: 15px; }

.consulting-project-card {
  overflow: hidden;
  border: 1px solid var(--consulting-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(31, 43, 77, .055);
}

.consulting-project-card.is-selected { border-color: #9cb1f1; box-shadow: 0 0 0 3px rgba(49, 87, 213, .08); }

.consulting-project-head {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 18px 19px;
  border-bottom: 1px solid #edf0f5;
}

.consulting-select-project { width: 20px; height: 20px; accent-color: var(--consulting-blue); }
.consulting-project-title h3 { margin: 7px 0 5px; font-size: clamp(22px, 2.2vw, 30px); font-weight: 600; letter-spacing: -.025em; line-height: 1.12; }
.consulting-project-title p { margin: 0; color: var(--consulting-muted); font-size: 11px; }
.consulting-project-title p strong { color: #34405a; }
.consulting-project-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.consulting-tag,
.consulting-consultant-chip,
.consulting-collection-status,
.consulting-annex-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 4px 8px;
  border-radius: 99px;
  color: #4c5873;
  background: #f1f4f8;
  font-size: 10px;
  font-weight: 600;
}
.consulting-tag.is-status-in_curs { color: #08714e; background: var(--consulting-green-soft); }
.consulting-tag.is-status-suspendat { color: #a45e00; background: #fff4dc; }
.consulting-tag.is-status-finalizat { color: #526078; background: #edf0f5; }
.consulting-tag.is-demo { color: #805500; background: #fff3cf; }
.consulting-consultant-chip { color: #3157d5; background: #edf2ff; }

.consulting-project-focus {
  display: grid;
  grid-template-columns: minmax(270px, .85fr) minmax(480px, 1.6fr);
  gap: 22px;
  align-items: center;
  padding: 20px;
  background: linear-gradient(100deg, #f8faff, #fff 55%);
}

.consulting-work-progress {
  padding: 16px 18px;
  border: 1px solid #dce5ff;
  border-radius: 15px;
  background: #fff;
}
.consulting-progress-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.consulting-progress-copy span { color: #526078; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.consulting-progress-copy strong { color: #3157d5; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.consulting-progress-track { height: 8px; overflow: hidden; margin: 12px 0 9px; border-radius: 99px; background: #e7ebf2; }
.consulting-progress-track i { display: block; height: 100%; border-radius: inherit; background: #3d63d8; }
.consulting-work-progress small { color: var(--consulting-muted); font-size: 10px; }

.consulting-project-metrics { display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 9px; }
.consulting-project-metric {
  padding: 13px 14px;
  border-radius: 12px;
  background: #f7f8fb;
}
.consulting-project-metric small { display: block; color: var(--consulting-muted); font-size: 9px; text-transform: uppercase; }
.consulting-project-metric strong { display: block; margin-top: 5px; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.consulting-project-metric.is-collected { color: #08714e; background: var(--consulting-green-soft); }
.consulting-project-metric.is-due { color: #ae3636; background: var(--consulting-red-soft); }

.consulting-card-actions { display: flex; gap: 6px; }
.consulting-icon-button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #dfe4ee;
  border-radius: 9px;
  color: #50607e;
  background: #fff;
  cursor: pointer;
}
.consulting-icon-button.danger { color: #b83a3a; border-color: #f0cdcd; }

.consulting-card-summary {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(180px, .6fr) auto;
  align-items: center;
  gap: 14px;
  padding: 13px 19px;
  border-top: 1px solid #edf0f5;
}
.consulting-milestones { display: grid; grid-template-columns: repeat(4, minmax(65px, 1fr)); gap: 6px; }
.consulting-milestone { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 7px 9px; border-radius: 9px; color: #526078; background: #f3f5f8; }
.consulting-milestone b { font-size: 10px; }
.consulting-milestone small { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.consulting-milestone.is-incasat { color: #08714e; background: var(--consulting-green-soft); }
.consulting-milestone.is-partial { color: #a45e00; background: #fff4dc; }
.consulting-finance-progress { position: relative; height: 8px; overflow: visible; border-radius: 99px; background: #edf0f5; }
.consulting-finance-progress i { display: block; height: 100%; border-radius: inherit; background: var(--consulting-green); }
.consulting-finance-progress span { position: absolute; top: 12px; right: 0; color: var(--consulting-muted); font-size: 9px; font-weight: 740; }
.consulting-details-button { padding: 9px 12px; border: 1px solid #cfd8ee; border-radius: 9px; color: #3157d5; background: #f8faff; font: inherit; font-size: 10px; font-weight: 600; cursor: pointer; }

.consulting-installments { display: grid; grid-template-columns: repeat(4, minmax(210px, 1fr)); }
.consulting-installment { padding: 15px 17px 17px; border-right: 1px solid #edf0f5; }
.consulting-installment:last-child { border-right: 0; }
.consulting-installment-head { display: flex; justify-content: space-between; gap: 8px; }
.consulting-installment-head strong { font-size: 12px; }
.consulting-collection-status.is-incasat { color: #08714e; background: var(--consulting-green-soft); }
.consulting-collection-status.is-partial { color: #a45e00; background: #fff4dc; }
.consulting-collection-status.is-neincasat { color: #ae3636; background: var(--consulting-red-soft); }
.consulting-installment-amount { margin: 10px 0 2px; font-size: 20px; letter-spacing: -.025em; }
.consulting-installment-meta { min-height: 32px; color: var(--consulting-muted); font-size: 10px; line-height: 1.55; }
.consulting-installment-payments { display: flex; flex-wrap: wrap; gap: 5px; min-height: 24px; margin: 8px 0; }
.consulting-payment-chip {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 4px 6px;
  border-radius: 7px;
  color: #08714e;
  background: var(--consulting-green-soft);
  font-size: 9px;
  font-weight: 720;
}
.consulting-payment-chip button { padding: 0; border: 0; color: #a83535; background: transparent; cursor: pointer; }
.consulting-add-payment { width: 100%; padding: 7px; border: 1px dashed #aab8df; border-radius: 8px; color: var(--consulting-blue); background: #f8faff; font-size: 10px; font-weight: 780; cursor: pointer; }
.consulting-add-payment:disabled { opacity: .45; cursor: default; }

.consulting-empty {
  padding: 35px;
  border: 1px dashed #cfd6e4;
  border-radius: 16px;
  color: var(--consulting-muted);
  background: #fafbfc;
  text-align: center;
}

.consulting-annex-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 15px; }
.consulting-net-badge { padding: 6px 9px; border-radius: 8px; color: #08714e; background: var(--consulting-green-soft); font-size: 10px; font-weight: 820; }
.consulting-annex-controls { display: grid; grid-template-columns: 170px minmax(190px, .7fr) minmax(220px, 1fr); gap: 12px; margin: 19px 0 14px; }
.consulting-annex-projects { display: grid; gap: 7px; }
.consulting-annex-project-row {
  display: grid;
  grid-template-columns: auto minmax(180px, 1.3fr) 135px 110px 125px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid #e6eaf2;
  border-radius: 10px;
}
.consulting-annex-project-row.is-selected { border-color: #aab9ec; background: #f8faff; }
.consulting-annex-project-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--consulting-blue); }
.consulting-annex-project-row strong { display: block; font-size: 12px; }
.consulting-annex-project-row small { color: var(--consulting-muted); font-size: 10px; }
.consulting-annex-project-row label { display: grid; gap: 3px; }
.consulting-annex-project-row label span { color: var(--consulting-muted); font-size: 9px; }
.consulting-annex-project-row input[type="number"] { min-width: 0; width: 100%; height: 35px; border: 1px solid #d8deea; border-radius: 8px; }
.consulting-annex-project-row > span:last-child { color: var(--consulting-green); font-size: 11px; font-weight: 800; text-align: right; }
.consulting-annex-builder-footer { display: flex; align-items: center; justify-content: flex-end; gap: 24px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #edf0f5; }
.consulting-annex-builder-footer div { display: grid; gap: 2px; }
.consulting-annex-builder-footer small { color: var(--consulting-muted); font-size: 9px; text-transform: uppercase; }
.consulting-annex-builder-footer strong { font-size: 15px; }

.consulting-annex-guide { align-self: start; background: linear-gradient(160deg, #17213b, #263862); color: #fff; }
.consulting-annex-guide .consulting-eyebrow { color: #9fb4ff; }
.consulting-annex-guide ol { display: grid; gap: 21px; margin: 20px 0 0; padding: 0 0 0 25px; }
.consulting-annex-guide li { padding-left: 4px; }
.consulting-annex-guide li::marker { color: #91abff; font-weight: 900; }
.consulting-annex-guide strong, .consulting-annex-guide span { display: block; }
.consulting-annex-guide strong { font-size: 12px; }
.consulting-annex-guide span { margin-top: 3px; color: #bdc7dd; font-size: 10px; line-height: 1.5; }

.consulting-annex-history { display: grid; gap: 10px; }
.consulting-annex-card {
  display: grid;
  grid-template-columns: 85px minmax(180px, 1.2fr) minmax(270px, 1.8fr) 130px auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--consulting-border);
  border-radius: 14px;
  background: #fff;
}
.consulting-annex-month { color: var(--consulting-blue); font-size: 13px; font-weight: 850; }
.consulting-annex-card h3 { margin: 0 0 3px; font-size: 14px; }
.consulting-annex-card p { margin: 0; color: var(--consulting-muted); font-size: 10px; }
.consulting-annex-project-names { color: #4d5870; font-size: 11px; line-height: 1.55; }
.consulting-annex-amount strong { display: block; font-size: 14px; text-align: right; }
.consulting-annex-amount small { display: block; color: var(--consulting-muted); font-size: 9px; text-align: right; }
.consulting-annex-status.is-draft { color: #a45e00; background: #fff4dc; }
.consulting-annex-status.is-validated { color: var(--consulting-blue); background: var(--consulting-blue-soft); }
.consulting-annex-status.is-paid { color: #08714e; background: var(--consulting-green-soft); }
.consulting-annex-actions { display: flex; align-items: center; gap: 7px; justify-content: flex-end; }
.consulting-annex-actions input { width: 125px; height: 34px; border: 1px solid #d8deea; border-radius: 8px; font-size: 11px; }

.consulting-drawer,
.consulting-payment-modal {
  position: fixed;
  inset: 0;
  z-index: 900;
}
.consulting-drawer-backdrop,
.consulting-payment-backdrop { position: absolute; inset: 0; border: 0; background: rgba(15, 23, 42, .52); backdrop-filter: blur(2px); }
.consulting-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(780px, 96vw);
  height: 100%;
  overflow: auto;
  background: #f7f8fb;
  box-shadow: -20px 0 60px rgba(15, 23, 42, .22);
}
.consulting-drawer-panel > header,
.consulting-payment-modal form > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 21px 23px;
  border-bottom: 1px solid #e2e6ee;
  background: #fff;
}
.consulting-drawer-panel > header h2,
.consulting-payment-modal form > header h2 { margin: 3px 0 0; font-size: 21px; }
.consulting-drawer-panel > header button,
.consulting-payment-modal form > header button {
  width: 34px;
  height: 34px;
  border: 1px solid #dde2eb;
  border-radius: 9px;
  background: #fff;
  font-size: 22px;
  cursor: pointer;
}
.consulting-drawer-panel form { padding: 17px; }
.consulting-form-section { margin-bottom: 14px; padding: 17px; border: 1px solid #e0e5ee; border-radius: 14px; background: #fff; }
.consulting-form-title { display: grid; gap: 2px; margin-bottom: 14px; }
.consulting-form-title strong { font-size: 14px; }
.consulting-form-title span { color: var(--consulting-muted); font-size: 10px; }
.consulting-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.consulting-form-grid .wide { grid-column: 1 / -1; }
.consulting-percent-input { display: grid; grid-template-columns: 1fr 35px; }
.consulting-percent-input input { border-radius: 10px 0 0 10px; }
.consulting-percent-input b { display: grid; place-items: center; border: 1px solid #d8deea; border-left: 0; border-radius: 0 10px 10px 0; background: #f5f7fa; }
.consulting-installment-editor { display: grid; gap: 8px; }
.consulting-installment-edit-row { display: grid; grid-template-columns: 72px 115px 125px 1fr 125px; align-items: end; gap: 8px; padding: 9px; border-radius: 10px; background: #f7f8fb; }
.consulting-installment-edit-row > strong { align-self: center; font-size: 11px; }
.consulting-installment-edit-row label { display: grid; gap: 4px; }
.consulting-installment-edit-row label span { color: var(--consulting-muted); font-size: 9px; }
.consulting-installment-edit-row input { width: 100%; min-width: 0; height: 36px; border: 1px solid #d8deea; border-radius: 8px; font-size: 11px; }
.consulting-installment-check { margin-top: 9px; padding: 8px 10px; border-radius: 8px; color: var(--consulting-muted); background: #f5f7fa; font-size: 10px; }
.consulting-installment-check.is-warning { color: #9b5b00; background: #fff4dc; }
.consulting-progress-field > span { display: flex; align-items: center; justify-content: space-between; }
.consulting-progress-field output { color: #3157d5; font-size: 18px; font-weight: 600; }
.consulting-progress-field input[type="range"] { min-height: 28px; padding: 0; accent-color: #3157d5; }
.consulting-drawer-panel form > footer,
.consulting-payment-modal form > footer { display: flex; justify-content: flex-end; gap: 9px; padding: 5px 0 14px; }

.consulting-payment-modal { display: grid; place-items: center; }
.consulting-payment-modal form { position: relative; width: min(430px, calc(100vw - 30px)); padding: 0 20px 17px; box-shadow: 0 25px 80px rgba(15, 23, 42, .28); }
.consulting-payment-modal form > header { margin: 0 -20px 16px; padding: 17px 20px; }
.consulting-payment-modal form > label { margin-bottom: 12px; }
.consulting-payment-modal form > footer { padding: 5px 0 0; }

body.consulting-overlay-open { overflow: hidden; }

@media (max-width: 1280px) {
  .consulting-controls { grid-template-columns: minmax(150px, 1fr) 90px 120px minmax(190px, 1.25fr); }
  .consulting-controls .consulting-consultant-filter { grid-column: 4; grid-row: 1; }
  .consulting-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .consulting-project-head { grid-template-columns: auto 1fr auto; }
  .consulting-project-metrics { grid-column: auto; }
  .consulting-installments { grid-template-columns: repeat(2, minmax(210px, 1fr)); }
  .consulting-installment:nth-child(2) { border-right: 0; }
  .consulting-installment:nth-child(-n+2) { border-bottom: 1px solid #edf0f5; }
  .consulting-annex-project-row { grid-template-columns: auto minmax(180px, 1fr) 125px 100px; }
  .consulting-annex-project-row > span:last-child { display: none; }
}

@media (max-width: 900px) {
  .consulting-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
  .consulting-hero-actions { width: 100%; flex-wrap: wrap; }
  .consulting-dashboard-grid,
  .consulting-annex-layout { grid-template-columns: 1fr; }
  .consulting-annex-guide { display: none; }
  .consulting-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consulting-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consulting-controls .consulting-consultant-filter { grid-column: auto; grid-row: auto; }
  .consulting-period-summary { grid-column: 1 / -1; }
  .consulting-project-focus { grid-template-columns: 1fr; }
  .consulting-card-summary { grid-template-columns: 1fr auto; }
  .consulting-milestones { grid-column: 1 / -1; }
  .consulting-annex-card { grid-template-columns: 70px 1fr auto; }
  .consulting-annex-project-names { grid-column: 2 / -1; }
  .consulting-annex-actions { grid-column: 2 / -1; }
  .consulting-installment-edit-row { grid-template-columns: 65px 1fr 1fr; }
  .consulting-installment-edit-row label:nth-of-type(3),
  .consulting-installment-edit-row label:nth-of-type(4) { grid-column: span 1; }
}

@media (max-width: 640px) {
  .consulting-hero-actions,
  .consulting-integration-pill,
  .consulting-hero-actions .btn { width: 100%; }
  .consulting-tabs { width: 100%; }
  .consulting-tabs button { flex: 1; justify-content: center; padding-inline: 9px; }
  .consulting-search-top,
  .consulting-controls,
  .consulting-form-grid,
  .consulting-annex-controls { grid-template-columns: 1fr; }
  .consulting-search-top { gap: 7px; }
  .consulting-period-summary { grid-column: auto; }
  .consulting-form-grid .wide { grid-column: auto; }
  .consulting-kpis { grid-template-columns: 1fr; }
  .consulting-month-row { grid-template-columns: 58px 1fr; }
  .consulting-month-row > strong { grid-column: 2; }
  .consulting-project-head { grid-template-columns: auto 1fr; }
  .consulting-project-title h3 { font-size: 23px; }
  .consulting-project-focus { padding: 13px; }
  .consulting-project-metrics { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .consulting-card-actions { grid-column: 2; justify-self: end; }
  .consulting-card-summary { grid-template-columns: 1fr; }
  .consulting-milestones { grid-column: auto; grid-template-columns: repeat(2, 1fr); }
  .consulting-finance-progress { margin: 5px 0 15px; }
  .consulting-details-button { width: 100%; }
  .consulting-installments { grid-template-columns: 1fr; }
  .consulting-installment { border-right: 0; border-bottom: 1px solid #edf0f5; }
  .consulting-annex-project-row { grid-template-columns: auto 1fr; }
  .consulting-annex-project-row label { grid-column: 2; }
  .consulting-annex-builder-footer { align-items: stretch; flex-direction: column; }
  .consulting-annex-card { grid-template-columns: 1fr auto; }
  .consulting-annex-project-names,
  .consulting-annex-actions { grid-column: 1 / -1; }
  .consulting-installment-edit-row { grid-template-columns: 1fr 1fr; }
  .consulting-installment-edit-row > strong { grid-column: 1 / -1; }
}
