.skip-content { position:fixed; left:12px; top:-100px; z-index:2000; padding:12px; background:#fff; color:#172033; border-radius:6px; }
.skip-content:focus { top:12px; }
.mobile-toolbar, .mobile-bottom-nav, .mobile-menu-close, .menu-backdrop { display:none; }
.sidebar { height:100vh; height:100dvh; overflow-y:auto; z-index:1250; }
.sidebar .brand, .sidebar .user-box { flex-shrink:0; }
.content { min-width:0; }
.content h1, .content h2, .content h3 { overflow-wrap:anywhere; }
:focus-visible { outline:3px solid #38bdf8; outline-offset:3px; }
html { scroll-padding-top:90px; }
@media(max-width:900px) {
    .mobile-toolbar { display:flex; position:sticky; top:0; z-index:1200; min-height:64px; padding:8px 14px; padding-top:max(8px,env(safe-area-inset-top)); background:#111827; color:#f8fafc; border-bottom:1px solid #334155; align-items:center; justify-content:space-between; gap:10px; }
    .mobile-brand { display:flex; align-items:center; gap:10px; min-width:0; color:#f8fafc; font-weight:700; }
    .mobile-brand .brand-mark { width:36px; height:36px; flex-shrink:0; font-size:13px; }
    .mobile-menu-button { min-height:44px; background:#1e293b; border:1px solid #475569; color:#fff; padding:8px 14px; }
    .app-shell .sidebar { position:fixed; inset:0 auto 0 0; width:min(86vw,340px); height:100vh; height:100dvh; min-height:0; transform:translateX(-105%); visibility:hidden; transition:transform .18s ease; padding-top:max(16px,env(safe-area-inset-top)); padding-bottom:max(20px,env(safe-area-inset-bottom)); }
    body.nav-open .sidebar { transform:translateX(0); visibility:visible; }
    body.nav-open { overflow:hidden; }
    .mobile-menu-close { display:flex; margin-bottom:14px; flex-shrink:0; min-height:44px; background:#1e293b; border-color:#475569; }
    .menu-backdrop:not([hidden]) { display:block; position:fixed; inset:0; width:100%; height:100vh; height:100dvh; z-index:1240; border:0; padding:0; border-radius:0; background:#000a; }
    .app-shell .content { margin-left:0; padding:18px 14px; padding-bottom:calc(92px + env(safe-area-inset-bottom)); width:100%; }
    .content-centered { padding-bottom:18px; }
    .mobile-bottom-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:1190; padding:6px 8px; padding-bottom:max(6px,env(safe-area-inset-bottom)); background:#111827; border-top:1px solid #334155; gap:4px; }
    .mobile-bottom-nav a { display:flex; min-height:50px; align-items:center; justify-content:center; color:#cbd5e1; font-size:12px; font-weight:700; border-radius:8px; text-align:center; }
    .mobile-bottom-nav a[aria-current="page"] { background:#1e3a5f; color:#bae6fd; }
    .mobile-bottom-nav .mobile-create { background:#2563eb; color:#fff; }
    .content input:not([type=checkbox]):not([type=color]):not([type=file]):not([type=hidden]), .content select, .content textarea { font-size:16px; min-height:48px; }
    .content button, .content .btn { min-height:44px; }
    .content .btn-small { min-height:44px; }
    .content .panel, .content .tatico-panel { min-width:0; padding:18px 14px; }
    .content .page-title h1 { font-size:1.6rem; }
    .content .page-actions { width:100%; gap:8px; }
    .content .page-actions .btn { flex:1 1 140px; }
    .content .record-tabs { flex-wrap:nowrap; overflow-x:auto; max-width:100%; padding:3px 0 8px; white-space:nowrap; }
    .content .record-tabs a { flex:0 0 auto; display:flex; min-height:44px; align-items:center; }
    .content .record-grid { grid-template-columns:minmax(0,1fr); }
    .content summary { min-height:44px; padding:10px 0; }
    .content .map { height:440px; min-height:300px; }
    .content .map-small { height:300px; min-height:260px; }
    .content .actions-row { gap:8px; }
    .content .actions-row .btn, .content .actions-row button { flex:1 1 130px; }
    .content table { display:block; max-width:100%; overflow-x:auto; }
    .content .record-person-row .record-grid { grid-template-columns:minmax(0,1fr); }
    .types-layout { grid-template-columns:1fr!important; }
}
@media(prefers-reduced-motion:reduce) { .app-shell .sidebar { transition:none; } }
