.nxf-form{
  --nxf-primary:#0f766e;
  --nxf-secondary:#0d9488;
  --nxf-text:#0f172a;
  --nxf-text-muted:#475569;
  --nxf-bg:#ffffff;
  --nxf-surface:#f7f9fb;
  --nxf-border:#cbd5e1;
  --nxf-button-text:#ffffff;
  --nxf-title:var(--nxf-text);
  --nxf-desc:var(--nxf-text-muted);
  --nxf-label:#1e293b;
  --nxf-help:var(--nxf-text-muted);
  --nxf-heading:var(--nxf-text);
  --nxf-input-text:var(--nxf-text);
  --nxf-input-border:var(--nxf-border);
  --nxf-input-focus:var(--nxf-primary);
  --nxf-input-bg:#ffffff;
  --nxf-button:var(--nxf-primary);
  --nxf-button-hover:var(--nxf-secondary);
  --nxf-choice:var(--nxf-primary);
  --nxf-error:#b91c1c;
  --nxf-total:var(--nxf-primary);
  --nxf-success:#065f46;
  max-width:42rem;
  margin:0 auto;
  color:var(--nxf-text);
  background:var(--nxf-bg);
  box-sizing:border-box;
}
.nxf-form *,.nxf-form *::before,.nxf-form *::after{box-sizing:border-box}
/* Scoped + !important so Joomla/template h1–h6 / .page-header rules cannot force black */
.nxf-form .nxf-title,
.nxf-form h1.nxf-title,
.nxf-form h2.nxf-title,
.nxf-form h3.nxf-title{
  font-size:1.5rem;
  margin:0 0 .5rem;
  color:var(--nxf-title) !important;
}
.nxf-form .nxf-desc{color:var(--nxf-desc) !important;margin:0 0 1rem}
.nxf-fields{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:.85rem 1rem;
  align-items:start;
}
.nxf-field{grid-column:span 12;margin:0;min-width:0}
.nxf-field.nxf-w-half{grid-column:span 6}
.nxf-field.nxf-w-third{grid-column:span 4}
.nxf-field.nxf-w-two-thirds{grid-column:span 8}
@media (max-width:640px){
  .nxf-field.nxf-w-half,
  .nxf-field.nxf-w-third,
  .nxf-field.nxf-w-two-thirds{grid-column:span 12}
}
.nxf-form .nxf-label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--nxf-label) !important}
.nxf-form .nxf-help{margin:.35rem 0 0;font-size:.85rem;color:var(--nxf-help) !important}
.nxf-form .nxf-heading{font-size:1.1rem;margin:.5rem 0 0;color:var(--nxf-heading) !important}
.nxf-form .nxf-paragraph{margin:0;color:var(--nxf-desc) !important}
.nxf-divider{border:0;border-top:1px solid var(--nxf-border);margin:.5rem 0}

.nxf-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.nxf-field select,
.nxf-field textarea{
  display:block;
  width:100%;
  max-width:100%;
  border:1px solid var(--nxf-input-border);
  border-radius:.5rem;
  padding:.55rem .75rem;
  min-height:42px;
  background:var(--nxf-input-bg);
  color:var(--nxf-input-text);
}
.nxf-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
.nxf-field select:focus,
.nxf-field textarea:focus{
  outline:2px solid var(--nxf-input-focus);
  outline-offset:1px;
  border-color:var(--nxf-input-focus);
}

.nxf-choices{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  margin-top:.15rem;
}
.nxf-choice{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:.6rem;
  margin:0;
  padding:.15rem 0;
  font-weight:500;
  color:var(--nxf-text);
  cursor:pointer;
  width:100%;
}
.nxf-choice input[type=checkbox],
.nxf-choice input[type=radio]{
  width:1.05rem !important;
  height:1.05rem !important;
  min-width:1.05rem;
  min-height:1.05rem !important;
  max-width:1.05rem;
  margin:.2rem 0 0;
  flex:0 0 auto;
  accent-color:var(--nxf-choice);
}
.nxf-choice-text{
  flex:1 1 auto;
  min-width:0;
  line-height:1.4;
  font-weight:500;
}

.nxf-total{
  border:1px solid var(--nxf-border);
  background:var(--nxf-surface);
  border-radius:.75rem;
  padding:.85rem 1rem;
}
.nxf-total-label{font-weight:600;color:var(--nxf-label);margin-bottom:.5rem}
.nxf-total-lines{list-style:none;margin:0 0 .65rem;padding:0}
.nxf-total-lines li{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.9rem;
  color:var(--nxf-text-muted);
  padding:.2rem 0;
  border-bottom:1px solid var(--nxf-border);
}
.nxf-total-amount{font-size:1.25rem;font-weight:700;color:var(--nxf-total)}
.nxf-global-total{
  margin:1rem 0;
  padding:.75rem 1rem;
  border:1px solid var(--nxf-border);
  border-radius:.75rem;
  background:var(--nxf-surface);
  font-weight:600;
  color:var(--nxf-text);
}
.nxf-global-total strong{color:var(--nxf-total)}

.nxf-multi-date{display:flex;flex-direction:column;gap:.5rem}
.nxf-multi-date-list{display:flex;flex-direction:column;gap:.45rem}
.nxf-multi-date-row{display:flex;gap:.5rem;align-items:center}
.nxf-multi-date-row input[type=date]{flex:1 1 auto}
.nxf-multi-date-remove{
  flex:0 0 auto;
  width:42px;height:42px;
  border:1px solid var(--nxf-border);
  border-radius:.5rem;
  background:var(--nxf-input-bg);
  color:var(--nxf-text);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}
.nxf-multi-date-add{
  align-self:flex-start;
  background:var(--nxf-input-bg);
  color:var(--nxf-primary);
  border:1px solid var(--nxf-primary);
  border-radius:.5rem;
  padding:.45rem .85rem;
  min-height:40px;
  font-weight:600;
  cursor:pointer;
}

.nxf-submit{
  margin-top:1rem;
  background:var(--nxf-button);
  color:var(--nxf-button-text);
  border:0;
  border-radius:.75rem;
  padding:.65rem 1.1rem;
  font-weight:600;
  min-height:44px;
  cursor:pointer;
}
.nxf-submit:hover{background:var(--nxf-button-hover)}
.nxf-status{margin:.75rem 0;padding:.65rem .85rem;border-radius:.5rem}
.nxf-error{color:var(--nxf-error);background:#fef2f2;border:1px solid #fecaca;padding:.65rem .85rem;border-radius:.5rem}
.nxf-thanks{padding:1rem;border:1px solid #a7f3d0;background:#ecfdf5;border-radius:.75rem;color:var(--nxf-success)}
.nxf-loading{color:var(--nxf-text-muted)}
.nxf-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.nxf-list a{display:block;padding:1rem;border:1px solid var(--nxf-border);border-radius:.75rem;text-decoration:none;color:var(--nxf-text);background:var(--nxf-surface)}

.nxf-link-fields{display:flex;flex-direction:column;gap:.55rem}
.nxf-link-fields .nxf-link-sublabel{display:block;font-size:.8rem;font-weight:500;color:var(--nxf-help);margin:0 0 .25rem}
.nxf-board{
  --nxb-link:#093F73;
  --nxb-link-hover:#0b4f8f;
  max-width:48rem;
  margin:0 auto;
  color:#0f172a;
  box-sizing:border-box;
}
.nxf-board *,.nxf-board *::before,.nxf-board *::after{box-sizing:border-box}
.nxf-board.nxf-board-cols-2,
.nxf-board.nxf-board-cols-3{max-width:72rem}
.nxf-board-title{font-size:1.5rem;margin:0 0 1rem;color:#0f172a;font-weight:700}
.nxf-board-intro{
  text-align:center;
  margin:0 0 2rem;
  padding:0 0 1.25rem;
  border-bottom:1px solid #cbd5e1;
}
.nxf-board-eyebrow{
  display:block;
  margin:0 0 .85rem;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  line-height:1.4;
  color:var(--nxb-link);
}
.nxf-board-intro h1{
  margin:0 0 .75rem;
  font-size:clamp(1.85rem,4vw,2.75rem);
  letter-spacing:-.02em;
  color:#0f172a;
  font-weight:700;
}
.nxf-board-lead{
  max-width:40rem;
  margin:0 auto;
  color:#475569;
  font-size:1.05rem;
  line-height:1.7;
}
.nxf-board-empty{color:#475569;margin:0;padding:1rem;border:1px dashed #cbd5e1;border-radius:.75rem;background:#f7f9fb}
.nxf-board-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid !important;
  gap:1rem;
  align-items:start;
  grid-template-columns:minmax(0,1fr) !important;
  width:100%;
}
.nxf-board-list.nxf-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.nxf-board-list.nxf-cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.nxf-board-item{
  display:block;
  margin:0;
  padding:1rem 1.1rem;
  border:1px solid #cbd5e1;
  border-radius:.75rem;
  background:#f7f9fb;
  min-width:0;
  max-width:100%;
  width:auto;
  grid-column:auto / span 1;
  grid-row:auto;
  align-self:start;
  overflow-wrap:anywhere;
}
/* Full-bleed expand: span all columns; siblings reflow below */
.nxf-board-item.is-expanded{
  grid-column:1 / -1 !important;
}
.nxf-board-body,
.nxf-board-body.is-open,
.nxf-board-body-preview,
.nxf-board-body-full{
  display:block;
  width:auto;
  max-width:100%;
  min-width:0;
}
.nxf-board-body-full[hidden],
.nxf-board-body-preview[hidden]{display:none !important}
.nxf-board-item-title{margin:0 0 .65rem;font-size:1.15rem;font-weight:700;color:#0f172a;word-break:break-word}
.nxf-board-fields{margin:0;max-width:100%}
.nxf-board-field{margin:0 0 .65rem;max-width:100%}
.nxf-board-field:last-child{margin-bottom:0}
.nxf-board-field dt{font-size:.8rem;font-weight:600;color:#1e293b;margin:0 0 .2rem}
.nxf-board-field dd{margin:0;color:#0f172a;word-break:break-word}
.nxf-board-field a,
.nxf-board a{color:var(--nxb-link);word-break:break-word}
.nxf-board-field a:hover,
.nxf-board a:hover{color:var(--nxb-link-hover)}
.nxf-board-preview-text{margin:0;color:#0f172a;word-break:break-word;white-space:pre-wrap}
.nxf-board-toggle{
  display:inline-flex;
  align-items:center;
  margin-top:.65rem;
  min-height:40px;
  padding:.35rem 0;
  border:0;
  background:transparent;
  color:var(--nxb-link);
  font-weight:600;
  font-size:.95rem;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.nxf-board-toggle:hover{color:var(--nxb-link-hover)}
@media (max-width:900px){
  .nxf-board-list.nxf-cols-3{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:640px){
  .nxf-board-list.nxf-cols-2,
  .nxf-board-list.nxf-cols-3{grid-template-columns:minmax(0,1fr) !important}
  .nxf-board-item,
  .nxf-board-item.is-expanded{padding:.85rem}
}
