/* Aloba Studio — installation-owned operator theme. Never loaded in preview documents. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/site-admin-theme/jakarta-3.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/site-admin-theme/jakarta-4.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/site-admin-theme/jakarta-5.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/site-admin-theme/jakarta-6.ttf') format('truetype')}
:root:has(.admin-sidebar,.login-screen,.accounts-main){--ink:#24212e;--muted:#656071;--line:#e4e0ed;--accent:#5f5295;--sidebar-bg:#faf9fd;--sidebar-ink:#363041;--sidebar-muted:#70677f;--sidebar-active:#ebe7f5;color-scheme:light}
body:has(>.admin-sidebar),.accounts.login-screen,body.accounts:has(>.accounts-main){font-family:'Plus Jakarta Sans',sans-serif;background:#faf9fd;color:#24212e;line-height:1.6}
:is(.admin-sidebar,.admin-main,.editor-shell,.accounts.login-screen,body.accounts:has(>.accounts-main)) :is(button,input,textarea,select){font-family:inherit}
:is(.admin-main,.editor-shell,.accounts.login-screen,body.accounts:has(>.accounts-main)) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){border:1px solid #d7d0e3;border-radius:10px;background:#fff;color:#24212e;min-height:44px;max-width:100%;box-sizing:border-box}
:is(.admin-main,.editor-shell,.accounts.login-screen,body.accounts:has(>.accounts-main)) :is(button,a.button){border-radius:10px;min-height:40px}
:is(.admin-main,.editor-shell,.accounts.login-screen,body.accounts:has(>.accounts-main)) :is(.primary,button[type=submit]:not(.danger):not([value=delete]),.media-picker-choose,.media-picker-submit){background:#5f5295;border-color:#5f5295;color:#fff}
:is(.admin-main,.editor-shell) :is(.primary,button[type=submit]:not(.danger):not([value=delete]),.media-picker-choose,.media-picker-submit):hover{background:#4c407c}
:is(.admin-main,.editor-shell) :is(.panel,.stat-card,.section-card,.ext-group,.ext-list,.ext-item,fieldset,.data-table,.disclosure){border-color:#e4e0ed;border-radius:14px;background:#fff}
:is(.admin-main,.editor-shell) :is(h1,h2,h3){letter-spacing:-.035em;color:#24212e}
.admin-main .data-table th{background:#f3f0f9;color:#656071}
.admin-main .data-table tr:hover td{background:#faf9fd}
.admin-main a.stat-card:hover{background:#faf9fd;border-color:#c9bfdf}
.admin-main .status-pill.home-pill,.editor-shell .home-badge{background:#5f5295;color:white}
.admin-main .tabs,.editor-shell .editor-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin}
.admin-main .tabs a{flex:none;white-space:nowrap;min-height:44px}
:is(.admin-main,.editor-shell) :is(.tabs a[aria-current=page],[role=tab][aria-selected=true]){color:#5f5295;border-bottom-color:#5f5295}
.admin-sidebar{background:#faf9fd;border-right:1px solid #e4e0ed;padding-top:24px}
.admin-sidebar .brand{color:#24212e;border-bottom-color:#e4e0ed;padding-bottom:22px}
/* Explicitly cover the fallback span; core .brand span carries a green accent. */
.admin-sidebar .brand .brand-name{color:#24212e}
.admin-sidebar .brand small{color:#70677f}
.admin-sidebar .brand-logo{height:64px;background-color:transparent;border-radius:0;background-position:left center}
.admin-sidebar nav a{padding:10px 12px;border-radius:10px;color:#363041}
.admin-sidebar nav a:hover,.admin-sidebar-account a:hover{background:#f0ecf8;color:#4c407c}
.admin-sidebar nav a[aria-current=page],.admin-sidebar-account a[aria-current=page]{background:#ebe7f5;color:#4c407c}
.admin-sidebar-account{border-top-color:#e4e0ed}
.admin-sidebar-account button{border-color:#d7d0e3;color:#5f5295;background:#fff;border-radius:10px;min-height:44px}
.admin-sidebar-account button:hover{background:#ebe7f5}
.admin-sidebar .admin-nav-menu summary{color:#4c407c}
.admin-sidebar .admin-nav-menu{border-top-color:#e4e0ed}
.editor-shell .preview-toolbar button[aria-pressed=true]{background:#ebe7f5;border-color:#c9bfdf;color:#4c407c}
.editor-shell .preview-toolbar button:hover{background:#f3f0f9}
.editor-shell .editor-top,.editor-shell .editor-actions{background:#fff}
.editor-shell .editor-fields{background:#faf9fd}
.editor-shell .preview-panel{background:#f3f0f9}
.editor-shell #preview-stage{background:#eae6f2}
.editor-shell .preview-device{border-color:#d7d0e3}
.editor-shell #rich-text{font-family:'Plus Jakarta Sans',sans-serif;background:#fff;color:#24212e}
.editor-shell :is(.rich-text-toolbar,.rich-text-field,fieldset){border-color:#e4e0ed;background:#fff;border-radius:10px}
:is(.admin-main,.editor-shell) :is(dialog.media-picker-dialog,.plexo-confirm){color:#24212e;background:#fff;border:1px solid #d7d0e3;border-radius:18px;box-shadow:0 24px 80px #33284d26;font-family:'Plus Jakarta Sans',sans-serif}
:is(.admin-main,.editor-shell) :is(dialog.media-picker-dialog,.plexo-confirm)::backdrop{background:#24212e70}
body:has(>.admin-sidebar) :is(dialog.media-picker-dialog,.plexo-confirm){font-family:'Plus Jakarta Sans',sans-serif;border-color:#d7d0e3;border-radius:18px}
body:has(>.admin-sidebar) :is(.media-picker-header,.media-picker-tabs){background:#faf9fd}
body:has(>.admin-sidebar) .media-picker-tab[aria-selected=true]{color:#5f5295;border-color:#d7d0e3}
body:has(>.admin-sidebar) .media-picker-item:hover{border-color:#5f5295}
@media(max-width:600px){body:has(>.admin-sidebar) .media-picker-field{flex-wrap:wrap;align-items:flex-start}body:has(>.admin-sidebar) .media-picker-preview{flex:1 1 100%;width:100%}body:has(>.admin-sidebar) .media-picker-name{min-width:100px;flex:1}body:has(>.admin-sidebar) .media-picker-actions{flex-wrap:wrap}}
/* Feedback retains semantic red/green/amber. Never recolor error or danger states as brand. */
:is(.admin-main,.editor-shell) :is(.danger,[aria-invalid=true]){border-color:#a13737}
body:has(>.admin-sidebar) .plexo-confirm__accept.danger{background:#a13737;border-color:#a13737;color:#fff}
:is(.admin-sidebar,.admin-main,.editor-shell,.accounts.login-screen,body.accounts:has(>.accounts-main)) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #8973c4;outline-offset:3px}
.accounts.login-screen,body.accounts:has(>.accounts-main){box-sizing:border-box;min-height:100vh;padding:32px 20px;background:radial-gradient(ellipse at top,#ede8f8 0,transparent 65%),#faf9fd}
.accounts.login-screen main,body.accounts>.accounts-main{box-sizing:border-box;max-width:520px!important;margin:24px auto!important;padding:32px!important;border:1px solid #e4e0ed;border-radius:24px;box-shadow:0 18px 60px #5f529510;background:#fff}
.accounts.login-screen h1,body.accounts>.accounts-main h1{font-size:28px;line-height:1.25;letter-spacing:-.04em;color:#24212e}
.accounts.login-screen main nav,body.accounts>.accounts-main nav{border-color:#e4e0ed;font-size:13px}
.accounts.login-screen a,body.accounts>.accounts-main a{color:#5f5295}
.accounts.login-screen main form,body.accounts>.accounts-main form{background:#faf9fd;border-color:#e4e0ed;border-radius:14px;padding:18px;gap:18px}
.accounts.login-screen main input,body.accounts>.accounts-main input{max-width:none}
.accounts.login-screen main button,body.accounts>.accounts-main button{background:#5f5295;border-color:#5f5295;color:#fff;min-height:44px;width:100%;border-radius:10px}
.accounts.login-screen main button:hover,body.accounts>.accounts-main button:hover{background:#4c407c}
.accounts.login-screen main>p,body.accounts>.accounts-main>p{font-size:13px}
.accounts.login-screen .login-brand img{max-width:220px;max-height:80px}
@media(max-width:960px){.admin-sidebar{padding:10px 16px;border-right:0;border-bottom:1px solid #e4e0ed}.admin-sidebar .brand{padding:4px 0}.admin-sidebar .brand-logo{width:148px;height:44px}.admin-sidebar .admin-nav-menu nav{padding-bottom:12px}.admin-main{padding-top:24px}}
@media(max-width:600px){.accounts.login-screen,body.accounts:has(>.accounts-main){padding:12px}.accounts.login-screen main,body.accounts>.accounts-main{padding:22px!important;margin:12px auto!important;border-radius:18px}.accounts.login-screen main form,body.accounts>.accounts-main form{padding:14px}.admin-main .filters{align-items:stretch}.admin-main .filters label{min-width:0;width:100%}.admin-main .filters :is(input,select){width:100%;min-width:0}.editor-shell .editor-top-id{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){body:has(>.admin-sidebar) *, .accounts.login-screen *{scroll-behavior:auto;transition:none}}
/* QA responsive R3 (admin). Solo layout/área táctil: texto, colores y orden no cambian. */
/* Usuarios (≥701): "Rol" y "Estado" quedaban de ~40px y "Administrador" se partía letra por letra. */
@media(min-width:701px){body:has(>.admin-sidebar) .data-table td.grow~td{white-space:nowrap;overflow-wrap:normal;width:1%}}
/* Páginas (701–1199): la tabla de 8 columnas no entra al lado del sidebar (a 1024 se pasaba
   236px y generaba scroll horizontal). Usa la misma vista en tarjetas que ≤700. */
@media(min-width:701px) and (max-width:1199px){
 body:has(>.admin-sidebar) .pages-list thead{display:none}
 body:has(>.admin-sidebar) :is(.pages-list,.pages-list tbody,.pages-list tr,.pages-list td){display:block;width:100%}
 body:has(>.admin-sidebar) .pages-list tr{border-bottom:1px solid #e4e0ed;padding:8px 0}
 body:has(>.admin-sidebar) .pages-list tr:last-child{border-bottom:0}
 body:has(>.admin-sidebar) .pages-list td{border:0;padding:6px 18px;min-width:0!important}
 body:has(>.admin-sidebar) .pages-list td[data-label]::before{content:attr(data-label);display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#656071}
 body:has(>.admin-sidebar) .pages-list .page-url{max-width:none}
 body:has(>.admin-sidebar) .pages-list .row-actions{justify-content:flex-start;flex-wrap:wrap}
}
/* Mobile/tablet (≤960, donde el sidebar pasa a "Menú"): áreas táctiles ≥44px, la vara del
   proyecto (WCAG 2.5.8 pide 24px). */
@media(max-width:960px){
 body:has(>.admin-sidebar) .admin-nav-menu nav a{display:flex;align-items:center;min-height:44px}
 body:has(>.admin-sidebar) .admin-sidebar-account a{display:inline-flex;align-items:center;min-height:44px}
 body:has(>.admin-sidebar) :is(.admin-main,.editor-shell) :is(button,a.button,a.back-link,summary,select,input:not([type=checkbox],[type=radio],[type=hidden],[type=color])){min-height:44px}
 body:has(>.admin-sidebar) :is(.admin-main,.editor-shell) a:is(.button,.back-link){display:inline-flex;align-items:center;justify-content:center;min-width:44px}
 body:has(>.admin-sidebar) .admin-main summary.button-link{display:flex;align-items:center}
 body:has(>.admin-sidebar) .admin-main .row-actions :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
 body:has(>.admin-sidebar) .admin-main :is(.row-edit-actions>a,.plain-list li>a,.pages-list .page-title,.pages-list .page-url a){display:inline-flex;align-items:center;min-height:44px;min-width:44px}
 body:has(>.admin-sidebar) .admin-main label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:44px}
}
/* Editor en celular (≤700): la barra fija de acciones ocupaba 3 filas (~200px, 24% de la
   pantalla) y tapaba campos. Ahora: estado arriba en una línea y los botones en una sola fila
   deslizable, con Guardar primero y Eliminar al final. Mismos botones, mismos ids. */
@media(max-width:700px){
 body:has(>.admin-sidebar) .editor-shell .actions.editor-actions{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:12px;gap:8px;padding:6px 12px 10px;flex-direction:row;align-items:center;row-gap:0}
 body:has(>.admin-sidebar) .editor-actions #dirty{position:absolute;left:12px;top:4px;font-size:12px;line-height:16px;flex:none}
 body:has(>.admin-sidebar) .editor-shell .actions.editor-actions{padding-top:24px}
 body:has(>.admin-sidebar) .editor-actions button{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
 body:has(>.admin-sidebar) .editor-actions #save{order:-2}
 body:has(>.admin-sidebar) .editor-actions #publish{order:-1}
 body:has(>.admin-sidebar) .editor-actions #delete{order:9}
 body:has(>.admin-sidebar) .editor-shell{padding-bottom:96px}
}
/* Casillas de "Activo/Público/Activa" (Categorías, Redirecciones): ahora son <label>, así que
   el texto también marca la casilla; la casilla no hereda el width:100% de los inputs. */
body:has(>.admin-sidebar) .admin-main label.check{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
body:has(>.admin-sidebar) .admin-main label.check>input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin:0}

.brand-logo{display:block;background-image:url("/media/571f78d8-5c63-5857-8662-f6b08c24bbd8?width=480")}.brand:has(.brand-logo) .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
