/* AC Servicios: colores tomados de assets/ac-site.css de la web corporativa. */
:root{
  --ac-ink:#071d2d;
  --ac-ink-2:#0c2e42;
  --ac-petrol:#0c2e42;
  --ac-cyan:#0c2e42;
  --ac-yellow:#f2ad20;
  --ac-paper:#f6f7f3;
  --ac-sage:#f6f7f3;
  --ac-ice:#f6f7f3;
  --ac-muted:#60717b;
  --ac-line:#cad5d8;
  --ink:var(--ac-ink);
  --muted:var(--ac-muted);
  --line:var(--ac-line);
  --accent:var(--ac-petrol);
  --accent-dark:var(--ac-ink-2);
  --bg:var(--ac-paper);
  --soft:var(--ac-sage);
  --yellow:var(--ac-yellow);
  --petrol:var(--ac-petrol);
  --paper:var(--ac-paper);
}

/* Portada, acceso y planes. */
.access-page{background:var(--ac-paper);color:var(--ac-ink)}
.access-header,.access-footer{color:var(--ac-muted)}
.product-label{color:var(--ac-muted)}
.access-pitch>.eyebrow{border-color:var(--ac-line);background:var(--ac-sage);color:var(--ac-petrol)}
.access-pitch>.eyebrow::before{background:var(--ac-yellow)}
.access-pitch>h1{color:var(--ac-ink)}
.access-pitch>h1 span{color:var(--ac-petrol)}
.access-pitch>h1 span::after{background:var(--ac-yellow);opacity:.38}
.access-pitch>p:not(.pitch-note){color:var(--ac-muted)}
.official-document-feature{border-color:var(--ac-line);border-top-color:var(--ac-ink);background:#fff;box-shadow:0 25px 65px #071d2d18}
.official-viewer-bar{background:var(--ac-petrol);color:#fff;border-color:var(--ac-petrol)}
.viewer-brand-dot{background:var(--ac-yellow);color:var(--ac-ink)}
.official-viewer-bar>span:nth-child(2) small{color:var(--ac-ice)}
.official-viewer-bar>b{color:var(--ac-yellow)}
.official-viewer-tools{background:var(--ac-sage);color:var(--ac-ink-2)}
.viewer-page-chip{border-color:var(--ac-line);background:#fff;color:var(--ac-ink-2)}
.official-document-stage{background:linear-gradient(135deg,var(--ac-sage),var(--ac-paper))}
.viewer-side-note{border:0;border-radius:10px;background:var(--ac-ink);color:#fff;padding:17px}
.viewer-side-note .viewer-kicker{color:var(--ac-yellow)}
.viewer-side-note strong{color:#fff}
.viewer-side-note>span:not(.viewer-kicker){color:var(--ac-ice)}
.viewer-doc-types b{border-color:#ffffff38;background:var(--ac-ink-2);color:#fff}
.viewer-doc-types i{color:var(--ac-yellow)}
.official-document-caption{background:#fff;border-color:var(--ac-line);color:var(--ac-muted)}
.overview-heading>.eyebrow{color:var(--ac-petrol)}
.overview-heading>span:last-child{color:var(--ac-ink)}
.pitch-benefits,.pitch-benefits article{border-color:var(--ac-line)}
.capability-number{background:var(--ac-yellow);color:var(--ac-ink)}
.pitch-benefits article b{color:var(--ac-ink)}
.pitch-benefits article small{color:var(--ac-muted)}
.pitch-note{color:var(--ac-muted)}
.auth-card{border-color:var(--ac-line);background:#fff}
.access-main:has(.access-pitch) .auth-card{border-color:var(--ac-line);border-top:3px solid var(--ac-yellow);background:#fff;box-shadow:0 24px 65px #071d2d14}
.access-pitch+.auth-card .auth-intro .eyebrow{color:var(--ac-petrol)}
.access-pitch+.auth-card .auth-intro h1{color:var(--ac-ink)}
.auth-tabs{background:var(--ac-paper);border-color:var(--ac-line)}
.auth-tabs button.active{color:var(--ac-ink);box-shadow:inset 0 -2px var(--ac-yellow)}
.main-button,.main-button:hover{background:var(--ac-yellow);color:var(--ac-ink);border-color:var(--ac-yellow)}
.main-button:hover{filter:brightness(.96)}
.demo-note{border-color:var(--ac-line);color:var(--ac-muted)}
.plan-link,.text-button{color:var(--ac-petrol)}
.plans-main{color:var(--ac-ink)}
.plans-main .hero-copy h1,.plans-main h2{color:var(--ac-ink)}
.document-visual{border-color:var(--ac-line);background:var(--ac-sage)}
.visual-process,.mini-document,.plan-card{border-color:var(--ac-line);background:#fff}
.saving-badge,.available,.product-types svg,.document-symbol,.step-icon{color:var(--ac-petrol)}
.plan-card.pro-card{border-color:var(--ac-yellow)}
.plans-main .main-button{background:var(--ac-yellow);color:var(--ac-ink)}

/* Editor: una misma paleta en navegación, formularios, asistente y vista previa. */
body:not(.access-page){background:var(--ac-paper);color:var(--ac-ink)}
.sidebar{background:var(--ac-ink);border-color:var(--ac-ink)}
.sidebar .brand{border-color:#ffffff2b}
.sidebar .brand strong{color:#fff}
body:not(.start-screen) #sidebar .sidebar-brand-heading strong{color:var(--ac-ink)}
.sidebar .brand small,.sidebar .brand-tagline{color:var(--ac-ice)!important}
.sidebar .section-caption{color:var(--ac-ice)}
.sidebar #pageNav button{color:#d5e2e7}
.sidebar #pageNav button:hover{background:var(--ac-ink-2);color:#fff}
body:not(.start-screen) .sidebar #pageNav button.active{border-color:transparent;background:var(--ac-ink-2);color:#fff;box-shadow:inset 3px 0 var(--ac-yellow)}
.sidebar #pageNav button.active .page-number,.sidebar #pageNav .page-number{color:var(--ac-ice)}
.sidebar-bottom{border-color:#ffffff2b}
.account-menu{position:absolute;right:0;top:50%;z-index:40;transform:translateY(-50%);margin:0;padding:0;border:0;background:transparent;font-family:Manrope,"Segoe UI",Arial,sans-serif}
.account-menu>summary{display:grid;place-items:center;width:42px;height:42px;min-height:42px;margin:0;padding:3px;border:0;border-radius:50%;background:transparent;color:var(--ac-ink);list-style:none;cursor:pointer}
.account-menu>summary:after{display:none;content:none}
.account-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #e2e5dc;border-radius:50%;background:var(--ac-paper);color:var(--ac-ink);transition:background .15s,border-color .15s,box-shadow .15s}
.account-avatar svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.account-trigger:hover .account-avatar,.account-menu[open] .account-avatar{border-color:var(--ac-yellow);background:#fff5d9;box-shadow:0 0 0 2px #f2ad2026}
.account-user-name{display:none}
.account-chevron{display:none}
.account-popover{position:absolute;top:calc(100% + 8px);right:0;width:260px;padding:16px;border:1px solid var(--ac-line);border-top:3px solid var(--ac-yellow);background:#fff;box-shadow:0 14px 32px #071d2d24;color:var(--ac-ink)}
.account-caption{display:block;margin-bottom:8px;color:var(--ac-muted);font-size:9px;font-weight:600;letter-spacing:1.1px}
.account-popover>strong{display:block;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.account-email{display:block;overflow:hidden;margin:3px 0 14px;color:var(--ac-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.account-popover form{margin:0;padding-top:10px;border-top:1px solid var(--ac-line)}
.account-logout{display:flex;align-items:center;gap:9px;width:100%;padding:9px 8px;border:1px solid transparent;background:#fff;color:var(--ac-ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.account-logout:hover{border-color:#e4c7b8;background:#fbf6f2;color:#863d2f}
.account-logout svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.account-menu:focus-within>summary{outline:2px solid var(--ac-yellow);outline-offset:2px}
.account-admin-link{display:block;margin:11px 0;padding:10px 0;border-top:1px solid var(--ac-line);border-bottom:1px solid var(--ac-line);color:var(--ac-deep);font-size:12px;font-weight:600;text-decoration:none}.account-admin-link:hover{color:var(--ac-teal);text-decoration:underline}
@media(max-width:620px){.account-menu>summary{width:40px;height:40px;min-height:40px}.account-avatar{width:32px;height:32px}}
@media(max-width:380px){.account-popover{width:min(260px,calc(100vw - 28px))}}
.button{border-color:var(--ac-line);color:var(--ac-ink);background:#fff}
.button:hover{border-color:var(--ac-petrol);background:var(--ac-sage)}
body:not(.start-screen) .button.primary,body:not(.start-screen) .button.new,.main-button{border-color:var(--ac-yellow);background:var(--ac-yellow);color:var(--ac-ink);box-shadow:0 2px 5px #071d2d1c}
body:not(.start-screen) .button.primary:hover,body:not(.start-screen) .button.new:hover{border-color:var(--ac-yellow);background:var(--ac-yellow);filter:brightness(.96)}
.button.subtle{color:var(--ac-ice)}
.button.subtle:hover{background:var(--ac-ink-2);color:#fff}
.button.subtle span,.local-tag{color:#b9d2dc}
.assistant-launch{border-color:var(--ac-yellow);background:var(--ac-sage);color:var(--ac-ink)}
.assistant-launch:hover{background:#fff}
.assistant-launch small{color:var(--ac-muted)}
.topbar{border-color:var(--ac-line);background:#fff}
.project-heading input{color:var(--ac-ink)}
.document-bar{border-color:var(--ac-line);background:var(--ac-sage)}
.document-badge,.document-bar label{color:var(--ac-muted)}
.document-bar select,.preview-toolbar select{border-color:var(--ac-line);color:var(--ac-ink);background:#fff}
.workflow-step{border-color:var(--ac-line);color:var(--ac-muted);background:#fff}
.workflow-step:hover{border-color:var(--ac-petrol);color:var(--ac-petrol)}
body:not(.start-screen) .workflow-step.active{border-color:var(--ac-yellow);background:#fff;color:var(--ac-ink);box-shadow:inset 0 -3px var(--ac-yellow)}
body:not(.start-screen) .workflow-step.active .workflow-caption{color:var(--ac-ink)}
.workflow-number{border-color:var(--ac-line);background:var(--ac-paper);color:var(--ac-muted)}
body:not(.start-screen) .workflow-step.active .workflow-number{border-color:var(--ac-yellow);background:var(--ac-yellow);color:var(--ac-ink)}
.page-heading h1,.page-heading h2,h1,h2{color:var(--ac-ink)}
.eyebrow,.form-tabs button.active{color:var(--ac-petrol)}
.form-panel,.preview-panel{border-color:var(--ac-line)}
.form-tabs{border-color:var(--ac-line);background:#fff}
body:not(.start-screen) .form-tabs button.active{border-bottom-color:var(--ac-yellow)}
.form-tabs span{background:var(--ac-sage);color:var(--ac-ink-2)}
.search-wrap input,.field-row input:not([type=checkbox]),.field-row textarea,.wizard-field input:not([type=checkbox]),.wizard-field select,.wizard-field textarea{border-color:var(--ac-line);color:var(--ac-ink)}
.field-row input:focus,.field-row textarea:focus,.search-wrap input:focus,.wizard-field input:focus,.wizard-field select:focus,.wizard-field textarea:focus{border-color:var(--ac-yellow);outline:2px solid #f2ad2038}
.field-row.focused{border-left-color:var(--ac-yellow)}
.field-row.check input,.document-choice input,.wizard-check input,.block-check input{accent-color:var(--ac-yellow)}
.preview-panel,.paper-scroll{background:var(--ac-sage)}
.preview-toolbar{border-color:var(--ac-line);background:#fff;color:var(--ac-ink-2)}
.preview-toolbar small,.preview-footer{color:var(--ac-muted)}
.preview-footer{border-color:var(--ac-line);background:#fff}
.installation-choice{border-color:var(--ac-line);background:#fff;color:var(--ac-ink)}
.installation-choice:nth-child(2){border-color:var(--ac-line);background:var(--ac-sage)}
.installation-choice:hover,.installation-choice:nth-child(2):hover{border-color:var(--ac-yellow);background:#fff;box-shadow:0 10px 26px #071d2d12}
.installation-choice:focus-visible{outline:3px solid #f2ad2055}
.installation-choice strong{color:var(--ac-ink)}
.installation-choice>span:not(.choice-symbol){color:var(--ac-muted)}
.choice-symbol{border-color:var(--ac-line);background:var(--ac-sage);color:var(--ac-petrol)}
.choice-symbol.solar{border-color:var(--ac-line);background:#fff;color:var(--ac-petrol)}
.choice-symbol.building{border-color:var(--ac-line);background:var(--ac-sage);color:var(--ac-ink-2)}
.choice-action,.choice-action b{color:var(--ac-petrol)}
.selector-numbering{border-color:var(--ac-line);background:var(--ac-sage)}
.selector-numbering .numbering-example,.recent-workspace{border-color:var(--ac-line);background:#fff}
.numbering-save{border-color:var(--ac-yellow);background:var(--ac-yellow);color:var(--ac-ink)}
.recent-heading h2,.recent-project-name{color:var(--ac-ink)}
.recent-open{border-color:var(--ac-line);color:var(--ac-petrol)}
.recent-open:hover{border-color:var(--ac-yellow);background:var(--ac-sage)}
.library-item .project-number-badge{border-color:var(--ac-line);background:var(--ac-sage);color:var(--ac-ink)}
.library-item .button.primary{border-color:var(--ac-yellow);background:var(--ac-yellow);color:var(--ac-ink)}
.web-demo-banner{border-color:#f2ad2055;background:#f2ad2018;color:var(--ac-ink)}
.web-demo-banner a{color:var(--ac-petrol)}
dialog{border-color:var(--ac-line);background:#fff;color:var(--ac-ink)}
.modal-top{border-color:var(--ac-line);background:var(--ac-sage)}
.wizard-steps{border-color:var(--ac-line);background:var(--ac-sage)}
.wizard-steps button.active{border-left-color:var(--ac-yellow);background:#f2ad201a;color:var(--ac-ink)}
.home-step,.review-document,.type-choice{border-color:var(--ac-line);background:#fff;color:var(--ac-ink)}
.home-step:hover,.type-choice.selected{border-color:var(--ac-yellow);background:#f2ad201a}
.block-field input:focus,.block-field select:focus,.block-count-field input:focus{border-color:var(--ac-yellow);box-shadow:0 0 0 3px #f2ad2026}
.block-actions .button.primary{border-color:var(--ac-yellow);background:var(--ac-yellow);color:var(--ac-ink)}
.load-profile.selected{border-color:var(--ac-yellow);background:#f2ad201a;box-shadow:inset 3px 0 var(--ac-yellow)}
.load-profile:focus-visible{outline:3px solid #f2ad2055}
.load-forecast-result{border-color:#f2ad2055;background:var(--ac-sage);color:var(--ac-ink)}
.load-result-label{color:var(--ac-muted)}
.load-forecast-result strong{color:var(--ac-petrol)}
.numbering-status,.save-status,.status-message{color:var(--ac-muted)}
.actions-menu-panel{border-color:var(--ac-line);background:#fff;box-shadow:0 12px 28px #071d2d1c}
.actions-menu-label{color:var(--ac-petrol)}
.actions-menu-panel .button:hover{border-color:var(--ac-yellow);background:var(--ac-sage)}
.project-number-badge,.recent-count{border-color:var(--ac-line);background:var(--ac-sage);color:var(--ac-ink)}
.numbering-notice,[role=status].success{border-color:#f2ad2055;background:#f2ad2018;color:var(--ac-ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#f2ad20a8}

/* Márgenes compartidos para que las zonas de trabajo queden alineadas. */
.workspace>.topbar,.workspace>.document-bar,.workspace>.workflow-nav,.workspace>.page-heading{padding-inline:clamp(14px,2.4vw,32px)}
.workspace>.editor-layout{gap:clamp(14px,1.8vw,22px);padding-inline:clamp(12px,2.4vw,30px)}
.start-screen .installation-landing{margin-inline:auto}
.start-screen .installation-choices{align-items:stretch}
.start-screen .installation-choice{height:100%}

@media(max-width:700px){
  .sidebar{background:var(--ac-ink)}
  .sidebar #pageNav button.active{border-bottom-color:var(--ac-yellow)}
  .workspace>.topbar,.workspace>.document-bar,.workspace>.workflow-nav,.workspace>.page-heading{padding-inline:14px}
  .workspace>.editor-layout{padding-inline:12px}
}

/* Controles de formulario adaptados al formulario de contacto de AC Servicios.
   Se limita a la interfaz: los campos superpuestos al modelo PDF conservan su geometría. */
.access-page form label,
.workspace .field-row:not(.check) > label,
.workspace .wizard-field:not(.wizard-check) > label,
.workspace .block-field,
.workspace .selector-numbering label,
.workspace .document-bar label,
.workspace .preview-toolbar label{
  color:var(--ac-ink-2);
  font-size:10px;
  font-weight:700;
  letter-spacing:.075em;
  line-height:1.45;
}
.access-page form input:not([type=checkbox]):not([type=radio]),
.workspace .field-row input:not([type=checkbox]):not([type=radio]),
.workspace .field-row textarea,
.workspace .wizard-field input:not([type=checkbox]):not([type=radio]),
.workspace .wizard-field select,
.workspace .wizard-field textarea,
.workspace .block-field input,
.workspace .block-field select,
.workspace .block-field textarea,
.workspace .selector-numbering input,
.workspace .selector-numbering select,
.workspace .document-bar select,
.workspace .preview-toolbar select,
.workspace .search-wrap input{
  box-sizing:border-box;
  border:1px solid var(--ac-line);
  border-radius:2px;
  background-color:#fff;
  color:var(--ac-ink);
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.access-page form input:not([type=checkbox]):not([type=radio]),
.workspace .field-row input:not([type=checkbox]):not([type=radio]),
.workspace .field-row textarea,
.workspace .wizard-field input:not([type=checkbox]):not([type=radio]),
.workspace .wizard-field select,
.workspace .wizard-field textarea,
.workspace .block-field input,
.workspace .block-field select,
.workspace .block-field textarea,
.workspace .selector-numbering input,
.workspace .selector-numbering select,
.workspace .search-wrap input{
  min-height:44px;
  padding:10px 12px;
}
.access-page form input:focus,
.workspace .field-row input:focus,
.workspace .field-row textarea:focus,
.workspace .wizard-field input:focus,
.workspace .wizard-field select:focus,
.workspace .wizard-field textarea:focus,
.workspace .block-field input:focus,
.workspace .block-field select:focus,
.workspace .block-field textarea:focus,
.workspace .selector-numbering input:focus,
.workspace .selector-numbering select:focus,
.workspace .document-bar select:focus,
.workspace .preview-toolbar select:focus,
.workspace .search-wrap input:focus{
  border-color:var(--ac-petrol);
  outline:0;
  box-shadow:0 0 0 2px #f2ad2038;
}
.access-page form input::placeholder,
.workspace .field-row input::placeholder,
.workspace .field-row textarea::placeholder,
.workspace .wizard-field input::placeholder,
.workspace .wizard-field textarea::placeholder,
.workspace .block-field input::placeholder{
  color:#60717b;
  opacity:.72;
}
.access-page form input[type=checkbox],
.access-page form input[type=radio],
.workspace input[type=checkbox],
.workspace input[type=radio]{accent-color:var(--ac-petrol)}
.access-page .auth-tabs button.active,
.workspace .form-tabs button.active{color:var(--ac-petrol)}
.access-page .main-button,
.workspace .button.primary,
.workspace .button.new,
.workspace .block-actions .button.primary{background:var(--ac-yellow);color:var(--ac-ink)}
.access-page .main-button:hover,
.workspace .button.primary:hover,
.workspace .button.new:hover,
.workspace .block-actions .button.primary:hover{background:#e6a019;color:var(--ac-ink)}

/* Mantener la selección visual de planes y tipos con el acento corporativo. */
.plans-main input:focus-visible,
.plans-main select:focus-visible,
.plans-main button:focus-visible,
.access-page form button:focus-visible{outline:2px solid var(--ac-petrol);outline-offset:3px}

/* Paleta final sin verde agua: azul tinta, hueso y amarillo corporativo. */
:root{--ac-petrol:#0c2e42;--ac-cyan:#0c2e42;--ac-sage:#f6f7f3;--ac-ice:#f6f7f3;--accent:#0c2e42;--petrol:#0c2e42;--soft:#f6f7f3}
.start-screen .choice-symbol,.start-screen .choice-symbol.solar,.start-screen .choice-symbol.building{background:var(--ac-paper);color:var(--ac-ink-2);border-color:var(--ac-line)}
.start-screen .installation-choice .choice-action,.start-screen .choice-action,.start-screen .choice-action b{color:var(--ac-ink-2)}
.sidebar #pageNav button.active,body:not(.start-screen) .workflow-step.active{color:var(--ac-ink);background:#fff;border-color:var(--ac-line);box-shadow:inset 0 -2px var(--ac-yellow)}
.sidebar #pageNav button.active{box-shadow:inset 3px 0 var(--ac-yellow)}
.sidebar #pageNav button.active .page-number,.sidebar #pageNav .page-number{color:var(--ac-yellow)}
.workflow-number{color:var(--ac-ink-2)}
.local-tag span,.status-dot{background:var(--ac-yellow)}
.load-forecast-result strong,.numbering-result b,.recent-all span{color:var(--ac-ink-2)}
.access-page .auth-tabs button.active{color:var(--ac-ink-2);box-shadow:inset 0 -2px var(--ac-yellow)}

/* Numeración del recorrido: caja fija y centrado geométrico en cada círculo. */
.access-pitch .pitch-benefits article{grid-template-columns:34px minmax(140px,165px) minmax(0,1fr);align-items:center}
.access-pitch .capability-number{display:grid;place-items:center;box-sizing:border-box;width:28px;height:28px;min-width:28px;margin:0;padding:0;line-height:1;text-align:center;justify-self:center;align-self:center;overflow:hidden}

/* La web corporativa usa esquinas rectas; unificar botones en todas las vistas. */
button,.button,.main-button,a.button,input[type=button],input[type=submit],input[type=reset]{border-radius:2px!important}
