/* Full-site UX QA: visual system only. No pricing, Core, routing, persistence or proposal logic changes. */
:root{
  --nemi-bg:#061522;--nemi-panel:#0a2032;--nemi-panel-2:#0c263a;--nemi-border:rgba(90,207,239,.20);
  --nemi-text:#f7fbfe;--nemi-muted:#a8bfcd;--nemi-muted-2:#86a3b5;--nemi-cyan:#24d9ff;--nemi-pink:#f10a7c;
}
body{font-size:15px}
body .top{min-height:76px!important;border-bottom:1px solid rgba(107,204,231,.14)!important;background:#070d12!important}
body .top .brand{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
body .top .brandword{border:0!important;box-shadow:none!important;background:transparent!important}
body .top .brandword img{width:146px!important;height:auto!important;max-height:46px!important;object-fit:contain!important;object-position:left center!important}
body .top nav{gap:28px!important;margin-left:28px!important}
body .top nav a{font-size:14px!important;line-height:1!important;letter-spacing:-.01em!important;color:#edf5f9!important;font-weight:750!important;padding:8px 0!important}
body .top nav a[aria-current="page"],body .top nav a.active{color:#fff!important}
body .top nav a[aria-current="page"]::after,body .top nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:4px;background:var(--nemi-cyan)}
body .top .right button,body .top .right a{min-height:44px!important;font-size:13px!important}

/* Consistent type scale and contrast across home, menus, proposal and configurators. */
body.work-mode .workspace-toolbar h1{font-size:clamp(28px,2.6vw,36px)!important;line-height:1.05!important;letter-spacing:-.035em!important}
body.work-mode .workspace-toolbar p,body.work-mode #decisionCard>p{font-size:13px!important;line-height:1.5!important;color:var(--nemi-muted)!important}
body.work-mode #decisionCard>h3{font-size:clamp(25px,2vw,30px)!important;line-height:1.1!important;letter-spacing:-.025em!important;margin-bottom:8px!important}
body.work-mode .focus-copy h2{font-size:clamp(34px,3vw,46px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
body.work-mode .focus-copy p,body.work-mode .focus-copy .focus-desc{font-size:14px!important;line-height:1.5!important;color:#b6cad6!important}

/* Multiproduct rail: readable, no native horizontal scrollbar, clearer active state. */
body.work-mode .nemi-line-tabs,body.work-mode .nemi-lines,body.work-mode .workspace-lines{scrollbar-width:none!important;-ms-overflow-style:none!important}
body.work-mode .nemi-line-tabs::-webkit-scrollbar,body.work-mode .nemi-lines::-webkit-scrollbar,body.work-mode .workspace-lines::-webkit-scrollbar{display:none!important}
body.work-mode .nemi-line-tab{min-width:210px!important;min-height:72px!important;padding:11px 13px!important}
body.work-mode .nemi-line-tab strong,body.work-mode .nemi-line-tab .title{font-size:13px!important;line-height:1.25!important;color:#eef8fc!important}
body.work-mode .nemi-line-tab small,body.work-mode .nemi-line-tab .status{font-size:11px!important;line-height:1.35!important;color:#9bb4c4!important}
body.work-mode .nemi-line-tab.active{border-color:var(--nemi-cyan)!important;box-shadow:inset 0 0 0 1px rgba(36,217,255,.72)!important}

/* One visual language for every configurator family, including legacy paths. */
body.work-mode .configurator-form{font-size:14px!important;color:var(--nemi-text)!important}
body.work-mode .configurator-form .cfg-group,
body.work-mode .configurator-form .nemi-final-step,
body.work-mode .configurator-form .cfg-section,
body.work-mode .configurator-form fieldset{
  background:var(--nemi-panel)!important;border:1px solid var(--nemi-border)!important;border-radius:18px!important;
  padding:18px!important;color:var(--nemi-text)!important;box-shadow:none!important;margin-bottom:12px!important;
}
body.work-mode .configurator-form .cfg-label,
body.work-mode .configurator-form .nemi-v3-cluster-label,
body.work-mode .configurator-form legend{
  color:#f5fbff!important;font-size:17px!important;line-height:1.25!important;font-weight:850!important;letter-spacing:-.015em!important;
}
body.work-mode .configurator-form .cfg-label small,
body.work-mode .configurator-form .nemi-v3-cluster-label small,
body.work-mode .configurator-form .cfg-current,
body.work-mode .configurator-form .cfg-helper,
body.work-mode .configurator-form .process-guide,
body.work-mode .configurator-form .pending,
body.work-mode .configurator-form .cfg-live{
  color:var(--nemi-muted)!important;font-size:12px!important;line-height:1.45!important;
}
body.work-mode .configurator-form .cfg-options{gap:10px!important;align-items:stretch!important}
body.work-mode .configurator-form .cfg-option,
body.work-mode .configurator-form .dtf-choice,
body.work-mode .configurator-form button.cfg-option{
  background:#0c263a!important;border:1px solid rgba(116,205,231,.22)!important;color:#f4f9fc!important;
  min-height:58px!important;padding:12px 14px!important;border-radius:13px!important;line-height:1.25!important;
  font-size:13px!important;font-weight:750!important;text-align:left!important;overflow:visible!important;white-space:normal!important;
}
body.work-mode .configurator-form .cfg-option b,
body.work-mode .configurator-form .cfg-option strong,
body.work-mode .configurator-form .dtf-choice b,
body.work-mode .configurator-form .dtf-choice strong{font-size:13px!important;line-height:1.25!important;color:#fff!important}
body.work-mode .configurator-form .cfg-option small,
body.work-mode .configurator-form .cfg-option span,
body.work-mode .configurator-form .cfg-option .cfg-price,
body.work-mode .configurator-form .dtf-choice small{font-size:11px!important;line-height:1.35!important;color:#a8c0ce!important}
body.work-mode .configurator-form .cfg-option.selected,
body.work-mode .configurator-form .cfg-option[aria-pressed="true"],
body.work-mode .configurator-form .dtf-choice.selected,
body.work-mode .configurator-form .dtf-choice[aria-pressed="true"]{
  background:linear-gradient(145deg,#0d3448,#0d2b3d)!important;border-color:var(--nemi-cyan)!important;color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(36,217,255,.7)!important;
}
body.work-mode .configurator-form input[type="text"],
body.work-mode .configurator-form input[type="number"],
body.work-mode .configurator-form input[type="email"],
body.work-mode .configurator-form textarea,
body.work-mode .configurator-form select,
body.work-mode .configurator-form .cfg-input{
  min-height:50px!important;background:#f7fbfd!important;color:#0a2031!important;border:1px solid #cfe0e9!important;
  border-radius:12px!important;font-size:15px!important;line-height:1.3!important;padding:11px 14px!important;
}
body.work-mode .configurator-form input::placeholder,body.work-mode .configurator-form textarea::placeholder{color:#7f98a8!important;opacity:1!important}
body.work-mode .configurator-form .cfg-submit,
body.work-mode .configurator-form .cfg-save,
body.work-mode .configurator-form .cfg-secondary,
body.work-mode .configurator-form .answer-submit{
  min-height:48px!important;font-size:13px!important;font-weight:850!important;border-radius:12px!important;
}
body.work-mode .configurator-form .cfg-save.nemi-save-review{background:linear-gradient(135deg,#ff0a84,#e70873)!important;color:#fff!important}

/* Prevent cramped or clipped complex choices. */
@media(min-width:900px){
 body.work-mode .configurator-form .cfg-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
 body.work-mode .configurator-form .cfg-grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}

/* Proposal sidebar: concise information hierarchy and readable states. */
body.work-mode #propuesta.side{font-size:13px!important}
body.work-mode #propuesta.side h2{font-size:30px!important;line-height:1.05!important;letter-spacing:-.035em!important}
body.work-mode #propuesta.side .proposal-item,body.work-mode #propuesta.side .item{color:#f4f9fc!important}
body.work-mode #propuesta.side small,body.work-mode #propuesta.side .muted,body.work-mode #propuesta.side .proposal-meta{color:#9db6c5!important;font-size:11px!important;line-height:1.4!important}
body.work-mode #propuesta.side button{font-size:13px!important;font-weight:850!important}
body.work-mode #propuesta.side .warn,body.work-mode #propuesta.side .pending-action{color:#17202a!important}

/* Home: disciplined headline scale and supporting copy. */
body.ux24-home .ux24-copy h1{font-size:clamp(48px,5.7vw,82px)!important;line-height:.96!important;letter-spacing:-.055em!important}
body.ux24-home .ux24-copy p{font-size:clamp(16px,1.35vw,20px)!important;line-height:1.5!important;max-width:46ch!important;color:#c2d2dc!important}
body.ux24-home .section-head h2,.nemi-tech-head h2{font-size:clamp(32px,3vw,48px)!important;line-height:1.02!important;letter-spacing:-.045em!important}
body.ux24-home .section-head p,.nemi-tech-head p{font-size:13px!important;line-height:1.55!important;color:#a9bfcc!important}

/* Technical proof: brands visible but not a logo wall. */
#nemiTechnicalTrust{padding:30px!important}
#nemiTechnicalTrust .nemi-brand-strip{grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:12px!important;background:transparent!important;border:0!important;padding:0!important;margin:12px 0 18px!important}
#nemiTechnicalTrust .nemi-brand-logo{min-height:82px!important;background:#071a29!important;border-color:rgba(103,207,236,.18)!important}
#nemiTechnicalTrust .nemi-brand-logo img{height:48px!important;max-width:90%!important}
#nemiTechnicalTrust .nemi-tech-card h3{font-size:18px!important}
#nemiTechnicalTrust .nemi-tech-card p{font-size:12px!important;line-height:1.5!important;color:#a4bac8!important}
#nemiTechnicalTrust .nemi-tech-list span{font-size:10px!important;padding:6px 9px!important;color:#d9e9f2!important}

/* Usability: focus visibility and hit targets. */
body button:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible{outline:3px solid rgba(36,217,255,.55)!important;outline-offset:2px!important}
body button,body a[role="button"]{touch-action:manipulation}

@media(max-width:1100px){
 body .top .brand{min-width:145px!important;max-width:145px!important}
 body .top .brandword img{width:132px!important;max-height:42px!important}
 body .top nav{gap:18px!important;margin-left:14px!important}
 body .top nav a{font-size:13px!important}
 #nemiTechnicalTrust .nemi-brand-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:850px){
 body .top{min-height:64px!important;padding:0 14px!important}
 body .top .brand{min-width:122px!important;max-width:122px!important}
 body .top .brandword{width:118px!important;min-width:118px!important;height:42px!important}
 body .top .brandword img{width:116px!important;max-width:116px!important;max-height:38px!important}
 body.work-mode .layout{grid-template-columns:1fr!important}
 body.work-mode .configurator-form .cfg-grid2{grid-template-columns:1fr!important}
 body.work-mode .configurator-form .cfg-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.work-mode .configurator-form .cfg-group,body.work-mode .configurator-form .nemi-final-step{padding:14px!important;border-radius:15px!important}
 body.work-mode .configurator-form .cfg-option,body.work-mode .configurator-form .dtf-choice{min-height:54px!important;font-size:12px!important}
 body.work-mode #decisionCard>h3{font-size:26px!important}
 #nemiTechnicalTrust{padding:20px!important}
}
@media(max-width:520px){
 body.work-mode .configurator-form .cfg-options{grid-template-columns:1fr!important}
 body.work-mode .nemi-line-tab{min-width:175px!important}
 #nemiTechnicalTrust .nemi-brand-strip{grid-template-columns:1fr 1fr!important;gap:8px!important}
 #nemiTechnicalTrust .nemi-brand-logo{min-height:62px!important}
 #nemiTechnicalTrust .nemi-brand-logo img{height:36px!important}
}
