/* Shared accessible scaling controls. Existing font-size rules are scaled in manage.css/styles.css. */
:root{--ui-scale:1.3}
.ui-scale-controls{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;padding:3px;border:1px solid #cbd7cd;border-radius:11px;background:#eef2ee;color:#25322d;max-width:100%}
.ui-scale-controls button{border:1px solid transparent;border-radius:8px;background:white;color:#25322d;min-width:calc(34px * var(--ui-scale));min-height:calc(34px * var(--ui-scale));padding:3px 7px;font-size:calc(14px * var(--ui-scale));font-weight:750;line-height:1.2}
.ui-scale-controls button:hover:not(:disabled){background:#e1ebe1;border-color:#b9cdbd}
.ui-scale-controls button:disabled{opacity:.38}
.ui-scale-controls button:focus-visible{outline:3px solid #648976;outline-offset:1px}
.ui-scale-controls output{font-size:calc(12px * var(--ui-scale));font-weight:750;min-width:calc(45px * var(--ui-scale));text-align:center;font-variant-numeric:tabular-nums}
.top-controls,.topbar-actions{flex-wrap:wrap}
.top-controls >*,.topbar-actions >*{min-width:0}
.nav button,.nav-link{min-height:calc(42px * var(--ui-scale))}
.btn,.topbar-action{min-height:calc(42px * var(--ui-scale))}
.btn.small{min-height:calc(38px * var(--ui-scale))}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea,.date-picker{min-height:calc(40px * var(--ui-scale))}
textarea{min-height:calc(78px * var(--ui-scale))}
.icon-button{min-width:calc(38px * var(--ui-scale));min-height:calc(38px * var(--ui-scale))}
.topbar-action svg,.icon-button svg{width:calc(16px * var(--ui-scale));height:calc(16px * var(--ui-scale))}
.sidebar .brand-label,.brand small,.overline,.topbar-overline{letter-spacing:.8px}
.table-wrap{max-width:100%;overflow-x:auto}
.table-wrap table{min-width:580px}
.card,.item,.schedule-day{overflow-wrap:anywhere}
.top-controls select,.topbar-actions select{max-width:100%}
@media(min-width:761px){
 .sidebar{overflow-y:auto;overscroll-behavior:contain}
 .sidebar .bottom,.sidebar-bottom{flex-shrink:0}
}
@media(min-width:1101px){
 .shell{grid-template-columns:280px minmax(0,1fr)}
 .app-shell{grid-template-columns:280px minmax(0,1fr)}
}
@media(min-width:761px) and (max-width:1100px){
 .shell,.app-shell{grid-template-columns:225px minmax(0,1fr)}
 .sidebar{padding-left:10px;padding-right:10px}
 .nav button,.nav-link{padding-left:10px;padding-right:10px}
}
@media(max-width:900px){
 .topbar{flex-wrap:wrap}
 .topbar>div:first-child,.top>div:first-child{flex:1 1 100%;min-width:0}
 .topbar-actions{width:100%;justify-content:flex-start;gap:8px}
 .topbar-actions .ui-scale-controls{margin-right:auto}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nav button,.nav-link{font-size:calc(12px * var(--ui-scale))}
 .nav button span,.nav-link span{min-width:0;overflow-wrap:break-word;hyphens:auto}
 .brand-label,.nav-group-title{font-size:calc(9px * var(--ui-scale));letter-spacing:.5px}
}
@media(min-width:761px) and (max-width:900px){.nav button{min-width:0}.brand-label{font-size:calc(8px * var(--ui-scale))}}
@media(max-width:760px){
 .top-controls,.topbar-actions{width:100%;justify-content:flex-start;gap:8px}
 .ui-scale-controls{margin-right:auto}
 .top-controls select,.topbar-actions select{flex:1 1 175px}
 .ui-scale-controls button{min-width:44px;min-height:44px}
 .topbar .icon-button{min-width:44px;min-height:44px}
 .mobile-nav button{min-height:56px;padding:7px 2px;font-size:calc(9px * var(--ui-scale))}.mobile-nav button span{white-space:nowrap;max-width:100%}
 .metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-label,.metric-foot{overflow-wrap:normal;word-break:normal}.metric-label{letter-spacing:.2px}
 .card-header{flex-wrap:wrap}.card-title{overflow-wrap:break-word;hyphens:auto}
 .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
 .table-wrap table{min-width:650px}
 main,.main,.main-area,.content{min-width:0}
}
@media(max-width:390px){
 .top-controls,.topbar-actions{gap:5px}
 .ui-scale-controls{width:auto;max-width:100%}
 .topbar-actions .date-picker{width:145px;max-width:48vw}
}
@media print{
 :root{--ui-scale:1!important}
 .ui-scale-controls{display:none!important}
 .top-controls,.topbar-actions{display:none!important}
 .btn{min-height:0}
 .table-wrap table{min-width:0}
}