html {-webkit-text-size-adjust:100%;}
.mobile-install {margin:16px;display:none;}
@media(max-width:860px) and (pointer:coarse) {.mobile-install {display:inline-flex;}}
@media (display-mode:standalone) {.mobile-install {display:none!important;}}
.mobile-table-scroll {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.install-dialog {width:min(420px,calc(100vw - 32px));border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);padding:24px;}
.install-dialog::backdrop {background:#0008;}
.install-dialog ol {padding-left:22px;line-height:1.8;}
@media (display-mode:standalone) {.mobile-install {display:none;}}
@media (max-width:860px) {
 .layout {min-height:100dvh;}
 .main {width:100%;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));}
 .sidebar {width:min(290px,85vw);height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;}
 body.nav-open {overflow:hidden;}
 .burger {width:44px;height:44px;flex-shrink:0;}
 .sidebar nav a,.logout {min-height:44px;}
 .topbar {gap:10px;padding-bottom:14px;}
 .topbar h1 {font-size:20px;overflow-wrap:anywhere;}
 .topbar-actions {flex-basis:100%;}
 .grid.two,.form-grid {grid-template-columns:minmax(0,1fr);}
 .grid>* {min-width:0;}
 .card {min-width:0;overflow-wrap:anywhere;}
 .btn {min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
 input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea {font-size:16px!important;min-height:44px;max-width:100%;}
 input[type=checkbox],input[type=radio] {width:20px;height:20px;}
 .table-wrap {margin:0 -16px;padding:0 16px;max-width:calc(100% + 32px);}
 .table-wrap table:not(.stack-table),.mobile-table-scroll table:not(.stack-table) {min-width:600px;}
 .tabs {overflow-x:auto;flex-wrap:nowrap;max-width:100%;}
 .tabs a {white-space:nowrap;min-height:44px;}
 .login-body {min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));}
 .login-card {width:100%;max-width:420px;min-width:0;padding:20px;}
 dialog {max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 40px);overflow:auto;}
 .theme-toggle {min-width:44px;}
}
@media(max-width:380px) {.grid.tiles {grid-template-columns:minmax(0,1fr);}.topbar h1 {font-size:18px;}}

.brand {display:flex;align-items:center;gap:12px;}
.brand-photo {display:block;width:52px;height:52px;object-fit:contain;flex-shrink:0;border-radius:10px;}
.login-brand-photo {display:block;width:96px;height:96px;object-fit:contain;margin:0 auto 20px;border-radius:16px;}
