/* Shared rhythm and narrow-screen controls. Keep screenplay typography local. */
.page .pw-head{flex-wrap:wrap;gap:16px;align-items:flex-start}
.page .pw-head>div:first-child{flex:1 1 28rem;min-width:0}
.page .pw-head>.row{flex-wrap:wrap;gap:10px}
.page .pw-head>h1,.page .pw-head>p{flex-basis:100%}
.page p+.button{margin-top:12px}
.series-tools{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.series-tools:empty{display:none}
.page .pw-tabs{gap:8px}
.page .pw-tabs>.button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.4;text-align:center;padding:12px}
.page .pw-tabs [aria-current="false"]{background:var(--paper);color:var(--ink);border-color:var(--line);box-shadow:none}
.shoot-workspace .panel>h2{margin-bottom:10px;line-height:1.35}
.shoot-workspace .panel>p+p{margin-top:10px}
.shoot-workspace .panel>p+.button,.shoot-workspace .panel>p+.row{margin-top:16px}
.shoot-workspace .panel>.button+.prod-queue-row{margin-top:14px}
.shoot-workspace .prod-queue-row b{display:inline-block;margin-inline-start:6px}
.page .pw-head>.hc-context{align-self:flex-start}
@media(max-width:760px){
 .page .pw-head{display:flex;gap:14px}
 .page .pw-head>div:first-child{flex-basis:100%}
 .page .pw-head p{font-size:15px;line-height:1.5}
 .page .pw-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 20px}
 .page .pw-tabs>.button{font-size:14px!important;min-height:52px;padding:10px 12px}
 .page .heading .eyebrow{font-size:11px;line-height:1.4;letter-spacing:.12em;margin:0 0 10px}
 .page .heading>div>h1+p{margin-top:12px}
 .series-tools{margin:4px 0 20px}
 .series-tools>.button{white-space:normal;max-width:100%}
 .topbar [data-lifecycle-trash]{display:none}
 body>.mobile-bottom-nav{position:fixed!important;inset-block-start:auto!important;top:auto!important;bottom:0!important;left:0;right:0;max-width:100%;width:100%;height:max-content;box-sizing:border-box}
 .page{padding-bottom:calc(var(--mobile-dock-height,76px) + 24px)!important}
}
/* Form rhythm: labels stay close to their own inputs; actions remain separate. */
:root{--form-field-space:16px;--form-action-space:20px}
.page :where(form,fieldset)>.field+.field,
dialog :where(form,fieldset)>.field+.field{margin-top:var(--form-field-space)}
.page :where(form,fieldset)>:is(.row,.modal-actions,.form-actions):has(>.button),
dialog :where(form,fieldset)>:is(.row,.modal-actions,.form-actions):has(>.button){margin-top:var(--form-action-space);gap:12px;flex-wrap:wrap}
.page :is(input,select,textarea)+.button,
.page .field+.button,
dialog :is(input,select,textarea)+.button{margin-top:12px}
.page form+details{margin-top:20px}
#unified-content{margin-top:20px}
#unified-content fieldset{border:0;padding:0;margin:0;min-width:0}
#unified-content [data-content-error]:empty{display:none}
