/* Device presentation only. Desktop theme, accounting and print styles are preserved. */
@media screen {
 .device-menu-close{display:none}
 .device-table-region{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .device-table-region:focus-visible{outline:2px solid var(--primary,#173e35);outline-offset:-2px}
 .device-scroll-hint{display:none}
 .main,.shell,.panel,.panel-body,.grid-main>* , .grid-two>* , .grid-three>*{min-width:0}
 .chart-svg{max-width:100%}
}
@media screen and (max-width:1180px) {
 html{scroll-padding-top:80px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 html body .shell{margin-left:0;min-width:0;width:100%}
 html body .sidebar{position:fixed;top:0;bottom:auto;left:0;width:min(280px,calc(100vw - 48px));height:100vh;height:100dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior-y:contain;z-index:60;visibility:hidden;transform:translateX(-100%);transition:transform .18s ease,visibility .18s}
 html body .sidebar.open{visibility:visible;transform:translateX(0)}
 html body .sidebar .brand-lockup{padding-right:44px;min-height:64px}
 html body .sidebar .brand-title{font-size:22px}
 html body .sidebar .nav-item{min-height:44px;align-items:center;white-space:normal;line-height:1.4}
 html body .sidebar .side-bottom{margin-top:auto;padding-top:20px}
 html body .device-menu-close{display:grid;position:absolute;top:20px;right:9px;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--sideInk,var(--ink));cursor:pointer}
 .device-menu-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
 html body .mobile-shade.show{display:block;position:fixed;inset:0;background:#081a1699;z-index:59;touch-action:none}
 body.device-menu-open{overflow:hidden}
 html body .menu-toggle{display:grid;flex:none;width:44px;height:44px}
 html body .topbar{height:auto;min-height:66px;padding:8px 20px;gap:12px;position:sticky;top:0;z-index:25}
 html body .topbar>.flex{min-width:0;gap:10px}
 html body .topbar .breadcrumb{display:none}
 html body .mobile-brand{display:flex;align-items:center;gap:8px;min-width:0}
 html body .mobile-brand img{width:28px;height:29px;object-fit:contain;flex:none}
 html body .mobile-brand b{white-space:nowrap}
 html body .top-actions{gap:8px;min-width:0;flex-shrink:0}
 html body .topbar .pill{display:none}
 html body .topbar .icon-button{min-width:44px;min-height:44px}
 html body .theme-select{height:44px;min-height:44px;max-width:155px;min-width:0}
 html body .main{padding:24px;max-width:100%;width:100%}
 html body .preview-banner{gap:8px;padding:12px 24px;height:auto;align-items:flex-start;overflow-wrap:anywhere;line-height:1.6}
 .preview-banner>span{min-width:0}.preview-banner button{flex:none}
 html body .heading .spread{gap:16px;flex-wrap:wrap;align-items:flex-start}
 html body .heading-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
 html body .heading-actions .button{min-height:44px;white-space:normal;text-align:center;padding:10px 12px}
 html body #filterbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;align-items:end}
 html body #filterbar>.filter{min-width:0;width:100%;min-height:0}
 html body #filterbar label{line-height:1.4;min-height:18px}
 html body #filterbar select,html body #filterbar .date-input{width:100%;min-width:0;max-width:100%;height:44px;min-height:44px}
 html body #filterbar>#applyFiltersButton{grid-column:1!important}
 html body #filterbar>#resetButton{grid-column:2!important}
 html body #filterbar>#applyFiltersButton,html body #filterbar>#resetButton{min-height:44px;height:auto;white-space:normal}
 html body #appliedCustomDates{grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1/-1}
 html body #filterbar>.filter-meta,html body #filterApplyStatus{grid-column:1/-1;white-space:normal;text-align:left}
 html body .location-toolbar{gap:12px;flex-wrap:wrap;min-width:0;max-width:100%}
 html body .location-control{flex:1 1 320px;min-width:0;width:100%;max-width:100%}
 html body .location-control>div{flex:1;min-width:0}
 html body .location-control select{min-height:44px;width:100%;max-width:100%;min-width:0}
 html body .location-context{min-width:0;overflow-wrap:anywhere}
 html body .grid-main,html body .grid-two,html body .scenario-layout{grid-template-columns:minmax(0,1fr)}
 html body .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 html body .kpi-value{white-space:normal;overflow-wrap:anywhere}
 html body .kpi-foot{height:auto;min-height:26px;line-height:1.5}
 html body .panel-head{gap:12px;flex-wrap:wrap;align-items:flex-start}
 html body .table-toolbar{flex-wrap:wrap;gap:10px;min-width:0}
 html body .table-toolbar input,html body .table-toolbar select{min-width:0;max-width:100%;min-height:44px}
 html body .search-input{min-width:0;max-width:100%}
 html body .table-scroll,html body .table-wrap,html body .table{min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 html body .data-table{min-width:600px}
 .device-table-region[data-device-overflow=true]+.device-scroll-hint{display:block;padding:7px 16px;color:var(--muted);font-size:11px;line-height:1.5}
 html body .pager{flex-wrap:wrap;gap:8px}
 html body .pager button{min-width:44px;min-height:44px}
 html body .chart-wrap{min-width:0;max-width:100%;padding-left:14px;padding-right:14px}
 html body .chart-svg{display:block;width:100%;height:auto;max-width:100%}
 html body .chart-summary{flex-wrap:wrap;gap:10px}
 html body .legend{flex-wrap:wrap;gap:8px}
 html body .brand-mix-body{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
 html body .ring-row{flex:0 0 185px;padding:10px 15px;max-width:100%}
 html body .brand-mix-body .mix-list{flex:1 1 230px;min-width:0;max-width:none;padding:15px}
 html body .mix-row{min-width:0}.mix-name{overflow-wrap:anywhere;min-width:0}
 html body dialog{width:calc(100vw - 32px);max-width:680px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}
 html body #closeDialog{min-width:44px;min-height:44px}
 html body .detail-stat{gap:12px;min-width:0}.detail-stat>span{min-width:0;overflow-wrap:anywhere}
 html body .admin-header{padding:16px 24px;gap:12px;flex-wrap:wrap}
 html body .admin-main{width:calc(100% - 40px);max-width:1200px}
 html body .admin-tabs{flex-wrap:wrap;gap:8px}
 html body .admin-tabs button{flex:1 1 180px;min-height:44px;white-space:normal}
 html body .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body .password-wrap input{min-width:0;min-height:46px}
 html body .password-wrap button{min-height:44px;min-width:54px}
 html body .admin-main .detail-row{flex-wrap:wrap;gap:6px 16px}
 html body .admin-main .badge{white-space:normal;max-width:100%}
 html body .admin-main .button,html body .admin-header button,html body .admin-header .button{min-height:44px}
}
@media screen and (max-width:760px) {
 html body .main{padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
 html body .topbar{padding:8px max(12px,env(safe-area-inset-left));gap:8px}
 html body .topbar>.flex{gap:6px}.top-actions{gap:6px}
 html body .theme-select{max-width:136px;padding:8px;font-size:12px}
 html body .topbar #dataInfoButton{display:none}
 html body .topbar #dashboardAdminTop{display:none}
 html body .preview-banner{padding:10px 16px}
 html body .heading h1{overflow-wrap:anywhere}
 html body .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:14px}
 html body .heading-actions .button{width:100%;min-width:0;font-size:12px;gap:6px}
 html body .heading-actions .button .icon{flex:none}
 html body .kpi-grid{gap:10px}
 html body .kpi{padding:15px 13px;min-width:0}
 html body .kpi-label{min-height:30px;line-height:1.4}
 html body .kpi-value small{display:block;margin:0 0 3px}
 html body .kpi-foot{min-height:30px}
 html body .grid-three{grid-template-columns:minmax(0,1fr);gap:10px}
 html body .mini-kpi{min-width:0}
 html body .filter select,html body .filter input,html body .location-control select,html body .password-wrap input,html body #reportSearch{font-size:16px}
 html body .location-toolbar{padding:12px}
 html body .location-control{flex-basis:100%}
 html body .scope-badge{display:none}
 html body .brand-mix-body{display:block}
 html body .brand-mix-body .ring-row{width:100%;display:flex;justify-content:center}
 html body .donut{width:160px;height:160px;max-width:100%}
 html body .table-toolbar>*{max-width:100%}
 html body .table-toolbar .search{flex:1 1 100%;min-width:0}
 html body .panel-head .right,html body .panel-head>div{min-width:0;max-width:100%}
 html body .source-label,html body .basis-note,html body .chart-foot{overflow-wrap:anywhere}
 html body .location-bar-row{grid-template-columns:80px minmax(24px,1fr) 80px;gap:8px}
 html body .age-bar{gap:8px}.age-bar .label{min-width:0;max-width:40%}
 html body .admin-header{padding:14px 16px}
 html body .admin-main{width:calc(100% - 28px);margin-top:22px}
 html body .admin-main .panel{padding:17px}
 html body .admin-main .narrow{margin:20px auto}
 html body .admin-main .grid-two{display:block}
 html body .admin-main .detail-row>span:last-child{text-align:left;max-width:100%}
 html body .admin-main .status-note{text-align:left}
 html body .admin-main .scope-list{display:block}
 html body .admin-main .stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html body .admin-main .summary-card strong{overflow-wrap:anywhere}
 html body .admin-main .table-wrap table{min-width:460px}
 html body .admin-main .security-form{max-width:none}
 html body .admin-main .admin-tabs button{flex:1 1 calc(50% - 8px);min-width:0;padding:11px 9px;font-size:13px}
 html body #toast,html body .toast{max-width:calc(100vw - 32px);overflow-wrap:anywhere;white-space:normal;bottom:calc(16px + env(safe-area-inset-bottom))}
}
@media screen and (max-width:380px) {
 html body .mobile-brand b{font-size:10px;letter-spacing:0}
 html body .theme-select{max-width:117px;font-size:11px}
 html body .admin-header .brand{gap:9px}
 html body .admin-header .header-actions{width:100%;justify-content:flex-end}
 html body .admin-main .summary-grid{grid-template-columns:minmax(0,1fr)}
 html body .kpi-grid{grid-template-columns:minmax(0,1fr)}
}
@media screen and (prefers-reduced-motion:reduce){html body .sidebar{transition:none}}
@media print{.device-menu-close,.device-scroll-hint{display:none!important}}
