/* Phone-only composition. Tablet and desktop retain the existing layout. */
.phone-sheet-scrim { display:none; }
@media (max-width:600px), (max-width:900px) and (max-height:500px) and (pointer:coarse) {
 html,body { overflow-x:clip; overflow-y:auto !important; overscroll-behavior:auto; }
 body > .app-shell,body > .consent-banner,body > .consent-preferences { visibility:visible !important; pointer-events:auto !important; }
 .orientation-gate { display:none !important; }
 input,select,textarea { font-size:16px; }
 .onboarding-app { width:100%; max-width:600px; padding:12px 16px calc(96px + env(safe-area-inset-bottom)); }
 .onboarding-step-1 { display:block; height:auto; min-height:0; }
 .onboarding-chrome { position:relative; display:flex; flex-direction:column; align-items:stretch; gap:10px; margin:0 0 22px; }
 .onboarding-header { order:0; justify-content:flex-start; min-height:48px; padding:0; }
 .onboarding-header .brand__logo { width:126px; height:auto; }
 .onboarding-utility { order:1; display:flex; flex-wrap:nowrap; justify-content:space-between; min-height:44px; gap:8px; overflow:visible; padding:0 0 2px; }
 .onboarding-utility::-webkit-scrollbar { display:none; }
 .onboarding-help { flex:none; min-height:44px; font-size:12px; font-weight:500; }
 .onboarding-utility .language-picker { position:absolute; top:0; inset-inline-end:0; flex:none; }
 .onboarding-utility .language-picker select { font-size:12px; min-width:100px; min-height:44px; }
 .onboarding-progress { order:2; }
 .onboarding-progress ol { max-width:none; width:100%; padding:4px; gap:3px; border-radius:15px; box-shadow:none; }
 .onboarding-progress li { flex-direction:column; gap:4px; min-height:58px; padding:6px 2px; font-size:11px; border-radius:11px; }
 .onboarding-progress__visual { flex:none; width:23px; height:23px; }
 .onboarding-progress__visual img { display:none; }
 .onboarding-progress__number { position:static; width:23px; height:23px; font-size:11px; border-radius:8px; box-shadow:none; }
 .onboarding-progress__label { flex:none; width:100%; text-align:center; font-size:11px; }
 .onboarding-progress li::after,.onboarding-progress li[aria-current]::before { display:none; }
 .onboarding-step-1 .mobile-step,.mobile-step { display:flex; flex-direction:column; gap:12px; }
 .onboarding-step-1 .mobile-step h1,.mobile-step h1 { margin:0 0 4px; font-size:25px; line-height:1.18; letter-spacing:-.6px; font-weight:600; }
 .mobile-step h2 { font-size:17px; margin-bottom:12px; }
 .onboarding-step-1 .mobile-events,.mobile-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:9px; }
 .onboarding-step-1 .mobile-events .mobile-choice { min-height:104px; padding:8px; gap:3px; border-radius:14px; }
 .onboarding-step-1 .mobile-events .mobile-choice img { flex:none; width:100%; height:65px; object-fit:contain; }
 .onboarding-step-1 .mobile-events .mobile-choice b { font-size:14px; line-height:1.2; }
 .mobile-choice.is-selected::after { width:19px; height:19px; top:5px; inset-inline-end:5px; font-size:11px; }
 .onboarding-step-1 .onboarding-event-details,.onboarding-event-details { margin:0; padding:12px; gap:4px 8px; min-height:58px; border-radius:14px; }
 .onboarding-event-details b { font-size:14px; }
 .onboarding-event-details span { flex-basis:100%; font-size:12px; }
 .mobile-panel { padding:15px; margin:0; border-radius:16px; box-shadow:none; }
 .onboarding-step-2 .mobile-panel { order:1; }
 .onboarding-step-2 .mobile-venue-shell { order:2; }
 .mobile-venue-shell,.mobile-venue-shell.is-square { width:100%; aspect-ratio:3/2; min-height:0; margin:0; border-radius:16px; }
 .mobile-venue-shell.is-square { aspect-ratio:1; max-width:300px; }
 .mobile-venue-shell .mobile-venue { min-height:0; max-height:none; height:100%; border-radius:16px; }
 .mobile-venue-type-toggle { padding:10px; margin-bottom:12px; gap:8px; }
 .mobile-venue-type-toggle .venue-type-switch__label { font-size:12px; }
 .mobile-room-shapes { margin-bottom:14px; gap:6px; }
 .mobile-room-shapes .mobile-choice { min-height:82px; padding:8px 2px; gap:5px; }
 .mobile-room-shapes span { font-size:28px; }
 .mobile-room-shapes b,.mobile-table-shapes b { font-size:12px; }
 .onboarding-app .field-row { grid-template-columns:1fr 1fr; gap:10px; }
 .onboarding-app .text-input { min-height:48px; padding:10px; border-radius:10px; }
 .onboarding-app .field-group { gap:6px; font-size:13px; }
 .onboarding-app .area-summary { padding:12px; margin-top:12px; font-size:13px; }
 .onboarding-app .area-summary strong { font-size:23px; }
 .mobile-metric { margin:0; gap:10px; }
 .mobile-metric + .mobile-metric { margin-top:14px; padding-top:14px; border-top:1px solid #eadde3; }
 .mobile-metric label { font-size:14px; }
 .mobile-stepper { grid-template-columns:44px 62px 44px; border-radius:11px; }
 .mobile-stepper button { min-height:46px; font-size:22px; }
 .mobile-stepper input { font-size:22px; font-weight:600; }
 .mobile-table-shapes { gap:6px; }
 .mobile-table-shapes .mobile-choice { padding:6px 2px; gap:4px; border-radius:12px; }
 .mobile-table-art { max-width:85px; }
 .mobile-capacity.reference-capacity-value { padding:14px; margin:0; border-radius:14px; }
 .mobile-capacity.reference-capacity-value b { white-space:normal; font-size:18px; }
 .mobile-capacity.reference-capacity-value span { font-size:14px; }
 .mobile-capacity.reference-capacity-value small { font-size:12px; line-height:1.5; }
 .mobile-summary { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
 .mobile-summary div { flex-direction:column; gap:3px; padding:10px 0; font-size:14px; }
 .mobile-summary dt { font-size:12px; }
 .mobile-summary dd { overflow-wrap:anywhere; }
 .mobile-panel > p { margin:12px 0 0; font-size:14px; }
 .onboarding-step-1 .mobile-actions,.mobile-actions { position:fixed; inset-inline:0; bottom:0; z-index:12; margin:0; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:10px; border:0; border-top:1px solid #e8dce2; border-radius:0; background:#fdfbf7f5; box-shadow:0 -5px 20px #530b3506; }
 .onboarding-step-1 .mobile-actions .button,.mobile-actions .button { flex:1; min-width:0; min-height:48px; padding:12px; font-size:15px; border-radius:13px; }
 .has-content-panel { padding-bottom:24px; }
 .content-panel__toolbar { padding:6px 0 12px; }
 .content-panel__title { font-size:12px; }
 .site-header.site-header--shared { position:relative; }
 .site-header--shared .brand { order:0; padding:12px 0; }
 .site-header--shared .shared-utility { order:1; justify-content:space-between; gap:8px; overflow:visible; }
 .site-header--shared .shared-language { position:absolute; top:16px; inset-inline-end:0; }
 .site-header--shared .shared-language select { width:104px; font-size:12px; }
 .site-header.site-header--shared .brand .brand__logo { width:126px; }
 .planning-info { margin-top:20px; padding:0 20px; }
 .editor-header { position:sticky; top:0; z-index:12; display:flex; flex-wrap:wrap; padding:10px 12px; gap:8px 12px; background:#fdfbf7; }
 .editor-header .brand { flex:0 0 112px; min-height:42px; }
 .editor-header .brand__logo { width:112px; height:auto; }
 .editor-header .event-name { flex:1; min-width:0; margin:0; }
 .event-name strong { font-size:13px; line-height:1.3; white-space:normal; }
 .event-name small { font-size:10px; line-height:1.4; }
 .editor-header > .editor-actions { flex:1 0 100%; display:flex; flex-wrap:nowrap; justify-content:space-between; gap:5px; }
 .editor-actions .language-picker { min-width:0; padding:0; border:0; background:none; box-shadow:none; }
 .editor-actions .language-picker__icon { display:none; }
 .editor-actions .language-picker select { width:92px; min-width:0; font-size:12px; padding:8px 12px 8px 0; }
 .editor-actions .button { min-height:44px; font-size:12px; padding:8px; border-radius:10px; }
 .editor-actions .button--ghost[data-action="preview"] { display:inline-flex; }
 .mobile-inspector-toggle { flex:1 0 100%; min-height:44px; font-size:13px; padding:8px; margin:0; }
 .editor-layout { display:block; height:calc(100svh - 180px); min-height:340px; }
 .canvas-wrap { height:100%; padding:12px 12px 86px; overflow:auto; touch-action:pan-x pan-y; }
 .phone-canvas-hint { position:sticky; inset-inline-start:0; width:calc(100vw - 24px); margin:0 0 12px; font-size:12px; color:#75616e; }
 .canvas-stage { position:relative; inset:auto; width:740px; height:500px; }
 .canvas-table { width:95px; height:95px; }
 .floor-canvas { touch-action:pan-x pan-y; }
 .floating-toolbar { position:fixed; bottom:calc(8px + env(safe-area-inset-bottom)); inset-inline-start:10px; transform:none; width:calc(100% - 20px); max-width:none; justify-content:flex-start; gap:4px; padding:6px; overflow-x:auto; border-radius:15px; }
 .tool-button { min-width:54px; min-height:44px; font-size:11px; }
 .inspector { position:fixed; inset-inline:0; bottom:0; z-index:25; display:none; max-height:78svh; padding:16px 16px calc(22px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 -8px 32px #530b3526; }
 .inspector.is-open { display:block; }
 .inspector-title { position:sticky; top:-16px; z-index:2; padding:12px 0; background:#fffdfb; }
 .inspector h2 { font-size:23px; }
 .phone-sheet-scrim { position:fixed; inset:0; z-index:24; border:0; background:#30202a66; }
 .editor-layout:has(.inspector.is-open) .phone-sheet-scrim { display:block; }
 .guest-row--editable .guest-name-input,.guest-row--editable .guest-side-select,.guest-row--editable .guest-group-select { min-height:44px; font-size:16px; }
 .onboarding-app .reference-modal { width:calc(100% - 24px); padding:20px; max-height:calc(100svh - 24px); }
 .consent-banner { max-height:38svh; overflow-y:auto; padding:14px; }
 .toast { bottom:90px; inset-inline:14px; font-size:13px; }
}
@media print { .phone-canvas-hint,.phone-sheet-scrim { display:none; } }
@media(max-width:380px) {
 .onboarding-utility,.site-header--shared .shared-utility { flex-wrap:wrap; justify-content:flex-start; gap:0 10px; }
 .onboarding-help,.site-header--shared .shared-utility a { font-size:11px; }
}
