/* Shared screen containment. Wide data remains readable in its own scroll region. */
.sidebar-close { display:none; }
@media screen {
 .content > *, .terminal-main > *, .guest-directory, .guest-directory > *,
 .wizard-grid > *, .access-grant-form > *, .control-form > * { min-width:0;max-width:100%; }
 .guest-directory { grid-template-columns:minmax(0,1fr); }
 .content .form-inline { display:flex;flex-wrap:wrap;align-items:center;gap:10px; }
 .content .form-inline > * { min-width:0;max-width:100%; }
 .content form .form-row { min-width:0;max-width:100%; }
 .content .form-inline input:not([type=checkbox]):not([type=radio]) { flex:1 1 200px; }
 .content :is(input,select,textarea),.terminal-main :is(input,select,textarea) { min-width:0;max-width:100%; }
 .content :is(label,fieldset),.terminal-main :is(label,fieldset) { min-width:0; }
 .responsive-table { display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch; }
 .responsive-table > table { width:100%;border-collapse:collapse; }
 .responsive-table:focus-visible { outline:3px solid #197d82;outline-offset:2px; }
 .table-scroll,.table-responsive { max-width:100%;min-width:0; }
 .terminal-main :is(.pos-surface,.prep-card,.pos-shell) { min-width:0;max-width:100%; }
 .terminal-main :is(select,textarea) { width:100%; }
 .terminal-main :is(input,select,textarea) { border:1px solid #b6cbc5;border-radius:8px;padding:10px;font:inherit; }
 .terminal-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { min-height:44px; }
 .terminal-main :is(h1,h2,h3,p,summary),.content :is(h1,h2,h3,p,summary) { overflow-wrap:break-word; }
 .terminal-main .data-table { font-size:14px; }
 .terminal-main .data-table :is(th,td) { padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid #dce6e2; }
 .terminal-main .data-table th { background:#edf4f1;white-space:nowrap; }
 .terminal-main .data-table td { min-width:90px; }
 .terminal-main form { max-width:100%; }
 .terminal-main .btn { min-height:44px;white-space:normal;line-height:1.4; }
 .terminal-header > *, .terminal-outlet > * { min-width:0; }
 .terminal-nav { flex-wrap:wrap; }
 .pos-terminal .terminal-nav a { overflow-wrap:normal;font-size:14px;min-width:0;min-height:44px;padding:10px 14px; }
 .content img,.terminal-main img,.guest-shell img { max-width:100%;height:auto; }
}
@media screen and (max-width:1024px) {
 .sidebar-close { display:block;width:calc(100% - 32px);margin:8px 16px 16px;padding:10px;min-height:44px;border:1px solid #698394;border-radius:8px;color:#fff;background:#193d53;font:inherit;cursor:pointer; }
 body.nav-open { overflow:hidden; }
 .terminal-nav { flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:12px;padding:8px 12px;position:relative; }
 .pos-terminal .terminal-nav a { flex:0 0 auto;white-space:nowrap;font-size:13px; }
 .terminal-main .pos-basket { position:static; }
}
@media screen and (max-width:720px) {
 body.ui-foundation .content :is(input,select,textarea),.terminal-main :is(input,select,textarea) { font-size:16px; }
 body.ui-foundation .content :is(.btn,button:not(.command-result)) { min-height:44px; }
 .access-grant-form { grid-template-columns:minmax(0,1fr); }
 .access-grant-form label,.wizard-grid label { min-width:0;width:100%; }
 .control-status-card label { min-width:0;width:100%; }
 .control-card,.control-hero,.control-form { min-width:0;max-width:100%; }
 .access-person { min-width:0; }
 .access-person > * { min-width:0;overflow-wrap:anywhere; }
 .terminal-main { padding:12px; }
 .terminal-main > .pos-surface { margin:0!important;padding:18px!important; }
 .terminal-main .prep-card { padding:16px; }
 .terminal-main h1 { font-size:25px;line-height:1.25; }
 .terminal-main h2 { font-size:20px;line-height:1.35; }
 .terminal-main form > label { display:grid;gap:6px;flex:1 1 180px;max-width:100%; }
 .terminal-main form > label > :is(input,select,textarea) { width:100%; }
 .terminal-main .terminal-filters label { min-width:0;width:100%; }
 .terminal-header { gap:12px;flex-wrap:wrap;padding:12px; }
 .terminal-header .terminal-brand { flex:0 1 140px;width:140px; }
 .terminal-header .terminal-brand img { width:140px;max-width:100%; }
 .terminal-header .terminal-user { width:auto;margin-left:auto;gap:6px; }
 .terminal-header .terminal-user > span { display:none; }
 .terminal-header .terminal-outlet { flex:1 1 100%;max-width:100%;order:3; }
 .terminal-header .terminal-outlet select { min-width:0;flex:1;max-width:100%; }
 .terminal-hint { display:none; }
 .content .form-inline > label { flex-basis:100%; }
 .content .form-inline :is(input,select) { width:100%; }
 .guest-shell { padding:16px; }
 .guest-shell .login-card { padding:22px; }
}
@media screen and (max-width:400px) {
 .content .booking-three-col { grid-template-columns:minmax(0,1fr);gap:0; }
 .terminal-header .terminal-user button { padding:8px;min-height:44px; }
 .terminal-main > .pos-surface { padding:16px!important; }
}
