/* Presentation-only mobile overrides. Desktop rules remain unchanged. */
.mobile-nav-backdrop,.mobile-nav-close{display:none}
@media(max-width:900px){
 html,body{max-width:100%;overflow-x:hidden}#app{height:100dvh;width:100%}#app .shell{width:100%!important;margin-left:0!important;min-width:0}#app main,#app.sidebar-collapsed main{padding:18px 14px 28px;min-width:0;overscroll-behavior:contain}
 #app aside,#app.sidebar-collapsed aside,#app.sidebar-peek aside{position:fixed;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;z-index:40;transform:translateX(-100%);visibility:hidden;padding-top:14px;overflow:auto;transition:transform .18s ease,visibility .18s}
 #app.mobile-nav-open aside{transform:translateX(0);visibility:visible}#app .sidebar-edge,#app .sidebar-pin{display:none!important}.mobile-nav-backdrop{position:fixed;inset:0;background:#082d5766;border:0;border-radius:0;z-index:39;padding:0}#app.mobile-nav-open .mobile-nav-backdrop{display:block}.mobile-nav-close{display:block;position:absolute;right:12px;top:12px;width:36px;height:36px;padding:0;border:1px solid #ffffff55;background:transparent;color:white;font-size:24px}#app aside .brand{padding:24px 26px 12px}#app aside .sidebar-art,#app aside .sidebar-bottom>strong,#app aside .sidebar-bottom>p{display:none}#app aside .sidebar-bottom{margin-top:auto;padding-top:16px}#nav button{min-height:44px}
 #app .shell>header{min-height:64px;height:auto;padding:10px 14px;gap:8px;flex-shrink:0}#sidebar-toggle{padding:8px;min-width:40px;min-height:40px;margin-right:0}#breadcrumb{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile{gap:6px;min-width:0}.profile .chevron{display:none}.profile>div{max-width:110px;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:11px}.profile small{font-size:10px}.profile .avatar{width:32px;height:32px}
 .page-head{gap:12px;flex-wrap:wrap;margin-bottom:18px}.page-head h1,h1{font-size:25px}.page-head p{font-size:12px}.actions{flex-wrap:wrap;gap:8px}.panel-head{padding:14px;gap:10px;flex-wrap:wrap}.panel-head h2{font-size:15px}.panel{min-width:0}.grid-two,.detail-grid,.info-grid{grid-template-columns:minmax(0,1fr);gap:14px}.detail-grid>div,.info-grid>section,.overview-summary{min-width:0}
 .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.kpi{min-width:0}.kpi strong{font-size:22px}.kpi small{font-size:9px}.kpi .icon{display:none}.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters label:nth-last-of-type(1){display:block!important}.filters label:first-child{grid-column:1/-1}.filters input,.filters select{width:100%;min-width:0}.workbook-bar{flex-wrap:wrap;gap:8px}.workbook-bar select,.workbook-picker{max-width:100%;min-width:0;width:100%}.workbook-picker summary{overflow-wrap:anywhere}.workbook-picker-menu{max-width:calc(100vw - 40px)}
 .hero{padding:18px;gap:14px}.agency-logo{width:54px;height:54px;font-size:22px}.hero-body{min-width:0;flex:1}.hero-title{display:block}.hero-title h2{font-size:19px;overflow-wrap:anywhere}.hero-title .actions{max-width:none;margin-top:12px}.hero-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin-top:18px}.hero-meta>div{min-width:0}.hero-meta strong{overflow-wrap:anywhere}.info-row{grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px}.info-row strong{min-width:0;overflow-wrap:anywhere}.timeline{max-height:360px;overflow:auto}.agency-progress{gap:10px;padding:10px;min-height:56px}.agency-progress-field{width:140px;flex-basis:140px}.progress-step .badge{font-size:10px}
 .tabs,.report-tabs{display:flex;overflow-x:auto;flex-wrap:nowrap;max-width:100%;scrollbar-width:none}.tabs>button,.report-tabs>button{white-space:nowrap;flex-shrink:0;padding:12px}.tabs::-webkit-scrollbar,.report-tabs::-webkit-scrollbar{display:none}.table-wrap,.grid-scroll,.report-table{overflow:auto;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}.table-footer,.report-pager{flex-wrap:wrap;gap:10px;padding:12px}.table-footer>span{font-size:11px}.grid-tools{flex-wrap:wrap;margin-left:0;gap:6px}.grid-tools button{padding:8px;font-size:11px}.grid-scroll{max-height:65dvh;min-height:200px}
 #grid-stage.expanded{inset:0;padding:10px;height:100dvh;z-index:30}.expanded .filters{flex-shrink:0}.expanded .table-panel{min-height:230px}.expanded .panel-head{padding:10px}.expanded .table-footer{padding:8px}.column-resizer{width:12px}
 dialog{width:calc(100vw - 24px);max-width:620px;max-height:calc(100dvh - 24px);padding:20px;overflow:auto}dialog h2{font-size:20px}dialog .form-row{grid-template-columns:1fr;gap:12px}dialog .actions{flex-wrap:wrap}dialog label{min-width:0}.checklist{max-height:50dvh;overflow:auto}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;max-width:100%}input[type=checkbox],input[type=radio]{min-width:18px;min-height:18px}.inline-validation{font-size:16px}#content .validation-trigger,#content .vh-history-button,#content .field-edit{min-width:32px;height:32px}.validation-trigger{line-height:32px}.validation-menu{max-width:calc(100vw - 16px)}.validation-menu [role=option]{min-height:40px}.validation-history{max-width:calc(100vw - 16px)}
 .reports-page .overview-top,.reports-page .overview-tables{grid-template-columns:minmax(0,1fr)}.reports-page .overview-cards,.reports-page .report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reports-page .overview-datebar,.reports-page .report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.reports-page .report-filters>label{min-width:0;width:auto;flex:auto}.reports-page .report-filters input,.reports-page .report-filters select{width:100%;min-width:0}.reports-page .overview-date-legend,.reports-page .overview-presets,.reports-page .report-presets{grid-column:1/-1;flex-wrap:wrap}.reports-page .report-icon{width:36px;height:36px}.reports-page .report-table{height:300px}.reports-page .report-snapshot{overflow-wrap:anywhere}.reports-page .overview-chips{flex-wrap:wrap}.reports-page .panel-head{padding:12px}.report-expand-dialog{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;padding:8px}.report-expand-dialog .report-table{height:auto;flex:1}.report-expanded-context{font-size:10px}.report-column-list label{min-height:40px}
 .toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:none;width:auto;font-size:12px}.busy{max-width:calc(100vw - 24px)}.pairing-qr{padding:12px}.pairing-qr svg{margin:auto}.login{display:flex;flex-direction:column;min-height:100dvh}.login-art{padding:24px;min-height:0}.login-art .brand{padding:0;margin:0}.login-art .brand-logo{width:125px}.login-art h1,.login-art p,.login-art .building{display:none}.login-form{width:100%;max-width:480px;margin:0 auto;padding:32px 24px}.login-form h1{font-size:25px}.login-form>p{font-size:13px}.login-form input:not([type=checkbox]){min-height:46px}.login-form .full{min-height:46px}
}
@media(max-width:480px){#app main,#app.sidebar-collapsed main{padding:14px 10px 24px}.profile>div{display:none}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{display:block;padding:16px}.agency-logo{display:none}.hero-title .actions button{padding:8px 10px;font-size:11px;min-height:38px}.hero-meta{font-size:12px}.agency-progress{flex-wrap:wrap}.agency-progress-track{flex-basis:100%;order:2}.agency-progress-field{margin-left:auto;width:150px;flex-basis:150px;font-size:12px}.form-row{grid-template-columns:1fr}.panel-head .actions{width:100%}.report-table-title{min-width:0}.report-table-actions{margin-left:auto}.report-table-title h2{font-size:13px}.quick-actions{grid-template-columns:1fr 1fr}.info-row{font-size:12px}.workbook-picker summary{font-size:12px}.report-filters .overview-category{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){#app aside{transition:none}}

@media(max-width:900px){.reports-page .overview-range-note{grid-column:1/-1;font-size:10px;line-height:1.6}.reports-page #overview-apply-dates{justify-self:end;align-self:end;border:1px solid #dce5ef;background:#f4f8fe}.reports-page .overview-section-label{gap:8px;flex-wrap:wrap}.reports-page .overview-section-label>span{font-size:10px}}
