/* NEXFUEL V3.5 · UI Foundation
   Capa visual incremental sobre app.css. No sustituye lógica ni módulos existentes. */
:root{
  --nf-navy:#08233f;
  --nf-navy-700:#103a5f;
  --nf-green:#2f8f63;
  --nf-green-soft:#edf7f1;
  --nf-surface:#ffffff;
  --nf-canvas:#f4f7f9;
  --nf-text:#172633;
  --nf-muted:#6d7b87;
  --nf-line:#dce4e9;
  --nf-danger:#a33a3a;
  --nf-warning:#9a681a;
  --nf-radius-sm:10px;
  --nf-radius-md:14px;
  --nf-radius-lg:18px;
  --nf-shadow-sm:0 4px 14px rgba(17,37,55,.05);
  --nf-shadow-md:0 14px 34px rgba(17,37,55,.09);
  --nf-touch:44px;
  --nf-page-max:1480px;
  --nf-form-max:1180px;
  --nf-bottom-nav-height:68px;
}

/* Contrato de viewport y accesibilidad */
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--nf-canvas)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(47,143,99,.22);outline-offset:2px}
button,.button,.context-button,.ghost-button,.mobile-menu{min-height:var(--nf-touch)}
input,select,textarea{min-width:0;max-width:100%}
textarea{resize:vertical}

/* Página / jerarquía */
.content-area{width:100%;max-width:var(--nf-page-max);padding:28px clamp(18px,2.4vw,36px) 40px}
.page-heading{align-items:center;margin-bottom:24px}
.page-heading h1{font-size:clamp(1.45rem,1.1rem + .9vw,2rem);line-height:1.18;letter-spacing:-.02em}
.page-heading p:not(.eyebrow){max-width:780px}
.section-card{border-radius:var(--nf-radius-lg);box-shadow:var(--nf-shadow-sm)}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px clamp(20px,2vw,28px)}
.section-header>div{min-width:0}
.section-header h2{font-size:1.1rem;line-height:1.25}

/* Botones consistentes */
.button{min-height:46px;border-radius:11px;padding:0 18px;font-weight:800;line-height:1;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}
.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--nf-navy);box-shadow:0 8px 20px rgba(8,35,63,.16)}
.button.primary:hover{background:var(--nf-navy-700);box-shadow:0 10px 24px rgba(8,35,63,.2)}
.button.secondary:hover{border-color:#b9c8d2;background:#f8fafb}
.button.compact{min-height:38px;padding:0 13px;font-size:.78rem}
.button[disabled],button[disabled]{cursor:not-allowed;opacity:.6;transform:none!important}

/* Campos */
.smart-form,.settings-form{max-width:100%}
.smart-form label,.settings-form label{min-width:0}
.smart-form label>span,.settings-form label>span,.field-label{display:block;font-size:.8rem;font-weight:800;line-height:1.35;color:#334b5d}
.smart-form input,.smart-form select,.smart-form textarea,.settings-form input,.settings-form select,.settings-form textarea{border-color:#cbd7df;border-radius:11px;background:#fff;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}
.smart-form input:focus,.smart-form select:focus,.smart-form textarea:focus,.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus{border-color:#6ea489;box-shadow:0 0 0 3px rgba(47,143,99,.11)}
.smart-form input:disabled,.smart-form select:disabled,.smart-form textarea:disabled{background:#f1f4f6;color:#71808c}

/* Ayuda: solo texto, nunca iconos flotantes */
.field-note,.nf-field-help{display:block;margin-top:6px;color:var(--nf-muted);font-size:.74rem;line-height:1.45;font-weight:500}
.field-note strong,.nf-field-help strong{color:#506474}

/* Sistema semántico para formularios nuevos */
.nf-form{width:100%;max-width:var(--nf-form-max)}
.nf-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px 22px;align-items:start;min-width:0}
.nf-field{display:grid;gap:7px;min-width:0;align-content:start}
.nf-field--xs{grid-column:span 2}
.nf-field--sm{grid-column:span 3}
.nf-field--md{grid-column:span 4}
.nf-field--lg{grid-column:span 6}
.nf-field--xl{grid-column:span 8}
.nf-field--full{grid-column:1/-1}
.nf-form-section{grid-column:1/-1;display:grid;gap:4px;margin-top:4px;padding:18px 0 2px;border-top:1px solid var(--nf-line)}
.nf-form-section:first-child{border-top:0;margin-top:0;padding-top:0}
.nf-form-section strong{color:var(--nf-navy);font-size:.9rem}
.nf-form-section span{color:var(--nf-muted);font-size:.76rem;line-height:1.45}
.nf-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--nf-line)}

/* Barras de filtro y acciones */
.nf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--nf-line)}
.nf-toolbar__filters{display:flex;align-items:end;gap:12px;flex:1 1 640px;min-width:0;flex-wrap:wrap}
.nf-toolbar__actions{display:flex;gap:10px;align-items:center;margin-left:auto}

/* Tabla: scroll solo dentro del componente */
.responsive-table,.nf-table-shell{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.responsive-table table,.nf-table-shell table{width:100%;border-collapse:collapse}
.responsive-table th,.nf-table-shell th{white-space:nowrap}
.responsive-table td,.nf-table-shell td{vertical-align:middle}

/* Estados */
.empty-state{min-height:180px;padding:34px 24px;border-radius:14px;background:#fbfcfd}
.empty-state strong{font-size:1rem}
.nf-skeleton{position:relative;overflow:hidden;background:#e9eef1;border-radius:8px;color:transparent!important}
.nf-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:nf-shimmer 1.25s infinite}
@keyframes nf-shimmer{100%{transform:translateX(100%)}}

/* Shell de escritorio */
.sidebar{width:250px;max-width:250px}
.sidebar-nav a{min-height:44px}
.topbar{min-height:74px;height:auto;padding-block:10px}
.user-chip{min-width:0}.user-chip>div:last-child{min-width:0}.user-chip strong,.user-chip span{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Navegación inferior móvil */
.mobile-bottom-nav{display:none}

@media(max-width:1180px){
  .nf-field--xs,.nf-field--sm{grid-column:span 4}
  .nf-field--md{grid-column:span 6}
  .nf-field--lg,.nf-field--xl{grid-column:span 12}
}

@media(max-width:860px){
  body{padding-bottom:calc(var(--nf-bottom-nav-height) + env(safe-area-inset-bottom))}
  .content-area{padding:20px 16px 28px}
  .topbar{padding:8px 14px;min-height:64px}
  .topbar-actions .user-chip>div:last-child{display:none}
  .company-context strong{max-width:58vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .page-heading{display:grid;align-items:start;gap:14px}
  .page-heading>.button,.page-heading-actions{width:100%}
  .page-heading-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .page-heading-actions .button{width:100%}
  .section-header{padding:19px 18px}
  .section-header>.button{width:100%}
  .mobile-bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(var(--nf-mobile-items,4),minmax(0,1fr));min-height:var(--nf-bottom-nav-height);padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));background:rgba(255,255,255,.97);border-top:1px solid var(--nf-line);box-shadow:0 -8px 24px rgba(8,35,63,.09);backdrop-filter:blur(12px)}
  .mobile-bottom-nav a,.mobile-bottom-nav button{min-width:0;min-height:54px;border:0;background:transparent;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 4px;color:#627482;font-size:.66rem;font-weight:800;text-align:center}
  .mobile-bottom-nav a.active{color:var(--nf-navy);background:#edf3f6}
  .mobile-bottom-nav .mobile-nav-icon{font-size:1.18rem;line-height:1}
  .mobile-bottom-nav button{cursor:pointer}
  .nf-toolbar{align-items:stretch;padding:16px 18px}
  .nf-toolbar__filters,.nf-toolbar__actions{width:100%;margin-left:0}
}

@media(max-width:760px){
  .smart-form,.settings-form{padding-left:18px!important;padding-right:18px!important}
  .smart-form-grid,.nf-form-grid{grid-template-columns:1fr!important;gap:16px!important}
  .nf-field--xs,.nf-field--sm,.nf-field--md,.nf-field--lg,.nf-field--xl,.nf-field--full{grid-column:1/-1}
  .nf-form-actions{justify-content:stretch;display:grid;grid-template-columns:1fr;gap:10px}
  .nf-form-actions .button{width:100%}
  .metric-grid,.party-summary-grid,.customer-metric-grid{grid-template-columns:1fr!important}
  .responsive-table table,.nf-table-shell table{min-width:720px}
}

@media(max-width:520px){
  .content-area{padding-inline:12px}
  .section-card{border-radius:14px}
  .section-header{padding:17px 16px}
  .smart-form,.settings-form{padding-left:16px!important;padding-right:16px!important}
  .page-heading h1{font-size:1.45rem}
  .company-context span{font-size:.58rem}
}

@media(display-mode:standalone){
  .topbar{padding-top:max(8px,env(safe-area-inset-top))}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button{transition:none}
  .nf-skeleton::after{animation:none}
}

/* NEXFUEL V3.5.1 · Ayuda contextual estable y navegación móvil simplificada */
.nf-label-row{display:inline-flex!important;align-items:center;gap:7px;min-width:0;max-width:100%}
.nf-help-trigger{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;border:1px solid rgba(47,143,99,.38);border-radius:999px;background:var(--nf-green-soft);color:var(--nf-green);display:inline-grid;place-items:center;font:800 .78rem/1 system-ui,sans-serif;cursor:pointer;vertical-align:middle;box-shadow:none;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}
.nf-help-trigger:hover,.nf-help-trigger:focus-visible{background:#dff1e7;border-color:var(--nf-green);transform:translateY(-1px)}
.nf-help-overlay{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:24px;background:rgba(6,24,44,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.nf-help-overlay[hidden]{display:none!important}
.nf-help-dialog{width:min(440px,calc(100vw - 32px));max-height:min(560px,calc(100dvh - 48px));overflow:auto;background:#fff;border:1px solid var(--nf-line);border-radius:18px;box-shadow:0 24px 70px rgba(8,35,63,.24)}
.nf-help-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 20px 14px;border-bottom:1px solid var(--nf-line)}
.nf-help-dialog h2{margin:2px 0 0;color:var(--nf-navy);font-size:1.05rem;line-height:1.25}
.nf-help-close{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;border:0;border-radius:10px;background:#f2f5f7;color:var(--nf-navy);display:grid;place-items:center;font-size:1.35rem;cursor:pointer}
.nf-help-body{padding:18px 20px 22px;color:#475d6d;font-size:.9rem;line-height:1.65;white-space:pre-line}
body.nf-help-open{overflow:hidden}

/* Mostrar la información completa: campos largos reciben espacio real y el contenido no rompe la rejilla */
.smart-form-grid>*,.app-form-row>*,.nf-form-grid>*{min-width:0;max-width:100%}
.smart-form select,.settings-form select,.smart-form input,.settings-form input{width:100%}
.smart-form select,.settings-form select{padding-right:38px}
.smart-form input,.settings-form input,.smart-form textarea,.settings-form textarea{overflow-wrap:anywhere}
.field-span-7,.field-span-8,.field-span-9,.field-span-12{min-width:0}

@media(max-width:860px){
  .mobile-bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;column-gap:8px}
  .mobile-bottom-nav a,.mobile-bottom-nav button{min-height:54px!important;padding:5px 6px!important;gap:4px!important}
  .mobile-bottom-nav .mobile-nav-icon{font-size:1.2rem!important;line-height:1!important}
  .mobile-bottom-nav small{font-size:.65rem!important;line-height:1.1!important;white-space:nowrap!important}
}
@media(max-width:520px){
  .mobile-bottom-nav{column-gap:4px;padding-left:max(8px,env(safe-area-inset-left))!important;padding-right:max(8px,env(safe-area-inset-right))!important}
  .mobile-bottom-nav a,.mobile-bottom-nav button{padding-inline:3px!important}
  .nf-help-overlay{align-items:end;padding:0}
  .nf-help-dialog{width:100%;max-height:min(62dvh,520px);border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0}
}

/* NEXFUEL V3.5.2 · etiquetas con ayuda contextual sin deformar el formulario */
.field-label-with-action{display:flex!important;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.field-label-with-action .nf-help-trigger{flex:0 0 22px}
[data-geo-municipality]:disabled{background:#f4f7f8;color:#7b8b96;cursor:not-allowed}

/* V3.5.3 · horarios cerrados */
.schedule-field{min-width:0}.schedule-controls{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) minmax(150px,auto);gap:10px;align-items:end;min-width:0}.schedule-controls>label:not(.schedule-all-day){display:grid;gap:6px;min-width:0}.schedule-controls small{font-size:.72rem;font-weight:800;color:var(--muted)}.schedule-separator{align-self:center;padding-bottom:14px;color:var(--muted);font-weight:800}.schedule-all-day{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 4px}.schedule-all-day input{width:18px;height:18px;flex:0 0 18px}.schedule-all-day span{font-weight:750;color:var(--navy);white-space:normal}.schedule-controls input[type=time]{width:100%;min-width:0}.schedule-controls input[type=time]:disabled{background:#f1f5f6;color:#7b8991;cursor:not-allowed}
@media(max-width:760px){.schedule-controls{grid-template-columns:1fr 20px 1fr}.schedule-all-day{grid-column:1/-1;padding-top:2px}.schedule-separator{padding-bottom:14px;text-align:center}}
@media(max-width:430px){.schedule-controls{grid-template-columns:1fr}.schedule-separator{display:none}.schedule-all-day{grid-column:auto}}

/* NEXFUEL V3.5.4 · Acciones de georreferenciación */
.coordinate-field-actions{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:34px}
.coordinate-map-link{width:max-content!important;min-width:0!important;min-height:36px!important;padding:7px 11px!important;font-size:.78rem!important;text-decoration:none}
.coordinate-map-link[hidden]{display:none!important}
.detail-grid strong small .text-link,.customer-read-grid strong small .text-link{display:inline-flex;margin-top:6px;font-size:.76rem;font-weight:800;text-decoration:none}
@media(max-width:520px){.coordinate-map-link{width:100%!important;justify-content:center}.coordinate-field-actions{width:100%}}

/* NEXFUEL V3.5.5 · Regla global de espaciado entre elementos hermanos */
:root{
  --nf-gap-xs:8px;
  --nf-gap-sm:12px;
  --nf-gap-md:16px;
  --nf-gap-lg:24px;
}
.plan-grid,.feature-grid,.role-options,.catalog-card-grid,.platform-action-grid,.choice-grid,.metric-grid{
  gap:var(--nf-gap-md)!important;
}
.row-actions,.inline-form,.inline-review-form,.page-heading-actions,.form-actions,.nf-toolbar__actions,.nf-toolbar__filters{
  gap:var(--nf-gap-sm)!important;
}
.simple-list{display:grid;gap:var(--nf-gap-sm)}
.simple-list>div{margin:0!important}
.check-card,.catalog-card,.platform-action,.plan-card,.choice-chip{margin:0!important}
.role-permission-section+.role-permission-section,.section-card+.section-card{margin-top:var(--nf-gap-lg)}
.settings-form .feature-grid,.settings-form .role-options,.settings-form .choice-grid{margin-top:var(--nf-gap-md);margin-bottom:var(--nf-gap-md)}
.status-pill+.status-pill,.badge+.badge{margin-left:var(--nf-gap-xs)}
@media(max-width:760px){
  .plan-grid,.feature-grid,.role-options,.catalog-card-grid,.platform-action-grid,.choice-grid,.metric-grid{gap:var(--nf-gap-sm)!important}
  .section-card+.section-card{margin-top:18px}
}

/* NEXFUEL V3.6.0 · Motor documental */
.document-rule-form{padding-bottom:4px}
.document-rule-flags{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--nf-gap-sm);min-width:0}
.compact-check{min-width:0;min-height:82px;align-items:flex-start!important;padding:12px!important}
.compact-check>span{min-width:0}.compact-check strong,.compact-check small{display:block}.compact-check small{margin-top:4px;line-height:1.35}
.document-control-tags{display:flex;flex-wrap:wrap;gap:var(--nf-gap-xs);min-width:180px}
.document-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--nf-gap-md);padding:0 24px 24px}
.document-state-grid article{display:grid;gap:6px;min-width:0;padding:16px;border:1px solid var(--nf-line);border-radius:14px;background:#fbfcfd}
.document-state-grid strong{color:var(--navy)}.document-state-grid small{line-height:1.45}
@media(max-width:1180px){.document-rule-flags{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.document-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-rule-flags{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.document-rule-flags,.document-state-grid{grid-template-columns:1fr}.document-state-grid{padding:0 18px 18px}.compact-check{min-height:auto}}
.document-health-list{display:grid;gap:var(--nf-gap-sm);padding:0 24px 24px}
.document-health-item{display:flex;align-items:center;justify-content:space-between;gap:var(--nf-gap-md);padding:13px 14px;border:1px solid var(--nf-line);border-radius:12px;background:#fbfcfd}
.document-health-item>div{display:grid;gap:3px;min-width:0}.document-health-item strong{color:var(--navy)}.document-health-item small{line-height:1.35}
@media(max-width:640px){.document-health-list{padding:0 18px 18px}.document-health-item{align-items:flex-start;flex-direction:column}.document-health-item .status-pill{align-self:flex-start}}

/* NEXFUEL V3.6.1 · Cierre transversal de M03 */
.input-suffix{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0}
.input-suffix>input{border-radius:8px 0 0 8px!important}
.input-suffix>span{display:flex;align-items:center;padding:0 10px;border:1px solid #cfd9e0;border-left:0;border-radius:0 8px 8px 0;background:#f6f8f9;color:var(--muted);font-size:.7rem;font-weight:800}
.document-gate-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--nf-gap-md);padding:16px 22px;border-bottom:1px solid var(--nf-line);background:#fbfcfd}
.document-gate-summary strong{font-size:1rem;color:var(--navy)}
.document-gate-summary span,.document-gate-summary small{color:var(--muted);font-size:.76rem}
[data-document-app-value][hidden]{display:none!important}
@media(max-width:700px){.document-gate-summary{grid-template-columns:1fr;gap:var(--nf-gap-xs);padding:15px 18px}}

/* SPEC-UI-001 / SPEC-UX-002 · formularios enfocados y expediente guiado */
.nf-focused-form{max-width:1040px;margin:0 auto;padding:24px 26px 28px}
.nf-form-grid--simple{grid-template-columns:repeat(12,minmax(0,1fr));max-width:900px}
.nf-simple-create .nf-form-actions{max-width:900px;margin-left:auto;margin-right:auto}
.nf-workflow-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0}
.nf-workflow-nav a{display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border:1px solid var(--nf-line);border-radius:11px;background:#fff;color:var(--nf-navy);font-size:.78rem;font-weight:800;text-decoration:none}
.nf-workflow-nav a.active{border-color:rgba(47,143,99,.42);background:var(--nf-green-soft);color:var(--nf-green)}
.nf-conditional-group{padding:14px;border:1px solid var(--nf-line);border-radius:12px;background:#fbfcfd}
[data-reveal-target][hidden]{display:none!important}
.nf-point-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:20px 22px;border:1px solid var(--nf-line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(8,35,63,.05)}
.nf-point-hero__main{display:grid;gap:7px;min-width:0}.nf-point-hero__main h2{margin:0;color:var(--nf-navy);font-size:1.12rem}.nf-point-hero__main p{margin:0;color:var(--nf-muted)}
.nf-point-progress{display:grid;justify-items:end;gap:2px;white-space:nowrap}.nf-point-progress strong{font-size:1.6rem;color:var(--nf-navy)}.nf-point-progress span{font-size:.72rem;color:var(--nf-muted);font-weight:700}
.nf-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:4px 24px 24px}
.nf-task-card{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;padding:18px 20px;border:1px solid var(--nf-line);border-radius:13px;background:#fff;text-decoration:none;color:var(--nf-navy);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.nf-task-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(8,35,63,.06)}
.nf-task-card>div{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:6px;align-items:center;min-width:0}.nf-task-card strong{font-size:.9rem;line-height:1.3}.nf-task-card small{grid-column:2;color:var(--nf-muted);line-height:1.45}.nf-task-card>span:last-child{font-size:.74rem;font-weight:800;white-space:nowrap}
.nf-task-state{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;font-weight:900}.nf-task-card.is-complete .nf-task-state{background:var(--nf-green-soft);color:var(--nf-green)}.nf-task-card.is-pending .nf-task-state{background:#fff3df;color:#a76300}
.nf-action-list{display:grid;gap:10px;padding:0 22px 22px}.nf-action-list>a,.nf-gate-action{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--nf-line);border-radius:12px;background:#fbfcfd;text-decoration:none;color:var(--nf-navy)}.nf-action-list>a>div{display:grid;gap:3px}.nf-action-list small{color:var(--nf-muted)}.nf-action-list>a>span{font-size:.75rem;font-weight:800;white-space:nowrap}
.nf-secondary-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:14px}.nf-secondary-actions a{font-size:.75rem;font-weight:800;color:var(--nf-muted);text-decoration:none}.nf-secondary-actions a:hover{color:var(--nf-navy)}
.nf-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.nf-option-grid--days{grid-template-columns:repeat(7,minmax(60px,1fr))}
.nf-choice{display:flex!important;align-items:center!important;gap:9px!important;min-height:46px;padding:10px 12px!important;border:1px solid var(--nf-line);border-radius:11px;background:#fff}.nf-choice input{width:19px!important;height:19px!important;min-height:19px!important;flex:0 0 19px!important;margin:0!important}.nf-choice span{font-size:.78rem;font-weight:800;color:var(--nf-navy)}
.nf-check{display:flex!important;align-items:flex-start!important;gap:14px!important;min-height:54px;padding:14px 16px!important;border:1px solid var(--nf-line);border-radius:12px;background:#fbfcfd}.nf-check input{width:20px!important;height:20px!important;min-height:20px!important;flex:0 0 20px!important;margin:2px 0 0!important}.nf-check>span{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;min-width:0!important}.nf-check strong{display:block!important;font-size:.82rem;line-height:1.35;color:var(--nf-navy)}.nf-check small{display:block!important;font-size:.72rem;line-height:1.45;color:var(--nf-muted);font-weight:600}
@media(max-width:760px){
  .nf-focused-form{padding:16px!important}.nf-workflow-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nf-workflow-nav a{justify-content:center;text-align:center;min-height:44px;padding:8px}
  .nf-point-hero{align-items:flex-start;flex-direction:column;padding:16px}.nf-point-progress{justify-items:start}.nf-task-grid{grid-template-columns:1fr;padding:0 16px 16px}.nf-action-list{padding:0 16px 16px}.nf-option-grid--days{grid-template-columns:repeat(4,minmax(0,1fr))}.nf-option-grid{grid-template-columns:1fr 1fr}.nf-secondary-actions{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:420px){.nf-workflow-nav{grid-template-columns:1fr}.nf-option-grid,.nf-option-grid--days{grid-template-columns:1fr 1fr}.nf-task-card{align-items:flex-start;flex-direction:column}.nf-task-card>span:last-child{padding-left:40px}}

/* NEXFUEL V3.7.1 · CR-UI-002 densidad y fuente única de pendientes */
.nf-guided-config .section-header{padding-bottom:24px}
.nf-guided-config .section-header p:not(.eyebrow){margin-top:8px;line-height:1.5}
.nf-guided-config .section-header p strong{color:var(--nf-navy)}
.nf-focused-form .nf-form-grid>.nf-check + [data-reveal-target]:not([hidden]){margin-top:-6px}
.nf-focused-form .nf-conditional-group{margin-top:-4px;padding:18px}
@media(max-width:760px){
  .nf-focused-form{padding:18px!important}
  .nf-form-grid{gap:20px!important}
  .nf-task-grid{padding:2px 18px 20px;gap:14px}
  .nf-task-card{padding:16px 17px;gap:14px}
  .nf-check{padding:13px 14px!important;gap:12px!important}
}

/* ========================================================================== 
   NEXFUEL V3.8.0 · CONTRATO GLOBAL DE FORMULARIOS
   SPEC-UI-003: el patrón validado en Punto de entrega se vuelve transversal.
   ========================================================================== */
:root{
  --nf-space-1:8px;
  --nf-space-2:12px;
  --nf-space-3:16px;
  --nf-space-4:24px;
  --nf-space-5:32px;
  --nf-form-control-h:44px;
}

/* Todo formulario de negocio comparte una misma anatomía visual. */
.settings-form,.smart-form,.party-form,.customer-subform,.requirement-form,
.customer-document-upload,.party-contact-form,.customer-profile-form,
.center-status-form,.catalog-item-form,.company-create-form,.user-simple-form{
  width:100%;
  max-width:100%;
  padding:24px;
}

.smart-form-grid,.party-form-grid,.party-contact-grid,.customer-document-grid,
.customer-address-grid,.customer-representative-grid,.user-simple-grid,
.settings-grid,.admin-grid-2,.app-form-row{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:20px 22px;
  align-items:start;
  min-width:0;
}

.settings-form label:not(.check-line):not(.choice-chip):not(.check-card):not(.nf-check):not(.nf-choice),
.smart-form label:not(.check-line):not(.choice-chip):not(.check-card):not(.nf-check):not(.nf-choice),
.party-form label:not(.check-line):not(.choice-chip):not(.check-card),
.customer-subform label:not(.check-line):not(.choice-chip):not(.check-card),
.requirement-form label{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  min-width:0;
  align-content:start;
}

.settings-form input:not([type="checkbox"]):not([type="radio"]),
.settings-form select,.settings-form textarea,
.smart-form input:not([type="checkbox"]):not([type="radio"]),
.smart-form select,.smart-form textarea,
.party-form input:not([type="checkbox"]):not([type="radio"]),
.party-form select,.party-form textarea,
.customer-subform input:not([type="checkbox"]):not([type="radio"]),
.customer-subform select,.customer-subform textarea,
.requirement-form input:not([type="checkbox"]):not([type="radio"]),
.requirement-form select,.requirement-form textarea{
  width:100%;
  min-width:0;
  min-height:var(--nf-form-control-h);
}

.settings-form textarea,.smart-form textarea,.party-form textarea,.customer-subform textarea{min-height:104px;resize:vertical}

.form-section-heading,.nf-form-section{
  grid-column:1/-1!important;
  width:100%;
  margin:8px 0 0;
  padding:22px 0 4px;
  border-top:1px solid var(--nf-line);
}
.form-section-heading:first-child,.nf-form-section:first-child{margin-top:0;padding-top:0;border-top:0}
.form-section-heading strong{display:block;margin-bottom:5px;color:var(--nf-navy);font-size:.95rem;line-height:1.25}
.form-section-heading span{display:block;max-width:58rem;color:var(--nf-muted);font-size:.78rem;line-height:1.5}

.form-actions,.nf-form-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--nf-line);
}

/* Seleccionables: pregunta, control y explicación nunca quedan pegados. */
.check-line,.choice-chip,.check-card,.nf-check,.nf-choice{
  min-width:0;
}
.check-line,.check-card,.nf-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding:14px 16px!important;
  border:1px solid var(--nf-line);
  border-radius:12px;
  background:#fbfcfd;
}
.check-line input,.check-card input,.nf-check input,.choice-chip input,.nf-choice input{
  flex:0 0 20px!important;
  width:20px!important;
  height:20px!important;
  min-height:20px!important;
  margin:2px 0 0!important;
}
.check-card>span,.nf-check>span{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0}
.check-card strong,.nf-check strong{line-height:1.35}
.check-card small,.nf-check small{line-height:1.5;color:var(--nf-muted)}

/* Filtros compactos pero respirables. */
.filter-bar,.center-filter-form,.customer-filter-form,.party-filter-form{
  display:flex;
  align-items:end;
  gap:12px;
  flex-wrap:wrap;
  padding:18px 22px;
}
.filter-bar label,.center-filter-form label,.customer-filter-form label,.party-filter-form label{display:grid;gap:6px;flex:1 1 220px;min-width:180px}

/* Revisión documental e inputs en tabla: compactos, no deforman la fila. */
.document-review-form,.inline-review-form,.requirement-form{
  gap:10px;
}
.document-review-form,.inline-review-form{display:grid;grid-template-columns:minmax(150px,220px) minmax(180px,1fr) auto;align-items:center}

/* Categoría → documento: jerarquía explícita. */
[data-document-upload-form] .nf-field-help{max-width:44rem}
[data-document-category-type]:disabled{background:#f2f5f7;color:#71808c;cursor:not-allowed}

@media(max-width:900px){
  .smart-form-grid,.party-form-grid,.party-contact-grid,.customer-document-grid,
  .customer-address-grid,.customer-representative-grid,.user-simple-grid,
  .settings-grid,.admin-grid-2,.app-form-row{grid-template-columns:repeat(6,minmax(0,1fr))}
  .field-span-3,.field-span-4{grid-column:span 3}
  .field-span-5,.field-span-6,.field-span-7,.field-span-8,.field-span-9,.field-span-12{grid-column:1/-1}
}

@media(max-width:760px){
  .settings-form,.smart-form,.party-form,.customer-subform,.requirement-form,
  .customer-document-upload,.party-contact-form,.customer-profile-form,
  .center-status-form,.catalog-item-form,.company-create-form,.user-simple-form{padding:18px!important}

  .smart-form-grid,.party-form-grid,.party-contact-grid,.customer-document-grid,
  .customer-address-grid,.customer-representative-grid,.user-simple-grid,
  .settings-grid,.admin-grid-2,.app-form-row,
  .feature-grid,.choice-grid{grid-template-columns:1fr!important;gap:20px!important}

  .smart-form-grid>*,.party-form-grid>*,.party-contact-grid>*,.customer-document-grid>*,
  .customer-address-grid>*,.customer-representative-grid>*,.user-simple-grid>*,
  .settings-grid>*,.admin-grid-2>*,.app-form-row>*{grid-column:1/-1!important;width:100%!important;max-width:none!important}

  .form-actions,.nf-form-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .form-actions .button,.nf-form-actions .button{width:100%;min-height:48px}

  .filter-bar,.center-filter-form,.customer-filter-form,.party-filter-form{display:grid;grid-template-columns:1fr;padding:16px 18px;gap:14px}
  .filter-bar label,.center-filter-form label,.customer-filter-form label,.party-filter-form label{min-width:0;width:100%}
  .filter-bar .button,.center-filter-form .button,.customer-filter-form .button,.party-filter-form .button{width:100%}

  .document-review-form,.inline-review-form{grid-template-columns:1fr;gap:8px}
  .document-review-form .button,.inline-review-form .button{width:100%}
}

/* Cobertura adicional de formularios administrativos y de Plataforma */
.settings-form .form-grid,.smart-form .form-grid,.company-create-form .form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px 22px;align-items:start}
.settings-form .form-grid.cols-2,.smart-form .form-grid.cols-2,.company-create-form .form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-form .form-grid.cols-3,.smart-form .form-grid.cols-3,.company-create-form .form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-form .feature-grid,.settings-form .role-options{gap:14px;margin-top:20px}
.settings-form .check-card{min-height:58px}
@media(max-width:760px){.settings-form .form-grid,.smart-form .form-grid,.company-create-form .form-grid,.settings-form .form-grid.cols-2,.smart-form .form-grid.cols-2,.company-create-form .form-grid.cols-2,.settings-form .form-grid.cols-3,.smart-form .form-grid.cols-3,.company-create-form .form-grid.cols-3{grid-template-columns:1fr!important;gap:20px!important}}

/* ========================================================================== 
   NEXFUEL V3.9.0 · PROPAGACIÓN TOTAL DEL PATRÓN GUIADO
   SPEC-UI-004: ningún formulario administrativo visible permanece legacy.
   ========================================================================== */
.nf-unified-form{
  --nf-form-gap:22px;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:26px 28px 28px!important;
}
.nf-unified-form .smart-form-grid,
.nf-unified-form .party-form-grid,
.nf-unified-form .party-contact-grid,
.nf-unified-form .customer-document-grid,
.nf-unified-form .customer-address-grid,
.nf-unified-form .customer-representative-grid,
.nf-unified-form .user-simple-grid,
.nf-unified-form .settings-grid,
.nf-unified-form .admin-grid-2,
.nf-unified-form .app-form-row{
  gap:var(--nf-form-gap) 24px!important;
}
.nf-unified-form label:not(.check-line):not(.choice-chip):not(.check-card):not(.nf-check):not(.nf-choice){
  gap:8px!important;
}
.nf-unified-form label>span:not(.status-pill),
.nf-unified-form .field-label{
  font-size:.86rem!important;
  line-height:1.35!important;
  color:#2f4758!important;
}
.nf-unified-form label small,
.nf-unified-form .nf-field-help{
  display:block;
  margin-top:2px;
  line-height:1.5;
  color:var(--nf-muted);
}
.nf-unified-form input:not([type="checkbox"]):not([type="radio"]),
.nf-unified-form select,
.nf-unified-form textarea{
  min-height:48px!important;
  border-radius:13px!important;
  padding-left:15px!important;
  padding-right:15px!important;
}
.nf-unified-form textarea{min-height:112px!important;padding-top:13px!important}
.nf-unified-form .form-actions,
.nf-unified-form .nf-form-actions{
  margin-top:28px!important;
  padding-top:22px!important;
}
.nf-unified-form .check-card,
.nf-unified-form .nf-check,
.nf-unified-form .check-line{
  min-height:64px!important;
  padding:16px 18px!important;
  gap:14px!important;
}
.nf-unified-form .feature-grid,
.nf-unified-form .role-options,
.nf-unified-form .choice-grid{
  gap:16px!important;
}

/* Las tarjetas y módulos administrativos comparten el mismo ritmo visual. */
.page-stack{gap:24px!important}
.section-card{overflow:visible}
.section-card>.section-header{padding:24px 28px 20px!important}
.section-card>.section-header h2{margin-top:4px}
.section-card>.section-header p:not(.eyebrow){margin-top:7px;max-width:72ch;line-height:1.55}
.nf-admin-focus{border:1px solid #d9e3e8;background:#fff}
.nf-admin-focus .section-header{border-bottom:1px solid var(--nf-line)}
.nf-quick-create{padding-top:24px!important}
.nf-optional{font-weight:600!important;color:var(--nf-muted)!important;margin-left:5px;font-size:.73rem!important}

/* Listados de administración: registros, no tablas técnicas. */
.nf-record-list{display:grid;gap:12px;padding:0 28px 28px}
.nf-record-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-width:0;
  padding:17px 18px;
  border:1px solid var(--nf-line);
  border-radius:14px;
  background:#fbfcfd;
}
.nf-record-row.is-selected{border-color:#8bb9a3;box-shadow:0 0 0 3px rgba(47,143,99,.08)}
.nf-record-main{display:grid;gap:5px;min-width:0}
.nf-record-main strong{color:var(--nf-navy);font-size:.96rem;line-height:1.3}
.nf-record-main small{color:var(--nf-muted);line-height:1.45;overflow-wrap:anywhere}
.nf-record-meta{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}
.nf-role-editor{scroll-margin-top:96px}
.nf-permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Filtros se leen como una sola herramienta, no como un formulario grande. */
.nf-unified-form.filter-bar,
.nf-unified-form.customer-filter-form,
.nf-unified-form.party-filter-form,
.nf-unified-form.center-filter-form{
  max-width:none;
  padding:18px 22px!important;
  gap:14px!important;
}

/* Formularios secundarios: ancho útil y menor saturación. */
.customer-subform.nf-unified-form,
.party-contact-form.nf-unified-form,
.requirement-form.nf-unified-form{max-width:1080px}

/* Tablas existentes conservan datos pero dejan de dominar visualmente. */
.section-card>.responsive-table{padding:4px 20px 22px}
.responsive-table table{border-collapse:separate;border-spacing:0 8px}
.responsive-table tbody tr{background:#fbfcfd}
.responsive-table tbody td{border-top:1px solid #e3eaee;border-bottom:1px solid #e3eaee;padding-top:14px!important;padding-bottom:14px!important}
.responsive-table tbody td:first-child{border-left:1px solid #e3eaee;border-radius:12px 0 0 12px}
.responsive-table tbody td:last-child{border-right:1px solid #e3eaee;border-radius:0 12px 12px 0}

@media(max-width:900px){
  .nf-permission-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .nf-unified-form{padding:18px!important;--nf-form-gap:20px}
  .section-card>.section-header{padding:20px 18px 18px!important}
  .nf-record-list{padding:0 18px 20px;gap:11px}
  .nf-record-row{align-items:flex-start;flex-direction:column;padding:16px;gap:13px}
  .nf-record-meta{width:100%;justify-content:space-between;flex-wrap:wrap}
  .nf-record-meta .button{min-height:42px}
  .section-card>.responsive-table{padding:0 12px 18px}
}

/* NEXFUEL V3.9.1 · Centro de consumo / Evaluación de riesgo
   SPEC-CENTER-RISK-001: composición guiada, legible y sin rejillas legacy. */
.center-risk-form{max-width:none!important}
.center-risk-workflow{display:grid;gap:24px;padding:24px 28px 4px}
.center-risk-block{display:grid;gap:18px;padding:0 0 24px;border-bottom:1px solid var(--nf-line,#d9e3e8)}
.center-risk-block--final{border-bottom:0;padding-bottom:4px}
.center-risk-block-heading{display:grid;gap:6px;max-width:760px}
.center-risk-block-heading strong{font-size:1rem;color:var(--nf-navy,#08233f);line-height:1.3}
.center-risk-block-heading span{font-size:.86rem;color:var(--nf-muted,#6b7c87);line-height:1.5}
.center-risk-level-grid,.center-risk-condition-grid,.center-risk-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;max-width:980px}
.center-risk-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;align-content:start}
.center-risk-field>span{font-size:.82rem!important;font-weight:800!important;color:var(--nf-navy,#08233f)!important;line-height:1.35!important}
.center-risk-field>small{display:block;margin:0;color:var(--nf-muted,#6b7c87);font-size:.76rem;line-height:1.45;font-weight:500}
.center-risk-field select,.center-risk-field input,.center-risk-field textarea{width:100%!important;min-width:0!important;max-width:none!important}
.center-risk-field select,.center-risk-field input{min-height:46px!important}
.center-risk-field textarea{min-height:122px!important;resize:vertical}
.center-risk-alert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:14px 16px}
.center-risk-check{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;min-height:58px!important;padding:14px 16px!important;margin:0!important;border:1px solid var(--nf-line,#d9e3e8)!important;border-radius:14px!important;background:#fbfcfd!important;cursor:pointer}
.center-risk-check input{width:20px!important;height:20px!important;flex:0 0 20px!important;margin:0!important}
.center-risk-check span{font-size:.82rem!important;font-weight:800!important;line-height:1.35!important;color:var(--nf-navy,#08233f)!important}
.center-risk-check:has(input:checked){border-color:#91c4a8!important;background:#eff8f3!important;box-shadow:0 0 0 3px rgba(47,143,99,.07)}
.center-risk-form>.form-actions{padding:22px 28px 28px!important;margin:0!important;border-top:0!important;display:flex;justify-content:flex-end}
.center-risk-form>.form-actions .button{min-width:210px}
@media(max-width:760px){
  .center-risk-workflow{padding:20px 18px 2px;gap:22px}
  .center-risk-block{gap:16px;padding-bottom:22px}
  .center-risk-level-grid,.center-risk-condition-grid,.center-risk-notes-grid,.center-risk-alert-grid{grid-template-columns:1fr;gap:16px;max-width:none}
  .center-risk-check{min-height:60px;width:100%}
  .center-risk-form>.form-actions{padding:20px 18px 22px}
  .center-risk-form>.form-actions .button{width:100%;min-width:0}
}

/* NEXFUEL V3.9.2 · Centro de consumo · expediente documental guiado */
.center-document-form{max-width:none!important}
.center-document-workflow{display:grid;gap:24px;padding:24px 28px 4px}
.center-document-block{display:grid;gap:18px;padding:0 0 24px;border-bottom:1px solid var(--nf-line,#d9e3e8)}
.center-document-block--final{border-bottom:0;padding-bottom:4px}
.center-document-block-heading{display:grid;gap:6px;max-width:820px}
.center-document-block-heading strong{font-size:1rem;color:var(--nf-navy,#08233f);line-height:1.3}
.center-document-block-heading span{font-size:.86rem;color:var(--nf-muted,#6b7c87);line-height:1.5}
.center-document-grid{display:grid;gap:18px 20px;max-width:980px}
.center-document-grid--identity{grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr)}
.center-document-grid--dates{grid-template-columns:repeat(2,minmax(220px,320px))}
.center-document-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;align-content:start}
.center-document-field>span{font-size:.82rem!important;font-weight:800!important;color:var(--nf-navy,#08233f)!important;line-height:1.35!important}
.center-document-field select,.center-document-field input{width:100%!important;min-width:0!important;max-width:none!important;min-height:46px!important}
.center-document-file{max-width:760px}
.center-document-file input[type=file]{padding:10px!important;background:#fff!important}
.center-document-selection{max-width:760px;padding:12px 14px;border:1px solid #dbe7e0;border-radius:12px;background:#f4faf6;color:#315747;font-size:.82rem;line-height:1.45}
.center-document-form>.nf-form-actions{padding:22px 28px 28px!important;margin:0!important;border-top:0!important;display:flex;justify-content:flex-end}
.center-document-form>.nf-form-actions .button{min-width:210px}
@media(max-width:760px){
 .center-document-workflow{padding:20px 18px 2px;gap:22px}
 .center-document-block{gap:16px;padding-bottom:22px}
 .center-document-grid--identity,.center-document-grid--dates{grid-template-columns:1fr;max-width:none}
 .center-document-form>.nf-form-actions{padding:20px 18px 22px}
 .center-document-form>.nf-form-actions .button{width:100%;min-width:0}
}


/* NEXFUEL V3.9.4 · Listados operativos compactos y ayudas legibles */
.nf-help-body{white-space:normal}
.nf-help-body p{margin:0;color:#475d6d;font-size:.9rem;line-height:1.65}
.nf-help-body p+p{margin-top:16px}
.nf-help-example{padding-top:14px;border-top:1px solid var(--nf-line)}
.nf-help-example strong{display:block;margin-bottom:4px;color:var(--nf-navy);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.center-list-table{min-width:760px}
.center-list-table th,.center-list-table td{vertical-align:middle}
.center-list-table td:first-child{min-width:150px}
.center-list-table td:nth-child(2){min-width:150px}
.center-list-table td:nth-child(3){min-width:180px}
.center-list-table td:last-child{width:1%;white-space:nowrap}
.center-list-table-wrap{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
@media(max-width:860px){.center-list-table{min-width:720px}}

/* SPEC-CENTRO-LOG-001 · Evaluación logística guiada */
.center-logistics-form{max-width:none!important}
.center-logistics-workflow{display:grid;gap:28px;padding:24px 28px 4px}
.center-logistics-block{display:grid;gap:18px;padding:0 0 26px;border-bottom:1px solid var(--nf-line,#d9e3e8)}
.center-logistics-block--final{border-bottom:0;padding-bottom:4px}
.center-logistics-block-heading{display:grid;gap:6px;max-width:820px}
.center-logistics-block-heading strong{font-size:1rem;line-height:1.3;color:var(--nf-navy,#08233f)}
.center-logistics-block-heading span{font-size:.86rem;line-height:1.5;color:var(--nf-muted,#6b7c87)}
.center-logistics-grid,.center-logistics-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;max-width:1020px}
.center-logistics-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;align-content:start}
.center-logistics-field>span{font-size:.82rem!important;font-weight:800!important;line-height:1.35!important;color:var(--nf-navy,#08233f)!important}
.center-logistics-field select,.center-logistics-field input,.center-logistics-field textarea{width:100%!important;min-width:0!important;max-width:none!important}
.center-logistics-field select,.center-logistics-field input{min-height:46px!important}
.center-logistics-field textarea{min-height:118px!important;resize:vertical}
.center-logistics-field--sm{max-width:320px}
.center-logistics-toggle{max-width:760px!important;margin:0!important;align-items:flex-start!important;padding:14px 16px!important;border:1px solid var(--nf-line,#d9e3e8)!important;border-radius:14px!important;background:#fbfcfd!important;gap:14px!important}
.center-logistics-toggle input{margin-top:1px!important}
.center-logistics-toggle>span{display:grid!important;gap:5px!important;min-width:0}
.center-logistics-toggle strong{font-size:.83rem!important;line-height:1.35!important;color:var(--nf-navy,#08233f)!important}
.center-logistics-toggle small{font-size:.76rem!important;line-height:1.45!important;color:var(--nf-muted,#6b7c87)!important;font-weight:500!important}
.center-logistics-toggle:has(input:checked),.center-logistics-choice:has(input:checked){border-color:#91c4a8!important;background:#eff8f3!important;box-shadow:0 0 0 3px rgba(47,143,99,.06)}
.center-logistics-vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;max-width:880px}
.center-logistics-choice{min-height:58px!important;padding:14px 16px!important;border-radius:14px!important;align-items:center!important;background:#fbfcfd!important}
.center-logistics-choice>span{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.center-logistics-choice strong{font-size:.82rem;line-height:1.35;color:var(--nf-navy,#08233f)}
.center-logistics-operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;max-width:920px}
.center-logistics-form>.form-actions{padding:22px 28px 28px!important;margin:0!important;border-top:0!important;display:flex;justify-content:flex-end}
.center-logistics-form>.form-actions .button{min-width:230px}
@media(max-width:900px){
  .center-logistics-vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .center-logistics-workflow{padding:20px 18px 2px;gap:24px}
  .center-logistics-block{gap:16px;padding-bottom:22px}
  .center-logistics-grid,.center-logistics-notes-grid,.center-logistics-operation-grid,.center-logistics-vehicle-grid{grid-template-columns:1fr;gap:16px;max-width:none}
  .center-logistics-field--sm,.center-logistics-toggle{max-width:none!important;width:100%!important}
  .center-logistics-form>.form-actions{padding:20px 18px 22px}
  .center-logistics-form>.form-actions .button{width:100%;min-width:0}
}


/* SPEC-CENTRO-PERFIL-001 · Perfil operativo guiado */
.center-profile-form{max-width:none!important}
.center-profile-workflow{display:grid;gap:28px;padding:24px 28px 4px}
.center-profile-block{display:grid;gap:18px;padding:0 0 26px;border-bottom:1px solid var(--nf-line,#d9e3e8)}
.center-profile-block--final{border-bottom:0;padding-bottom:4px}
.center-profile-block-heading{display:grid;gap:6px;max-width:820px}
.center-profile-block-heading strong{font-size:1rem;line-height:1.3;color:var(--nf-navy,#08233f)}
.center-profile-block-heading span{font-size:.86rem;line-height:1.5;color:var(--nf-muted,#6b7c87)}
.center-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;max-width:1020px}
.center-profile-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;align-content:start}
.center-profile-field>span,.center-profile-days-heading>span{font-size:.82rem!important;font-weight:800!important;line-height:1.35!important;color:var(--nf-navy,#08233f)!important}
.center-profile-field select,.center-profile-field input,.center-profile-field textarea{width:100%!important;min-width:0!important;max-width:none!important}
.center-profile-field select,.center-profile-field input{min-height:46px!important}
.center-profile-field textarea{min-height:118px!important;resize:vertical}
.center-profile-field--half{max-width:500px}
.center-profile-field--full{grid-column:1/-1}
.center-profile-number{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--nf-line,#cfdadd);border-radius:12px;background:#fff;overflow:hidden}
.center-profile-number:focus-within{border-color:#86bca0;box-shadow:0 0 0 3px rgba(47,143,99,.08)}
.center-profile-number input{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important}
.center-profile-number>span{display:flex;align-items:center;padding:0 14px;border-left:1px solid var(--nf-line,#d9e3e8);background:#f6f8f9;color:var(--nf-muted,#6b7c87);font-size:.76rem;font-weight:800}
.center-profile-days-heading{display:flex;align-items:center;gap:8px;min-height:24px}
.center-profile-day-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:10px;max-width:1020px}
.center-profile-day{min-height:52px!important;padding:12px 13px!important;border-radius:13px!important;background:#fbfcfd!important;align-items:center!important}
.center-profile-day>span{min-width:0}
.center-profile-day strong{font-size:.77rem;line-height:1.25;color:var(--nf-navy,#08233f)}
.center-profile-day:has(input:checked){border-color:#91c4a8!important;background:#eff8f3!important;box-shadow:0 0 0 3px rgba(47,143,99,.06)}
.center-profile-schedule{display:grid;gap:12px;max-width:760px}
.center-profile-schedule-controls{max-width:760px}
.center-profile-form>.form-actions{padding:22px 28px 28px!important;margin:0!important;border-top:0!important;display:flex;justify-content:flex-end}
.center-profile-form>.form-actions .button{min-width:230px}
@media(max-width:900px){.center-profile-day-grid{grid-template-columns:repeat(4,minmax(92px,1fr))}}
@media(max-width:720px){
  .center-profile-workflow{padding:20px 18px 2px;gap:24px}
  .center-profile-block{gap:16px;padding-bottom:22px}
  .center-profile-grid{grid-template-columns:1fr;gap:16px;max-width:none}
  .center-profile-field--half,.center-profile-schedule{max-width:none}
  .center-profile-field--full{grid-column:auto}
  .center-profile-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .center-profile-schedule-controls{max-width:none}
  .center-profile-form>.form-actions{padding:20px 18px 22px}
  .center-profile-form>.form-actions .button{width:100%;min-width:0}
}

/* NEXFUEL V3.9.7 · SPEC-CENTRO-UBI-001 */
.center-location-form{max-width:none!important}
.center-location-workflow{display:grid;gap:28px;padding:24px 28px 4px}
.center-location-block{display:grid;gap:18px;padding:0 0 26px;border-bottom:1px solid var(--nf-line,#d9e3e8)}
.center-location-block--final{border-bottom:0;padding-bottom:4px}
.center-location-block-heading{display:grid;gap:6px;max-width:820px}
.center-location-block-heading strong{font-size:1rem;line-height:1.3;color:var(--nf-navy,#08233f)}
.center-location-block-heading span{font-size:.86rem;line-height:1.5;color:var(--nf-muted,#6b7c87)}
.center-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px;max-width:1020px}
.center-location-field{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important;margin:0!important;align-content:start}
.center-location-field>span{font-size:.82rem!important;font-weight:800!important;line-height:1.35!important;color:var(--nf-navy,#08233f)!important}
.center-location-field input,.center-location-field select,.center-location-field textarea{width:100%!important;min-width:0!important;max-width:none!important}
.center-location-field input,.center-location-field select{min-height:46px!important}
.center-location-field textarea{min-height:96px!important;resize:vertical}
.center-location-field--full{grid-column:1/-1}
.center-location-verified{min-height:74px!important;align-self:end!important}
.center-location-warning{display:block;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a4d08;font-size:.78rem;line-height:1.45;font-weight:700}
.center-location-warning[hidden]{display:none!important}
.center-location-form>.form-actions{padding:22px 28px 28px!important;margin:0!important;border-top:0!important;display:flex;justify-content:flex-end}
.center-location-form>.form-actions .button{min-width:230px}
@media(max-width:760px){
 .center-location-workflow{padding:20px 18px 2px;gap:24px}
 .center-location-block{gap:16px;padding-bottom:22px}
 .center-location-grid{grid-template-columns:1fr;gap:16px;max-width:none}
 .center-location-field--full{grid-column:auto}
 .center-location-form>.form-actions{padding:20px 18px 22px}
 .center-location-form>.form-actions .button{width:100%;min-width:0}
}
/* NEXFUEL V3.9.8 · Feedback de carga documental */
.nf-upload-status{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--nf-border,#dbe3ea);border-radius:12px;margin-top:16px}
.nf-upload-status[hidden]{display:none!important}
.nf-upload-status strong{white-space:nowrap}
.nf-upload-status span{font-size:.875rem;opacity:.78}
.document-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:640px){.nf-upload-status{align-items:flex-start;flex-direction:column;gap:6px}.document-actions{align-items:stretch;flex-direction:column}}

/* NEXFUEL V3.10.0 · SPEC-CENTRO-GATE-001 */
.center-reactive-gate{display:grid;gap:0}
.center-gate-result{margin:22px 28px 0}
.center-gate-reasons{display:grid;gap:12px;padding:22px 28px 28px}
.center-gate-reason{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--nf-line,#d9e3e8);border-radius:14px;background:#fff}
.center-gate-reason>div{display:flex;align-items:center;gap:12px;min-width:0}
.center-gate-reason strong{font-size:.92rem;line-height:1.4;color:var(--nf-navy,#08233f)}
.center-gate-reason.is-blocked{border-color:#efc4c4;background:#fff8f8}
.center-gate-reason.is-pending{border-color:#eadfc1;background:#fffdf7}
.center-gate-history{display:grid;gap:10px;padding:20px 28px 28px}
.center-gate-history-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--nf-line,#d9e3e8);border-radius:12px;background:#fbfcfd}
.center-gate-history-item>div{display:grid;gap:4px}
.center-gate-history-item strong{color:var(--nf-navy,#08233f)}
.center-gate-history-item small,.center-gate-history-item span{color:var(--nf-muted,#6b7c87);font-size:.8rem}
@media(max-width:720px){
  .center-gate-result{margin:18px 18px 0}
  .center-gate-reasons{padding:18px;gap:10px}
  .center-gate-reason{align-items:stretch;flex-direction:column}
  .center-gate-reason>div{align-items:flex-start;flex-direction:column;gap:8px}
  .center-gate-reason .button{width:100%}
  .center-gate-history{padding:16px 18px 20px}
  .center-gate-history-item{align-items:flex-start;flex-direction:column}
}

/* NEXFUEL V3.10.3 · Punto de entrega / Ubicación exacta */
.delivery-location-context{padding:14px 16px;border:1px solid var(--nf-line);border-radius:12px;background:#f8fafb}
.delivery-location-context>span{font-size:.72rem;font-weight:800;color:var(--nf-muted);text-transform:uppercase;letter-spacing:.05em}
.delivery-location-context>strong{color:var(--nf-navy);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
.delivery-location-context>small{color:var(--nf-muted);line-height:1.45}
.delivery-coordinate-field{max-width:760px}
.coordinate-field-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
.nf-inline-warning{padding:11px 13px;border:1px solid #dfc58f;border-radius:10px;background:#fff9ed;color:#755114;font-size:.76rem;font-weight:700;line-height:1.45}
.nf-inline-warning[hidden]{display:none!important}

@media(max-width:760px){
  .delivery-point-form{width:100%;max-width:100%;padding:16px!important;overflow:visible}
  .delivery-point-form .nf-form-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;width:100%;min-width:0}
  .delivery-point-form .nf-form-grid>*{grid-column:1/-1!important;min-width:0;max-width:100%}
  .delivery-point-form .nf-field,.delivery-point-form .nf-check{width:100%;min-width:0;max-width:100%}
  .delivery-point-form input:not([type="checkbox"]):not([type="radio"]),
  .delivery-point-form select,
  .delivery-point-form textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}
  .delivery-point-form .field-label-with-action{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;min-width:0}
  .delivery-point-form .field-label-with-action>.field-help,
  .delivery-point-form .field-label-with-action>.field-help-details{flex:0 0 auto}
  .delivery-location-context{padding:13px 14px}
  .delivery-coordinate-field{max-width:none}
  .coordinate-field-actions{display:grid;grid-template-columns:1fr;width:100%}
  .coordinate-field-actions .button{width:100%;min-height:46px}
  .nf-inline-warning{width:100%;font-size:.74rem}
  .delivery-point-form .nf-check{align-items:flex-start!important;padding:13px 14px!important}
  .delivery-point-form .nf-form-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%}
  .delivery-point-form .nf-form-actions .button{width:100%!important;min-height:48px}
}

@media(max-width:420px){
  .delivery-point-form{padding:14px!important}
  .delivery-location-context{padding:12px}
  .delivery-location-context>strong{font-size:.9rem}
  .delivery-coordinate-field .nf-field-help{font-size:.72rem;line-height:1.5}
}
