/* Authenticated compact navigation. Desktop and public entry pages keep their layout. */
.suite-mobile-navigation-toggle,.suite-mobile-navigation-close,.suite-mobile-navigation-backdrop,.suite-mobile-profile-button,.suite-mobile-sidebar-title,.suite-mobile-diagnostics{display:none}
@media(max-width:900px){
 html body #app>.shell[data-app]{display:block!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;padding-bottom:0!important;overflow:hidden!important}
 html body #app>.shell[data-app]>.main{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding-top:calc(56px + env(safe-area-inset-top))!important;padding-bottom:0!important;box-sizing:border-box!important;grid-template-rows:minmax(0,1fr)!important}
 html body #app>.shell[data-app]>.main>.topbar{position:fixed!important;inset:0 0 auto 0!important;z-index:120!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px 44px!important;direction:ltr!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;min-height:calc(56px + env(safe-area-inset-top))!important;height:calc(56px + env(safe-area-inset-top))!important;max-height:calc(56px + env(safe-area-inset-top))!important;padding:calc(6px + env(safe-area-inset-top)) 8px 6px!important;box-sizing:border-box!important;min-width:0!important}
 html body #app>.shell[data-app]>.main>.topbar>.title-block{position:absolute!important;left:100px!important;right:100px!important;top:calc(6px + env(safe-area-inset-top))!important;height:44px!important;display:flex!important;grid-column:2!important;grid-row:1!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:auto!important;margin:0!important;text-align:center!important}
 html body #app>.shell[data-app]>.main>.topbar>.title-block>h1{display:block!important;color:inherit!important;max-width:100%!important;min-width:0!important;margin:0!important;font-size:18px!important;line-height:24px!important;letter-spacing:normal!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 html body #app>.shell[data-app]>.main>.topbar>.title-block>p,html body #app>.shell[data-app]>.main>.topbar>.mobile-brand{display:none!important}
 html body #app>.shell[data-app]>.main>.topbar>:is(.suite-mobile-navigation-toggle,.pld-navigation-toggle){grid-column:1!important;grid-row:1!important;justify-self:start!important}
 html body #app>.shell[data-app]>.main>.topbar>:is(.suite-mobile-profile-button,.teamo-profile-button){grid-column:4!important;grid-row:1!important;justify-self:end!important}
 html body #app>.shell[data-app]>.main>.topbar>.tenant-select{display:block!important;flex:1 1 0!important;width:0!important;min-width:0!important;max-width:none!important;height:44px!important;min-height:44px!important;margin:0!important;padding:5px 20px 5px 6px!important;font-size:12px!important;border-radius:8px!important;text-overflow:ellipsis}
 html body #app>.shell[data-app]>.main>.topbar>.hint{flex:1 1 0;min-width:0;font-size:11px;line-height:1.2}
 html body #app>.shell[data-app]>.main>.topbar :is(.suite-mobile-navigation-toggle,.suite-mobile-profile-button,.teamo-profile-button,.pld-navigation-toggle){display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:10px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:inherit!important;box-shadow:none!important}
 html body #app>.shell[data-app]>.main>.topbar :is(.suite-mobile-navigation-toggle,.suite-mobile-profile-button,.teamo-profile-button,.pld-navigation-toggle)>:is(img,svg){width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;max-height:22px!important}
 html body #app>.shell[data-app]>.main>.topbar>.pld-navigation-toggle>span{display:none!important}
 html body #app>.shell[data-app]>.main>.topbar>.inapp-applex-header{grid-column:3!important;grid-row:1!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important;visibility:visible!important;pointer-events:auto!important}
 html body #app>.shell[data-app]>.main>.topbar>.teamo-mobile-app-bundle,html body #app>.shell[data-app]>.main>.topbar>.master-preview-diagnostics{display:none!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:140!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:min(86vw,340px)!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;padding:14px 12px max(16px,env(safe-area-inset-bottom))!important;margin:0!important;border:0!important;border-radius:0 16px 16px 0!important;background:#102842!important;color:#f5f8fb!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;transform:translateX(-110%)!important;visibility:hidden!important;pointer-events:none!important;box-shadow:8px 0 36px #0006!important}
 html body #app>.shell[data-app].suite-mobile-navigation-open>.sidebar{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar::before,html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar::after{display:none!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar>.brand{position:relative!important;display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;width:100%!important;min-height:44px!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar>.brand>img{width:32px!important;height:32px!important;max-width:32px!important;max-height:32px!important;margin:0!important;object-fit:contain!important}
 html body #app>.shell[data-app] .suite-mobile-sidebar-title{display:block!important;flex:1;font-size:16px;overflow-wrap:anywhere}
 html body #app>.shell[data-app] .suite-mobile-navigation-close{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:8px;background:transparent;color:inherit}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar>.nav{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;flex:0 0 auto!important;gap:4px!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar>.mobile-nav{display:none!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar>.sidebar-foot{display:flex!important;flex-direction:column!important;gap:8px!important;flex:0 0 auto!important;position:static!important;width:100%!important;margin:auto 0 0!important;padding:12px 0 0!important;overflow:visible!important;color:inherit!important;background:transparent!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar :is(.nav>button,.nav>a,.app-bundle-list>button,.app-bundle-list>a,.quiet-button){display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:44px!important;width:100%!important;padding:10px 12px!important;margin:0!important;border:1px solid #ffffff26!important;border-radius:8px!important;white-space:normal!important;text-align:start!important;color:inherit!important;background:transparent!important;font-size:13px!important;text-decoration:none}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar :is(.nav>button,.nav>a,.app-bundle-list>button,.app-bundle-list>a).is-active{background:#f4d477!important;color:#10263d!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar .app-bundle-nav{position:static!important;display:block!important;width:100%!important;margin:0!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar .app-bundle-nav>summary{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 12px!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar .app-bundle-list{position:static!important;inset:auto!important;display:grid!important;gap:4px!important;width:100%!important;min-width:0!important;padding:6px!important;box-shadow:none!important;background:transparent!important;color:inherit!important}
 html body #app>.shell[data-app]:not([data-app="plandero"])>.sidebar .inapp-system-menu-panel{position:static!important;inset:auto!important;min-width:0!important;max-height:none!important;padding:6px!important;background:transparent!important;box-shadow:none!important}
 html body #app>.shell[data-app] .suite-mobile-diagnostics{display:block!important}
 html body #app>.shell[data-app] .suite-mobile-diagnostics .master-preview-diagnostics{position:static;max-width:100%;font-size:12px}
 html body #app>.shell[data-app] .suite-mobile-diagnostics .master-preview-switch{display:grid;gap:6px;min-width:0;flex-wrap:wrap}
 html body #app>.shell[data-app] .suite-mobile-diagnostics summary,html body #app>.shell[data-app] .suite-mobile-diagnostics button{min-height:44px}
 html body #app>.shell[data-app]>.suite-mobile-navigation-backdrop{display:none!important}
 html body #app>.shell[data-app].suite-mobile-navigation-open>.suite-mobile-navigation-backdrop{position:fixed!important;inset:0!important;z-index:130!important;display:block!important;width:100%!important;height:100dvh!important;padding:0!important;border:0!important;background:#0008!important}
 html body #app>.shell[data-app] :is(.suite-mobile-navigation-toggle,.suite-mobile-profile-button,.suite-mobile-navigation-close):focus-visible{outline:3px solid #e5b44f!important;outline-offset:1px!important}
 html body #app>.shell[data-app="plandero"] .content{padding:8px 10px 24px!important}
 .pld-workspace .pld-titlebar{margin-bottom:8px!important}
 .pld-workspace .pld-titlebar h1{font-size:1.2rem!important;margin:2px 0 0!important}
 .pld-workspace .pld-titlebar .pld-overline{font-size:max(11px,.72rem);letter-spacing:.04em}
 .pld-workspace .pld-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}
 .pld-workspace .pld-stats>article{min-width:0;padding:10px 8px!important;border-radius:12px}
 .pld-workspace .pld-stats>article>span{display:block;font-size:max(11px,.75rem)!important;line-height:1.3;overflow-wrap:anywhere}
 .pld-workspace .pld-stats>article>strong{display:block;font-size:1.25rem!important;line-height:1.3}
 .pld-workspace .pld-stats>article>small{font-size:max(11px,.72rem)!important;line-height:1.3;overflow-wrap:anywhere}
 .pld-workspace :is(.pld-nav,.pld-page-nav,.pld-project-nav){display:flex!important;flex-wrap:nowrap!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;gap:4px!important;padding-block:3px!important;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .pld-workspace :is(.pld-nav,.pld-page-nav,.pld-project-nav)>.pld-button{flex:0 0 auto!important;min-height:44px!important;padding:8px 12px!important;font-size:max(11px,.75rem)!important;scroll-snap-align:start}
 .pld-workspace .pld-project-context{padding:10px!important}
 .pld-workspace .pld-project-context h1{font-size:1.1rem!important}
 .pld-workspace .pld-panel{padding:12px!important}
}

@media(max-width:900px){.pld-workspace .pld-log-filter-details>summary{display:flex;align-items:center;min-height:44px;font-size:.75rem;cursor:pointer}.pld-workspace .pld-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pld-workspace .pld-log-filters label{min-width:0}.pld-workspace .pld-log-filters :is(input,select){max-width:100%;min-width:0}}

/* R17: the existing mobile assistant stays beside the own-profile action.
   A light header surface needs its own readable foreground in dark device mode.
   Tenant selects moved into a column must not inherit a 200px flex basis. */
@media(max-width:900px){
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.topbar{background:#f7fbff!important;color:#18344d!important}
 html body #app>.shell[data-app]>.main>.topbar>.inapp-applex-header #applex-entry{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
 html body #app>.shell[data-app]>.main>.topbar>.inapp-applex-header .applex-launcher{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:4px!important;margin:0!important;border:0!important;background:transparent!important;color:inherit!important}
 html body #app>.shell[data-app]>.main>.topbar>.inapp-applex-header .applex-mark{width:36px!important;height:36px!important;object-fit:contain!important}
 html body #app>.shell[data-app="teamo"]>.main>.topbar>.teamo-profile-button[data-tmx-own-avatar]{padding:6px!important}
 html body #app>.shell[data-app="teamo"]>.main>.topbar>.teamo-profile-button .tmx-own-profile-picture{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;max-height:32px!important;border-radius:50%!important}
}
html body #app>.shell[data-app]>.sidebar .suite-shell-context-controls{flex:0 0 auto!important;min-height:0!important;height:auto!important;max-height:none!important}
html body #app>.shell[data-app]>.sidebar .suite-shell-context-controls>#tenant-switch.tenant-select{display:block!important;box-sizing:border-box!important;flex:0 0 44px!important;align-self:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;aspect-ratio:auto!important;margin:0!important;padding:8px 30px 8px 12px!important;border:1px solid #ffffff35!important;border-radius:22px!important;background:#102842!important;color:#f5f8fb!important;font:inherit!important;font-size:14px!important;line-height:1.3!important;white-space:nowrap!important;text-overflow:ellipsis!important;cursor:pointer!important;color-scheme:dark}
html[dir="rtl"] body #app>.shell[data-app]>.sidebar .suite-shell-context-controls>#tenant-switch.tenant-select{padding:8px 12px 8px 30px!important}

/* R14: shared mobile spacing across authenticated suite apps. App palettes and
   Teamo conversation layouts remain owned by their existing stylesheets. */
@media(max-width:900px){
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content{box-sizing:border-box!important;min-width:0!important;min-height:0!important;max-width:100%!important;overflow-x:hidden!important;scroll-padding-block:8px;overscroll-behavior-y:contain}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content{padding:8px 10px 20px!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.hero,.card,.section-panel,.split,.cards,.form-grid,.row-list,.row,.row-main,.panel-title,.field){box-sizing:border-box;min-width:0;max-width:100%}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content>.hero{padding:10px 12px!important;margin:0 0 10px!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content>.hero h2{font-size:20px;line-height:1.3;margin:0 0 4px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content>.hero p{font-size:12px;line-height:1.45;margin:0}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.card,.section-panel){padding:12px!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.split,.form-grid){gap:10px!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .split{grid-template-columns:minmax(0,1fr)!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.mt-1,.mt-125){margin-top:10px!important}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .panel-title{gap:8px;margin-bottom:8px;flex-wrap:wrap}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .panel-title :is(h2,h3,p){margin-top:0;margin-bottom:4px;overflow-wrap:anywhere}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .panel-title p{font-size:12px;line-height:1.4}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .row-list{max-height:min(56dvh,480px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:8px;-webkit-overflow-scrolling:touch;gap:6px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .row{gap:8px;padding:10px 8px;flex-wrap:wrap}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .row-main{flex:1 1 160px;overflow-wrap:anywhere}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.row-actions,.bulk-toolbar){min-width:0;max-width:100%;flex-wrap:wrap;gap:6px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){box-sizing:border-box;min-width:0;max-width:100%;min-height:44px;font-size:16px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.button,.quiet-button,.section-tabs>button,.section-tabs>a){min-height:44px;min-width:44px;max-width:100%;line-height:1.35;overflow-wrap:anywhere}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.section-tabs,.period-tabs,.workspace-tabs){display:flex;flex-wrap:nowrap;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;gap:4px;touch-action:pan-x pan-y pinch-zoom;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding-block:3px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.section-tabs,.period-tabs,.workspace-tabs)>*{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;min-height:44px}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.table-scroll,.table-wrap,.table-container){max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom}
 html body #app>.shell[data-app]:not([data-app="teamo"])>.main>.content :is(.card,.section-panel)>table{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom}
 .pld-workspace :is(.pld-nav,.pld-page-nav,.pld-project-nav){touch-action:pan-x pan-y pinch-zoom}
 .pld-workspace .pld-shift-position{margin:2px 0 6px;font-size:13px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}
 .pld-workspace .pld-card-main>small{font-size:max(11px,.72rem)}
 .pld-workspace .pld-profile-row p{margin:4px 0;line-height:1.4}
}

@media(max-width:900px){.pld-workspace .pld-shift-area{margin:2px 0;font-size:12px;line-height:1.35;font-weight:550;overflow-wrap:anywhere}}

/* R16: tenant context stays in the drawer; cards keep names and their own avatars on one row. */
.suite-shell-context-controls{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%;padding-block:8px}
.suite-shell-context-controls>.tenant-select{width:100%;max-width:100%;min-width:0;min-height:44px;font-size:14px}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-shift-card{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;min-width:0!important;padding:12px!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-shift-card>.pld-card-time{grid-column:1!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;width:76px!important;min-width:0!important;padding-inline-end:8px!important;box-sizing:border-box!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-date{font-size:11px!important;line-height:1.4!important;white-space:nowrap!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-time>.pld-status{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:11px}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-shift-card>.pld-card-main{grid-column:2!important;grid-row:1!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;column-gap:6px!important;row-gap:3px!important;min-width:0!important;overflow:visible!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-main>*{grid-column:1!important;min-width:0!important;margin:0!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-main>.pld-card-person-row{grid-column:1/-1!important;display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:6px!important;align-items:center!important;min-width:0!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-person-row>.is-name-only{grid-column:2!important;grid-row:1!important;display:block!important;grid-template-columns:minmax(0,1fr)!important;justify-self:start!important;min-width:0!important;max-width:100%!important;min-height:44px!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-person-row>.is-avatar-only{grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:start!important;display:grid!important;place-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:6px!important;margin:0!important;border:0!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-person-row>.is-avatar-only .pld-avatar{width:32px!important;height:32px!important;min-width:32px!important;flex:none!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-main>.pld-card-details{grid-column:1!important;justify-self:start!important;display:inline-flex!important;align-items:center!important;gap:5px!important;min-width:44px!important;height:44px!important;min-height:44px!important;margin:0!important;padding:6px 0!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-card-main>.pld-shift-object{font-size:14px!important;line-height:1.4!important;overflow-wrap:anywhere!important}

/* R30: the fixed header leaves one content row; retain Teamo's existing keyboard viewport height. */
@media(max-width:900px){
 html body #app>.shell[data-app="teamo"]{height:var(--tm-viewport-height,100dvh)!important;max-height:var(--tm-viewport-height,100dvh)!important}
 html body #app>.shell[data-app="teamo"]>.main>.content{grid-row:1!important}
}

/* R35: legacy Plandero catalogs keep the same light palette as native planning panels. */
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-legacy :is(.card,.row,.empty){background:#fff!important;color:#142f48!important;border-color:#dbe4ec!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-legacy :is(.panel-title p,.row-sub,.hint,.empty){color:#53677a!important}
html body #app>.shell[data-app="plandero"] .pld-workspace .pld-legacy .field :is(input,select,textarea){background:#fff!important;color:#18344d!important;border-color:#cbd8e4!important;color-scheme:light}
