:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  background: #f4f6f8;
  color: #1f2933;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

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

button {
  border: 0;
  border-radius: 6px;
  background: #185f7d;
  color: #fff;
  cursor: pointer;
  min-height: 40px;
  padding: 0 14px;
}

button:hover {
  background: #124b64;
}

input,
textarea {
  width: 100%;
  border: 1px solid #c9d2dc;
  border-radius: 6px;
  padding: 10px 12px;
  background: #fff;
  color: #1f2933;
}

textarea {
  min-height: 104px;
  resize: vertical;
}

.shell {
  width: min(1320px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 24px 0 40px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 8px 0 24px;
}

.topbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

h1,
h2,
p {
  margin: 0;
}

h1 {
  font-size: 30px;
  line-height: 1.2;
}

h2 {
  font-size: 18px;
  margin-bottom: 16px;
}

.topbar p {
  color: #617284;
  margin-top: 4px;
}

.build-marker {
  font-size: 12px;
}

.panel {
  background: #fff;
  border: 1px solid #d9e0e7;
  border-radius: 8px;
  padding: 18px;
}

.overview-panel {
  margin-bottom: 18px;
}

.overview-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.overview-cell {
  border: 1px solid #e6ebf0;
  border-radius: 6px;
  display: grid;
  gap: 4px;
  min-height: 62px;
  padding: 10px;
}

.overview-cell span {
  color: #617284;
  font-size: 12px;
}

.overview-cell strong {
  color: #1f2933;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.split {
  display: grid;
  grid-template-columns: minmax(320px, 0.7fr) minmax(520px, 1.3fr);
  gap: 18px;
  align-items: start;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-grid label {
  display: grid;
  gap: 6px;
  color: #52616f;
  font-size: 14px;
}

.form-grid .wide,
.form-grid button {
  grid-column: 1 / -1;
}

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

.panel-heading h2 {
  margin: 0;
}

.filters {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(160px, 1fr) 150px;
  margin-bottom: 12px;
}

.case-list {
  display: grid;
  gap: 10px;
}

.case-card {
  border: 1px solid #d9e0e7;
  border-radius: 8px;
  padding: 12px;
  display: grid;
  gap: 8px;
}

.case-card h3 {
  margin: 0;
  font-size: 16px;
}

.case-meta {
  color: #617284;
  font-size: 13px;
}

.case-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.status-control {
  align-items: center;
  color: #52616f;
  display: grid;
  font-size: 13px;
  gap: 8px;
  grid-template-columns: 54px minmax(150px, 220px);
}

.dossier-view {
  background: #17202a;
  border-radius: 6px;
  color: #eef4f8;
  font-size: 12px;
  line-height: 1.5;
  max-height: 260px;
  overflow: auto;
  padding: 12px;
  white-space: pre-wrap;
}

.review-guide-view {
  display: grid;
  gap: 8px;
}

.review-guide-summary,
.review-guide-row {
  background: #f8fafc;
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  padding: 10px;
}

.review-guide-row {
  align-items: start;
  display: grid;
  gap: 6px 12px;
  grid-template-columns: minmax(120px, 1fr) auto;
}

.review-guide-row span {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.review-guide-row p {
  color: #52616f;
  grid-column: 1 / -1;
  margin: 0;
}

.review-guide-ok {
  border-left: 4px solid #15803d;
}

.review-guide-action_required {
  border-left: 4px solid #b45309;
}

.review-guide-warning {
  border-left: 4px solid #ca8a04;
}

.review-guide-blocked {
  border-left: 4px solid #991b1b;
}

.audit-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 6px;
  max-height: 220px;
  overflow: auto;
  padding: 10px;
}

.audit-row {
  color: #52616f;
  font-family: Consolas, "Courier New", monospace;
  font-size: 12px;
  overflow-wrap: anywhere;
}

.preliminary-simulation-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.operation-summary-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.ets-bank-scenario-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.pignoramento-conversion-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.free-market-sale-view {
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  display: grid;
  gap: 10px;
  padding: 10px;
}

.preliminary-result-grid {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.operation-summary-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.preliminary-result-row {
  background: #f8fafc;
  border: 1px solid #e6ebf0;
  border-radius: 6px;
  display: grid;
  gap: 4px;
  padding: 8px;
}

.operation-summary-section {
  border: 1px solid #e6ebf0;
  border-radius: 6px;
  padding: 8px;
}

.operation-summary-row {
  border-top: 1px solid #e6ebf0;
  color: #52616f;
  font-size: 13px;
  margin-top: 6px;
  overflow-wrap: anywhere;
  padding-top: 6px;
}

.preliminary-result-row span,
.preliminary-missing-list {
  color: #52616f;
  font-size: 13px;
}

.preliminary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.household-subject-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 140px minmax(140px, 0.8fr) auto auto minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
}

.personal-income-form {
  display: grid;
  grid-template-columns: 96px 110px 130px 120px minmax(140px, 0.8fr) minmax(150px, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.real-estate-property-form {
  display: grid;
  grid-template-columns: 110px 150px 120px 96px minmax(150px, 0.9fr) minmax(140px, 0.8fr) minmax(150px, 1fr) minmax(150px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.inline-check {
  align-items: center;
  color: #52616f;
  display: flex;
  font-size: 13px;
  gap: 6px;
  min-height: 40px;
}

.inline-check input {
  width: auto;
}

.document-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
}

.document-link-form {
  display: grid;
  grid-template-columns: minmax(140px, 0.9fr) 140px 96px minmax(130px, 0.7fr) minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.debt-entry-form {
  display: grid;
  grid-template-columns: 130px 110px 80px 150px minmax(140px, 0.9fr) minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.debt-entry-subject-link-form {
  display: grid;
  grid-template-columns: 110px 110px 150px minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.debt-burden-form {
  display: grid;
  grid-template-columns: 110px 140px 90px 80px 120px 130px 130px minmax(140px, 0.8fr);
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.debt-burden-form input[name="description"],
.debt-burden-form input[name="source_note"],
.debt-burden-form button {
  grid-column: span 2;
}

.professional-cost-form {
  display: grid;
  grid-template-columns: 140px 90px 80px 130px 130px minmax(150px, 0.9fr) auto minmax(140px, 0.8fr);
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.professional-cost-form input[name="description"],
.professional-cost-form input[name="source_note"],
.professional-cost-form button {
  grid-column: span 2;
}

.ets-bank-status-form {
  display: grid;
  gap: 8px;
  grid-template-columns: 130px 130px 130px 150px minmax(180px, 1fr) auto;
}

.ets-bank-list {
  display: grid;
  gap: 6px;
}

.ets-bank-row {
  align-items: center;
  border-top: 1px solid #e6ebf0;
  color: #52616f;
  display: grid;
  font-size: 13px;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow-wrap: anywhere;
  padding-top: 8px;
}

.pignoramento-conversion-form {
  display: grid;
  gap: 8px;
  grid-template-columns: auto 120px minmax(180px, 1fr) 130px 130px 80px 120px 130px auto 120px minmax(180px, 1fr) auto;
}

.pignoramento-conversion-list {
  display: grid;
  gap: 6px;
}

.pignoramento-conversion-row {
  align-items: center;
  border-top: 1px solid #e6ebf0;
  color: #52616f;
  display: grid;
  font-size: 13px;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow-wrap: anywhere;
  padding-top: 8px;
}

.free-market-sale-form {
  display: grid;
  gap: 8px;
  grid-template-columns: auto auto 130px minmax(170px, 1fr) 130px 130px 80px 130px 130px auto 130px auto 130px auto minmax(170px, 1fr) 130px auto minmax(170px, 1fr) 140px 130px minmax(170px, 1fr) minmax(160px, 1fr) auto;
}

.free-market-sale-form input,
.free-market-sale-form select {
  min-width: 0;
}

.case-meta.warning {
  color: #9a3412;
}

.available-resource-form {
  display: grid;
  grid-template-columns: 140px 90px 80px 130px minmax(140px, 0.8fr) minmax(160px, 1fr) minmax(160px, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}

.debt-entry-form input[name="source_note"] {
  grid-column: 1 / -2;
}

.evidence-form {
  display: grid;
  grid-template-columns: 150px minmax(160px, 1fr) 110px minmax(140px, 0.8fr) minmax(140px, 0.7fr);
  gap: 8px;
  margin-top: 6px;
}

.evidence-form textarea,
.evidence-form button {
  grid-column: 1 / -1;
}

.document-row,
.document-link-row,
.household-subject-row,
.personal-income-row,
.real-estate-property-row,
.debt-entry-subject-link-row,
.debt-burden-row,
.professional-cost-row,
.available-resource-row,
.debt-entry-row,
.debt-total-row,
.evidence-row {
  border-top: 1px solid #e6ebf0;
  color: #52616f;
  font-size: 13px;
  overflow-wrap: anywhere;
  padding-top: 8px;
}

.document-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.household-subject-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.personal-income-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.real-estate-property-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}

.document-link-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.debt-entry-subject-link-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.debt-burden-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.professional-cost-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.available-resource-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.extraction-view {
  background: #f7fafc;
  border: 1px solid #d9e0e7;
  border-radius: 6px;
  color: #1f2933;
  font-size: 12px;
  grid-column: 1 / -1;
  line-height: 1.5;
  max-height: 180px;
  overflow: auto;
  padding: 10px;
  white-space: pre-wrap;
}

.extraction-meta {
  color: #617284;
  font-size: 12px;
  grid-column: 1 / -1;
}

.extraction-action-button {
  grid-column: 1 / -1;
  justify-self: start;
}

.debt-entry-row,
.evidence-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.debt-entry-row,
.evidence-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.debt-total-row {
  background: #f7fafc;
  border-radius: 6px;
  font-weight: 700;
  padding: 8px;
}

.checklist-list {
  display: grid;
  gap: 6px;
}

.checklist-row {
  align-items: center;
  border-top: 1px solid #e6ebf0;
  color: #52616f;
  display: grid;
  font-size: 13px;
  gap: 8px;
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 170px) minmax(140px, 0.8fr);
  padding-top: 8px;
}

.checklist-row select,
.checklist-row input {
  min-width: 0;
}

.message {
  min-height: 24px;
  margin-top: 14px;
  color: #8a4b0f;
}

@media (max-width: 760px) {
  .split,
  .form-grid,
  .household-subject-form,
  .personal-income-form,
  .real-estate-property-form,
  .document-form,
  .document-link-form,
  .debt-entry-form,
  .debt-entry-subject-link-form,
  .debt-burden-form,
  .professional-cost-form,
  .ets-bank-status-form,
  .ets-bank-row,
  .pignoramento-conversion-form,
  .pignoramento-conversion-row,
  .free-market-sale-form,
  .available-resource-form,
  .evidence-form,
  .filters,
  .status-control,
  .checklist-row {
    grid-template-columns: 1fr;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }
}
