/* Shared keyboard accessibility and narrow-screen layout. */
:focus-visible { outline: 3px solid #6366f1 !important; outline-offset: 3px; }
button:disabled { cursor: wait; opacity: .65; }
.portal-table-scroll { width: 100%; min-width: 0; overflow-x: auto; }
.portal-card-action { display:block; margin:8px; padding:8px 12px; border:1px solid #c7d2fe; border-radius:8px; background:#eef2ff; color:#3730a3; font-weight:600; cursor:pointer; }
.grid > *, .flex > * { min-width: 0; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (max-width: 767px) {
    body { padding: 12px !important; }
    .glass-card { padding: 16px !important; max-width: 100% !important; }
    h1 { font-size: 1.4rem !important; line-height: 1.5 !important; }
    .flex.justify-between, .glass-nav .flex { flex-wrap: wrap; gap: 12px; }
    .glass-nav { position: static !important; padding: 12px !important; }
    .glass-nav + div { padding: 20px 0 !important; }
    nav.flex, .flex.border-b { flex-wrap: wrap; gap: 8px; }
    nav.flex > *, .flex.border-b > * { margin-left: 0 !important; }
    .flex.border-b > button { padding: 12px 8px !important; }
    .grid-cols-2, .grid-cols-3 { grid-template-columns: minmax(0,1fr) !important; }
    .space-x-3 { flex-wrap: wrap; gap: 8px; }
    .space-x-3 > * { margin-left: 0 !important; }
    [id$="Modal"] > div { max-height: 90svh; max-width: calc(100vw - 24px); overflow-y: auto; }
    button, a[role="button"] { min-height: 40px; }
    pre { overflow-x: auto; max-width: 100%; }
}
/* Workspace entry remains reachable on desktop and touch screens. */
.portal-workspace-link { position: fixed; right: 20px; bottom: 20px; z-index: 40; padding: 12px 18px; background: #143c36; color: #fff; border: 1px solid #416b62; border-radius: 12px; box-shadow: 0 4px 18px #12362b26; font: 600 14px/1.5 system-ui, sans-serif; text-decoration: none; }
.portal-workspace-link:hover, .portal-workspace-link:focus-visible { background: #20574e; outline: 3px solid #97cbbb; outline-offset: 3px; }
