/* The shell stays in one viewport. Long documents/forms keep a bounded, reachable scroll area. */
body:has(.pms-viewport-v4) { height:100dvh; min-height:0; overflow:hidden; }
body:has(.pms-viewport-v4) > .brandbar { display:none; }
body:has(.pms-viewport-v4) > #app { height:100dvh; min-height:0; overflow:hidden; }
.pms-workspace.pms-viewport-v4 { height:100dvh; min-height:0; overflow:hidden; grid-template-rows:52px 52px minmax(0,1fr); align-items:stretch; gap:8px 18px; padding:8px 16px 10px; }
.pms-viewport-v4 > .pms-header { grid-row:1; padding:0; margin:0; border:0; align-items:center; min-width:0; }
.pms-viewport-v4 .pms-header h1 { font-size:26px; margin:0; line-height:1.25; }
.pms-viewport-v4 .pms-header .eyebrow, .pms-viewport-v4 .pms-header .muted { display:none; }
.pms-viewport-v4 .pms-header-actions { gap:6px; }
.pms-viewport-v4 .pms-header-actions > * { min-height:44px; padding:9px 12px; font-size:13px; }
.pms-viewport-v4 .pms-header a[href*="settings"] { font-size:0; width:44px; padding:0; display:grid; place-items:center; }
.pms-viewport-v4 .pms-header a[href*="settings"]::after { content:'⚙'; font-size:23px; }
.pms-viewport-v4 > .pms-toolbar { grid-row:2; margin:0; padding:4px 8px; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:10px; min-width:0; }
.pms-viewport-v4 > .pms-toolbar label { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.pms-viewport-v4 .pms-toolbar input { width:154px; min-height:40px; padding:7px 10px; }
.pms-viewport-v4 .pms-toolbar button { min-height:40px; padding:8px 12px; }
.pms-viewport-v4 > .pms-priority-strip { display:none !important; }
.pms-viewport-v4 > #pms-message:empty { display:none; }
.pms-viewport-v4 > #pms-message:not(:empty) { position:absolute; z-index:101; bottom:8px; right:16px; max-width:min(640px,calc(100vw - 32px)); padding:10px 14px; margin:0; background:#fff8e7; border:1px solid #ceb889; border-radius:8px; box-shadow:0 5px 18px #0002; }
.pms-viewport-v4 > .pms-loading { grid-row:3; align-self:start; }
.pms-viewport-v4 > .pms-panel { grid-row:3; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; align-content:start; gap:10px; padding-bottom:2px; }
.pms-viewport-v4 > .pms-tabs { left:16px; top:8px; bottom:8px; height:calc(100dvh - 16px); grid-row:1 / -1; }
.pms-viewport-v4 [hidden] { display:none !important; }
.pms-viewport-v4 .pms-section-heading { margin-bottom:8px; gap:8px; }
.pms-viewport-v4 .pms-section-heading h2 { font-size:18px; }
.pms-viewport-v4 > .pms-panel > .pms-section-heading .eyebrow { display:none; }
.pms-viewport-v4 .pms-surface { padding:12px; border-radius:9px; }
.pms-viewport-v4 .pms-summary { gap:7px; }
.pms-viewport-v4 .pms-summary-card { padding:8px 10px; gap:8px; display:flex; align-items:center; border-radius:7px; }
.pms-viewport-v4 .pms-summary-card strong { font-size:24px; }
.pms-viewport-v4 .pms-summary-card span { font-size:11px; }
.pms-viewport-v4 [data-pms-panel="today"] { display:grid; grid-template-rows:48px 44px minmax(0,1fr); gap:8px; overflow:hidden; padding:0; }
.pms-v4-today-switch { display:flex; align-items:stretch; gap:4px; background:#e8e7df; border-radius:8px; padding:2px; }
.pms-v4-today-switch button { min-height:40px; padding:7px 18px; border:0; background:transparent; color:#59655e; font-size:13px; border-radius:6px; }
.pms-v4-today-switch button.is-active { background:#17362e; color:white; }
.pms-viewport-v4 [data-pms-panel="today"] > .pms-two-column { display:flex; min-height:0; }
.pms-viewport-v4 [data-pms-panel="today"] > .pms-two-column > .pms-surface { width:100%; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 10px; }
.pms-viewport-v4 .pms-v4-room-surface .pms-section-heading, .pms-viewport-v4 .pms-v4-arrival-surface .pms-section-heading { flex-direction:row; align-items:center; margin:0; flex:0 0 40px; }
.pms-v4-room-surface .pms-section-heading > div { display:none; }
.pms-v4-arrival-surface .pms-section-heading .eyebrow { display:none; }
.pms-viewport-v4 .pms-v4-area-label, .pms-viewport-v4 .pms-v4-group-label { display:flex; align-items:center; gap:8px; font-size:12px; margin:0; white-space:nowrap; min-width:0; }
.pms-v4-area-label select { width:180px; min-height:40px; padding:7px 10px; font-size:12px; }
.pms-v4-group-label select { width:142px; min-height:44px; padding:7px 10px; font-size:12px; }
.pms-viewport-v4 .pms-v4-room-surface .pms-section-heading { flex:0 0 auto; flex-wrap:wrap; justify-content:flex-start; gap:8px 14px; }
.pms-viewport-v4 .pms-v4-room-surface .pms-section-heading > button { margin-left:auto; min-height:44px; }
.pms-viewport-v4 .pms-v4-room-surface .pms-v4-area-label select { min-height:44px; }
.pms-v4-room-count { font-size:12px; color:#61736c; font-variant-numeric:tabular-nums; white-space:nowrap; }
.pms-viewport-v4 #pms-today-room-board { display:block; flex:1; min-height:0; min-width:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:5px; scroll-padding-top:42px; }
.pms-viewport-v4 #pms-today-room-board:focus-visible { outline:2px solid #668974; outline-offset:-2px; }
.pms-v4-room-sections { display:flex; flex-direction:column; gap:18px; padding-bottom:8px; }
.pms-v4-room-group { min-width:0; }
.pms-v4-room-group-heading { position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:10px; min-height:36px; padding:5px 2px 7px; margin:0 0 4px; background:#fbfaf7; border-bottom:1px solid #e2e8e3; }
.pms-v4-room-group-heading h3 { font:650 13px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; color:#334f44; margin:0; min-width:0; overflow-wrap:anywhere; }
.pms-v4-room-group-heading span { color:#61736c; font-size:11px; white-space:nowrap; }
.pms-v4-room-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,175px),1fr)); gap:8px; align-content:start; width:100%; min-height:0; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card { height:92px; padding:6px 12px; overflow:hidden; background:#f1f6f3; border:1px solid #d1dfd6; border-left:4px solid #668974; display:flex; flex-direction:column; align-items:flex-start; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card.is-occupied { background:#fff2e7; border-left-color:#ac774b; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card.is-maintenance, .pms-viewport-v4 #pms-today-room-board .pms-room-card.is-out_of_service { background:#e8e9e7; border-left-color:#7c807a; }
.pms-v4-floor { font-size:10px; color:#64726a; white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card h4 { font-size:21px; margin:1px 0 4px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card h4 small { font-size:11px; font-weight:normal; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card > p { display:none; }
.pms-viewport-v4 #pms-today-room-board .pms-v4-floor,
.pms-viewport-v4 #pms-today-room-board .pms-room-card h4 small,
.pms-viewport-v4 #pms-today-room-board .pms-room-state { display:none; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card h4 { font-size:12px; font-weight:600; line-height:16px; color:#64726a; margin:0 20px 3px 0; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card > .pms-room-guest { display:block; font-size:15px; font-weight:700; line-height:20px; color:#17362e; max-width:100%; margin:0 0 3px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pms-viewport-v4 #pms-today-room-board .pms-room-card > .pms-room-front-note { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:16px; margin:0; color:#52645c; }
.pms-viewport-v4 #pms-today-room-board .pms-room-state { margin-top:auto; font-size:11px; padding:2px 8px; }
.pms-viewport-v4 #pms-today-room-board .pms-v4-inspect { position:absolute; inset:0; width:100%; height:100%; min-height:44px; margin:0; padding:0; background:transparent; border:0; border-radius:8px; cursor:pointer; }
.pms-v4-inspect::after { content:'›'; position:absolute; right:9px; top:5px; font-size:20px; color:#62776a; }
.pms-v4-inspect:hover { box-shadow:inset 0 0 0 2px #668974; }
.pms-v4-inspect:focus-visible { outline:3px solid #b08256; outline-offset:-3px; }
.pms-v4-pager { display:flex; flex:0 0 44px; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #e0ddd4; padding-top:4px; min-height:44px; }
.pms-v4-pager span { font-size:12px; color:#617067; font-variant-numeric:tabular-nums; }
.pms-v4-pager button { min-height:40px; min-width:80px; padding:7px 12px; font-size:12px; }
.pms-v4-paged-region { overflow:auto; min-height:0; align-content:start; }
.pms-viewport-v4 .pms-v4-arrival-surface #pms-today-bookings { flex:1; }
.pms-viewport-v4 .pms-v4-paged-table th { position:sticky; top:0; background:#eef2ed; z-index:1; }
.pms-v4-room-detail { width:min(460px,calc(100vw - 32px)); max-height:85dvh; border:1px solid #c7cbbb; padding:20px; border-radius:12px; color:#253c31; overflow:auto; }
.pms-v4-room-detail::backdrop { background:#142b2370; }
.pms-v4-detail-head { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid #ddd; padding-bottom:12px; }
.pms-v4-detail-head h2 { margin:0; font-size:24px; }
.pms-v4-detail-head button { min-height:44px; }
.pms-v4-detail-body p { overflow-wrap:anywhere; }
.pms-viewport-v4.pms-mail-open { grid-template-rows:52px minmax(0,1fr); }
.pms-viewport-v4.pms-mail-open > [data-pms-panel="mail"] { grid-row:2; overflow:hidden; }
.pms-viewport-v4 .pms-v3-mail-workspace { height:100% !important; min-height:0; }
@media(min-width:981px) {
 .pms-viewport-v4 [data-pms-panel="today"] { grid-template-rows:44px minmax(0,1fr); }
 .pms-viewport-v4 [data-pms-panel="today"] > .pms-summary { position:fixed; top:70px; left:604px; right:26px; height:44px; gap:5px; }
 .pms-viewport-v4 [data-pms-panel="today"] .pms-summary-card { flex-direction:column; justify-content:center; gap:2px; padding:2px; border:0; background:transparent; }
 .pms-viewport-v4 [data-pms-panel="today"] .pms-summary-card strong { font-size:18px; }
 .pms-viewport-v4 [data-pms-panel="today"] .pms-summary-card span { font-size:10px; }
 .pms-viewport-v4:has([data-pms-panel="today"]:not([hidden])) .pms-toolbar-state { visibility:hidden; }
}
@media(max-width:980px) {
 .pms-workspace.pms-viewport-v4 { grid-template-columns:minmax(0,1fr); padding:6px 10px 8px; gap:6px; grid-template-rows:50px 50px minmax(0,1fr); }
 .pms-viewport-v4 > .pms-header,.pms-viewport-v4 > .pms-toolbar,.pms-viewport-v4 > .pms-panel,.pms-viewport-v4 > .pms-loading { grid-column:1; }
 .pms-viewport-v4 > .pms-header { flex-direction:row; gap:8px; }
 .pms-viewport-v4 .pms-header h1 { font-size:21px; }
 .pms-viewport-v4 .pms-header-actions { width:auto; display:flex; }
 .pms-viewport-v4 .pms-header-actions > * { width:auto; min-height:44px; }
 .pms-viewport-v4 .pms-header-actions a[href*="settings"] { display:none; }
 .pms-viewport-v4 #pms-new-booking { font-size:0; width:44px; padding:0; }
 .pms-viewport-v4 #pms-new-booking::after { content:'＋'; font-size:22px; }
 .pms-viewport-v4 #pms-assistant-launch { font-size:0; width:44px; padding:0; }
 .pms-viewport-v4 #pms-assistant-launch::after { content:'AI'; font-size:15px; }
 .pms-workspace.pms-viewport-v4 .pms-header-actions #pms-assistant-launch { position:static; inset:auto; min-width:44px; width:44px; min-height:44px; padding:0; font-size:0; }
 .pms-workspace.pms-viewport-v4 .pms-header-actions #pms-assistant-launch::after { content:'AI'; font-size:15px; }
 .pms-viewport-v4 > .pms-tabs { left:0; top:0; bottom:0; height:100dvh; }
 .pms-viewport-v4 > .pms-toolbar { grid-template-columns:minmax(0,1fr) auto; padding:3px 6px; gap:6px; }
 .pms-workspace.pms-viewport-v4 > .pms-toolbar > label { grid-column:1; grid-row:1; }
 .pms-workspace.pms-viewport-v4 > .pms-toolbar > button { grid-column:2; grid-row:1; width:auto; }
 .pms-viewport-v4 .pms-toolbar-state { display:none; }
 .pms-viewport-v4 .pms-toolbar input { width:140px; }
 .pms-viewport-v4 .pms-summary { grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
 .pms-viewport-v4 .pms-summary-card { flex-direction:column; justify-content:center; padding:4px 2px; gap:3px; }
 .pms-viewport-v4 .pms-summary-card strong { font-size:20px; }
 .pms-viewport-v4 .pms-summary-card span { font-size:10px; white-space:nowrap; }
 .pms-viewport-v4 [data-pms-panel="today"] { grid-template-rows:52px 48px minmax(0,1fr); gap:6px; }
 .pms-v4-today-switch { gap:0; }
 .pms-v4-today-switch button { flex:1; min-height:44px; padding:4px 5px; font-size:12px; white-space:nowrap; }
 .pms-v4-area-label select { width:135px; min-height:44px; }
 .pms-viewport-v4 .pms-v4-room-surface .pms-section-heading button { min-height:44px; font-size:11px; padding:6px 8px; }
 .pms-v4-pager button { min-height:44px; }
 .pms-viewport-v4.pms-mail-open { grid-template-rows:50px minmax(0,1fr); }
}
@media(max-height:430px) { .pms-viewport-v4 [data-pms-panel="today"] { overflow:auto; } .pms-viewport-v4 #pms-today-room-board { min-height:112px; } }
@media(max-width:700px) {
 .pms-viewport-v4 .pms-v4-room-surface .pms-section-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .pms-viewport-v4 .pms-v4-area-label, .pms-viewport-v4 .pms-v4-group-label { display:flex; flex-direction:column; align-items:stretch; gap:3px; font-size:11px; }
 .pms-viewport-v4 .pms-v4-area-label { grid-column:1; grid-row:1; }
 .pms-viewport-v4 .pms-v4-group-label { grid-column:2; grid-row:1; }
 .pms-viewport-v4 .pms-v4-area-label select, .pms-v4-group-label select { width:100%; min-width:0; min-height:44px; }
 .pms-v4-room-count { grid-column:1; grid-row:2; font-size:11px; }
 .pms-viewport-v4 .pms-v4-room-surface .pms-section-heading > button { grid-column:2; grid-row:2; margin:0; }
 .pms-v4-room-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,135px),1fr)); }
 .pms-viewport-v4 #pms-today-room-board .pms-room-card { padding:6px 8px; }
}
/* Task-oriented reservation workspace. Only the selected panel scrolls. */
#pms-detail-dialog { width:min(1100px,calc(100vw - 24px)); height:min(800px,calc(100dvh - 24px)); max-height:calc(100dvh - 24px); overflow:hidden; padding:0; }
#pms-detail-dialog > .pms-detail-dialog { display:grid; grid-template-rows:auto minmax(0,1fr) auto; grid-template-columns:minmax(0,1fr); width:100%; height:100%; max-height:100%; padding:0; gap:0; overflow:hidden; box-sizing:border-box; font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif; }
#pms-detail-dialog [hidden] { display:none!important; }
#pms-detail-dialog .pms-detail-dialog > *,#pms-detail-dialog section,#pms-detail-dialog aside { min-width:0; }
#pms-detail-dialog h3 { margin:0 0 10px; font-size:15px; font-family:inherit; font-weight:650; color:#213e35; }
#pms-detail-dialog .muted { color:#5f7069; font-size:12px; line-height:1.6; margin:6px 0; }
.pms-reservation-header { padding:12px 20px 0; background:#fff; border-bottom:1px solid #dfe7e3; }
.pms-reservation-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.pms-reservation-title { min-width:0; flex:1; }
.pms-reservation-code { margin:0 0 4px; font-size:11px; letter-spacing:.03em; color:#62736b; }
.pms-reservation-header h2 { margin:0; font-size:20px; line-height:1.4; font-family:inherit; font-weight:650; overflow-wrap:anywhere; }
.pms-reservation-header .pms-detail-toolbar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:0; }
.pms-reservation-header button { min-height:44px; font-size:13px; white-space:nowrap; border-radius:8px; padding:8px 14px; }
.pms-reservation-header .icon-button { min-width:44px; width:44px; background:transparent; flex-shrink:0; font-size:22px; }
.pms-reservation-tabs { display:flex; gap:14px; margin-top:10px; }
.pms-reservation-tabs [role=tab] { background:transparent; color:#52665c; border:0; border-bottom:3px solid transparent; border-radius:0; padding:8px 10px; min-height:44px; }
.pms-reservation-tabs [aria-selected=true] { color:#123f31; border-bottom-color:#23654f; font-weight:700; }
.pms-reservation-tabs span { font-size:11px; color:#8b5b18; }
.pms-reservation-body { min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px 20px; scroll-padding-top:12px; }
.pms-reservation-body [role=tabpanel]:focus-visible { outline:2px solid #488c73; outline-offset:3px; }
.pms-reservation-stay { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,.8fr) auto; align-items:center; gap:16px; padding:12px 14px; border-radius:9px; background:#f3f7f4; }
.pms-reservation-stay div { min-width:0; }
.pms-reservation-stay div>span { display:block; font-size:11px; color:#596c61; margin-bottom:3px; }
.pms-reservation-stay strong { font-size:15px; font-weight:650; overflow-wrap:anywhere; }
.pms-reservation-stay strong small { display:inline-block; font-size:12px; font-weight:400; margin-left:5px; }
.pms-reservation-status { font-size:12px; padding:5px 8px; border-radius:5px; background:#e1eee5; color:#285943; }
.pms-reservation-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.48fr); gap:24px; padding-top:18px; }
.pms-reservation-main { min-width:0; }
.pms-reservation-note { padding:0 0 14px; }
.pms-reservation-note .pms-front-note-full { max-height:160px; overflow:auto; font-size:15px; line-height:1.75; padding-right:6px; }
.pms-reservation-contact { padding-top:12px; border-top:1px solid #e6ece8; }
.pms-reservation-caution { background:#fff5e6; border-left:3px solid #b07835; padding:12px; margin-bottom:12px; }
.pms-reservation-caution p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.pms-reservation-info { margin:0; font-size:13px; line-height:1.7; }
.pms-reservation-info>div { display:grid; grid-template-columns:74px minmax(0,1fr); gap:10px; padding:3px 0; }
.pms-reservation-info dt { color:#5a7065; font-size:12px; }
.pms-reservation-info dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.pms-reservation-more { margin-top:10px; border-top:1px solid #e6ece8; }
.pms-reservation-more summary { min-height:44px; cursor:pointer; padding:10px 0; box-sizing:border-box; color:#345749; font-size:13px; }
.pms-reservation-more summary small { margin-left:8px; color:#61746a; }
.pms-reservation-money { border-left:1px solid #e6ece8; padding-left:24px; }
.pms-reservation-amounts { margin:0; }
.pms-reservation-amounts>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:8px 0; }
.pms-reservation-amounts dt { color:#52665c; font-size:12px; }
.pms-reservation-amounts dt small { font-size:10px; }
.pms-reservation-amounts dd { margin:0; font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.pms-reservation-balance { border-top:1px solid #dbe5df; }
.pms-reservation-balance dd { color:#174c3c; }
.pms-reservation-money button { width:100%; min-height:44px; margin-top:10px; font-size:12px; }
#pms-detail-dialog .pms-reservation-footer { padding:8px 20px; border-top:1px solid #e6ece8; background:#fff; }
#pms-detail-dialog .pms-reservation-footer:has(#pms-lifecycle-actions:empty) { display:none; }
#pms-detail-dialog #pms-lifecycle-actions { margin:0; padding:0; border:0; gap:8px; }
#pms-lifecycle-actions button { min-height:44px; font-size:13px; }
.pms-reservation-accounting-summary { margin-bottom:20px; }
.pms-reservation-accounting-summary .pms-reservation-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pms-reservation-accounting-summary .pms-reservation-amounts>div { display:block; border:0; }
.pms-reservation-accounting-summary .pms-reservation-amounts dd { margin-top:4px; font-size:22px; }
#pms-detail-dialog .pms-detail-history { margin:0 0 20px; }
#pms-detail-dialog .pms-detail-payment { margin-top:16px; padding:0; border:1px solid #dce7e0; border-radius:8px; }
#pms-detail-dialog .pms-detail-payment summary { cursor:pointer; min-height:44px; padding:12px 16px; font-size:14px; box-sizing:border-box; }
#pms-detail-dialog .pms-detail-payment form { padding:0 16px 16px; }
#pms-detail-dialog .pms-service-plan { margin:0; }
.pms-front-note-full { white-space:pre-wrap; overflow-wrap:anywhere; }
.pms-booking-accounting .pms-booking-table-wrap { max-width:100%; overflow:auto; }
.pms-booking-accounting table { min-width:580px; }
.pms-booking-accounting small { color:#6a7a71; font-size:12px; font-weight:400; }
.pms-booking-accounting details { margin-top:12px; }
.pms-booking-accounting summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#244e43; }
@media(max-width:720px) {
  #pms-detail-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); max-height:calc(100dvh - 16px); }
  .pms-reservation-header { padding:10px 12px 0; }
  .pms-reservation-heading { flex-wrap:wrap; gap:8px; }
  .pms-reservation-title { flex-basis:100%; padding-right:36px; }
  .pms-reservation-header h2 { font-size:17px; }
  .pms-reservation-header .pms-detail-toolbar { width:100%; justify-content:flex-start; }
  .pms-reservation-header .icon-button { position:absolute; top:8px; right:8px; }
  .pms-reservation-tabs { gap:0; margin-top:6px; justify-content:space-between; }
  .pms-reservation-tabs [role=tab] { padding:8px 5px; font-size:12px; }
  .pms-reservation-tabs span { display:block; font-size:10px; line-height:1.1; }
  .pms-reservation-body { padding:12px; }
  .pms-reservation-stay { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:10px; }
  .pms-reservation-stay strong { font-size:13px; }
  .pms-reservation-status { justify-self:start; }
  .pms-reservation-overview { grid-template-columns:minmax(0,1fr); gap:12px; padding-top:14px; }
  .pms-reservation-money { padding:12px 0 0; border:0; border-top:1px solid #e6ece8; }
  .pms-reservation-amounts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .pms-reservation-amounts>div { display:block; border:0; }
  .pms-reservation-amounts dd,.pms-reservation-accounting-summary .pms-reservation-amounts dd { font-size:16px; }
  .pms-reservation-amounts dt { font-size:11px; }
  .pms-reservation-accounting-summary .pms-reservation-amounts { gap:8px; }
}
@media(max-height:620px) and (min-width:721px) { .pms-reservation-header { padding-top:8px; } .pms-reservation-header h2 { font-size:18px; } .pms-reservation-tabs { margin-top:4px; } .pms-reservation-body { padding-top:12px; } .pms-reservation-overview { padding-top:12px; gap:20px; } .pms-reservation-note .pms-front-note-full { max-height:96px; } }
@media print { body:has(.pms-viewport-v4),body:has(.pms-viewport-v4)>#app,.pms-workspace.pms-viewport-v4,.pms-viewport-v4>.pms-panel { height:auto;overflow:visible; } .pms-v4-today-switch,.pms-v4-pager { display:none; } }
