.mobile-menu-toggle,.sidebar-overlay{display:none}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
img{max-width:100%}

@media(max-width:900px){
    body:not(.login-page){overflow-x:hidden}
    .sidebar{z-index:1000;width:min(300px,86vw);padding:22px 18px;transform:translateX(-105%);transition:transform .25s ease;box-shadow:16px 0 45px #07162b40}
    .sidebar .brand{display:flex;align-items:center;font-size:18px}
    .sidebar .brand span{font-size:18px;flex:0 0 auto}
    .sidebar .brand b,.sidebar nav span,.sidebar .scope,.sidebar .logout{font-size:inherit}
    .sidebar .scope{font-size:10px}
    .sidebar nav a{justify-content:flex-start;font-size:14px;min-height:42px}
    .sidebar>form:last-of-type .logout{font-size:14px}
    .mobile-menu-open .sidebar{transform:translateX(0)}
    .sidebar-overlay{position:fixed;z-index:999;inset:0;border:0;border-radius:0;background:#07162b80;padding:0}
    .mobile-menu-open .sidebar-overlay{display:block}
    main{margin-left:0!important;width:100%}
    main>header{height:64px;padding:0 22px;justify-content:flex-start;position:sticky;top:0;z-index:100;background:#fff}
    .mobile-menu-toggle{display:inline-flex;align-items:center;gap:8px;background:#eef4ff;color:#183e6d;padding:9px 12px;min-height:42px}
    .mobile-menu-toggle span{font-size:20px;line-height:1}
    main>header>div:first-of-type{margin-left:auto}
    .content{width:100%;max-width:none;padding:24px}
    .grid,.three-forms,.three-finance,.report-columns,.profile-finance-grid{grid-template-columns:1fr!important}
    .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .page-title{flex-wrap:wrap;gap:14px}
    .page-title>div{min-width:0}
    table{min-width:680px}
    button,.button,input,select,textarea{min-height:44px}
}

@media(max-width:600px){
    main>header{padding:0 14px}
    main>header small{display:none}
    main>header strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .mobile-menu-toggle b{display:none}
    .content{padding:16px}
    .panel,.stats article{padding:17px}
    .stats{grid-template-columns:1fr}
    .row{grid-template-columns:1fr!important}
    .page-title{display:flex;align-items:stretch}
    .page-title>div,.page-title button,.page-title .button{width:100%}
    .page-title h1{font-size:22px}
    .form input,.form select,.form textarea{font-size:16px}
    .login-card{width:min(430px,calc(100vw - 28px));padding:26px 20px}
    .login-card h1{font-size:23px}
    table{min-width:620px}
}
