:root {
  --ink: #18251f;
  --muted: #718078;
  --line: #e2e9e5;
  --canvas: #f4f7f5;
  --surface: #fff;
  --green: #174a7e;
  --green-2: #2f6fa8;
  --mint: #e5f1fb;
  --action-color: #174a7e;
  --amber: #b87518;
  --amber-soft: #fff3dd;
  --blue: #3e6f9f;
  --blue-soft: #eaf2fb;
  --purple: #7554a2;
  --purple-soft: #f1ebf8;
  --indigo: #4e5d9e;
  --red: #bd5849;
  --red-soft: #faeae7;
  --shadow: 0 14px 36px rgba(24, 48, 40, .09);
}

* { box-sizing: border-box; }
html { background: var(--canvas); }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--canvas); font-family: "Noto Sans JP", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, select, input[type="checkbox"], input[type="file"] { cursor: pointer; }
[hidden] { display: none !important; }

.app-shell { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; z-index: 20; display: flex; flex-direction: column; height: 100vh; padding: 28px 19px 20px; overflow-y: auto; color: #edf7f2; background: linear-gradient(180deg, #174a7e, #10365e); }
.hotel-brand { display: flex; align-items: center; gap: 11px; }
.hotel-brand--trace { min-height: 54px; padding: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.08); }
.brand-logo { display: block; max-width: 100%; height: auto; object-fit: contain; }
.brand-logo--full { width: 178px; }
.brand-logo--icon { display: none; width: 42px; height: 42px; }
.hotel-brand__mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 8px; color: var(--green); background: #dceafb; font-family: Georgia, serif; font-size: 21px; }
.hotel-brand strong, .hotel-brand small { display: block; font-family: "DM Sans", sans-serif; letter-spacing: .13em; }
.hotel-brand strong { font-size: 14px; }.hotel-brand small { margin-top: 2px; color: #a8c3b9; font-size: 8px; }
.hotel-info { margin: 29px 0 20px; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.05); }
.hotel-info span, .hotel-info strong { display: block; }.hotel-info span { color: #9fbbb1; font-size: 9px; }.hotel-info strong { margin-top: 5px; font-size: 11px; }
.side-nav { display: grid; gap: 6px; }
.side-nav__item { display: flex; align-items: center; gap: 11px; width: 100%; padding: 12px; border: 0; border-radius: 9px; color: #b7cdc4; background: transparent; font-size: 12px; text-align: left; }
.side-nav__item:hover, .side-nav__item.active { color: white; background: rgba(255,255,255,.1); }
.side-nav__divider { height: 1px; margin: 8px 0; background: rgba(255,255,255,.14); }
.nav-icon { display: grid; width: 21px; place-items: center; font-family: "DM Sans", sans-serif; font-size: 16px; }
.sidebar-report-actions { display: grid; gap: 4px; margin: 0; padding: 0; }
.side-nav__heading { padding: 0 12px 4px; color: #91b5d5; font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.sidebar-report-actions .side-nav__item { padding-top: 12px; padding-bottom: 12px; font-size: 12px; }
.team-name { display: inline-block; padding: 2px 5px; border-radius: 4px; font-weight: 700; }
.team-a { color: #fff !important; background: #2f6fa8; }
.team-b { color: #8b4d16 !important; background: #fff0dc; }
body:not([data-auth-role="owner"]):not([data-auth-role="manager"]):not([data-auth-role="checker"]) .manager-only { display: none !important; }
body:not([data-auth-role="owner"]):not([data-auth-role="manager"]) .staff-admin-only { display: none !important; }
body:not([data-system-role="system_admin"]):not([data-org-role="org_admin"]) .organization-admin-only { display: none !important; }
body:not([data-auth-role="owner"]):not([data-auth-role="manager"]):not([data-org-role="org_admin"]):not([data-system-role="system_admin"]) .user-management-only { display: none !important; }
.sidebar-note { margin-top: auto; padding: 15px; border-radius: 11px; background: rgba(255,255,255,.06); }
.sidebar-note span { color: #9fbbb1; font-size: 9px; }.sidebar-note p { margin: 6px 0 0; color: #d2e0da; font-size: 9px; line-height: 1.7; }
.profile { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 10px; margin-top: 17px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.1); }
.avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--green); background: #d5e7f8; font-size: 12px; font-weight: 700; }
.profile strong, .profile span { display: block; }.profile strong { font-size: 11px; }.profile span { margin-top: 2px; color: #9fbbb1; font-size: 9px; }

main { min-width: 0; }
.topbar { display: flex; align-items: center; gap: 14px; min-height: 88px; padding: 18px 32px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); }
.topbar-brand { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 170px; height: 52px; padding: 0; border: 0; border-radius: 0; background: transparent; }
.topbar-brand--hotel { min-width: 142px; justify-content: flex-start; margin-right: auto; color: var(--green); font-family: "DM Sans", "Noto Sans JP", sans-serif; font-size: 17px; font-weight: 800; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.topbar-brand .brand-logo--full { width: 150px; max-height: 40px; }
.topbar-brand .brand-logo--icon { width: 34px; height: 34px; }
.topbar-title { display: none; }.eyebrow { margin: 0 0 5px; color: var(--muted); font-size: 10px; line-height: 1; }.topbar h1 { margin: 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.15; letter-spacing: -.03em; }
.business-date-switcher { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1px 8px; min-width: 164px; height: 52px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.business-date-icon { grid-row: 1 / 3; color: var(--green-2); font-size: 17px; }
.business-date-label { color: var(--muted); font-size: 8px; line-height: 1; }
.business-date-switcher input { width: 116px; min-height: 24px; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; font-weight: 600; line-height: 1; }
.role-switcher, .user-switcher { display: grid; grid-template-rows: auto 1fr; align-items: center; gap: 3px; min-width: 126px; height: 52px; padding: 7px 14px; border: 1px solid var(--line); border-radius: 12px; background: white; }.role-switcher span, .user-switcher span { color: var(--muted); font-size: 8px; line-height: 1; }
.role-switcher select, .user-switcher select { width: 100%; height: 26px; padding: 0 18px 0 0; border: 0; border-radius: 0; color: var(--ink); background: transparent; font-size: 11px; font-weight: 600; line-height: 1; }
.role-switcher { border-color: var(--green); background: var(--green); }.role-switcher span, .role-switcher select { color: white; }
.menu-button { display: none; width: 52px; height: 52px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.menu-button span { display: block; height: 1.5px; margin: 3px 0; background: var(--ink); }

.content { max-width: 1480px; margin: 0 auto; padding: 25px 34px 60px; }
.role-banner { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 17px; padding: 13px 0; border: 0; border-radius: 0; background: transparent; }
.role-banner div { display: flex; align-items: center; gap: 9px; }.role-banner span { padding: 0; border-radius: 0; color: var(--ink); background: transparent; font-family: "Noto Sans JP", sans-serif; font-size: 10px; font-weight: 600; }.role-banner strong { color: var(--ink); font-family: "Noto Sans JP", sans-serif; font-size: 12px; font-weight: 600; }.role-banner .team-name { color: inherit !important; background: transparent; padding: 0; }.role-banner p { display: none; }
.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.summary-card { display: flex; align-items: center; gap: 13px; min-height: 105px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 3px 12px rgba(24,48,40,.025); }
.summary-dot { width: 10px; height: 48px; border-radius: 8px; background: var(--green-2); }
.summary-card > div > span, .summary-card strong, .summary-card small { display: block; }.summary-card > div > span { color: var(--muted); font-size: 9px; }.summary-card strong { margin: 2px 0; font-family: "DM Sans", sans-serif; font-size: 25px; }.summary-card small { color: #8c9993; font-size: 8px; }
.summary-card--red .summary-dot { background: var(--red); }.summary-card--blue .summary-dot { background: var(--blue); }.summary-card--purple .summary-dot { background: var(--purple); }.summary-card--indigo .summary-dot { background: var(--indigo); }.summary-card--amber .summary-dot { background: var(--amber); }

.room-section { margin-top: 30px; }.section-heading { display: flex; align-items: flex-end; justify-content: space-between; }.section-heading h2 { margin: 0 0 4px; font-size: 17px; }.section-heading p { margin: 0; color: var(--muted); font-size: 10px; }.result-count { color: var(--muted); font-size: 10px; }.result-count b { color: var(--ink); font-family: "DM Sans", sans-serif; font-size: 18px; }
.special-cleaning-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.special-cleaning-kicker { color: var(--green-2); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.special-cleaning-head h2 { margin: 4px 0; font-size: 22px; }
.special-cleaning-head p { margin: 0; color: var(--muted); font-size: 10px; }
.special-month-switcher { display: grid; gap: 4px; min-width: 170px; color: var(--muted); font-size: 8px; }
.special-month-switcher input { height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font-size: 11px; font-weight: 600; }
.special-cleaning-controls { display: flex; align-items: end; gap: 8px; }
.special-cleaning-controls .primary-button { min-height: 42px; white-space: nowrap; }
.special-task-selector { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-bottom: 10px; }
.special-task-selector button { display: flex; align-items: center; gap: 7px; min-height: 52px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; color: #65736c; background: white; font-size: 8px; line-height: 1.45; text-align: left; }
.special-task-selector button b { display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #805411; background: #ffe7b4; font-family: "DM Sans", sans-serif; }
.special-task-selector button.active { color: var(--green); border-color: #8eb5d8; background: #e7f1fa; font-weight: 700; box-shadow: 0 0 0 2px rgba(47,111,168,.08); }
.special-task-selector button.active b { color: white; background: var(--green-2); }
.special-selected-task { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 9px 11px; border-radius: 8px; color: var(--green); background: #e9f3ef; font-size: 9px; }
.special-selected-task span { color: var(--muted); font-size: 8px; }
.special-cleaning-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
.special-cleaning-summary div { padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.special-cleaning-summary span, .special-cleaning-summary strong { display: block; }
.special-cleaning-summary span { color: var(--muted); font-size: 8px; }
.special-cleaning-summary strong { margin-top: 3px; font-family: "DM Sans", sans-serif; font-size: 21px; }
.special-cleaning-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.special-room { display: grid; gap: 10px; min-width: 0; padding: 13px; border: 1px solid #efd9ae; border-radius: 11px; background: var(--amber-soft); }
.special-room--single { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.special-room--completed { border-color: #bcd9ce; background: var(--mint); }
.special-room__info { min-width: 0; }
.special-room__info strong, .special-room__info span, .special-room__info time { display: block; }
.special-room__info strong { font-family: "DM Sans", sans-serif; font-size: 18px; }
.special-room__info span { overflow: hidden; margin-top: 2px; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.special-room__info time { margin-top: 5px; color: var(--green-2); font-size: 9px; font-weight: 700; }
.special-room:not(.special-room--completed) .special-room__info time { color: var(--amber); }
.special-photo-status { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.special-photo-status b, .special-photo-status span, .special-photo-status button { padding: 3px 5px; border: 0; border-radius: 5px; font: inherit; font-size: 7px; }
.special-photo-status b { color: white; background: var(--purple); }
.special-photo-status span { color: #7a8580; background: white; }
.special-photo-status .done { color: var(--green-2); background: #d9eee6; font-weight: 700; cursor: pointer; }
.special-task-list { display: grid; gap: 6px; }
.special-task { display: grid; grid-template-columns: minmax(0, 1fr) auto 84px; align-items: center; gap: 7px; min-height: 48px; padding: 7px; border-radius: 8px; background: rgba(255,255,255,.7); }
.special-task > span { display: flex; align-items: flex-start; gap: 6px; min-width: 0; font-size: 8px; line-height: 1.5; }
.special-task > span b { display: grid; flex: 0 0 18px; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #805411; background: #ffe7b4; font-family: "DM Sans", sans-serif; font-size: 8px; }
.special-task time { color: var(--green-2); font-size: 8px; font-weight: 700; white-space: nowrap; }
.special-task button { width: 84px; min-height: 44px; padding: 0 6px; border: 0; border-radius: 8px; color: white; background: var(--green); font-size: 8px; font-weight: 700; }
.special-task--completed { background: #f4fbf8; }
.special-task--completed > span b { color: white; background: var(--green-2); }
.special-task--completed button { color: #9a493e; border: 1px solid #e6bdb7; background: #fff; }
.special-room__action { width: 84px; min-height: 44px; padding: 0 7px; border: 0; border-radius: 8px; color: white; background: var(--green); font-size: 8px; font-weight: 700; }
.special-room__action--completed { color: var(--green-2); border: 1px solid #afd0c4; background: white; }
.performance-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.performance-head > div:first-child > span { color: var(--green-2); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.performance-head h2 { margin: 4px 0; font-size: 22px; }
.performance-head p { margin: 0; color: var(--muted); font-size: 10px; }
.performance-controls { display: grid; justify-items: end; gap: 8px; }
.month-navigation { display: flex; align-items: flex-end; gap: 6px; }
.month-navigation > button { height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--green); background: white; font-size: 9px; font-weight: 700; white-space: nowrap; }
.month-navigation > button:disabled { color: #abb5b0; background: #f3f5f4; cursor: default; }
.performance-month-switcher { display: grid; gap: 4px; color: var(--muted); font-size: 8px; }
.performance-month-switcher input { height: 42px; min-width: 150px; padding: 0 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: white; font-size: 11px; font-weight: 600; }
.team-legend { display: flex; gap: 6px; font-size: 9px; }
.performance-list { display: grid; gap: 8px; }
.performance-person { display: grid; grid-template-columns: minmax(180px, 1fr) 120px 120px; align-items: center; gap: 10px; width: 100%; padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: white; text-align: left; }
.performance-person:hover, .performance-person.active { border-color: #9dc3e3; background: #f4f9fd; box-shadow: 0 0 0 2px rgba(47,111,168,.07); }
.performance-person__name small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; }
.performance-person > div:not(.performance-person__name) { padding-left: 12px; border-left: 1px solid var(--line); }
.performance-person > div:not(.performance-person__name) span { display: block; color: var(--muted); font-size: 8px; }
.performance-person > div:not(.performance-person__name) strong { font-family: "DM Sans", sans-serif; font-size: 21px; }
.performance-person > div:not(.performance-person__name) small { margin-left: 2px; color: var(--muted); font-family: "Noto Sans JP", sans-serif; font-size: 8px; }
.performance-detail { margin-top: 14px; padding: 15px; border: 1px solid #cfe0ef; border-radius: 13px; background: #fff; box-shadow: 0 4px 18px rgba(24,48,40,.04); }
.performance-detail__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.performance-detail__head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.performance-detail__head button { min-height: 36px; padding: 0 12px; border: 1px solid #b7d0e7; border-radius: 8px; color: var(--green); background: white; font-size: 9px; font-weight: 700; }
.performance-day-table { display: grid; gap: 4px; }
.performance-day-table__head, .performance-day-row { display: grid; grid-template-columns: minmax(110px, 1fr) repeat(3, 100px); align-items: center; gap: 8px; padding: 9px 11px; border-radius: 8px; }
.performance-day-table__head { color: var(--muted); background: #eef5fb; font-size: 8px; font-weight: 700; }
.performance-day-row { border: 1px solid var(--line); background: white; font-size: 10px; }
.performance-day-row strong { font-family: "DM Sans", sans-serif; font-size: 16px; }
.performance-empty-detail { margin: 0; color: var(--muted); font-size: 10px; }
.staff-admin-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.staff-admin-head > div:first-child > span { color: var(--green-2); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.staff-admin-head h2 { margin: 4px 0; font-size: 22px; }
.staff-admin-head p, .staff-admin-list-head p { margin: 0; color: var(--muted); font-size: 10px; }
.staff-admin-panel { margin-bottom: 16px; padding: 16px; border: 1px solid #cfe0ef; border-radius: 13px; background: #fff; box-shadow: 0 4px 18px rgba(24,48,40,.04); }
.staff-admin-panel h3 { margin: 0 0 12px; font-size: 15px; }
.staff-admin-form { display: grid; grid-template-columns: minmax(108px, .8fr) minmax(104px, .75fr) minmax(145px, 1.1fr) minmax(124px, .95fr) minmax(96px, .7fr) 72px 82px; align-items: end; gap: 10px; }
.admin-management-form { display: grid; grid-template-columns: minmax(150px, .9fr) minmax(170px, 1fr) minmax(220px, 1.35fr) 120px; align-items: end; gap: 10px; }
.staff-admin-form label { display: grid; gap: 5px; color: #526159; font-size: 9px; font-weight: 700; }
.admin-management-form label { display: grid; gap: 5px; color: #526159; font-size: 9px; font-weight: 700; }
.staff-admin-form input, .staff-admin-form select, .admin-management-form input, .admin-management-form select { width: 100%; height: 42px; min-height: 42px; padding: 9px 10px; border: 1px solid #dce5e1; border-radius: 8px; color: var(--ink); background: white; font-size: 10px; font-weight: 700; }
.staff-admin-form > .primary-button, .staff-admin-form > .secondary-button, .admin-management-form > .primary-button { height: 42px; min-height: 42px; padding: 0 14px; align-self: end; }
.staff-pin-row { display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 6px; }
.staff-pin-row .secondary-button { height: 42px; min-height: 42px; padding: 0 8px; font-size: 9px; }
.staff-admin-onetime-pin { margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; color: #174a7e; background: #e7f5fc; font-size: 11px; font-weight: 800; }
.admin-management-feedback { margin: 12px 0 0; padding: 10px 12px; border-radius: 9px; color: #174a7e; background: #e7f5fc; font-size: 11px; font-weight: 800; }
.admin-management-feedback.is-error { color: #8e4338; background: #fff0df; }
.admin-management-feedback.is-success { color: #174a7e; background: #e7f5fc; }
.staff-admin-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.staff-admin-list { display: grid; gap: 8px; }
.staff-admin-row { display: grid; grid-template-columns: 112px minmax(160px, 1fr) 150px 72px minmax(230px, auto); align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.staff-admin-row--inactive { background: #f5f7f8; opacity: .72; }
.staff-admin-id span { display: block; color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.staff-admin-id strong { display: block; margin-top: 3px; color: var(--ink); font-size: 11px; }
.staff-admin-person strong { display: block; font-size: 13px; }
.staff-admin-person span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.staff-admin-role { display: grid; gap: 4px; color: var(--muted); font-size: 8px; font-weight: 800; }
.staff-admin-role select { min-height: 36px; padding: 0 10px; border: 1px solid #dce5e1; border-radius: 8px; color: var(--ink); background: #fff; font-size: 10px; font-weight: 800; }
.staff-admin-role select:disabled { color: var(--muted); background: #f4f7f8; }
.staff-admin-status { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.staff-admin-status.is-active { color: #1f5d8f; background: #e7f5fc; }
.staff-admin-status.is-inactive { color: #7d8883; background: #edf0ef; }
.staff-admin-actions { display: flex; justify-content: flex-end; gap: 8px; }
.staff-admin-actions .secondary-button { min-height: 36px; padding: 0 12px; font-size: 9px; }
.staff-admin-danger { color: #8e4338; border-color: #d9b3ac; }
.staff-admin-loading { padding: 14px; color: var(--muted); border: 1px dashed var(--line); border-radius: 10px; font-size: 10px; text-align: center; }
.admin-management-list { display: grid; gap: 9px; }
.user-management-tabs { margin: 8px 0 10px; padding-bottom: 0; }
.admin-management-row { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(180px, 1.4fr) 92px 92px; align-items: center; gap: 12px; min-height: 56px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.admin-management-row--inactive { background: #f5f7f8; opacity: .74; }
.admin-management-person, .admin-management-email, .admin-management-meta { min-width: 0; }
.admin-management-person strong, .admin-management-email strong { display: block; color: var(--ink); font-size: 12px; }
.admin-management-person span, .admin-management-email span, .admin-management-meta span { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; font-weight: 700; }
.admin-management-email strong, .admin-management-email span, .admin-management-person strong, .admin-management-person span, .admin-management-meta strong, .admin-management-meta span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-management-role, .admin-management-status { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 30px; padding: 0 10px; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.admin-management-role { color: #174a7e; background: #e7f5fc; }
.admin-management-status.is-active { color: #1f5d8f; background: #e7f5fc; }
.admin-management-status.is-invited { color: #8a650f; background: #fff4cb; }
.admin-management-status.is-inactive { color: #7d8883; background: #edf0ef; }
.admin-management-status.is-unassigned { color: #8a4f16; background: #fff0df; }
.admin-management-actions { display: flex; justify-content: flex-end; align-items: center; min-width: 0; white-space: nowrap; }
.admin-management-actions .secondary-button { width: 92px; min-height: 36px; padding: 0 8px; font-size: 8px; }
.admin-management-send-note { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: #1f5d8f; background: #e7f5fc; font-size: 8px; font-weight: 800; white-space: nowrap; }
.admin-management-action-note { display: none; }
.user-management-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 8px 0 2px; }
.user-management-pagination span { color: var(--muted); font-size: 10px; font-weight: 800; }
.user-management-pagination .secondary-button { width: 80px; min-height: 34px; padding: 0 10px; font-size: 9px; }
.admin-detail-modal { width: min(720px, 100%); }
.admin-detail-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 16px; }
.admin-detail-summary > div { padding: 12px; border-radius: 10px; background: #f2f6f9; }
.admin-detail-summary span, .admin-detail-summary strong { display: block; }
.admin-detail-summary span { color: var(--muted); font-size: 8px; font-weight: 800; }
.admin-detail-summary strong { margin-top: 5px; color: var(--ink); font-size: 12px; }
.admin-detail-section { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.admin-detail-section h3 { margin: 0 0 10px; font-size: 14px; }
.admin-detail-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.admin-detail-save-row { display: flex; justify-content: flex-end; margin-top: 10px; }
.admin-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-detail-actions .secondary-button { min-width: 118px; min-height: 40px; }
.admin-detail-notes { display: grid; gap: 5px; margin: 12px 0 0; padding: 10px 12px 10px 24px; border-radius: 10px; color: #6c7772; background: #f5f8fa; font-size: 9px; font-weight: 700; line-height: 1.6; }
.hotel-checkbox-list { display: grid; gap: 7px; padding: 8px 10px; border: 1px solid #dce5e1; border-radius: 8px; background: #fff; }
.hotel-checkbox-list label { display: flex; align-items: center; gap: 7px; color: var(--ink); font-size: 10px; font-weight: 800; }
.hotel-checkbox-list input { width: 16px; height: 16px; accent-color: var(--blue); }
.no-hotel-access { display: grid; place-items: center; min-height: 52vh; padding: 24px; }
.no-hotel-access .empty-state { width: min(560px, 100%); }

@media (min-width: 881px) and (max-width: 1180px) {
  .admin-management-row { grid-template-columns: minmax(130px, 1fr) minmax(150px, 1.2fr) 78px 82px; gap: 8px; padding-inline: 12px; }
  .admin-management-actions .secondary-button { width: 82px; padding-inline: 6px; }
}

@media (max-width: 880px) {
  .admin-management-form { grid-template-columns: 1fr; }
  .staff-admin-form { grid-template-columns: 1fr; }
  .admin-management-form .primary-button, .staff-admin-form .primary-button, #admin-management-refresh { width: 100%; min-height: 44px; }
  .admin-management-row { grid-template-columns: minmax(86px, 1fr) minmax(96px, 1.1fr) 52px 54px; align-items: center; gap: 4px; min-height: 58px; padding: 8px 10px; }
  .admin-management-person strong { font-size: 11px; }
  .admin-management-person span { font-size: 7px; }
  .admin-management-role, .admin-management-status { width: 100%; min-width: 0; padding-inline: 5px; font-size: 7px; justify-content: center; }
  .admin-management-actions { justify-content: stretch; }
  .admin-management-actions .secondary-button { width: 100%; min-height: 38px; padding-inline: 5px; font-size: 7px; }
  .admin-management-send-note { width: 100%; min-height: 28px; padding-inline: 5px; font-size: 7px; }
  .admin-management-action-note { text-align: left; }
  .admin-detail-summary, .admin-detail-form-grid { grid-template-columns: 1fr; }
  .admin-detail-save-row .primary-button { width: 100%; min-height: 44px; }
  .admin-detail-actions { display: grid; grid-template-columns: 1fr; }
  .admin-detail-actions .secondary-button { width: 100%; min-height: 44px; }
}
.photo-list-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.photo-list-head span { color: var(--green-2); font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.photo-list-head h2 { margin: 4px 0; font-size: 22px; }
.photo-list-head p { margin: 0; color: var(--muted); font-size: 10px; }
.photo-type-switcher { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.photo-type-switcher button { min-width: 102px; min-height: 38px; padding: 0 12px; border: 0; border-radius: 7px; color: #718078; background: transparent; font-size: 10px; font-weight: 700; }
.photo-type-switcher button.active { color: white; background: var(--green); }
.photo-legend { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; color: var(--muted); font-size: 9px; }
.photo-legend span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.photo-legend i { width: 11px; height: 11px; border-radius: 3px; }
.photo-legend__done { background: #e3e8ed; }
.photo-legend__missing { background: var(--green); }
.photo-legend__attention { background: var(--amber); }
.photo-legend__exempt { background: #eef1f3; }
.photo-floor-pager { display: none; }
.photo-overview { display: grid; gap: 14px; }
.photo-floor { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.photo-floor h3 { margin: 6px 0 0; color: var(--green); font-family: "DM Sans", sans-serif; font-size: 16px; }
.photo-room-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 10px; }
.photo-room-cell { position: relative; display: grid; grid-template-rows: 22px minmax(0, 1fr) 20px; min-width: 0; height: 174px; padding: 8px; gap: 6px; overflow: hidden; border: 1px solid transparent; border-radius: 11px; color: white; font-family: "DM Sans", sans-serif; font-size: 13px; font-weight: 700; }
.photo-room-number { display: flex; min-width: 0; min-height: 20px; align-items: center; justify-content: center; gap: 6px; line-height: 1; }
.photo-room-stay { display: inline-flex; align-items: center; min-height: 17px; padding: 0 6px; border: 1px solid #d4dde5; border-radius: 999px; color: #415261; background: #fff; font-family: "Noto Sans JP", sans-serif; font-size: 8px; font-weight: 800; line-height: 1; white-space: nowrap; }
.photo-room-stay--vacant, .photo-room-stay--broken, .photo-room-stay--eco { color: #66727a; background: #f3f5f7; }
.photo-room-status { display: grid; min-width: 0; min-height: 18px; place-items: center; overflow: hidden; font-family: "Noto Sans JP", sans-serif; font-size: 9px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.photo-thumb-frame { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; border-radius: 7px; background: rgba(255,255,255,.35); }
.photo-thumb-frame::after { position: absolute; right: 6px; bottom: 5px; z-index: 2; font-size: 12px; line-height: 1; content: "⌾"; opacity: .75; }
.photo-thumb-frame img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.photo-thumb-empty { display: grid; width: 100%; height: 100%; place-items: center; padding: 6px; font-family: "Noto Sans JP", sans-serif; font-size: 11px; opacity: .8; text-align: center; }
.photo-room-cell--thumbnail { background: #edf5fc; }
.photo-room-cell--thumbnail .photo-room-number { color: var(--green); }
.photo-room-cell--thumbnail .photo-thumb-frame { background: #dcebf8; }
.photo-room-cell--thumbnail .photo-thumb-frame::after { display: none; }
.photo-room-cell--done { color: #52616d; border-color: #cfd7de; background: #e3e8ed; }
.photo-room-cell--done .photo-room-number, .photo-room-cell--done .photo-room-status { color: #52616d; }
.photo-room-cell--missing { color: white; border-color: var(--green); background: var(--green); }
.photo-room-cell--missing .photo-thumb-frame::after { opacity: .35; }
.photo-room-cell--attention { border-color: #dfbd82; background: var(--amber); }
.photo-room-cell--exempt { color: #52616d; border-color: #cfd7de; background: #e3e8ed; }
.photo-room-cell--exempt .photo-thumb-frame { background: rgba(255,255,255,.64); }
.photo-room-cell--exempt .photo-thumb-frame::after { display: none; }
.photo-room-cell:hover { filter: brightness(.97); transform: translateY(-1px); }
.photo-detail-modal { width: min(560px, 100%); }
.photo-detail-preview { display: grid; min-height: 290px; margin-bottom: 14px; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #eef4f9; }
.photo-detail-preview img { width: 100%; max-height: 58vh; object-fit: contain; }
.photo-detail-large-image { height: auto; touch-action: pinch-zoom; user-select: none; -webkit-user-drag: none; }
.photo-placeholder { display: grid; gap: 8px; place-items: center; color: #62717b; text-align: center; }
.photo-placeholder strong { font-family: "DM Sans", sans-serif; font-size: 36px; }
.photo-placeholder span { font-size: 10px; font-weight: 700; }
.photo-detail-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 0; }
.photo-detail-info div { padding: 10px; border-radius: 8px; background: #f4f8fb; }
.photo-detail-info dt { margin-bottom: 3px; color: var(--muted); font-size: 8px; }
.photo-detail-info dd { margin: 0; font-size: 11px; font-weight: 700; }
.lost-item-search { display: grid; gap: 5px; min-width: 220px; color: var(--muted); font-size: 8px; font-weight: 700; }
.lost-item-search input { min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: white; font-size: 12px; font-weight: 700; }
.lost-item-room-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 9px; }
.lost-item-room-button { display: grid; min-height: 58px; place-items: center; border: 1px solid #b9cfe4; border-radius: 10px; color: var(--green); background: white; font-family: "DM Sans", sans-serif; font-size: 20px; font-weight: 800; }
.lost-item-room-button strong { font-size: inherit; line-height: 1; }
.lost-item-room-button span { color: var(--muted); font-family: "Noto Sans JP", sans-serif; font-size: 9px; font-weight: 700; }
.damage-report-room-button { gap: 4px; color: #8a4b19; border-color: #d7a651; background: #fffaf0; }
.lost-item-room-button:hover { background: #e7f5fc; transform: translateY(-1px); }
.lost-item-preview-grid { display: grid; width: 100%; gap: 12px; }
.lost-item-preview-grid figure { display: grid; gap: 7px; margin: 0; }
.lost-item-preview-grid img { width: 100%; max-height: 54vh; border-radius: 10px; object-fit: contain; background: #eef4f9; }
.lost-item-preview-grid figcaption { display: grid; gap: 5px; color: var(--ink); font-size: 11px; font-weight: 700; text-align: center; }
.lost-item-preview-grid figcaption span { color: var(--muted); font-size: 9px; font-weight: 600; }
.damage-complete-check { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; margin-top: 4px; padding: 0; border: 0; border-radius: 0; color: #83550f; background: transparent; font-size: 10px; font-weight: 800; }
.damage-complete-check input { width: 16px; height: 16px; accent-color: #8a4b19; }
.list-heading-actions { display: flex; align-items: center; gap: 13px; }
.view-switcher { display: flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.view-switcher button { display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 31px; padding: 0 10px; border: 0; border-radius: 6px; color: #7b8982; background: transparent; font-size: 9px; line-height: 1; }
.view-switcher button.active { color: #1f5d8f; background: #e7f5fc; font-weight: 700; }
.view-switcher button:disabled { color: #b7c0bc; background: #f1f4f3; cursor: not-allowed; }
body[data-role="cleaner"] .overview-view-button { display: none; }
.toolbar { margin: 17px 0; }.status-tabs { display: flex; gap: 5px; padding-bottom: 12px; overflow-x: auto; scrollbar-width: none; }.status-tabs::-webkit-scrollbar { display: none; }
.status-tabs button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; color: #74827b; background: transparent; font-size: 10px; line-height: 1; }.status-tabs button.active { color: #1f5d8f; background: #e7f5fc; font-weight: 600; }.status-tabs span { margin-left: 3px; font-family: "DM Sans", sans-serif; }
.bulk-out-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; width: 100%; margin: 12px 0 12px; padding: 0; border: 0; background: transparent; }
.bulk-out-panel__summary { display: flex; align-items: baseline; gap: 8px; margin-right: auto; }
.bulk-out-panel__summary strong { font-size: 13px; }
.bulk-out-panel__summary span { color: #8e322b; font-size: 10px; font-weight: 800; }
.bulk-out-panel__select { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; color: #8e322b; font-size: 10px; font-weight: 800; white-space: nowrap; }
.bulk-out-panel__select input { width: 16px; height: 16px; accent-color: var(--red); }
.bulk-out-panel__button { min-height: 34px; padding: 0 14px; font-size: 10px; }
.filter-row { display: flex; justify-content: flex-end; gap: 9px; }
.floor-filter { position: relative; z-index: 5; }
.floor-filter summary { display: flex; align-items: center; gap: 8px; min-width: 120px; height: 38px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; list-style: none; cursor: pointer; }
.floor-filter summary::-webkit-details-marker { display: none; }
.floor-filter summary::after { margin-left: auto; color: var(--muted); content: "⌄"; }
.floor-filter summary span { color: var(--muted); font-size: 8px; }
.floor-filter summary strong { max-width: 185px; overflow: hidden; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.floor-filter[open] summary { border-color: #a9c4dd; box-shadow: 0 0 0 3px rgba(47,111,168,.08); }
.floor-filter__panel { position: absolute; top: 44px; right: 0; width: 230px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--shadow); }
.floor-filter__panel label { display: flex; align-items: center; gap: 7px; min-height: 31px; padding: 5px 7px; border-radius: 6px; font-size: 9px; cursor: pointer; }
.floor-filter__panel label:hover { background: #f0f5f2; }
.floor-filter__panel input { width: 14px; height: 14px; accent-color: var(--green-2); }
.floor-filter__all { margin-bottom: 6px; border-bottom: 1px solid var(--line); border-radius: 0 !important; font-weight: 700; }
.floor-filter__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.search-box { display: flex; align-items: center; gap: 8px; width: 255px; height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 9px; background: white; }.search-box span { color: #809088; font-size: 17px; }.search-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 9px; }
.room-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
.room-grid--overview { grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: 8px; }
.overview-room { display: grid; min-height: 132px; overflow: hidden; align-content: stretch; gap: 6px; border: 1px solid #cbdff1; border-radius: 11px; background: #eef5fb; text-align: center; box-shadow: 0 3px 10px rgba(24,48,40,.025); animation: card-in .3s ease both; }
.overview-room:has(.overview-controls .overview-cleaner + .overview-cleaner) { min-height: 166px; }
.room-grid--no-animation .overview-room, .room-grid--no-animation .room-card { animation: none !important; }
.room-grid--no-animation .overview-room, .room-grid--no-animation .room-card { animation-delay: 0ms !important; }
.overview-room__main { display: grid; grid-template-rows: 27px minmax(34px, 1fr) 27px; min-width: 0; min-height: 88px; padding: 0; overflow: hidden; border: 0; color: var(--ink); background: transparent; text-align: center; }
.overview-room strong { display: grid; place-items: center; min-width: 0; color: #17324f; font-family: "DM Sans", sans-serif; font-size: 24px; line-height: 1; }
.overview-room span { font-size: 9px; font-weight: 800; white-space: nowrap; }
.overview-progress, .overview-stay { display: grid; min-width: 0; padding: 0 5px; place-items: center; overflow: hidden; text-overflow: ellipsis; }
.overview-progress--amber { color: #9a650f; background: transparent; }
.overview-progress--blue { color: var(--blue); background: transparent; }
.overview-progress--purple { color: var(--purple); background: transparent; }
.overview-progress--indigo { color: var(--indigo); background: transparent; }
.overview-progress--green { color: var(--green-2); background: transparent; }
.overview-progress--broken { color: #884416; background: transparent; }
.overview-progress--vacant { color: #52616d; background: transparent; }
.overview-progress--dddone { color: #1d604f; background: transparent; }
.overview-stay--out { color: #8e322b; background: #f4d8d5; }
.overview-stay--outdone { color: #fff; background: #b95750; }
.overview-stay--stay { color: #685100; background: #f1dd8a; }
.overview-stay--eco { color: #24604f; background: #dceee7; }
.overview-stay--broken { color: #fff; background: #9b6a44; }
.overview-stay--vacant { color: #52616d; background: #e3e8ed; }
.overview-room[data-stay="out"] strong { color: #8e322b; background: #f4d8d5; }
.overview-room[data-stay="outdone"] strong { color: #fff; background: #b95750; }
.overview-room[data-stay="stay"] strong { color: #685100; background: #f1dd8a; }
.overview-room[data-stay="eco"] strong { color: #24604f; background: #dceee7; }
.overview-room[data-stay="broken"] strong { color: #fff; background: #9b6a44; }
.overview-room[data-stay="vacant"] strong { color: #52616d; background: #e3e8ed; }
.overview-room[data-white="true"] { border-color: #dbe5ec; background: #fff; }
.overview-room[data-white="true"] .overview-stay,
.overview-room[data-white="true"] strong,
.overview-room[data-white="true"] .overview-progress { color: #53616b; background: #fff; }
.overview-room[data-white="true"] strong { color: #1f3446; }
.overview-controls { display: grid; gap: 5px; min-width: 0; margin: 0 7px 7px; }
.overview-cleaner { display: grid; gap: 3px; min-width: 0; }
.overview-room > .overview-cleaner, .overview-room > .overview-cleaner-name { margin: 0 7px 7px; }
.overview-cleaner span { color: inherit; opacity: .72; font-size: 7px; }
.overview-cleaner select { width: 100%; height: 28px; min-width: 0; padding: 0 4px; border: 1px solid rgba(0,0,0,.12); border-radius: 6px; color: var(--ink); background: rgba(255,255,255,.88); font-size: 8px; font-weight: 700; }
.overview-stay-control select { border-color: rgba(31,83,133,.26); background: rgba(255,255,255,.94); }
.overview-cleaner .stay-select--out { color: #9d362d; background: #fde9e7; }
.overview-cleaner .stay-select--stay { color: #7c570d; background: #fff0b8; }
.overview-cleaner .stay-select--eco { color: #476171; background: #e6eef4; }
.overview-cleaner .stay-select--broken { color: #884416; background: #fff0e4; }
.overview-cleaner .stay-select--vacant { color: #52616d; background: #eef2f5; }
.overview-cleaner select:disabled { color: #89948f; background: rgba(255,255,255,.55); cursor: not-allowed; }
.overview-cleaner-name { overflow: hidden; text-overflow: ellipsis; }
.overview-checkedout { grid-template-columns: auto 1fr; align-items: center; text-align: left; }
.overview-checkedout input { width: 18px; height: 18px; accent-color: var(--green-2); }
.overview-checkedout strong { color: inherit; font-size: 8px; white-space: nowrap; }
.overview-room:hover { filter: brightness(.98); transform: translateY(-1px); }
.room-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 3px 11px rgba(24,48,40,.025); animation: card-in .3s ease both; }
@keyframes card-in { from { opacity: 0; transform: translateY(5px); } }
.room-card__body { display: block; width: 100%; padding: 15px 15px 11px; border: 0; background: transparent; text-align: left; }
.room-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }.floor-label { color: var(--muted); font-family: "DM Sans", sans-serif; font-size: 8px; }.room-card h3 { margin: 0; font-family: "DM Sans", sans-serif; font-size: 23px; line-height: 1; }
.room-number-block { display: grid; grid-template-columns: auto auto; align-items: end; justify-items: start; gap: 3px 7px; }
.room-number-block .floor-label { grid-column: 1 / -1; }
.card-room-type { display: inline-flex; align-items: center; min-width: 0; height: 20px; color: var(--muted); font-size: 9px; font-weight: 700; line-height: 1; white-space: nowrap; }
.stay-status-row { display: flex; align-items: center; gap: 6px; max-width: 100%; margin-top: 7px; white-space: nowrap; }
.list-tag-row { display: none; }
.stay-status { display: grid; flex: 0 0 108px; width: 108px; height: 40px; padding: 0 8px; place-items: center; border-radius: 7px; color: white; font-size: 20px; font-weight: 700; line-height: 1; text-align: center; letter-spacing: 0; white-space: nowrap; }
.stay-status--out { color: #8e322b; background: #f4c4bf; }
.stay-status--stay { color: #614600; background: #f3c94f; }
.stay-status--eco { color: #24604f; background: #dceee7; }
.stay-status--broken { color: #fff; background: #9b4a16; }
.stay-status--vacant { color: #52616d; background: #e3e8ed; }
.checkout-status { display: grid; flex: 0 0 62px; height: 30px; padding: 0 6px; place-items: center; border-radius: 7px; font-size: 9px; font-weight: 800; line-height: 1; white-space: nowrap; }
.checkout-status--done { color: #fff; background: #a92f27; }
.priority-status { display: grid; flex: 0 0 48px; width: 48px; height: 40px; padding: 0; place-items: center; border-radius: 7px; font-size: 11px; font-weight: 700; line-height: 1; white-space: nowrap; }
.priority-status--urgent { color: #fff; border: 1px solid #b52f27; background: #c83e35; }
.priority-status--dd { color: #7c4b00; border: 1px solid #e5a42e; background: #ffe8a3; }
.priority-status--note { width: 58px; flex-basis: 58px; color: #1f5d8f; border: 1px solid #a8d4ef; background: #e7f5fc; font-size: 10px; }
.priority-status--extra-bed { width: 82px; flex-basis: 82px; color: #174a7e; border: 1px solid #9bc6d6; background: #e6f6f7; font-size: 9px; }
.list-room-flags { display: none; }
.list-priority-status { display: none; align-items: center; justify-content: center; height: 18px; padding: 0 6px; border-radius: 999px; font-size: 7px; font-weight: 800; line-height: 1; white-space: nowrap; }
.list-priority-status--urgent { color: #fff; background: #c83e35; }
.list-priority-status--dd { color: #7c4b00; border: 1px solid #e5a42e; background: #ffe8a3; }
.list-priority-status--note { color: #1f5d8f; border: 1px solid #a8d4ef; background: #e7f5fc; }
.list-priority-status--extra-bed { color: #174a7e; border: 1px solid #9bc6d6; background: #e6f6f7; }
.status-badge { display: inline-flex; align-items: center; padding: 5px 7px; border-radius: 20px; background: transparent; font-size: 8px; font-weight: 700; white-space: nowrap; }.status-badge::before { width: 5px; height: 5px; margin-right: 4px; border-radius: 50%; background: currentColor; content: ""; }.status-badge__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.status-badge--list { display: none; }
.stay-status-list { display: none; align-items: center; min-width: 0; height: 24px; padding: 0 7px; border: 1px solid #d8e1dd; border-radius: 999px; background: #fff; font-size: 8px; font-weight: 800; line-height: 1; white-space: nowrap; }
.stay-status-list--out { color: #8e322b; border-color: #efc1bd; background: #fff6f5; }
.stay-status-list--stay { color: #6b4b00; border-color: #efd98f; background: #fff9df; }
.stay-status-list--eco { color: #24604f; border-color: #c9e1d8; background: #f2faf7; }
.stay-status-list--broken { color: #884416; border-color: #e2c4af; background: #fff6ef; }
.stay-status-list--vacant { color: #52616d; border-color: #d4dce4; background: #f5f7f9; }
.list-cleaner-name, .list-room-type { display: none; min-width: 0; overflow: hidden; color: var(--ink); font-size: 8px; font-weight: 700; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.list-room-type { color: var(--muted); font-weight: 600; }
.status-amber { color: #9a650f; background: transparent; }.status-blue { color: var(--blue); background: transparent; }.status-purple { color: var(--purple); background: transparent; }.status-indigo { color: var(--indigo); background: transparent; }.status-green { color: var(--green-2); background: transparent; }.status-broken { color: #884416; background: transparent; }.status-vacant { color: #52616d; background: transparent; }.status-dddone { color: #1d604f; background: transparent; }
.room-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 11px 0; }.room-identity strong { display: none; font-size: 10px; }.room-identity span { padding: 3px 6px; border-radius: 4px; font-size: 7px; }.room-identity .priority-status { display: inline-flex; flex: 0 0 auto; width: auto; min-width: 44px; height: 20px; padding: 0 6px; border-radius: 4px; font-size: 7px; }.room-identity .priority-status--note { min-width: 54px; }.room-identity .priority-status--extra-bed { min-width: 72px; }.non-smoking { color: var(--green-2); background: var(--mint); }.smoking { color: #9b5647; background: var(--red-soft); }
.mobile-list-facts { display: none; }
.room-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; margin: 0; padding: 11px 0; border-top: 1px solid #edf1ef; border-bottom: 1px solid #edf1ef; }.room-facts dt { margin-bottom: 2px; color: #94a09a; font-size: 7px; }.room-facts dd { margin: 0; overflow: hidden; font-size: 9px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.inline-editor { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 11px; padding: 11px 0; border-top: 1px solid #edf1ef; border-bottom: 1px solid #edf1ef; }
.inline-field { display: grid; min-width: 0; gap: 3px; }.inline-field--wide { grid-column: span 1; }
.inline-field > span { color: #89968f; font-size: 7px; }
.inline-field select, .inline-field input { width: 100%; min-width: 0; height: 31px; padding: 0 7px; border: 1px solid #dce5e1; border-radius: 6px; outline: none; color: var(--ink); background: white; font-size: 8px; font-weight: 600; }
.inline-field select:focus, .inline-field input:focus { border-color: var(--green-2); box-shadow: 0 0 0 2px rgba(47,111,168,.09); }
.inline-field select:disabled { color: #8b9691; background: #f1f3f2; cursor: not-allowed; }
.inline-field .stay-select { color: #fff; border-color: transparent; font-size: 10px; font-weight: 700; }
.inline-field .stay-select--out { color: #8e322b; background: #f4c4bf; }
.inline-field .stay-select--stay { color: #614600; background: #f3c94f; }
.inline-field .stay-select--eco { color: #24604f; background: #dceee7; }
.inline-field .stay-select--broken { color: #fff; background: #9b4a16; }
.inline-field .stay-select--vacant { color: #52616d; background: #e3e8ed; }
.inline-status-controls, .inline-exchange-controls { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.inline-checkedout { display: flex; align-items: center; gap: 7px; min-height: 31px; padding: 6px 9px; border: 0; border-radius: 0; color: #8e322b; background: transparent; font-size: 9px; font-weight: 800; }
.inline-checkedout input { width: 16px; height: 16px; accent-color: #a92f27; }
.inline-priority { display: flex; align-items: center; gap: 7px; min-height: 31px; padding: 6px 9px; border-radius: 6px; font-size: 9px; font-weight: 700; }
.inline-priority--urgent { color: #9b3029; border: 1px solid #e5aaa5; background: #fbe9e7; }
.inline-priority--dd { color: #7c4b00; border: 1px solid #efd28b; background: #fff7dc; }
.inline-priority input { width: 15px; height: 15px; accent-color: #d89418; }
.inline-editor--worker-controls { grid-template-columns: 1fr; margin-top: 11px; padding: 9px 0 0; border-bottom: 0; }
.inline-editor--worker-controls .inline-priority { width: 100%; }
.inline-exchange-controls label { display: flex; align-items: center; gap: 7px; min-height: 31px; padding: 6px 9px; border: 1px solid #dce5e1; border-radius: 6px; color: var(--green); background: #fff; font-size: 9px; font-weight: 700; }
.inline-exchange-controls input { width: 15px; height: 15px; accent-color: var(--green-2); }
.inline-exchange-controls span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 9px; }.detail-tag { padding: 4px 6px; border-radius: 5px; color: #607068; background: #f0f4f2; font-size: 7px; }.detail-tag b { margin-right: 4px; color: #8c9993; }.detail-tag.priority { color: #a46712; background: var(--amber-soft); }.detail-tag.special { color: var(--purple); background: var(--purple-soft); }
.room-note, .upload-failed, .lost-item-count { margin: 8px 0 0; padding: 7px; border-radius: 6px; color: #596860; background: #f5f7f6; font-size: 8px; line-height: 1.5; }.upload-failed { color: var(--red); background: var(--red-soft); font-weight: 600; }.lost-item-count { color: #8b5a13; background: #fff2d5; font-weight: 700; }
.room-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 12px 12px; }
.room-card__actions:has(> :only-child) { grid-template-columns: 1fr; }
.room-card__action { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 36px; margin: 0; padding: 0 10px; border: 0; border-radius: 8px; color: white; background: var(--action-color); font-size: 9px; font-weight: 600; line-height: 1.2; text-align: center; }.room-card__action:hover { filter: brightness(1.08); }.secondary-action { color: var(--green); border: 1px solid var(--green-2); background: white; }.photo-action, .complete-action { background: var(--action-color); }.check-action { color: white; background: var(--purple); }.checked-action { color: #7d8883; border: 1px solid #d8dfdc; background: #edf0ef; cursor: default; }.lost-item-action { color: #83550f; border: 1px solid #d7a651; background: #fff5dc; }
.checked-action:hover { filter: none; }
.primary-button.check-action,
.room-card__action.check-action { color: white; background: var(--purple); }
.checkout-wait-action, .checkout-wait-action:hover { color: #1f5d8f !important; border: 1px solid #a8d4ef !important; background: #e7f5fc !important; filter: none !important; box-shadow: none !important; cursor: not-allowed !important; }
.action-disabled, .action-disabled:hover { color: #8d9993 !important; border: 1px solid #dfe5e2 !important; background: #eef1ef !important; filter: none !important; box-shadow: none !important; cursor: not-allowed !important; }

.room-grid--list { grid-template-columns: 1fr; gap: 7px; }
.room-grid--list .room-card { display: grid; grid-template-columns: minmax(0, 1fr) 240px; align-items: center; min-width: 0; height: 68px; border-radius: 10px; }
.room-grid--list .room-card__body { position: relative; display: grid; grid-template-columns: minmax(300px, 360px) 112px minmax(300px, 1fr); align-items: center; gap: 10px; min-width: 0; height: 68px; padding: 8px 12px; overflow: hidden; cursor: pointer; }
.room-grid--list .room-card__top { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; min-width: 0; min-height: 44px; }
.room-grid--list .room-number-block { display: grid; grid-template-columns: 22px auto auto; grid-template-rows: auto auto; align-items: center; gap: 2px 5px; min-width: 0; }
.room-grid--list .floor-label { grid-column: 1; align-self: center; }
.room-grid--list .room-card h3 { grid-column: 2; grid-row: 1; justify-self: start; margin: 0; font-size: 18px; text-align: left; }
.room-grid--list .list-room-flags { display: flex; grid-column: 2 / 4; grid-row: 2; justify-self: start; align-items: center; gap: 3px; min-width: 0; }
.room-grid--list .list-room-flags .list-priority-status { display: inline-flex; }
.room-grid--list .card-room-type { display: none; }
.room-grid--list .stay-status-row { display: none; }
.room-grid--list .stay-status-list { display: inline-flex; grid-column: 3; justify-self: start; }
.room-grid--list .list-cleaner-name { display: none; }
.room-grid--list .list-room-type { display: none; }
.room-grid--list .stay-status { display: grid; flex: 0 0 52px; width: 52px; height: 32px; padding: 0 5px; border-radius: 6px; font-size: 9px; }
.room-grid--list .priority-status { flex-basis: 40px; width: 40px; height: 32px; font-size: 9px; }
.room-grid--list .status-badge--card { display: none; }
.room-grid--list .status-badge--list { display: none; }
.room-grid--list .status-badge--list::before { display: none; }
.room-grid--list .status-badge--list .status-badge__text { max-width: 76px; text-align: left; }
.room-grid--list .status-badge--list::after { display: none; }
.room-grid--list .room-identity { display: flex; max-width: 112px; min-width: 0; margin: 0; overflow: hidden; }
.room-grid--list .room-identity strong { display: none; min-width: 0; overflow: hidden; color: var(--muted); font-size: 7px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.room-grid--list .room-identity span { padding: 2px 4px; font-size: 6px; }
.room-grid--list .inline-editor { display: grid; grid-template-columns: minmax(150px, 1fr) 92px; align-items: center; gap: 8px; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; }
body[data-role="manager"] .room-grid--list .inline-editor { grid-template-columns: minmax(120px, 1fr) 78px 82px; }
.room-grid--list .inline-field { align-self: center; gap: 0; }
.room-grid--list .inline-field > span { display: none; }
.room-grid--list .inline-field select, .room-grid--list .inline-field input { height: 44px; padding: 0 10px; border-radius: 8px; font-size: 9px; line-height: 1; }
.room-grid--list .inline-status-controls, .room-grid--list .inline-exchange-controls, .room-grid--list .inline-editor--worker-controls { display: none; }
body[data-role="manager"] .room-grid--list .inline-status-controls {
  display: flex;
  grid-column: auto;
  align-items: center;
  min-width: 0;
  height: 44px;
  gap: 4px;
}
body[data-role="manager"] .room-grid--list .inline-status-controls .inline-checkedout {
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 0 8px;
  gap: 5px;
  font-size: 8px;
  white-space: nowrap;
}
body[data-role="manager"] .room-grid--list .inline-status-controls .inline-checkedout input {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  margin: 0;
}
body[data-role="manager"] .room-grid--list .inline-status-controls .inline-priority--urgent {
  display: none;
}
body[data-role="manager"] .room-grid--list .inline-status-controls .inline-priority--dd {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 0 8px;
  gap: 5px;
  font-size: 8px;
  white-space: nowrap;
}
body[data-role="manager"] .room-grid--list .inline-status-controls .inline-priority--dd input {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  margin: 0;
}
body[data-role="manager"] .room-grid--list .room-card__body {
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 10px;
}
body[data-role="manager"] .room-grid--list .room-card__top,
body[data-role="manager"] .room-grid--list .room-number-block {
  min-width: 0;
}
body[data-role="manager"] .room-grid--list .room-number-block {
  grid-template-columns: 22px auto;
}
body[data-role="manager"] .room-grid--list .stay-status-list,
body[data-role="manager"] .room-grid--list .room-identity,
body[data-role="manager"] .room-grid--list .mobile-list-facts {
  display: none;
}
body[data-role="manager"] .room-grid--list .inline-editor--manager-list {
  display: grid;
  grid-template-columns: 82px 88px minmax(120px, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
}
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field,
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-status-controls {
  min-width: 0;
}
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field select {
  height: 44px;
  padding: 0 8px;
  font-size: 9px;
}
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-status-controls {
  display: flex;
  align-items: center;
  height: 44px;
}
body[data-role="manager"] .room-grid--list .inline-checkedout--disabled {
  justify-content: center;
  color: #9aa5a0;
  border: 1px solid #dfe5e2;
  background: #f4f6f5;
}
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls { display: grid; grid-template-columns: 1fr; align-items: center; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; }
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-priority,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-priority { display: none; }
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls { display: flex; align-items: center; gap: 4px; min-width: 0; }
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label { flex: 1 1 0; min-width: 0; min-height: 38px; padding: 4px 5px; gap: 4px; overflow: hidden; font-size: 7px; line-height: 1.15; }
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls input,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls input { flex: 0 0 14px; width: 14px; height: 14px; }
.room-grid--list .room-facts { grid-template-columns: 1fr; gap: 7px; min-width: 0; padding: 0; border: 0; }
.room-grid--list .detail-tags, .room-grid--list .room-note, .room-grid--list .lost-item-count, .room-grid--list .upload-failed { grid-column: 1 / -1; margin-top: 2px; }
.room-grid--list .room-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 8px; height: 68px; padding: 0 10px 0 0; }
.room-grid--list .room-card__action { height: 44px; padding: 0 8px; overflow: hidden; border-radius: 8px; font-size: 8px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.empty-state { padding: 55px 20px; border: 1px dashed #cbd7d2; border-radius: 13px; background: white; text-align: center; }.empty-state div { display: grid; width: 42px; height: 42px; margin: auto; place-items: center; border-radius: 50%; color: var(--green); background: var(--mint); }.empty-state h3 { margin: 11px 0 5px; font-size: 13px; }.empty-state p { margin: 0; color: var(--muted); font-size: 9px; }
.mobile-floor-pager { display: grid; grid-template-columns: 88px minmax(0, 1fr) 88px; align-items: center; gap: 8px; margin-top: 14px; }
.mobile-floor-pager[hidden] { display: none; }
.mobile-floor-pager button { min-height: 40px; padding: 0 8px; border: 1px solid #b9cfe4; border-radius: 8px; color: var(--green); background: white; font-size: 9px; font-weight: 700; }
.mobile-floor-pager button:disabled { color: #a4b0ba; border-color: var(--line); background: #f0f3f5; cursor: default; }
.mobile-floor-pager strong { color: var(--green); font-size: 11px; text-align: center; }

.modal-backdrop, .confirm-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; padding: 18px; place-items: center; background: rgba(9,26,21,.58); backdrop-filter: blur(4px); }
.modal { position: relative; width: min(670px, 100%); max-height: calc(100vh - 36px); padding: 27px; overflow-y: auto; border-radius: 17px; background: white; box-shadow: 0 25px 80px rgba(0,0,0,.22); animation: modal-in .2s ease; }
@keyframes modal-in { from { opacity: 0; transform: translateY(7px) scale(.99); } }
.modal-close { position: absolute; top: 16px; right: 16px; width: 31px; height: 31px; border: 0; border-radius: 50%; color: #68776f; background: #eef2f0; font-size: 17px; }.modal-kicker { color: var(--green-2); font-family: "DM Sans", sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .15em; }.modal h2 { margin: 5px 0 19px; font-size: 22px; }
.modal-room-head { display: flex; align-items: center; justify-content: space-between; padding-right: 42px; }.modal-room-head h2 { margin-bottom: 13px; }
.room-static-info { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; padding: 12px; border-radius: 10px; background: #f2f6f4; }.room-static-info span, .room-static-info strong { display: block; }.room-static-info span { color: var(--muted); font-size: 7px; }.room-static-info strong { margin-top: 3px; font-size: 9px; }.wide-static { grid-column: 1 / -1; }
.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 13px; }.form-grid label, .modal form > label { display: grid; gap: 6px; color: #526159; font-size: 9px; font-weight: 600; }.wide-field { grid-column: span 2; }
.modal input:not([type="checkbox"]):not([type="file"]), .modal select, .modal textarea { box-sizing: border-box; width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid #dce5e1; border-radius: 8px; outline: none; color: var(--ink); background: white; font-size: 10px; line-height: 1.3; }.modal textarea { resize: vertical; }.modal input:focus, .modal select:focus, .modal textarea:focus { border-color: var(--green-2); box-shadow: 0 0 0 3px rgba(47,111,168,.09); }.modal select:disabled { color: #89948f; background: #f1f3f2; cursor: not-allowed; }
.room-modal .form-grid { align-items: start; gap: 12px; }
.room-modal .form-grid label:not(.toggle-field) { display: grid; grid-template-rows: 14px auto; align-items: start; min-width: 0; }
.room-modal input:not([type="checkbox"]):not([type="file"]), .room-modal select { height: 44px; min-height: 44px; padding: 0 12px; line-height: 44px; }
.room-modal select { appearance: auto; }
.room-modal textarea { min-height: 78px; padding: 11px 12px; line-height: 1.55; }
.room-modal .wide-field { grid-column: span 2; }
.room-modal .toggle-field.manager-fields { min-height: 44px; padding: 0 12px; border: 1px solid #dce5e1; border-radius: 8px; background: white; }
.toggle-field { display: flex !important; grid-template-columns: auto 1fr !important; align-items: center; gap: 8px !important; margin: 7px 0; }.toggle-field input { flex: 0 0 16px; width: 16px; height: 16px; margin: 0; }.form-hint { margin: 8px 0 13px; color: var(--muted); font-size: 8px; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 16px; border: 0; border-radius: 9px; color: white; background: var(--action-color); font-size: 10px; font-weight: 600; line-height: 1.2; text-align: center; box-shadow: 0 6px 15px rgba(23,74,126,.15); }.room-modal .primary-button { width: 100%; }.secondary-button { color: var(--green); border: 1px solid var(--green-2); background: white; box-shadow: none; }.action-complete { padding: 12px; border-radius: 8px; color: var(--green-2); background: var(--mint); font-size: 9px; text-align: center; }
#role-action-area { display: grid; gap: 8px; }
.lost-item-detail-action, .damage-report-detail-action { width: 100%; margin-top: 0; color: #83550f; border-color: #d7a651; background: #fffaf0; }
body[data-role="cleaner"] .manager-fields, body[data-role="checker"] .manager-fields { display: none !important; }
.photo-modal { width: min(440px, 100%); }.photo-modal > p { margin: -10px 0 16px; color: var(--muted); font-size: 10px; }
.camera-box { position: relative; display: grid; min-height: 210px; padding: 20px; place-items: center; align-content: center; overflow: hidden; border: 1.5px dashed #b9cbc4; border-radius: 13px; background: #f6f9f7; text-align: center; }.camera-box input { position: absolute; inset: 0; z-index: 3; width: 100%; opacity: 0; }.camera-icon { display: grid; width: 45px; height: 45px; margin-bottom: 9px; place-items: center; border-radius: 50%; color: white; background: var(--green); font-size: 23px; }.camera-box strong { font-size: 11px; }.camera-box small { margin-top: 5px; color: var(--muted); font-size: 8px; }.camera-box img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.simulation-toggle { display: flex !important; align-items: center; gap: 8px !important; margin: 13px 0 !important; padding: 10px; border-radius: 8px; color: #8d5348 !important; background: var(--red-soft); }.simulation-toggle input { width: 16px; height: 16px; }
.upload-status { min-height: 31px; }.upload-status p { margin: 0 0 10px; padding: 9px; border-radius: 7px; font-size: 9px; }.ready-message { color: var(--blue); background: var(--blue-soft); }.error-message { color: var(--red); background: var(--red-soft); }.uploading { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; color: var(--blue); font-size: 9px; }.uploading span { width: 15px; height: 15px; border: 2px solid #cbddeb; border-top-color: var(--blue); border-radius: 50%; animation: spin .7s linear infinite; }@keyframes spin { to { transform: rotate(360deg); } }
.photo-modal .primary-button { width: 100%; }.photo-modal .primary-button:disabled { opacity: .45; cursor: not-allowed; }
.lost-item-note { margin: 13px 0; }.lost-item-history { padding-top: 7px; border-top: 1px solid #dce5e1; }
.room-operation-history { padding-top: 7px; border-top: 1px solid #dce5e1; }
.room-operation-history__body { margin-top: 5px; color: var(--ink); font-size: 9px; }
.room-operation-history__body p { margin: 0; color: var(--muted); }
.room-operation-history__body ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.room-operation-history__body li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 3px 0; border-bottom: 1px solid #dce5e1; }
.room-operation-history__body li:last-child { border-bottom: 0; }
.room-operation-history__body strong, .room-operation-history__body span, .room-operation-history__body time { display: block; min-width: 0; }
.room-operation-history__body time, .room-operation-history__body span { color: var(--muted); font-size: 8px; }
.room-operation-history__body strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.confirm-dialog { width: min(370px, 100%); padding: 24px; border-radius: 14px; background: white; box-shadow: var(--shadow); }.confirm-dialog h3 { margin: 0 0 8px; font-size: 16px; }.confirm-dialog p { margin: 0 0 20px; color: var(--muted); font-size: 10px; line-height: 1.7; white-space: pre-line; }.confirm-dialog > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pdf-preview-modal { width: min(1080px, 100%); height: calc(100vh - 36px); overflow: hidden; }
.pdf-preview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding-right: 42px; }
.pdf-preview-head h2 { margin-bottom: 12px; }
.pdf-preview-head > span { margin-bottom: 13px; color: var(--muted); font-size: 9px; }
#pdf-preview-frame { width: 100%; height: calc(100% - 115px); border: 1px solid var(--line); border-radius: 10px; background: #e8edf1; }
.pdf-preview-actions { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 10px; }
.pdf-render-host { position: fixed; z-index: -1; top: 0; left: -20000px; width: max-content; pointer-events: none; }
.excel-sheet-render { display: inline-block; padding: 28px; color: #000; background: #fff; font-family: Arial, "Noto Sans JP", sans-serif; }
.excel-sheet-render table { border-collapse: collapse; border-spacing: 0; table-layout: fixed; empty-cells: show; background: #fff; }
.excel-sheet-render td { box-sizing: border-box; padding: 1px 3px; overflow: hidden; color: #000 !important; background: #fff !important; line-height: 1.2; white-space: pre-wrap; background-clip: padding-box; }
.toast { position: fixed; right: 24px; bottom: 24px; z-index: 70; display: flex; align-items: center; gap: 9px; width: min(520px, calc(100vw - 48px)); min-width: 260px; padding: 12px 15px; border-radius: 10px; color: white; background: var(--green); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(10px); transition: .22s ease; }.toast.show { opacity: 1; transform: none; }.toast.toast-error { background: #8e4338; }.toast span { display: grid; flex: 0 0 22px; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: var(--green); background: #dceafb; font-size: 10px; font-weight: 700; }.toast p { margin: 0; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.drawer-backdrop { display: none; }

@media (max-width: 1160px) {
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .room-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .room-grid--list { display: grid; grid-template-columns: 1fr; overflow: visible; padding-bottom: 0; }
  .room-grid--list .room-card { grid-template-columns: minmax(0, 1fr) 220px; min-width: 0; height: 68px; margin-bottom: 0; }
  .room-grid--list .room-card__body { grid-template-columns: minmax(240px, 300px) 96px minmax(250px, 1fr); height: 68px; }
  .room-grid--list .inline-editor { grid-template-columns: minmax(120px, 1fr) 86px; }
  .special-cleaning-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .special-task-selector { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 880px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; width: 232px; transform: translateX(-100%); transition: transform .22s ease; }
  body.drawer-open .sidebar { transform: none; }.drawer-backdrop { position: fixed; inset: 0; z-index: 15; background: rgba(9,26,21,.4); }body.drawer-open .drawer-backdrop { display: block; }
  .menu-button { display: block; }.topbar { flex-wrap: wrap; gap: 12px; padding: 15px 22px; }.content { padding: 22px 22px 50px; }
  .topbar-brand { min-width: 150px; height: 52px; }
  .topbar-brand .brand-logo--full { width: 132px; max-height: 40px; }
  .business-date-switcher { order: 4; width: 100%; }
  .business-date-switcher input { width: 100%; min-height: 24px; }
  .filter-row { min-width: 0; }
  .floor-filter__panel { right: auto; left: 0; width: min(230px, calc(100vw - 44px)); }
  .search-box { min-width: 0; }
  .room-grid--overview { grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 7px; }
  .overview-room { min-height: 128px; }
  .overview-room:has(.overview-controls .overview-cleaner + .overview-cleaner) { min-height: 160px; }
  .special-cleaning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .special-task-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .room-grid--list { display: grid; margin: 0; padding: 0; overflow: visible; }
  .room-grid--list .room-card { display: grid; grid-template-columns: minmax(0, 1fr) 150px; min-width: 0; height: 68px; margin: 0; overflow: hidden; }
  .room-grid--list .room-card__body { display: grid; grid-template-columns: minmax(210px, 1fr) 92px minmax(160px, .9fr); min-width: 0; height: 68px; gap: 7px; padding: 8px 8px 8px 11px; cursor: pointer; }
  .room-grid--list .room-card__top { display: grid; grid-template-columns: minmax(0, 1fr) 72px; min-height: 44px; gap: 5px; align-items: center; }
  .room-grid--list .room-number-block { display: grid; grid-template-columns: 20px auto auto; grid-template-rows: auto auto; align-items: center; gap: 2px 4px; }
  .room-grid--list .floor-label { grid-column: 1; align-self: center; }
  .room-grid--list .room-card h3 { grid-column: 2; font-size: 18px; }
  .room-grid--list .stay-status-row { display: none; }
  .room-grid--list .stay-status-list { display: inline-flex; grid-column: 3; height: 24px; padding: 0 6px; font-size: 7px; }
  .room-grid--list .list-cleaner-name { display: none; }
  .room-grid--list .list-room-type { display: none; }
  .room-grid--list .priority-status { flex: 0 0 34px; width: 34px; height: 29px; font-size: 8px; }
  .room-grid--list .status-badge { width: 72px; padding: 5px 3px; font-size: 7px; }
  .room-grid--list .room-facts,
  .room-grid--list .detail-tags, .room-grid--list .room-note, .room-grid--list .lost-item-count,
  .room-grid--list .upload-failed { display: none; }
  .room-grid--list .room-identity { display: flex; max-width: 74px; }
  .room-grid--list .inline-editor { display: grid; grid-template-columns: minmax(95px, 1.2fr) 76px; gap: 5px; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; }
  body[data-role="manager"] .room-grid--list .inline-editor { grid-template-columns: minmax(88px, 1fr) 68px 74px; }
  .room-grid--list .inline-field select { min-height: 44px; font-size: 8px; }
  .room-grid--list .mobile-list-facts { display: none; }
  .room-grid--list .room-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 4px; height: 68px; padding: 0 7px 0 0; }
  .room-grid--list .room-card__action { min-width: 0; height: 44px; padding: 0 4px; overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
  body[data-role="cleaner"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card { height: 76px; }
  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body { height: 76px; }
  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions { height: 76px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls { height: 52px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls { flex-wrap: nowrap; gap: 3px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label { min-height: 24px; padding: 3px 5px; font-size: 7px; }
}
@media (min-width: 681px) and (max-width: 1180px) {
  .room-grid--list .room-card {
    grid-template-columns: minmax(0, 1fr) clamp(168px, 22vw, 230px);
    min-height: 76px;
    height: auto;
    overflow: visible;
  }
  .room-grid--list .room-card__body {
    grid-template-columns: minmax(190px, 1fr) minmax(78px, 96px) minmax(190px, .9fr);
    min-height: 76px;
    height: auto;
    overflow: visible;
  }
  .room-grid--list .room-card__top {
    grid-template-columns: minmax(0, 1fr);
    min-height: 44px;
  }
  .room-grid--list .room-number-block {
    grid-template-columns: 20px auto auto;
    grid-template-rows: auto auto;
    gap: 4px;
  }
  .room-grid--list .room-identity {
    max-width: 96px;
  }
  .room-grid--list .status-badge--list { display: none; }
  .room-grid--list .stay-status-row { display: none; }
  .room-grid--list .stay-status-list { display: inline-flex; grid-column: 3; }
  .room-grid--list .list-cleaner-name { display: none; }
  .room-grid--list .list-room-type { display: none; }
  .room-grid--list .inline-editor {
    grid-template-columns: minmax(108px, 1fr) minmax(78px, 90px);
    min-height: 44px;
    height: auto;
  }
  body[data-role="manager"] .room-grid--list .inline-editor {
    grid-template-columns: minmax(96px, 1fr) 72px 78px;
  }
  .room-grid--list .room-card__actions {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    gap: 6px;
    min-height: 76px;
    height: auto;
    padding: 8px 10px 8px 0;
    overflow: visible;
  }
  .room-grid--list .room-card__action {
    flex: 1 1 72px;
    min-width: 72px;
    height: 38px;
    padding: 0 6px;
  }
  body[data-role="cleaner"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card {
    min-height: 84px;
    height: auto;
  }
  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body {
    min-height: 84px;
    height: auto;
  }
  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    min-height: 84px;
    height: auto;
  }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls {
    min-height: 60px;
    height: auto;
  }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls {
    flex-wrap: nowrap;
    gap: 4px;
  }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label {
    min-height: 27px;
    padding: 4px 6px;
  }
}
@media (max-width: 680px) {
  .topbar { position: sticky; top: 0; z-index: 12; min-height: 74px; gap: 10px; padding: 11px 14px; }.eyebrow { display: none; }.topbar h1 { max-width: 132px; overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }.role-switcher span, .user-switcher span { display: none; }.role-switcher, .user-switcher { height: 44px; min-width: 112px; padding: 0 8px; }.role-switcher select, .user-switcher select { width: 100%; height: 42px; padding: 0 4px; font-size: 9px; }.user-switcher { display: none; }.business-date-switcher { height: 44px; min-height: 44px; padding: 0 10px; }.business-date-switcher input { min-height: 24px; }
  .menu-button { width: 44px; height: 44px; padding: 12px; }
  .topbar-brand { min-width: 128px; width: auto; height: 44px; padding: 0; }
  .topbar-brand--hotel { justify-content: flex-start; font-size: 13px; letter-spacing: .02em; }
  .hotel-brand--trace { justify-content: center; }
  .hotel-brand--trace .brand-logo--full { width: 170px; }
  .content { padding: 15px 13px 40px; }.role-banner { align-items: flex-start; flex-direction: column; gap: 6px; margin-bottom: 12px; padding: 11px; }.role-banner p { line-height: 1.6; }
  .summary-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }.summary-card { min-height: 88px; padding: 12px; }.summary-dot { width: 7px; height: 39px; }.summary-card strong { font-size: 20px; }
  .room-section { margin-top: 23px; }.section-heading { align-items: center; }.list-heading-actions { gap: 7px; }.view-switcher button { width: 31px; justify-content: center; padding: 0; }.view-switcher button span { display: none; }.filter-row { justify-content: stretch; }.floor-filter { flex: 0 0 auto; }.floor-filter summary { min-width: 112px; }.floor-filter__panel { width: min(230px, calc(100vw - 26px)); }.search-box { width: 100%; }.room-grid { grid-template-columns: 1fr; gap: 9px; }.room-grid--overview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }.overview-cleaner select { height: 32px; font-size: 8px; }
  .room-card { display: block; }.room-card__body { padding: 14px; }.room-card__actions { padding: 0 12px 12px; }.room-card__action { height: 40px; }.room-facts { grid-template-columns: repeat(2, 1fr); }
  .room-grid--list .room-card { display: grid; grid-template-columns: minmax(0, 1fr) 128px; height: 64px; min-height: 64px; overflow: hidden; }
  .room-grid--list .room-card__body { display: grid; grid-template-columns: 74px minmax(0, 1fr); height: 64px; gap: 5px; padding: 6px 4px 6px 8px; }
  .room-grid--list .room-card__top { grid-template-columns: minmax(0, 1fr); gap: 3px; min-height: 44px; }
  .room-grid--list .room-number-block { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; justify-content: start; gap: 1px 3px; min-width: 0; }
  .room-grid--list .floor-label { display: none; }
  .room-grid--list .room-card h3 { grid-column: 1; justify-self: start; font-size: 17px; }
  .room-grid--list .list-room-flags { grid-column: 1 / 3; grid-row: 2; }
  .room-grid--list .list-room-flags .list-priority-status { height: 16px; padding: 0 4px; font-size: 6px; }
  .room-grid--list .status-badge--list { display: none; }
  .room-grid--list .status-badge--list::before { display: none; }
  .room-grid--list .status-badge--list .status-badge__text { max-width: 48px; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
  .room-grid--list .status-badge--list::after { display: none; }
  .room-grid--list .stay-status-row { display: none; }
  .room-grid--list .stay-status-list { display: inline-flex; grid-column: 2; height: 22px; padding: 0 5px; font-size: 6px; }
  .room-grid--list .list-cleaner-name { display: none; }
  .room-grid--list .list-room-type { display: none; }
  .room-grid--list .room-identity { display: none; }
  .room-grid--list .inline-editor { grid-template-columns: minmax(70px, 1fr) 57px; gap: 3px; }
  body[data-role="manager"] .room-grid--list .inline-editor { grid-template-columns: minmax(54px, 1fr) 48px 64px; }
  .room-grid--list .inline-field > span { display: none; }
  .room-grid--list .inline-field select { min-height: 44px; padding: 0 3px; font-size: 7px; }
  .room-grid--list .mobile-list-facts { display: none; }
  .room-grid--list .mobile-list-facts span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  .room-grid--list .mobile-list-facts b { display: none; }
  body[data-role="manager"] .room-grid--list .mobile-list-facts { display: none; }
  .room-grid--list .room-card__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; padding: 0 5px 0 0; }
  .room-grid--list .room-card__action { height: 44px; padding: 0 2px; overflow: hidden; font-size: 6px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
  body[data-role="cleaner"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card { height: 86px; min-height: 86px; }
  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body { height: 86px; grid-template-columns: 82px minmax(0, 1fr); }
  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions { height: 86px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls { grid-column: 2; grid-row: 1; align-self: center; height: 68px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls { flex-wrap: nowrap; gap: 3px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls label { flex: 1 1 0; min-height: 31px; padding: 4px 3px; gap: 3px; font-size: 6px; }
  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls input,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls .inline-exchange-controls input { flex: 0 0 12px; width: 12px; height: 12px; }
  .mobile-floor-pager button { min-height: 44px; padding: 0 8px; border: 1px solid #b9cfe4; border-radius: 8px; color: var(--green); background: white; font-size: 9px; font-weight: 700; }
  .mobile-floor-pager button:disabled { color: #a4b0ba; border-color: var(--line); background: #f0f3f5; cursor: default; }
  .mobile-floor-pager strong { color: var(--green); font-size: 11px; text-align: center; }
  .special-cleaning-head { align-items: stretch; flex-direction: column; }.special-cleaning-controls { align-items: stretch; flex-direction: column; width: 100%; }.special-month-switcher { width: 100%; }.special-month-switcher input { width: 100%; min-height: 44px; }.special-cleaning-controls .primary-button { min-height: 44px; }.special-task-selector { display: flex; padding-bottom: 4px; overflow-x: auto; scrollbar-width: none; }.special-task-selector::-webkit-scrollbar { display: none; }.special-task-selector button { flex: 0 0 190px; min-height: 56px; }.special-selected-task { align-items: flex-start; flex-direction: column; gap: 2px; }.special-cleaning-summary { gap: 6px; }.special-cleaning-summary div { padding: 11px 8px; }.special-cleaning-summary strong { font-size: 17px; }.special-cleaning-grid { grid-template-columns: 1fr; }.special-room { padding: 10px 11px; }
  .performance-head { align-items: flex-start; flex-direction: column; }.performance-controls { width: 100%; justify-items: stretch; }.month-navigation { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; width: 100%; }.performance-month-switcher input { width: 100%; min-width: 0; min-height: 44px; }.month-navigation > button { min-height: 44px; padding: 0 9px; }.performance-person { grid-template-columns: minmax(0, 1fr) 74px 74px; padding: 11px; }.performance-person > div:not(.performance-person__name) { padding-left: 7px; }.performance-person > div:not(.performance-person__name) strong { font-size: 18px; }.staff-admin-head, .staff-admin-list-head { align-items: flex-start; flex-direction: column; }.staff-admin-form { grid-template-columns: 1fr; }.staff-admin-form .primary-button, #staff-admin-refresh { width: 100%; min-height: 44px; }.staff-admin-row { grid-template-columns: 1fr; align-items: stretch; gap: 9px; }.staff-admin-id, .staff-admin-person, .staff-admin-status { justify-content: flex-start; text-align: left; }.staff-admin-status { width: max-content; min-width: 64px; padding: 0 12px; }.staff-admin-actions { display: grid; grid-template-columns: 1fr 1fr; }.staff-admin-actions .secondary-button { min-height: 44px; }.modal-backdrop { align-items: end; padding: 0; }.modal { width: 100%; max-height: 91vh; padding: 22px 17px; border-radius: 18px 18px 0 0; }.room-static-info { grid-template-columns: repeat(2, 1fr); }.form-grid { grid-template-columns: repeat(2, 1fr); }.wide-field { grid-column: 1 / -1; }
  .room-modal .wide-field { grid-column: 1 / -1; }
  .performance-detail { padding: 12px; }.performance-day-table__head, .performance-day-row { grid-template-columns: minmax(76px, 1fr) repeat(3, 54px); gap: 5px; padding: 8px 7px; }.performance-day-table__head { font-size: 7px; }.performance-day-row { font-size: 9px; }.performance-day-row strong { font-size: 14px; }
  .photo-list-head { align-items: stretch; flex-direction: column; gap: 10px; }.photo-type-switcher { display: grid; grid-template-columns: 1fr 1fr; }.photo-type-switcher button { min-height: 44px; }.photo-floor-pager { display: grid; grid-template-columns: 88px minmax(0, 1fr) 88px; align-items: center; gap: 8px; margin: 13px 0; }.photo-floor-pager button { min-height: 44px; padding: 0 8px; border: 1px solid #b9cfe4; border-radius: 8px; color: var(--green); background: white; font-size: 9px; font-weight: 700; }.photo-floor-pager button:disabled { color: #a4b0ba; border-color: var(--line); background: #f0f3f5; }.photo-floor-pager strong { color: var(--green); font-size: 12px; text-align: center; }.photo-floor { display: none; padding: 0; border: 0; background: transparent; }.photo-floor.mobile-active { display: block; }.photo-floor h3 { display: none; }.photo-room-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.photo-room-cell { grid-template-rows: 26px minmax(0, 1fr) 22px; height: 172px; padding: 9px; gap: 7px; font-size: 18px; border-radius: 12px; }.photo-room-number { min-height: 26px; }.photo-room-status { min-height: 22px; font-size: 10px; }.photo-thumb-frame { border-radius: 9px; }.photo-thumb-frame::after { right: 8px; bottom: 7px; font-size: 14px; }.photo-thumb-empty { font-size: 12px; }.photo-detail-preview { min-height: 230px; }.photo-detail-info { grid-template-columns: 1fr; }.lost-item-search { min-width: 0; }.lost-item-search input { min-height: 44px; }.lost-item-floor { display: grid; grid-template-columns: 42px minmax(0, 1fr); padding: 10px; border: 1px solid var(--line); background: white; }.lost-item-floor h3 { display: block; margin: 4px 0 0; }.lost-item-room-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }.lost-item-room-button { min-height: 50px; font-size: 18px; }
  .pdf-preview-backdrop { align-items: stretch; }
  .pdf-preview-modal { width: 100%; height: 100vh; max-height: 100vh; border-radius: 0; }
  #pdf-preview-frame { height: calc(100% - 150px); }
  .pdf-preview-actions { grid-template-columns: 1fr 1fr; }
  #save-excel-report { grid-column: 1 / -1; }
  .toast { right: 13px; bottom: 13px; left: 13px; min-width: 0; }
}

@media (max-width: 430px) {
  .topbar h1 { display: none; }.role-switcher select { width: 100%; }.summary-grid { grid-template-columns: 1fr 1fr; }
  .room-card { display: block; }.section-heading { align-items: center; }
}

body[data-role="cleaner"] .room-grid--list .room-card,
body[data-role="checker"] .room-grid--list .room-card {
  align-items: center;
}

body[data-role="cleaner"] .room-grid--list .room-card__body,
body[data-role="checker"] .room-grid--list .room-card__body,
body[data-role="cleaner"] .room-grid--list .room-card__top,
body[data-role="checker"] .room-grid--list .room-card__top,
body[data-role="cleaner"] .room-grid--list .room-number-block,
body[data-role="checker"] .room-grid--list .room-number-block,
body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls,
body[data-role="cleaner"] .room-grid--list .inline-exchange-controls,
body[data-role="checker"] .room-grid--list .inline-exchange-controls,
body[data-role="cleaner"] .room-grid--list .room-card__actions,
body[data-role="checker"] .room-grid--list .room-card__actions {
  align-items: center;
}

body[data-role="cleaner"] .room-grid--list .status-badge--list,
body[data-role="checker"] .room-grid--list .status-badge--list,
body[data-role="cleaner"] .room-grid--list .stay-status-list,
body[data-role="checker"] .room-grid--list .stay-status-list,
body[data-role="cleaner"] .room-grid--list .list-cleaner-name,
body[data-role="checker"] .room-grid--list .list-cleaner-name,
body[data-role="cleaner"] .room-grid--list .list-room-type,
body[data-role="checker"] .room-grid--list .list-room-type {
  align-self: center;
  min-height: 0;
  height: 22px;
  line-height: 1;
}

body[data-role="manager"] .room-grid--list .list-cleaner-name,
body[data-role="cleaner"] .room-grid--list .list-cleaner-name,
body[data-role="checker"] .room-grid--list .list-cleaner-name {
  display: none;
}

.room-grid--list .status-badge--list,
.room-grid--list .list-room-type {
  display: none;
}

body[data-role="cleaner"] .room-grid--list .mobile-list-facts,
body[data-role="checker"] .room-grid--list .mobile-list-facts,
body[data-role="cleaner"] .room-grid--list .room-facts,
body[data-role="checker"] .room-grid--list .room-facts {
  display: none;
}

body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
body[data-role="checker"] .room-grid--list .inline-editor--worker-controls {
  display: flex;
  min-height: 44px;
  height: 44px;
}

body[data-role="cleaner"] .room-grid--list .inline-exchange-controls,
body[data-role="checker"] .room-grid--list .inline-exchange-controls {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

body[data-role="cleaner"] .room-grid--list .inline-exchange-controls label,
body[data-role="checker"] .room-grid--list .inline-exchange-controls label {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 0 5px;
  gap: 4px;
  line-height: 1;
  white-space: nowrap;
}

body[data-role="cleaner"] .room-grid--list .inline-exchange-controls input,
body[data-role="checker"] .room-grid--list .inline-exchange-controls input {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  margin: 0;
}

body[data-role="cleaner"] .room-grid--list .inline-exchange-controls span,
body[data-role="checker"] .room-grid--list .inline-exchange-controls span {
  line-height: 1;
}

body[data-role="cleaner"] .room-grid--list .room-card__actions,
body[data-role="checker"] .room-grid--list .room-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  height: 68px;
  min-height: 68px;
}

body[data-role="cleaner"] .room-grid--list .room-card__action,
body[data-role="checker"] .room-grid--list .room-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  min-height: 44px;
  line-height: 1.15;
}

@media (min-width: 681px) and (max-width: 1180px) {
  body[data-role="cleaner"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card,
  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body,
  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    min-height: 76px;
    height: 76px;
  }

  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 0 10px 0 0;
  }
}

@media (max-width: 680px) {
  body[data-role="cleaner"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card,
  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body,
  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    height: 68px;
    min-height: 68px;
  }

  body[data-role="cleaner"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  body[data-role="cleaner"] .room-grid--list .inline-editor--worker-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--worker-controls {
    grid-column: 2;
    grid-row: 1;
    height: 44px;
    min-height: 44px;
  }

  body[data-role="cleaner"] .room-grid--list .inline-exchange-controls,
  body[data-role="checker"] .room-grid--list .inline-exchange-controls {
    gap: 3px;
  }

  body[data-role="cleaner"] .room-grid--list .inline-exchange-controls label,
  body[data-role="checker"] .room-grid--list .inline-exchange-controls label {
    height: 34px;
    min-height: 34px;
    padding: 0 3px;
    gap: 3px;
    font-size: 5.5px;
  }

  body[data-role="cleaner"] .room-grid--list .inline-exchange-controls input,
  body[data-role="checker"] .room-grid--list .inline-exchange-controls input {
    flex-basis: 11px;
    width: 11px;
    height: 11px;
  }

  body[data-role="cleaner"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    height: 68px;
    min-height: 68px;
    padding: 0 5px 0 0;
  }
}

body[data-role="manager"] .room-grid--list .room-card {
  grid-template-columns: minmax(0, 1fr) 240px;
  align-items: center;
}

body[data-role="manager"] .room-grid--list .room-card__body {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  align-items: center;
  min-width: 0;
  height: 68px;
  padding: 8px 12px;
  overflow: hidden;
}

body[data-role="manager"] .room-grid--list .room-card__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 44px;
}

body[data-role="manager"] .room-grid--list .room-number-block {
  display: grid;
  grid-template-columns: 22px auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 5px;
}

body[data-role="manager"] .room-grid--list .list-room-flags {
  display: flex;
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
}

body[data-role="manager"] .room-grid--list .inline-editor.inline-editor--manager-list {
  display: grid;
  grid-template-columns: 82px 88px minmax(120px, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
}

body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field,
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-status-controls {
  align-self: center;
  height: 44px;
}

body[data-role="manager"] .room-grid--list .inline-editor--manager-list select,
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout {
  height: 44px;
}

body[data-role="manager"] .room-grid--list .room-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  height: 68px;
  padding: 0 10px 0 0;
}

@media (min-width: 681px) and (max-width: 1180px) {
  body[data-role="manager"] .room-grid--list .room-card {
    grid-template-columns: minmax(0, 1fr) 220px;
    min-height: 76px;
    height: 76px;
  }

  body[data-role="manager"] .room-grid--list .room-card__body {
    grid-template-columns: 70px minmax(0, 1fr);
    min-height: 76px;
    height: 76px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor.inline-editor--manager-list {
    grid-template-columns: 74px 82px minmax(92px, 1fr);
  }

  body[data-role="manager"] .room-grid--list .room-card__actions {
    height: 76px;
    min-height: 76px;
    padding: 0 10px 0 0;
  }
}

@media (max-width: 680px) {
  body[data-role="manager"] .room-grid--list .room-card {
    grid-template-columns: minmax(0, 1fr) 128px;
    height: 68px;
    min-height: 68px;
  }

  body[data-role="manager"] .room-grid--list .room-card__body {
    grid-template-columns: 50px minmax(0, 1fr);
    height: 68px;
    min-height: 68px;
    gap: 4px;
    padding: 6px 4px 6px 8px;
  }

  body[data-role="manager"] .room-grid--list .room-number-block {
    grid-template-columns: auto;
    grid-template-rows: auto auto;
  }

  body[data-role="manager"] .room-grid--list .list-room-flags {
    grid-column: 1;
    grid-row: 2;
  }

  body[data-role="manager"] .room-grid--list .list-room-flags .list-priority-status {
    height: 16px;
    padding: 0 4px;
    font-size: 6px;
  }

  body[data-role="manager"] .room-grid--list .floor-label {
    display: none;
  }

  body[data-role="manager"] .room-grid--list .inline-editor.inline-editor--manager-list {
    grid-template-columns: 50px 56px minmax(54px, 1fr);
    gap: 3px;
    height: 44px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field select {
    height: 44px;
    padding: 0 3px;
    font-size: 7px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout {
    height: 34px;
    min-height: 34px;
    padding: 0 3px;
    gap: 3px;
    font-size: 6px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout input {
    flex-basis: 12px;
    width: 12px;
    height: 12px;
  }

  body[data-role="manager"] .room-grid--list .room-card__actions {
    height: 68px;
    min-height: 68px;
    gap: 3px;
    padding: 0 5px 0 0;
  }
}

body[data-role="manager"] .room-grid--list .room-card,
body[data-role="checker"] .room-grid--list .room-card {
  grid-template-columns: 1fr;
  height: auto;
  min-height: 0;
}

body[data-role="manager"] .room-grid--list .room-card__body,
body[data-role="checker"] .room-grid--list .room-card__body {
  display: grid;
  grid-template-columns: 68px 432px 190px;
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: start;
  gap: 6px 9px;
  height: auto;
  min-height: 0;
  padding: 8px 10px 6px;
  overflow: visible;
}

body[data-role="manager"] .room-grid--list .room-card__top,
body[data-role="checker"] .room-grid--list .room-card__top {
  grid-column: 1;
  grid-row: 1;
  min-height: 36px;
}

body[data-role="manager"] .room-grid--list .room-number-block,
body[data-role="checker"] .room-grid--list .room-number-block {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  align-items: center;
  gap: 0;
}

body[data-role="manager"] .room-grid--list .floor-label,
body[data-role="checker"] .room-grid--list .floor-label,
body[data-role="manager"] .room-grid--list .list-room-flags,
body[data-role="checker"] .room-grid--list .list-room-flags {
  display: none;
}

body[data-role="manager"] .room-grid--list .room-card h3,
body[data-role="checker"] .room-grid--list .room-card h3 {
  grid-column: 1;
  grid-row: 1;
  font-size: 18px;
}

body[data-role="manager"] .room-grid--list .inline-editor.inline-editor--manager-list,
body[data-role="checker"] .room-grid--list .inline-editor.inline-editor--manager-list {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: 92px 106px 220px;
  gap: 7px;
  justify-content: start;
  width: 432px;
  max-width: 432px;
  height: auto;
  min-height: 36px;
}

body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field,
body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-field,
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-status-controls,
body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-status-controls {
  height: 36px;
}

body[data-role="manager"] .room-grid--list .inline-editor--manager-list select,
body[data-role="checker"] .room-grid--list .inline-editor--manager-list select,
body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout,
body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-checkedout {
  height: 36px;
  min-height: 36px;
}

body[data-role="manager"] .room-grid--list .room-card__actions,
body[data-role="checker"] .room-grid--list .room-card__actions {
  grid-column: 3;
  grid-row: 1;
  height: auto;
  min-height: 36px;
  padding: 0;
  justify-self: start;
}

body[data-role="manager"] .room-grid--list .room-card__action,
body[data-role="checker"] .room-grid--list .room-card__action {
  height: 36px;
}

body[data-role="manager"] .room-grid--list .stay-status-row,
body[data-role="checker"] .room-grid--list .stay-status-row {
  display: none;
}

body[data-role="manager"] .room-grid--list .list-tag-row,
body[data-role="checker"] .room-grid--list .list-tag-row {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 2;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding-left: 68px;
  white-space: normal;
}

body[data-role="manager"] .room-grid--list .priority-status,
body[data-role="checker"] .room-grid--list .priority-status {
  flex: 0 0 auto;
  width: auto;
  min-width: 48px;
  height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 8px;
}

body[data-role="manager"] .room-grid--list .priority-status--extra-bed,
body[data-role="checker"] .room-grid--list .priority-status--extra-bed {
  min-width: 76px;
}

@media (max-width: 680px) {
  body[data-role="manager"] .room-grid--list .room-card,
  body[data-role="checker"] .room-grid--list .room-card {
    height: auto;
    min-height: 0;
  }

  body[data-role="manager"] .room-grid--list .room-card__body,
  body[data-role="checker"] .room-grid--list .room-card__body {
    grid-template-columns: 42px minmax(0, 1fr) 92px;
    gap: 4px 5px;
    height: auto;
    min-height: 0;
    padding: 6px 6px 5px;
  }

  body[data-role="manager"] .room-grid--list .room-card__top,
  body[data-role="checker"] .room-grid--list .room-card__top {
    min-height: 34px;
  }

  body[data-role="manager"] .room-grid--list .room-card h3,
  body[data-role="checker"] .room-grid--list .room-card h3 {
    font-size: 16px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor.inline-editor--manager-list,
  body[data-role="checker"] .room-grid--list .inline-editor.inline-editor--manager-list {
    grid-template-columns: 45px 62px minmax(66px, 1fr);
    gap: 3px;
    justify-content: stretch;
    width: auto;
    max-width: none;
    min-height: 34px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-field,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-field,
  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-status-controls,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-status-controls,
  body[data-role="manager"] .room-grid--list .inline-editor--manager-list select,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list select,
  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-checkedout {
    height: 34px;
    min-height: 34px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list select,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list select {
    padding: 0 3px;
    font-size: 7px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-checkedout {
    padding: 0 3px;
    gap: 2px;
    font-size: 6px;
  }

  body[data-role="manager"] .room-grid--list .inline-editor--manager-list .inline-checkedout input,
  body[data-role="checker"] .room-grid--list .inline-editor--manager-list .inline-checkedout input {
    flex-basis: 11px;
    width: 11px;
    height: 11px;
  }

  body[data-role="manager"] .room-grid--list .room-card__actions,
  body[data-role="checker"] .room-grid--list .room-card__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
    min-height: 34px;
  }

  body[data-role="manager"] .room-grid--list .room-card__action,
  body[data-role="checker"] .room-grid--list .room-card__action {
    height: 34px;
    padding: 0 4px;
    font-size: 7px;
  }

  body[data-role="manager"] .room-grid--list .list-tag-row,
  body[data-role="checker"] .room-grid--list .list-tag-row {
    padding-left: 42px;
  }

  body[data-role="manager"] .room-grid--list .priority-status,
  body[data-role="checker"] .room-grid--list .priority-status {
    height: 18px;
    min-width: 44px;
    padding: 0 5px;
    font-size: 7px;
  }

  body[data-role="manager"] .room-grid--list .priority-status--extra-bed,
  body[data-role="checker"] .room-grid--list .priority-status--extra-bed {
    min-width: 70px;
  }
}

.room-grid--list .room-list-card {
  display: block;
  height: auto;
  min-height: 0;
  padding: 10px 16px 8px;
  overflow: visible;
}

.room-grid--list .room-list-main {
  display: grid;
  grid-template-columns: 34px 78px 150px 124px minmax(280px, 1fr) 142px 112px;
  align-items: center;
  justify-content: start;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.room-grid--list .room-list-floor {
  grid-column: 1;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
}

.room-grid--list .room-list-number {
  grid-column: 2;
  width: 78px;
  margin: 0;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  line-height: 36px;
}

.room-grid--list .room-list-control {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  height: 36px;
}

.room-grid--list .room-list-control > span {
  display: none;
}

.room-grid--list .room-list-control select,
.room-grid--list .room-list-checkout,
.room-grid--list .room-list-dd .inline-priority {
  height: 36px;
  min-height: 36px;
}

.room-grid--list .room-list-control select {
  width: 100%;
  min-width: 0;
  padding: 0 10px;
  border: 1px solid #c8d8df;
  border-radius: 8px;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
}

.room-grid--list .room-list-stay .stay-select--out {
  color: #8e322b;
  border-color: transparent;
  background: #f4c4bf;
}

.room-grid--list .room-list-stay .stay-select--stay {
  color: #614600;
  border-color: transparent;
  background: #f3c94f;
}

.room-grid--list .room-list-stay .stay-select--eco {
  color: #24604f;
  border-color: transparent;
  background: #dceee7;
}

.room-grid--list .room-list-stay .stay-select--broken {
  color: #fff;
  border-color: transparent;
  background: #9b4a16;
}

.room-grid--list .room-list-stay .stay-select--vacant {
  color: #52616d;
  border-color: transparent;
  background: #e3e8ed;
}

.room-grid--list .room-list-stay {
  grid-column: 3;
  width: 150px;
}

.room-grid--list .room-list-assignee {
  grid-column: 5;
  width: 100%;
  max-width: none;
}

.room-grid--list .room-list-checkout,
.room-grid--list .room-list-dd .inline-priority {
  grid-column: 4;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  width: 124px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #8e322b;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.room-grid--list .room-list-checkout input,
.room-grid--list .room-list-dd input {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin: 0;
}

.room-grid--list .room-list-checkout--empty {
  visibility: hidden;
}

.room-grid--list .room-list-card .room-card__action {
  grid-column: 6;
  width: 142px;
  min-width: 0;
  max-width: 142px;
  height: 36px;
  padding: 0 10px;
  overflow: hidden;
  border-radius: 8px;
  font-size: 9px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.room-grid--list .room-list-card .checkout-wait-action,
.room-grid--list .room-list-card .checkout-wait-action:hover {
  color: #1f5d8f !important;
  border: 1px solid #a8d4ef !important;
  background: #e7f5fc !important;
  filter: none !important;
  box-shadow: none !important;
}

.room-grid--list .room-list-card .secondary-action,
.room-grid--list .room-list-card .secondary-action:hover {
  color: #1f5d8f !important;
  border: 1px solid #2f6fb0 !important;
  background: #fff !important;
  filter: none !important;
  box-shadow: none !important;
}

.room-grid--list .room-list-card .secondary-action {
  grid-column: 7;
  width: 112px;
  min-width: 0;
  max-width: 112px;
}

.room-grid--list .room-list-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  margin-top: 6px;
  padding-left: 0;
  justify-content: flex-start;
}

.room-grid--list .room-list-tags--empty {
  display: none;
}

.room-grid--list .room-list-tags .priority-status {
  flex: 0 0 auto;
  width: auto;
  min-width: 48px;
  height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 8px;
}

.room-grid--list .room-list-tags .priority-status--extra-bed {
  min-width: 76px;
}

@media (max-width: 680px) {
  .room-grid--list .room-list-card {
    padding: 6px;
  }

  .room-grid--list .room-list-main {
    display: grid;
    grid-template-columns: 36px 70px 54px minmax(70px, 1fr) 48px 38px;
    justify-content: stretch;
    gap: 2px;
  }

  .room-grid--list .room-list-floor {
    display: none;
  }

  .room-grid--list .room-list-number {
    grid-column: 1;
    width: 36px;
    font-size: 16px;
    line-height: 34px;
  }

  .room-grid--list .room-list-control,
  .room-grid--list .room-list-control select,
  .room-grid--list .room-list-checkout,
  .room-grid--list .room-list-dd .inline-priority,
  .room-grid--list .room-list-card .room-card__action {
    height: 34px;
    min-height: 34px;
  }

  .room-grid--list .room-list-control select {
    padding: 0 3px;
    font-size: 7px;
  }

  .room-grid--list .room-list-stay {
    grid-column: 2;
    width: 70px;
    min-width: 0;
  }

  .room-grid--list .room-list-assignee {
    grid-column: 4;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .room-grid--list .room-list-checkout,
  .room-grid--list .room-list-dd .inline-priority {
    grid-column: 3;
    min-width: 0;
    width: 54px;
    padding: 0;
    gap: 2px;
    font-size: 5.5px;
  }

  .room-grid--list .room-list-checkout input,
  .room-grid--list .room-list-dd input {
    flex-basis: 11px;
    width: 11px;
    height: 11px;
  }

  .room-grid--list .room-list-card .room-card__action {
    grid-column: 5;
    width: 48px;
    min-width: 0;
    max-width: none;
    padding: 0 3px;
    font-size: 5.5px;
  }

  .room-grid--list .room-list-card .secondary-action {
    grid-column: 6;
    width: 38px;
    min-width: 0;
    max-width: none;
  }

  .room-grid--list .room-list-tags {
    gap: 4px;
    margin-top: 5px;
    padding-left: 0;
  }

  .room-grid--list .room-list-tags .priority-status {
    height: 18px;
    min-width: 44px;
    padding: 0 5px;
    font-size: 7px;
  }

  .room-grid--list .room-list-tags .priority-status--extra-bed {
    min-width: 70px;
  }
}

@media (min-width: 681px) {
  .room-grid--list .room-list-floor {
    display: none;
  }

  .room-grid--list .room-list-main {
    grid-template-columns: 78px 150px 124px minmax(280px, 1fr) 142px 112px;
  }

  .room-grid--list .room-list-number {
    grid-column: 1;
  }

  .room-grid--list .room-list-stay {
    grid-column: 2;
  }

  .room-grid--list .room-list-checkout,
  .room-grid--list .room-list-dd .inline-priority {
    grid-column: 3;
  }

  .room-grid--list .room-list-assignee {
    grid-column: 4;
  }

  .room-grid--list .room-list-card .room-card__action {
    grid-column: 5;
  }

  .room-grid--list .room-list-card .secondary-action {
    grid-column: 6;
  }
}
body.auth-loading .app-shell { visibility: hidden; }
.authenticated-user { display: flex; min-height: 52px; padding: 7px 14px; flex-direction: column; justify-content: center; border-radius: 10px; background: #fff; }
.authenticated-user span { color: var(--muted); font-size: 8px; }
.authenticated-user strong { font-size: 11px; }
.logout-button { min-height: 52px; padding: 0 16px; border: 1px solid #b8ccdd; border-radius: 10px; color: #174a7e; background: #fff; font-size: 10px; font-weight: 800; }
.logout-button:hover { background: #edf5fc; }
@media (max-width: 680px) {
  .authenticated-user { display: none; }
  .logout-button { min-height: 44px; padding: 0 10px; font-size: 9px; }
}
