.login-page{min-height:100vh;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:#eef2f7;color:#172033}.login-panel{width:min(100%,420px);padding:28px;border:1px solid #dce3ed;border-radius:8px;background:#fff;box-shadow:0 18px 48px #1828401f}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid #e4e9f1}.login-brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#182840;color:#fff;font-size:20px;font-weight:950}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:18px}.login-brand span{margin-top:3px;color:#738096;font-size:12px}.login-heading{margin-top:28px}.login-heading>span{color:#3975dc;font-size:11px;font-weight:900;letter-spacing:0}.login-heading h1{margin:7px 0 6px;font-size:27px;letter-spacing:0}.login-heading p{margin:0;color:#738096;font-size:13px;line-height:1.55}.login-form{display:grid;gap:16px;margin-top:26px}.login-form label{display:grid;gap:7px}.login-form label>span{font-size:13px;font-weight:850}.login-form input{width:100%;height:50px;padding:0 14px;border:1px solid #cfd8e5;border-radius:6px;outline:none;background:#fff;color:#172033;font-size:16px}.login-form input:focus{border-color:#3975dc;box-shadow:0 0 0 3px #3975dc24}.login-form input:disabled{background:#f4f6fa;color:#738096}.login-form button{min-height:50px;margin-top:3px;border-radius:6px;background:#20395f;color:#fff;font-weight:900}.login-form button:disabled{cursor:wait;opacity:.65}.login-error{padding:11px 12px;border:1px solid #f0cbc8;border-radius:6px;background:#fff1f0;color:#9f2f2a;font-size:12px;line-height:1.5}.auth-loading,.auth-unavailable{text-align:center}.auth-loading{color:#738096;font-size:14px}.auth-unavailable h1{margin:0;font-size:22px;letter-spacing:0}.auth-unavailable p{margin:10px 0 20px;color:#738096;font-size:13px}.auth-unavailable button{min-height:44px;padding:0 20px;border-radius:6px;background:#20395f;color:#fff;font-weight:850}@media(max-width:480px){.login-page{align-items:stretch;padding-right:0;padding-left:0;background:#fff}.login-panel{width:100%;padding:24px 20px;border:0;box-shadow:none}}.operational-password{display:flex;align-items:baseline;gap:var(--pms-space-3);min-width:0;padding-block:var(--pms-space-2)}.operational-password>span{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.operational-password>strong{color:var(--pms-color-ink);font-size:var(--pms-font-section-title);font-variant-numeric:tabular-nums;letter-spacing:.06em;overflow-wrap:anywhere}.operational-disclosure{min-width:0;border-block-start:1px solid var(--pms-border);padding-block:var(--pms-space-2)}.operational-disclosure>summary{cursor:pointer;min-height:var(--pms-touch-target);display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-2);color:var(--pms-muted);font-size:var(--pms-font-body);font-weight:650}.operational-disclosure>summary:after{content:"＋";flex:none}.operational-disclosure[open]>summary:after{content:"−"}.operational-disclosure>summary:focus-visible{outline:2px solid var(--pms-primary);outline-offset:2px}.operational-disclosure>:not(summary){margin-block-start:var(--pms-space-2)}.operational-current-issues{display:grid;gap:var(--pms-space-2);min-width:0}.operational-current-issues h3{margin:0;font-size:var(--pms-font-card-title)}.operational-issue-row{display:flex;align-items:start;justify-content:space-between;gap:var(--pms-space-3);padding-block:var(--pms-space-2);border-bottom:1px solid var(--pms-border)}.operational-issue-row strong{min-width:0;overflow-wrap:anywhere}.operational-issue-row small{color:var(--pms-muted);flex:none}@media(max-width:640px){.operational-disclosure>summary{min-height:var(--pms-touch-target-mobile)}}.room-notice-summary{display:grid;gap:var(--pms-space-3);padding-block:var(--pms-space-4);border-top:1px solid var(--pms-color-line)}.room-notice-summary>header,.room-notice-summary>footer{display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-3)}.room-notice-summary>header h3{margin:0;font-size:var(--pms-font-card-title)}.room-notice-summary>header>span,.room-notice-empty{color:var(--pms-color-muted);font-size:var(--pms-font-table)}.room-notice-summary p{margin:0}.room-notice-list{display:grid}.room-notice-row{display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-3);width:100%;min-height:var(--pms-touch-target);padding:var(--pms-space-3) 0;border:0;border-bottom:1px solid var(--pms-color-line);border-radius:0;background:transparent;color:var(--pms-color-ink);text-align:left}.room-notice-row>span:first-child{display:grid;min-width:0;gap:var(--pms-space-1)}.room-notice-row strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-size:var(--pms-font-body);line-height:var(--pms-line-body)}.room-notice-row small{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.room-notice-row .room-notice-action{flex:0 0 auto;font-size:var(--pms-font-table);color:var(--pms-color-navy-800);font-weight:var(--pms-weight-bold)}.room-notice-summary .room-notice-all,.room-notice-summary>footer button{min-height:var(--pms-touch-target);padding:var(--pms-space-2);border:0;border-radius:var(--pms-radius-control);background:transparent;color:var(--pms-color-navy-800);font-size:var(--pms-font-table);text-align:left}.room-notice-summary>footer{justify-content:flex-end}.room-notice-summary .room-notice-history{margin:0}.room-notice-summary button:focus-visible{outline:2px solid var(--pms-color-blue-700);outline-offset:2px}.mobile-today-work{display:grid;gap:12px;padding:16px;border:1px solid var(--pms-color-line, #dce3ee);border-radius:14px;background:#fff}.mobile-today-work>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.mobile-today-work>header span,.mobile-today-work>header small{color:#66758a;font-size:12px;font-weight:750}.mobile-today-work>header h2{margin:3px 0 0;font-size:19px}.mobile-operations-date{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px}.mobile-operations-date button{min-width:44px;min-height:44px;border:1px solid #d7e0ea;border-radius:10px;background:#fff;color:#253b55;font-size:20px}.mobile-operations-date strong{min-width:0;text-align:center;font-size:15px}.mobile-operations-date .today{grid-column:1 / -1;justify-self:center;min-height:36px;padding:0 16px;font-size:13px;font-weight:800}.mobile-today-work-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-today-work-counts button{display:grid;min-width:0;min-height:58px;place-items:center;gap:2px;padding:7px;border:1px solid #d7e0ea;border-radius:11px;background:#f8fafc;color:#31465f}.mobile-today-work-counts button.has-work{border-color:#adc4dd;background:#eef6ff}.mobile-today-work-counts span{font-size:12px;font-weight:800}.mobile-today-work-counts strong{font-size:21px}.mobile-today-work-sheet{display:grid;gap:10px}.mobile-today-work-card{display:grid;width:100%;min-height:76px;gap:6px;padding:14px;border:1px solid #d9e1eb;border-radius:12px;background:#fff;color:#1c2d42;text-align:left}.mobile-today-work-card strong{font-size:15px}.mobile-today-work-card span{color:#344b65;font-size:13px;line-height:1.45}.mobile-today-work-card small{color:#68788d;font-weight:750}.mobile-task-linked-issue{display:grid;gap:3px;padding:8px 10px;border-radius:8px;background:#fff6e8;color:#804d0d!important}.mobile-task-linked-issue b{font-size:12px}.mobile-today-work-empty{margin:0;padding:28px 12px;color:#68788d;text-align:center}.mobile-today-work-empty.compact-empty{padding:12px;border-radius:10px;background:#f8fafc}.mobile-task-location{color:#52667e!important;font-size:12px!important;font-weight:800}.mobile-today-work-card.urgent{border-color:#efb8b3;background:#fff7f6}.mobile-task-urgent-reason{color:#9f2f2a!important;font-weight:750}.mobile-urgent-work,.mobile-operations-schedule{display:grid;gap:8px}.mobile-urgent-work h3,.mobile-operations-schedule h3{margin:0;font-size:15px}.mobile-urgent-work>div{display:grid;gap:8px}.mobile-operations-schedule>div{display:grid;border-top:1px solid #e4e9ef}.mobile-operations-schedule button{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;width:100%;min-height:44px;align-items:center;padding:8px 4px;border:0;border-bottom:1px solid #e4e9ef;background:transparent;color:#263b54;text-align:left}.mobile-operations-schedule time{color:#5f7186;font-size:12px;font-weight:800}.mobile-operations-schedule span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}@media(max-width:47.99rem){.role-aware-home>.role-home-summary,.role-aware-home>.ops-work-grid{display:none}}@media(max-width:22.5rem){.mobile-today-work{padding:13px}.mobile-today-work-counts{gap:6px}.mobile-today-work-counts button{padding:6px}.mobile-today-work-counts span{font-size:11px}}@media(min-width:68.75rem){.mobile-today-work{display:none}}.reservation-view{display:grid;gap:18px}.reservation-presence-controls{display:flex;flex-wrap:wrap;gap:8px}.reservation-presence-controls.detail{margin:12px 0;padding:12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.reservation-presence-action,.reservation-presence-complete button{min-height:44px;padding:0 14px;border:1px solid #2f6499;border-radius:9px;background:#2f6499;color:#fff;font-weight:850}.reservation-presence-action.correction,.reservation-presence-complete button{border-color:#d2dae4;background:#fff;color:#42566d}.reservation-presence-complete{display:grid;min-width:0;flex:1 1 180px;gap:3px;padding:9px 11px;border-radius:9px;background:#eaf7f0;color:#196245}.reservation-presence-complete span{font-size:13px;font-weight:900}.reservation-presence-complete small{color:#4d6c60;font-size:12px}.reservation-presence-complete button{margin-top:5px}.reservation-presence-loading{color:#68788d;font-size:12px}.reservation-presence-dialog{display:grid;width:min(100%,34rem);max-height:min(85dvh,var(--pms-overlay-viewport-height, 100dvh));grid-template-rows:auto minmax(0,1fr) auto;margin-inline:auto;overflow:hidden;border-radius:20px 20px 0 0;background:#fff}.reservation-presence-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #dce4ed}.reservation-presence-dialog>header span{color:#68788d;font-size:12px}.reservation-presence-dialog>header h2{margin:3px 0 0;font-size:19px}.reservation-presence-dialog>header button{width:44px;height:44px;border-radius:10px;background:#eef2f6;font-size:23px}.reservation-presence-dialog-body{min-height:0;overflow-y:auto;padding:18px}.reservation-presence-dialog-body p{margin:0 0 14px;line-height:1.55}.reservation-presence-dialog-body label{display:grid;gap:6px;font-size:13px;font-weight:800}.reservation-presence-dialog-body textarea{min-height:88px;padding:10px 12px;border:1px solid #cbd6e2;border-radius:9px;font:inherit;resize:vertical}.reservation-presence-dialog>footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #dce4ed}.reservation-presence-dialog>footer button{min-height:48px;border-radius:9px}.reservation-presence-error{padding:10px;border-radius:8px;background:#fff0f0;color:#a52626;font-weight:750}.reservation-month-calendar{display:grid;gap:14px;padding:18px;border:1px solid var(--pms-border, #d9e0e7);border-radius:22px;background:#fff;box-shadow:0 12px 32px #16253a0f}.reservation-calendar-header{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px}.reservation-calendar-header>div{min-width:0;text-align:center}.reservation-calendar-header span{display:block;margin-bottom:2px;color:#788596;font-size:var(--pms-font-caption, .75rem);font-weight:850}.reservation-calendar-header h2{margin:0;color:#1d2b3e;font-size:20px;letter-spacing:-.04em}.reservation-calendar-header>button{min-width:44px;min-height:44px;border:1px solid #dce4ec;border-radius:14px;color:#244b78;background:#f8fafc;font-size:25px;font-weight:900}.reservation-calendar-header>button:hover{border-color:#b7c7d9;background:#eef4fb}.reservation-calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.reservation-calendar-legend span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border-radius:999px;color:#566579;background:#f4f7fa;font-size:var(--pms-font-caption, .75rem);font-weight:800}.reservation-calendar-legend span:before{width:7px;height:7px;border-radius:50%;background:#64748b;content:""}.reservation-calendar-legend .checkin:before{background:#3975dc}.reservation-calendar-legend .checkout:before{background:#d7842f}.reservation-calendar-legend .turnover:before{background:linear-gradient(90deg,#d7842f 0 49%,#3975dc 51% 100%)}.reservation-calendar-week,.reservation-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.reservation-calendar-week span{padding:3px 0;color:#8793a4;font-size:var(--pms-font-caption, .75rem);font-weight:850;text-align:center}.reservation-calendar-grid>button{position:relative;display:grid;align-content:start;min-width:0;min-height:92px;gap:6px;padding:8px 7px;border:1px solid #e7ebf0;border-radius:13px;color:#1f2937;background:#fbfcfe;overflow:hidden;text-align:left}.reservation-calendar-grid>button:hover{border-color:#c9d5e2;background:#f5f8fc}.reservation-calendar-grid>button.other-month{opacity:.32}.reservation-calendar-grid>button.today{background:#eef6ff}.reservation-calendar-grid>button.selected{padding:7px 6px;border:2px solid #294f7d;background:#f1f6fc;box-shadow:0 6px 16px #294f7d1a}.reservation-calendar-date{color:#3975dc;font-size:15px;font-weight:950;line-height:1}.reservation-calendar-grid>button.selected .reservation-calendar-date{color:#173c66}.reservation-calendar-events{display:grid;gap:4px;min-width:0}.reservation-calendar-events small{display:flex;align-items:center;gap:4px;min-width:0;color:#334155;font-size:var(--pms-font-caption, .75rem);line-height:1.15;overflow:hidden}.reservation-calendar-events b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-calendar-markers{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px}.reservation-calendar-markers i{display:block;width:5px;height:5px;border-radius:50%}.reservation-calendar-markers i.checkin{background:#3975dc}.reservation-calendar-markers i.checkout{background:#d7842f}.reservation-calendar-events .more{color:#7b8797;font-weight:900}.reservation-calendar-selected{display:grid;gap:10px;padding-top:14px;border-top:1px solid #e7ecf1}.reservation-calendar-selected>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.reservation-calendar-selected>header span{display:block;color:#7b8795;font-size:var(--pms-font-caption, .75rem);font-weight:800}.reservation-calendar-selected>header h3{margin:2px 0 0;color:#1f2d40;font-size:17px;letter-spacing:-.025em}.reservation-calendar-selected>header>small{color:#667587;font-size:12px;font-weight:800;white-space:nowrap}.reservation-calendar-empty{margin:0;padding:20px 14px;border:1px dashed #d7dfe8;border-radius:14px;color:#768294;background:#fafbfd;text-align:center}.reservation-calendar-selected-list{display:grid;gap:9px}.reservation-calendar-secondary-actions{display:flex;justify-content:flex-end}.reservation-calendar-cleaning-toggle{display:inline-flex;min-height:40px;align-items:center;gap:9px;padding:0 13px;border:1px solid #ccd7e3;border-radius:999px;color:#40566d;background:#fff;font-size:13px;font-weight:850}.reservation-calendar-cleaning-toggle[aria-pressed=true]{border-color:#2f6499;color:#244f7c;background:#eef5fb}.reservation-calendar-cleaning-list{display:grid;gap:9px}.reservation-calendar-cleaning-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid #d9e6dc;border-left:4px solid #4d9560;border-radius:15px;background:#fbfefb}.reservation-calendar-cleaning-row>div{display:flex;min-width:0;align-items:center;gap:10px}.reservation-calendar-cleaning-state{flex:0 0 auto;color:#3f7250;font-size:12px;font-weight:850}.reservation-calendar-cleaning-time{display:grid;gap:2px}.reservation-calendar-cleaning-time small{color:#748175;font-size:12px;font-weight:800}.reservation-calendar-cleaning-time strong{color:#26382c;font-size:13px;white-space:nowrap}.reservation-calendar-selected-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;padding:10px;border:1px solid #e1e7ed;border-radius:15px;background:#fff;box-shadow:0 5px 16px #1f2d400a}.reservation-calendar-selected-row.turnover{border-left:4px solid #8f6fba}.reservation-calendar-selected-row.checkin{border-left:4px solid #3975dc}.reservation-calendar-selected-row.checkout{border-left:4px solid #d7842f}.reservation-calendar-open-detail{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto;gap:10px;align-items:center;min-width:0;padding:5px 6px;border:0;color:inherit;background:transparent;text-align:left}.reservation-calendar-room{display:grid;gap:2px;min-width:0}.reservation-calendar-room strong{min-width:0;color:#1e2c3f;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-calendar-room small{color:#758195;font-size:var(--pms-font-caption, .75rem)}.reservation-calendar-state{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;color:#536276;background:#f0f4f8;font-size:var(--pms-font-caption, .75rem);font-weight:850;white-space:nowrap}.reservation-calendar-times{display:grid;gap:3px;color:#4d5d70;font-size:var(--pms-font-caption, .75rem);font-weight:800;white-space:nowrap}.reservation-calendar-row-actions{display:flex;align-items:stretch;gap:7px}.reservation-calendar-context-action{min-height:44px;padding:0 12px;border:1px solid #c7d3df;border-radius:11px;color:#234a75;background:#f6f9fc;font-size:12px;font-weight:850;white-space:nowrap}.reservation-calendar-context-action.primary{border-color:#294f7d;color:#fff;background:#294f7d}.reservation-loading{min-height:180px;padding:36px 20px;border:1px dashed var(--pms-border);border-radius:8px;color:var(--pms-muted);background:#fff;text-align:center}.reservation-mobile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-metric{min-width:0;padding:13px 11px;border:1px solid var(--pms-border);border-radius:8px;background:#fff}.reservation-metric span,.reservation-metric strong{display:block}.reservation-metric span{overflow:hidden;color:var(--pms-muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.reservation-metric strong{margin-top:7px;color:var(--pms-ink);font-size:24px}.reservation-metric.checkin{border-top:3px solid #3975dc}.reservation-metric.checkout{border-top:3px solid #7560aa}.reservation-metric.staying{border-top:3px solid var(--pms-success)}.reservation-metric.review{border-top:3px solid #c17a18}.reservation-toolbar{display:grid;gap:12px;padding:14px;border:1px solid var(--pms-border);border-radius:8px;background:#fff}.reservation-date-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 58px;gap:7px}.reservation-date-controls button,.reservation-date-controls input,.reservation-selects select,.reservation-filters button{min-height:44px;border:1px solid var(--pms-border);border-radius:6px;background:#fff;color:var(--pms-ink)}.reservation-date-controls button{color:var(--pms-accent);font-size:20px;font-weight:900}.reservation-date-controls input{width:100%;min-width:0;padding:0 9px}.reservation-date-controls .reservation-today{background:var(--pms-primary-soft);color:var(--pms-primary);font-size:12px}.reservation-actions,.reservation-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.reservation-primary,.reservation-secondary,.reservation-reset{min-height:44px;padding:0 14px;border-radius:6px;font-size:12px;font-weight:850}.reservation-primary{background:var(--pms-primary);color:#fff}.reservation-secondary{border:1px solid var(--pms-border);background:#fff;color:var(--pms-primary)}.reservation-reset{border:1px solid #e8c27d;background:#fff8e8;color:#8b5a10}.reservation-selects select{width:100%;min-width:0;padding:0 10px}.reservation-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}.reservation-filters button{min-width:78px;flex:1 0 auto;padding:0 12px;color:var(--pms-muted);font-size:13px;font-weight:850}.reservation-filters button.active{border-color:var(--pms-primary);background:var(--pms-primary);color:#fff}.reservation-property{min-width:0;border:1px solid var(--pms-border);background:#f8fafc}.reservation-property>header{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--pms-border)}.reservation-property>header>div{min-width:0}.reservation-property>header span{color:var(--pms-muted);font-size:12px;font-weight:800}.reservation-property>header h2{margin:4px 0 0;min-width:0;overflow-wrap:anywhere;font-size:18px;letter-spacing:0}.reservation-property>header>strong{flex:0 0 auto;color:var(--pms-muted);font-size:12px;white-space:nowrap}.reservation-room-grid{--pms-adaptive-card-min: 24rem;display:grid;min-width:0;grid-template-columns:var(--pms-adaptive-card-columns);align-items:start;justify-content:start;gap:16px;padding:18px}.reservation-room-grid.is-single-room{grid-template-columns:min(100%,calc(var(--pms-adaptive-card-min) + var(--pms-adaptive-card-min) + var(--pms-space-4)));justify-content:center}.reservation-room{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--pms-border);border-radius:var(--pms-radius-card, 12px);background:#fff;box-shadow:0 5px 16px #172a430b}.reservation-room.is-empty{border-color:#dbe3ec;background:#fbfcfd;box-shadow:none}.reservation-room>header{display:flex;min-width:0;min-height:42px;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 15px;border-bottom:1px solid #e6ebf1}.reservation-room>header>div{min-width:0}.reservation-room>header strong,.reservation-room>header span{display:block}.reservation-room>header strong{overflow-wrap:anywhere;font-size:15px}.reservation-room>header span{margin-top:4px;color:var(--pms-muted);font-size:12px}.turnover-badge{flex:0 0 auto;padding:5px 7px;border-radius:5px;color:#8b5a10;background:#fff1ce;font-size:12px}.room-current-state{display:inline-flex;min-height:28px;align-items:center;padding:4px 8px;border-radius:999px;color:#40566f;background:#edf2f7;font-size:12px;font-style:normal;white-space:nowrap}.room-current-state.state-vacant{color:#23704f;background:#e8f6ef}.room-current-state.state-turnover{color:#8b5a10;background:#fff1ce}.room-current-state.state-checkin{color:#245eae;background:#eaf2ff}.room-current-state.state-checkout{color:#76501e;background:#fff4df}.room-current-state.state-occupied{color:#176448;background:#e5f7ef}.reservation-card-list{display:grid;min-width:0;gap:0}.reservation-card{position:relative;display:grid;min-width:0;gap:12px;padding:15px 16px 16px;border:0;border-bottom:1px solid #e6ebf1;border-left:3px solid #97a4b6;background:#fff;color:var(--pms-ink);text-align:left}.reservation-card:last-child{border-bottom:0}.reservation-card.checkin{border-left-color:#3975dc}.reservation-card.checkout{border-left-color:#7560aa}.reservation-card.staying{border-left-color:var(--pms-success)}.reservation-card.cancelled{border-left-color:#8a96a6;background:#fafbfc;color:#5b6878}.reservation-card-header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:12px}.reservation-card-header>div:first-child{display:grid;min-width:0;gap:3px}.reservation-card-header small{color:var(--pms-muted);font-size:12px;font-weight:800}.reservation-card-header strong{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-size:16px;line-height:1.4}.reservation-card-status-group{display:flex;min-width:0;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:5px}.reservation-card-status,.reservation-card-attention{display:inline-flex;min-height:26px;align-items:center;padding:4px 8px;border-radius:999px;background:#eef3f8;color:#40566f;font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap}.reservation-card.checkin .reservation-card-status{background:#eaf2ff;color:#245eae}.reservation-card.checkout .reservation-card-status{background:#fff4df;color:#76501e}.reservation-card.staying .reservation-card-status{background:#e5f7ef;color:#176448}.reservation-card.cancelled .reservation-card-status{background:#edf0f3;color:#5b6878}.reservation-card-attention{background:#fff0ee;color:#9c3730}.reservation-card-times{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reservation-card-times>span{display:grid;min-width:0;gap:3px}.reservation-card-times>span+span{padding-left:12px;border-left:1px solid #e2e8f0}.reservation-card-times small,.reservation-card-door-code small{color:#64748b;font-size:12px;font-weight:850}.reservation-card-times strong{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.4}.reservation-card-door-code{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 0;border-right:0;border-top:1px solid #eef2f6;border-bottom:1px solid #eef2f6;border-left:0;border-radius:0;background:transparent;color:#334155;font:inherit;text-align:left}.reservation-card-door-code>span{display:flex;min-width:0;align-items:baseline;gap:8px}.reservation-card-door-code b{min-width:0;overflow-wrap:anywhere;color:#1f334b;font-size:14px}.reservation-card-door-code em{flex:0 0 auto;color:#64748b;font-size:12px;font-style:normal;font-weight:850;white-space:nowrap}.reservation-card-door-code[data-tone=attention] em{color:#9c3730}.reservation-card-door-code:is(button){cursor:pointer}.reservation-card-door-code:is(button):focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.reservation-card-door-code em.confirmation-required{background:var(--pms-color-warning-soft);color:var(--pms-color-warning)}.reservation-card-door-code em.confirmed{background:#dcfce7;color:#166534}.reservation-card-door-code.quick-confirmation{cursor:pointer;box-shadow:inset 0 0 0 1px var(--pms-color-warning);background:var(--pms-color-warning-soft)}.reservation-card-door-code.quick-confirmation:focus-visible{outline:3px solid color-mix(in srgb,var(--pms-color-warning) 24%,transparent);outline-offset:2px}.reservation-card-door-code-direct>button{min-height:36px;padding:0 10px;border:1px solid var(--pms-color-warning);border-radius:var(--pms-radius-control, 10px);color:var(--pms-color-warning);background:#fff;font-size:12px;font-weight:900}.reservation-card-task-count{width:fit-content;padding:3px 7px;border-radius:999px;background:#e8eef7;color:#294565;font-size:12px;font-weight:900}.reservation-card-priority-issue{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;color:#9a3412;font-size:12px;font-weight:800;overflow-wrap:anywhere}.reservation-card-memo-preview,.reservation-summary-memo-preview{display:grid;min-width:0;gap:3px;padding:9px 10px;border:0;border-radius:8px;background:#f3f6f9;color:#34465c;text-align:left}.reservation-card-memo-preview small,.reservation-summary-memo-preview small{color:#5d7695;font-size:12px;font-weight:900}.reservation-card-memo-preview span,.reservation-summary-memo-preview span,.mobile-reservation-memo-preview span{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.reservation-card-memo-preview:focus-visible,.reservation-card-detail:focus-visible,.reservation-room-add:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.reservation-summary-memo-preview{width:100%;margin-bottom:12px;cursor:pointer}.reservation-door-code-retry{min-height:30px;padding:5px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-size:12px;font-weight:800;white-space:nowrap}.reservation-detail-door-code{display:inline-flex;align-items:center;gap:8px}.reservation-detail-door-code b{font-size:17px;color:#0f172a}.reservation-detail-door-code em{padding:3px 7px;border-radius:999px;font-size:12px;font-style:normal;font-weight:900}.reservation-detail-door-code em.confirmation-required{background:var(--pms-color-warning-soft);color:var(--pms-color-warning)}.reservation-detail-door-code em.confirmed{background:#dcfce7;color:#166534}.reservation-empty{display:grid;min-height:72px;align-content:center;gap:3px;margin:0;padding:17px 15px 9px;color:var(--pms-muted);font-size:13px}.reservation-empty strong,.reservation-empty span{display:block}.reservation-empty strong{color:#566679;font-size:13px}.reservation-empty span{font-size:12px}.reservation-card-footer{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:2px}.reservation-card-meta{display:grid;min-width:0;gap:5px}.reservation-card-meta em{min-width:0;overflow-wrap:anywhere;color:var(--pms-muted);font-size:12px;font-style:normal}.reservation-card-detail{min-height:40px;flex:0 0 auto;padding:0 13px;border:1px solid #b8c7d8;border-radius:var(--pms-radius-control, 8px);background:#fff;color:#294f7d;font-size:13px;font-weight:900}.reservation-card-linked-actions{display:flex;min-width:0;flex-wrap:wrap;gap:7px;padding-top:2px}.reservation-room-add{width:auto;min-height:40px;align-self:flex-start;margin:10px 15px 14px;padding:0 12px;border:1px solid #c5d1df;border-radius:var(--pms-radius-control, 8px);background:#fff;color:#4b6f9c;font-size:13px;font-weight:850}.reservation-modal-backdrop{position:fixed;z-index:var(--pms-z-overlay);inset:0;display:grid;align-items:end;padding:0;background:#111b2b85}.reservation-modal{display:flex;min-height:0;width:100%;max-height:min(92vh,calc(var(--pms-overlay-viewport-height, 100dvh) - 48px));flex-direction:column;overflow:hidden;padding:0;border-radius:8px 8px 0 0;background:#fff}.reservation-modal>header{display:flex;min-width:0;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:var(--pms-space-4) var(--pms-space-4) var(--pms-space-3);border-bottom:1px solid var(--pms-color-line)}.reservation-modal>header span{color:var(--pms-accent);font-size:12px;font-weight:900}.reservation-modal>header h2{margin:4px 0 0;font-size:20px;letter-spacing:0;overflow-wrap:anywhere}.reservation-modal>header>button{display:grid;width:var(--pms-touch-target);height:var(--pms-touch-target);flex:0 0 var(--pms-touch-target);place-items:center;padding:0;border:1px solid var(--pms-border);border-radius:6px;background:#fff;color:var(--pms-muted);font-size:24px;line-height:1}.reservation-form-grid{display:grid;gap:13px}.reservation-form-grid label{display:grid;gap:6px}.reservation-form-grid label>span{color:#526178;font-size:12px;font-weight:850}.reservation-form-grid input,.reservation-form-grid select,.reservation-form-grid textarea{width:100%;min-width:0;min-height:44px;padding:10px 11px;border:1px solid var(--pms-border);border-radius:6px;color:var(--pms-ink);background:#fff}.reservation-form-grid input,.reservation-form-grid select,.reservation-form-grid textarea{font-size:16px}.reservation-form-grid label>small{display:block;color:#64748b;font-size:12px;margin-top:4px}.reservation-form-grid label>strong{display:flex;align-items:center;min-height:46px;padding:0 12px;border-radius:8px;background:#f1f5f9}.reservation-phone4-permission-note{align-self:center;margin:0;color:#64748b;font-size:13px;line-height:1.5}.reservation-cleaning-toggle{display:flex!important;grid-template-columns:24px 1fr!important;align-items:center;gap:10px}.reservation-cleaning-toggle input{width:22px;height:22px;min-height:22px}.reservation-form-grid textarea{min-height:88px;resize:vertical}.calendar-active input{width:24px;min-height:24px}.reservation-form-grid .calendar-reveal{display:flex;min-height:40px;align-items:center;gap:9px}.reservation-form-grid .calendar-reveal input{width:22px;min-height:22px}.reservation-origin,.calendar-sync-status{display:grid;gap:5px;margin-top:15px;padding:12px;border-left:3px solid var(--pms-accent);background:var(--pms-primary-soft)}.reservation-origin strong,.calendar-sync-status strong{font-size:13px}.reservation-origin span,.calendar-sync-status span{color:#50617a;font-size:12px}.reservation-origin b{color:var(--pms-ink);font-size:12px}.reservation-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.reservation-hub-tabs{display:flex;min-width:0;flex:0 0 auto;gap:var(--pms-space-2);margin:0;padding:var(--pms-space-3) var(--pms-space-4);overflow-x:auto;border-bottom:1px solid var(--pms-color-line);background:var(--pms-color-surface);scrollbar-width:thin}.reservation-hub-tabs button{min-width:max-content;min-height:40px;flex:0 0 auto;padding:var(--pms-space-2) var(--pms-space-3);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-pill);color:var(--pms-color-muted);background:var(--pms-color-surface);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold);white-space:nowrap}.reservation-hub-tabs button.active{border-color:var(--pms-color-navy-800);color:var(--pms-color-surface);background:var(--pms-color-navy-800)}.reservation-hub-tabs button:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}.reservation-tab-scroll-hint{display:none}.reservation-copy-preview{display:grid;width:min(100%,620px);max-height:min(85dvh,720px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 24px 64px #0f172a3d}.reservation-copy-preview>header{position:sticky;top:0;padding:16px 18px;border-bottom:1px solid var(--pms-border);background:#fff}.reservation-copy-preview>footer{position:sticky;bottom:0;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--pms-border);background:#fff}.reservation-copy-preview>header,.reservation-copy-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.reservation-copy-preview h2{margin:3px 0 0;font-size:20px}.reservation-copy-preview header span{color:#5d7ba4;font-size:12px;font-weight:900}.reservation-copy-preview header>button{width:44px;height:44px;border-radius:12px;background:#edf2f7}.reservation-copy-preview pre{min-height:0;margin:0;padding:18px;overflow:auto;overscroll-behavior:contain;border:1px solid #dce3ec;border-radius:12px;background:#f8fafc;font:inherit;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.reservation-copy-preview>footer{justify-content:flex-end}.reservation-detail-meta span,.reservation-detail-meta strong{padding:6px 8px;border-radius:5px;font-size:12px}.reservation-detail-meta span{color:#3f5876;background:#edf3f9}.reservation-detail-meta strong{color:#8b5a10;background:#fff1ce}.reservation-history{display:grid;gap:8px;margin-top:15px;padding:12px;border:1px solid var(--pms-border);border-radius:6px;background:#fff}.reservation-history>strong{font-size:13px}.reservation-history>span{color:var(--pms-muted);font-size:12px}.reservation-history>div{display:flex;min-width:0;justify-content:space-between;gap:12px;padding-top:7px;border-top:1px solid #edf1f5}.reservation-history span,.reservation-history time{color:#526178;font-size:12px}.reservation-history time{flex:0 0 auto}.reservation-form-grid input:disabled,.reservation-form-grid select:disabled,.reservation-form-grid textarea:disabled{color:#64748b;background:#f3f6f9}.reservation-form-error{margin-top:12px;padding:10px 12px;color:var(--pms-danger);background:#fff0ef;font-size:13px}.reservation-modal>footer{display:flex;min-width:0;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:var(--pms-space-3) var(--pms-space-4) calc(var(--pms-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--pms-border);background:#fff}.reservation-modal-identity,.reservation-modal-title-row,.reservation-modal-period,.reservation-modal-body,.reservation-summary-overview,.reservation-presence-detail,.reservation-detail-readonly,.reservation-detail-edit-section{min-width:0}.reservation-modal-identity{display:grid;flex:1 1 auto;gap:var(--pms-space-1)}.reservation-modal-title-row{display:flex;align-items:center;gap:var(--pms-space-2)}.reservation-modal-title-row h2{min-width:0}.reservation-modal-status{flex:0 0 auto;padding:4px 8px;border-radius:var(--pms-radius-pill);color:var(--pms-color-blue-700);background:var(--pms-color-blue-50);font-size:var(--pms-font-caption);line-height:1.4}.reservation-modal-status[data-tone=staying]{color:var(--pms-color-success);background:var(--pms-color-success-soft)}.reservation-modal-status[data-tone=cancelled]{color:var(--pms-color-danger);background:var(--pms-color-danger-soft)}.reservation-modal-status[data-tone=checkout]{color:var(--pms-color-warning);background:var(--pms-color-warning-soft)}.reservation-modal-period{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pms-space-2);color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.reservation-modal>header .reservation-modal-period span{min-width:0;color:inherit;font-weight:var(--pms-weight-medium);overflow-wrap:anywhere}.reservation-modal-period em{padding:2px 6px;border-radius:var(--pms-radius-pill);background:var(--pms-color-surface-soft);font-style:normal;font-weight:var(--pms-weight-bold)}.reservation-modal-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--pms-space-4);scrollbar-gutter:stable}.reservation-detail-meta{align-items:center}.reservation-detail-door-code{min-height:36px;padding:5px 8px;border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-control);background:var(--pms-color-surface);color:var(--pms-color-muted);cursor:pointer}.reservation-detail-door-code:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}.reservation-summary-overview{display:grid;gap:var(--pms-space-4)}.reservation-summary-overview>header,.reservation-presence-detail>header,.reservation-detail-readonly>header,.reservation-detail-section-heading{display:grid;gap:var(--pms-space-1)}.reservation-summary-overview>header h3,.reservation-presence-detail>header h3,.reservation-detail-readonly>header h3,.reservation-detail-section-heading h3{margin:0;color:var(--pms-color-ink);font-size:var(--pms-font-section-title)}.reservation-summary-overview>header span,.reservation-presence-detail>header span,.reservation-detail-readonly>header span,.reservation-detail-section-heading>span{color:var(--pms-unit-accent, var(--pms-color-blue-700));font-size:var(--pms-font-caption);font-weight:var(--pms-weight-heavy)}.reservation-summary-overview>header p,.reservation-presence-detail>header p,.reservation-detail-readonly>header p,.reservation-detail-section-heading p{margin:0;color:var(--pms-color-muted);font-size:var(--pms-font-table);line-height:1.5}.reservation-summary-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pms-space-2)}.reservation-summary-schedule article{display:grid;min-width:0;gap:var(--pms-space-1);padding:var(--pms-space-3);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-card);background:var(--pms-color-surface)}.reservation-summary-schedule article span{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.reservation-summary-schedule article strong{overflow-wrap:anywhere;font-size:var(--pms-font-table)}.reservation-summary-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--pms-space-2)}.reservation-summary-links .reservation-summary-memo-preview{margin:0}.reservation-presence-detail{display:grid;gap:var(--pms-space-3)}.reservation-presence-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pms-space-3)}.reservation-presence-stage{display:grid;min-width:0;align-content:start;gap:var(--pms-space-3);padding:var(--pms-space-3);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-card);background:var(--pms-color-surface-soft)}.reservation-presence-stage>header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:var(--pms-space-2)}.reservation-presence-stage>header h4{margin:2px 0 0;overflow-wrap:anywhere;font-size:var(--pms-font-card-title)}.reservation-presence-stage>header span{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.reservation-presence-stage>header>strong{flex:0 0 auto;color:var(--pms-color-blue-700);font-size:var(--pms-font-caption)}.reservation-presence-stage[data-presence-status=confirmed]>header>strong{color:var(--pms-color-success)}.reservation-presence-stage dl{display:grid;gap:var(--pms-space-2);margin:0}.reservation-presence-stage dl>div{display:grid;grid-template-columns:minmax(6rem,.8fr) minmax(0,1.2fr);gap:var(--pms-space-2)}.reservation-presence-stage dt{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.reservation-presence-stage dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--pms-font-table);font-weight:var(--pms-weight-bold)}.reservation-presence-stage-actions{display:flex;flex-wrap:wrap;gap:var(--pms-space-2);margin-top:auto}.reservation-presence-stage-actions button{min-height:var(--pms-touch-target)}.reservation-presence-exception{border-color:var(--pms-color-warning);color:var(--pms-color-warning);background:var(--pms-color-warning-soft)}.reservation-presence-unavailable{margin:0;padding:var(--pms-space-3);border-radius:var(--pms-radius-control);color:var(--pms-color-danger);background:var(--pms-color-danger-soft);font-size:var(--pms-font-table)}.reservation-detail-readonly,.reservation-detail-edit-section{display:grid;gap:var(--pms-space-3);margin-top:var(--pms-space-4);padding-top:var(--pms-space-4);border-top:1px solid var(--pms-color-line)}.reservation-detail-readonly dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pms-space-2);margin:0}.reservation-detail-readonly dl>div,.reservation-readonly-field{display:grid;min-width:0;gap:var(--pms-space-1);padding:var(--pms-space-3);border-radius:var(--pms-radius-control);background:var(--pms-color-surface-soft)}.reservation-detail-readonly dt,.reservation-readonly-field>span{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.reservation-detail-readonly dd,.reservation-readonly-field>strong{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--pms-font-table)}.reservation-readonly-field>small{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.reservation-form-grid :is(input,select,textarea):focus-visible,.reservation-memo-editor textarea:focus-visible,.actual-checkout-editor input:focus-visible,.reservation-time-edit-grid input:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:1px;border-color:var(--pms-color-blue-700)}.reservation-memo-editor textarea{max-width:100%;overflow-wrap:anywhere}.reservation-inline-panel,.reservation-inline-panel :is(article,p,span,strong){min-width:0;overflow-wrap:anywhere}.reservation-modal-context-actions,.reservation-modal-main-actions{display:flex;min-width:0;flex-wrap:wrap;gap:var(--pms-space-2)}.reservation-modal-main-actions{margin-left:auto}.reservation-modal-footer button{min-height:var(--pms-touch-target)}.reservation-toast{position:fixed;z-index:120;right:14px;bottom:92px;left:14px;padding:13px 16px;border-radius:6px;color:#fff;background:#173a31;box-shadow:0 10px 28px #111b2b33;font-size:13px;font-weight:800;text-align:center}@media(min-width:760px){.reservation-mobile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.reservation-toolbar{grid-template-columns:minmax(340px,1fr) auto;align-items:center}.reservation-date-controls{max-width:480px}.reservation-actions{grid-template-columns:repeat(2,auto)}.reservation-selects,.reservation-filters{grid-column:1 / -1}.reservation-selects{max-width:760px}.reservation-filters{overflow:visible}.reservation-filters button{min-width:96px;flex:0 1 120px}.reservation-modal-backdrop{place-items:center;padding:24px}.reservation-modal{max-width:920px;padding:0;border-radius:8px}.calendar-admin-modal{max-width:820px}.reservation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-form-grid .full{grid-column:1 / -1}.reservation-toast{right:24px;bottom:24px;left:auto;min-width:320px}}@media(min-width:1180px){.reservation-mobile-summary{max-width:620px}}.linked-issue-badge{display:inline-flex;align-items:center;width:fit-content;min-height:28px;margin-top:6px;padding:4px 8px;border:1px solid #f59e0b;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:12px;font-style:normal;font-weight:800;cursor:pointer}.linked-issue-badge:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}.early-checkout-panel,.early-checkout-summary{margin-top:16px;padding:16px;border:1px solid #f59e0b;border-radius:var(--radius-lg, 12px);background:#fffaf0}.early-checkout-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.early-checkout-summary>div,.early-checkout-form{display:grid;gap:10px}.early-checkout-summary span,.early-checkout-form header span{display:block;color:#64748b;font-size:13px;line-height:1.5}.early-checkout-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.early-checkout-form input:not([type=checkbox]),.early-checkout-form select,.early-checkout-form textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}.early-checkout-form textarea{min-height:88px;resize:vertical}.early-checkout-confirm{grid-template-columns:auto 1fr!important;align-items:center}.early-checkout-confirm input{width:20px;height:20px}.early-checkout-impact{display:flex;flex-wrap:wrap;gap:8px}.early-checkout-impact span{padding:5px 8px;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px}.early-checkout-form footer{position:static;display:flex;justify-content:flex-end;gap:8px;padding:0;background:transparent}@media(max-width:767px){.early-checkout-summary{flex-direction:column}}.reservation-inline-panel{display:grid;gap:10px;padding:14px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc}.reservation-inline-panel h3,.reservation-inline-panel p{margin:0}.reservation-inline-panel article{display:grid;gap:4px;padding:10px;border-radius:8px;background:#fff;border:1px solid #e5e9ee}.reservation-inline-panel article span,.reservation-inline-panel>span{color:#5f6b76;font-size:13px}.reservation-inline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-inline-grid span{display:grid;gap:3px;padding:10px;background:#fff;border-radius:8px}@media(max-width:640px){.reservation-inline-grid{grid-template-columns:1fr}}.reservation-linked-empty{margin:0;padding:8px 10px;border:1px dashed #d9e1ea;border-radius:8px;background:#fff;color:#68778a;font-size:12px}.reservation-linked-group{display:grid;gap:7px}.reservation-linked-group h4{margin:0;color:#52657b;font-size:12px}.reservation-phone4-status,.actual-checkout-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;background:#fff}.actual-checkout-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actual-checkout-editor label{display:grid;gap:5px}.actual-checkout-editor input{width:100%;min-height:44px}.actual-checkout-editor button{min-height:44px}@media(max-width:640px){.actual-checkout-editor{grid-template-columns:1fr}.reservation-modal{max-height:min(85dvh,var(--pms-overlay-viewport-height,100dvh));overscroll-behavior:contain}.reservation-hub-tabs{overflow-x:auto;scrollbar-width:thin}.reservation-modal>footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.reservation-modal>footer button{min-height:48px}}.reservation-guest-compact-summary,.reservation-time-current-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-guest-compact-summary>span,.reservation-time-current-summary>span{display:grid;min-width:0;gap:4px;padding:10px;border-radius:8px;background:#fff}.reservation-guest-compact-summary small,.reservation-time-current-summary small{color:#68778a;font-size:12px;font-weight:850}.reservation-guest-compact-summary strong,.reservation-time-current-summary strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.reservation-memo-editor{display:grid;gap:10px;padding:12px;border:1px solid #dbe3ea;border-radius:10px;background:#fff}.reservation-memo-editor label{display:grid;gap:6px}.reservation-memo-editor label>span{font-size:13px;font-weight:900}.reservation-memo-editor textarea{width:100%;min-height:132px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:16px;resize:vertical}.reservation-memo-meta{display:grid;gap:3px;color:#52657b;font-size:12px}.reservation-memo-meta small{font-size:12px}.reservation-memo-editor>.reservation-primary{justify-self:end;min-height:44px}.reservation-save-feedback{color:#166534!important;font-size:13px;font-weight:800}.reservation-memo-history,.reservation-time-history{display:grid;gap:7px}.reservation-memo-history>strong{font-size:13px}.reservation-memo-history>div,.reservation-time-history>div{display:flex;min-width:0;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid #e5eaf0;color:#52657b;font-size:12px}.reservation-memo-history time{flex:0 0 auto}.reservation-time-primary-editor{display:grid;gap:10px;padding:12px;border:1px solid #cfe0ee;border-radius:10px;background:#fff}.reservation-time-primary-editor>small{color:#64748b;font-size:12px}.reservation-time-secondary{border:1px solid #dbe3ea;border-radius:9px;background:#fff}.reservation-time-secondary>summary{min-height:44px;padding:12px;cursor:pointer;color:#3b5878;font-size:13px;font-weight:900}.reservation-time-edit-grid,.reservation-time-origin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 12px 12px}.reservation-time-edit-grid label{display:grid;gap:5px;color:#52657b;font-size:12px;font-weight:800}.reservation-time-edit-grid input{width:100%;min-height:44px;padding:9px 10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:16px}.reservation-time-edit-grid .full{grid-column:1/-1}.reservation-time-edit-grid button{justify-self:end}.reservation-time-origin-grid span{display:grid;gap:4px;padding:9px;border-radius:8px;background:#f7f9fb;color:#64748b;font-size:12px}.reservation-time-origin-grid b{color:#263b52}.reservation-time-history{padding:0 12px 12px}.reservation-quick-confirmation-dialog{display:grid;width:min(100%,420px);max-height:min(85dvh,620px);grid-template-rows:auto minmax(0,1fr) auto;margin-inline:auto;overflow:hidden;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 24px 64px #0f172a3d}.reservation-quick-confirmation-dialog>header,.reservation-quick-confirmation-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:#fff}.reservation-quick-confirmation-dialog>header{border-bottom:1px solid #e2e8f0}.reservation-quick-confirmation-dialog>header span{color:#5d7695;font-size:12px;font-weight:900}.reservation-quick-confirmation-dialog>header h2{margin:3px 0 0;font-size:18px}.reservation-quick-confirmation-dialog>header>button{display:grid;width:var(--pms-touch-target);height:var(--pms-touch-target);place-items:center;padding:0;border-radius:10px;background:#edf2f7;font-size:22px;line-height:1}.reservation-quick-confirmation-dialog>footer{justify-content:flex-end;border-top:1px solid #e2e8f0;padding-bottom:calc(15px + env(safe-area-inset-bottom))}.reservation-quick-confirmation-dialog>footer button{min-height:var(--pms-touch-target);line-height:var(--pms-line-tight)}.reservation-quick-confirmation-body{display:grid;justify-items:center;gap:9px;overflow:auto;padding:22px 18px;text-align:center}.reservation-quick-confirmation-body>span{color:#64748b;font-size:12px;font-weight:900}.reservation-quick-confirmation-body>strong{font-size:30px;letter-spacing:.12em}.reservation-quick-confirmation-body>em{padding:4px 9px;border-radius:999px;background:var(--pms-color-warning-soft);color:var(--pms-color-warning);font-size:12px;font-style:normal;font-weight:900}.reservation-quick-confirmation-body>p{margin:4px 0 0;font-size:14px;line-height:1.55}@media(min-width:641px){.reservation-quick-confirmation-dialog{border-radius:18px}.reservation-time-current-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.reservation-guest-compact-summary,.reservation-time-current-summary,.reservation-time-edit-grid,.reservation-time-origin-grid{grid-template-columns:1fr}.reservation-time-edit-grid .full{grid-column:auto}.reservation-time-edit-grid button{width:100%}.reservation-memo-history>div,.reservation-time-history>div{display:grid}.reservation-quick-confirmation-dialog{width:100%}}.reservation-doorlock-three-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reservation-doorlock-three-states section{display:grid;min-width:0;gap:4px;padding:10px;border:1px solid #dce4ed;border-radius:9px;background:#f7f9fb}.reservation-doorlock-three-states section.attention{border-color:#e3aaa5;background:#fff0ee;color:#842f29}.reservation-doorlock-three-states span{font-size:12px;color:#66778a}.reservation-doorlock-three-states strong{overflow-wrap:anywhere;font-size:13px}@media(max-width:390px){.reservation-doorlock-three-states{gap:5px}.reservation-doorlock-three-states section{padding:8px 6px}.reservation-doorlock-three-states strong{font-size:12px}}@media(max-width:767px){.reservation-view{gap:14px}.reservation-month-calendar{gap:12px;margin:0;padding:14px 12px 16px;border-radius:20px}.reservation-calendar-header{grid-template-columns:44px minmax(0,1fr) 44px}.reservation-calendar-header h2{font-size:19px}.reservation-calendar-legend{justify-content:flex-start;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.reservation-calendar-legend::-webkit-scrollbar{display:none}.reservation-calendar-legend span{flex:0 0 auto}.reservation-calendar-week,.reservation-calendar-grid{gap:4px}.reservation-calendar-grid>button{min-height:80px;gap:5px;padding:7px 5px 6px;border-radius:12px}.reservation-calendar-grid>button.selected{padding:6px 4px 5px}.reservation-calendar-date{font-size:14px}.reservation-calendar-events{gap:3px}.reservation-calendar-events small{gap:3px;font-size:var(--pms-font-caption, .75rem)}.reservation-calendar-markers i{width:4px;height:4px}.reservation-calendar-selected>header{align-items:flex-start}.reservation-calendar-selected>header>small{padding-top:3px;font-size:var(--pms-font-caption, .75rem)}.reservation-calendar-selected-row{grid-template-columns:1fr;gap:8px;padding:10px}.reservation-calendar-open-detail{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:54px;padding:3px 4px}.reservation-calendar-times{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:4px;white-space:normal}.reservation-calendar-times small{padding:7px 8px;border-radius:9px;background:#f5f7fa}.reservation-calendar-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-calendar-row-actions>:only-child{grid-column:1 / -1}.reservation-calendar-context-action{width:100%;min-width:0}}@media(max-width:380px){.reservation-month-calendar{padding-inline:10px}.reservation-calendar-grid>button{min-height:72px;padding-inline:4px}.reservation-calendar-events small,.reservation-calendar-week span{font-size:var(--pms-font-caption, .75rem)}}.reservation-operational-stay{display:inline-flex;width:max-content;max-width:100%;padding:3px 8px;border-radius:999px;background:#eef4f8;color:#35536b;font-size:12px;font-weight:800}.reservation-calendar-operation-summary{display:grid;grid-column:1 / -1;grid-template-columns:minmax(170px,1.2fr) minmax(104px,.65fr) repeat(2,auto);align-items:stretch;gap:7px}.reservation-calendar-operation-summary .reservation-calendar-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;white-space:normal}.reservation-calendar-operation-summary .reservation-calendar-times>span,.reservation-calendar-reference,.reservation-calendar-signal,.reservation-calendar-door-status,.reservation-calendar-task-button{display:grid;min-width:0;min-height:44px;align-content:center;gap:2px;border:1px solid #d9e1ea;border-radius:10px;background:#f7f9fc;padding:7px 9px;color:#26374d;font:inherit;text-align:left}.reservation-calendar-operation-summary .reservation-calendar-times small,.reservation-calendar-reference small,.reservation-calendar-task-button small{display:block;padding:0;background:transparent;color:#68768a;font-size:var(--pms-font-caption, .75rem);line-height:1.25}.reservation-calendar-operation-summary .reservation-calendar-times strong,.reservation-calendar-reference strong,.reservation-calendar-task-button strong{display:block;min-width:0;color:#17243a;font-size:13px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-calendar-signal,.reservation-calendar-door-status{display:inline-flex;align-items:center;justify-content:center;color:#45586e;font-size:12px;font-weight:850;white-space:nowrap}.reservation-calendar-signal.issue{border-color:#e7c38a;background:#fff7e8;color:#82520b}.reservation-calendar-signal.notice{border-color:#bdd8c8;background:#f1f8f3;color:#2e6444}.reservation-calendar-signal:disabled{cursor:default;opacity:.78}.reservation-calendar-door-status.attention{border-color:#e3aaa5;background:#fff0ee;color:#842f29}.reservation-calendar-signal:not(:disabled),.reservation-calendar-door-status,.reservation-calendar-task-button{cursor:pointer}.reservation-calendar-signal:focus-visible,.reservation-calendar-door-status:focus-visible,.reservation-calendar-task-button:focus-visible{outline:3px solid rgb(37 99 235 / 24%);outline-offset:2px}.reservation-calendar-task-button:hover{border-color:#9fb4cf;background:#eef4fb}.reservation-calendar-task-list{grid-column:1 / -1;display:grid;gap:7px;margin:0;padding:10px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}.reservation-calendar-task-list p{margin:0;color:#68768a;font-size:13px}.reservation-calendar-task-list button{min-height:var(--pms-touch-target);border:0;border-radius:9px;background:#f2f5f9;padding:9px 11px;color:#26374d;line-height:var(--pms-line-tight);text-align:left;font-weight:750;cursor:pointer}.reservation-calendar-selected-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;overflow:hidden;border-radius:16px;box-shadow:0 6px 18px #1d2c400b}.reservation-calendar-open-detail{grid-template-columns:minmax(0,1fr) auto}.reservation-calendar-row-actions{align-self:stretch}@media(max-width:980px){.reservation-calendar-operation-summary{grid-template-columns:minmax(170px,1.2fr) minmax(104px,.65fr) repeat(2,minmax(96px,auto))}.reservation-calendar-cleaning-row{grid-template-columns:minmax(0,1fr) auto}.reservation-calendar-cleaning-row>button{grid-column:1 / -1}}@media(max-width:640px){.reservation-calendar-selected-row{grid-template-columns:1fr;gap:6px;padding:5px}.reservation-calendar-open-detail{min-height:44px;padding:2px 3px}.reservation-calendar-operation-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.reservation-calendar-operation-summary .reservation-calendar-times{grid-column:1 / -1}.reservation-calendar-reference,.reservation-calendar-signal,.reservation-calendar-door-status,.reservation-calendar-task-button{min-height:44px}.reservation-calendar-door-status{grid-column:1 / -1}.reservation-calendar-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.reservation-calendar-task-list{margin:0}.reservation-card-main em{display:none}}.reservation-calendar-view-toggle{display:flex;justify-content:flex-end;gap:8px}.reservation-calendar-view-toggle button{min-height:38px;padding:0 13px;border:1px solid #d7e0e9;border-radius:10px;background:#fff;color:#475569;font-weight:800}.reservation-calendar-view-toggle button.active{border-color:#294f7d;background:#294f7d;color:#fff}.reservation-timeline{--reservation-room-column: 184px;--reservation-day-width: 42px;width:100%;min-width:0;max-width:100%;max-height:min(65vh,620px);overflow:auto;overscroll-behavior:contain;border:1px solid #dbe3ec;border-radius:14px;background:#fff;box-shadow:0 9px 24px #16253a0d;scrollbar-gutter:stable}.reservation-timeline-head,.reservation-timeline-row,.reservation-timeline-workspace-label{display:grid;min-width:calc(var(--reservation-room-column) + 31 * var(--reservation-day-width))}.reservation-timeline-head{position:sticky;top:0;z-index:12;border-bottom:1px solid #cbd7e4;background:#f8fafc;box-shadow:0 2px 6px #0f172a12}.reservation-timeline-head>strong{position:sticky;left:0;z-index:14;display:flex;align-items:center;min-height:48px;padding:0 13px;border-right:1px solid #cbd7e4;background:#f4f7fb;color:#34445a;font-size:12px;font-weight:900}.reservation-timeline-head>span{min-width:0;border-left:1px solid #e7edf3;color:#64748b}.reservation-timeline-head>span.weekend{background:#fbf8f6}.reservation-timeline-head>span.today{background:#eaf3ff}.reservation-timeline-head>span.selected{box-shadow:inset 0 -3px #346db4}.reservation-timeline-head>span button{display:grid;width:100%;min-width:0;min-height:48px;place-content:center;gap:1px;border:0;background:transparent;color:inherit}.reservation-timeline-head>span small{font-size:var(--pms-font-caption, .75rem);font-weight:750}.reservation-timeline-head>span b{color:#34445a;font-size:13px;line-height:1}.reservation-timeline-workspace-label{min-height:34px;border-bottom:1px solid #dce5ee}.reservation-timeline-workspace-label{background:#e9eff7;color:#2e4765}.reservation-timeline-workspace-label strong{position:sticky;left:0;z-index:8;display:flex;align-items:center;min-width:0;padding:0 13px;border-right:1px solid #ced9e5;background:inherit;overflow:hidden;font-size:12px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.reservation-timeline-workspace-label span{grid-column:2 / -1;display:flex;align-items:center;padding-left:12px;color:#728095;font-size:var(--pms-font-caption, .75rem);font-weight:750}.reservation-timeline-row{position:relative;min-height:48px;border-bottom:1px solid #e7edf3}.reservation-timeline-row.property-start{border-top:2px solid #d7e1eb}.reservation-timeline-workspace-label+.reservation-timeline-property .reservation-timeline-row:first-child{border-top:0}.reservation-timeline-row:last-child{border-bottom-color:#d4dee8}.reservation-timeline-room{position:sticky;left:0;z-index:7;display:grid;min-width:0;align-content:center;gap:1px;padding:6px 13px 6px 20px;border-right:1px solid #d7e1eb;background:#fff}.reservation-timeline-row.property-start .reservation-timeline-room{background:#f8fafc}.reservation-timeline-room strong{overflow:hidden;color:#26374c;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.reservation-timeline-room small{overflow:hidden;color:#7b8797;font-size:var(--pms-font-caption, .75rem);text-overflow:ellipsis;white-space:nowrap}.reservation-timeline-days,.reservation-timeline-bars{grid-column:2 / -1;grid-row:1;display:grid}.reservation-timeline-days button{min-width:0;min-height:48px;border:0;border-right:1px solid #edf1f5;background:transparent}.reservation-timeline-days button.weekend{background:#fcfaf9}.reservation-timeline-days button.today{background:#f0f6ff}.reservation-timeline-days button.selected{box-shadow:inset 2px 0 #346db43d,inset -2px 0 #346db43d}.reservation-timeline-days button:hover{background:#edf4fc}.reservation-timeline-bars{align-items:center;padding-block:7px;pointer-events:none}.reservation-timeline-bars button{z-index:2;min-width:0;min-height:32px;padding:0 8px;border:1px solid #b8d1ee;border-radius:8px;background:#dcecff;color:#245488;box-shadow:0 3px 8px #2e67b81a;font-size:var(--pms-font-caption, .75rem);font-weight:850;pointer-events:auto;overflow:hidden;text-align:left;white-space:nowrap}.reservation-timeline-bars button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-timeline-bars button.checkin{border-color:#c8b5e9;background:#eee7fb;color:#6039a1}.reservation-timeline-bars button.staying{border-color:#a9c9ec;background:#dcecff;color:#245488}.reservation-timeline-bars button.checkout{border-color:#e8c28d;background:#fff0d9;color:#895317}.reservation-timeline-bars button.turnover{border-color:#c8c5df;background:linear-gradient(90deg,#fff0d9 0 49%,#e7ecff 51% 100%);color:#4d4771}.reservation-timeline-bars button.completed{border-color:#cbd5e1;background:#eef2f6;color:#5f6c7d}.reservation-timeline-turnover{z-index:4;align-self:start;justify-self:start;width:8px;height:8px;margin-top:2px;border:2px solid #fff;border-radius:50%;background:linear-gradient(90deg,#d7842f 0 49%,#3975dc 51% 100%);box-shadow:0 1px 3px #0f172a40;transform:translate(-50%)}@media(max-width:1099px){.classic-pms-app[data-active-screen=reservations] .classic-workspace-banner,.reservation-view>.reservation-month-calendar,.reservation-view>.reservation-ical-status,.reservation-desktop-controls,.reservation-desktop-board,.reservation-view>.reservation-loading{display:none}.mobile-reservation-daily{display:grid;min-width:0;gap:14px}.mobile-today-schedule{overflow:hidden;border:1px solid #dce3ec;border-radius:13px;background:#fff}.mobile-today-schedule-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:#fff;color:#23364d;font-weight:850}.mobile-today-schedule-toggle b{color:#2d6196}.mobile-today-schedule-list{display:grid;max-height:220px;overflow-y:auto;border-top:1px solid #e4e9ef}.mobile-today-schedule-list>button{display:grid;min-height:44px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:9px;padding:7px 14px;border-bottom:1px solid #edf1f5;background:#fbfcfe;color:#2c4058;text-align:left}.mobile-today-schedule-list time{color:#2d6196;font-size:12px;font-weight:900}.mobile-today-schedule-list span{min-width:0;overflow:hidden;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.mobile-today-schedule-list p{margin:0;padding:18px 14px;color:#68788d;text-align:center}.mobile-reservation-filters{display:flex;gap:7px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:none}.mobile-reservation-filters::-webkit-scrollbar{display:none}.mobile-reservation-filters button{position:relative;display:inline-flex;min-width:max-content;min-height:44px;flex:0 0 auto;align-items:center;gap:6px;padding:0 13px;border:1px solid #ccd7e3;border-radius:999px;background:#fff;color:#52657a;font-size:13px;font-weight:850}.mobile-reservation-filters button.active{border-color:#2f6499;background:#2f6499;color:#fff}.mobile-reservation-filters button i{position:absolute;top:5px;right:7px;width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:#c83f3f}.mobile-today-work.compact{padding:12px}.mobile-reservation-card-list{display:flex;min-width:0;flex-direction:column;gap:11px}.mobile-reservation-card,.mobile-cleaning-card,.mobile-reservation-block{position:relative;display:grid;min-width:0;gap:11px;padding:15px;border:1px solid #d7e0e9;border-left:4px solid #7694b5;border-radius:13px;background:#fff;color:#1d2e43;text-align:left}.mobile-reservation-card[data-mobile-status=checkin]{border-left-color:#3975dc}.mobile-reservation-card[data-mobile-status=checkout]{border-left-color:#d7842f}.mobile-reservation-card[data-mobile-status=turnover]{border-left-color:#8f6fba}.mobile-reservation-card[data-mobile-status=staying]{border-left-color:#27916a}.mobile-cleaning-card{border-left-color:#29917b}.mobile-reservation-card.needs-attention,.mobile-cleaning-card.needs-attention{border-color:#d7e0e9;border-left-color:#c6473d;background:#fff}.mobile-reservation-card>header,.mobile-cleaning-card>header{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-reservation-card>header>div,.mobile-cleaning-card>header>div{display:grid;min-width:0;gap:4px}.mobile-reservation-card>header strong,.mobile-cleaning-card>header strong{overflow-wrap:anywhere;font-size:16px}.mobile-reservation-card>header small,.mobile-cleaning-card>header small{color:#68788d;font-size:12px}.mobile-reservation-card>header>span,.mobile-cleaning-card>header>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#edf3f8;color:#425b75;font-size:12px;font-weight:900;white-space:nowrap}.mobile-reservation-times{display:flex;min-width:0;flex-wrap:wrap;gap:8px}.mobile-reservation-times>span{display:grid;min-width:92px;flex:1 1 92px;gap:3px;padding:9px 10px;border-radius:9px;background:#f4f7fa}.mobile-reservation-times small{color:#68788d;font-size:12px;font-weight:800}.mobile-reservation-times strong{overflow-wrap:anywhere;font-size:14px}.mobile-reservation-status-grid{display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mobile-reservation-status-grid>button{display:grid;min-width:0;align-content:start;gap:3px;min-height:78px;padding:9px 10px;border:1px solid #dbe3ec;border-radius:var(--pms-radius-control, 10px);background:#f6f8fb;color:#23364d;text-align:left}.mobile-reservation-status-grid>button{cursor:pointer;font:inherit}.mobile-reservation-status-grid>.attention{border-color:#e3aaa5;background:#fff0ee;color:#842f29}.mobile-reservation-status-grid>.pending{border-color:var(--pms-color-warning);background:var(--pms-color-warning-soft);color:var(--pms-color-warning)}.mobile-reservation-status-grid small{color:#63758a;font-size:12px;font-weight:900}.mobile-reservation-status-grid strong{min-width:0;overflow-wrap:anywhere;font-size:13px;line-height:1.3}.mobile-reservation-status-grid span{min-width:0;overflow-wrap:anywhere;color:#566b82;font-size:12px;line-height:1.35}.mobile-reservation-status-grid>.attention small,.mobile-reservation-status-grid>.attention span{color:#8b3d37}.mobile-reservation-status-grid>.pending small,.mobile-reservation-status-grid>.pending span{color:var(--pms-color-warning)}.mobile-reservation-door-code{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:10px;padding:8px 11px;border-radius:9px;background:#eef3f8}.mobile-reservation-door-code small{color:#607188;font-size:12px;font-weight:800}.mobile-reservation-door-code strong{overflow-wrap:anywhere;font-size:17px;letter-spacing:.04em}.mobile-reservation-warning{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:3px 8px;padding:7px 9px;border-left:3px solid #c6473d;border-radius:7px;background:#f6f8fa;color:#5f6874}.mobile-reservation-warning strong{color:#8b302a;font-size:12px}.mobile-reservation-warning span{min-width:0;overflow:hidden;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.mobile-reservation-priority-summary{display:flex;min-width:0;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;background:#fff7ed;color:#9a3412}.mobile-reservation-priority-summary strong{flex:0 0 auto;font-size:12px}.mobile-reservation-priority-summary span{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mobile-reservation-memo-preview{display:grid;width:100%;min-width:0;gap:3px;padding:9px 11px;border:1px solid #d8e1ea;border-radius:9px;background:#f6f8fb;color:#34465c;text-align:left}.mobile-reservation-memo-preview small{color:#5d7695;font-size:12px;font-weight:900}.mobile-reservation-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px}.mobile-reservation-actions button,.mobile-cleaning-open{min-height:var(--pms-touch-target, 44px);padding:0 10px;border:1px solid #cbd6e2;border-radius:var(--pms-radius-control, 10px);background:#fff;color:#315c88;font-weight:850;line-height:var(--pms-line-tight, 1.25)}.mobile-reservation-actions>button.primary{border-color:var(--pms-color-navy-800, #203c5d);background:var(--pms-color-navy-800, #203c5d);color:#fff}.mobile-reservation-more-actions{min-width:0}.mobile-reservation-more-actions[open]{grid-column:1 / -1}.mobile-reservation-more-actions>summary{display:flex;min-height:var(--pms-touch-target, 44px);align-items:center;justify-content:center;padding:0 8px;border:1px solid #cbd6e2;border-radius:var(--pms-radius-control, 10px);background:#fff;color:#315c88;font-size:13px;font-weight:850;cursor:pointer;list-style:none}.mobile-reservation-more-actions>summary::-webkit-details-marker{display:none}.mobile-reservation-more-actions>summary:after{content:"＋";margin-left:5px}.mobile-reservation-more-actions[open]>summary:after{content:"－"}.mobile-reservation-more-actions>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:1 / -1;gap:6px;margin-top:6px}.mobile-reservation-more-actions>div button:last-child:nth-child(odd){grid-column:1 / -1}.mobile-reservation-card>.reservation-presence-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-reservation-card>.reservation-presence-controls>button{width:100%;min-width:0;min-height:var(--pms-touch-target-mobile, 48px)}.mobile-reservation-card>.reservation-presence-controls>button:only-child{grid-column:1 / -1}.mobile-cleaning-open{width:100%}.mobile-cleaning-linked-issue{padding:6px 8px;border-radius:7px;background:#fff3df;color:#805012!important;font-weight:800}.mobile-reservation-block{width:100%;border-left-color:#7b8490;background:repeating-linear-gradient(135deg,#f7f8fa,#f7f8fa 8px,#edf0f3 8px 16px)}.mobile-reservation-block span{font-weight:900}.mobile-reservation-block small{color:#596a7c}.mobile-reservation-no-results{order:10;margin:0;padding:30px 12px;border:1px dashed #ccd7e2;border-radius:12px;color:#68788d;text-align:center}.mobile-empty-rooms{overflow:hidden;border:1px solid #dce3ec;border-radius:12px;background:#fff}.mobile-empty-rooms>button{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;background:#fff;color:#435a73;font-weight:850}.mobile-empty-rooms>div{display:grid;border-top:1px solid #e5eaf0}.mobile-empty-rooms>div span{display:flex;min-height:44px;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #edf1f5;color:#53677d;font-size:13px}.mobile-empty-rooms>div strong{color:#263b52}}@media(max-width:480px){.mobile-reservation-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-reservation-status-grid>.reservation-door-code-tile{grid-column:1 / -1;min-height:72px}.mobile-reservation-actions button,.mobile-reservation-more-actions>summary,.mobile-cleaning-open{min-height:48px}}@media(max-width:370px){.mobile-reservation-card,.mobile-cleaning-card,.mobile-reservation-block{padding:13px 12px}.mobile-reservation-card>header,.mobile-cleaning-card>header{display:grid}.mobile-reservation-card>header>span,.mobile-cleaning-card>header>span{width:fit-content}.mobile-reservation-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-reservation-status-grid>.reservation-door-code-tile{grid-column:1 / -1;min-height:70px}}@media(max-width:1099px){.mobile-reservation-daily{gap:9px}.mobile-today-schedule{border-radius:var(--pms-radius-card, 14px)}.mobile-today-schedule-toggle{min-height:44px;padding-inline:11px;font-size:13px}.mobile-reservation-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible;padding:0}.mobile-reservation-filters button{display:grid;min-width:0;min-height:44px;grid-template-columns:1fr;place-items:center;align-content:center;gap:0;padding:2px;border-radius:var(--pms-radius-control, 10px);font-size:var(--pms-font-caption, .75rem);line-height:1.05}.mobile-reservation-filters button b{font-size:var(--pms-font-caption, .75rem)}.mobile-reservation-filters button i{top:3px;right:3px;width:6px;height:6px}.mobile-reservation-card-list{gap:8px}.mobile-reservation-card,.mobile-cleaning-card,.mobile-reservation-block{gap:7px;padding:11px;border-radius:var(--pms-radius-card, 14px)}.mobile-reservation-card>header,.mobile-cleaning-card>header{gap:7px}.mobile-reservation-card>header>div,.mobile-cleaning-card>header>div{gap:2px}.mobile-reservation-card>header strong,.mobile-cleaning-card>header strong{font-size:15px}.mobile-reservation-card>header small,.mobile-cleaning-card>header small{font-size:var(--pms-font-caption, .75rem)}.mobile-reservation-card>header>span,.mobile-cleaning-card>header>span{padding:4px 6px;font-size:var(--pms-font-caption, .75rem)}.mobile-reservation-status-grid{gap:5px}.mobile-reservation-status-grid>button,.mobile-reservation-status-grid>.reservation-door-code-tile{display:grid;min-width:0;min-height:58px;align-content:center;gap:2px;padding:6px 7px;border:1px solid #dbe3ec;border-radius:var(--pms-radius-control, 10px);background:#f6f8fb;color:#23364d;text-align:left}.mobile-reservation-status-grid small{font-size:var(--pms-font-caption, .75rem)}.mobile-reservation-status-grid strong{font-size:12px}.mobile-reservation-status-grid span{font-size:var(--pms-font-caption, .75rem);line-height:1.2}.mobile-reservation-warning,.mobile-reservation-priority-summary,.mobile-reservation-memo-preview{padding:6px 8px}.mobile-reservation-warning span,.mobile-reservation-priority-summary span,.mobile-reservation-memo-preview span{-webkit-line-clamp:1;line-clamp:1}.mobile-reservation-actions{gap:5px}}@media(max-width:480px){.mobile-reservation-status-grid>.reservation-door-code-tile{min-height:58px}.mobile-reservation-actions button,.mobile-reservation-more-actions>summary,.mobile-cleaning-open{min-height:var(--pms-touch-target, 44px)}}.reservation-timeline-empty{grid-column:1 / -1;align-self:center;padding-left:12px;color:#9aa5b3;font-size:var(--pms-font-caption, .75rem);font-weight:700}.reservation-timeline-bars button.availability-block,.reservation-block-card{color:#344256;background-color:#e2e8f0;background-image:repeating-linear-gradient(135deg,transparent 0 7px,rgb(100 116 139 / 13%) 7px 12px)}.reservation-timeline-bars button.availability-block{border-color:#cbd5e1;box-shadow:0 3px 8px #47556917}.reservation-block-card{display:grid;width:100%;min-width:0;gap:5px;padding:12px;border:1px solid #cbd5e1;border-left:4px solid #64748b;border-radius:8px;text-align:left}.reservation-block-card span{color:#475569;font-size:12px;font-weight:900}.reservation-block-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reservation-block-card small,.reservation-block-card em{color:#526277;font-size:12px;font-style:normal}.reservation-calendar-legend .availability-block,.reservation-calendar-events .availability-block{color:#475569;background:#e2e8f0}.reservation-calendar-block-list{display:grid;gap:8px;margin-top:10px}.reservation-block-detail{display:grid;gap:12px}.reservation-block-detail>div{display:grid;grid-template-columns:minmax(72px,.35fr) 1fr;gap:12px;align-items:baseline}.reservation-block-detail span{color:#64748b;font-size:13px}.reservation-block-detail strong{min-width:0;overflow-wrap:anywhere}.reservation-block-detail p{margin:4px 0 0;padding:12px;border-radius:8px;color:#475569;background:#f1f5f9;font-size:13px}.reservation-work-sheet{display:grid;gap:16px;padding:4px 0 max(16px,env(safe-area-inset-bottom))}.reservation-work-sheet>header{display:grid;gap:3px}.reservation-work-sheet>header span{color:#64748b;font-size:13px;font-weight:800}.reservation-work-sheet>header h2{margin:0;color:#172033;font-size:20px}.reservation-work-sheet>div{display:grid;gap:10px}.reservation-work-sheet>div>button{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;min-height:48px;padding:11px 12px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#172033;text-align:left}.reservation-work-sheet>div>button span{color:#b45309;font-size:12px;font-weight:900}.reservation-work-sheet>div>button small{color:#64748b}.reservation-work-sheet>footer{position:sticky;bottom:0;padding-top:4px;background:#fff}.reservation-work-sheet>footer button{width:100%;min-height:48px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:900}.reservation-ical-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.reservation-ical-status.ready{border-color:#9bd5bd;background:#effaf5}.reservation-ical-status.attention{border-color:#edc68c;background:#fff8eb}.reservation-ical-status span,.reservation-ical-status small{color:#526277}@media(max-width:720px){.reservation-calendar-view-toggle,.reservation-timeline{display:none}}@media(min-width:721px)and (max-width:1100px){.reservation-timeline{--reservation-room-column: 176px;--reservation-day-width: 40px;max-height:min(62vh,520px)}}.reservation-property{border-left:4px solid var(--pms-unit-accent, var(--pms-unit-neutral));border-radius:var(--pms-radius-card);overflow:hidden}.reservation-property>header{background:linear-gradient(90deg,var(--pms-unit-soft, var(--pms-unit-neutral-soft)),#fff 45%)}.reservation-property>header>strong{color:var(--pms-unit-accent, var(--pms-unit-neutral));background:var(--pms-unit-soft, var(--pms-unit-neutral-soft))}.mobile-reservation-card{border-left:4px solid var(--pms-unit-accent, var(--pms-unit-neutral))}.reservation-modal{border-top:4px solid var(--pms-unit-accent, var(--pms-unit-neutral))}.reservation-primary{border:1px solid var(--pms-color-navy-800);border-radius:var(--pms-radius-control);background:var(--pms-color-navy-800)}.reservation-secondary{border-color:var(--pms-color-line-strong);border-radius:var(--pms-radius-control);color:var(--pms-color-navy-800)}.reservation-primary:not(:disabled):hover{background:var(--pms-color-navy-900)}.reservation-secondary:not(:disabled):hover{border-color:var(--pms-color-blue-700);background:var(--pms-color-blue-50)}.reservation-inline-panel,.reservation-time-primary-editor,.reservation-time-secondary,.reservation-inline-panel article{border-radius:var(--pms-radius-card);border-color:var(--pms-color-line)}.reservation-time-current-summary>span:first-child{border-left:3px solid var(--pms-color-info)}.reservation-time-current-summary>span:nth-child(2){border-left:3px solid var(--pms-color-warning)}.reservation-time-current-summary>span:nth-child(3){border-left:3px solid var(--pms-color-success)}.reservation-time-current-summary>span:nth-child(4){border-left:3px solid var(--pms-unit-accent, var(--pms-unit-neutral))}.reservation-linked-cleaning-summary{display:grid;gap:10px;padding:12px;border:1px solid var(--pms-unit-line, var(--pms-unit-neutral-line));border-radius:var(--pms-radius-card);background:linear-gradient(135deg,var(--pms-unit-soft, var(--pms-unit-neutral-soft)),#fff 58%)}.reservation-linked-cleaning-summary>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.reservation-linked-cleaning-summary>header span,.reservation-secondary-work-heading>span{color:var(--pms-unit-accent, var(--pms-unit-neutral));font-size:var(--pms-font-caption);font-weight:var(--pms-weight-heavy)}.reservation-linked-cleaning-summary h3,.reservation-secondary-work-heading h3{margin:2px 0 0;color:var(--pms-color-ink);font-size:var(--pms-font-card-title)}.reservation-linked-cleaning-list{display:grid;gap:8px}.reservation-linked-cleaning-list>article{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto auto;align-items:center;gap:10px;border-left:3px solid var(--pms-unit-accent, var(--pms-unit-neutral))}.reservation-linked-cleaning-list>article>div{display:grid;min-width:0;gap:3px}.reservation-linked-cleaning-list small{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.reservation-linked-cleaning-list strong{overflow-wrap:anywhere;font-size:var(--pms-font-table)}.reservation-secondary-work-heading{display:grid;gap:2px}.reservation-secondary-work-heading p{color:var(--pms-color-muted);font-size:var(--pms-font-table)}.reservation-lostfound-panel{gap:var(--pms-space-3);background:var(--pms-color-surface-soft)}.reservation-lostfound-list{display:grid;gap:var(--pms-space-2)}.reservation-lostfound-list>article{padding:0;overflow:hidden}.reservation-lostfound-list>article>button{display:grid;width:100%;min-width:0;min-height:var(--pms-touch-target);grid-template-columns:4rem minmax(0,1fr) auto auto;align-items:center;gap:var(--pms-space-3);padding:0 var(--pms-space-3) 0 0;border:0;color:inherit;background:var(--pms-color-surface);text-align:left}.reservation-lostfound-list>article>button:focus-visible{outline:var(--pms-space-1) solid var(--pms-color-blue-700);outline-offset:calc(-1 * var(--pms-space-1))}.reservation-lostfound-photo,.reservation-lostfound-photo-placeholder{width:4rem;height:4rem;object-fit:cover;background:var(--pms-color-surface-soft)}.reservation-lostfound-photo-placeholder{display:grid;place-items:center;color:var(--pms-color-muted);font-size:var(--pms-font-section-title)}.reservation-lostfound-copy{display:grid;min-width:0;gap:var(--pms-space-1)}.reservation-lostfound-copy strong{color:var(--pms-color-ink);font-size:var(--pms-font-body);overflow-wrap:anywhere}.reservation-lostfound-copy small{color:var(--pms-color-muted);font-size:var(--pms-font-caption);overflow-wrap:anywhere}.reservation-lostfound-open{color:var(--pms-color-blue-700);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.reservation-lostfound-empty{display:grid;justify-items:start;gap:var(--pms-space-2);padding:var(--pms-space-4);border:1px dashed var(--pms-color-line-strong);border-radius:var(--pms-radius-card);background:var(--pms-color-surface)}.reservation-lostfound-empty strong{color:var(--pms-color-ink)}.reservation-lostfound-empty span{color:var(--pms-color-muted);font-size:var(--pms-font-table)}.reservation-lostfound-report{justify-self:end}@media(max-width:640px){.reservation-hub-tabs{display:flex;gap:var(--pms-space-2);overflow-x:auto;padding-bottom:var(--pms-space-1);scrollbar-width:thin}.reservation-hub-tabs button{min-height:var(--pms-touch-target-mobile);flex:0 0 auto;padding-inline:var(--pms-space-3);font-size:var(--pms-font-table)}.reservation-linked-cleaning-summary>header{align-items:stretch;flex-direction:column}.reservation-linked-cleaning-summary>header button{width:100%}.reservation-linked-cleaning-list>article{grid-template-columns:minmax(0,1fr) auto}.reservation-linked-cleaning-list>article>div{grid-column:1 / -1}.reservation-linked-cleaning-list>article>button{min-height:var(--pms-touch-target-mobile)}.reservation-lostfound-list>article>button{grid-template-columns:3.5rem minmax(0,1fr) auto;min-height:var(--pms-touch-target-mobile)}.reservation-lostfound-photo,.reservation-lostfound-photo-placeholder{width:3.5rem;height:3.5rem}.reservation-lostfound-open{display:none}.reservation-lostfound-report{width:100%;min-height:var(--pms-touch-target-mobile)}.reservation-modal{max-height:min(94dvh,var(--pms-overlay-viewport-height, 100dvh))}.reservation-modal>header{padding:var(--pms-space-3)}.reservation-modal-title-row,.reservation-modal-period{align-items:flex-start;flex-direction:column}.reservation-hub-tabs{padding:var(--pms-space-2) var(--pms-space-3)}.reservation-tab-scroll-hint{display:block;flex:0 0 auto;padding:4px var(--pms-space-3);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);font-size:var(--pms-font-caption);text-align:right}.reservation-modal-body{padding:var(--pms-space-3);scrollbar-gutter:auto}.reservation-summary-schedule,.reservation-presence-stage-grid,.reservation-detail-readonly dl{grid-template-columns:minmax(0,1fr)}.reservation-presence-stage dl>div{grid-template-columns:minmax(0,1fr)}.reservation-presence-stage-actions,.reservation-presence-stage-actions button{width:100%}.reservation-modal>footer{display:grid;padding:var(--pms-space-3) var(--pms-space-3) calc(var(--pms-space-3) + env(safe-area-inset-bottom))}.reservation-modal-context-actions,.reservation-modal-main-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.reservation-modal-context-actions:empty{display:none}.reservation-modal-footer button{min-width:0;min-height:var(--pms-touch-target-mobile);white-space:normal}}.reservation-more-tabs{position:relative;flex:0 0 auto}.reservation-more-tabs>summary{display:grid;min-height:40px;place-items:center;padding:var(--pms-space-2) var(--pms-space-3);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-pill);color:var(--pms-color-muted);background:var(--pms-color-surface);cursor:pointer;font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold);list-style:none}.reservation-more-tabs>summary::-webkit-details-marker{display:none}.reservation-more-tabs>summary:after{margin-left:6px;content:"⌄"}.reservation-more-tabs>div{position:absolute;z-index:8;top:calc(100% + 6px);right:0;display:grid;min-width:168px;gap:4px;padding:6px;border:1px solid var(--pms-color-line);border-radius:12px;background:#fff;box-shadow:0 16px 34px #0f172a29}.reservation-more-tabs>div button{width:100%;border-radius:8px;text-align:left}.reservation-summary-identity{display:grid;margin:0}.reservation-summary-identity>div{display:grid;min-width:0;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--pms-color-line)}.reservation-summary-identity dt{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.reservation-summary-identity dd{min-width:0;margin:0;color:var(--pms-color-ink);font-weight:var(--pms-weight-bold);overflow-wrap:anywhere}.reservation-summary-operational-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--pms-color-line)}.reservation-summary-operational-links button{display:grid;min-width:0;min-height:48px;gap:3px;padding:9px 10px;border:0;border-right:1px solid var(--pms-color-line);background:#fff;color:inherit;text-align:left}.reservation-summary-operational-links button:last-child{border-right:0}.reservation-summary-operational-links span{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.reservation-summary-operational-links strong{overflow-wrap:anywhere}.reservation-secondary-filters{position:relative}.reservation-secondary-filters>summary{display:grid;min-height:40px;place-items:center;padding:0 14px;border:1px solid #ccd6e0;border-radius:999px;color:#52657a;background:#fff;cursor:pointer;font-size:13px;font-weight:800;list-style:none}.reservation-secondary-filters>summary::-webkit-details-marker{display:none}.reservation-secondary-filters>div{display:flex;flex-wrap:wrap;gap:7px;padding-top:8px}@media(max-width:760px){.mobile-reservation-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-calendar-cleaning-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;border:1px solid #ccd7e3;border-radius:11px;background:#fff;color:#40566d;font-weight:850}.mobile-calendar-cleaning-toggle[aria-pressed=true]{border-color:#2f6499;background:#eef5fb;color:#244f7c}.mobile-calendar-cleaning-toggle b{min-width:24px;text-align:right}.mobile-calendar-related-work{border-top:1px solid #dfe6ed}.mobile-calendar-related-work>summary{min-height:48px;padding:14px 2px;color:#52657a;cursor:pointer;font-size:13px;font-weight:800}.reservation-more-tabs>div{position:fixed;z-index:40;top:auto;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));left:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-summary-operational-links{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-summary-operational-links button:nth-child(2){border-right:0}.reservation-summary-operational-links button:nth-child(-n+2){border-bottom:1px solid var(--pms-color-line)}}.reservation-summary-overview>.operational-password{border-bottom:1px solid var(--pms-border)}.reservation-modal-body .operational-issue-row{width:100%;background:transparent;border:0;border-bottom:1px solid var(--pms-border);min-height:var(--pms-touch-target);text-align:left}.mobile-reservation-card .reservation-door-code-tile{background:var(--pms-color-surface-soft)}.mobile-reservation-card .reservation-door-code-tile strong{font-size:var(--pms-font-section-title)}.reservation-card-operations>summary{min-height:var(--pms-touch-target);display:flex;align-items:center;cursor:pointer}.reservation-summary-overview{gap:var(--pms-space-3)}.reservation-summary-overview>header{display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-2)}.reservation-summary-overview .reservation-summary-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-summary-overview .reservation-summary-schedule article{padding:var(--pms-space-3)}.reservation-summary-overview .operational-issue-row{width:100%;background:var(--pms-color-surface);border:0;border-bottom:1px solid var(--pms-border);text-align:left;min-height:var(--pms-touch-target-mobile)}.reservation-summary-overview .operational-issue-row strong{font-size:var(--pms-font-body)}.reservation-modal-header .reservation-modal-identity{min-width:0}.reservation-modal-header>button{flex:0 0 44px}.mobile-reservation-status-grid .reservation-presence-tile:disabled{opacity:1;color:var(--pms-color-ink)}.reservation-modal .reservation-hub-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--pms-space-1);overflow:visible;padding:var(--pms-space-2) var(--pms-space-4)}.reservation-modal .reservation-hub-tabs>button{min-width:0;min-height:var(--pms-touch-target);padding:var(--pms-space-2) var(--pms-space-1);border:0;border-radius:var(--pms-radius-control);background:transparent;color:var(--pms-color-muted);font-size:var(--pms-font-table)}.reservation-modal .reservation-hub-tabs>button.active{background:var(--pms-color-info-soft);color:var(--pms-color-navy-800)}.reservation-secondary-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 auto;min-height:0;max-height:40dvh;gap:var(--pms-space-1) var(--pms-space-3);padding:var(--pms-space-2) var(--pms-space-4);overflow-y:auto;overscroll-behavior:contain;background:var(--pms-color-surface-soft);border-bottom:1px solid var(--pms-color-line)}.reservation-secondary-menu>button{display:flex;justify-content:space-between;align-items:center;min-height:var(--pms-touch-target);padding:var(--pms-space-2);border:0;border-radius:var(--pms-radius-control);background:transparent;color:var(--pms-color-ink);font-size:var(--pms-font-table);text-align:left}.reservation-secondary-menu>button[aria-current]{background:var(--pms-color-info-soft)}.reservation-secondary-panel-title{margin:0 0 var(--pms-space-3);font-size:var(--pms-font-section-title)}.pms-overlay-backdrop.reservation-modal-backdrop{overflow:hidden;overscroll-behavior:none}.pms-overlay-panel.reservation-modal{overscroll-behavior:none;background:var(--pms-color-surface)}.reservation-modal .reservation-modal-body{min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--pms-color-surface);padding:var(--pms-space-4) var(--pms-space-4) calc(var(--pms-space-8) + env(safe-area-inset-bottom));scroll-padding-block:var(--pms-space-4) calc(var(--pms-space-8) + env(safe-area-inset-bottom))}.reservation-modal .reservation-inline-panel:has(>.room-notice-summary){padding:0;border:0;border-radius:0;background:transparent}.reservation-modal .reservation-inline-panel>.room-notice-summary{border-top:0}.mobile-reservation-daily .mobile-today-schedule{margin-bottom:var(--pms-space-4)}.mobile-reservation-daily .mobile-reservation-filters{display:flex;gap:var(--pms-space-1);padding:var(--pms-space-1);margin-bottom:var(--pms-space-4);border-radius:var(--pms-radius-control);background:var(--pms-color-surface-soft)}.mobile-reservation-daily .mobile-reservation-filters button{display:flex;flex:1;min-width:0;min-height:var(--pms-touch-target);gap:var(--pms-space-2);align-items:center;justify-content:center;border:0;border-radius:var(--pms-radius-control);background:transparent;color:var(--pms-color-muted);font-size:var(--pms-font-table)}.mobile-reservation-daily .mobile-reservation-filters button.active{background:var(--pms-color-info-soft);color:var(--pms-color-navy-800)}.mobile-reservation-daily .mobile-calendar-cleaning-toggle{width:100%;margin:0 0 var(--pms-space-4);min-height:var(--pms-touch-target);padding:var(--pms-space-3) var(--pms-space-4);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-card);background:var(--pms-color-surface);font-size:var(--pms-font-table)}.reservation-calendar-secondary-actions{margin-block:var(--pms-space-4)}@media(max-width:640px){.pms-overlay-panel.reservation-modal{height:min(94dvh,calc(var(--pms-overlay-viewport-height, 100dvh) - max(var(--pms-space-3),env(safe-area-inset-top))));max-height:min(94dvh,calc(var(--pms-overlay-viewport-height, 100dvh) - max(var(--pms-space-3),env(safe-area-inset-top))));border-radius:var(--pms-radius-lg) var(--pms-radius-lg) 0 0}.reservation-modal .reservation-modal-header{padding:var(--pms-space-4)}.reservation-modal .reservation-hub-tabs{padding-inline:var(--pms-space-3)}}.door-code-card{display:grid;gap:12px;padding:14px;border:2px solid #cbd5e1;border-radius:12px;background:#fff}.door-code-card.confirmation-pending{border-color:var(--pms-color-warning);background:var(--pms-color-warning-soft)}.door-code-card.confirmed{border-color:#cbd5e1;background:#fff}.reservation-doorlock-summary-card{display:grid;gap:10px;padding:12px;border:1px solid #d9e1ea;border-radius:12px;background:#fff}.reservation-doorlock-number{display:flex;justify-content:space-between;gap:12px;align-items:center}.reservation-doorlock-number span{font-weight:800;color:#b91c1c}.door-code-card.confirmed .reservation-doorlock-number span{color:#334155}.reservation-doorlock-number strong{font-size:28px;letter-spacing:.1em}.reservation-doorlock-verification{display:grid;gap:4px;padding:11px;border:1px solid #bbd6c1;border-radius:10px;background:#f0fdf4;color:#166534}.reservation-doorlock-verification.pending{border-color:var(--pms-color-warning);background:var(--pms-color-warning-soft);color:var(--pms-color-warning)}.reservation-doorlock-verification span,.reservation-doorlock-verification small{font-size:12px}.reservation-doorlock-verification strong{font-size:15px}.reservation-doorlock-mode-warning{margin:0;padding:9px 11px;border-radius:9px;background:#fff7ed;color:#9a3412;font-size:12px}.reservation-doorlock-section{display:grid;gap:9px;padding:12px;border:1px solid #e1e6ec;border-radius:11px;background:#fff}.reservation-doorlock-section h4,.reservation-doorlock-devices h4{margin:0;color:#24364c;font-size:14px}.reservation-chat-sections{display:flex;gap:8px;overflow-x:auto}.reservation-chat-sections button{min-height:44px;border:1px solid #cbd5e1;background:#fff;padding:0 14px;font-weight:800}.reservation-chat-sections button.active{background:#173b6c;color:#fff;border-color:#173b6c}.reservation-guest-chat-panel{display:grid;gap:12px}.door-code-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.door-code-card dl>div{display:grid;gap:3px}.door-code-card dt{font-size:12px;color:#64748b}.door-code-card dd{margin:0;font-weight:700}.door-code-actions,.door-code-editor{display:flex;gap:8px;flex-wrap:wrap}.door-code-actions button,.door-code-editor button{min-height:44px}.door-code-editor input{min-height:44px;max-width:150px}.reservation-doorlock-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-doorlock-action-grid button{min-height:48px;padding:8px 10px;border:1px solid #bcc8d5;border-radius:10px;background:#fff;color:#1e3653;font-weight:800}.reservation-doorlock-action-grid button:disabled{cursor:not-allowed;opacity:.55}.reservation-doorlock-action-grid .reservation-doorlock-confirmed-record{display:flex;min-height:48px;align-items:center;padding:8px 10px;border-radius:10px;background:#f0fdf4;color:#166534;font-weight:800}.reservation-doorlock-action-grid .reservation-doorlock-open-work{grid-column:1 / -1;border-color:#173b6c;background:#173b6c;color:#fff}.reservation-doorlock-manual-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.reservation-doorlock-manual-editor label{display:grid;gap:5px;min-width:0;color:#52657b;font-size:12px;font-weight:800}.reservation-doorlock-manual-editor input{width:100%;max-width:none;min-height:48px;padding:0 12px;border:1px solid #bcc8d5;border-radius:10px;font-size:18px;letter-spacing:.12em}.reservation-doorlock-manual-editor button{min-height:48px;padding:0 14px;border:1px solid #173b6c;border-radius:10px;background:#fff;color:#173b6c;font-weight:800}.reservation-doorlock-manual-editor small{grid-column:1 / -1;color:#66758a;font-size:12px}.reservation-doorlock-secondary-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.reservation-doorlock-secondary-actions button{min-height:44px;border:0;background:transparent;color:#607087;text-decoration:underline}.reservation-doorlock-number-change{padding:10px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}.reservation-doorlock-number-change summary{cursor:pointer;color:#465a72;font-size:13px;font-weight:800}.reservation-doorlock-number-change[open]{display:grid;gap:9px}.reservation-doorlock-number-change p{margin:0;color:#68778a;font-size:12px}.reservation-doorlock-number-change>button{display:inline-flex;width:fit-content;min-height:var(--pms-touch-target);align-items:center;justify-content:center;border:1px solid #bcc8d5;border-radius:9px;background:#fff;color:#1e3653;font-weight:800;line-height:var(--pms-line-tight)}.reservation-doorlock-supporting{background:#f8fafc}.reservation-doorlock-devices{display:grid;gap:8px}.reservation-doorlock-device-confirmations>div{display:grid;gap:7px}.reservation-doorlock-device-confirmations article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.reservation-doorlock-device-confirmations article>div{min-width:0}.reservation-doorlock-device-confirmations article strong,.reservation-doorlock-device-confirmations article span{display:block;overflow-wrap:anywhere}.reservation-doorlock-device-confirmations article span{margin-top:3px;color:#64748b;font-size:11px}.reservation-doorlock-device-confirmations article b{color:#7a570c;font-size:12px;white-space:nowrap}.reservation-doorlock-device-confirmations article.state-confirmed b{color:#287055}.reservation-doorlock-device-confirmations article.state-error b{color:#a23c34}.reservation-doorlock-device-confirmations>button{min-height:44px;border:1px solid #bcc8d5;border-radius:10px;background:#fff;color:#1e3653;font-weight:800}.external-off{padding:8px 10px;border-radius:8px;background:#f1f5f9;color:#475569;font-weight:700}.internal-chat-messages{display:grid;gap:8px;max-height:320px;overflow:auto}.internal-chat-messages article{max-width:85%}.internal-chat-messages article.mine{justify-self:end;background:#eff6ff}.internal-chat-messages article p{white-space:pre-wrap}.internal-chat-messages time{font-size:11px;color:#64748b}.internal-chat-compose{display:grid;gap:8px}.internal-chat-compose textarea{min-height:88px;resize:vertical}.internal-chat-compose button{min-height:44px}@media(max-width:640px){.door-code-card{gap:10px;padding:10px}.door-code-card dl{grid-template-columns:1fr}.door-code-actions{display:grid}.door-code-editor input{max-width:none;width:100%}.reservation-doorlock-number strong{font-size:26px}.internal-chat-compose{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media(max-width:370px){.reservation-doorlock-action-grid{grid-template-columns:1fr}.reservation-doorlock-action-grid .reservation-doorlock-open-work{grid-column:auto}.reservation-doorlock-manual-editor{grid-template-columns:1fr}.reservation-doorlock-manual-editor small{grid-column:auto}}:root{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;color:#172033;background:#f4f6fa;--pms-bg: #f4f6fa;--pms-card: #ffffff;--pms-border: #e4e9f1;--pms-ink: #172033;--pms-muted: #738096;--pms-primary: #20395f;--pms-sidebar: #182840;--pms-primary-soft: #eaf0f8;--pms-accent: #3975dc;--pms-success: #25835b;--pms-warning: #c77a15;--pms-danger: #b93832;--pms-card-radius: var(--pms-radius-card, 14px);--pms-control-radius: var(--pms-radius-control, 10px)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--pms-bg);color:var(--pms-ink)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}.desktop-only,.desktop-sidebar{display:none}.mobile-only{display:block}.classic-pms-app{--classic-page-gutter-inline: var(--pms-space-4, 16px);position:fixed;inset:0;overflow-x:hidden;overflow-y:auto;background:linear-gradient(180deg,#f7f9fc 0,#f4f6fa 180px 100%);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.classic-header{position:sticky;top:0;z-index:30;padding:calc(10px + env(safe-area-inset-top)) var(--classic-page-gutter-inline) 11px;border-bottom:1px solid rgba(218,224,234,.9);background:#f7f9fcf0;box-shadow:0 7px 20px #1f2d4809;backdrop-filter:blur(18px)}.classic-header-top{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:10px}.classic-header-left{display:flex;min-width:0;align-items:center;gap:10px}.classic-header-title{color:var(--pms-ink);font-size:21px;font-weight:950;letter-spacing:-.045em}.classic-header-subtitle{margin-top:1px;color:var(--pms-muted);font-size:12px}.classic-icon-button{position:relative;display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid var(--pms-border);border-radius:14px;background:#fff;color:var(--pms-accent);font-size:19px;font-weight:900;box-shadow:0 4px 14px #1f2d480a}.notification-bell-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.notification-trigger[data-has-unread=true]{border-color:#c9d6e8;color:var(--pms-primary);background:#f9fbff}.notification-trigger-badge{position:absolute;top:-5px;right:-6px;display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;padding:0 5px;border:2px solid #fff;border-radius:999px;color:#fff;background:var(--pms-color-danger, #b42318);box-shadow:0 2px 6px #b4231838;font-size:10px;font-weight:900;line-height:1}.classic-datebar{display:grid;grid-template-columns:42px minmax(0,1fr) 42px 58px;gap:7px;margin-top:9px;padding:5px;border:1px solid rgba(224,229,238,.95);border-radius:17px;background:#ffffffc7}.classic-datebar button,.classic-date-pill{display:grid;height:40px;place-items:center;border-radius:12px;background:transparent;font-weight:900}.classic-datebar button{color:#55739b;font-size:15px}.classic-datebar button:last-child{background:#eef3fa;color:#315982;font-size:12px}.classic-date-pill{color:#244b78;font-size:14px;letter-spacing:-.025em}.classic-main{min-width:0;padding:18px var(--classic-page-gutter-inline) calc(104px + env(safe-area-inset-bottom))}.mobile-screen-heading{margin:2px 2px 15px}.mobile-screen-heading span,.desktop-page-heading>div>span{color:#5d7ba4;font-size:12px;font-weight:900;letter-spacing:.14em}.mobile-screen-heading h1{margin:4px 0 5px;color:var(--pms-ink);font-size:25px;letter-spacing:-.045em}.mobile-screen-heading p{margin:0;color:var(--pms-muted);font-size:13px;line-height:1.5}.mobile-summary{display:flex;gap:9px;overflow-x:auto;margin:0 -2px 4px;padding:1px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity}.mobile-summary::-webkit-scrollbar{display:none}.classic-summary-card{border:1px solid var(--pms-border);border-radius:17px;background:#fff;box-shadow:0 5px 17px #1f2d480d}.mobile-summary .classic-summary-card{min-height:80px;flex:0 0 104px;padding:11px 12px;scroll-snap-align:start}.classic-summary-card span{display:block;color:var(--pms-muted);font-size:12px;font-weight:850;white-space:nowrap}.classic-summary-card strong{display:block;margin-top:7px;color:var(--pms-ink);font-size:24px;line-height:1}.classic-summary-card small{display:block;margin-top:5px;color:#98a3b5;font-size:12px}.classic-summary-card.blue{border-top:3px solid #4c83df}.classic-summary-card.slate{border-top:3px solid #8290a6}.classic-summary-card.green{border-top:3px solid #38a176}.classic-summary-card.amber{border-top:3px solid #d49631}.classic-summary-card.red{border-top:3px solid #bf4a43}.dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:5px;padding:5px;border:1px solid var(--pms-border);border-radius:15px;background:#fff}.dashboard-tabs button{min-height:39px;padding:0 8px;border-radius:11px;background:transparent;color:#7e8999;font-size:12px;font-weight:850}.dashboard-tabs button.active{background:var(--pms-primary);color:#fff}.operations-hero{display:flex;min-height:130px;align-items:center;justify-content:space-between;gap:18px;margin-top:13px;padding:19px;border:1px solid #2b4260;border-radius:21px;background:linear-gradient(145deg,#22354e,#1c2b40);color:#fff;box-shadow:0 8px 24px #15233521}.operations-hero span{color:#92b2d8;font-size:10px;font-weight:900;letter-spacing:.15em}.operations-hero h2{margin:6px 0 0;color:#fff;font-size:18px;letter-spacing:-.035em}.operations-hero p{margin:8px 0 0;color:#b9c6d6;font-size:12px;line-height:1.55}.operations-hero-count{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:18px;background:#ffffff17;font-size:27px;font-weight:950}.classic-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 3px 10px}.classic-section-heading h2{margin:0;color:var(--pms-ink);font-size:18px;letter-spacing:-.035em}.classic-section-heading p{margin:4px 0 0;color:var(--pms-muted);font-size:13px}.classic-section-heading>span{color:var(--pms-muted);font-size:12px}.empty-operational-card,.placeholder-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--pms-border);border-radius:20px;background:#fff;box-shadow:0 6px 20px #1f2d480b}.empty-operational-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:14px;background:#eaf4ef;color:var(--pms-success);font-weight:950}.empty-operational-card h3,.placeholder-card h2{margin:0;color:var(--pms-ink);font-size:16px;letter-spacing:-.025em}.empty-operational-card p,.placeholder-card p{margin:5px 0 0;color:var(--pms-muted);font-size:12px;line-height:1.5}.placeholder-card{min-height:220px;flex-direction:column;justify-content:center;margin-top:12px;text-align:center}.placeholder-card>span{color:#5d7ba4;font-size:10px;font-weight:900;letter-spacing:.15em}.mobile-bottom-navigation{position:fixed;right:0;bottom:0;left:0;z-index:var(--pms-z-navigation);display:grid;grid-template-columns:repeat(var(--mobile-navigation-count, 5),minmax(0,1fr));gap:var(--pms-space-1);scrollbar-width:none;padding:var(--pms-space-2) var(--pms-space-4) calc(var(--pms-space-2) + env(safe-area-inset-bottom));border-top:1px solid var(--pms-color-line);background:var(--pms-color-surface)}.mobile-bottom-navigation::-webkit-scrollbar{display:none}.mobile-nav-button{display:flex;min-width:0;min-height:calc(var(--pms-touch-target-mobile) + var(--pms-space-2));flex-direction:column;align-items:center;justify-content:center;gap:var(--pms-space-1);padding:var(--pms-space-1) 0;border:0;border-radius:var(--pms-radius-control);background:transparent;color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-medium);line-height:var(--pms-line-tight)}.mobile-nav-button.active{color:var(--pms-color-blue-700);font-weight:var(--pms-weight-bold)}.mobile-nav-icon{display:grid;width:var(--pms-touch-target);height:var(--pms-space-8);place-items:center;border-radius:var(--pms-radius-pill);line-height:1}.mobile-nav-icon svg{width:var(--pms-space-6);height:var(--pms-space-6)}.mobile-nav-button.active .mobile-nav-icon{background:var(--pms-color-blue-50)}.mobile-nav-label{white-space:nowrap}.mobile-nav-button:focus-visible,.mobile-navigation-row:focus-visible{outline:2px solid var(--pms-color-blue-700);outline-offset:-2px}.mobile-nav-button:active,.mobile-navigation-row:active{background:var(--pms-color-surface-soft)}.mobile-bottom-navigation[data-mobile-slot-count="1"]{--mobile-navigation-count: 1}.mobile-bottom-navigation[data-mobile-slot-count="2"]{--mobile-navigation-count: 2}.mobile-bottom-navigation[data-mobile-slot-count="3"]{--mobile-navigation-count: 3}.mobile-bottom-navigation[data-mobile-slot-count="4"]{--mobile-navigation-count: 4}.mobile-bottom-navigation[data-mobile-slot-count="5"]{--mobile-navigation-count: 5}.mobile-navigation-sheet-backdrop{align-items:end}.mobile-navigation-sheet.pms-overlay-panel{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,28rem);max-height:min(82dvh,calc(var(--pms-overlay-viewport-height, 100dvh) - var(--pms-space-8)));overflow:hidden;padding:0;border-radius:var(--pms-radius-lg) var(--pms-radius-lg) 0 0;background:var(--pms-color-surface);box-shadow:var(--pms-shadow-panel)}.mobile-navigation-sheet header{display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-3);padding:var(--pms-space-4)}.mobile-navigation-sheet header div{display:grid;gap:var(--pms-space-1)}.mobile-navigation-sheet header strong{font-size:var(--pms-font-section-title)}.mobile-navigation-sheet header span{color:var(--pms-color-muted);font-size:var(--pms-font-caption)}.mobile-navigation-sheet header button{flex:0 0 auto;width:var(--pms-touch-target-mobile);height:var(--pms-touch-target-mobile);border:0;border-radius:var(--pms-radius-control);background:var(--pms-color-surface-soft);font-size:1.5rem}.mobile-navigation-menu-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--pms-space-4) calc(var(--pms-space-4) + env(safe-area-inset-bottom))}.mobile-navigation-group+.mobile-navigation-group{margin-top:var(--pms-space-4)}.mobile-navigation-group h3{margin:0;padding:var(--pms-space-2) var(--pms-space-3);color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-medium)}.mobile-navigation-row{display:flex;width:100%;min-width:0;min-height:var(--pms-touch-target-mobile);align-items:center;gap:var(--pms-space-3);padding:var(--pms-space-2) var(--pms-space-3);border:0;border-radius:var(--pms-radius-control);color:var(--pms-color-ink);background:transparent;text-align:left}.mobile-navigation-row.active{color:var(--pms-color-blue-700);background:var(--pms-color-blue-50)}.mobile-navigation-row-icon{flex:0 0 var(--pms-space-6);text-align:center;color:var(--pms-color-muted);font-size:var(--pms-font-section-title)}.mobile-navigation-row strong{min-width:0;font-size:var(--pms-font-body);font-weight:var(--pms-weight-medium);line-height:var(--pms-line-body);overflow-wrap:anywhere}.mobile-navigation-chevron{margin-left:auto;color:var(--pms-color-subtle);font-size:var(--pms-font-section-title)}.mobile-navigation-sheet .mobile-navigation-item-copy{display:grid;flex:1 1 auto;min-width:0;gap:var(--pms-space-1)}.mobile-navigation-sheet .mobile-navigation-item-copy small{color:var(--pms-color-muted);font-size:var(--pms-font-table);line-height:var(--pms-line-body);overflow-wrap:anywhere}.mobile-navigation-empty{margin:0;padding:var(--pms-space-6) var(--pms-space-3);color:var(--pms-color-muted);font-size:var(--pms-font-body)}.mobile-notification-backdrop{position:fixed;inset:0;z-index:1100;display:grid;align-items:end;padding:0;background:#0f172a7a}.mobile-notification-sheet{display:grid;grid-template-rows:minmax(0,1fr);width:100%;height:100dvh;max-height:100dvh;overflow:hidden;margin-left:auto;background:#fff;box-shadow:0 -18px 48px #0f172a33}.mobile-notification-sheet>.notification-center{min-width:0;min-height:0;overflow:hidden}@media(min-width:1100px){html,body,#root{overflow:hidden}.mobile-only,.mobile-bottom-navigation,.mobile-navigation-sheet-backdrop{display:none}.mobile-notification-backdrop{align-items:stretch;justify-items:end}.mobile-notification-sheet{width:min(460px,100%);height:100%;max-height:100vh;border-radius:0}.desktop-only{display:block}.classic-pms-app{--classic-page-gutter-inline: 30px;display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:88px minmax(0,1fr);overflow:hidden;padding:0;background:var(--pms-bg)}.desktop-sidebar{display:flex;grid-row:1 / 3;min-height:0;flex-direction:column;padding:24px 18px 18px;border-right:1px solid rgba(255,255,255,.05);background:var(--pms-sidebar);color:#fff}.desktop-brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.desktop-brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;background:#fff;color:var(--pms-sidebar);font-size:20px;font-weight:950}.desktop-brand strong{display:block;font-size:18px;letter-spacing:-.03em}.desktop-brand span{display:block;margin-top:3px;color:#9fb0c7;font-size:12px}.desktop-user-card{display:flex;align-items:center;gap:11px;margin-bottom:18px;padding:13px;border-radius:16px;background:#ffffff13}.desktop-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#31527e;font-weight:900}.desktop-user-card strong{display:block;font-size:14px}.desktop-user-card span{display:block;margin-top:3px;color:#aebdd0;font-size:11px}.desktop-workspace-selector{display:grid;gap:6px;margin:0 4px 10px;color:#aebdd0;font-size:11px;font-weight:800}.desktop-workspace-selector select{width:100%;padding:9px 10px;border:1px solid #47617f;border-radius:10px;color:#f4f7fb;background:#253d5c}.desktop-nav-list{display:flex;min-height:0;flex-direction:column;gap:12px;overflow-y:auto}.desktop-nav-button{display:flex;width:100%;min-height:45px;align-items:center;gap:12px;padding:0 14px;border-radius:13px;background:transparent;color:#b8c5d7;text-align:left;font-size:13px;font-weight:800}.desktop-nav-button>span{width:22px;text-align:center;font-size:17px}.desktop-nav-button:hover{background:#fff1;color:#fff}.desktop-nav-button.active{background:#fff;color:var(--pms-sidebar);box-shadow:0 8px 22px #00000026}.desktop-sidebar-footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:14px}.desktop-nav-group{display:grid;gap:4px}.desktop-nav-group h2{margin:0 10px 2px;color:#8295ae;font-size:12px;font-weight:900;letter-spacing:.08em}.desktop-app-version{padding:0 10px;color:#8fa1b8;font-size:10px;font-weight:700}.desktop-sidebar-footer button{min-height:40px;border-radius:11px;background:#ffffff12;color:#c7d2e0;font-size:12px;font-weight:800}.desktop-sidebar-footer .logout-button{background:transparent;color:#ffaaa5}.classic-header{position:relative;top:auto;z-index:20;grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:24px;padding:16px var(--classic-page-gutter-inline);border-bottom:1px solid var(--pms-border);background:#fffffff0;box-shadow:none}.classic-header-top{justify-content:flex-start}.classic-header-top>.classic-icon-button{margin-left:auto}.classic-header-title{font-size:20px}.classic-datebar{grid-template-columns:42px minmax(0,1fr) 42px 64px;gap:8px;margin:0;padding:0;border:0;background:transparent}.classic-datebar button,.classic-date-pill{height:42px;border:1px solid var(--pms-border);border-radius:12px;background:#fff}.classic-date-pill{background:#f8fafc;font-size:15px}.classic-main{grid-column:2;min-width:0;overflow:auto;padding:26px var(--classic-page-gutter-inline) 54px}.classic-main table{font-size:max(13px,var(--pms-font-table));line-height:1.5}.classic-main table th{position:sticky;top:0;z-index:2;min-height:48px;background:#f8fafc}.classic-main table td{min-height:48px;overflow-wrap:anywhere}.classic-main table th,.classic-main table td{padding-block:12px}.desktop-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.desktop-page-heading h1{margin:4px 0 5px;color:var(--pms-ink);font-size:28px;letter-spacing:-.045em}.desktop-page-heading p{margin:0;color:var(--pms-muted);font-size:14px}.desktop-page-heading button{min-height:42px;padding:0 18px;border-radius:12px;background:var(--pms-primary);color:#fff;font-weight:850}.desktop-summary{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:22px}.desktop-summary .classic-summary-card{padding:16px;text-align:left;box-shadow:0 7px 22px #1f2d480b}.desktop-summary .classic-summary-card span{font-size:12px}.desktop-summary .classic-summary-card strong{margin-top:7px;font-size:25px}.desktop-summary .classic-summary-card small{font-size:11px}.dashboard-tabs{width:560px;margin-top:0}.operations-hero{min-height:150px;padding:24px}.operations-hero h2{font-size:22px}.operations-hero p{font-size:13px}.classic-section-heading{margin-top:25px}.empty-operational-card{min-height:104px}.placeholder-card{min-height:330px}}.desktop-manual-manage{width:100%;min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #c8d2df;border-radius:10px;background:#fff;color:#17324d;font-weight:800}.manual-add-backdrop{z-index:1400}.manual-add-chooser{width:min(520px,calc(100vw - 24px));max-height:min(82dvh,var(--pms-overlay-viewport-height,100dvh));overflow:auto;padding-bottom:env(safe-area-inset-bottom)}.manual-add-chooser>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px}.manual-add-chooser>header span{font-size:12px;color:#64748b}.manual-add-chooser>header h2{margin:4px 0 0;font-size:20px}.manual-add-chooser>header button{min-width:48px;min-height:48px}.manual-add-choices{display:grid;gap:12px;padding:0 20px 20px}.manual-add-choices>button{min-height:72px;display:grid;gap:5px;text-align:left;padding:14px 16px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.manual-add-choices>button strong{font-size:16px}.manual-add-choices>button span{font-size:13px;color:#64748b}.location-loading-card,.location-empty-card{padding:26px;border:1px solid var(--pms-border);border-radius:20px;background:#fff;box-shadow:0 7px 22px #1f2d480d}.location-empty-card{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.location-empty-card>span{color:#5d7ba4;font-size:10px;font-weight:900;letter-spacing:.14em}.location-empty-card h2{margin:8px 0 0;font-size:22px}.location-empty-card p{max-width:430px;margin:10px 0 0;color:var(--pms-muted);font-size:13px;line-height:1.6}.location-empty-card button{min-height:44px;margin-top:20px;padding:0 20px;border-radius:12px;background:var(--pms-primary);color:#fff;font-weight:850}.location-empty-card button:disabled{cursor:wait;opacity:.6}.location-message{margin-top:15px;padding:11px 14px;border-radius:12px;background:#fff4de;color:#895b16;font-size:12px;font-weight:750}.location-message.success{position:fixed;right:24px;bottom:24px;z-index:1200;background:#e7f4ed;color:#26704e;box-shadow:0 8px 24px #1f2d481f}.location-tree{display:grid;gap:18px}.location-region-card{overflow:hidden;border:1px solid var(--pms-border);border-radius:20px;background:#fff;box-shadow:0 7px 22px #1f2d480b}.location-region-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--pms-primary);color:#fff}.location-region-card>header span,.location-area-heading span,.location-property-heading span{display:block;font-size:10px;font-weight:900;letter-spacing:.09em}.location-region-card>header span{color:#a9c1df}.location-region-card>header h2{margin:4px 0 0;font-size:21px}.location-region-card>header strong{color:#d1deee;font-size:12px}.location-area-grid{display:grid;gap:13px;padding:15px}.location-area-card{overflow:hidden;border:1px solid var(--pms-border);border-radius:16px;background:#f8fafc}.location-area-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--pms-border)}.location-area-heading span,.location-property-heading span{color:#6680a2}.location-area-heading h3{margin:3px 0 0;font-size:17px}.location-area-heading small{color:var(--pms-muted);font-size:12px}.location-property-list{display:grid;gap:10px;padding:11px}.location-property-card{padding:13px;border:1px solid #e5eaf1;border-radius:13px;background:#fff}.location-property-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.location-property-heading h4{margin:4px 0 0;font-size:14px}.location-property-heading strong{color:var(--pms-muted);font-size:12px;white-space:nowrap}.location-room-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.location-room-chip,.location-room-empty{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:#eaf0f8;color:#315982;font-size:12px;font-weight:800}.location-room-empty{background:#f0f2f5;color:#8a94a3}.location-no-property{padding:20px;color:var(--pms-muted);text-align:center;font-size:12px}@media(min-width:1100px){.location-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.classic-workspace-banner{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--pms-muted);font-size:12px}.classic-workspace-banner strong,.classic-workspace-banner em{padding:4px 8px;border-radius:999px;background:var(--pms-primary-soft);color:var(--pms-primary);font-style:normal;font-weight:850}.classic-workspace-banner em{background:#fff3d9;color:#8b5a00}.mobile-workspace-selector{min-width:120px;max-width:42vw;color:var(--pms-muted);font-size:10px;font-weight:800}.mobile-workspace-selector span{display:block;margin-bottom:2px}.mobile-workspace-selector select{width:100%;min-height:34px;padding:4px 8px;border:1px solid var(--pms-border);border-radius:10px;color:var(--pms-ink);background:#fff;font-size:12px;font-weight:800}.mobile-workspace-selector>strong{display:flex;min-height:34px;align-items:center;overflow:hidden;color:var(--pms-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.business-unit-scope-bar{display:flex;gap:6px;overflow-x:auto;padding:6px 0;scrollbar-width:none}.business-unit-scope-bar::-webkit-scrollbar{display:none}.business-unit-scope-bar button{flex:0 0 auto;min-height:34px;padding:6px 12px;border:1px solid #d7dce5;border-radius:999px;background:#fff;color:#505968;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.business-unit-scope-bar button.active{border-color:#1d5b44;background:#1d5b44;color:#fff}.desktop-sidebar .business-unit-scope-bar{flex-wrap:wrap;overflow-x:hidden;padding:4px 8px 12px}.desktop-sidebar .business-unit-scope-bar button{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classic-header .business-unit-scope-bar{width:100%;max-width:100vw}.classic-access-message{position:sticky;top:.75rem;z-index:20;margin:0 0 .75rem;padding:.75rem 1rem;border:1px solid #d69e2e;background:#fffaf0;color:#744210;font-weight:700}.mobile-user-trigger{display:flex;min-width:0;align-items:center;gap:10px;padding:4px;background:transparent;color:var(--pms-ink);text-align:left}.mobile-user-avatar{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;color:#fff;background:var(--pms-primary);font-weight:900}.mobile-user-copy{display:grid;min-width:0;gap:2px}.mobile-user-copy strong,.mobile-user-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-copy strong{font-size:15px}.mobile-user-copy small{color:var(--pms-muted);font-size:12px}.account-menu-backdrop{position:fixed;inset:0;z-index:var(--pms-z-overlay);display:grid;place-items:end center;background:#0f172a8f}.account-menu{display:grid;width:min(100%,520px);max-height:min(85dvh,680px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:22px 22px 0 0;background:#fff;box-shadow:var(--pms-shadow-panel)}.account-menu>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff}.account-menu>header{border-bottom:1px solid var(--pms-border)}.account-menu>header span{color:var(--pms-muted);font-size:12px;font-weight:800}.account-menu>header h2{margin:3px 0 0;font-size:22px}.account-menu>header button{width:44px;height:44px;border-radius:12px;background:var(--pms-primary-soft);font-size:24px}.account-menu dl{min-height:0;margin:0;padding:18px;overflow-y:auto;overscroll-behavior:contain}.account-menu dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--pms-border)}.account-menu dt{color:var(--pms-muted);font-size:13px;font-weight:800}.account-menu dd{margin:0;font-size:14px;overflow-wrap:anywhere}.account-menu>footer{display:grid;gap:12px;padding:16px 18px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--pms-border);background:#fff}.account-menu-product-switch{display:flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--pms-border);border-radius:12px;color:var(--pms-primary);background:var(--pms-primary-soft);font-weight:900;text-decoration:none}.account-menu-footer-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid var(--pms-border)}.account-menu>footer button{min-height:48px;padding:0 18px;border-radius:12px}.account-menu-logout{color:#fff;background:var(--pms-danger)}.desktop-user-card{width:100%;color:inherit;text-align:left}@media(min-width:1100px){.classic-header .mobile-only{display:none}.classic-header-left>.desktop-only{display:grid;min-width:0}.classic-header-title,.classic-header-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-backdrop{place-items:center;padding:24px}.account-menu{border-radius:22px}}.screen-error-panel{display:grid;gap:12px;min-height:220px;place-content:center;justify-items:start;padding:28px;border:1px solid #fecaca;border-radius:16px;background:#fff}.screen-error-panel h2,.screen-error-panel p{margin:0}.screen-error-panel>div{display:flex;flex-wrap:wrap;gap:8px}:root{--pms-color-ink: #172033;--pms-color-muted: #66758c;--pms-color-subtle: #7b8798;--pms-color-canvas: #f4f6fa;--pms-color-surface: #ffffff;--pms-color-surface-soft: #f6f8fc;--pms-color-line: #dce3ee;--pms-color-line-strong: #c6d1e0;--pms-color-navy-950: #111f34;--pms-color-navy-900: #182840;--pms-color-navy-800: #20395f;--pms-color-blue-700: #1c54d1;--pms-color-blue-100: #dce8ff;--pms-color-blue-50: #eef4ff;--pms-color-success: #19704f;--pms-color-success-soft: #e9f7f0;--pms-color-warning: #965d08;--pms-color-warning-soft: #fff3dd;--pms-color-danger: #b42318;--pms-color-danger-soft: #fff0ef;--pms-color-info: #315f8c;--pms-color-info-soft: #edf4fb;--pms-color-neutral: #58677a;--pms-color-neutral-soft: #eef1f5;--pms-unit-hanok: #765f43;--pms-unit-hanok-soft: #f5f0e8;--pms-unit-hanok-line: #d8c7b1;--pms-unit-ikseon: #356b4f;--pms-unit-ikseon-soft: #edf6f0;--pms-unit-ikseon-line: #b9d3c2;--pms-unit-bucheon: #355f88;--pms-unit-bucheon-soft: #edf3f9;--pms-unit-bucheon-line: #bacdde;--pms-unit-neutral: #68778a;--pms-unit-neutral-soft: #f2f4f7;--pms-unit-neutral-line: #d7dee7;--pms-font-page-title: clamp(1.625rem, 2vw, 1.875rem);--pms-font-section-title: clamp(1.125rem, 1.4vw, 1.375rem);--pms-font-card-title: 1rem;--pms-font-body: .9375rem;--pms-font-table: .8125rem;--pms-font-caption: .75rem;--pms-line-tight: 1.25;--pms-line-body: 1.55;--pms-weight-regular: 500;--pms-weight-medium: 650;--pms-weight-bold: 800;--pms-weight-heavy: 900;--pms-space-1: .25rem;--pms-space-2: .5rem;--pms-space-3: .75rem;--pms-space-4: 1rem;--pms-space-5: 1.25rem;--pms-space-6: 1.5rem;--pms-space-8: 2rem;--pms-radius-sm: .5rem;--pms-radius-md: .75rem;--pms-radius-lg: 1.125rem;--pms-radius-pill: 999px;--pms-radius-control: .625rem;--pms-radius-card: .875rem;--pms-shadow-card: 0 8px 24px rgb(16 31 51 / 7%);--pms-shadow-panel: 0 18px 48px rgb(16 31 51 / 16%);--pms-touch-target: 2.75rem;--pms-touch-target-mobile: 3rem;--pms-content-width: 90rem;--pms-z-navigation: 30;--pms-z-overlay: 80;--pms-z-toast: 100}@media(max-width:47.99rem){:root{--pms-font-page-title: clamp(1.375rem, 7vw, 1.625rem);--pms-font-section-title: 1.125rem;--pms-font-body: .9375rem}}.pms-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--pms-space-5)}.pms-page-header__copy{min-width:0}.pms-page-header__eyebrow{margin:0 0 var(--pms-space-1);color:var(--pms-color-blue-700);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-heavy);letter-spacing:.09em}.pms-page-header h1{margin:0;color:var(--pms-color-ink);font-size:var(--pms-font-page-title);line-height:var(--pms-line-tight);overflow-wrap:anywhere}.pms-page-header p{margin:var(--pms-space-2) 0 0;color:var(--pms-color-muted);font-size:var(--pms-font-body);line-height:var(--pms-line-body)}.pms-page-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--pms-space-2)}.pms-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--pms-space-4)}.pms-section-header h2,.pms-section-header h3{margin:0;font-size:var(--pms-font-section-title);line-height:var(--pms-line-tight);overflow-wrap:anywhere}.pms-section-header p{margin:var(--pms-space-1) 0 0;color:var(--pms-color-muted);font-size:var(--pms-font-body);line-height:var(--pms-line-body)}.pms-summary-card{min-width:0;padding:var(--pms-space-4);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-md);background:var(--pms-color-surface);box-shadow:var(--pms-shadow-card)}.pms-summary-card__label{display:block;color:var(--pms-color-muted);font-size:var(--pms-font-caption);line-height:var(--pms-line-body)}.pms-summary-card__value{display:block;margin-top:var(--pms-space-1);color:var(--pms-color-ink);font-size:1.5rem;line-height:var(--pms-line-tight);overflow-wrap:anywhere}.pms-summary-card__description{margin:var(--pms-space-2) 0 0;color:var(--pms-color-muted);font-size:var(--pms-font-table);line-height:var(--pms-line-body)}.pms-adaptive-card-grid{--pms-adaptive-card-columns: repeat(auto-fill, minmax(min(100%, var(--pms-adaptive-card-min, 20rem)), 1fr))}.pms-status-badge{display:inline-flex;min-height:1.75rem;align-items:center;max-width:100%;padding:.25rem .625rem;border-radius:var(--pms-radius-pill);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold);line-height:1.25;white-space:normal;overflow-wrap:anywhere}.pms-status-badge[data-tone=success]{color:var(--pms-color-success);background:var(--pms-color-success-soft)}.pms-status-badge[data-tone=warning]{color:var(--pms-color-warning);background:var(--pms-color-warning-soft)}.pms-status-badge[data-tone=danger]{color:var(--pms-color-danger);background:var(--pms-color-danger-soft)}.pms-status-badge[data-tone=info]{color:var(--pms-color-info);background:var(--pms-color-info-soft)}.pms-status-badge[data-tone=neutral],.pms-status-badge[data-tone=cancelled]{color:var(--pms-color-neutral);background:var(--pms-color-neutral-soft)}.pms-state{display:grid;justify-items:start;gap:var(--pms-space-2);min-height:8rem;align-content:center;padding:var(--pms-space-6);border:1px dashed var(--pms-color-line-strong);border-radius:var(--pms-radius-md);color:var(--pms-color-muted);background:var(--pms-color-surface-soft)}.pms-state h2,.pms-state h3{margin:0;color:var(--pms-color-ink);font-size:var(--pms-font-card-title)}.pms-state p{margin:0;font-size:var(--pms-font-body);line-height:var(--pms-line-body)}.pms-action-button{display:inline-flex;min-height:var(--pms-touch-target);align-items:center;justify-content:center;gap:var(--pms-space-2);padding:var(--pms-space-2) var(--pms-space-4);border:1px solid var(--pms-color-line-strong);border-radius:var(--pms-radius-control);touch-action:manipulation;color:var(--pms-color-ink);background:var(--pms-color-surface);font-size:var(--pms-font-body);font-weight:var(--pms-weight-bold);line-height:var(--pms-line-tight);text-align:center;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.pms-action-button[data-variant=primary]{border-color:var(--pms-color-blue-700);color:#fff;background:var(--pms-color-blue-700)}.pms-action-button[data-variant=secondary]{border-color:var(--pms-color-line-strong);color:var(--pms-color-navy-800);background:var(--pms-color-surface)}.pms-action-button[data-variant=tertiary],.pms-action-button[data-variant=ghost]{border-color:transparent;color:var(--pms-color-blue-700);background:transparent}.pms-action-button[data-variant=danger]{border-color:var(--pms-color-danger);color:#fff;background:var(--pms-color-danger)}.pms-action-button:focus-visible{outline:3px solid rgb(28 84 209 / 28%);outline-offset:2px}.pms-action-button:not(:disabled):hover{border-color:var(--pms-color-blue-700);background:var(--pms-color-blue-50);box-shadow:0 4px 12px #1c54d11a}.pms-action-button[data-variant=primary]:not(:disabled):hover{border-color:var(--pms-color-blue-700);color:#fff;background:color-mix(in srgb,var(--pms-color-blue-700) 90%,#000)}.pms-action-button[data-variant=danger]:not(:disabled):hover{border-color:var(--pms-color-danger);color:#fff;background:color-mix(in srgb,var(--pms-color-danger) 90%,#000)}.pms-action-button[data-variant=tertiary]:not(:disabled):hover,.pms-action-button[data-variant=ghost]:not(:disabled):hover{border-color:transparent;background:var(--pms-color-blue-50);box-shadow:none}.pms-action-button:not(:disabled):active,.pms-action-button[data-pms-pressed=true]{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 4px #0f234129;transition-duration:80ms}.pms-action-button:disabled{cursor:not-allowed;opacity:.64}.pms-action-button[data-state=loading]{box-shadow:none}.pms-action-button[data-state=success]{border-color:var(--pms-color-success)}.pms-action-button[data-state=error]{border-color:var(--pms-color-danger)}.pms-action-button__spinner{width:1rem;height:1rem;flex:0 0 auto;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pms-action-spin .7s linear infinite}.pms-action-button__state-icon{display:inline-grid;width:1.1rem;height:1.1rem;flex:0 0 auto;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.75rem;line-height:1}@keyframes pms-action-spin{to{transform:rotate(360deg)}}.pms-action-feedback{display:flex;align-items:start;gap:var(--pms-space-2);padding:var(--pms-space-3) var(--pms-space-4);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-control);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);font-size:var(--pms-font-body);line-height:var(--pms-line-body)}.pms-action-feedback[data-tone=success]{border-color:color-mix(in srgb,var(--pms-color-success) 30%,transparent);color:var(--pms-color-success);background:var(--pms-color-success-soft)}.pms-action-feedback[data-tone=error]{border-color:color-mix(in srgb,var(--pms-color-danger) 30%,transparent);color:var(--pms-color-danger);background:var(--pms-color-danger-soft)}.pms-action-feedback__icon{display:inline-grid;width:1.25rem;height:1.25rem;flex:0 0 auto;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.75rem;font-weight:var(--pms-weight-heavy);line-height:1}.pms-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:where([data-business-unit-tone=hanok],.unit-tone-hanok){--pms-unit-accent: var(--pms-unit-hanok);--pms-unit-soft: var(--pms-unit-hanok-soft);--pms-unit-line: var(--pms-unit-hanok-line)}:where([data-business-unit-tone=ikseon],.unit-tone-ikseon){--pms-unit-accent: var(--pms-unit-ikseon);--pms-unit-soft: var(--pms-unit-ikseon-soft);--pms-unit-line: var(--pms-unit-ikseon-line)}:where([data-business-unit-tone=bucheon],.unit-tone-bucheon){--pms-unit-accent: var(--pms-unit-bucheon);--pms-unit-soft: var(--pms-unit-bucheon-soft);--pms-unit-line: var(--pms-unit-bucheon-line)}:where([data-business-unit-tone=neutral],.unit-tone-neutral){--pms-unit-accent: var(--pms-unit-neutral);--pms-unit-soft: var(--pms-unit-neutral-soft);--pms-unit-line: var(--pms-unit-neutral-line)}.pms-data-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-md);background:var(--pms-color-surface)}.pms-data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--pms-font-table);line-height:var(--pms-line-body)}.pms-data-table th{position:sticky;top:0;z-index:1;padding:.75rem;border-bottom:1px solid var(--pms-color-line-strong);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);text-align:left}.pms-data-table td{min-height:3rem;padding:.75rem;border-bottom:1px solid var(--pms-color-line);vertical-align:middle;overflow-wrap:anywhere}.pms-data-table tbody tr:last-child td{border-bottom:0}.pms-detail-panel{min-width:0;padding:var(--pms-space-5);border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-lg);background:var(--pms-color-surface);box-shadow:var(--pms-shadow-card)}.pms-overlay-backdrop{--pms-overlay-frame-gap: var(--pms-space-5);position:fixed;display:grid;place-items:center;padding:calc(var(--pms-overlay-frame-gap) + var(--pms-overlay-viewport-offset-top, 0px)) var(--pms-overlay-frame-gap) calc(var(--pms-overlay-frame-gap) + var(--pms-overlay-viewport-bottom, 0px));overflow:hidden;background:#0f172a8f;overscroll-behavior:none;animation:pms-overlay-fade-in .16s ease-out}.pms-overlay-backdrop[data-overlay-active=false]{pointer-events:none}.pms-overlay-backdrop[data-overlay-variant=sheet]{--pms-overlay-frame-gap: 0px;align-items:end}.pms-overlay-backdrop[data-overlay-variant=drawer]{--pms-overlay-frame-gap: 0px;align-items:stretch;justify-items:end}.pms-overlay-panel{min-width:0;min-height:0;max-height:calc(var(--pms-overlay-viewport-height, 100dvh) - (2 * var(--pms-space-5)));overflow:auto;overscroll-behavior:contain;animation:pms-overlay-panel-in .16s ease-out}.pms-overlay-panel[data-overlay-variant=sheet],.pms-overlay-panel[data-overlay-variant=responsive]{animation-name:pms-overlay-sheet-in}@keyframes pms-overlay-fade-in{0%{opacity:0}}@keyframes pms-overlay-panel-in{0%{opacity:0;transform:scale(.985)}}@keyframes pms-overlay-sheet-in{0%{opacity:0;transform:translateY(14px)}}.pms-overlay-footer{position:sticky;z-index:3;bottom:0;display:flex;justify-content:flex-end;gap:var(--pms-space-2);padding:var(--pms-space-3) var(--pms-space-5) calc(var(--pms-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--pms-color-line);background:var(--pms-color-surface)}.pms-confirmation-dialog{display:grid;width:min(100%,32rem);overflow:hidden;border-radius:var(--pms-radius-lg);background:var(--pms-color-surface);box-shadow:var(--pms-shadow-panel)}.pms-confirmation-dialog__header{display:flex;align-items:start;justify-content:space-between;gap:var(--pms-space-4);padding:var(--pms-space-5);border-bottom:1px solid var(--pms-color-line)}.pms-confirmation-dialog__header>div{display:grid;gap:var(--pms-space-1)}.pms-confirmation-dialog__header span{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-heavy);letter-spacing:.08em}.pms-confirmation-dialog__header h2{margin:0;color:var(--pms-color-ink);font-size:var(--pms-font-section-title);line-height:var(--pms-line-tight);overflow-wrap:anywhere}.pms-confirmation-dialog__header>button{display:grid;width:var(--pms-touch-target);height:var(--pms-touch-target);flex:0 0 auto;place-items:center;padding:0;border:0;border-radius:var(--pms-radius-control);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);font-size:1.5rem}.pms-confirmation-dialog__body{display:grid;gap:var(--pms-space-3);padding:var(--pms-space-5)}.pms-confirmation-dialog__body>p{margin:0;color:var(--pms-color-muted);line-height:var(--pms-line-body)}.pms-confirmation-dialog__context{display:grid;gap:var(--pms-space-1);padding:var(--pms-space-3);border-radius:var(--pms-radius-control);color:var(--pms-color-ink);background:var(--pms-color-surface-soft);line-height:var(--pms-line-body);overflow-wrap:anywhere}.pms-confirmation-dialog__context dl{display:grid;gap:var(--pms-space-2);margin:0}.pms-confirmation-dialog__context dl>div{display:grid;grid-template-columns:minmax(5rem,auto) minmax(0,1fr);gap:var(--pms-space-3)}.pms-confirmation-dialog__context dt{color:var(--pms-color-muted);font-size:var(--pms-font-caption);font-weight:var(--pms-weight-bold)}.pms-confirmation-dialog__context dd{margin:0;font-weight:var(--pms-weight-bold)}.pms-bottom-sheet-backdrop{align-items:end;padding:0}.pms-bottom-sheet{display:grid;width:min(100%,44rem);max-height:min(calc(var(--pms-overlay-viewport-height, 100dvh) * .85),52rem);grid-template-rows:auto minmax(0,1fr);margin-inline:auto;overflow:hidden;border-radius:var(--pms-radius-lg) var(--pms-radius-lg) 0 0;background:var(--pms-color-surface);box-shadow:var(--pms-shadow-panel)}.pms-bottom-sheet__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-4);padding:var(--pms-space-4) var(--pms-space-5);border-bottom:1px solid var(--pms-color-line);background:var(--pms-color-surface)}.pms-bottom-sheet__header h2{margin:0;font-size:var(--pms-font-section-title)}.pms-bottom-sheet__header button{display:grid;width:var(--pms-touch-target);height:var(--pms-touch-target);place-items:center;padding:0;border-radius:var(--pms-radius-md);background:var(--pms-color-surface-soft);font-size:1.5rem;line-height:1}.pms-bottom-sheet__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--pms-space-5);padding-bottom:calc(var(--pms-space-6) + env(safe-area-inset-bottom))}.pms-accordion-section{overflow:hidden;border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-control);background:var(--pms-color-surface)}.pms-accordion-section__trigger{display:flex;width:100%;min-height:var(--pms-touch-target-mobile);align-items:center;justify-content:space-between;gap:var(--pms-space-3);padding:var(--pms-space-3) var(--pms-space-4);border:0;color:var(--pms-color-ink);background:transparent;text-align:left}.pms-accordion-section__trigger>span:first-child{display:grid;min-width:0;gap:.2rem}.pms-accordion-section__trigger strong{font-size:var(--pms-font-body);overflow-wrap:anywhere}.pms-accordion-section__trigger small{color:var(--pms-color-muted);font-size:var(--pms-font-caption);overflow-wrap:anywhere}.pms-accordion-section__chevron{flex:0 0 auto;color:var(--pms-color-blue-700);font-size:1.6rem;line-height:1;transition:transform .18s ease}.pms-accordion-section[data-open=true] .pms-accordion-section__chevron{transform:rotate(90deg)}.pms-accordion-section__body{display:grid;gap:var(--pms-space-3);padding:var(--pms-space-4);border-top:1px solid var(--pms-color-line)}.pms-slide-confirm{position:relative;display:grid;width:100%;height:58px;overflow:hidden;align-items:center;padding:0 16px 0 72px;border:1px solid #aeb9c8;border-radius:14px;touch-action:pan-y;user-select:none;color:var(--pms-color-navy-800);background:#eef1f5;font:inherit;font-weight:var(--pms-weight-heavy);text-align:center}.pms-slide-confirm__fill{position:absolute;inset:0;transform-origin:left center;background:color-mix(in srgb,var(--pms-color-blue-700) 20%,#eef1f5)}.pms-slide-confirm__label{position:relative;z-index:1;overflow-wrap:anywhere}.pms-slide-confirm__thumb{position:absolute;z-index:2;left:4px;top:4px;display:grid;width:58px;height:50px;place-items:center;border-radius:10px;color:#fff;background:var(--pms-color-navy-800);box-shadow:0 3px 10px #1c3a623d;font-size:1.55rem;line-height:1;transition:box-shadow 80ms ease,filter 80ms ease}.pms-slide-confirm[data-dragging=true] .pms-slide-confirm__thumb{filter:brightness(.92);box-shadow:inset 0 2px 4px #0003}.pms-slide-confirm:focus-visible{outline:3px solid rgb(28 84 209 / 28%);outline-offset:2px}.pms-slide-confirm:disabled{opacity:.62}html.pms-overlay-locked,body.pms-overlay-open{overflow:hidden;overscroll-behavior:none}body.pms-overlay-open .mobile-bottom-navigation{visibility:hidden;pointer-events:none}:where(.cleaning-page,.reservation-view,.field-operations,.pms-overlay-panel) button:not(:disabled){touch-action:manipulation;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}:where(.cleaning-page,.reservation-view,.field-operations,.pms-overlay-panel) button:not(:disabled):active,:where(.cleaning-page,.reservation-view,.field-operations,.pms-overlay-panel) button[data-pms-pressed=true]{transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 4px #0f234126;transition-duration:80ms}:where(button,[role=button]){touch-action:manipulation}:where(button,[role=button])[data-pms-pressed=false]{transition-duration:.15s}@media(max-width:47.99rem){.pms-overlay-backdrop[data-overlay-variant=responsive]{--pms-overlay-frame-gap: 0px;align-items:end}.pms-overlay-panel{max-height:var(--pms-overlay-viewport-height, 100dvh)}.pms-overlay-footer>button{min-height:var(--pms-touch-target-mobile);flex:1}.pms-confirmation-dialog{width:100%;border-radius:var(--pms-radius-lg) var(--pms-radius-lg) 0 0}.pms-confirmation-dialog__context dl>div{grid-template-columns:1fr;gap:var(--pms-space-1)}}@media(prefers-reduced-motion:reduce){.pms-action-button{transition:none}.pms-action-button:not(:disabled):active{transform:none}.pms-action-button__spinner{animation:none;border-right-color:currentColor;opacity:.65}.pms-accordion-section__chevron{transition:none}.pms-overlay-backdrop,.pms-overlay-panel{animation:none}:where(.cleaning-page,.reservation-view,.field-operations,.pms-overlay-panel) button:not(:disabled){transition:none}:where(.cleaning-page,.reservation-view,.field-operations,.pms-overlay-panel) button:not(:disabled):active{transform:none}}.pms-filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--pms-space-2)}.pms-filter-bar :is(input,select,button),.pms-mobile-select{min-height:var(--pms-touch-target);font-size:var(--pms-font-body)}.pms-long-text{min-width:0;overflow-wrap:anywhere}.pms-truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:47.99rem){html,body,#root{max-width:100%;overflow-x:clip}:where(button,a[href],[role=button],summary){min-height:44px}:where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;font-size:16px}:where(button[type=submit],.primary,.pms-action-button[data-variant=primary]){min-height:48px}:where(button,a[href],[role=button]){overflow-wrap:anywhere}.pms-page-header,.pms-section-header{align-items:stretch;flex-direction:column}.pms-page-header__actions{justify-content:stretch}.pms-page-header__actions>*,.pms-action-button{min-height:var(--pms-touch-target-mobile)}.pms-mobile-select,.pms-filter-bar :is(input,select,button){width:100%;min-height:var(--pms-touch-target-mobile);font-size:.9375rem}.pms-data-table-wrap[data-mobile-layout=cards]{overflow:visible;border:0;background:transparent}}@media(min-width:48rem){.pms-two-line-mobile{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:47.99rem){.pms-two-line-mobile{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:where(.pms-overlay-panel) button{-webkit-appearance:none;appearance:none;display:inline-flex;min-height:var(--pms-touch-target);align-items:center;justify-content:center;gap:var(--pms-space-2);padding:10px 14px;border:1px solid var(--pms-color-line-strong);border-radius:var(--pms-radius-control);background:var(--pms-color-surface);color:var(--pms-color-navy-800);font:inherit;font-weight:var(--pms-weight-bold);line-height:var(--pms-line-tight);text-align:center}.pms-overlay-panel .pms-action-button{border-radius:var(--pms-radius-control)}.pms-overlay-panel :is(button.primary,button.reservation-primary,.pms-action-button[data-variant=primary]){min-height:48px;padding:12px 16px;border-radius:var(--pms-radius-control);color:#fff;background:var(--pms-color-navy-800);border-color:var(--pms-color-navy-800)}.pms-overlay-panel>header{gap:12px}.pms-overlay-panel>header>:first-child{min-width:0;overflow-wrap:anywhere}.pms-overlay-panel button[data-dialog-close=true]{width:44px;min-width:44px;height:44px;min-height:44px;flex:0 0 44px;padding:0;border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-control);color:var(--pms-color-muted);background:var(--pms-color-surface-soft);font-size:24px}.pms-overlay-panel button[data-dialog-close=true]:not([aria-label]){width:auto;flex-basis:auto;padding-inline:12px;font-size:14px;white-space:nowrap}.pms-overlay-panel button:focus-visible{outline:3px solid rgb(28 84 209 / 28%);outline-offset:2px}.pms-overlay-panel :is(.pms-overlay-footer,.cleaning-schedule-detail-footer,.cleaning-door-code-actions) button{min-height:48px;padding:12px 16px}.pms-overlay-panel :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:max(16px,1em)}.pms-overlay-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){max-width:100%;min-width:0;padding:12px;border:1px solid var(--pms-color-line-strong);border-radius:var(--pms-radius-control);background:#fff;color:var(--pms-color-navy-800)}.pms-overlay-backdrop[data-overlay-variant]{padding-top:calc(var(--pms-overlay-frame-gap) + var(--pms-overlay-viewport-offset-top, 0px));padding-bottom:calc(var(--pms-overlay-frame-gap) + var(--pms-overlay-viewport-bottom, 0px))}.pms-overlay-panel :is(.pms-bottom-sheet__body,.cleaning-schedule-detail-body,.cleaning-issue-sheet-body,.reservation-modal-body,.room-hub-detail-body){-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.pms-overlay-panel .cleaning-schedule-detail-list{gap:0}.pms-overlay-panel .cleaning-schedule-detail-list>div{grid-template-columns:minmax(76px,.8fr) minmax(0,1.8fr);gap:14px;padding:12px 0;border-radius:0;border-bottom:1px solid var(--pms-color-line);background:transparent}.pms-overlay-panel .cleaning-schedule-detail-list>div:last-child{border-bottom:0}.pms-overlay-panel .cleaning-schedule-detail-list dt{font-size:13px;line-height:1.5}.pms-overlay-panel .cleaning-schedule-detail-list dd{font-size:15px;line-height:1.5}.pms-overlay-panel .cleaning-room-issue-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pms-overlay-panel .cleaning-room-issue-meta>div{padding:0;background:transparent}.pms-overlay-panel .cleaning-room-issue-meta dt{font-size:12px}.pms-overlay-panel .cleaning-room-issue-meta dd{font-size:14px;margin-top:4px}.pms-overlay-panel .cleaning-issue-status-actions{display:flex;flex-wrap:wrap;gap:8px}.pms-overlay-panel .cleaning-issue-status-actions>button.primary{order:-1;flex-basis:100%;min-height:48px}.pms-overlay-panel .cleaning-issue-status-actions>button:not(.primary){flex:1}.pms-overlay-panel.cleaning-door-code-sheet{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.pms-overlay-panel .cleaning-door-code-sheet-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.pms-overlay-panel .cleaning-door-code-actions{position:static;margin:0;padding:12px 0 0}.pms-overlay-panel .reservation-presence-controls:empty{display:none}.pms-overlay-panel.cleaning-schedule-edit-sheet{grid-template-rows:auto minmax(0,1fr)}.pms-overlay-panel.cleaning-schedule-edit-sheet>.cleaning-schedule-detail-body,.pms-overlay-panel .cleaning-door-code-sheet-body{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}@media(max-width:767px){.mobile-reservation-daily .mobile-calendar-overview{display:grid;gap:12px;padding:16px;border:1px solid var(--pms-color-line);border-radius:var(--pms-radius-card);background:var(--pms-color-surface)}.mobile-calendar-overview>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-calendar-overview>header h2{margin:0;font-size:18px}.mobile-calendar-overview .mobile-today-schedule{margin:0;padding:0;border:0;box-shadow:none;background:transparent}.mobile-calendar-overview .mobile-today-schedule-toggle{min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--pms-color-muted);font-size:14px}.mobile-calendar-overview .mobile-reservation-filters{margin:0;padding:4px;gap:4px;border-radius:var(--pms-radius-control);background:var(--pms-color-surface-soft)}.mobile-calendar-overview .mobile-reservation-filters button{border:0;border-radius:8px;background:transparent}.mobile-calendar-overview .mobile-reservation-filters button.active{background:#fff;color:var(--pms-color-navy-800);box-shadow:0 1px 4px #0f172a1a}.mobile-calendar-overview .mobile-calendar-cleaning-toggle{width:100%;margin:0;padding:10px 0 0;border:0;border-top:1px solid var(--pms-color-line);border-radius:0;background:transparent;font-size:14px}.mobile-calendar-cleaning-toggle>span{display:flex;align-items:center;gap:8px}.mobile-calendar-cleaning-toggle>span:before{content:"";width:16px;height:16px;border:1px solid var(--pms-color-line-strong);border-radius:4px;background:#fff}.mobile-calendar-cleaning-toggle[aria-pressed=true]>span:before{border-color:var(--pms-color-navy-800);background:var(--pms-color-navy-800);box-shadow:inset 0 0 0 3px #fff}.mobile-reservation-daily .mobile-reservation-card-list{margin-top:16px}}.cleaning-page .cleaning-card-actions{container-type:inline-size}.cleaning-page .cleaning-card .cleaning-card-core-actions{grid-template-columns:minmax(120px,1.2fr) minmax(0,1.8fr)}@container (max-width:280px){.cleaning-page .cleaning-card .cleaning-card-core-actions{grid-template-columns:minmax(0,1fr)}}.cleaning-card .cleaning-status-control{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:10px;border:1px solid var(--pms-color-line-strong);border-radius:var(--pms-radius-control);background:var(--pms-color-surface-soft);color:var(--pms-color-ink);font-size:14px;font-weight:700;white-space:nowrap}.cleaning-status-control[data-cleaning-status=in_progress]{border-color:#a7bbd1;background:#edf3f9}.cleaning-status-sheet{width:min(480px,100%);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--pms-color-surface);color:var(--pms-color-ink);border-radius:var(--pms-radius-lg) var(--pms-radius-lg) 0 0;box-shadow:0 -8px 32px #111f3424}.cleaning-status-sheet>header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--pms-color-line)}.cleaning-status-sheet h2{margin:4px 0 0;font-size:20px}.cleaning-status-sheet header span{color:var(--pms-color-muted);font-size:13px}.cleaning-status-sheet-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 16px calc(20px + env(safe-area-inset-bottom))}.cleaning-status-current{display:flex;justify-content:space-between;gap:12px;margin:0 0 20px}.cleaning-status-current>span{color:var(--pms-color-muted)}.cleaning-status-menu-actions{display:grid;gap:10px}.cleaning-status-menu-actions>button{width:100%;min-height:48px}.cleaning-status-error{padding:12px;border:1px solid #e6b8b5;background:#fff2f1;color:#8a3c37}.operational-recent-note{display:grid;gap:3px;min-width:0;margin:0;padding:8px 10px;border-left:2px solid #a8b8c9;border-radius:4px;background:#f2f5f8;text-align:left;font-size:13px;line-height:1.5}.operational-recent-note>strong{color:var(--pms-color-navy-800);font-size:12px}.operational-recent-note>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;color:var(--pms-color-ink)}.operational-issue-copy{display:grid;min-width:0;gap:6px;flex:1}[data-confirmation-pending=true],.reservation-doorlock-verification.pending{border:1px solid #e7bbb7!important;background:#fff3f2!important;color:#8a3c37!important;border-radius:var(--pms-radius-control)}[data-confirmation-pending=true] :is(small,span,strong),.reservation-doorlock-verification.pending :is(span,strong){color:#8a3c37!important}.operational-password[data-confirmation-pending=true]{flex-wrap:wrap;padding:8px 10px}.operational-password>small{font-size:12px;letter-spacing:0}.field-status-badge[data-tone=attention],.cleaning-status-control[data-cleaning-status=needs_attention]{border:1px solid #e7bbb7;background:#fff3f2;color:#8a3c37}.operational-password-entry{width:100%;min-height:var(--pms-touch-target-mobile, 48px);cursor:pointer;text-align:left;font:inherit;gap:var(--pms-space-2);border-radius:var(--pms-radius-control)}.operational-password-entry>small{margin-left:auto;font-size:var(--pms-font-size-body, 15px)}.password-confirmation-sheet{width:min(100%,560px);max-height:calc(100dvh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--pms-color-surface, #fff);border-radius:var(--pms-radius-lg);overflow:hidden}.password-confirmation-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:var(--pms-space-4);padding:var(--pms-space-4);border-bottom:1px solid var(--pms-color-border, #e2e8f0)}.password-confirmation-sheet h2{margin:0;font-size:20px}.password-confirmation-sheet>header button{min-width:44px;min-height:44px}.password-confirmation-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--pms-space-4);padding-bottom:calc(var(--pms-space-6) + env(safe-area-inset-bottom));display:grid;gap:var(--pms-space-4)}.password-confirmation-body p{margin:0;line-height:1.6}.password-confirmation-number{font-size:28px;letter-spacing:.12em}.password-device-checks{display:grid;gap:var(--pms-space-3)}.password-device-checks h3{font-size:16px;margin:0}.password-device-checks>div{display:grid;gap:var(--pms-space-2);padding-block:var(--pms-space-2)}.room-operations-hub .room-hub-card{cursor:default;padding:var(--pms-space-4);gap:var(--pms-space-3)}.room-hub-card-title{border:0;background:transparent;padding:0;min-height:48px;text-align:left;display:grid;gap:var(--pms-space-1);min-width:0}.room-hub-card-title strong{font-size:18px;line-height:1.4;overflow-wrap:anywhere}.room-hub-card-title small{font-size:14px}.room-hub-card .room-hub-entry{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--pms-space-2);width:100%;min-height:48px;text-align:left;padding:var(--pms-space-2) var(--pms-space-3);margin:0;font-size:15px;border:1px solid var(--pms-color-border, #e2e8f0);border-radius:var(--pms-radius-control);background:var(--pms-color-surface, #fff)}.room-hub-card .room-hub-entry strong{font-size:15px;line-height:1.5;min-width:0}.room-hub-card .room-hub-card-times dd button{min-height:44px;padding:var(--pms-space-2) 0;font:inherit;border:0;background:transparent;text-align:left}.room-hub-card .room-hub-card-open{min-height:44px;background:transparent;border:0;font-size:15px}.cleaning-state-options{display:grid;gap:var(--pms-space-2)}.cleaning-state-options .cleaning-state-option{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:var(--pms-space-3) var(--pms-space-4);gap:var(--pms-space-3);font-size:16px}.cleaning-state-option[aria-pressed=true]{opacity:1;border:2px solid var(--pms-color-text, #253348);background:var(--pms-color-surface, #fff);color:var(--pms-color-text, #253348)}.cleaning-state-option small{font-size:14px;font-weight:400}.cleaning-status-sheet .cleaning-status-menu-actions{border-top:1px solid var(--pms-color-border, #e2e8f0);padding-top:var(--pms-space-4)}.cleaning-state-guidance{font-size:15px;line-height:1.5}.cleaning-delay-note{color:var(--pms-color-text-secondary, #64748b);font-size:14px}.mobile-reservation-status-grid .operational-password-entry{grid-column:1 / -1}.room-operations-hub .room-hub-card{grid-template-columns:minmax(0,1fr)}.room-operations-hub .room-hub-card>*{min-width:0;max-width:100%}.room-operations-hub .room-hub-card .room-hub-card-title{flex:1}.room-operations-hub .room-hub-card .room-hub-card-title strong{white-space:normal;font-size:18px;line-height:1.4}.room-operations-hub .room-hub-card .room-hub-card-title small{white-space:normal;font-size:14px}.room-operations-hub .room-hub-card .room-hub-entry strong{white-space:normal}.room-operations-hub .room-hub-card .room-hub-card-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.room-operations-hub .room-hub-card .room-hub-card-times div{display:block}.room-operations-hub .room-hub-card .room-hub-card-times dd{font-size:15px}.room-operations-hub .room-hub-card .room-hub-card-times dt{font-size:14px}.operational-password-entry{flex-wrap:wrap;align-items:center;padding:var(--pms-space-2) var(--pms-space-3)}.cleaning-state-option>span:last-child{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--pms-space-4)}.cleaning-page .cleaning-card-state-row .cleaning-status-control{width:100%;min-height:48px;justify-content:space-between;padding-inline:var(--pms-space-3)}.cleaning-page .cleaning-card .cleaning-card-core-actions{grid-template-columns:minmax(0,1fr)}.cleaning-page .cleaning-card .cleaning-card-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.operational-form .operational-form__footer button[type=submit]{border-color:var(--pms-color-blue-700);background:var(--pms-color-blue-700)}.operational-recent-note{font-size:var(--pms-font-body, 15px);padding:var(--pms-space-2) var(--pms-space-3);gap:var(--pms-space-1)}.operational-recent-note>strong{font-size:14px}.operational-memo-full{white-space:pre-wrap;overflow-wrap:anywhere}.operational-memo-read{min-height:44px}.pwa-status-layer{position:relative;z-index:2200}.pwa-network-banner{position:fixed;top:0;right:0;left:0;z-index:2200;display:flex;min-height:48px;align-items:center;justify-content:center;gap:10px;padding:calc(9px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));color:#fff;font-size:13px;text-align:center}.pwa-network-banner.offline{background:#8f2f2b}.pwa-network-banner.online{background:#1e6a4b}.pwa-network-banner span{opacity:.9}.pwa-action-stack{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));z-index:2210;display:grid;width:min(420px,calc(100vw - 32px));gap:8px}.pwa-status-layer.guest .pwa-action-stack{bottom:calc(84px + env(safe-area-inset-bottom))}html.pms-overlay-locked .pwa-action-stack{visibility:hidden}.pwa-action-panel{display:grid;gap:12px;padding:16px;border:1px solid #d9e0ea;border-radius:8px;background:#fff;color:#172033;box-shadow:0 12px 36px #14223733}.pwa-action-panel strong{display:block;margin-bottom:5px;font-size:16px}.pwa-action-panel p{margin:0;color:#5f6d80;font-size:13px;line-height:1.55}.pwa-action-panel.compact{grid-template-columns:1fr auto;align-items:center}.pwa-panel-actions{display:flex;justify-content:flex-end;gap:8px}.pwa-action-panel button,.app-error-page button{min-height:44px;padding:9px 15px;border:1px solid #cbd4e0;border-radius:6px;background:#fff;color:#26364d;font-weight:800}.pwa-action-panel button.primary,.app-error-page button.primary{border-color:#20395f;background:#20395f;color:#fff}.pwa-action-panel button:focus-visible,.app-error-page button:focus-visible{outline:3px solid #82aef2;outline-offset:2px}.app-error-page{display:grid;min-height:100vh;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#f4f6fa}.app-error-page section{width:min(520px,100%);padding:24px;border:1px solid #dfe5ed;border-radius:8px;background:#fff;text-align:center}.app-error-page h1{margin:0 0 8px;font-size:22px}.app-error-page p{margin:0 0 18px;color:#647184}.app-error-page section>div{display:flex;justify-content:center;gap:8px}@media(min-width:1100px){.pwa-action-stack{bottom:24px}}@media(max-width:640px){.pwa-network-banner{display:grid;gap:2px;justify-items:center}.pwa-action-stack{right:max(12px,env(safe-area-inset-right));width:min(420px,calc(100vw - 24px))}.pwa-panel-actions button{flex:1}}
