html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { min-width: 320px; overscroll-behavior-y: none; }
[data-lucide] { stroke-width: 1.8; }
input, select, textarea { outline: none; }
input:focus, select:focus, textarea:focus { border-color: #1687f8 !important; box-shadow: 0 0 0 3px rgba(22,135,248,.12); }
.table-scroll { scrollbar-width: thin; scrollbar-color: #cbd5e1 transparent; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
.app-header { padding-top: env(safe-area-inset-top); height: calc(4rem + env(safe-area-inset-top)); }
.app-sidebar { padding-top: calc(1.25rem + env(safe-area-inset-top)); padding-bottom: calc(1.25rem + env(safe-area-inset-bottom)); }
.app-main { padding-top: calc(4rem + env(safe-area-inset-top)); }
.mobile-bottom-nav { padding-bottom: env(safe-area-inset-bottom); }
.mobile-nav-item { display:flex; min-height:4.25rem; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; border-radius:.75rem; font-size:.65rem; font-weight:600; }
.mobile-nav-item:active { background:#f1f5f9; }
.mobile-nav-create { display:flex; min-height:4.25rem; flex-direction:column; align-items:center; justify-content:flex-end; gap:.15rem; padding-bottom:.42rem; color:#0870dc; font-size:.65rem; font-weight:700; }
.mobile-nav-create > span { display:grid; width:3rem; height:3rem; margin-top:-1.15rem; place-items:center; border:4px solid #f8fafc; border-radius:9999px; background:#0870dc; color:#fff; box-shadow:0 8px 20px rgba(8,112,220,.3); }
.pwa-install-banner { bottom:calc(5.25rem + env(safe-area-inset-bottom)); }
[data-pwa-install][hidden], .pwa-install-banner[hidden], #iosInstallDialog[hidden], #tenantDeleteModal[hidden] { display:none !important; }
@media (display-mode: standalone) { .app-header { background:rgba(255,255,255,.98); } }
@media (min-width:1024px) { .app-main { padding-top:4rem; } .pwa-install-banner { bottom:1.25rem; } }
@media (max-width:639px) {
    form[method="get"] { flex-direction:column; }
    form[method="get"] > button { min-height:2.75rem; padding:.7rem 1rem; }
    .app-main h1 { line-height:1.15; }
    .app-main section, .app-main form { scroll-margin-top:calc(5rem + env(safe-area-inset-top)); }
    .table-scroll.mobile-table-container { overflow:visible; }
    .responsive-mobile-table { min-width:0 !important; }
    .responsive-mobile-table thead { display:none; }
    .responsive-mobile-table tbody { display:grid; gap:.75rem; padding:.75rem; background:#f8fafc; }
    .responsive-mobile-table tbody tr { display:grid; gap:.15rem; padding:.75rem; border:1px solid #e2e8f0; border-radius:1rem; background:#fff; box-shadow:0 4px 14px rgba(15,23,42,.04); }
    .responsive-mobile-table tbody td { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:1rem; padding:.48rem .35rem !important; border:0; text-align:right; }
    .responsive-mobile-table tbody td::before { content:attr(data-label); flex:0 0 auto; color:#64748b; font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
    .responsive-mobile-table tbody td > * { min-width:0; max-width:68%; }
    .responsive-mobile-table tbody td:first-child { border-bottom:1px solid #f1f5f9; padding-bottom:.75rem !important; }
    .responsive-mobile-table tbody td:last-child { border-top:1px solid #f1f5f9; padding-top:.65rem !important; }
    .responsive-mobile-table tbody td form { justify-content:flex-end; flex-wrap:wrap; }
}
@media print { aside, header, .no-print { display: none !important; } main { padding: 0 !important; } }

