#fsr-calculo-root {
  --fsr-calculo-green: #4aa390;
  --fsr-calculo-blue: #2f6fb0;
  --fsr-calculo-border: #111111;
  --fsr-calculo-gray: #e6e6e6;
  --fsr-calculo-gray-strong: #d5d5d5;
  --fsr-calculo-surface: #ffffff;
  --fsr-calculo-text: #0f172a;
  --fsr-calculo-muted: #64748b;
  --fsr-calculo-w-27: clamp(36px, 4.6vw, 60px);
  --fsr-calculo-w-30: var(--fsr-calculo-w-50);
  --fsr-calculo-w-40: var(--fsr-calculo-w-50);
  --fsr-calculo-w-art106: var(--fsr-calculo-w-50);
  --fsr-calculo-w-30-art25: var(--fsr-calculo-w-50);
  --fsr-calculo-w-40-art25: var(--fsr-calculo-w-50);
  --fsr-calculo-w-40-art25-patron: var(--fsr-calculo-w-50);
  --fsr-calculo-w-art25-desc: clamp(124px, 14.6vw, 236px);
  --fsr-calculo-w-salario: clamp(56px, 6.6vw, 90px);
  --fsr-calculo-w-45: clamp(56px, 6.8vw, 92px);
  --fsr-calculo-w-47: clamp(60px, 7.4vw, 95px);
  --fsr-calculo-w-50: clamp(32px, 4vw, 50px);
  --fsr-calculo-w-60: clamp(38px, 4.8vw, 60px);
  --fsr-calculo-h-20: clamp(12px, 1.6vw, 20px);
  --fsr-calculo-h-40: clamp(24px, 3.2vw, 40px);
  --fsr-calculo-h-200: clamp(120px, 18vh, 200px);
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  color: var(--fsr-calculo-text);
  font-family: "Poppins", sans-serif;
}

#fsr-calculo-root .fsr-box {
  width: min(2200px, 99vw);
  margin: 0 auto;
}

#fsr-calculo-root .manoobra-tabs-right {
  display: flex;
  align-items: flex-end;
  gap: clamp(0.5rem, 1vw, 1rem);
}

#fsr-calculo-root .materiales-search-button,
#fsr-calculo-root .materiales-search-clear {
  border: 1px solid #0e7490;
  border-radius: 8px;
  background: #008080;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 0.84rem;
  font-weight: 600;
  padding: 8px 14px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

#fsr-calculo-root .materiales-search-button {
  min-width: auto;
  padding: 0;
  border: none;
  background: transparent;
}

#fsr-calculo-root .materiales-search-button-icon {
  width: clamp(22px, 1.6vw, 30px);
  height: clamp(22px, 1.6vw, 30px);
  object-fit: scale-down;
  margin-left: clamp(4px, 0.6vw, 8px);
  margin-right: clamp(4px, 0.6vw, 8px);
  display: block;
}

#fsr-calculo-root .materiales-search-button:hover,
#fsr-calculo-root .materiales-search-clear:hover {
  filter: brightness(1.06);
}

#fsr-calculo-root .materiales-search-button:hover {
  filter: none;
  opacity: 0.7;
}

#fsr-calculo-root .materiales-search-button:focus,
#fsr-calculo-root .materiales-search-clear:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(14, 116, 144, 0.25);
}

#fsr-calculo-root .materiales-search-button:disabled,
#fsr-calculo-root .materiales-search-clear:disabled {
  opacity: 0.6;
  cursor: default;
}

#fsr-calculo-root .presupuesto-print-button {
  flex: 0 0 auto;
  margin-left: -2px;
  transform: translateY(-3px);
}

.fsr-calculo-table-wrap {
  overflow: auto;
  max-width: 100%;
  background: var(--fsr-calculo-surface);
  border: none;
  width: 100%;
}
.fsr-calculo-letra6c{
	font-family: "Poppins", sans-serif;
	font-size: 0.6rem;
	text-align: center;
	color: var(--fsr-calculo-text);
	}

.fsr-calculo-letra8c{
	font-family: "Poppins", sans-serif;
	font-size: 0.6rem;
	text-align: center;
	vertical-align: middle;
	color: var(--fsr-calculo-text);
	}

.fsr-calculo-letra8j{
	font-family: "Poppins", sans-serif;
	font-size: 0.6rem;
	text-align: justify;
	color: var(--fsr-calculo-text);
	}
.fsr-calculo-letra8cb{
	font-family: "Poppins", sans-serif;
	font-size: 0.78rem;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	color: var(--fsr-calculo-text);
	}

.fsr-calculo-live-value {
  color: var(--fsr-calculo-blue);
  font-weight: 700;
}

#fsr-calculo-root .fsr-calculo-value-cell {
  border-top: 1px solid var(--fsr-calculo-border);
  border-bottom: 1px solid var(--fsr-calculo-border);
  border-left: 0;
  border-right: 0;
  background: var(--fsr-calculo-gray);
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

#fsr-calculo-root .fsr-calculo-cell-tight {
  padding: 0 !important;
}

#fsr-calculo-root .fsr-calculo-cell-title {
  margin: 0;
  padding: 6px 8px;
}
hr{
	border: 1px solid var(--fsr-calculo-green);
}

#fsr-calculo-root table {
	border-collapse: collapse;
	vertical-align: top;
	font-family: "Poppins", sans-serif;
	color: var(--fsr-calculo-text);
}

table.bg2{
  border: 0.5px solid var(--fsr-calculo-border);	
  border-collapse: collapse;
  width: max-content;
  min-width: 100%;
  table-layout: fixed;
	}

#fsr-calculo-root th,
#fsr-calculo-root td {
 	word-wrap: break-word;
}

td.td1{
	border: 1px solid var(--fsr-calculo-border);
  	padding: 5px 10px;	
 	background-color: var(--fsr-calculo-gray); 
 	border-collapse: collapse;
	}

#fsr-calculo-root table.bg2 td,
#fsr-calculo-root table.bg2 th {
  border: 0.5px solid var(--fsr-calculo-border) !important;
  color: var(--fsr-calculo-text);
  box-sizing: border-box;
}

#fsr-calculo-root table.bg2 td {
  background-color: var(--fsr-calculo-surface) !important;
}

#fsr-calculo-root table.bg2 td.td1 {
  background-color: var(--fsr-calculo-gray) !important;
  font-weight: 600;
}

#fsr-calculo-root table.bg2 tbody.fsr-calculo-categorias-body td.td1 {
  font-weight: 400;
}

#fsr-calculo-root .fsr-siop {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
}

#fsr-calculo-root .fsr-siop-summary {
  display: grid;
  gap: 4px;
  font-size: 0.95rem;
  color: var(--fsr-calculo-text);
}

#fsr-calculo-root .fsr-siop-header {
  display: grid;
  gap: 4px;
  justify-items: center;
  text-align: center;
}

#fsr-calculo-root .fsr-siop-title,
#fsr-calculo-root .fsr-siop-subtitle {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

#fsr-calculo-root .fsr-siop-title {
  font-size: clamp(1.25rem, 1.8vw, 1.8rem);
  font-weight: 700;
}

#fsr-calculo-root .fsr-siop-subtitle {
  font-size: clamp(1.1rem, 1.6vw, 1.5rem);
  font-weight: 700;
}

#fsr-calculo-root .fsr-siop-table-wrap {
  overflow: auto;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  background: #ffffff;
}

#fsr-calculo-root .fsr-siop-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

#fsr-calculo-root .fsr-siop-table th,
#fsr-calculo-root .fsr-siop-table td {
  border: 1px solid var(--fsr-calculo-border);
  padding: 8px 6px;
  font-size: 0.72rem;
  text-align: center;
  vertical-align: middle;
  background: #ffffff;
}

#fsr-calculo-root .fsr-siop-table thead th {
  background: var(--fsr-calculo-gray);
  font-weight: 700;
}

#fsr-calculo-root .fsr-siop-table thead tr.fsr-siop-articles th {
  background: #f8fafc;
  font-size: 0.68rem;
}

#fsr-calculo-root .fsr-siop-table tbody tr:nth-child(even) td {
  background: #f8fafc;
}

#fsr-calculo-root .fsr-siop-left {
  text-align: left !important;
}

#fsr-calculo-root .fsr-siop-empty {
  padding: 18px 12px !important;
  color: var(--fsr-calculo-muted);
}

#fsr-calculo-root table.bg2 tbody.fsr-calculo-categorias-body tr:nth-child(odd) td.td1 {
  background-color: var(--fsr-calculo-surface) !important;
}

#fsr-calculo-root table.bg2 tbody.fsr-calculo-categorias-body tr:nth-child(even) td.td1 {
  background-color: var(--fsr-calculo-gray) !important;
}

#fsr-calculo-root table.bg2 td.fsr-calculo-cell-accent {
  background-color: var(--fsr-calculo-gray-strong) !important;
  font-weight: 600;
}

#fsr-calculo-root table.bg2 td.fsr-calculo-hatch {
  background-image: repeating-linear-gradient(
    135deg,
    rgba(17, 17, 17, 0.45) 0,
    rgba(17, 17, 17, 0.45) 1px,
    rgba(17, 17, 17, 0) 1px,
    rgba(17, 17, 17, 0) 5px
  );
  background-size: 6px 6px;
}

#fsr-calculo-root table.bg2 .fsr-calculo-text-normal {
  font-weight: 400 !important;
}

#fsr-calculo-root .fsr-calculo-w-27 { width: var(--fsr-calculo-w-27); min-width: var(--fsr-calculo-w-27); }
#fsr-calculo-root .fsr-calculo-w-30 { width: var(--fsr-calculo-w-30); min-width: var(--fsr-calculo-w-30); }
#fsr-calculo-root .fsr-calculo-w-40 { width: var(--fsr-calculo-w-40); min-width: var(--fsr-calculo-w-40); }
#fsr-calculo-root .fsr-calculo-w-45 { width: var(--fsr-calculo-w-45); min-width: var(--fsr-calculo-w-45); }
#fsr-calculo-root .fsr-calculo-w-47 { width: var(--fsr-calculo-w-47); min-width: var(--fsr-calculo-w-47); }
#fsr-calculo-root .fsr-calculo-w-50 { width: var(--fsr-calculo-w-50); min-width: var(--fsr-calculo-w-50); }
#fsr-calculo-root .fsr-calculo-w-60 { width: var(--fsr-calculo-w-60); min-width: var(--fsr-calculo-w-60); }

#fsr-calculo-root .fsr-calculo-h-20 { height: var(--fsr-calculo-h-20); min-height: var(--fsr-calculo-h-20); }
#fsr-calculo-root .fsr-calculo-h-40 { height: var(--fsr-calculo-h-40); min-height: var(--fsr-calculo-h-40); }
#fsr-calculo-root .fsr-calculo-h-200 { height: var(--fsr-calculo-h-200); min-height: var(--fsr-calculo-h-200); }

#fsr-calculo-root .fsr-calculo-col-clave {
  width: var(--fsr-calculo-w-27);
  min-width: var(--fsr-calculo-w-27);
  max-width: var(--fsr-calculo-w-27);
}

#fsr-calculo-root .fsr-calculo-col-salario {
  width: var(--fsr-calculo-w-salario);
  min-width: var(--fsr-calculo-w-salario);
  max-width: var(--fsr-calculo-w-salario);
}

#fsr-calculo-root .fsr-calculo-col-art25-40 {
  width: var(--fsr-calculo-w-40-art25);
  min-width: var(--fsr-calculo-w-40-art25);
  max-width: var(--fsr-calculo-w-40-art25);
}

#fsr-calculo-root .fsr-calculo-col-art25-30 {
  width: var(--fsr-calculo-w-30-art25);
  min-width: var(--fsr-calculo-w-30-art25);
  max-width: var(--fsr-calculo-w-30-art25);
}

#fsr-calculo-root .fsr-calculo-col-art25-patron {
  width: var(--fsr-calculo-w-40-art25-patron);
  min-width: var(--fsr-calculo-w-40-art25-patron);
  max-width: var(--fsr-calculo-w-40-art25-patron);
}

#fsr-calculo-root .fsr-calculo-col-art25-desc {
  width: var(--fsr-calculo-w-art25-desc);
  min-width: var(--fsr-calculo-w-art25-desc);
  max-width: var(--fsr-calculo-w-art25-desc);
}

#fsr-calculo-root .fsr-calculo-col-art106 {
  width: var(--fsr-calculo-w-art106);
  min-width: var(--fsr-calculo-w-art106);
  max-width: var(--fsr-calculo-w-art106);
}

#fsr-calculo-root .fsr-calculo-decimals-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

#fsr-calculo-root .fsr-calculo-decimals-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#fsr-calculo-root .fsr-calculo-decimals-label {
  font-family: "Poppins", sans-serif;
  font-size: 0.84rem;
  font-weight: 600;
  color: #0f172a;
}

#fsr-calculo-root .fsr-calculo-decimals-input {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  font-size: 0.86rem;
  color: #0f172a;
  background: #ffffff;
}

#fsr-calculo-root .fsr-calculo-decimals-input:focus {
  outline: none;
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.15);
}

#fsr-calculo-root .fsr-calculo-decimals-help {
  margin-top: 10px;
}

#fsr-calculo-root .fsr-print-modal-body {
  padding: 22px 40px 18px;
}

#fsr-calculo-root .fsr-print-options-list {
  display: grid;
  gap: 12px;
  text-align: left;
}

#fsr-calculo-root .fsr-print-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  border: 1px solid #d7dee8;
  border-radius: 8px;
  background: #ffffff;
  padding: 13px 16px;
  cursor: pointer;
}

#fsr-calculo-root .fsr-print-option.is-selected {
  border-color: #0ea5e9;
  background: #f0f9ff;
  box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.12);
}

#fsr-calculo-root .fsr-print-option-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}

#fsr-calculo-root .fsr-print-option-title {
  color: #0f172a;
  font-family: "Poppins", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
}

#fsr-calculo-root .fsr-print-option-description {
  color: #475569;
  font-family: "Poppins", sans-serif;
  font-size: 0.86rem;
  font-weight: 400;
  line-height: 1.35;
}

#fsr-calculo-root .fsr-print-option-status {
  min-width: 30px;
  color: #64748b;
  font-family: "Poppins", sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: right;
}

#fsr-calculo-root .fsr-print-option-status.is-on {
  color: #0284c7;
}

#fsr-calculo-root .fsr-print-option-status.is-off {
  color: #64748b;
}

#fsr-calculo-root .fsr-print-option-radio {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #0ea5e9;
}

@media (max-width: 640px) {
  #fsr-calculo-root .fsr-print-modal-body {
    padding: 18px 20px 16px;
  }

  #fsr-calculo-root .fsr-print-option {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #fsr-calculo-root .fsr-print-option-status {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
  }
}
