.mobile-dock, .mobile-navigation-panel, .mobile-only-glyph { display: none; }
.mobile-navigation-sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
@media (max-width: 760px), (max-width: 1180px) and (orientation: portrait) {
    body.has-mobile-dock { --mobile-dock-height: 68px; padding-bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom, 0px)); }
    body.has-mobile-dock main.container { padding-bottom:1.2rem; }
    body.has-mobile-dock { scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom, 0px)); }
    .mobile-dock:not([hidden]) { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:2210;min-height:var(--mobile-dock-height,68px);padding:5px max(6px,env(safe-area-inset-right,0px)) max(5px,env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));box-sizing:border-box;border-top:1px solid var(--border-main,#263248);background:var(--bg-surface,#08101f);box-shadow:0 -3px 20px #00000010; }
    .mobile-dock > a, .mobile-dock > button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;margin:0;border:0;border-radius:12px;background:transparent;box-shadow:none;padding:4px 2px;color:var(--text-muted,#94a3b8);font:600 11px/1.25 system-ui,sans-serif;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent; }
    .mobile-dock [data-mobile-icon] { display:flex;align-items:center;justify-content:center;width:42px;height:29px;border-radius:12px; }
    .mobile-dock > [aria-current="page"], .mobile-dock > .is-active { color:var(--text-link,#93c5fd); }
    .mobile-dock > [aria-current="page"] [data-mobile-icon], .mobile-dock > .is-active [data-mobile-icon] { background:var(--bg-surface-hover,#182641); }
    .mobile-dock > :active, .mobile-navigation-choice:active { background:var(--bg-surface-hover,#182641); }
    .mobile-dock > :focus-visible, .mobile-navigation-choice:focus-visible { outline:2px solid var(--text-link,#93c5fd);outline-offset:-3px; }
    body.mobile-keyboard-open .mobile-dock { visibility:hidden;pointer-events:none; }
    body.has-mobile-dock .item-email-shell { bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
    body.has-mobile-dock.mobile-nav-open .item-email-shell { visibility:hidden;pointer-events:none; }
    body.has-mobile-dock .agenda-toast { bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
    body.has-mobile-dock .topbar:has(>nav>.agenda-nav-actions) { padding-bottom:.65rem; }
    body.has-mobile-dock .topbar > nav > .agenda-nav-actions { display:inline-flex;position:static;width:auto;flex:0 0 auto; }
    body.has-mobile-dock .topbar > nav > .agenda-nav-actions > a { display:none; }
    body.has-mobile-dock .topbar > nav > .agenda-nav-actions > button { width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:0;border-radius:50%; }
    body.has-mobile-dock .topbar > nav > .agenda-nav-actions > button > svg { margin:0; }
    .mobile-only-glyph { display:inline-flex;align-items:center;justify-content:center; }
    .topbar-bell-icon:has(svg) > .mobile-original-glyph, .topbar-gear-icon:has(svg) > .mobile-original-glyph { display:none; }
    .mobile-navigation-enhanced.is-open, body.has-mobile-dock .mobile-nav-backdrop.is-open { display:block!important; }
    body.has-mobile-dock .mobile-navigation-enhanced { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
    @media(max-width:360px) {
        body.has-mobile-dock .topbar > nav > a.task-nav-link { font-size:0;min-width:44px;padding:0 .35rem;gap:2px; }
        body.has-mobile-dock .topbar > nav > a.task-nav-link > svg { margin:0; }
        body.has-mobile-dock .topbar > nav { gap:2px; }
    }
    .mobile-navigation-enhanced { width:min(100vw,440px);box-sizing:border-box;padding:16px max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)); }
    .mobile-navigation-enhanced > :not(.mobile-nav-head):not(.mobile-navigation-panel) { display:none!important; }
    .mobile-navigation-enhanced .mobile-nav-title { letter-spacing:0; }
    .mobile-navigation-enhanced .mobile-nav-close { width:44px;height:44px;min-width:44px;border-radius:12px;background:var(--bg-surface-alt,#101b31);padding:0;font-size:28px;line-height:1; }
    .mobile-navigation-panel { display:block; }
    .mobile-navigation-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 14px; }
    .mobile-navigation-heading h2 { margin:0;font-size:1.5rem;letter-spacing:-.02em; }
    .mobile-navigation-note { display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--border-main,#263248);border-radius:12px;color:var(--text-main,#e2e8f0);background:var(--bg-surface-alt,#101b31);cursor:pointer; }
    .mobile-navigation-search { display:flex;align-items:center;gap:10px;margin:0 0 18px;border:1px solid var(--border-strong,#334155);border-radius:12px;padding:0 12px;background:var(--bg-input,var(--bg-surface-alt,#101b31));color:var(--text-muted,#94a3b8); }
    .mobile-navigation-search input { flex:1;min-width:0;width:100%;height:48px;border:0!important;outline:0;box-shadow:none!important;margin:0;padding:8px 0!important;background:transparent!important;color:var(--text-main,#e2e8f0);font:400 16px/1.35 system-ui,sans-serif; }
    .mobile-navigation-search:focus-within { outline:2px solid var(--text-link,#93c5fd);outline-offset:2px; }
    .mobile-navigation-search input::placeholder { color:var(--text-muted,#94a3b8);opacity:1; }
    .mobile-navigation-scope { display:flex;align-items:center;gap:8px;margin:-6px 0 16px;min-width:0;color:var(--text-muted,#94a3b8);font-size:13px; }
    .mobile-navigation-scope[hidden] { display:none; }
    .mobile-navigation-scope button { min-width:0;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--border-main,#263248);border-radius:12px;background:var(--bg-surface-alt,#101b31);color:var(--text-muted,#94a3b8);box-shadow:none;font:600 13px/1.35 system-ui,sans-serif;cursor:pointer; }
    .mobile-navigation-scope button:first-child { flex:1;overflow-wrap:anywhere; }
    .mobile-navigation-scope button:last-child { flex:none; }
    .mobile-navigation-scope button[aria-pressed=true] { color:var(--text-link,#93c5fd);border-color:currentColor; }
    .mobile-navigation-scope button:focus-visible { outline:2px solid var(--text-link,#93c5fd);outline-offset:2px; }
    .mobile-navigation-results { display:grid;gap:9px; }
    .mobile-navigation-group { margin:10px 2px 1px;color:var(--text-muted,#94a3b8);font:600 12px/1.4 system-ui,sans-serif; }
    .mobile-navigation-search-status { display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;color:var(--text-muted,#94a3b8);font-size:13px; }
    .mobile-navigation-search-status button { min-height:44px;padding:6px 14px;border:1px solid var(--border-main,#263248);border-radius:12px;background:var(--bg-surface-alt,#101b31);color:var(--text-link,#93c5fd);cursor:pointer; }
    .mobile-navigation-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
    .mobile-navigation-choice { display:flex;align-items:center;gap:12px;min-height:64px;box-sizing:border-box;border:1px solid var(--border-main,#263248);border-radius:14px;padding:12px;color:var(--text-main,#e2e8f0);background:var(--bg-surface-alt,#101b31);text-decoration:none;font-size:14px;font-weight:600;line-height:1.35; }
    .mobile-navigation-choice > [data-mobile-icon] { display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;color:var(--text-link,#93c5fd);background:var(--bg-surface,#08101f); }
    .mobile-navigation-choice-text { display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere; }
    .mobile-navigation-choice small { font-size:12px;font-weight:400;color:var(--text-muted,#94a3b8); }
    .mobile-navigation-choice[aria-current="page"] { border-color:var(--text-link,#93c5fd);box-shadow:inset 3px 0 var(--text-link,#93c5fd); }
    .mobile-navigation-grid .mobile-navigation-choice { flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-height:120px; }
    .mobile-navigation-empty { grid-column:1/-1;color:var(--text-muted,#94a3b8);text-align:center;padding:20px 0; }
    body.has-mobile-dock :is(button,a.btn-primary,a.btn-secondary,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select) { touch-action:manipulation; }
    body.has-mobile-dock :is(.page-header,.task-heading,.filing-header) h1 { letter-spacing:-.025em; }
    @media (prefers-reduced-motion:no-preference) {
        .mobile-navigation-enhanced.is-open { animation:mobile-navigation-enter 140ms ease-out; }
        .mobile-dock > a,.mobile-dock > button,.mobile-navigation-choice { transition:background-color 100ms ease,color 100ms ease,border-color 100ms ease; }
        @keyframes mobile-navigation-enter { from { transform:translateX(-12px);opacity:.7; } to { transform:translateX(0);opacity:1; } }
    }
}

/* Requisition rows are tappable only while the shared table is displayed as cards. */
@media (max-width:900px), (max-width:1180px) and (orientation:portrait) {
    main .table[data-responsive-card] > tbody > tr:has(a[data-vms-recent-type="Requisition"][href]) { cursor:pointer; }
    main .table[data-responsive-card] > tbody > tr:has(a[data-vms-recent-type="Requisition"][href]):active { border-color:var(--text-link,#93c5fd); }
}
