#mobile-nav{display:none}
main{margin:0 auto}
html{scroll-padding-bottom:90px}
body:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}
.project-search{max-width:100%;flex-wrap:wrap}
.project-search label{min-width:0}
.project-search input{max-width:100%}
@media(max-width:740px){
  .top{padding:10px 14px;min-height:68px;gap:8px}
  .brand{min-width:0;font-size:14px;gap:8px}
  .brand strong{max-width:12em;line-height:1.4}
  .brand-icon{width:32px;height:36px}
  .top-right{gap:5px;flex-shrink:0}
  .top-right .local-badge{display:none}
  .top-right .btn{min-height:44px;padding:8px;font-size:12px}
  .layout{min-height:calc(100dvh - 68px);padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .sidebar{display:flex;align-items:center;gap:8px;padding:10px 14px;min-width:0}
  .sidebar #global-nav,.sidebar #project-nav,.sidebar .side-title,.sidebar .sidebar-foot{display:none}
  .sidebar #project-picker{min-height:44px;max-width:none;width:auto;flex:1;margin:0;min-width:0;font-size:16px}
  .sidebar #manage{min-height:44px;white-space:normal;padding:6px;width:104px;font-size:12px}
  main{padding:18px 14px 26px;overflow-wrap:anywhere;margin:0;max-width:100%;width:100%}
  .btn{min-height:44px}
  input,select,textarea{font-size:16px;min-height:44px}
  input[type=checkbox],input[type=radio]{min-height:22px;min-width:22px}
  .project-controls,.project-search{gap:8px;width:100%}
  .project-filter{min-width:0;flex:1 1 130px}
  .project-filter select{width:100%}
  .project-search label{flex:1;min-width:0}
  .project-columns{grid-template-columns:minmax(0,1fr)}
  .project-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-detail-grid{grid-template-columns:minmax(0,1fr)}
  .project-heading-actions{max-width:100%;flex-wrap:wrap}
  .project-table,.table-wrap,.tbwrap{max-width:100%;overscroll-behavior-x:contain}
  .project-table table{min-width:560px}
  .project-dialog,dialog{max-height:calc(100dvh - 28px);width:calc(100vw - 24px)}
  .project-fields{grid-template-columns:minmax(0,1fr)}
  #notice{bottom:calc(84px + env(safe-area-inset-bottom,0px));right:12px;left:12px;max-width:none;z-index:50}
  #mobile-nav{display:grid;border-top:1px solid var(--line);box-shadow:0 -3px 14px #153d3409;padding:5px 4px calc(5px + env(safe-area-inset-bottom,0px));height:calc(70px + env(safe-area-inset-bottom,0px))}
  #mobile-nav a,#mobile-nav button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-height:54px;color:var(--muted);background:transparent;border:0;font-size:12px;border-radius:8px;padding:3px}
  #mobile-nav a>span:first-child,#mobile-nav button>span:first-child{font-size:21px;line-height:24px}
  #mobile-nav [aria-current=page]{background:#e2f0e7;color:#0c513d;font-weight:700}
  #mobile-menu{margin:auto auto calc(82px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 120px)}
  #mobile-menu header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
  #mobile-menu h2{font-size:18px;margin:0}
  #mobile-menu h3{font-size:13px;color:var(--muted);margin:14px 0 8px}
  #mobile-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #mobile-menu nav a{display:flex;align-items:center;gap:8px;min-height:48px;padding:9px;background:#f0f5f1;border-radius:8px;font-size:13px}
  #mobile-menu nav a.current{background:#e2f0e7;color:#0c513d;font-weight:700}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
