/* INICIO: estructura compartida del administrador 1.6.4 */
.admin-backoffice { overflow-wrap:anywhere; line-height:1.6; }
.admin-backoffice .container,.admin-backoffice .workspace { width:min(1500px,calc(100% - 40px)); margin-inline:auto; padding:32px 0 64px; min-width:0; }
.admin-backoffice .workspace>.panel { padding:clamp(18px,2.4vw,32px); min-width:0; overflow-x:auto; }
.admin-backoffice .workspace>.panel>h1 { margin:0 0 14px; font-size:clamp(26px,3vw,38px); line-height:1.2; letter-spacing:-.035em; }
.admin-backoffice .workspace>.panel>h2 { margin:32px 0 12px; font-size:clamp(20px,2vw,25px); line-height:1.35; }
.admin-backoffice .workspace>.panel>h3 { margin:24px 0 12px; }
.admin-backoffice .workspace>.panel>p { max-width:110ch; margin:12px 0; color:#b6c5d8; line-height:1.75; }
.admin-backoffice .workspace>.panel>p a { color:#a5cfee; text-underline-offset:3px; }
.admin-backoffice h1,.admin-backoffice h2,.admin-backoffice h3 { overflow-wrap:anywhere; }
.admin-backoffice input,.admin-backoffice select,.admin-backoffice textarea { min-width:0; font:inherit; font-size:.9375rem; color:#eef5ff; }
.admin-backoffice select option { color:#eef5ff; background:#081422; }
.admin-backoffice input[type="checkbox"],.admin-backoffice input[type="radio"] { width:18px; height:18px; min-width:18px; padding:0; margin:4px 0 0; accent-color:var(--accent); flex:0 0 18px; }
.admin-backoffice label:has(>input[type="checkbox"]),.admin-backoffice label:has(>input[type="radio"]) { display:flex; align-items:flex-start; gap:10px; font-size:.875rem; line-height:1.65; }
.admin-backoffice input[readonly] { color:#a7b9ce; background:#101f30; }
.admin-backoffice label { color:#b6c5d8; font-size:.875rem; line-height:1.5; }
.admin-backoffice .workspace>.panel>form { margin:22px 0; padding:20px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.018); }
.admin-backoffice .workspace fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; min-width:0; margin:0 0 24px; padding:20px; border:1px solid #354b64; border-radius:12px; }
.admin-backoffice .workspace fieldset legend { padding:0 8px; color:#eef5ff; font-size:1rem; font-weight:700; }
.admin-backoffice .workspace fieldset>label:first-of-type { grid-column:1 / -1; }
.admin-backoffice .workspace textarea { min-height:108px; line-height:1.6; }
.admin-backoffice .primary-button,.admin-backoffice .secondary-button { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:44px; margin:4px 6px 4px 0; gap:8px; text-align:center; text-decoration:none; font:inherit; font-size:.875rem; font-weight:700; line-height:1.45; white-space:normal; vertical-align:middle; }
.admin-backoffice .primary-button:hover { filter:brightness(1.1); }
.admin-backoffice :is(a,button,input,select,textarea):focus-visible { outline:3px solid #a5cfee; outline-offset:3px; }
.admin-backoffice .table-wrap { max-width:100%; min-width:0; margin:18px 0; overflow-x:auto; border:1px solid #283b51; border-radius:12px; overscroll-behavior-x:contain; }
.admin-backoffice .table-wrap table { margin:0; }
.admin-backoffice th { background:#102136; color:#bbccdf; white-space:normal; min-width:105px; vertical-align:bottom; line-height:1.5; }
.admin-backoffice td { vertical-align:top; line-height:1.65; }
.admin-backoffice td:first-child { white-space:normal; min-width:200px; max-width:340px; overflow-wrap:anywhere; }
.admin-backoffice tbody tr:nth-child(even) { background:rgba(255,255,255,.018); }
.admin-backoffice .table-wrap:focus-visible { outline:3px solid #a5cfee; outline-offset:3px; }
.admin-backoffice .table-wrap[tabindex]::before { content:"Desliza para ver todas las columnas"; display:block; padding:8px 14px; color:#adbed2; background:#101e30; font-size:.75rem; }
.admin-backoffice .userbox { min-width:0; flex-wrap:wrap; justify-content:flex-end; gap:8px 14px; }
.admin-backoffice .userbox>a { display:inline-flex; align-items:center; min-height:44px; padding:6px 8px; border-radius:8px; text-decoration:none; color:#bdcce0; line-height:1.35; }
.admin-backoffice .userbox>a:hover,.admin-backoffice .userbox>a[aria-current="page"] { color:#eef5ff; background:#17273b; }
.admin-backoffice .userbox>span { max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-backoffice .userbox form { flex-shrink:0; }
.admin-backoffice .backoffice-header-inner { padding-block:10px; min-width:0; }
.admin-backoffice .note { margin:14px 0; padding:18px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.02); }
.admin-backoffice .note>a { display:inline-block; margin-block:4px; color:#a5cfee; }
.admin-backoffice [role="alert"],.admin-backoffice .alert.danger { padding:14px 16px; border:1px solid #c27559; border-radius:10px; background:#40241e; color:#ffe4d4; }
.admin-backoffice [role="status"] { padding:14px 16px; border:1px solid #527b9e; border-radius:10px; color:#daecff; }
.admin-backoffice .footer { margin-top:24px; }
@media(max-width:1100px) {
 .admin-backoffice .backoffice-header-inner { flex-wrap:wrap; gap:8px 20px; }
 .admin-backoffice .userbox { flex:1 1 500px; justify-content:flex-start; }
}
@media(max-width:700px) {
 .admin-backoffice .container,.admin-backoffice .workspace { width:calc(100% - 24px); padding-top:22px; }
 .admin-backoffice .workspace>.panel { padding:18px 14px; }
 .admin-backoffice .workspace>.panel>form { padding:16px 12px; }
 .admin-backoffice .workspace fieldset { grid-template-columns:minmax(0,1fr); padding:14px 12px; gap:6px; }
 .admin-backoffice .workspace .primary-button,.admin-backoffice .workspace .secondary-button { width:100%; margin-right:0; }
 .admin-backoffice .userbox { gap:4px 6px; font-size:.75rem; }
 .admin-backoffice .userbox>a { padding-inline:7px; }
 .admin-backoffice th,.admin-backoffice td { padding:12px; }
 .admin-backoffice .workspace>.panel>h1 { font-size:1.65rem; }
}
@media(prefers-reduced-motion:reduce) { .admin-backoffice * { scroll-behavior:auto!important; } }
/* FIN: estructura del administrador; sin cambios al portal del cliente */
