/* Fennec & Roque — herramienta de factibilidad (prototipo) */
.fz{--fz-surface:#fbf3e8;--fz-ink:#272727;--fz-ink2:rgba(39,39,39,.72);--fz-mute:rgba(39,39,39,.56);--fz-line:rgba(39,39,39,.14);--fz-grid:rgba(39,39,39,.08);
  font-family:var(--sans);color:var(--fz-ink);font-size:15px;line-height:1.4}
.fz *{box-sizing:border-box}
.fz-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:22px}
.fz-name{display:flex;flex-direction:column;gap:8px;flex:1 1 320px;max-width:560px}
.fz-name input{font:400 clamp(22px,2.2vw,30px)/1.15 var(--serif);color:var(--fz-ink);background:transparent;border:0;border-bottom:1px solid var(--fz-line);padding:4px 0 8px;width:100%;border-radius:0}
.fz-name input:focus{outline:none;border-bottom-color:var(--terra)}
.fz-actions{display:flex;gap:10px;flex-wrap:wrap}
.fz-btn{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--terra);color:var(--cream);border:1px solid var(--terra);border-radius:999px;padding:13px 18px 11px;cursor:pointer;transition:background-color .25s,color .25s}
.fz-btn:hover{background:var(--ink);border-color:var(--ink)}
.fz-btn:disabled{opacity:.7;cursor:progress}
.fz-btn--ghost{background:transparent;color:var(--fz-ink);border-color:var(--fz-line)}
.fz-btn--ghost:hover{background:var(--fz-ink);color:var(--cream);border-color:var(--fz-ink)}
.fz-btn--sm{padding:9px 13px 7px;font-size:11px}

/* KPI */
.fz-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--fz-line);border:1px solid var(--fz-line);border-radius:14px;overflow:hidden;position:sticky;top:0;z-index:5}
.fz-kpi{background:var(--fz-surface);padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.fz-kpi__k{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fz-mute)}
.fz-kpi__v{font:400 clamp(20px,1.9vw,28px)/1.1 var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap}
.fz-kpi__s{font-size:12px;color:var(--fz-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fz-kpi.is-ok .fz-kpi__v::before{content:'✓ ';color:#1f7a52}
.fz-kpi.is-bad .fz-kpi__v{color:#b42318}
.fz-kpi.is-bad .fz-kpi__v::before{content:'✕ '}

/* Tabs */
.fz-tabs{display:flex;gap:4px;margin:26px 0 24px;border-bottom:1px solid var(--fz-line);overflow-x:auto;scrollbar-width:none}
.fz-tabs::-webkit-scrollbar{display:none}
.fz-tabs button{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:none;border:0;color:var(--fz-mute);padding:14px 14px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.fz-tabs button[aria-selected="true"]{color:var(--fz-ink);border-bottom-color:var(--terra)}
.fz-tabs button:hover{color:var(--fz-ink)}

/* Supuestos */
.fz-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.fz-card{border:1px solid var(--fz-line);border-radius:14px;padding:18px 18px 14px;margin:0;background:var(--fz-surface);min-width:0}
.fz-card legend{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);padding:0 6px;margin-left:-6px}
.fz-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--fz-grid)}
.fz-field__l{font-size:14px;color:var(--fz-ink2)}
.fz-field__i{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.fz-field input,.fz-field select{width:110px;font:400 15px/1 var(--sans);font-variant-numeric:tabular-nums;text-align:right;color:var(--fz-ink);background:#fff;border:1px solid var(--fz-line);border-radius:8px;padding:8px 9px 6px}
.fz-field select{text-align:left;width:130px}
.fz-field input:focus,.fz-field select:focus{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
.fz-field em{font-style:normal;font-size:12px;color:var(--fz-mute);width:62px}
.fz-derived{margin:12px 0 0;display:grid;gap:6px}
.fz-derived div{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.fz-derived dt{color:var(--fz-mute)}
.fz-derived dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}

/* Secciones */
.fz-sec{margin:0 0 44px;min-width:0}
.fz-h{font:600 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--fz-ink);margin:0 0 14px}
.fz-two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.fz-note{font-size:13px;color:var(--fz-mute);margin:10px 0 0;max-width:80ch}
.fz-foot{font-size:12px;color:var(--fz-mute);margin:12px 0 0;border-top:1px solid var(--fz-line);padding-top:14px}
.fz-demo{background:var(--blush);border-radius:12px;padding:14px 16px 12px;font-size:14px;margin:0 0 28px}
.fz-read{font:400 clamp(18px,1.5vw,22px)/1.45 var(--serif);max-width:62ch;margin:0}

.fz-dl{margin:0;display:grid}
.fz-dl div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--fz-grid);font-size:14px}
.fz-dl dt{color:var(--fz-ink2)}
.fz-dl dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}

/* Tablas */
.fz-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fz-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.fz-table th{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fz-mute);text-align:left;padding:8px 10px 8px 0;border-bottom:1px solid var(--fz-line);white-space:nowrap;vertical-align:bottom}
.fz-table td{padding:8px 10px 7px 0;border-bottom:1px solid var(--fz-grid);white-space:nowrap}
.fz-table .n{text-align:right}
.fz-table tfoot td{font-weight:600;border-top:1px solid var(--fz-line);border-bottom:0}
.fz-strong td{font-weight:600}
.fz-hrow td{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);padding-top:16px}
.fz-sharebar{width:22%;min-width:90px;padding-left:12px!important}
.fz-sharebar span{display:block;height:8px;background:var(--terra);border-radius:0 4px 4px 0;min-width:1px}
.fz-flow td:first-child,.fz-flow th:first-child{position:sticky;left:0;background:var(--cream);z-index:1;padding-right:16px}
.fz-flow td,.fz-flow th{padding-left:10px}
.fz-scroll--flow{max-height:620px;overflow:auto;border:1px solid var(--fz-line);border-radius:12px;padding:0 12px}
.fz-scroll--flow thead th{position:sticky;top:0;background:var(--cream);z-index:2}
.fz-scroll--flow thead th:first-child{z-index:3}
.fz-sc th small{display:block;font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--fz-mute);margin-top:4px;white-space:normal;min-width:120px}
.fz-sc td:first-child{color:var(--fz-ink2)}
.fz-ex{white-space:normal!important;color:var(--fz-ink2);font-size:12.5px}
.fz-sw{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:0}

.fz-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.fz-checks li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--fz-grid);font-size:14px}
.fz-checks li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;flex:0 0 auto;background:#dcefe3;color:#1f7a52}
.fz-checks li.bad span{background:#fbe1dd;color:#b42318}
.fz-checks em{margin-left:auto;font-style:normal;font-variant-numeric:tabular-nums;color:var(--fz-mute);font-size:13px}

/* Cronograma */
.fz-gantt{display:grid;gap:8px}
.fz-gantt__row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px}
.fz-gantt__n{font-size:13px;color:var(--fz-ink2)}
.fz-gantt__track{position:relative;height:24px;background:var(--fz-grid);border-radius:4px}
.fz-gantt__bar{position:absolute;top:0;bottom:0;background:var(--terra);border-radius:4px}
.fz-gantt__lbl{position:absolute;top:50%;transform:translateY(-50%);padding-left:8px;font-size:11.5px;font-weight:600;color:var(--cream);white-space:nowrap;pointer-events:none}
.fz-gantt__axis .fz-gantt__track{background:none;height:16px}
.fz-gantt__axis i{position:absolute;font-style:normal;font-size:11px;color:var(--fz-mute);transform:translateX(-50%)}
.fz-gantt__axis i:first-child{transform:none}

/* Gráficas */
.fz-chart{width:100%;overflow:hidden}
.fz-chart svg{display:block;max-width:100%;height:auto;font-family:var(--sans)}
.fz-chart .g{stroke:var(--fz-grid);stroke-width:1}
.fz-chart .g.z{stroke:rgba(39,39,39,.45)}
.fz-chart .ax{font-size:11px;fill:var(--fz-mute);font-variant-numeric:tabular-nums}
.fz-chart .dl,.fz-chart .lbl{font-size:12.5px;fill:var(--fz-ink)}
.fz-chart .val{font-size:12px;fill:var(--fz-ink2);font-variant-numeric:tabular-nums}
.fz-chart .hl{fill:rgba(39,39,39,.06)}
.fz-chart .xh{stroke:rgba(39,39,39,.4);stroke-width:1}
.fz-chart .base{stroke:var(--fz-ink);stroke-width:1.5}
.fz-chart .hit,.fz-chart .tb{cursor:crosshair}
.fz-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 12px;font-size:13px;color:var(--fz-ink2)}
.fz-legend span{display:inline-flex;align-items:center;gap:8px}
.fz-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.fz-legend i.ln{height:3px;width:18px;border-radius:2px}

.fz-heat{border-collapse:separate;border-spacing:2px;font-variant-numeric:tabular-nums;font-size:13.5px}
.fz-heat th{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--fz-mute);padding:6px 10px;text-align:center;white-space:nowrap}
.fz-heat th.c{text-align:left;padding-left:0}
.fz-heat tbody th{text-align:right}
.fz-heat td{min-width:88px;height:44px;text-align:center;border-radius:6px;font-weight:600;cursor:default}
.fz-heat td.base{outline:2px solid var(--fz-ink);outline-offset:-2px}
.fz-scale{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--fz-mute);margin-top:14px;flex-wrap:wrap}
.fz-scale i{display:block;width:180px;height:8px;border-radius:4px}

/* Tooltip */
.fz-tip{position:fixed;left:0;top:0;z-index:2147483600;pointer-events:none;background:#fffaf3;color:var(--ink);border:1px solid rgba(39,39,39,.16);border-radius:10px;padding:10px 12px;font:13px/1.45 var(--sans);box-shadow:0 8px 24px rgba(39,39,39,.12);min-width:180px;font-variant-numeric:tabular-nums}
.fz-tip b{display:block;margin-bottom:4px;font-weight:600}
.fz-tip div{display:flex;align-items:center;gap:8px}
.fz-tip div span{margin-left:auto;padding-left:16px;font-weight:600}
.fz-tip div i{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.fz-tip .t{border-top:1px solid rgba(39,39,39,.12);margin-top:4px;padding-top:4px}

/* Ubicación */
.fz-loc{display:grid;grid-template-columns:320px 1fr;gap:28px;margin-bottom:44px}
.fz-loc__side{display:flex;flex-direction:column;gap:6px}
.fz-loc__side .fz-btn{margin-top:14px;align-self:flex-start}
.fz-map{height:480px;border-radius:14px;overflow:hidden;background:#e9dfd0;position:relative;display:grid;place-items:center;z-index:0}
.fz-map__msg{font-size:13px;color:var(--fz-mute);padding:24px;text-align:center}
.fz-chips{display:flex;flex-wrap:wrap;gap:8px}
.fz-chips span{border:1px solid var(--fz-line);border-radius:999px;padding:7px 12px 5px;font-size:13px}
.fz-use{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;color:var(--fz-ink2)}
.fz .leaflet-container{font-family:var(--sans)}

html.has-cursor .fz select,html.has-cursor .fz-tabs button,html.has-cursor .fz-btn{cursor:pointer}

@media (max-width:1100px){
  .fz-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .fz-two,.fz-loc{grid-template-columns:1fr;gap:8px}
  .fz-checks{grid-template-columns:1fr}
  .fz-map{height:360px}
}
@media (max-width:560px){
  .fz-kpis{grid-template-columns:repeat(2,minmax(0,1fr));position:static}
  .fz-kpi{padding:12px 12px 10px}
  .fz-groups{grid-template-columns:1fr}
  .fz-field input{width:96px}
  .fz-field em{width:52px}
  .fz-gantt__row{grid-template-columns:84px 1fr}
  .fz-gantt__lbl{display:none}
  .fz-top{align-items:stretch}
}

.fz-field input::-webkit-outer-spin-button,.fz-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fz-field input[type=number]{-moz-appearance:textfield}

/* v2: fases, cronograma por fase, Ke */
.fz-scroll--ph{border:1px solid var(--fz-line);border-radius:14px;padding:0 14px;background:var(--fz-surface)}
.fz-ph td:first-child,.fz-ph th:first-child{position:sticky;left:0;background:var(--fz-surface);z-index:1;padding-right:16px;min-width:230px;white-space:normal}
.fz-ph th{padding-top:14px}
.fz-ph input[type=number]{width:96px;font:400 14px/1 var(--sans);font-variant-numeric:tabular-nums;text-align:right;color:var(--fz-ink);background:#fff;border:1px solid var(--fz-line);border-radius:7px;padding:7px 8px 5px}
.fz-ph input[type=number]:focus{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
.fz-ph td.off input{opacity:.35;background:transparent}
.fz-ph td{padding:5px 0 5px 10px}
.fz-ph .fz-dr td{font-size:13px;color:var(--fz-ink2)}
.fz-on{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;cursor:pointer;color:var(--fz-ink)}
.fz-on input,.fz-check input{accent-color:var(--terra);width:16px;height:16px;margin:0}
.fz-ph input::-webkit-outer-spin-button,.fz-ph input::-webkit-inner-spin-button,.fz-ke input::-webkit-outer-spin-button,.fz-ke input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fz-ph input[type=number],.fz-ke input[type=number]{-moz-appearance:textfield}
.fz-gantt__track--2{height:34px;background:none;display:grid;grid-template-rows:1fr 1fr;gap:3px}
.fz-lane{position:relative;background:var(--fz-grid);border-radius:3px}
.fz-gs{position:absolute;top:0;bottom:0;border-radius:3px;cursor:default}
.fz-dl .fz-dlh{display:block;border:0;padding:18px 0 4px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.fz-dl .fz-dlh:first-child{padding-top:0}
.fz-dl .fz-big dt{font-weight:600;color:var(--fz-ink)}
.fz-dl .fz-big dd{font:400 22px/1 var(--serif)}
.fz-ke input{width:72px;font:400 14px/1 var(--sans);text-align:right;border:1px solid var(--fz-line);border-radius:7px;padding:7px 8px 5px;background:#fff;color:var(--fz-ink)}
.fz-ke td{padding:6px 10px 6px 0}
.fz-opts{margin-top:18px}
.fz-opts select{width:auto;max-width:300px}
.fz-check{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--fz-grid);font-size:14px;color:var(--fz-ink2);cursor:pointer}
.fz-chart .lbl--s{font-size:11.5px}
.fz-casc td:first-child{white-space:normal;min-width:220px}
@media (max-width:560px){
  .fz-ph td:first-child,.fz-ph th:first-child{min-width:128px;max-width:128px;font-size:13px}
  .fz-ph input[type=number]{width:82px}
  .fz-scroll--ph{padding:0 8px}
}
@media (max-width:560px){
  .fz-opts .fz-field{flex-wrap:wrap}
  .fz-opts select{max-width:100%;width:100%}
  .fz-opts .fz-field__i{flex:1 1 100%}
}

/* Precios de terreno en el mapa */
.fz-pin{position:relative}
.fz-pin i{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.fz-pin__v{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);font:600 12px/1 var(--sans);font-variant-numeric:tabular-nums;color:#fff;background:rgba(39,39,39,.82);padding:4px 6px 3px;border-radius:4px;white-space:nowrap;pointer-events:none}
.fz-pstats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--fz-line);border:1px solid var(--fz-line);border-radius:12px;overflow:hidden}
.fz-pstats div{background:var(--fz-surface);padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.fz-pstats span{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fz-mute)}
.fz-pstats b{font:400 20px/1.1 var(--serif);font-variant-numeric:tabular-nums}
.fz-addform{border:1px solid var(--fz-line);border-radius:12px;padding:10px 12px;margin-top:10px;background:var(--fz-surface)}
.fz-addform input[type=text]{width:150px;font:400 14px/1 var(--sans);border:1px solid var(--fz-line);border-radius:8px;padding:8px 9px 6px;background:#fff}
.fz-x{background:none;border:0;color:var(--fz-mute);font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:4px}
.fz-x:hover{color:#b42318}
.fz-loc__side .fz-btn--sm{margin-top:8px;align-self:flex-start}
@media (max-width:860px){.fz-pstats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.fz-pstats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* POT */
.fz-gchips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}
.fz-gchips label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border:1px solid var(--fz-line);border-radius:999px;padding:5px 9px 4px;cursor:pointer}
.fz-gchips input{display:none}
.fz-gchips i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.fz-gchips input:not(:checked)+i{background:transparent}
.fz-gchips label:has(input:not(:checked)){opacity:.5}
.fz-gcard{border:1px solid var(--fz-line);border-radius:14px;padding:16px 18px;background:var(--fz-surface)}
.fz-gcard__h{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.fz-gcard__h b{font:400 34px/1 var(--serif);padding:4px 12px 2px;border-radius:8px;background:var(--c);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.fz-gcard__h span{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.fz-two--tight{gap:28px}
.fz-dl .fz-gst dd{font-weight:600}
.fz-gst--ok dd{color:#1f7a52}.fz-gst--warn dd{color:#9a5b00}.fz-gst--bad dd{color:#b42318}

/* v3: supuestos guiados, plantillas, explicaciones */
.fz-tpl{margin:0 0 28px}
.fz-tpl__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:12px}
.fz-tpl__h .fz-h{margin:0}.fz-tpl__h .fz-note{margin:0}
.fz-tpl__row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.fz-tplc{position:relative;text-align:left;background:var(--fz-surface);border:1px solid var(--fz-line);border-radius:12px;padding:14px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:var(--fz-ink);font-family:var(--sans);transition:border-color .2s,background-color .2s}
.fz-tplc b{font:400 18px/1.15 var(--serif)}
.fz-tplc span{font-size:12.5px;line-height:1.35;color:var(--fz-mute)}
.fz-tplc:hover{border-color:var(--terra)}
.fz-tplc.is-arm{border-color:var(--terra);background:var(--blush)}
.fz-tplc.is-arm span{color:var(--terra);font-weight:600}
.fz-tplc.is-arm span::before{content:'Clic de nuevo para reemplazar los supuestos. ';display:block}
.fz-tplc.is-done{border-color:#1f7a52}
.fz-tplc.is-done b::after{content:' ✓';color:#1f7a52}

.fz-sup{display:grid;grid-template-columns:268px minmax(0,1fr);gap:32px;align-items:start}
.fz-toc{position:sticky;top:132px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 150px);overflow:auto;scrollbar-width:thin}
.fz-tools{display:flex;flex-direction:column;gap:10px}
.fz-tools input[type=search]{width:100%;font:400 14px/1 var(--sans);color:var(--fz-ink);background:#fff;border:1px solid var(--fz-line);border-radius:999px;padding:11px 14px 9px}
.fz-tools input[type=search]:focus{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
.fz-seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--fz-line);border-radius:999px;padding:3px;background:var(--fz-surface)}
.fz-seg button{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:0;background:none;color:var(--fz-mute);padding:10px 8px 8px;border-radius:999px;cursor:pointer}
.fz-seg button[aria-pressed="true"]{background:var(--fz-ink);color:var(--cream)}
.fz-check--s{padding:2px 0;border:0;font-size:13px}
.fz-toc__l{list-style:none;margin:0;padding:0;border-top:1px solid var(--fz-line)}
.fz-toc__l li{border-bottom:1px solid var(--fz-grid)}
.fz-toc__l li.is-off{display:none}
.fz-toc__l a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0 7px;color:var(--fz-ink2);text-decoration:none;font-size:13.5px}
.fz-toc__l a:hover{color:var(--terra)}
.fz-toc__l a i{font-style:normal;font-size:11px;color:var(--fz-mute);margin-right:8px;font-variant-numeric:tabular-nums}
.fz-toc__l em{font-style:normal;font-size:12px;color:var(--fz-mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.fz-toc > .fz-note{margin:0;font-size:12.5px}

.fz-secs{display:flex;flex-direction:column;gap:16px;min-width:0}
.fz-s{border:1px solid var(--fz-line);border-radius:14px;background:var(--fz-surface);padding:18px 20px 14px;scroll-margin-top:140px}
.fz-s__h{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--fz-line)}
.fz-s__n{font:400 13px/1 var(--sans);color:var(--terra);border:1px solid currentColor;border-radius:999px;padding:6px 8px 4px;font-variant-numeric:tabular-nums}
.fz-s__t h3{font:400 22px/1.15 var(--serif);margin:0 0 4px}
.fz-s__t p{margin:0;font-size:13px;color:var(--fz-mute)}
.fz-s__tot{text-align:right;display:flex;flex-direction:column;gap:3px}
.fz-s__tot b{font:400 20px/1.1 var(--serif);font-variant-numeric:tabular-nums;white-space:nowrap}
.fz-s__tot span{font-size:12px;color:var(--fz-mute);white-space:nowrap}
.fz-s.is-compact .fz-rows{display:none}
.fz-s__more{margin:12px 0 0;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terra);background:none;border:1px dashed rgba(147,49,21,.4);border-radius:999px;padding:9px 13px 7px;cursor:pointer}
.fz-s__more:hover{background:var(--blush)}
.fz-s .fz-derived{margin-top:10px}
.fz-s .fz-derived:empty{display:none}

.fz-r{border-bottom:1px solid var(--fz-grid);padding:6px 0}
.fz-r:last-child{border-bottom:0}
.fz-r__main{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:38px}
.fz-r__l{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;text-align:left;font:400 14.5px/1.3 var(--sans);color:var(--fz-ink);cursor:pointer}
.fz-r__l i{flex:0 0 auto;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font:600 10.5px/1 var(--sans);font-style:normal;color:var(--fz-mute);border:1px solid var(--fz-line);padding-top:1px;transition:background-color .2s,color .2s,border-color .2s}
.fz-r__l:hover span{color:var(--terra)}
.fz-r__l:hover i,.fz-r__l[aria-expanded="true"] i{background:var(--terra);border-color:var(--terra);color:var(--cream)}
.fz-r__in{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.fz-r__in input[type=number]{width:118px;font:400 15px/1 var(--sans);font-variant-numeric:tabular-nums;text-align:right;color:var(--fz-ink);background:#fff;border:1px solid var(--fz-line);border-radius:8px;padding:9px 10px 7px;-moz-appearance:textfield}
.fz-r__in input::-webkit-outer-spin-button,.fz-r__in input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fz-r__in input:focus{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
.fz-r__in em{font-style:normal;font-size:12px;line-height:1.25;color:var(--fz-mute);width:118px}
.fz-r__conv{text-align:right;font-size:12px;color:var(--fz-mute);padding-right:126px;margin-top:-2px;font-variant-numeric:tabular-nums}
.fz-help{margin:6px 0 6px;background:var(--blush);border-radius:10px;padding:12px 14px 10px;font-size:13.5px;line-height:1.5;color:var(--fz-ink)}
.fz-help p{margin:0 0 6px}
.fz-help b{font-weight:600}
.fz-help__x{font-size:12px;color:var(--terra);letter-spacing:.02em}
.fz-sw2{display:inline-flex;align-items:center;gap:10px;cursor:pointer;width:244px;justify-content:flex-end}
.fz-sw2 input{position:absolute;opacity:0;width:1px;height:1px}
.fz-sw2 i{width:40px;height:22px;border-radius:999px;background:rgba(39,39,39,.18);position:relative;transition:background-color .2s}
.fz-sw2 i::after{content:'';position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s}
.fz-sw2 input:checked+i{background:var(--terra)}
.fz-sw2 input:checked+i::after{transform:translateX(18px)}
.fz-sw2 input:focus-visible+i{outline:2px solid var(--orange);outline-offset:2px}
.fz-sw2 span{font-size:13px;color:var(--fz-ink2);width:24px}

/* Fases: tipología y explicaciones */
.fz-ph td:first-child small{display:block;font-size:11.5px;color:var(--fz-mute);margin-top:1px}
.fz-r__l--ph{font-size:13.5px;padding:2px 0}
.fz-ph select{width:132px;font:400 13px/1 var(--sans);color:var(--fz-ink);background:#fff;border:1px solid var(--fz-line);border-radius:7px;padding:7px 6px 5px}
.fz-ph select:focus{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
.fz-ph td.off select{opacity:.35}
.fz-ph td.na{color:var(--fz-mute);opacity:.6}
.fz-dim{font-size:13px;color:var(--fz-mute);display:inline-block;width:132px;text-align:left;padding-left:8px}
.fz-sel td{padding-top:6px;padding-bottom:6px}
.fz-pop{position:fixed;left:0;top:0;z-index:2147483601;background:#fffaf3;border:1px solid rgba(39,39,39,.16);border-radius:12px;box-shadow:0 12px 32px rgba(39,39,39,.16);padding:14px 16px 12px;font:13.5px/1.5 var(--sans);color:var(--ink)}
.fz-pop__t{display:block;font:400 18px/1.2 var(--serif);margin-bottom:8px}
.fz-pop p{margin:0 0 6px}
.fz-pop__x{margin-top:4px}

@media (max-width:1100px){
  .fz-tpl__row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fz-sup{grid-template-columns:220px minmax(0,1fr);gap:22px}
}
@media (max-width:860px){
  .fz-sup{grid-template-columns:minmax(0,1fr)}
  .fz-toc{position:static;max-height:none;overflow:visible;min-width:0}
  .fz-toc__l{display:flex;gap:8px;overflow-x:auto;border:0;padding-bottom:4px;scrollbar-width:none}
  .fz-toc__l::-webkit-scrollbar{display:none}
  .fz-toc__l li{border:0;flex:0 0 auto}
  .fz-toc__l a{border:1px solid var(--fz-line);border-radius:999px;padding:7px 12px 5px;white-space:nowrap}
  .fz-toc__l em,.fz-toc > .fz-note{display:none}
  .fz-tools{display:grid;grid-template-columns:1fr auto;align-items:center}
  .fz-tools .fz-check--s{grid-column:1/-1}
  .fz-s{scroll-margin-top:20px}
}
@media (max-width:560px){
  .fz-tpl__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fz-tools{grid-template-columns:1fr}
  .fz-s{padding:14px 14px 10px}
  .fz-s__h{grid-template-columns:auto 1fr}
  .fz-s__tot{grid-column:1/-1;text-align:left;flex-direction:row;align-items:baseline;gap:10px}
  .fz-r__main{flex-wrap:wrap;gap:6px 10px}
  .fz-r__in{margin-left:auto}
  .fz-r__in input[type=number]{width:104px}
  .fz-r__in em{width:84px}
  .fz-r__conv{padding-right:92px}
  .fz-sw2{width:auto}
  .fz-ph select{width:112px}
}
