/* Shared small-screen refinements. Keep desktop scenes and private permissions intact. */
:root{--masori-safe-bottom:env(safe-area-inset-bottom,0px)}
:where(.team-shell,.manager,.meeting-layout,.contract-shell,.account-shell,.form-main) :where(input,select,textarea,fieldset){min-width:0;max-width:100%}
:where(.team-shell,.manager,.meeting-layout,.contract-shell,.account-shell,.form-main) :where(h1,h2,h3,p,a,strong){overflow-wrap:anywhere}
:where(.calendar-layout,.meeting-columns,.wall-layout,.grid)>*{min-width:0}
@media(max-width:760px){
  /* A comfortable type size also prevents iOS from zooming into each form field. */
  body :is(.team-shell,.manager,.meeting-layout,.contract-shell,.account-shell,.form-main) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
  .masori-assistant-launcher{right:max(12px,env(safe-area-inset-right));bottom:max(12px,var(--masori-safe-bottom));max-width:calc(100% - 24px)}
  .masori-assistant-dock .composer-icon,.assistant-dock-close{min-width:44px;min-height:44px}
  .masori-assistant-dock .assistant-suggestions button{min-height:44px}
  .project-preview{max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
  .meeting-call-controls button{min-height:44px;white-space:normal}
  .calendar-toolbar h2{min-width:0;overflow-wrap:anywhere}
  .calendar-agenda{min-width:0}
}
@media(max-width:600px){
  /* The rail becomes an explicit menu; the workspace regains the full screen. */
  .team-shell:has(#workspace:not([hidden])){padding:0 16px calc(88px + var(--masori-safe-bottom));margin-top:16px}
  .team-shell #workspace>.team-top{min-height:52px;padding-bottom:0;margin-bottom:16px}
  .workspace-sidebar{top:90px;left:16px;bottom:auto;width:100px;max-height:calc(100dvh - 106px - var(--masori-safe-bottom));padding:4px;border-radius:16px;overscroll-behavior:contain}
  .workspace-sidebar:not(.expanded) #sidebar-sections{display:none}
  #workspace-sidebar #sidebar-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:20px}
  #workspace-sidebar #sidebar-toggle::after{content:'Menú';font-size:13px;font-weight:500}
  .workspace-sidebar.expanded{width:min(260px,calc(100% - 32px))}
  .team-profile-menu{max-width:calc(100vw - 32px)}
  .drive-browser.ecosystem-area{padding-top:22px;margin-top:0}
  .drive-browser .area-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:16px;align-items:center}
  .drive-browser .area-heading>div{grid-column:1/-1}
  .drive-browser .area-heading h1{font-size:clamp(30px,9vw,42px);line-height:1.08;margin:0}
  .drive-browser .area-heading p:not(.ecosystem-kicker){font-size:13px;line-height:1.6;margin-top:10px}
  .drive-browser .area-heading .ecosystem-kicker{font-size:9px;margin-bottom:8px}
  .drive-browser .area-heading>.button{min-height:44px;padding:9px 12px;font-size:12px;white-space:normal}
  .drive-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 12px}
  .drive-toolbar>input[type=search],.drive-toolbar>.drive-sort{grid-column:1/-1;width:100%;min-width:0;min-height:46px}
  .drive-toolbar>.button{width:100%;min-width:0;min-height:44px;padding:9px 10px;font-size:12px;white-space:normal;justify-content:center}
  .drive-toolbar>.drive-trash{width:44px;justify-self:start}
  .drive-breadcrumbs,.project-breadcrumbs{max-width:100%;overscroll-behavior-x:contain}
  .drive-list.project-shelf .project-folder{flex-basis:min(250px,calc(100% - 12px));min-width:0;scroll-snap-align:start}
  .drive-shelf-controls{gap:8px;margin-bottom:18px}
  .drive-shelf-controls button{min-width:44px;min-height:44px}
  .team-shell .drive-row:not(.project-folder){flex-wrap:wrap}
  .team-shell .drive-row:not(.project-folder) .drive-open{flex-basis:calc(100% - 60px)}
  .team-shell .drive-row:not(.project-folder) .drive-copy strong{font-size:14px}
  .calendar-panel{padding:12px}
  .calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  .calendar-toolbar h2{font-size:17px;line-height:1.4;text-align:center;overflow-wrap:normal}
  .calendar-toolbar>.button{min-height:44px;padding:8px}
  .calendar-toolbar #calendar-refresh{grid-column:2/-1}
  .calendar-grid{gap:3px}
  .calendar-day{padding:4px 1px;min-height:44px;font-size:12px}
  .calendar-day small{font-size:8px;overflow-wrap:anywhere}
  .weekday{font-size:10px;padding:6px 0}
  .meeting-header{gap:10px}
  .meeting-header .masori-brand-link{flex-basis:150px}
  .meeting-layout{padding-bottom:calc(28px + var(--masori-safe-bottom))}
  .meeting-actions .button{min-width:0;overflow-wrap:anywhere}
  .contract-shell .steps{flex-wrap:wrap;gap:10px 16px}
  .account-card .admin-actions>*{max-width:100%;white-space:normal}
  /* An in-page conversation fits short screens, with the message area scrolling. */
  .masori-assistant-dock{inset:calc(var(--assistant-viewport-top,0px) + 8px) 8px auto;width:auto;height:calc(var(--assistant-viewport-height,100dvh) - 16px - var(--masori-safe-bottom));max-height:calc(var(--assistant-viewport-height,100dvh) - 16px - var(--masori-safe-bottom));border-radius:22px}
  .masori-assistant-dock #messages{min-height:40px}
  .assistant-dock-status{max-height:22dvh;overflow:auto}
  body:has(.masori-assistant-dock:not([hidden])) .masori-assistant-launcher{visibility:hidden}
  /* Portrait assets occupy the scene rather than a cropped landscape rectangle. */
  .pov-main[data-view-mode=images] .pov-poster:is([data-poster-room=entrada],[data-poster-room=estudio],[data-poster-room=artists]){width:100%;height:100%;background-size:cover}
  .pov-home>.pov-main{min-height:max(520px,calc(100svh - 120px))}
  .pov-arrival{padding-top:40px}
  .pov-controls button{min-height:60px}
  .pov-controls button>span{font-size:11px}
  .pov-controls small{font-size:9px}
  .pov-description{font-size:12px}
  .pov-access{font-size:10px}
  .pov-detail h2{font-size:clamp(25px,7vw,30px)}
  .pov-tv-menu[data-tv-layout=tabs]{max-height:65dvh}
  .pov-dashboard-entry{flex-wrap:wrap}
}
@media(max-width:360px){
  .pov-header{padding-inline:14px;gap:3px 8px}
  .pov-header .masori-brand-mark{width:140px!important}
  .pov-header-links .pov-team-link{gap:6px;padding-inline:10px;font-size:9px}
  .pov-controls button>span{font-size:10px}
  .pov-controls small{font-size:8px}
  .public-header:has(.masori-brand-mark){gap:10px;flex-wrap:wrap;padding-block:10px}
}
@media(max-height:500px) and (max-width:950px){
  .masori-assistant-dock{inset:calc(var(--assistant-viewport-top,0px) + 8px) max(8px,env(safe-area-inset-right)) auto max(8px,env(safe-area-inset-left));width:auto;height:calc(var(--assistant-viewport-height,100dvh) - 16px - var(--masori-safe-bottom));max-height:calc(var(--assistant-viewport-height,100dvh) - 16px - var(--masori-safe-bottom))}
  .masori-assistant-dock .assistant-dock-kicker{display:none}
  .masori-assistant-dock .composer-icon,.assistant-dock-close{min-width:44px;min-height:44px}
  .masori-assistant-dock .assistant-suggestions button{min-height:44px}
  .masori-assistant-dock #messages{min-height:32px}
  .masori-assistant-dock #message{font-size:16px!important}
  body:has(.masori-assistant-dock:not([hidden])) .masori-assistant-launcher{visibility:hidden}
}
