/* v113 MOBILE — compact employee layouts, native bottom sheets and touch sizes.
   The existing sidebar drawer and bottom navigation remain the navigation model. */
@media (max-width:900px) {
 #app .content .u113-home,#app .content .u113-academy,#app .content .u113-people,#app .content .u113-reader,#app .content .u113-livvy { --u113-gap:18px; }
 #app .u113-home-layout { grid-template-columns:minmax(0,1fr); }
 #app .u113-home-rail { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 #app .u113-home-rail>#u113-inbox { grid-column:1/-1; }
 #app .u113-academy-layout,#app .u113-livvy-layout { grid-template-columns:minmax(0,1fr); }
 #app .u113-academy-rail,#app .u113-livvy-rail { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 #app .u113-reader-layout { display:flex; flex-direction:column; gap:18px; }
 #app .u113-reader-rail { display:contents; }
 #app .u113-reader-path { order:1; width:100%; }
 #app .u113-reader-main { order:2; width:100%; }
 #app .u113-reader-stats { order:3; width:100%; }
 #app .u113-reader-checklist { order:4; width:100%; }
 #app .u113-reader-criteria { order:5; width:100%; }
 #app .content .u113-reader .ts-stepper { flex-direction:row; overflow:auto; scroll-snap-type:x proximity; padding:10px!important; }
 #app .content .u113-reader .ts-step { flex:0 0 160px; scroll-snap-align:center; }
 #app .u113-reader-criteria { grid-column:1/-1; }
 #app .u113-reader .ts-foot { bottom:calc(62px + env(safe-area-inset-bottom)); }
 #app .u113-directory[data-layout=grid] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #app .u113-directory-head,#app .u113-person { grid-template-columns:minmax(155px,1.3fr) minmax(105px,1fr) 85px 125px; gap:12px; }
}
@media (max-width:650px) {
 #app :is(.ui111-menu-button,.lmh-theme-toggle,.notification-bell,.topbar-signout) { width:44px!important; min-width:44px!important; height:44px!important; min-height:44px!important; flex:none; }
 #app .user-chip-btn { min-width:44px; min-height:44px!important; }
 #app .global-search-input { min-height:44px!important; height:44px!important; }
 #app .app-shell .content { padding:20px 16px calc(90px + env(safe-area-inset-bottom))!important; }
 #app .u113-page-heading { display:block; margin:2px 0 22px; }
 #app .u113-page-heading h1 { font-size:29px; }
 #app .u113-page-heading>div>p:last-child { font-size:12px; line-height:1.65; }
 #app .u113-heading-meta { align-items:flex-start; flex-direction:row; flex-wrap:wrap; gap:12px; margin-top:18px; font-size:10px; }
 #app .u113-heading-meta>span { flex:1 1 100%; }
 #app .u113-heading-meta .u113-workday { min-height:32px; }
 #app .u113-heading-meta .ui111-workspace-tools { margin-left:auto; }
 #app .u113-heading-meta .p108-button { min-height:36px; font-size:10px; }
 #app .u113-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
 #app .u113-metric { padding:17px 15px; border-radius:12px; }
 #app .u113-metric-label { font-size:10px; gap:7px; }.u113-metric-label svg { width:16px; height:16px; }
 #app .u113-metric strong { font-size:30px; margin:13px 0 8px; }
 #app .u113-metric-detail { font-size:10px; gap:5px; }
 #app .u113-day-brief { padding:17px; gap:11px; flex-wrap:wrap; margin-bottom:20px; }
 #app .u113-day-brief>div { flex:1 1 calc(100% - 40px); }
 #app .u113-day-brief b { font-size:12px; }.u113-day-brief p { font-size:11px; }
 #app .u113-day-brief>a { margin-left:35px; min-height:30px; font-size:11px; }
 #app .u113-home-rail { grid-template-columns:minmax(0,1fr); }
 #app .u113-panel-head { padding:18px; gap:12px; }
 #app .u113-panel-head h2 { font-size:15px; }
 #app .u113-panel-head .p108-button { min-height:40px; font-size:10px; }
 #app .u113-panel-head .u113-text-link { font-size:10px; max-width:90px; }
 #app .u113-filter-row { gap:3px; padding:10px; justify-content:space-between; }
 #app .u113-filter-row button { min-height:42px; padding:7px; font-size:10px; gap:4px; }
 #app .u113-priority { padding:18px; gap:11px; flex-wrap:wrap; }
 #app .u113-priority-icon { padding:8px; }
 #app .u113-priority>div { flex-basis:calc(100% - 48px); }
 #app .u113-priority h3 { font-size:13px; }
 #app .u113-priority p { font-size:11px; }
 #app .u113-due { margin-left:45px; padding-top:0; }
 #app .u113-learning-card { padding:21px 18px; flex-wrap:wrap; gap:15px; }
 #app .u113-learning-mark { width:42px; height:46px; }
 #app .u113-learning-mark svg { width:23px; height:23px; }
 #app .u113-learning-copy { flex:1 1 100%; }
 #app .u113-learning-copy h3 { font-size:20px; }
 #app .u113-actions .p108-button { min-height:44px; flex:1 1 auto; font-size:11px; }
 #app .u113-services { gap:10px; }
 #app .u113-services>a { min-height:54px; font-size:12px; }
 #app .u113-approvals>a { padding:19px 18px; }
 #app .u113-panel-foot { min-height:48px; }
 #app .content :is(.u113-academy,.u113-people,.u113-livvy) h1 { font-size:27px!important; }
 #app .content .u113-academy .c107-header,#app .content .u113-people .c107-header { flex-wrap:wrap; gap:16px; }
 #app .content .u113-academy .c107-header>.p108-button { min-height:44px; }
 #app .content .u113-academy .academy-resume { padding:22px 19px!important; flex-wrap:wrap; gap:14px; }
 #app .content .u113-academy .academy-resume-body { flex:1 1 calc(100% - 70px); }
 #app .content .u113-academy .academy-resume-body b { font-size:17px; }
 #app .content .u113-academy .academy-resume-cta { min-height:44px; margin-left:0; width:100%; justify-content:center; }
 #app .content .u113-academy .academy-toolbar { padding:15px!important; }
 #app .content .u113-academy .academy-search input { font-size:16px!important; min-height:46px; }
 #app .content .u113-academy .academy-pill { min-height:42px; padding:8px!important; font-size:10px; }
 #app .content .u113-academy .academy-pill-row { gap:5px; flex-wrap:wrap; }
 #app .content .u113-academy .academy-row { padding:18px 16px!important; }
 #app .content .u113-academy .academy-row-main small { display:block!important; }
 #app .content .u113-academy .academy-group-head { padding:18px 16px!important; }
 #app .u113-academy-rail { grid-template-columns:minmax(0,1fr); }
 #app .u113-directory-summary { gap:12px; padding:15px 0; margin-bottom:18px; }
 #app .u113-directory-summary>div { gap:6px; font-size:10px; flex:1; flex-wrap:wrap; }
 #app .u113-directory-summary>div>span { flex-basis:100%; }
 #app .u113-directory-summary strong { font-size:19px; }
 #app .content .u113-directory-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 #app .u113-directory-search { grid-column:1/-1; }
 #app .u113-directory-toolbar input { font-size:16px!important; }
 #app .u113-directory-toolbar select { font-size:12px!important; }
 #app .u113-view-switch { display:none; }
 #app .u113-directory-caption small { display:none; }
 #app .u113-directory,#app .u113-directory[data-layout=grid] { display:grid; grid-template-columns:minmax(0,1fr); border:0; background:none; gap:12px; overflow:visible; }
 #app .u113-directory-head { display:none; }
 #app .u113-directory .u113-person,#app .u113-directory[data-layout=grid] .u113-person { padding:19px; border:1px solid var(--lmh-line); border-radius:12px; background:var(--lmh-surface); display:grid; grid-template-columns:minmax(0,1fr) auto; gap:13px; }
 #app .u113-person-identity { grid-column:1/-1; min-height:48px; }
 #app .u113-person-identity b { font-size:14px; }
 #app .u113-person-role { grid-column:1/-1; font-size:12px; }
 #app .u113-directory .u113-person-actions { padding:0; border:0; }
 #app .u113-person-actions .p108-button { min-height:44px; padding:9px 12px; font-size:11px; }
 #app .u113-person-actions .u113-icon-button { width:38px; height:44px; }
 .u113-person-dialog { inset:auto 0 0; width:100%; max-width:100%; height:auto; max-height:92dvh; border:0; border-radius:20px 20px 0 0; }
 .u113-person-dialog::before { content:""; width:36px; height:4px; background:var(--lmh-line-strong); border-radius:4px; margin:10px auto 0; flex:none; }
 .u113-person-dialog>header { padding:13px 20px; }.u113-person-dialog .u113-icon-button { width:44px; height:44px; }
 .u113-profile-content { padding:23px; }.u113-profile-avatar { width:62px; height:62px; font-size:21px; }
 .u113-profile-content section { margin-top:23px; padding-top:20px; }
 .u113-person-dialog footer { padding:17px 22px calc(17px + env(safe-area-inset-bottom)); }
 #app .content .u113-reader .ts-head { padding:20px!important; margin-bottom:18px!important; }
 #app .content .u113-reader .ts-head-main { flex-wrap:wrap; gap:14px; }
 #app .content .u113-reader .ts-head h1 { font-size:23px; }
 #app .content .u113-reader .ts-head p { font-size:12px; }
 #app .content .u113-reader .ts-step { min-width:145px; min-height:65px; }
 #app .u113-reader .ts-step-copy b { font-size:11px; }
 #app .u113-reader .ts-step-copy small { font-size:9px; }
 #app .u113-reader-checklist { padding:17px; }
 #app .u113-reader-checklist ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px 14px; }
 #app .u113-reader-checklist li { font-size:10px; gap:5px; flex-wrap:wrap; }
 #app .u113-reader-checklist li>b { margin-left:19px; }
 #app .content .u113-reader .ts-body { padding:20px 17px!important; }
 #app .u113-reader .ts-body :is(p,li) { font-size:13px; line-height:1.85; }
 #app .u113-reader .ts-body textarea { font-size:16px!important; }
 #app .u113-reader .ts-foot { flex-direction:row; padding:12px 0!important; bottom:calc(62px + env(safe-area-inset-bottom)); }
 #app .u113-reader .ts-foot .btn { min-height:46px; height:auto; font-size:11px; padding:10px 12px; }
 #app .u113-livvy-rail { grid-template-columns:minmax(0,1fr); }
 #app .u113-livvy .livvy-thread { padding:19px 16px!important; min-height:360px; max-height:none; }
 #app .u113-livvy .livvy-suggestions { grid-template-columns:minmax(0,1fr); }
 #app .u113-livvy .livvy-suggestion { min-height:56px; padding:17px; }
 #app .u113-livvy .livvy-toolbar select { min-height:44px; }
 #app .u113-livvy .livvy-toolbar button { min-height:40px; }
 #app .u113-livvy .livvy-composer { padding:16px!important; }
 #app .u113-livvy .livvy-composer textarea { font-size:16px!important; }
 #app .content .u113-certificate { padding:22px!important; flex-wrap:wrap; gap:18px; }
 #app .u113-certificate>div { flex-basis:100%; }.u113-certificate .btn { min-height:46px; width:100%; }
 #app .content .p108-table-wrap:has(.u113-mobile-records) { overflow:visible; border:0; background:none; }
 #app .content .u113-mobile-records { display:block; min-width:0!important; width:100%; }
 #app .content .u113-mobile-records thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 #app .content .u113-mobile-records tbody { display:block; }
 #app .content .u113-mobile-records tr { display:block; padding:14px 18px; border-bottom:1px solid var(--lmh-line); }
 #app .content .u113-mobile-records td { display:block; width:100%; padding:7px 0!important; border:0!important; white-space:normal!important; overflow-wrap:anywhere; }
 #app .content .u113-mobile-records td::before { content:attr(data-label); display:block; margin-bottom:5px; color:var(--lmh-text-3); font-size:10px; font-weight:550; }
 #app .content .u113-mobile-records td .p108-button { min-height:44px; }
 body.ui113 .p108-overlay { align-items:flex-end!important; padding:0!important; }
 body.ui113 .p108-overlay .p108-dialog { width:100%!important; max-width:100%!important; max-height:94dvh!important; border-radius:20px 20px 0 0!important; border-bottom:0; }
 body.ui113 .p108-dialog::before { content:""; width:36px; height:4px; background:var(--lmh-line-strong); border-radius:4px; margin:10px auto 0; flex:none; }
 body.ui113 .p108-dialog>header { padding:14px 20px!important; }
 body.ui113 .p108-dialog>header h2 { font-size:17px; line-height:1.4; }
 body.ui113 .p108-dialog .p108-dialog-body { padding:20px!important; }
 body.ui113 .p108-dialog footer { padding:15px 20px calc(15px + env(safe-area-inset-bottom))!important; }
 body.ui113 .p108-dialog :is(button,a.p108-button) { min-height:44px; }
 body.ui113 .p108-dialog :is(input,select,textarea) { font-size:16px!important; }
 body.ui113 .p108-dialog .p108-actions { display:flex; flex-wrap:wrap; gap:9px; }
 body.ui113 .p108-dialog .p108-actions>.p108-button { flex:1 1 130px; }
 #app .u113-review-card { flex-wrap:wrap; gap:14px; padding:20px 18px; }
 #app .u113-review-copy { flex-basis:calc(100% - 60px); }
 #app .u113-review-amount { margin-left:56px; font-size:16px; }
 #app .u113-review-card>.p108-button { min-height:44px; margin-left:auto; }
 #app .u113-review-page .u113-filter-row { flex-wrap:wrap; justify-content:flex-start; gap:5px; }
 body.ui113 .p108-dialog .p108-readonly>.p108-dialog-body>.p108-actions:last-child { position:sticky; bottom:-20px; background:var(--lmh-surface); padding:15px 0; margin-bottom:-20px; border-top:1px solid var(--lmh-line); }
 #app .ui111-mobile-bar { padding-bottom:max(6px,env(safe-area-inset-bottom)); }
}
@media (max-width:370px) {
 #app .u113-filter-row button { padding:6px; font-size:9px; }
 #app .u113-metric { padding:15px 12px; }
 #app .u113-metric-label { font-size:9px; }
 #app .u113-day-brief { padding:15px; }
 #app .u113-directory-summary { gap:8px; }
}
