.mobile-nav-close,.mobile-nav-backdrop{display:none}
@media(max-width:900px){
 :root{--sidebar-width:0px}body>main{margin-left:0;min-width:0;width:100%}
 body>.sidebar{position:fixed;inset:0 auto 0 0;width:min(310px,88vw);height:100dvh;padding:58px 16px 24px;transform:translateX(-105%);visibility:hidden;z-index:101;overflow-y:auto;overscroll-behavior:contain;transition:transform .18s}
 body.nav-expanded{overflow:hidden}body.nav-expanded>.sidebar{width:min(310px,88vw);padding:58px 16px 24px;transform:none;visibility:visible;z-index:101}
 body.nav-expanded>.mobile-nav-backdrop{display:block;position:fixed;inset:0;width:100%;height:100dvh;border:0;border-radius:0;background:#102b4a80;z-index:100}
 .sidebar .mobile-nav-close{display:block;position:absolute;right:12px;top:8px;min-width:44px;min-height:44px;color:white;background:#254c75;border:1px solid #7890ab}
 body>.sidebar .brand strong,body>.sidebar .nav-caption{display:block}.sidebar .brand{justify-content:flex-start;margin:0}.sidebar .nav-caption{margin:20px 12px 12px}.sidebar nav{margin-top:0}.sidebar .side-note{display:block}
 body>.sidebar .nav-group>summary,body.nav-expanded>.sidebar .nav-group>summary{flex-direction:row;text-align:left;gap:10px;padding:10px 12px;font-size:14px;min-height:44px}
 body>.sidebar .nav-group>summary>span{text-align:left;width:auto}.sidebar .nav-group>summary::after{display:block}.sidebar .nav-group[open]>.nav-children{display:block}
 body>.sidebar .nav-children a,body>.sidebar .nav-fund>summary{min-height:44px;font-size:14px;padding-top:10px;padding-bottom:10px}.sidebar .nav-leaves a{min-height:44px}
 body>main>.topbar,body.nav-expanded .topbar{z-index:10;display:flex;gap:10px;padding:8px 12px;align-items:center;min-height:60px}.topbar>div:first-child{min-width:0;flex:1}.topbar p{overflow-wrap:anywhere;margin:0;font-size:12px}.top-label{display:none}
 .top-actions{flex-shrink:0;gap:6px}.nav-toggle{display:block!important;position:static!important;min-height:44px;min-width:48px}.top-actions #login{min-height:44px;font-size:13px}.demo-badge{display:none}
 .workspace{padding:14px 12px;min-width:0;width:100%}.workspace>*{min-width:0;max-width:100%}.page-heading h1{font-size:20px}.page-heading p{font-size:13px}
 .urgent-strip{margin:10px 12px 0;padding:10px 12px}.urgent-heading{margin-bottom:8px}.urgent-top{gap:8px}.urgent-item{min-width:0;padding:6px 8px}.urgent-item strong{font-size:13px}.urgent-heading p{display:none}
 .charts,.charts.funding-charts,.metrics,.policy-grid,.project-grid{grid-template-columns:minmax(0,1fr)}.panel{min-width:0;padding:12px}.panel-head{flex-wrap:wrap;gap:8px}.panel-head small{max-width:100%}
 .project-summary{gap:8px 14px;padding:12px}.project-summary .summary-scope{flex-basis:100%}.project-summary strong{font-size:20px}.project-summary>small{margin-left:0;flex-basis:100%}
 .tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:4px}.tabs button{flex:0 0 auto;white-space:nowrap;min-height:44px}.toolbar{flex-wrap:wrap;min-width:0}.toolbar input,.toolbar select{min-width:0;max-width:100%}
 .table-wrap{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}.table-wrap th,.table-wrap td{font-size:13px}.text-button{overflow-wrap:anywhere}
 .chart{max-width:100%}.donut-wrap{flex-wrap:wrap;justify-content:center}.legend{flex-wrap:wrap}.policy-foot,.detail-actions,.attachment{flex-wrap:wrap}.attachment{overflow-wrap:anywhere}.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 button,input,select,textarea{touch-action:manipulation}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}button,.export{min-height:40px}.form-grid,.fund-row{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.fund-classification{flex-direction:column}
 dialog#detail,dialog#editor,dialog#preview{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;padding-top:52px}
 dialog#detail>div,dialog#editor>div,dialog#preview>div{max-height:calc(100dvh - 70px);padding:0 14px 18px;overflow:auto;min-width:0}dialog>.close{width:44px;height:44px;top:4px;right:6px}dialog h2{font-size:19px;overflow-wrap:anywhere}dialog img,dialog iframe{max-width:100%}
 .learning-frame{height:calc(100dvh - 80px);min-height:480px}.workspace:has(.learning-frame){padding:8px}.toast{max-width:calc(100vw - 24px);overflow-wrap:anywhere}
 footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){body>.sidebar{transition:none}}
