/* Responsive workspace: keep navigation out of the reading and writing area. */
html{scroll-padding-bottom:env(safe-area-inset-bottom,0px)}
.itrality-workspace .shell,.itrality-workspace main,.workspace-grid>*{min-width:0}
.itrality-workspace textarea,.itrality-workspace input,.itrality-workspace select{max-width:100%}
.access-page .login-card{width:min(520px,calc(100% - 32px));overflow-wrap:anywhere}
.access-page a{color:#86dfff}
dialog{max-width:calc(100vw - 24px);box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:1024px){
 .itrality-workspace .sidebar{position:fixed;inset:0 auto 0 52px;width:min(320px,calc(100vw - 64px));height:100dvh;z-index:19;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;padding:20px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;border:1px solid #244666;box-shadow:20px 0 60px #0009}
 .itrality-workspace .sidebar[hidden]{display:none!important}
 .itrality-workspace .sidebar nav,.itrality-workspace .sidebar-bottom{display:block}
 .itrality-workspace .sidebar .brand{flex-shrink:0}
 .itrality-workspace .conversation-sidebar{flex:1 0 130px;min-height:130px;max-height:none;margin:18px 0;padding:8px 0;overflow:visible}
 .itrality-workspace .shell,body.menu-collapsed .shell{margin-left:52px;width:calc(100% - 52px)}
 .itrality-workspace main{padding:12px 16px 8px}
 .itrality-workspace .topbar{height:48px;padding:0 16px}
 #menu-toggle,#home-shortcut{left:max(4px,env(safe-area-inset-left));width:44px;height:44px}
 #menu-toggle{top:8px}#home-shortcut{top:60px}
 body.menu-collapsed:before{width:51px}
 .chat-home{min-height:calc(100svh - 68px);gap:0;justify-content:center;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 .chat-home.has-chat{height:calc(100dvh - 68px);min-height:280px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
 .chat-home .world-stage{width:min(520px,100%)}
 .world-stage.show-triggers{height:clamp(360px,60svh,440px);aspect-ratio:auto}
 .world-stage #trigger-menu{padding:12px 8px}
 .trigger-choice{overflow-wrap:anywhere;min-width:0}
 .chat-composer{grid-template-columns:44px minmax(0,1fr) 44px;column-gap:6px;padding:8px;border-radius:30px}
 .chat-composer #trigger-launcher,.chat-composer .selector-row #open-workflow{width:44px;height:44px;min-width:44px}
 .chat-composer #chat-input{font-size:16px;line-height:1.5}
 .chat-note{line-height:1.5;margin-top:16px;overflow-wrap:anywhere}
 .workspace-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .workspace-heading h1{font-size:clamp(23px,4vw,30px);overflow-wrap:anywhere}
 .workspace-grid>.output-pane,.conversation-reopened .workspace-grid>.output-pane{position:relative;top:auto;left:auto;width:100%;margin:0;display:flex;flex-direction:column;height:clamp(360px,78svh,800px);min-height:0;max-height:none;overflow:hidden}
 .output-pane>.pane-heading,.output-pane>.compact-revision,.output-pane>#generation-message,.output-pane>.review-note,.output-pane>.output-actions{flex-shrink:0}
 .output-pane>#document-output{flex:1 1 0;height:0;min-height:0;padding:16px;resize:none;overflow:auto;font-size:16px;line-height:1.65}
 .output-pane>#empty-output{flex:1 1 0;min-height:0;overflow:auto;padding:24px 12px}
 .output-pane>.compact-revision{padding:8px}
 .output-pane .revision-composer{gap:4px;padding:6px}
 .output-pane #revision-command{font-size:16px;min-height:48px;height:48px;padding:2px 4px;line-height:22px}
 .output-pane #copy-output,.output-pane #revise-document{flex-basis:44px;width:44px;height:44px}
 .pane-heading{padding:14px 12px;flex-wrap:wrap}
 .pane-heading small{max-width:none;text-align:left}
 #staff-dialog,#trigger-guide-dialog{padding:16px;max-height:calc(100dvh - 24px)}
 .staff-invite-grid{grid-template-columns:minmax(0,1fr)}
 dialog input,dialog select,dialog textarea{min-width:0;font-size:16px}
 dialog .close{min-width:44px;min-height:44px}
 .staff-actions button{min-height:44px}
}
@media(max-width:480px){
 .itrality-workspace main{padding-left:8px;padding-right:8px}
 .itrality-workspace .topbar{height:28px;padding:0 8px}
 .chat-home{min-height:calc(100svh - 48px)}
 .chat-home.has-chat{height:calc(100dvh - 48px)}
 .chat-greeting{font-size:20px;margin:12px 0 20px}
 .trigger-choice{gap:5px;padding:8px 3px;font-size:12px}
 .trigger-choice-code{flex-basis:37px}
 .world-stage #trigger-menu-items{gap:3px}
 .access-page .login-card{margin:20px auto!important;padding:22px 18px!important}
 .access-page .login-card h1{font-size:27px;line-height:1.25}
 .trigger-guide-card{gap:10px;padding:12px}.trigger-guide-code{flex-basis:48px}
}
/* Also loaded inside each intake iframe, after the theme. */
@media(max-width:600px){
 body.itrality-form{padding:14px!important;overflow-wrap:anywhere}
 .itrality-form input:not([type=checkbox]):not([type=radio]),.itrality-form select,.itrality-form textarea{font-size:16px!important;min-width:0;max-width:100%}
 .itrality-form button{min-height:44px;white-space:normal}
 .itrality-form .viz-grid,.itrality-form #as-assessment form>[data-fields]{grid-template-columns:minmax(0,1fr)}
 #grpn-roster .roster-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:12px}
 #grpn-roster #grpn-count{grid-column:1/-1;height:auto;white-space:normal}
}
@media(max-width:360px){#grpn-roster .client-row{grid-template-columns:minmax(0,1fr)}#grpn-roster .client-name,#grpn-roster .participation,#grpn-roster .observation,#grpn-roster .remove-client{grid-column:1;grid-row:auto}}
/* A centered navigation capsule frees the entire mobile content width. */
@media(max-width:1024px){
 .itrality-workspace .shell,body.itrality-workspace.menu-collapsed .shell{margin-left:0;width:100%}
 body.itrality-workspace.menu-collapsed:before{display:none}
 .itrality-workspace .topbar{position:sticky;top:0;z-index:20;height:calc(70px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 12px 8px;justify-content:center;background:linear-gradient(#061323f5,#061323e8);backdrop-filter:blur(14px)}
 .itrality-workspace .topbar-start{display:flex;gap:10px;padding:4px 8px;border:1px solid #28567a;border-radius:32px;background:linear-gradient(120deg,#113653,#091c32);box-shadow:0 4px 18px #0004,inset 0 1px 0 #a6eaff18}
 .itrality-workspace .workspace-breadcrumb{display:none}
 .itrality-workspace #menu-toggle,.itrality-workspace #home-shortcut{position:static;inset:auto;width:44px;height:44px;flex:0 0 44px}
 .itrality-workspace .sidebar{inset:calc(78px + env(safe-area-inset-top)) auto 12px 12px;width:min(340px,calc(100vw - 24px));height:calc(100dvh - 90px - env(safe-area-inset-top));border-radius:20px}
 .itrality-workspace main{padding-left:12px;padding-right:12px}
 .chat-home{min-height:calc(100svh - 90px - env(safe-area-inset-top))}
 .chat-home.has-chat{height:calc(100dvh - 90px - env(safe-area-inset-top))}
}
/* Center the navigation drawer under its capsule on phones and tablets. */
@media(max-width:1024px){.itrality-workspace .sidebar{left:50%;right:auto;transform:translateX(-50%)}}
