/* Toda la navegación acompaña al material desde el lateral. */
.aabn-app.aabn-board.aabn-has-rail { --aabn-rail-width:108px; position:relative; grid-template-columns:var(--aabn-rail-width) minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
.aabn-app.aabn-board.aabn-has-rail > .aabn-main { grid-column:2; grid-row:1; min-width:0; min-height:0; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail { position:static; display:flex; grid-column:1; grid-row:1; flex-direction:column; align-items:stretch; gap:4px; width:var(--aabn-rail-width); min-height:0; padding:6px; border-right:1px solid #dce8e2; background:#f7faf7; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-brand-home { display:flex; flex:0 0 auto; align-items:center; justify-content:center; width:100%; max-width:none; min-width:0; min-height:48px; padding:3px 0; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-brand-home img { width:100%; height:auto; max-height:44px; object-fit:contain; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail :is(.aabn-rail-expand,.aabn-rail-calculator,.aabn-nav button,.aabn-board-utility,.aabn-access > summary) { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:100%; min-width:44px; min-height:48px; margin:0; padding:5px 2px; border:1px solid transparent; border-radius:12px; color:#476364; background:transparent; box-shadow:none; font:inherit; font-size:11px; font-weight:750; line-height:1.15; cursor:pointer; touch-action:manipulation; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail :is(button,summary):focus-visible { outline:3px solid #bd8a17; outline-offset:-3px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail :is(button,summary):hover { background:#eaf4ee; border-color:#c7ddd3; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail button:disabled { color:#7c918d; background:transparent; opacity:.65; cursor:default; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-icon { flex-shrink:0; width:25px; height:25px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav { display:flex !important; flex:0 0 auto; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:2px; width:100%; min-width:0; min-height:0; margin:0; padding:0; border:0; background:transparent; overflow:visible; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button > span { display:block; max-width:100%; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button.is-active { color:#11665d; border-color:#bdded2; background:#e2f1e9; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button[aria-current]::before { inset:12px auto 12px -6px; width:3px; height:auto; border-radius:0 3px 3px 0; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-rail-expand { color:#176f67; border-color:#d1e1db; background:#fff; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-board-dock { display:grid; flex:0 0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:2px; min-height:0; padding:3px 0; border:0; border-top:1px solid #dde8e1; background:transparent; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-board-utility { min-height:48px; font-size:9px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-board-utility .aabn-icon { width:23px; height:23px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-profile-control--course { display:block; flex:0 0 auto; min-width:0; width:100%; margin:0; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-profile-control--course > span { display:none; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail [data-aabn-course] { width:100%; min-width:44px; min-height:44px; padding:5px 9px; border:1px solid #cadbd4; border-radius:10px; color:#315b54; background:#fff; font:inherit; font-size:17px; text-align:center; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-access { position:static; display:block; flex:0 0 auto; width:100%; margin:0; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-access > summary > span { display:block; font-size:10px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-access__panel { position:absolute; z-index:100; inset:auto auto 8px calc(var(--aabn-rail-width) + 8px); width:min(390px,calc(100% - var(--aabn-rail-width) - 20px)); max-height:calc(100% - 24px); margin:0; padding:15px; overflow:auto; box-shadow:0 10px 35px #1b45352b; }
.aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-access__panel .aabn-fullscreen-button { display:flex; justify-content:center; width:100%; min-height:44px; margin-top:10px; padding:8px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-screen { padding:14px 18px; }
.aabn-app.aabn-board.aabn-has-rail .aabn-workshop-heading h3 { display:block; }
.aabn-app.aabn-board.aabn-has-rail .aabn-workspace-title { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.aabn-app.aabn-board .aabn-keypad-key:is([data-keypad-key="backspace"],[data-keypad-key="clear"]) { flex-direction:column; gap:1px; }
.aabn-app.aabn-board .aabn-keypad-key:is([data-keypad-key="backspace"],[data-keypad-key="clear"]) .aabn-icon { width:28px; height:28px; }
.aabn-app.aabn-board .aabn-keypad-key:is([data-keypad-key="backspace"],[data-keypad-key="clear"]) > span { display:block; font-size:11px; line-height:1; font-weight:750; }
.aabn-app.aabn-board.aabn-high-contrast .aabn-rail :is(button,summary,select) { color:#000 !important; border-color:#000 !important; }
@media (min-width:1201px) and (min-height:950px) {
 .aabn-app.aabn-board.aabn-has-rail { --aabn-rail-width:116px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button { min-height:64px; font-size:12px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button .aabn-icon { width:30px; height:30px; }
}
@media (min-width:769px) and (max-width:1200px) {
 .aabn-app.aabn-board.aabn-has-rail { --aabn-rail-width:96px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-screen { padding:10px 12px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail { gap:2px; padding:4px; }
}
@media (max-width:768px) {
 .aabn-app.aabn-board.aabn-has-rail { --aabn-rail-width:64px; grid-template-columns:var(--aabn-rail-width) minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
 .aabn-app.aabn-board.aabn-has-rail .aabn-screen { padding:8px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail { gap:1px; padding:4px 3px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail :is(.aabn-rail-expand,.aabn-rail-calculator,.aabn-nav button,.aabn-board-utility,.aabn-access > summary) { min-height:44px; gap:2px; padding:3px 1px; border-radius:9px; font-size:8.5px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-brand-home { min-height:44px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-board-dock { grid-template-columns:minmax(0,1fr); gap:1px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-icon { width:23px; height:23px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-board-utility .aabn-icon { width:21px; height:21px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-rail .aabn-nav button[aria-current]::before { inset:10px auto 10px -3px; }
}
@media print {
 .aabn-app.aabn-board.aabn-has-rail { display:block; }
 .aabn-app.aabn-board.aabn-has-rail > .aabn-rail { display:none !important; }
}

/* En móvil, el puente utiliza el ancho que queda junto al menú lateral. */
@media screen and (max-width:768px) {
 .aabn-app.aabn-board.aabn-has-rail .aabn-bridge-topbar { min-width:0; max-width:100%; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-bridge-view-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:1 1 100%; min-width:0; width:100%; max-width:100%; gap:6px; padding:4px; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-bridge-view-switch button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; width:100%; min-height:64px; padding:8px 3px; font-size:12px; line-height:1.15; white-space:normal; overflow-wrap:anywhere; }
 .aabn-app.aabn-board.aabn-has-rail .aabn-bridge-view-switch button .aabn-icon { width:23px; height:23px; }
}

/* «Mis números» conserva su apertura también en el puente ampliado. */
.aabn-app.aabn-board.aabn-has-rail .aabn-bridge-shell.is-board-mode > .aabn-bridge-setup:not([hidden]) { display:grid; }
