/* Fluid layout and touch targets; keep pinch zoom available. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.content,.panel,.cards,.two-col,.form-grid,.cal-layout,.cal-layout>*,.finance{min-width:0}
.table-wrap{max-width:100%;overscroll-behavior-x:contain}
.doc span,.detail-profile>div,.cal-task>span,.card-footer>span{min-width:0;overflow-wrap:anywhere}
.detail-profile h2,.card h3,.setting-row b,.account-label{overflow-wrap:anywhere}
@media(max-width:900px){
 body{min-width:0}
 main{margin-left:0;width:100%}
 aside{width:min(290px,calc(100% - 48px));height:100%;height:100dvh;transform:translateX(-100%);transition:transform .2s;overflow-y:auto;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 .nav-open aside{transform:translateX(0)}
 .nav-open .mobile-shade{display:block;position:fixed;inset:0;background:#0005;z-index:19}
 .mobile-menu-bar{display:flex;padding:calc(8px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
 .mobile-menu-bar .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;font-size:24px}
 .content{width:100%;padding:20px max(16px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .page-head{flex-wrap:wrap;gap:16px;align-items:flex-start}
 .page-head>div{min-width:0;flex:1 1 220px}
 .page-head h1{font-size:28px}
 .page-head p{max-width:none}
 .page-head>.btn{margin-left:0;white-space:normal}
 .btn,.drawer .close,nav button,.tabs button{min-height:44px}
 .drawer .close{min-width:44px}
 .drawer{height:100%;height:100dvh;max-width:100%;overscroll-behavior-y:contain}
 .drawer-head{padding:calc(18px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 18px max(16px,env(safe-area-inset-left))}
 .drawer-body{padding:20px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 body input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body select,body textarea{font-size:16px!important;max-width:100%;min-width:0}
 input[type=date],input[type=week],input[type=time]{min-height:44px}
 .search{min-width:0;flex:1 1 100%;max-width:100%}
 .toolbar{flex-wrap:wrap}
 .toolbar select{max-width:100%}
 .table-wrap{width:100%}
 .stats,.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stat{min-width:0;padding:18px 14px}
 .stat-label{gap:6px;line-height:1.4}
 .stat-value{overflow-wrap:anywhere}
 .two-col,.cards{grid-template-columns:minmax(0,1fr)}
 .panel-top,.toolbar,.setting-row{padding:16px}
 .setting-row{gap:12px}
 .setting-row>div{flex:1 1 180px}
 .setting-row .btn{white-space:normal}
 .attention-list .activity{flex-wrap:wrap}
 .attention-list .activity>.btn{margin-left:auto}
 .cloud-status{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));max-width:none;width:auto;border-radius:12px;line-height:1.5;overflow-wrap:anywhere;text-align:center}
 .toast{left:50%;width:max-content;max-width:calc(100% - 32px);bottom:calc(70px + env(safe-area-inset-bottom));line-height:1.5;overflow-wrap:anywhere}
 .auth-shell{padding:calc(24px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
 .auth-card{min-width:0;max-width:100%}
 .auth-remember{min-height:44px}
 .cal-month{min-width:0;flex-wrap:wrap;justify-content:center}
 .cal-month h3{min-width:0}
 .cal-switch{flex-wrap:wrap}
 .cal-task>span{overflow-wrap:anywhere}
 .finance.panel{min-width:0}
}
@media(max-width:520px){
 .page-head>.btn{width:100%}
 .auth-card{padding:28px 20px}
 .auth-card h1{font-size:clamp(25px,7vw,29px)}
 .auth-brand{margin-bottom:26px}
 .cal-banner,.cal-controls,.cal-agenda{padding:18px 14px}
 .cal-controls{gap:12px}
 .cal-month{width:100%;justify-content:space-between;gap:4px}
 .cal-month h3{font-size:16px}
 .cal-controls button{min-height:44px;padding:9px}
 .cal-switch{width:100%}
 .finance.panel{padding:16px 12px}
 .finance .calculator-panel{padding:16px 12px}
 .finance .calc-display{font-size:28px!important}
 .finance-result-hero{padding:20px 16px}
 .finance-unit-input{grid-template-columns:minmax(0,1fr) 76px}
 .contractor-card{padding:12px}
 .document-brand{flex-wrap:wrap}
 .generated-document{padding:16px 12px}
 .signature-columns{gap:14px}
}
