:root{--ink:#10233b;--blue:#145da0;--teal:#177e89;--bg:#f4f7fb;--line:#dce4ee;--muted:#66758a;--white:#fff;--soft:#eaf4ff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand-wrap{display:flex;gap:12px;align-items:center}.brand-home{display:block;border-radius:14px;line-height:0}.brand-home:focus-visible{outline:3px solid rgba(23,102,168,.28);outline-offset:3px}.brand-home .brand-mark{transition:transform .15s ease,box-shadow .15s ease}.brand-home:hover .brand-mark{transform:translateY(-1px);box-shadow:0 10px 22px rgba(23,102,168,.24)}.brand-wrap span{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--teal));display:grid;place-items:center;color:#fff;box-shadow:0 8px 18px rgba(23,102,168,.18)}.brand-icon{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.brand-icon .brand-coin{fill:var(--teal);stroke:#fff}.brand-icon .brand-dollar{stroke:#fff;stroke-width:1.8}.topbar nav{display:flex;gap:14px;align-items:center}.container{width:min(1120px,92vw);margin:0 auto;padding:44px 0 70px}.hero{display:grid;grid-template-columns:1.5fr .7fr;gap:28px;align-items:stretch;background:linear-gradient(135deg,#fff,#eff7ff);border:1px solid var(--line);border-radius:24px;padding:42px;box-shadow:0 16px 40px rgba(16,35,59,.06)}h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.4rem 0 1rem}h2{margin:0 0 6px}.hero p,.page-title p,.section-head p{color:var(--muted);max-width:700px;line-height:1.6}.eyebrow{font-weight:800;letter-spacing:.12em;font-size:.76rem;color:var(--teal)}.hero-card{border-radius:20px;background:var(--ink);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:10px}.hero-card b{font-size:2rem}.hero-card span{font-size:1.2rem}.hero-card small{color:#c7d5e7;line-height:1.4}.btn{display:inline-block;border:0;border-radius:12px;background:var(--blue);color:#fff;padding:13px 18px;font-weight:750;cursor:pointer}.btn-small{padding:10px 14px}.secondary{background:#eef2f7;color:var(--ink)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:38px 0 16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.empty,.panel,.form-card,.notice{background:#fff;border:1px solid var(--line);border-radius:18px}.card{padding:22px;transition:.15s}.card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,35,59,.08)}.card-top,.meta{display:flex;justify-content:space-between;gap:10px}.code{font-weight:800;color:var(--blue)}.status{background:#e8f7f4;color:#147266;border-radius:999px;padding:4px 9px;font-size:.75rem}.card h3{margin:20px 0 8px}.card p,.meta{color:var(--muted)}.meta{font-size:.86rem;margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.empty{padding:30px;grid-column:1/-1;text-align:center}.page-title{margin-bottom:24px}.form-card{padding:28px;max-width:820px}.form-card label{display:block;font-weight:700;margin-bottom:18px}.form-card input,.form-card select,.form-card textarea{width:100%;margin-top:7px;border:1px solid #cbd6e2;border-radius:11px;padding:12px;font:inherit;background:#fbfdff}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.alert{max-width:820px;background:#fff3cd;border:1px solid #eed98a;padding:12px 16px;border-radius:12px;margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:26px}.panel dl{display:grid;grid-template-columns:130px 1fr;gap:12px;margin:20px 0 0}.panel dt{font-weight:800}.panel dd{margin:0;color:var(--muted)}.panel h4{margin:18px 0 4px}.panel p{color:var(--muted);line-height:1.55}.roadmap{margin-top:18px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.steps div{padding:16px;border:1px dashed #c7d3e0;border-radius:14px;display:flex;gap:10px;align-items:center;color:var(--muted)}.steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf1f6}.steps .done{border-style:solid;background:var(--soft);color:var(--ink)}.steps .done b{background:var(--blue);color:white}.notice{padding:18px 22px;margin-top:18px;border-left:4px solid var(--teal)}footer{text-align:center;color:var(--muted);padding:24px;border-top:1px solid var(--line);background:#fff}@media(max-width:800px){.hero,.detail-grid,.two{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar nav>a:first-child{display:none}.hero{padding:26px}}

/* DEV02 */
.page-title.compact h1{margin-bottom:.35rem}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}
.analysis-grid h4,.decision-box h4{margin:0 0 .35rem;color:#102842}
.analysis-grid p,.decision-box p{margin:0;color:#60748e;white-space:pre-wrap}
.decision-box{margin-top:1rem;padding:1rem 1.1rem;border:1px solid #d7e2ee;border-radius:14px;background:#f8fbfe}
.action-panel{margin-top:1rem}
.action-panel p{max-width:760px}
.button.secondary{background:#fff;color:#1766a8;border:1px solid #b9cfe3}
.notice.success{border-left-color:#1d8b67;background:#f3fbf8}
.notice.error{border-left-color:#b42318;background:#fff5f4;color:#7a271a}
.guide-panel{margin-bottom:1rem;background:#f8fbfe}
.guide-chips{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.9rem}
.guide-chips span{padding:.35rem .7rem;border-radius:999px;background:#e7f2fa;color:#155b8f;font-weight:700;font-size:.9rem}
.form-card{max-width:1000px;margin:0 auto}
.form-section{padding:1.25rem 0;border-bottom:1px solid #e0e8f0}
.form-section:first-child{padding-top:0}
.form-section:last-of-type{border-bottom:0}
.step-label{display:block;color:#0b7b8f;font-weight:800;letter-spacing:.07em;font-size:.82rem;margin-bottom:1rem}
.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-card label{display:block;font-weight:700;color:#102842;margin-bottom:1rem}
.form-card input,.form-card textarea,.form-card select{box-sizing:border-box;width:100%;margin-top:.45rem;border:1px solid #c8d7e6;border-radius:10px;padding:.8rem .9rem;font:inherit;color:#102842;background:#fff}
.form-card textarea{resize:vertical}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:3px solid rgba(23,102,168,.14);border-color:#1766a8}
.critical-section{background:#fbfdff;margin:0 -1rem;padding:1.25rem 1rem;border-radius:14px}
.form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1.25rem;flex-wrap:wrap}
.steps .active{border-style:solid;border-color:#7eb6df;background:#f2f8fc}
.steps .active b{background:#0b7b8f;color:#fff}
@media (max-width:760px){.analysis-grid,.form-grid.two{grid-template-columns:1fr}.section-head{flex-direction:column}.form-actions{justify-content:stretch}.form-actions .button,.form-actions button{width:100%;text-align:center}}

.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:12px;background:var(--blue);color:#fff;padding:13px 18px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:0 6px 14px rgba(23,102,168,.16);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(23,102,168,.22);background:#12578f}.button:focus-visible{outline:3px solid rgba(23,102,168,.25);outline-offset:3px}.action-panel .button{margin-top:.45rem}

/* DEV03 */
.itinerary-context{margin-bottom:1rem;background:#f7fbff}.itinerary-context p{margin:.55rem 0}.notice.warning{border-left-color:#d28a00;background:#fffaf0}.notice.warning ul{margin:.6rem 0 0;padding-left:1.2rem}.itinerary-settings{margin-bottom:1rem}.itinerary-four{display:grid;grid-template-columns:1.1fr .8fr .8fr 1.3fr;gap:1rem}.itinerary-board{margin-bottom:1rem}.counter{background:#e7f2fa;color:#155b8f;font-weight:800;border-radius:999px;padding:.45rem .8rem}.timeline{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.timeline-stop{display:grid;grid-template-columns:44px 1fr;gap:1rem;padding:1rem;border:1px solid #d9e4ee;border-radius:15px;background:#fbfdff}.timeline-order{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#1766a8;color:white;font-weight:900}.stop-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.stop-head h3{margin:0}.stop-head strong{white-space:nowrap;color:#0b7b8f}.stop-activity{margin:.25rem 0 .7rem!important;color:#102842!important;font-weight:700}.stop-meta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;color:#60748e;font-size:.92rem}.technical-note{margin:.7rem 0 0!important;padding:.7rem .8rem;background:#eef6fb;border-radius:10px}.stop-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}.stop-actions form{margin:0}.mini-button{border:1px solid #bfd0df;background:#fff;color:#1766a8;border-radius:9px;padding:.45rem .65rem;font-weight:750;cursor:pointer}.mini-button:hover{background:#eef6fb}.mini-button.danger{color:#a02a21;border-color:#e2b5b0}.empty-inline{display:flex;flex-direction:column;gap:.35rem;padding:1.2rem;border:1px dashed #c7d3e0;border-radius:14px;color:#60748e}.empty-inline strong{color:#102842}.add-stop{margin-top:1rem}.add-stop h2{margin:.35rem 0 1rem}@media(max-width:900px){.itinerary-four{grid-template-columns:1fr 1fr}.stop-meta{grid-template-columns:1fr}}@media(max-width:620px){.itinerary-four{grid-template-columns:1fr}.timeline-stop{grid-template-columns:1fr}.timeline-order{width:34px;height:34px}.stop-head{flex-direction:column;gap:.25rem}}

/* DEV03A — claridad y validación temporal */
.field-help{margin:-.25rem 0 1rem;padding:.75rem .9rem;border-radius:10px;background:#f5f9fd;color:#526b86;line-height:1.5;font-size:.92rem}.field-help strong{color:#102842}.mini-button:disabled,.mini-button[aria-disabled="true"]{cursor:not-allowed;opacity:.42;background:#f3f5f7;color:#7f8b99;border-color:#d7dde4}.mini-button:disabled:hover{background:#f3f5f7}.notice.warning li+li{margin-top:.3rem}

/* DEV04 — mapa interactivo */
.action-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.45rem}.action-row .button{margin-top:0}.map-context{margin-bottom:1rem}.map-legend{display:flex;gap:.65rem;flex-wrap:wrap}.map-legend span{display:inline-flex;align-items:center;gap:.4rem;color:#526b86;font-weight:700}.map-legend b,.point-kind{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1766a8;color:#fff;font-size:.78rem}.point-kind.stop{background:#0b7b8f}.point-kind.destination{background:#102842}.map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:1rem;align-items:start}.map-panel{padding:1rem}.route-panel{padding:1.2rem}.route-panel .section-head{margin:0 0 .75rem}.route-panel .section-head h2{font-size:1.2rem}.map-status{padding:.7rem .8rem;border-radius:10px;background:#f3f8fc;color:#526b86;font-size:.9rem;margin-bottom:.8rem}.route-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.route-points>li{border:1px solid #d9e4ee;border-radius:12px;padding:.75rem;background:#fbfdff}.route-point-head{display:flex;gap:.65rem;align-items:flex-start}.route-point-head strong{display:block}.route-point-head small{display:block;color:#60748e;margin-top:.15rem;line-height:1.35}.coord-status{display:block;color:#0b7b8f;font-size:.82rem;font-weight:700;margin:.45rem 0 0 2.95rem}.coordinate-editor{margin:.55rem 0 0 2.95rem}.coordinate-editor summary{cursor:pointer;color:#1766a8;font-weight:700;font-size:.82rem}.coord-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.55rem 0}.coord-grid input{width:100%;min-width:0;border:1px solid #c8d7e6;border-radius:8px;padding:.55rem;font:inherit}.map-help{margin:.7rem .2rem 0!important;color:#526b86!important;font-size:.88rem}.map-note{margin-top:1rem}.map-actions{max-width:none;padding-top:1rem}#travel-map{height:570px;border-radius:13px;background:#eaf0f5;overflow:hidden}.leaflet-container{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}@media(max-width:920px){.map-layout{grid-template-columns:1fr}#travel-map{height:460px}.route-panel{order:-1}}@media(max-width:620px){#travel-map{height:380px}.coord-grid{grid-template-columns:1fr}.coordinate-editor,.coord-status{margin-left:0}}

/* DEV04A — punto de encuentro y ruta circular */
.point-kind.meeting{background:#1766a8}.point-kind.return{background:#102842}.meeting-summary{background:#f7fbff}
\n\n/* DEV05 — presupuesto y costos */\n.steps.six-steps{grid-template-columns:repeat(6,1fr)}.budget-context{margin-bottom:1rem}.budget-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.budget-cards article,.budget-mini-grid>div{border:1px solid #d9e4ee;border-radius:14px;background:#fbfdff;padding:1rem}.budget-cards span,.budget-mini-grid span{display:block;color:#60748e;font-size:.82rem;font-weight:700;margin-bottom:.35rem}.budget-cards strong,.budget-mini-grid strong{font-size:1.25rem;color:#102842}.negative{color:#b42318!important}.budget-meter{height:12px;border-radius:999px;background:#e8eef4;overflow:hidden;margin-top:1rem}.budget-meter span{display:block;height:100%;background:#1766a8;border-radius:999px}.budget-meter-label{margin:.45rem 0 0;color:#60748e;font-size:.88rem}.budget-board{margin-bottom:1rem}.budget-items{display:flex;flex-direction:column;gap:.85rem}.budget-item{border:1px solid #d9e4ee;border-radius:15px;background:#fbfdff;padding:1rem}.budget-item-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.budget-order{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#1766a8;color:#fff;font-weight:900}.budget-edit-grid{grid-template-columns:1fr 1.5fr .65fr .8fr}.budget-item-actions{display:flex;gap:.5rem;margin-top:.6rem}.budget-item>form:last-child{margin-top:.45rem}.budget-add{margin-top:1rem}.budget-add-grid{grid-template-columns:1fr 1.5fr .65fr .8fr}.budget-summary-panel{margin-top:1rem}.budget-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}@media(max-width:1050px){.steps.six-steps{grid-template-columns:repeat(3,1fr)}.budget-cards,.budget-mini-grid{grid-template-columns:repeat(2,1fr)}.budget-edit-grid,.budget-add-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.steps.six-steps,.budget-cards,.budget-mini-grid,.budget-edit-grid,.budget-add-grid{grid-template-columns:1fr}}\n

/* DEV05A — pulido visual del editor de presupuesto */
.budget-item{
  padding:1.15rem 1.2rem;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 8px 24px rgba(16,35,59,.035);
}
.budget-item-head{
  padding-bottom:.8rem;
  margin-bottom:1rem;
  border-bottom:1px solid #e5edf4;
}
.budget-item-head>strong{
  font-size:1.05rem;
  color:#102842;
  padding:.45rem .7rem;
  border-radius:10px;
  background:#eef6fb;
}
.budget-item label{
  display:block;
  margin:0;
  color:#102842;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.01em;
}
.budget-item .budget-edit-grid{
  display:grid;
  gap:.85rem;
  align-items:end;
  margin-bottom:.85rem;
}
.budget-item input,
.budget-item select{
  display:block;
  width:100%;
  min-width:0;
  margin-top:.4rem;
  border:1px solid #c8d7e6;
  border-radius:10px;
  padding:.72rem .8rem;
  font:inherit;
  color:#102842;
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.budget-item input:hover,
.budget-item select:hover{border-color:#9eb9d1}
.budget-item input:focus,
.budget-item select:focus{
  outline:none;
  border-color:#1766a8;
  box-shadow:0 0 0 3px rgba(23,102,168,.12);
  background:#fff;
}
.budget-action-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
  padding-top:1rem;
  margin-top:1rem;
  border-top:1px solid #e5edf4;
}
.budget-action-row .button{
  min-height:42px;
  padding:.68rem 1rem;
  font-size:.9rem;
}
.budget-save{background:#1766a8}
.danger-outline{
  background:#fff;
  color:#a52a21;
  border:1px solid #e4b7b2;
  box-shadow:none;
}
.danger-outline:hover{
  background:#fff5f4;
  color:#8f221b;
  border-color:#cf8e87;
  box-shadow:0 7px 16px rgba(164,42,33,.08);
}
.danger-outline:focus-visible{
  outline:3px solid rgba(180,35,24,.14);
  outline-offset:3px;
}
@media(max-width:620px){
  .budget-item{padding:1rem}
  .budget-action-row{justify-content:stretch}
  .budget-action-row .button{width:100%}
}

/* Same-origin native map renderer: compatible with restrictive public CSP. */
.native-map{position:relative;isolation:isolate;cursor:grab;touch-action:none;background:#dfe9f1}
.native-map.is-dragging{cursor:grabbing}
.native-map-tiles,.native-map-lines,.native-map-markers{position:absolute;inset:0;overflow:hidden}
.native-map-tiles{z-index:1}
.native-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none}
.native-map-lines{z-index:2;width:100%;height:100%;pointer-events:none}
.native-map-route{fill:none;stroke:#2d7fd0;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.82;filter:drop-shadow(0 1px 1px rgba(17,55,89,.25))}
.native-map-markers{z-index:3;pointer-events:none}
.native-map-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#0b7b8f;color:#fff;font:800 .78rem/1 Inter,system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 5px 12px rgba(16,40,66,.3);cursor:pointer;pointer-events:auto;padding:0}
.native-map-marker.meeting,.native-map-marker.return{background:#1766a8}
.native-map-marker.return{background:#102842}
.native-map-controls{position:absolute;z-index:5;left:12px;top:12px;display:flex;flex-direction:column;border:1px solid rgba(16,40,66,.2);border-radius:8px;overflow:hidden;box-shadow:0 3px 10px rgba(16,40,66,.2)}
.native-map-controls button{width:38px;height:38px;border:0;background:#fff;color:#102842;font:700 1.55rem/1 system-ui;cursor:pointer}
.native-map-controls button+button{border-top:1px solid #d6e1ea}
.native-map-controls button:hover,.native-map-controls button:focus-visible{background:#eef6fb}
.native-map-attribution{position:absolute;z-index:5;right:4px;bottom:4px;background:rgba(255,255,255,.88);padding:2px 5px;border-radius:4px 0 0 0;font-size:.67rem;color:#425c75;pointer-events:auto}
.native-map-attribution a{color:#1766a8}


/* Sostenibilidad, accesibilidad y gestión de riesgos */
.steps.seven-steps{grid-template-columns:repeat(7,1fr)}
.sustainability-context{margin-bottom:1rem}.sustainability-grid{grid-template-columns:1fr 1fr;gap:1rem}.sustainability-grid textarea,.risk-grid textarea{min-height:120px;resize:vertical}.full-span{grid-column:1/-1}.risk-board{margin-bottom:1rem}.risk-items{display:flex;flex-direction:column;gap:.85rem}.risk-card{border:1px solid #d9e4ee;border-left:5px solid #1766a8;border-radius:14px;padding:1rem 1.1rem;background:#fff}.risk-card.risk-alto{border-left-color:#b42318;background:#fffafa}.risk-card.risk-medio{border-left-color:#c97810;background:#fffdf8}.risk-card.risk-bajo{border-left-color:#14805e;background:#fbfffd}.risk-head{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center}.risk-order{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#1766a8;color:#fff;font-weight:900}.risk-head strong{display:block;color:#102842}.risk-head small{display:block;color:#60748e;margin-top:.15rem}.risk-level{font-weight:900;padding:.35rem .65rem;border-radius:999px;background:#eef6fb;color:#1766a8}.risk-alto .risk-level{background:#fff0ee;color:#b42318}.risk-medio .risk-level{background:#fff4df;color:#9b5a08}.risk-bajo .risk-level{background:#eaf8f2;color:#126a50}.risk-meta{display:flex;gap:.7rem;flex-wrap:wrap;margin:.85rem 0;color:#60748e}.risk-meta span{background:#f4f8fb;border-radius:8px;padding:.45rem .6rem}.risk-actions-text{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:.8rem 0}.risk-actions-text p{margin:0;padding:.75rem;background:#f7fafc;border-radius:10px;color:#425c75}.risk-add{margin-top:1rem}.risk-grid{grid-template-columns:1fr 1.4fr .7fr .7fr;gap:1rem}.risk-grid label:nth-of-type(5),.risk-grid label:nth-of-type(6){grid-column:span 2}@media(max-width:1050px){.steps.seven-steps{grid-template-columns:repeat(4,1fr)}.risk-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.steps.seven-steps,.sustainability-grid,.risk-grid,.risk-actions-text{grid-template-columns:1fr}.risk-grid label:nth-of-type(5),.risk-grid label:nth-of-type(6),.full-span{grid-column:auto}.risk-head{grid-template-columns:auto 1fr}.risk-level{grid-column:1/-1;justify-self:start}}


/* DEV06B: formularios de sostenibilidad consistentes con el diseño general */
.form-grid{display:grid}
.sustainability-context form{margin-top:1.1rem}
.sustainability-context .form-grid label,
.risk-add .form-grid label{display:block;font-weight:800;color:var(--ink);margin:0}
.sustainability-context .form-grid input,
.sustainability-context .form-grid select,
.sustainability-context .form-grid textarea,
.risk-add .form-grid input,
.risk-add .form-grid select,
.risk-add .form-grid textarea{
  width:100%;box-sizing:border-box;margin-top:.5rem;border:1px solid #c8d7e6;border-radius:12px;
  padding:.85rem .95rem;font:inherit;color:var(--ink);background:#fff;line-height:1.45;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.sustainability-context .form-grid textarea,
.risk-add .form-grid textarea{min-height:128px;resize:vertical}
.sustainability-context .form-grid input:focus,
.sustainability-context .form-grid select:focus,
.sustainability-context .form-grid textarea:focus,
.risk-add .form-grid input:focus,
.risk-add .form-grid select:focus,
.risk-add .form-grid textarea:focus{
  outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,102,168,.13);background:#fbfdff
}
.sustainability-context .form-actions{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.sustainability-grid{align-items:start}
@media(max-width:700px){
  .sustainability-context .form-actions{flex-direction:column}
  .sustainability-context .form-actions .button{width:100%;text-align:center}
}
