/*!
 * AGLO Negocios — panel del negocio (estructura). Lo interno de cada sección
 * existente lo estiliza aglo-legacy.css dentro de #content.ag-legacy.
 */
.panel #access { min-height: 100vh; min-height: 100dvh; }
.panel .ag-topbar .ag-brand { min-width: 0; }
.panel .ag-topbar .ag-brand > span:last-child { min-width: 0; }
.panel-name { display: block; max-width: 34ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 575.98px) {
  .panel-name { max-width: 15ch; }
  .panel .ag-topbar-actions #site-link { padding-inline: .6rem; }
}
.panel-status { margin: 0 0 1rem; padding: .7rem .9rem; border-radius: var(--ag-r); background: var(--ag-info-bg); color: var(--ag-info); border: 1px solid var(--ag-info-line); font-size: .875rem; font-weight: 550; }
.panel-status:empty { display: none; }
#panel-notices:empty { display: none; }
#panel-notices .notice { margin-bottom: 1rem; }
#panel-notices .notice[hidden] { display: none; }
.panel-view .ag-page-head[hidden] { display: none; }
/* Botones de la barra inferior: portal.js marca la pestaña activa con aria-current. */
.panel .ag-bottombar button { cursor: pointer; }
@media (max-width: 991.98px) {
  .panel #workspace .ag-content { padding-bottom: calc(var(--ag-bottombar) + 1.75rem + env(safe-area-inset-bottom)); }
}
/* Formularios del editor: una columna legible; los campos que portal.js genera son label > input. */
.panel-fields { display: grid; gap: .9rem; }
.panel-fields > label { display: grid; gap: .35rem; font-weight: 600; font-size: .875rem; color: var(--ag-ink-2); }
.panel-fields > small { color: var(--ag-muted); font-size: .8125rem; margin-top: -.5rem; }
.panel-fields > button.secondary { justify-self: start; }
#editor #form-error:not(:empty) { margin: 1rem 0 0; padding: .65rem .8rem; border-radius: var(--ag-r-sm); background: var(--ag-danger-bg); color: var(--ag-danger); border: 1px solid var(--ag-danger-line); font-size: .875rem; }
#editor .ag-dialog-foot .btn[hidden] { display: none; }
.panel #site-link { white-space: nowrap; }
@media (max-width: 575.98px) {
  .panel-hide-xs { display: none; }
  .panel #site-link { font-size: .75rem; padding: .3rem .55rem; }
  .panel-name { max-width: 11ch; }
}
#access .panel-status { margin: 1rem 0 0; }
/* Acceso: la misma pantalla sirve para entrar y para activar la cuenta (portal.js alterna los formularios). */
#access .when-activate { display: none; }
#access:has(#activate-form:not([hidden])) .when-activate { display: revert; }
#access:has(#activate-form:not([hidden])) .when-login { display: none; }
#access .act-steps { list-style: none; padding: 0; margin: 0 0 1.5rem; gap: .5rem; }
#access:has(#activate-form:not([hidden])) .act-steps { display: grid; }
#access .act-steps li { display: flex; align-items: center; gap: .65rem; font-size: .9rem; color: var(--ag-muted); }
#access .act-steps b { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--ag-surface-2); color: var(--ag-ink-2); font-size: .8rem; flex: none; }
#access .act-steps li.is-now { color: var(--ag-ink); font-weight: 600; }
#access .act-steps li.is-now b { background: var(--ag-primary); color: var(--ag-on-primary); }
#access .login-help { font-size: .84rem; }
/* Enlace de seguimiento del cliente (clientes-portal.js, 29-sep-2026) */
.portal-dialog { width: min(560px, calc(100vw - 2rem)); border: 1px solid var(--ag-line, #e4e7ec); border-radius: 16px; padding: 1.25rem; }
.portal-dialog h2 { font-size: 1.15rem; margin: 0 0 .5rem; }
.portal-check { display: flex; gap: .6rem; align-items: center; margin: .6rem 0; font-weight: 600; }
.portal-check input { width: 1.2rem; height: 1.2rem; }
.portal-note { padding: .6rem .8rem; border-radius: 10px; background: var(--ag-warning-bg, #fff7e6); color: var(--ag-warning, #9a4b00); }
.portal-result { margin: .75rem 0; padding: .75rem; border-radius: 12px; background: var(--ag-bg, #f6f7f9); display: grid; gap: .5rem; }
.portal-result code { overflow-wrap: anywhere; font-size: .8rem; }
.portal-actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin-top: .5rem; }
.portal-wa { display: inline-flex; align-items: center; min-height: 42px; padding: .4rem 1rem; border-radius: 10px; background: #1f9d55; color: #fff; font-weight: 700; text-decoration: none; }
.portal-error { min-height: 1.2em; margin: .5rem 0 0; font-size: .875rem; color: var(--ag-ink-2, #344054); }

.wa-dyz { background: #1f9d55 !important; border-color: #1f9d55 !important; color: #fff !important; }
