/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.room-card{border-top:3px solid #dfe6f0;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.room-card .room-card-status{align-items:center;gap:7px}.room-card .status{letter-spacing:.15px;border-radius:999px;gap:6px;min-height:27px;padding:4px 8px 4px 5px;font-size:10px;font-weight:700}.room-card .status-icon-wrap{border-radius:7px;width:22px;height:22px;font-size:12px;box-shadow:inset 0 0 0 1px #fff9,0 2px 5px #18345b12}.room-card:has(.status.空房){background:linear-gradient(#fff 0%,#f8faff 100%);border-top-color:#5b83e9}.room-card:has(.status.入住){background:linear-gradient(#fff 0%,#f7fcfa 100%);border-top-color:#43a88a;box-shadow:0 3px 12px #43a88a18}.room-card:has(.status.预订){background:linear-gradient(#fff 0%,#f8faff 100%);border-top-color:#7d9be7}.room-card:has(.status.清扫){background:linear-gradient(#fff 0%,#fffaf3 100%);border-top-color:#e6a14c}.room-card:has(.status.维修){background:linear-gradient(#fff 0%,#fbf9ff 100%);border-top-color:#9877d4}.room-card:has(.status.入住) .status-icon-wrap{box-shadow:inset 0 0 0 1px #fffa,0 0 0 3px #d8f3e9}.room-card:has(.status.维修) .status-icon-wrap{box-shadow:inset 0 0 0 1px #fffa,0 0 0 3px #eee7ff}.room-card .stay-mode-badge{border-radius:999px;min-height:22px;padding:4px 7px;font-weight:700}.room-card .stay-mode-badge.hourly{box-shadow:0 0 0 2px #fff4e5}.room-summary-card{border-left:4px solid #dfe6f0}.room-summary-card:has(.status-icon-空房){border-left-color:#5b83e9}.room-summary-card:has(.status-icon-入住){border-left-color:#43a88a}.room-summary-card:has(.status-icon-预订){border-left-color:#7d9be7}.room-summary-card:has(.status-icon-清扫){border-left-color:#e6a14c}.room-summary-card:has(.status-icon-维修){border-left-color:#9877d4}.summary-status-icon{box-shadow:inset 0 0 0 1px #fffa,0 4px 9px #18345b12}.summary-status-icon.status-icon-入住{box-shadow:inset 0 0 0 1px #fffa,0 0 0 4px #e0f6ee}.summary-status-icon.status-icon-维修{box-shadow:inset 0 0 0 1px #fffa,0 0 0 4px #f0eaff}.douyin-payment-panel{background:linear-gradient(135deg,#fff8f2 0%,#fff0e5 100%);border:1px solid #f4c8a6;border-radius:10px;gap:12px;padding:14px;display:grid}.douyin-payment-head{color:#d7652c;align-items:center;gap:9px;display:flex}.douyin-payment-head>.app-icon{color:#fff;background:#ee6a35;border-radius:9px;place-items:center;width:30px;height:30px;font-size:17px;display:grid}.douyin-payment-head b,.douyin-payment-head small{display:block}.douyin-payment-head b{font-size:12px}.douyin-payment-head small{color:#b17b61;margin-top:4px;font-size:9px}.douyin-payment-panel>label{color:#6e7786;font-size:10px}.douyin-payment-panel>label input{margin-top:6px}.douyin-payment-result{color:#aa704f;border-top:1px solid #f4d8c6;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding-top:10px;font-size:10px;display:grid}.douyin-payment-result b{color:#dc642d;font-size:16px}.douyin-payment-result em{color:#b17b61;text-align:right;font-style:normal}@media (width<=600px){.douyin-payment-result{grid-template-columns:1fr auto}.douyin-payment-result em{text-align:left;grid-column:1/-1}}.room-panel .room-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:15px}.room-panel .room-card{border-radius:10px;min-height:106px;padding:10px 9px 9px}.room-panel .room-top{margin-bottom:9px}.room-panel .room-id{font-size:12px}.room-panel .room-card-status{justify-content:flex-end;gap:4px}.room-panel .room-card .status{gap:4px;min-height:23px;padding:3px 6px 3px 4px;font-size:9px}.room-panel .room-card .status-icon-wrap{width:19px;height:19px;font-size:10px}.room-panel .room-card>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.room-panel .room-guest{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;display:block;overflow:hidden}.room-panel .room-bottom{margin-top:10px}.room-panel .room-bottom strong{font-size:11px}.room-panel .room-bottom button{border-radius:5px;padding:4px 6px;font-size:9px}.room-panel .room-bottom{align-items:center;gap:5px;display:flex}.room-panel .room-bottom strong{margin-right:auto}.room-panel .room-bottom .quick-room-action{color:#fff;background:#4777e8;font-weight:700;box-shadow:0 3px 8px #4777e82b}.room-panel .room-bottom .quick-room-action:hover{background:#315fca}.room-panel .room-card:has(.status.空房){box-shadow:inset 0 0 0 1px #d6e3ff,0 3px 9px #4777e80c}@media (width<=1100px){.room-panel .room-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=760px){.room-panel .room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-panel .room-card{min-height:100px;padding:9px 7px}.room-panel .room-card-status{flex-direction:column;align-items:flex-end}}.room-management .managed-room-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:14px}.room-management .managed-room-card{border-radius:10px;min-height:132px;padding:10px 9px 8px}.room-management .managed-room-card .room-top{margin-bottom:8px}.room-management .managed-room-card .room-id{font-size:12px}.room-management .managed-room-card>b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.room-management .managed-room-card .room-guest{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.room-management .managed-room-card .room-stay-dates{gap:2px;min-height:28px;margin:5px 0 4px;font-size:8px}.room-management .managed-room-card .room-bottom{margin-top:auto}.room-management .managed-room-card .room-bottom strong{font-size:11px}.room-management .managed-actions{gap:5px;margin-top:7px;padding-top:7px}.room-management .managed-actions button{border-radius:6px;padding:5px 3px;font-size:9px}.room-management .managed-actions button:before{margin-right:3px;font-size:10px;font-weight:700;display:inline-block}.room-management .managed-actions button:first-child:before{content:"⊙"}.room-management .managed-room-card:has(.status.空房) .managed-actions button:last-child:before{content:"↘"}.room-management .managed-room-card:has(.status.预订) .managed-actions button:last-child:before{content:"▣"}.room-management .managed-room-card:has(.status.入住) .managed-actions button:last-child:before{content:"↗"}.room-management .managed-room-card:has(.status.清扫) .managed-actions button:last-child:before{content:"✦"}.room-management .managed-room-card:has(.status.维修) .managed-actions button:last-child:before{content:"⚒"}.room-panel .room-grid>.room-card:nth-child(8),.room-panel .room-grid>.room-card:nth-child(15),.room-panel .room-grid>.room-card:nth-child(22),.room-management .managed-room-grid>.room-card:nth-child(8),.room-management .managed-room-grid>.room-card:nth-child(15),.room-management .managed-room-grid>.room-card:nth-child(22){grid-column:1}@media (width<=1100px){.room-management .managed-room-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=760px){.room-management .managed-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.room-management .managed-room-card{min-height:126px;padding:9px 7px 7px}.room-management .managed-room-card .room-card-status{flex-direction:column;align-items:flex-end}}.app-icon{font-size:clamp(12px,1.15vw,18px)}.nav-icon{width:clamp(17px,1.7vw,21px);height:clamp(17px,1.7vw,21px);font-size:clamp(13px,1.5vw,17px)}.brand-mark{width:clamp(28px,2.8vw,34px);height:clamp(28px,2.8vw,34px);font-size:clamp(16px,1.7vw,20px)}.top-actions .app-icon{font-size:clamp(12px,1.25vw,15px)}.metric-icon .app-icon,.report-icon .app-icon{font-size:clamp(15px,1.65vw,21px)}.status-icon-wrap{width:clamp(19px,2vw,23px);height:clamp(19px,2vw,23px);font-size:clamp(10px,1.05vw,13px)}.summary-status-icon{width:clamp(31px,3.2vw,38px);height:clamp(31px,3.2vw,38px);font-size:clamp(14px,1.6vw,18px)}.quick-actions .app-icon{font-size:clamp(18px,2vw,24px)}.date-button{gap:6px}.live-clock{color:#315fca;font-variant-numeric:tabular-nums;letter-spacing:.4px}.module-center-page{gap:18px}.module-center-page .detail-kicker{color:#8b99ad;letter-spacing:1.5px;margin-bottom:6px;font-size:9px;display:block}.module-center-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.module-center-card{min-height:104px;color:var(--ink);text-align:left;align-items:center;gap:12px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.module-center-card:hover{border-color:#9bb5f4;transform:translateY(-2px);box-shadow:0 8px 18px #18345b12}.module-center-icon{color:#4777e8;background:#eaf0ff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.module-center-icon .app-icon{font-size:19px}.module-center-card>span:nth-child(2){flex:1;min-width:0}.module-center-card b,.module-center-card small{display:block}.module-center-card b{font-size:12px}.module-center-card small{color:#8a98aa;margin-top:6px;font-size:9px;line-height:1.5}.module-center-card em{color:#4777e8;white-space:nowrap;font-size:9px;font-style:normal}@media (width<=1000px){.module-center-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.module-center-grid{grid-template-columns:1fr}.module-center-card{min-height:88px;padding:14px}}@media (width<=760px){.nav-icon{width:18px;height:18px;font-size:14px}.brand-mark{width:29px;height:29px;font-size:17px}.status-icon-wrap{width:20px;height:20px}.summary-status-icon{width:32px;height:32px}}.status.空房{color:#5278d1;background:#eaf0ff}.room-view-toggle{background:#f5f7fa;border-radius:6px;gap:4px;padding:3px;display:flex}.room-view-toggle button{color:#8d99a9;background:0 0;border-radius:4px;padding:6px 10px;font-size:10px}.room-view-toggle button.selected{color:#4777e8;background:#fff;box-shadow:0 1px 4px #1d3b6814}.room-summary-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.room-summary-card{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;align-items:center;gap:10px;padding:15px;display:flex}.room-summary-card.selected{border-color:#8aa8ee;box-shadow:0 4px 12px #4777e814}.room-summary-card small,.room-summary-card b{display:block}.room-summary-card small{color:#8e9aaa;margin-bottom:5px;font-size:10px}.room-summary-card b{font-size:16px}.room-filter-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.room-filter-row.secondary{border-top:1px solid #eef1f5;margin-top:16px;padding-top:16px}.floor-tabs{gap:5px;display:flex}.floor-tabs button{color:#718097;background:#f7f9fc;border-radius:5px;padding:8px 13px;font-size:10px}.floor-tabs button.selected{color:#4777e8;background:#eaf0ff}.room-search{color:#9aa5b4;border:1px solid #e4eaf1;border-radius:6px;align-items:center;gap:7px;width:220px;padding:8px 10px;display:flex}.room-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.room-filter-row.secondary .filter-group small{color:#a1adbb;margin-left:4px;font-size:9px}.managed-room-grid{margin-top:20px}.managed-room-card{flex-direction:column;display:flex}.managed-room-card .room-bottom{margin-top:auto}.managed-actions{border-top:1px solid #f0f2f6;gap:7px;margin-top:12px;padding-top:10px;display:flex}.managed-actions button{color:#5279d2;background:#f7f9fc;border-radius:5px;flex:1;padding:7px 4px;font-size:10px}.managed-actions button:hover{background:#eaf0ff}.room-table-wrap{margin-top:20px}.room-table-wrap .table-action+.table-action{margin-left:12px}.room-empty{min-height:260px;margin-top:20px}.empty-inline{text-align:center;color:#a2adba;padding:22px 0;font-size:11px}.module-tabs{border-bottom:1px solid #eef1f5;gap:8px;padding-bottom:15px;display:flex}.module-tabs button{color:#7d8a9d;background:#f7f9fc;border-radius:6px;padding:8px 12px;font-size:11px}.module-tabs button.selected{color:#4777e8;background:#eaf0ff}.frontdesk-grid,.member-grid{grid-template-columns:1.35fr 1fr;gap:18px;display:grid}.module-count{color:#4777e8;background:#eaf0ff;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.frontdesk-row{border-bottom:1px solid #f0f2f6;align-items:center;gap:10px;padding:14px 0;display:flex}.frontdesk-row:last-child{border-bottom:0}.frontdesk-row>span:nth-child(2){flex:1}.frontdesk-row b,.frontdesk-row small{display:block}.frontdesk-row b{font-size:11px}.frontdesk-row small{color:#9aa5b4;margin-top:4px;font-size:10px}.frontdesk-row em{color:#9aa5b4;font-size:10px;font-style:normal}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.quick-actions button{color:#54657c;background:#fbfcfe;border:1px solid #e8edf3;border-radius:8px;flex-direction:column;align-items:flex-start;gap:10px;padding:15px;font-size:11px;display:flex}.quick-actions button:hover,.report-card:hover{background:#f8faff;border-color:#9bb5f4}.quick-actions span{color:#4777e8;font-size:20px}.housekeeping-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.housekeeping-summary>div{color:#718096;background:#f8fafc;border-radius:7px;padding:14px;font-size:11px}.housekeeping-summary b{float:right;color:#263b59}.task-state{color:#bd7d25;background:#fff3df;border-radius:4px;padding:4px 6px;font-size:9px}.task-state.done{color:#438d77;background:#e6f6f0}.task-state.warning{color:#bd7d25;background:#fff3df}.audit-list{margin-top:20px}.audit-row{border-bottom:1px solid #f0f2f6;grid-template-columns:65px 110px 1fr 90px 60px;align-items:center;gap:10px;padding:14px 0;font-size:11px;display:grid}.audit-row>span,.audit-row small{color:#9aa5b4}.audit-row strong{text-align:right}.audit-row em{color:#438d77;text-align:right;font-size:10px;font-style:normal}.audit-row em.warning{color:#bd7d25}.report-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.report-card{text-align:left;color:var(--ink);align-items:center;gap:12px;padding:18px;display:flex}.report-card>span:nth-child(2){flex:1}.report-icon{color:#4777e8;background:#eaf0ff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.report-card b,.report-card small{display:block}.report-card b{font-size:12px}.report-card small{color:#9aa5b4;margin-top:5px;font-size:10px}.report-card em{color:#8b98aa;white-space:nowrap;font-size:10px;font-style:normal}.report-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;display:grid}.report-kpis div{background:#f8fafc;border-radius:7px;padding:15px}.report-kpis span,.report-kpis b{display:block}.report-kpis span{color:#9aa5b4;margin-bottom:8px;font-size:10px}.report-kpis b{font-size:18px}.member-levels{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:21px;display:grid}.member-levels div{background:#f8fafc;border-radius:7px;padding:15px}.member-levels b,.member-levels strong,.member-levels small{display:block}.member-levels b{color:#65748a;font-size:11px}.member-levels strong{margin:10px 0 5px;font-size:22px}.member-levels small{color:#9aa5b4;font-size:9px}.coupon-row{border-bottom:1px solid #f0f2f6;align-items:center;gap:10px;padding:14px 0;display:flex}.coupon-row:last-child{border-bottom:0}.coupon-icon{color:#e6a14c;background:#fff1df;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.coupon-icon.mint{color:#43a88a;background:#e4f7f1}.coupon-row span:nth-child(2){flex:1}.coupon-row b,.coupon-row small{display:block}.coupon-row b{font-size:11px}.coupon-row small{color:#9aa5b4;margin-top:4px;font-size:9px}.coupon-row strong{color:#718096;font-size:10px}.member-activity{color:#56657a;border-bottom:1px solid #f0f2f6;padding:14px 0;font-size:11px}.member-activity span{float:right;color:#9aa5b4;font-size:10px}.inventory-alert{color:#9b7e5c;background:#fff6e8;border-radius:6px;padding:11px 12px;font-size:10px}@media (width<=900px){.frontdesk-grid,.member-grid{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,1fr)}.audit-row{grid-template-columns:55px 90px 1fr 70px 55px}.report-kpis{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.housekeeping-summary,.member-levels{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:1fr}.audit-row{min-width:560px}.audit-list{overflow-x:auto}}:root{--ink:#122238;--muted:#8490a2;--line:#e8edf3;--blue:#4777e8;--navy:#152c53;--canvas:#f7f9fc}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}.app-error-shell{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.app-error-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:22px;width:min(520px,100%);padding:34px 30px;box-shadow:0 20px 60px #10254118}.app-error-card h1{color:var(--ink);letter-spacing:-.4px;margin:10px 0 9px;font-size:24px}.app-error-card p{color:#7d8a9d;max-width:390px;margin:0 auto 22px;font-size:12px;line-height:1.7}button{font:inherit;cursor:pointer;border:0}.app-shell{min-height:100vh;display:flex}.sidebar{color:#aab8cc;background:#112643;flex-direction:column;flex-shrink:0;width:238px;padding:29px 15px 18px;display:flex}.brand{color:#fff;letter-spacing:.5px;align-items:center;gap:10px;padding:0 13px;font-size:18px;font-weight:700;display:flex;position:relative}.brand-mark{color:#8daef7;font-size:27px;display:inline-block;transform:rotate(-20deg)}.brand small{letter-spacing:1.7px;color:#7185a1;font-size:7px;font-weight:500;position:absolute;top:25px;left:51px}.hotel-switch{background:#1b365d;border-radius:11px;align-items:center;gap:9px;margin:40px 5px 26px;padding:12px 11px;font-size:12px;display:flex}.hotel-switch b,.user-card b{color:#f5f7fb;margin-bottom:4px;font-size:13px;display:block}.hotel-switch small,.user-card small{color:#8396b2;font-size:10px;display:block}.hotel-avatar,.user-avatar{color:#fff;background:#5478da;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.chevron{color:#7891b4;margin-left:auto}.nav-caption{color:#627896;letter-spacing:1.3px;margin:0 13px 10px;font-size:10px}.nav-item{text-align:left;color:#91a4bf;background:0 0;border-radius:9px;align-items:center;gap:13px;width:100%;margin:3px 0;padding:12px 14px;font-size:13px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#315486}.nav-item.active{box-shadow:inset 3px 0 #8eb4ff}.nav-icon{text-align:center;color:#8ea9d1;width:16px;font-size:17px}.nav-item em{color:#fff;background:#ec7c67;border-radius:8px;margin-left:auto;padding:2px 6px;font-size:10px;font-style:normal}.sidebar-bottom{margin-top:auto}.user-card{border-top:1px solid #27405f;align-items:center;gap:9px;margin:25px 5px 0;padding:18px 6px 0;display:flex}.dots{color:#8195b1;margin-left:auto}.content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 40px;font-size:13px;display:flex}.topbar-breadcrumb{align-items:center;min-width:0;display:flex}.crumb{color:#9aa5b5}.slash{color:#d0d6df;margin:0 12px}.back-button{color:#315fca;cursor:pointer;background:#f7faff;border:1px solid #dce5f0;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:12px;font-size:23px;line-height:1;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.back-button:hover{color:#fff;background:#315fca;transform:translate(-2px);box-shadow:0 5px 14px #315fca33}.back-button:active{transform:translate(-3px)scale(.96)}.back-button.is-home{visibility:hidden;pointer-events:none}.top-actions{align-items:center;gap:15px;display:flex}.date-button{color:#66758b;background:#f7f9fc;border:1px solid #e7ecf3;border-radius:7px;padding:9px 12px;font-size:12px}.date-button span{margin-left:12px}.icon-button,.help-button{color:#6f7d92;background:0 0;font-size:19px;position:relative}.icon-button i{background:#ef806c;border-radius:50%;width:5px;height:5px;position:absolute;top:1px;right:1px}.help-button{border:1px solid #dbe2eb;border-radius:50%;width:22px;height:22px;font-size:13px}.room-picker-modal{width:min(680px,100% - 24px)}.room-picker-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-height:58vh;margin-top:20px;padding:2px;display:grid;overflow:auto}.room-picker-card{color:#59708e;text-align:left;background:#fbfcff;border:1px solid #e5ebf3;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px 12px;transition:border-color .18s,background .18s,transform .18s;display:grid}.room-picker-card:hover{background:#edf3ff;border-color:#7fa0ed;transform:translateY(-1px)}.room-picker-number{color:#315fca;background:#eaf0ff;border-radius:7px;place-items:center;width:42px;height:34px;font-weight:700;display:grid}.room-picker-card b,.room-picker-card small{display:block}.room-picker-card b{color:#35455d;font-size:11px}.room-picker-card small{color:#8d9aad;margin-top:4px;font-size:9px}.room-picker-card em{color:#5279d2;white-space:nowrap;font-size:9px;font-style:normal}.ledger-hint{color:#98a5b5;margin:12px 0 0;font-size:10px;line-height:1.6}.room-picker-source{background:linear-gradient(135deg,#f5f9ff,#edf4ff);border:1px solid #d8e4f4;border-radius:11px;margin-top:20px;padding:14px}.room-picker-source-label{color:#7c91ad;letter-spacing:.4px;font-size:10px}.room-picker-source-main{align-items:center;gap:10px;margin-top:8px;display:flex}.room-picker-source-main strong{color:#315fca;font-size:19px}.room-picker-source-main span{color:#71839b;font-size:10px}.room-picker-source-main b{color:#304862;margin-left:auto;font-size:12px}.room-picker-source>small{color:#8798ad;margin-top:8px;font-size:10px;display:block}.room-picker-target-label{color:#5c718e;margin:18px 2px -8px;font-size:11px;font-weight:600}.room-change-standard-list{gap:10px;margin-top:16px;display:grid}.room-change-standard-list>div{background:#fbfcfe;border:1px solid #edf1f6;border-radius:8px;align-items:flex-start;gap:9px;padding:10px 11px;display:flex}.room-change-standard-list span{min-width:0}.room-change-standard-list b,.room-change-standard-list small{display:block}.room-change-standard-list b{color:#43566f;font-size:10px}.room-change-standard-list small{color:#94a1b1;margin-top:4px;font-size:9px;line-height:1.5}.standard-dot{background:#55b98f;border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:3px;box-shadow:0 0 0 4px #e4f7f0}.standard-dot.warning{background:#e1a050;box-shadow:0 0 0 4px #fff1df}.help-modal{width:min(560px,100% - 32px)}.help-list{gap:10px;margin-top:22px;display:grid}.help-list>div{background:#f8fafc;border:1px solid #e8eef5;border-radius:9px;padding:12px 13px}.help-list b,.help-list span{display:block}.help-list b{color:#354b67;font-size:11px}.help-list span{color:#7c8da2;margin-top:5px;font-size:10px;line-height:1.65}.backup-panel{margin-top:18px}.backup-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.backup-actions .primary-button,.backup-actions .secondary-button{min-width:150px}.backup-panel .settings-help{margin-top:14px;line-height:1.7}.annual-report-block+.annual-report-block{border-top:1px solid #eef1f5;margin-top:22px;padding-top:20px}.annual-report-heading{justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;display:flex}.annual-report-heading strong{color:#2f4260;font-size:14px}.annual-report-heading span{color:#93a0b1;text-align:right;font-size:10px}.annual-report-block .table-wrap{margin-top:0}.page-body{max-width:1350px;margin:auto;padding:34px 40px 24px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:27px;display:flex}.eyebrow{color:#9aa7b9;letter-spacing:1.5px;margin:0 0 8px;font-size:10px}.page-heading h1{letter-spacing:-.7px;margin:0;font-size:27px}.page-heading h1 span{color:#f1aa55;font-size:20px}.subheading{color:#9aa5b4;margin:9px 0 0;font-size:12px}.primary-button{color:#fff;background:#4777e8;border-radius:7px;padding:11px 16px;font-size:12px;box-shadow:0 4px 10px #4777e82e}.primary-button:hover{background:#3566da}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:19px;display:grid}.metric,.panel{border:1px solid var(--line);background:#fff;border-radius:10px}.metric{align-items:flex-start;min-height:126px;padding:20px 18px;display:flex;position:relative;overflow:hidden}.metric-icon{border-radius:9px;place-items:center;width:36px;height:36px;margin-right:12px;font-size:16px;font-weight:700;display:grid}.blue{color:#5680e6;background:#e9f0ff}.mint{color:#43a88a;background:#e4f7f1}.orange{color:#e6a14c;background:#fff1df}.purple{color:#9070d3;background:#f0eaff}.metric-copy span{color:#8d99a9;margin:2px 0 7px;font-size:11px;display:block}.metric-copy strong{letter-spacing:-.5px;font-size:24px;display:block}.metric-copy strong small{color:#738095;font-size:11px;font-weight:400}.metric-copy em{color:#4da889;margin-top:10px;font-size:10px;font-style:normal;display:block}.spark{color:#9db8f4;letter-spacing:-4px;opacity:.8;font-size:21px;position:absolute;bottom:20px;right:13px;transform:rotate(-4deg)}.main-grid{grid-template-columns:1.65fr 1fr;gap:19px;margin-bottom:19px;display:grid}.panel{padding:22px}.panel-head{justify-content:space-between;align-items:flex-start;display:flex}.panel-head h2{margin:0 0 6px;font-size:15px}.panel-head p{color:#9aa5b4;margin:0;font-size:11px}.text-button{color:#4d79db;background:0 0;margin-top:3px;font-size:11px}.text-button span,.task-footer span{margin-left:8px;font-size:15px}.more-button{color:#9ca9b9;letter-spacing:2px;background:0 0}.occupancy-body{align-items:center;gap:25px;margin-top:20px;display:flex}.donut-wrap{align-items:center;gap:20px;display:flex}.donut{background:conic-gradient(#152c53 0 67%,#5683ee 67% 90%,#f5c06c 90% 98%,#e3e8ee 98%);border-radius:50%;place-items:center;width:144px;height:144px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;width:105px;height:105px;position:absolute}.donut div{z-index:1;text-align:center}.donut strong{font-size:22px;display:block}.donut span{color:#a0a9b5;margin-top:5px;font-size:10px;display:block}.donut-legend{width:112px}.donut-legend div{color:#8c98a9;align-items:center;gap:7px;margin:12px 0;font-size:10px;display:flex}.donut-legend b{color:#34435a;margin-left:auto;font-size:10px}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.navy{background:#152c53}.legend-dot.blue{background:#5683ee}.legend-dot.yellow{background:#f5c06c}.legend-dot.gray{background:#dfe5ec}.mini-chart{flex:1;align-self:stretch;padding-top:8px}.chart-label{color:#8d99a9;justify-content:space-between;font-size:10px;display:flex}.chart-label b{color:#43a78a;font-weight:500}.bars{justify-content:space-around;align-items:flex-end;gap:9px;height:130px;padding-top:18px;display:flex}.bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.bar{background:linear-gradient(#88aaf2,#d5e2fc);border-radius:3px 3px 0 0;width:14px;min-height:14px}.bar-col:nth-child(7) .bar{background:linear-gradient(#4777e8,#91b1f3)}.bar-col small{color:#acb4c0;white-space:nowrap;font-size:8px;transform:rotate(-35deg)}.task-list{margin-top:23px}.task{border-bottom:1px solid #f0f2f6;align-items:center;gap:11px;padding:13px 0;display:flex}.task-dot{border-radius:50%;width:7px;height:7px}.task-dot.blue{background:#5683ee}.task-dot.orange{background:#efaa58}.task-dot.purple{background:#9875da}.task span{flex:1}.task b{margin-bottom:5px;font-size:12px;display:block}.task small{color:#9ba5b5;font-size:10px;display:block}.task em{color:#a5afbd;font-size:10px;font-style:normal}.task-footer{color:#4d79db;text-align:left;background:0 0;width:100%;padding:17px 0 0;font-size:11px}.room-panel{margin-bottom:19px}.filter-group{background:#f5f7fa;border-radius:6px;padding:3px}.filter-group button{color:#94a0af;background:0 0;border-radius:4px;padding:6px 11px;font-size:10px}.room-grid{grid-template-columns:repeat(6,1fr);gap:11px;margin-top:20px;display:grid}.room-card{border:1px solid #e8edf3;border-radius:8px;min-width:0;padding:13px}.room-top{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.room-id{font-size:11px;font-weight:700}.status{border-radius:4px;padding:4px 6px;font-size:9px}.status.入住{color:#438d77;background:#e6f6f0}.status.预订{color:#5278d1;background:#eaf0ff}.status.清扫{color:#bd7d25;background:#fff3df}.status.维修{color:#8a6cc4;background:#f0eaff}.room-card>b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.room-guest{color:#9da8b6;margin:7px 0 13px;font-size:10px;display:block}.room-bottom{justify-content:space-between;align-items:center;display:flex}.room-bottom strong{font-size:12px}.room-bottom button{color:#6c87c9;background:0 0;font-size:10px}.channel-panel{margin-bottom:19px}.small-button{padding:9px 12px;font-size:11px}.channel-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:19px;display:grid}.channel-card{border:1px solid #e8edf3;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;display:grid}.channel-logo{border-radius:9px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.channel-info b{margin-bottom:5px;font-size:12px;display:block}.channel-info span{color:#9aa6b5;font-size:10px;display:block}.channel-state{border-radius:4px;padding:4px 6px;font-size:9px}.channel-state.pending{color:#bd7d25;background:#fff3df}.channel-state.connected{color:#438d77;background:#e6f6f0}.channel-bottom{color:#9aa6b5;border-top:1px solid #f0f2f6;grid-column:1/-1;justify-content:space-between;padding-top:11px;font-size:10px;display:flex}.channel-bottom strong{color:#33445b;margin-left:6px}.channel-bottom button{color:#5278d1;background:0 0;font-size:10px}.channel-note{color:#9ca8b6;background:#f8fafc;border-radius:6px;margin-top:14px;padding:10px 12px;font-size:10px}.orders-panel{margin-bottom:18px}.table-wrap{margin-top:17px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{color:#9ba7b6;text-align:left;background:#fafbfd;padding:11px 13px;font-size:10px;font-weight:400}td{color:#56657a;border-bottom:1px solid #f0f2f6;padding:13px}td.order-id{color:#5479cf;font-weight:600}td.amount{color:#23334c;font-weight:600}.order-status{color:#4a9c83;font-size:10px}tbody tr:last-child td{border-bottom:0}footer{color:#afb8c4;padding:1px 2px 20px;font-size:10px}footer span{float:right}.toast{color:#fff;background:#122b4e;border-radius:8px;padding:11px 17px;font-size:12px;animation:.2s ease-out up;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #1025413a}@keyframes up{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.detail-overlay{z-index:20;background:#12223852;justify-content:flex-end;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}.room-detail{background:#fff;width:min(510px,100%);height:100%;padding:31px 34px 25px;animation:.22s ease-out slide-in;overflow-y:auto;box-shadow:-14px 0 36px #11264325}.detail-header{justify-content:space-between;gap:20px;display:flex}.detail-kicker{color:#8ca0bc;letter-spacing:1.7px;font-size:9px}.detail-header h2{letter-spacing:-.5px;margin:8px 0 6px;font-size:22px}.detail-header p{color:#99a5b5;margin:0;font-size:11px}.detail-close{color:#65748a;background:#f5f7fa;border-radius:50%;width:30px;height:30px;font-size:23px;line-height:1}.detail-status-row{border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;margin:25px 0 18px;padding-bottom:18px;display:flex}.detail-status-row .status{padding:6px 9px;font-size:10px}.detail-price{font-size:20px;font-weight:700}.detail-price small{color:#9aa5b4;font-size:10px;font-weight:400}.detail-actions{gap:9px;margin-bottom:27px;display:flex}.detail-actions .primary-button{flex:1}.secondary-button{color:#59708e;background:#fff;border:1px solid #e1e7ef;border-radius:7px;padding:10px 13px;font-size:11px}.secondary-button:hover,.detail-close:hover{background:#f3f6fa}.detail-section{border-top:1px solid #eef1f5;padding:19px 0}.detail-section-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.detail-section-title h3{margin:0;font-size:13px}.detail-section-title>span{color:#9aa5b4;font-size:10px}.guest-block{background:#f8fafc;border-radius:8px;align-items:center;gap:11px;padding:13px;display:flex}.guest-avatar{color:#4b73d3;background:#e7efff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.guest-block strong{font-size:12px}.guest-block p{color:#9aa5b4;margin:5px 0 0;font-size:10px}.link-button{color:#5279d2;white-space:nowrap;background:0 0;margin-left:auto;font-size:10px}.detail-info-grid{grid-template-columns:1fr 1fr;gap:17px 22px;padding:18px 3px 2px;display:grid}.detail-info-grid span{color:#a0aab8;margin-bottom:6px;font-size:10px;display:block}.detail-info-grid b{color:#35455d;font-size:11px;font-weight:600;display:block}.amenity-list{flex-wrap:wrap;gap:8px;display:flex}.amenity-list span{color:#718096;background:#f6f8fb;border:1px solid #edf0f4;border-radius:5px;padding:7px 10px;font-size:10px}.detail-timeline>div{gap:11px;min-height:48px;display:flex;position:relative}.detail-timeline>div:not(:last-child):after{content:"";border-left:1px dashed #d9e1eb;height:35px;position:absolute;top:13px;left:3px}.timeline-dot{z-index:1;border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:4px;position:relative}.timeline-dot.blue{background:#5b83e4;box-shadow:0 0 0 4px #edf2ff}.timeline-dot.gray{background:#b7c1cf;box-shadow:0 0 0 4px #f1f3f6}.detail-timeline b,.detail-timeline small{display:block}.detail-timeline b{font-size:11px;font-weight:500}.detail-timeline small{color:#9da8b6;margin-top:5px;font-size:10px}.detail-footer{border-top:1px solid #eef1f5;gap:20px;padding-top:17px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.module-stack{flex-direction:column;gap:18px;display:flex}.module-toolbar{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:flex-end;padding:22px;display:flex}.module-toolbar h2{margin:0 0 6px;font-size:16px}.module-toolbar p{color:#9aa5b4;margin:0;font-size:11px}.module-panel{margin:0}.empty-module{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:420px;display:flex}.empty-icon{color:#5279db;background:#eaf0ff;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:17px;font-size:24px;display:grid}.empty-module h2{margin:0 0 8px;font-size:18px}.empty-module p{color:#9aa5b4;margin:0 0 18px;font-size:12px}.order-tools{justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px;display:flex}.order-tools input{width:260px;color:var(--ink);border:1px solid #e4eaf1;border-radius:6px;outline:none;padding:9px 11px;font-size:11px}.order-tools input:focus,.settings-form input:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.table-action{color:#5279d2;background:0 0;font-size:10px}.analytics-panel{min-height:315px}.analytics-up{color:#4a9c83;font-size:12px}.analytics-bars{justify-content:space-around;align-items:flex-end;gap:18px;height:220px;padding:28px 20px 0;display:flex}.analytics-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.analytics-bar-col strong{color:#7c8a9c;font-size:10px;font-weight:500}.analytics-bar{background:linear-gradient(#628cf0,#d4e1fc);border-radius:5px 5px 0 0;width:36px;max-width:70%;min-height:18px}.analytics-bar-col:nth-child(7) .analytics-bar{background:linear-gradient(#4777e8,#8daef2)}.analytics-bar-col small{color:#a6afbb;font-size:9px}.channel-summary{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;display:grid}.channel-summary>div{color:#6c7b8f;background:#f8fafc;border-radius:7px;padding:15px;font-size:11px}.channel-summary b{float:right;color:#2d3e58}.summary-dot{border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.summary-dot.blue{background:#5683ee}.summary-dot.mint{background:#5ac4a5}.summary-dot.orange{background:#f0b25c}.summary-dot.gray{background:#bec8d3}.campaign-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.campaign-card{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;display:grid}.campaign-icon{color:#8e6bd3;background:#f0eaff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.campaign-copy b,.campaign-copy span{display:block}.campaign-copy b{margin-bottom:5px;font-size:12px}.campaign-copy span{color:#9aa5b4;font-size:10px}.campaign-toggle{color:#5279d2;background:0 0;border-top:1px solid #f0f2f6;grid-column:1/-1;width:100%;padding:11px 0 0;font-size:10px}.settings-panel{max-width:760px}.settings-badge{color:#5279d2;background:#eaf0ff;border-radius:5px;padding:5px 8px;font-size:10px}.settings-form{grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;display:grid}.settings-form label{color:#77869a;flex-direction:column;gap:8px;font-size:11px;display:flex}.settings-form input{color:var(--ink);border:1px solid #e4eaf1;border-radius:6px;outline:none;padding:10px;font-size:12px}.settings-help{color:#9aa5b4;margin:10px 0 17px;font-size:11px}.douyin-focus-panel{background:linear-gradient(135deg,#fffdf9,#fff);border:1px solid #f0d8ba}.focus-heading{align-items:center;gap:12px;display:flex}.focus-heading h2{margin:0 0 5px;font-size:15px}.focus-heading p{color:#9aa5b4;margin:0;font-size:11px}.focus-heading .channel-state{margin-left:auto}.douyin-config{border-top:1px solid #f3e6d8;margin-top:18px;padding-top:17px}.config-tip{color:#9b7e5c;background:#fff6e8;border-radius:6px;padding:10px 12px;font-size:10px;line-height:1.6}.config-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:17px;display:grid}.config-grid label{color:#77869a;flex-direction:column;gap:7px;font-size:11px;display:flex}.config-grid input{color:var(--ink);border:1px solid #e6e9ee;border-radius:6px;outline:none;padding:10px;font-size:11px}.config-grid input:focus{border-color:#edb66f;box-shadow:0 0 0 3px #edb66f22}.config-actions{align-items:center;gap:17px;margin-top:18px;display:flex}@media (width<=1100px){.room-grid{grid-template-columns:repeat(3,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}.channel-grid{grid-template-columns:1fr}}@media (width<=760px){.sidebar{width:70px;padding:24px 9px}.brand span:not(.brand-mark),.brand small,.hotel-switch span:not(.hotel-avatar),.hotel-switch .chevron,.nav-caption,.nav-item:not(.active):after,.nav-item{font-size:0}.hotel-switch{margin-top:40px;padding:8px}.nav-item{justify-content:center;padding:12px 0}.nav-icon{font-size:17px}.nav-item em,.user-card span:not(.user-avatar){display:none}.page-body{padding:25px 18px}.topbar{padding:0 18px}.topbar>div:first-child{display:none}.main-grid{grid-template-columns:1fr}.occupancy-body{flex-wrap:wrap}.room-grid{grid-template-columns:repeat(2,1fr)}.page-heading{flex-direction:column;align-items:flex-start;gap:18px}.metric-grid{gap:10px}.metric{padding:14px}.metric-copy strong{font-size:20px}.filter-group{margin-top:14px}.module-toolbar{flex-direction:column;align-items:flex-start;gap:14px}.order-tools{flex-direction:column;align-items:stretch}.order-tools input{width:100%}.channel-summary,.campaign-grid,.config-grid,.settings-form{grid-template-columns:1fr}footer span{float:none;margin-top:8px;display:block}.room-detail{padding:24px 20px}.detail-actions{flex-wrap:wrap}.detail-actions .primary-button{flex-basis:100%}.detail-actions .secondary-button{flex:1}}.order-source-tools{color:#9aa5b4;align-items:center;gap:7px;padding:11px 0 2px;font-size:10px;display:flex}.order-source-tools button{color:#718097;background:#f7f9fc;border-radius:5px;padding:6px 10px;font-size:10px}.order-source-tools button.selected{color:#4777e8;background:#eaf0ff}.order-source{color:#6f7f95;font-size:10px}.channel-integrations{margin-top:18px}.integration-tip{color:#8f7b63;background:#fff8ed;border-radius:6px;padding:10px 12px;font-size:10px}.channel-integrations .channel-grid{margin-top:13px}.channel-integrations .channel-card{background:#fcfdff}.order-modal{background:#fff;border-radius:12px;width:min(560px,100% - 32px);max-height:calc(100vh - 40px);padding:30px 34px 26px;animation:.2s ease-out slide-up;overflow-y:auto;box-shadow:0 18px 50px #11264335}.modal-form{flex-direction:column;gap:15px;margin-top:25px;display:flex}.modal-form label{color:#77869a;flex-direction:column;gap:7px;font-size:11px;display:flex}.modal-form input,.modal-form select{color:var(--ink);background:#fff;border:1px solid #e4eaf1;border-radius:6px;outline:none;padding:10px 11px;font-size:12px}.modal-form input:focus,.modal-form select:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.modal-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.modal-actions .primary-button{min-width:100px}.modal-actions .secondary-button{min-width:74px}@keyframes slide-up{0%{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-form textarea{resize:vertical;min-height:72px;color:var(--ink);font:inherit;background:#fff;border:1px solid #e4eaf1;border-radius:6px;outline:none;padding:10px 11px;font-size:12px}.modal-form textarea:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.check-in-room-summary{color:#52647b;background:#f7f9fc;border-radius:7px;align-items:center;gap:8px;margin-top:20px;padding:12px 13px;font-size:11px;display:flex}.check-in-room-summary span:last-child{color:#8d99a9;margin-left:auto;font-size:10px}.check-in-note{color:#8b98a8;background:#f8fafc;border-radius:6px;padding:10px 12px;font-size:10px;line-height:1.5}.modal-overlay{justify-content:center;align-items:center;padding:20px}.check-in-modal{width:min(650px,100% - 24px)}.stay-mode-switch{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.stay-mode-switch button{text-align:left;color:#65748a;background:#fbfcfe;border:1px solid #e4eaf1;border-radius:8px;padding:13px 14px}.stay-mode-switch button.selected{color:#315fca;background:#edf3ff;border-color:#7fa0ed;box-shadow:0 0 0 3px #4777e811}.stay-mode-switch b,.stay-mode-switch small{display:block}.stay-mode-switch b{font-size:12px}.stay-mode-switch small{color:#96a2b1;margin-top:5px;font-size:9px}.stay-calculation{color:#5279d2;background:#edf3ff;border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:12px 13px;font-size:11px;display:grid}.stay-calculation>span{color:#7890af;font-size:9px}.stay-calculation>b{color:#315fca;font-size:14px}.stay-calculation>i{color:#315fca;text-align:right;font-size:11px;font-style:normal}.stay-calculation>small{color:#8293aa;border-top:1px solid #dce7fb;grid-column:1/-1;padding-top:9px;font-size:9px}.hourly-calculation{color:#ad7328;background:#fff4e5}.hourly-calculation>b,.hourly-calculation>i{color:#ad7328}.hourly-calculation>small{border-top-color:#f2dfc5}.hourly-duration{background:#fbfcfe;border:1px solid #e8edf3;border-radius:8px;align-items:center;gap:10px;padding:12px 13px;display:flex}.hourly-duration>span{color:#77869a;margin-right:auto;font-size:11px}.hourly-duration label{flex-direction:row;align-items:center;gap:6px;display:flex}.hourly-duration input{width:74px}.hourly-duration b{color:#67778d;white-space:nowrap;font-size:10px}.form-error{color:#b94a3e;background:#fff0ed;border:1px solid #f3d2cc;border-radius:6px;padding:10px 12px;font-size:10px}.form-spacer{display:block}.room-card-status,.detail-status-badges{align-items:center;gap:5px;display:flex}.stay-mode-badge{color:#315fca;white-space:nowrap;background:#eaf0ff;border-radius:4px;align-items:center;min-height:20px;padding:3px 6px;font-size:8px;display:inline-flex}.stay-mode-badge.hourly{color:#a56c21;background:#fff0dc}.room-stay-dates{color:#7890af;white-space:nowrap;flex-direction:column;gap:3px;margin:6px 0 10px;font-size:9px;display:flex}.room-stay-dates b{font-weight:500}.room-stay-dates i{color:#b0bac7;font-style:normal}.room-stay-dates.compact{min-height:34px}.table-stay-time{white-space:nowrap;flex-direction:column;gap:3px;min-width:112px;display:flex}.table-stay-time i{color:#a7b1bf;font-style:normal}.account-section{background:linear-gradient(#fff,#fbfcff)}.ledger-total{color:#315fca;font-size:16px}.ledger-list{border:1px solid #edf1f6;border-radius:7px;overflow:hidden}.ledger-row{border-bottom:1px solid #f0f2f6;justify-content:space-between;gap:10px;padding:10px 11px;display:flex}.ledger-row:last-child{border-bottom:0}.ledger-row b,.ledger-row small{display:block}.ledger-row b{color:#44546b;font-size:11px}.ledger-row small{color:#a2adba;margin-top:4px;font-size:9px}.ledger-row strong{color:#293d59;font-size:11px}.ledger-empty{padding:12px 0}.room-charge-form{grid-template-columns:1.2fr .8fr auto;gap:8px;margin-top:12px;display:grid}.room-charge-form select,.room-charge-form input{min-width:0;color:var(--ink);background:#fff;border:1px solid #e4eaf1;border-radius:6px;outline:none;padding:9px 10px;font-size:11px}.room-charge-form .secondary-button{white-space:nowrap;padding:8px 11px}.frontdesk-stay-list{border-top:1px solid #eef1f5;margin-top:16px}.frontdesk-stay-row{color:#56657a;text-align:left;background:0 0;border-bottom:1px solid #eef1f5;grid-template-columns:46px 1fr auto auto;align-items:center;gap:11px;width:100%;padding:13px 0;display:grid}.frontdesk-stay-row:last-child{border-bottom:0}.frontdesk-room-number{color:#4777e8;background:#edf3ff;border-radius:7px;place-items:center;width:38px;height:32px;font-weight:700;display:grid}.frontdesk-stay-row b,.frontdesk-stay-row small{display:block}.frontdesk-stay-row b{color:#35455d;font-size:11px}.frontdesk-stay-row small{color:#8d9aad;margin-top:4px;font-size:9px}.frontdesk-stay-row em{color:#7d8a9d;white-space:nowrap;font-size:9px;font-style:normal}.nav-group{display:block}.nav-group-mark{color:#8097b7;margin-left:auto;font-size:11px}.nav-subitems{border-left:1px solid #2b4567;margin:0 0 5px 31px;padding-left:10px}.nav-subitem{color:#8499b5;text-align:left;background:0 0;border-radius:5px;width:100%;padding:7px 8px;font-size:10px;display:block}.nav-subitem:hover,.nav-subitem.active{color:#fff;background:#284a78}@media (width<=900px){.room-summary-grid{grid-template-columns:repeat(3,1fr)}.room-filter-row{flex-direction:column;align-items:stretch}.room-search{width:auto}.floor-tabs{overflow-x:auto}.floor-tabs button{white-space:nowrap}.room-filter-row.secondary{flex-direction:row;align-items:center}.room-filter-row.secondary .filter-group{white-space:nowrap;overflow-x:auto}.managed-room-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.room-summary-grid{grid-template-columns:repeat(2,1fr)}.room-view-toggle{align-self:stretch}.room-view-toggle button{flex:1}.managed-room-grid{grid-template-columns:repeat(2,1fr)}.room-filter-row.secondary{flex-direction:column;align-items:flex-start}.room-filter-row.secondary .text-button{align-self:flex-end}.order-modal{padding:24px 20px}.modal-form-row,.stay-mode-switch{grid-template-columns:1fr;gap:15px}.stay-calculation{grid-template-columns:1fr auto}.stay-calculation>i{text-align:left;grid-column:1/-1}.hourly-duration{flex-wrap:wrap;align-items:flex-start}.hourly-duration>span{width:100%}.frontdesk-stay-row{grid-template-columns:42px 1fr auto}.frontdesk-stay-row em{grid-column:2/-1}.room-picker-grid{grid-template-columns:1fr}.room-picker-source-main{flex-wrap:wrap}.room-picker-source-main b{width:100%;margin-left:0}}.app-icon{flex:none;place-items:center;width:1em;height:1em;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:1em;font-style:normal;font-weight:700;line-height:1;display:inline-grid}.app-icon:before{line-height:1;display:block}.icon-compass:before{content:"✦"}.icon-dashboard:before{content:"⌂"}.icon-rooms:before{content:"▦"}.icon-orders:before{content:"▤"}.icon-housekeeping:before{content:"✧"}.icon-finance:before{content:"¥"}.icon-customers:before{content:"♡"}.icon-inventory:before{content:"◇"}.icon-settings:before{content:"⚙"}.icon-revenue:before{content:"¥"}.icon-occupancy:before{content:"◉"}.icon-rate:before{content:"↗"}.icon-checkin:before{content:"↘"}.icon-checkout:before{content:"↗"}.icon-douyin:before{content:"♪"}.icon-meituan:before{content:"美"}.icon-ctrip:before{content:"✈"}.icon-calendar:before{content:"▣"}.icon-guest:before{content:"●"}.icon-clock:before{content:"◷"}.icon-swap:before{content:"⇄"}.icon-repair:before{content:"⚒"}.icon-broom:before{content:"✦"}.icon-bed:before{content:"○"}.icon-money:before{content:"￥"}.icon-audit:before{content:"✓"}.icon-analytics:before{content:"↗"}.icon-member:before{content:"♙"}.icon-coupon:before{content:"▱"}.icon-campaign:before{content:"✦"}.icon-box:before{content:"◇"}.icon-bell:before{content:"♧"}.icon-eye:before{content:"◉"}.brand-mark{color:#b9ceff;background:linear-gradient(145deg,#5b83e9,#304f9a);border-radius:10px;place-items:center;width:31px;height:31px;font-size:18px;display:grid;transform:none;box-shadow:0 7px 16px #071a3b4d}.nav-icon{color:#a9c0e6;place-items:center;width:19px;height:19px;font-size:15px;display:inline-grid}.nav-item.active .nav-icon{color:#d8e5ff}.nav-subitem:before{content:"·";color:#6688bd;margin-right:7px}.nav-subitem.active:before{color:#b9d0ff}.top-actions .app-icon{color:currentColor;vertical-align:-2px;margin-right:6px;font-size:13px}.icon-button .app-icon{margin:0;font-size:17px}.channel-note{align-items:center;gap:7px;display:flex}.channel-note .app-icon{color:#7892bb;font-size:13px}.metric-icon .app-icon{font-size:17px}.channel-logo{box-shadow:inset 0 0 0 1px #ffffff80}.channel-logo .app-icon{font-size:16px}.status{align-items:center;gap:5px;min-height:22px;font-weight:600;display:inline-flex}.status-icon-wrap{border-radius:6px;place-items:center;width:19px;height:19px;font-size:10px;display:inline-grid}.status-icon-空房 .app-icon:before{content:"○"}.status-icon-入住 .app-icon:before{content:"●"}.status-icon-预订 .app-icon:before{content:"▣"}.status-icon-清扫 .app-icon:before{content:"✦"}.status-icon-维修 .app-icon:before{content:"⚒"}.room-summary-card{position:relative;overflow:hidden}.room-summary-card:after{display:none}.summary-status-icon{z-index:1;border-radius:10px;width:34px;height:34px;font-size:16px;position:relative}.summary-status-icon .app-icon{font-size:15px}.summary-status-icon.status-icon-空房{background:#eaf0ff}.summary-status-icon.status-icon-入住{background:#e4f7f1}.summary-status-icon.status-icon-预订{background:#eaf0ff}.summary-status-icon.status-icon-清扫{background:#fff1df}.summary-status-icon.status-icon-维修{background:#f0eaff}.channel-web-import-panel{background:linear-gradient(135deg,#fbfdff,#f5f9ff);border-color:#d9e5f5}.module-stack:has(.channel-web-import-panel)>.channel-panel{display:none}.module-stack:has(.channel-web-import-panel)>.module-toolbar .module-toolbar-actions>.secondary-button{display:none}.channel-web-controls{flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px;display:flex}.channel-web-controls select{min-width:120px;color:var(--ink);background:#fff;border:1px solid #dfe7f2;border-radius:8px;padding:10px 11px;font-size:11px}.channel-web-auto{color:#667891;align-items:center;gap:6px;margin-left:auto;font-size:10px;display:inline-flex}.channel-web-auto input{accent-color:#4777e8}.channel-web-page{color:#55719b;text-overflow:ellipsis;white-space:nowrap;margin:12px 0 0;font-size:10px;overflow:hidden}@media (width<=600px){.channel-web-controls{grid-template-columns:1fr 1fr;display:grid}.channel-web-controls select,.channel-web-controls button{width:100%}.channel-web-auto{grid-column:1/-1;margin-left:0}}.room-view-toggle button{align-items:center;gap:5px;display:inline-flex}.room-view-toggle .app-icon{font-size:12px}.room-search>.app-icon{color:#8b9ab0;font-size:13px}.empty-icon .app-icon{font-size:26px}.module-count{justify-content:center;align-items:center;gap:4px;display:flex}.module-count .app-icon{font-size:12px}.quick-actions .app-icon{color:#4777e8;font-size:21px}.frontdesk-row .module-count .app-icon{font-size:14px}.checkout-confirm-overlay{z-index:40;background:#12223866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.checkout-confirm{background:#fff;border-radius:14px;width:min(520px,100%);padding:25px;box-shadow:0 20px 60px #12223833}.checkout-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.checkout-summary div{background:#f7f9fc;border-radius:8px;padding:14px}.checkout-summary span,.checkout-summary b{display:block}.checkout-summary span{color:#8895a7;margin-bottom:7px;font-size:10px}.checkout-summary b{color:#263b59;font-size:16px}.checkout-result{color:#277b60;background:#eaf7f1;border-radius:9px;align-items:center;gap:12px;padding:17px;display:flex}.checkout-result span{font-size:12px}.checkout-result strong{margin-left:auto;font-size:25px}.checkout-result small{color:#6e998b;font-size:10px}.checkout-hint{color:#8b98a9;margin:15px 0 0;font-size:10px;line-height:1.7}@media (width<=600px){.checkout-summary{grid-template-columns:1fr}.checkout-result{flex-wrap:wrap}.checkout-result strong{margin-left:auto}.checkout-result small{width:100%}}.guest-info-row{grid-template-columns:1.15fr .65fr 1fr}@media (width<=600px){.guest-info-row{grid-template-columns:1fr}}.user-card{cursor:pointer;text-align:left;width:calc(100% - 10px);color:inherit;background:0 0;border-bottom:0;border-left:0;border-right:0}.user-card:hover{background:#1d3e6b;border-radius:9px}.auth-shell{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 15%,#dfeaff 0,#f4f7fc 38%,#eaf0f8 100%);place-items:center;padding:28px;display:grid}.auth-card{background:#fff;border:1px solid #dce5f1;border-radius:18px;width:min(430px,100%);padding:34px 36px 28px;box-shadow:0 24px 70px #193c6b20}.auth-loading{text-align:center}.auth-loading p{color:#8b98aa;margin:12px 0 0;font-size:12px}.auth-brand{align-items:center;gap:11px;margin-bottom:34px;display:flex}.auth-brand b,.auth-brand small{display:block}.auth-brand b{color:#24446f;font-size:16px}.auth-brand small{color:#98a7ba;letter-spacing:1.2px;margin-top:4px;font-size:8px}.auth-mark{color:#fff;background:linear-gradient(145deg,#628ced,#31539e);border-radius:12px;place-items:center;width:40px;height:40px;font-size:22px;display:grid;box-shadow:0 8px 18px #31539e38}.auth-heading h1{color:#243b5d;margin:8px 0;font-size:23px}.auth-heading p{color:#8b98aa;margin:0;font-size:11px;line-height:1.7}.auth-form{flex-direction:column;gap:15px;margin-top:25px;display:flex}.auth-form label{color:#66768d;flex-direction:column;gap:7px;font-size:11px;display:flex}.auth-form input{color:var(--ink);border:1px solid #dce5ef;border-radius:8px;outline:none;padding:12px 13px;font-size:12px;transition:border-color .18s,box-shadow .18s}.auth-form input:focus{border-color:#6e95ed;box-shadow:0 0 0 3px #4777e817}.auth-submit{width:100%;margin-top:4px}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-link{color:#4777e8;cursor:pointer;background:0 0;margin:16px auto 0;font-size:11px;display:block}.auth-message{color:#ae5145;background:#fff2ef;border:1px solid #f1d1cc;border-radius:7px;margin:0;padding:10px 12px;font-size:10px;line-height:1.5}.auth-message.success{color:#2b8667;background:#effbf5;border-color:#cdebdc}.auth-note{color:#98a5b4;border-top:1px solid #edf1f5;align-items:flex-start;gap:7px;margin-top:24px;padding-top:15px;font-size:10px;line-height:1.5;display:flex}.auth-note .app-icon{color:#5e83df;font-size:13px}.password-input-wrap{display:block;position:relative}.password-input-wrap input{width:100%;padding-right:40px}.password-toggle{color:#8c9ab0;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;height:25px;padding:0;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:#4777e8;background:#edf3ff}.password-toggle:focus-visible{outline-offset:1px;outline:2px solid #82a4ee}.password-toggle .app-icon{font-size:14px}.account-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;display:grid}.account-profile-card,.account-security-card{margin:0}.account-profile-head{border-bottom:1px solid #eef1f5;align-items:center;gap:12px;padding-bottom:20px;display:flex}.account-avatar{color:#fff;background:linear-gradient(145deg,#668fee,#33539e);border-radius:14px;place-items:center;width:48px;height:48px;font-size:21px;font-weight:700;display:grid}.account-profile-head h3{color:#30445f;margin:0 0 5px;font-size:16px}.account-profile-head p{color:#93a0b1;margin:0;font-size:11px}.account-profile-head .settings-badge{margin-left:auto}.account-form{grid-template-columns:1fr 1fr;gap:16px;margin:23px 0;display:grid}.account-form label{color:#77869a;flex-direction:column;gap:7px;font-size:11px;display:flex}.account-form input{color:var(--ink);background:#fff;border:1px solid #e2e8f0;border-radius:7px;outline:none;padding:10px 11px;font-size:12px}.account-form input:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.account-form input[readonly]{color:#8997aa;background:#f7f9fc}.account-security-card{align-self:start}.account-security-icon{color:#4777e8;background:#eaf0ff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.security-row{border-bottom:1px solid #eef1f5;justify-content:space-between;align-items:center;gap:14px;padding:17px 0;display:flex}.security-row:last-child{border-bottom:0}.security-row b,.security-row small{display:block}.security-row b{color:#42536b;font-size:12px}.security-row small{color:#9aa5b4;max-width:220px;margin-top:5px;font-size:10px;line-height:1.5}.security-state{color:#2e9772;font-size:11px}.account-layout-field{grid-column:1/-1}.account-layout-field small{color:#9aa5b4;font-size:9px;line-height:1.5}@media (width<=900px){.account-grid{grid-template-columns:1fr}}@media (width<=600px){.auth-card{padding:28px 22px 23px}.auth-shell{padding:16px}.account-form{grid-template-columns:1fr}.account-profile-head{flex-wrap:wrap;align-items:flex-start}.account-profile-head .settings-badge{margin-top:-7px;margin-left:60px}.security-row{flex-direction:column;align-items:flex-start}.security-row .secondary-button{width:100%}}@media (width<=760px){.auth-shell{background:linear-gradient(160deg,#eaf1fb 0%,#f7f9fc 46%,#e8eff8 100%);min-height:100dvh;padding:0;display:block;overflow-x:hidden}.auth-card{width:100%;min-height:100dvh;padding:calc(25px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));box-shadow:none;background:0 0;border:0;border-radius:0;position:relative}.auth-card:before{content:"";pointer-events:none;border:1px solid #4873c526;border-radius:50%;width:280px;height:280px;position:absolute;top:-116px;right:-94px;box-shadow:0 0 0 27px #4873c50b,0 0 0 54px #4873c507}.auth-brand{z-index:1;margin-bottom:24px;padding:2px 1px;position:relative}.auth-mark{border-radius:14px;width:44px;height:44px;font-size:23px;box-shadow:0 10px 24px #31539e2d}.auth-brand b{letter-spacing:.1px;font-size:17px}.auth-brand small{letter-spacing:1.4px;margin-top:3px;font-size:8px}.auth-portal-switch{z-index:1;background:#ffffffa8;border:1px solid #dbe5f2;border-radius:12px;gap:4px;margin:0 0 25px;padding:4px;position:relative;box-shadow:inset 0 1px #fffc}.auth-portal-switch button{border-radius:9px;min-height:42px;padding:9px 7px;font-size:12px;font-weight:600}.auth-portal-switch button.selected{box-shadow:0 6px 14px #294b8014}.auth-heading{z-index:1;padding:0 2px;position:relative}.auth-heading .detail-kicker{color:#5577a6;letter-spacing:1.2px;margin-bottom:8px;font-size:9px;display:block}.auth-heading h1{color:#1e395b;letter-spacing:-.9px;margin:0 0 8px;font-size:27px;line-height:1.18}.auth-heading p{color:#718198;max-width:31em;font-size:12px;line-height:1.65}.auth-form{z-index:1;background:#fffffff2;border:1px solid #dfe8f3;border-radius:18px;gap:16px;margin-top:26px;padding:20px 17px 17px;position:relative;box-shadow:0 14px 35px #17385c12,inset 0 1px #fff}.auth-form label{color:#536982;gap:8px;font-size:12px;font-weight:600}.auth-form input{color:#233d5d;background:#fbfdff;border-color:#d7e2ef;border-radius:11px;min-height:50px;padding:13px 14px;font-size:16px}.auth-form input::placeholder{color:#a3b0c0}.auth-form input:focus{border-color:#5d83dc;box-shadow:0 0 0 4px #4777e819}.password-input-wrap input{padding-right:48px}.password-toggle{border-radius:9px;width:32px;height:32px;right:10px}.auth-submit{letter-spacing:.2px;border-radius:11px;min-height:51px;margin-top:3px;font-size:14px;font-weight:700}.auth-link{margin-top:17px;padding:8px 12px;font-size:12px}.auth-message{border-radius:10px;padding:11px 12px;font-size:11px}.auth-note{z-index:1;color:#8090a4;margin-top:20px;padding:13px 5px 0;font-size:10px;line-height:1.65;position:relative}.auth-note .app-icon{margin-top:1px;font-size:14px}.auth-loading{place-content:center;min-height:100dvh;display:grid}}@media (width<=390px){.auth-card{padding-left:16px;padding-right:16px}.auth-form{padding:18px 14px 15px}.auth-heading h1{font-size:25px}}.auth-demo-fill{color:#4777e8;cursor:pointer;background:0 0;align-self:flex-start;padding:2px 0;font-size:11px}.auth-demo-fill:hover{color:#315fca;text-decoration:underline}@media (width<=760px){.auth-demo-fill{min-height:30px;padding:4px 2px;font-size:11px;font-weight:600}.auth-form input{appearance:none;-webkit-user-select:text;user-select:text;touch-action:manipulation}.page-body{padding-bottom:calc(128px + env(safe-area-inset-bottom))}.module-stack{gap:14px;padding-bottom:16px}.module-toolbar{border-radius:16px;min-height:70px;padding:16px 15px}.module-toolbar h2{letter-spacing:-.35px;font-size:19px}.module-toolbar p{max-width:23em;margin-top:5px;font-size:10px;line-height:1.5}.module-toolbar .secondary-button{white-space:nowrap;min-height:40px;padding:9px 12px}.account-grid{gap:14px}.account-profile-card,.account-security-card{border-radius:17px;padding:16px}.account-profile-head{align-items:flex-start;gap:10px;padding-bottom:16px}.account-profile-head>div{flex:1;min-width:0}.account-profile-head h3{margin-top:2px;font-size:15px}.account-profile-head p{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;overflow:hidden}.account-profile-head .settings-badge{flex-basis:auto;margin:0 0 0 58px;font-size:9px}.account-form{gap:13px;margin:18px 0}.account-form label{color:#5e718a;gap:7px;font-size:12px;font-weight:600}.account-form input{border-radius:10px;min-height:47px;padding:11px 12px;font-size:16px}.account-form input[readonly]{font-size:14px}.account-layout-field small{margin-top:1px;font-size:10px;line-height:1.55}.account-profile-card>.primary-button{border-radius:11px;width:100%;min-height:48px;font-size:13px}.account-security-card .panel-head h3{color:#30445f;margin:0 0 5px;font-size:15px}.account-security-card .panel-head p{max-width:23em;font-size:10px;line-height:1.55}.account-security-icon{flex:0 0 32px}.security-row{gap:10px;padding:15px 0}.security-row span{width:100%}.security-row b{font-size:12px}.security-row small{max-width:none;font-size:10px;line-height:1.55}.security-row .secondary-button{min-height:43px;font-size:11px}.security-state{font-size:11px}.room-management .room-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.room-management .room-summary-card{border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;min-height:94px;padding:11px}.room-management .summary-status-icon{border-radius:9px;width:30px;height:30px;font-size:14px}.room-management .room-summary-card small{margin-bottom:3px;font-size:9px}.room-management .room-summary-card b{font-size:14px}.room-management .room-filter-row:not(.secondary){gap:10px}.room-management .floor-tabs{scrollbar-width:none;width:100%;padding-bottom:2px;overflow-x:auto}.room-management .floor-tabs::-webkit-scrollbar{display:none}.room-management .floor-tabs button{flex:none;min-height:38px;padding:8px 13px}.room-management .room-search{width:100%;min-height:44px}.room-management .room-filter-row.secondary{gap:9px}.room-management .room-filter-row.secondary .filter-group{white-space:nowrap;scrollbar-width:none;width:100%;overflow-x:auto}.room-management .room-filter-row.secondary .filter-group::-webkit-scrollbar{display:none}.room-management .managed-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-management .managed-room-card{border-radius:14px;padding:11px}.room-management .managed-room-card .room-top{align-items:flex-start;gap:7px;margin-bottom:11px}.room-management .managed-room-card .room-card-status{flex-direction:column;align-items:flex-end;gap:5px}.room-management .managed-room-card .status{border-radius:7px;min-height:24px;padding:5px 7px;font-size:9px}.room-management .managed-room-card .stay-mode-badge{border-radius:6px;min-height:20px;padding:4px 6px;font-size:8px}.room-management .managed-room-card>b{font-size:11px}.room-management .managed-room-card .room-guest{min-height:16px;margin:6px 0 9px;font-size:9px}.room-management .managed-room-card .room-stay-dates{min-height:38px;margin-bottom:8px;font-size:8px}.room-management .managed-room-card .room-bottom strong{font-size:11px}.room-management .managed-actions{gap:5px;margin-top:10px;padding-top:9px}.room-management .managed-actions button{min-height:32px;font-size:9px}}@media (width<=390px){.room-management .room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.room-management .room-summary-card>span:not(.summary-status-icon){z-index:2;min-width:0;position:relative}.room-management .room-summary-card small,.room-management .room-summary-card b{white-space:nowrap}.room-management .room-summary-card .summary-status-icon{z-index:2;flex:none;position:relative}@media (width<=1100px) and (width>=761px){.room-management .room-summary-grid{gap:9px}.room-management .room-summary-card{gap:8px;min-width:0;padding:12px 10px}.room-management .room-summary-card>span:not(.summary-status-icon){flex:auto}}.business-mode-badge{color:#2e61c9;white-space:nowrap;background:#e3edff;border-radius:999px;align-items:center;min-height:18px;margin-left:8px;padding:2px 6px;font-size:9px;font-style:normal;font-weight:700;display:inline-flex}.business-mode-badge.historical{color:#a74c08;background:#ffdfb5}.cloud-sync-pill{color:#60748d;white-space:nowrap;background:#f7faff;border:1px solid #dce6f1;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:5px 9px;font-size:9px;font-weight:700;display:inline-flex}.cloud-sync-pill i{background:#8798ad;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #8798ad18}.cloud-sync-pill.synced{color:#28775d;background:#f0faf6;border-color:#cce9dd}.cloud-sync-pill.synced i{background:#48b88e;box-shadow:0 0 0 3px #48b88e20}.cloud-sync-pill.syncing,.cloud-sync-pill.loading{color:#315fca;background:#f2f6ff;border-color:#d4e0f8}.cloud-sync-pill.syncing i,.cloud-sync-pill.loading i{background:#5b84df;animation:1.1s ease-in-out infinite marketing-pulse}.cloud-sync-pill.offline,.cloud-sync-pill.conflict{color:#a45e12;background:#fff8ec;border-color:#f0ddbd}.cloud-sync-pill.offline i,.cloud-sync-pill.conflict i{background:#e5a03d}.status{letter-spacing:.1px;border:1px solid #0000;font-weight:800}.status.空房{color:#0b55d6;background:#dce9ff;border-color:#8db2ff}.status.入住{color:#087c50;background:#d5f8e7;border-color:#65d0a0}.status.预订{color:#6840c9;background:#ede2ff;border-color:#b49aef}.status.清扫{color:#a85b00;background:#fff0c7;border-color:#f1bc5b}.status.维修{color:#c02f56;background:#ffe0e8;border-color:#f08ca8}.status-icon-空房{color:#0b55d6;background:#bcd3ff}.status-icon-入住{color:#087c50;background:#a7edca}.status-icon-预订{color:#6840c9;background:#d7c1ff}.status-icon-清扫{color:#a85b00;background:#ffd989}.status-icon-维修{color:#c02f56;background:#ffc0d0}.room-card{transition:border-color .18s,box-shadow .18s,transform .18s}.room-card:hover{transform:translateY(-1px)}.room-state-空房{background:linear-gradient(145deg,#fff,#f1f6ff);border:2px solid #9bbcff;box-shadow:0 5px 14px #4777e81a}.room-state-入住{background:linear-gradient(145deg,#fff,#effcf6);border:2px solid #65d0a0;box-shadow:0 5px 14px #18a86b1c}.room-state-预订{background:linear-gradient(145deg,#fff,#f8f3ff);border:2px solid #b49aef;box-shadow:0 5px 14px #7b55d41c}.room-state-清扫{background:linear-gradient(145deg,#fff,#fff9e9);border:2px solid #f1bc5b;box-shadow:0 5px 14px #e29a291c}.room-state-维修{background:linear-gradient(145deg,#fff,#fff1f4);border:2px solid #f08ca8;box-shadow:0 5px 14px #d53b631c}.daily-report-panel{border-left:4px solid #356ee4}.daily-report-panel .report-kpis>div{background:#f4f7ff}.daily-status-strip{color:#56657a;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;font-size:10px;display:flex}.daily-status-strip span{background:#eef3fb;border-radius:999px;padding:6px 9px}.daily-status-strip em{color:#8794a7;margin-left:auto;font-style:normal}.monthly-report-panel{border-left:4px solid #19a577}.monthly-report-panel .report-kpis>div{background:#f1fbf7}.monthly-report-table th{color:#347f67;background:#f3fbf7}@media (width<=600px){.business-mode-badge{display:none}.daily-status-strip em{width:100%;margin-left:0}}.inline-record-form{grid-template-columns:1fr 1fr 1fr 1.4fr auto;align-items:center;gap:9px;display:grid}.inline-record-form input,.inline-record-form select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #e2e8f0;border-radius:7px;outline:none;padding:10px 11px;font-size:11px}.inline-record-form input:focus,.inline-record-form select:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.record-wide-field{min-width:0}.review-low-row{background:#fff8f5}.rating-badge,.finance-type{border-radius:999px;align-items:center;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.rating-5,.rating-4{color:#187654;background:#ddf7ea}.rating-3{color:#8a6617;background:#fff1c9}.rating-2,.rating-1{color:#bb3c4e;background:#ffe0e5}.finance-发票{color:#4d62a9;background:#e8edff}.finance-退款{color:#b44945;background:#ffe5e2}.finance-补收{color:#9b6618;background:#fff0c9}.finance-押金收取{color:#287d62;background:#ddf6eb}.finance-押金退还{color:#7954ad;background:#eee4ff}.review-compose,.shift-form{border-left:4px solid #4777e8}@media (width<=900px){.inline-record-form{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-record-form .record-wide-field{grid-column:1/-1}.inline-record-form .small-button{width:100%}}@media (width<=600px){.inline-record-form{grid-template-columns:1fr}.inline-record-form .record-wide-field{grid-column:auto}}.auth-portal-switch{background:#f3f6fb;border-radius:9px;grid-template-columns:1fr 1fr;gap:5px;margin:-12px 0 25px;padding:4px;display:grid}.auth-portal-switch button{color:#8492a7;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 8px;font-size:11px}.auth-portal-switch button.selected{color:#315fca;background:#fff;box-shadow:0 3px 9px #294b8012}.admin-auth-card{border-color:#c7d6f5}.admin-auth-card .auth-mark{background:linear-gradient(145deg,#7b63d8,#3e4d9b)}.admin-shell{min-height:100vh;color:var(--ink);background:#f4f7fb}.admin-topbar{color:#fff;background:#132f57;justify-content:space-between;align-items:center;min-height:72px;padding:0 34px;display:flex;box-shadow:0 5px 16px #1738631f}.admin-brand,.admin-user,.admin-brand>span:last-child{align-items:center;display:flex}.admin-brand{gap:11px}.admin-brand b,.admin-brand small{display:block}.admin-brand b{font-size:15px}.admin-brand small{color:#a9bee1;margin-top:4px;font-size:10px}.admin-brand .auth-mark{width:34px;height:34px;font-size:18px}.admin-user{color:#d7e4fa;gap:14px;font-size:11px}.admin-user .secondary-button{color:#d7e4fa;background:#ffffff0d;border-color:#fff5}.admin-body{width:min(1250px,100% - 48px);margin:0 auto;padding:36px 0 50px}.admin-heading{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.admin-heading h1{color:#273f62;margin:7px 0;font-size:24px}.admin-heading p{color:#8594a8;margin:0;font-size:11px}.admin-role-badge{color:#5b46a0;background:#eae3ff;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.admin-metrics{margin-bottom:18px}.admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;display:grid}.admin-hotel-list,.admin-edit-panel{margin:0}.admin-hotel-items{flex-direction:column;gap:6px;margin-top:15px;display:flex}.admin-hotel-item{color:#53647c;text-align:left;cursor:pointer;background:#fff;border:1px solid #edf1f6;border-radius:8px;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;width:100%;padding:10px;display:grid}.admin-hotel-item:hover,.admin-hotel-item.selected{background:#f4f7ff;border-color:#88a9ee}.admin-hotel-item .hotel-avatar{width:30px;height:30px;font-size:12px}.admin-hotel-item b,.admin-hotel-item small{display:block}.admin-hotel-item b{color:#354a67;font-size:11px}.admin-hotel-item small{color:#9ba7b7;margin-top:4px;font-size:9px}.admin-hotel-item em{border-radius:999px;padding:4px 6px;font-size:9px;font-style:normal}.admin-hotel-item em.active{color:#21815f;background:#ddf6eb}.admin-hotel-item em.inactive{color:#aa5a54;background:#ffe9e5}.admin-form{grid-template-columns:1fr 1fr;gap:15px;margin:21px 0;display:grid}.admin-form label{color:#77869a;flex-direction:column;gap:7px;font-size:11px;display:flex}.admin-form input,.admin-form select,.admin-form textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #e2e8f0;border-radius:7px;outline:none;padding:10px 11px;font-size:12px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.admin-form small{color:#9aa7b7;font-size:9px;line-height:1.5}.admin-layout-field{grid-column:1/-1}.admin-actions{gap:9px;display:flex}.admin-security-note{color:#63758f;align-items:flex-start;gap:12px;margin-top:18px;display:flex}.admin-security-note>.app-icon{color:#4777e8;background:#e9efff;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.admin-security-note b,.admin-security-note p{display:block}.admin-security-note b{color:#425a7a;font-size:12px}.admin-security-note p{margin:6px 0 0;font-size:10px;line-height:1.7}.admin-security-note code{color:#574798;background:#eee8ff;border-radius:4px;padding:2px 4px;font-family:monospace}@media (width<=800px){.admin-topbar{padding:0 18px}.admin-body{width:min(100% - 28px,700px);padding-top:24px}.admin-grid{grid-template-columns:1fr}.admin-heading{flex-direction:column;align-items:flex-start;gap:12px}.admin-role-badge{align-self:flex-start}}@media (width<=600px){.admin-user>span{display:none}.admin-form{grid-template-columns:1fr}.admin-layout-field{grid-column:auto}.admin-metrics{grid-template-columns:1fr 1fr}}.marketing-demo-card{background:#ffffff0d;border:1px solid #d9b87855;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;max-width:560px;margin-top:26px;padding:16px 18px;display:grid;box-shadow:0 14px 35px #06121d33}.marketing-demo-card b,.marketing-demo-card p{display:block}.marketing-demo-label{color:#e2bd7d;letter-spacing:1.4px;margin-bottom:6px;font-size:8px;font-weight:700;display:block}.marketing-demo-card b{color:#f7f4ed;font-size:14px}.marketing-demo-card p{color:#aebbc3;grid-column:1/-1;margin:0;font-size:10px;line-height:1.6}.marketing-demo-credentials{color:#aebbc3;flex-direction:column;justify-content:center;gap:6px;min-width:155px;font-size:9px;display:flex}.marketing-demo-credentials strong{color:#f7f4ed;margin-left:5px;font-family:monospace;font-size:10px}.marketing-demo-card .marketing-outline-button{color:#e2bd7d;background:#ffffff08;border-color:#d9b87888;grid-column:1/-1;justify-self:start;padding:9px 12px;font-size:10px}.marketing-demo-card .marketing-outline-button:hover{color:#182635;background:#e2bd7d}.admin-hotel-item em.demo{color:#7a5a20;background:#fff0c9}@media (width<=600px){.marketing-demo-card{grid-template-columns:1fr}.marketing-demo-credentials{min-width:0}.marketing-demo-card .marketing-outline-button{grid-column:auto}}.merchant-info-panel{margin:0}.merchant-info-banner{border-bottom:1px solid #eef1f5;align-items:center;gap:12px;padding-bottom:21px;display:flex}.merchant-logo{color:#4777e8;background:#e9efff;border-radius:13px;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.merchant-info-banner h2{color:#30445f;margin:0 0 5px;font-size:17px}.merchant-info-banner p{color:#94a1b2;margin:0;font-size:10px}.merchant-info-banner .settings-badge{margin-left:auto}.merchant-form{margin-top:22px}.merchant-form-section{border-bottom:1px solid #eef1f5;margin-bottom:23px;padding:0 0 23px}.merchant-form-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.merchant-form-section h3{color:#42536b;margin:0 0 15px;font-size:13px}.merchant-form-section h3 small{color:#a0acbb;margin-left:7px;font-size:9px;font-weight:400}.merchant-form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.merchant-form-grid label{color:#77869a;flex-direction:column;gap:7px;font-size:11px;display:flex}.merchant-form-grid input,.merchant-form-grid select,.merchant-form-grid textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #e2e8f0;border-radius:7px;outline:none;padding:10px 11px;font-size:12px}.merchant-form-grid input:focus,.merchant-form-grid select:focus,.merchant-form-grid textarea:focus{border-color:#82a4ee;box-shadow:0 0 0 3px #4777e815}.merchant-full-field{grid-column:1/-1}.merchant-info-tip{color:#7f8fa4;background:#f7f9fc;border-radius:7px;align-items:flex-start;gap:8px;margin-top:22px;padding:11px 12px;font-size:10px;line-height:1.6;display:flex}.merchant-info-tip .app-icon{color:#4777e8}.account-settings-panel{margin:0}.account-settings-row{align-items:center;gap:12px;padding:14px 0 5px;display:flex}.account-settings-row>div{margin-right:auto}.account-settings-row b,.account-settings-row small{display:block}.account-settings-row b{color:#3b4e68;font-size:12px}.account-settings-row small{color:#93a0b1;margin-top:4px;font-size:10px}.account-settings-row .account-avatar{width:38px;height:38px;font-size:16px}.account-settings-row .secondary-button{white-space:nowrap}@media (width<=600px){.merchant-form-grid{grid-template-columns:1fr}.merchant-full-field{grid-column:auto}.merchant-info-banner{flex-wrap:wrap;align-items:flex-start}.merchant-info-banner .settings-badge{margin-top:-4px;margin-left:58px}.account-settings-row{flex-wrap:wrap;align-items:flex-start}.account-settings-row>div{min-width:calc(100% - 55px)}.account-settings-row .secondary-button{flex:1}}.marketing-page{color:#f7f4ed;min-height:100vh;font-family:var(--font-geist-sans),"PingFang SC","Microsoft YaHei",sans-serif;background:#0b1c2b;overflow:hidden}.marketing-nav{z-index:5;justify-content:space-between;align-items:center;width:min(1240px,100% - 72px);height:92px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.marketing-brand{color:#f7f4ed;align-items:center;gap:11px;text-decoration:none;display:flex}.marketing-brand-mark{color:#e6c88f;background:#e6c88f12;border:1px solid #d9b87866;border-radius:12px;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.marketing-brand b,.marketing-brand small{display:block}.marketing-brand b{letter-spacing:1px;font-family:Georgia,Songti SC,serif;font-size:17px;font-weight:500}.marketing-brand small{color:#9caebb;letter-spacing:1.6px;margin-top:4px;font-size:7px}.marketing-nav-links{gap:34px;margin-left:auto;margin-right:37px;display:flex}.marketing-nav-links a{color:#b4c0c7;font-size:11px;text-decoration:none;transition:color .2s}.marketing-nav-links a:hover{color:#e6c88f}.marketing-login-button{color:#ead29f;cursor:pointer;background:0 0;border:1px solid #d9b87866;border-radius:999px;padding:10px 15px;font-size:11px}.marketing-login-button span{margin-left:7px;font-size:14px}.marketing-hero{background:radial-gradient(circle at 79% 45%,#26445b 0,#142c40 27%,#0b1c2b 62%);grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);align-items:center;min-height:760px;padding:145px max(36px,50vw - 620px) 85px;display:grid;position:relative}.marketing-hero:after{content:"";background:linear-gradient(90deg,#0000,#d9b87855,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.marketing-hero-copy{z-index:2;max-width:560px;position:relative}.marketing-eyebrow{color:#d4af70;letter-spacing:2.4px;align-items:center;gap:9px;font-size:9px;font-weight:700;display:flex}.marketing-eyebrow i{background:#d4af70;width:21px;height:1px}.marketing-hero h1{color:#f7f4ed;letter-spacing:-2.5px;margin:24px 0 19px;font-family:Georgia,Songti SC,serif;font-size:clamp(46px,5.2vw,75px);font-weight:400;line-height:1.08}.marketing-hero h1 em,.marketing-section h2 em,.workflow-copy h2 em,.why-heading h2 em,.marketing-cta h2 em{color:#e2bd7d;font-style:normal}.marketing-hero-copy>p{color:#aebbc3;max-width:455px;margin:0;font-size:13px;line-height:2}.marketing-hero-actions{align-items:center;gap:24px;margin-top:33px;display:flex}.marketing-primary-button{color:#182635;cursor:pointer;background:#dfbb7e;border:0;border-radius:4px;align-items:center;gap:22px;padding:14px 20px 14px 22px;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 24px #d9b8781f}.marketing-primary-button:hover{transform:translateY(-2px);box-shadow:0 15px 30px #d9b8783b}.marketing-primary-button span{font-size:18px;font-weight:400}.marketing-quiet-link{color:#bbc5c9;font-size:11px;text-decoration:none}.marketing-quiet-link span{color:#d9b878;margin-left:10px}.marketing-proof{gap:34px;margin-top:65px;display:flex}.marketing-proof div{flex-direction:column;gap:5px;display:flex}.marketing-proof strong{color:#f1d79e;font-family:Georgia,serif;font-size:22px;font-weight:400}.marketing-proof span{color:#8c9da7;font-size:9px}.marketing-hero-visual{z-index:1;min-height:500px;position:relative}.hero-glow{filter:blur(34px);background:#6c9bb91f;border-radius:50%;width:440px;height:440px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-orbit{border:1px solid #d9b87826;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-17deg)}.orbit-one{width:550px;height:310px}.orbit-two{width:480px;height:250px;transform:translate(-50%,-50%)rotate(35deg)}.hero-dashboard{background:#f8fafc;border:1px solid #ffffff1c;border-radius:13px;width:min(550px,92%);padding:18px;position:absolute;top:63px;left:50%;transform:translate(-47%)rotate(2deg);box-shadow:0 28px 70px #020c146e,0 0 0 10px #ffffff08}.hero-dashboard-top,.hero-dashboard-title,.hero-room-head{justify-content:space-between;align-items:center;display:flex}.hero-dashboard-top{border-bottom:1px solid #e7edf2;padding-bottom:16px}.hero-mini-brand{color:#213e68;font-size:10px;font-weight:700}.hero-mini-brand .app-icon{color:#527ce3;margin-right:5px}.hero-live-dot{color:#3b9c7a;font-size:8px}.hero-dashboard-title{padding:19px 2px 17px}.hero-dashboard-title small,.hero-dashboard-title b{display:block}.hero-dashboard-title small{color:#a0aab6;margin-bottom:7px;font-size:8px}.hero-dashboard-title b{color:#304763;font-size:14px}.hero-date{color:#9ba8b6;font-size:8px}.hero-metrics{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.hero-metrics>div{background:#f1f5fa;border-radius:7px;padding:13px}.hero-metrics span,.hero-metrics strong,.hero-metrics em{display:block}.hero-metrics span{color:#8e9aa8;font-size:8px}.hero-metrics strong{color:#233d5e;margin:8px 0 7px;font-family:Georgia,serif;font-size:18px;font-weight:500}.hero-metrics em{color:#4b7be3;font-size:8px;font-style:normal}.hero-metrics em.mint{color:#309676}.hero-metrics em.gold{color:#b68236}.hero-room-panel{border:1px solid #e9eef3;border-radius:7px;margin-top:11px;padding:13px}.hero-room-head{margin-bottom:11px}.hero-room-head b{color:#41556e;font-size:10px}.hero-room-head span{color:#9da8b5;font-size:8px}.hero-room-grid{grid-template-columns:repeat(8,1fr);gap:6px;display:grid}.hero-room-grid i{border:1px solid;border-radius:5px;place-items:center;min-height:43px;font-size:9px;font-style:normal;font-weight:700;line-height:1.4;display:grid}.hero-room-grid small{font-size:7px;font-weight:400}.hero-room-grid .occupied{color:#168261;background:#e8f8f1;border-color:#8ed2b8}.hero-room-grid .vacant{color:#4777d4;background:#eef3ff;border-color:#a4bdf2}.hero-room-grid .cleaning{color:#ae7626;background:#fff5df;border-color:#e8c37e}.hero-room-grid .reserved{color:#7856bb;background:#f3edff;border-color:#c4a9ee}.hero-float-card{z-index:3;background:#173148e8;border:1px solid #ffffff1e;border-radius:9px;align-items:center;gap:9px;padding:11px 13px;display:flex;position:absolute;box-shadow:0 15px 35px #0616224f}.hero-float-card small,.hero-float-card b{display:block}.hero-float-card small{color:#9daeb8;margin-bottom:4px;font-size:8px}.hero-float-card b{color:#f5dfaa;font-family:Georgia,serif;font-size:15px;font-weight:400}.float-icon,.float-check{color:#e2bd7d;background:#d9b8781c;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.hero-float-card em{color:#78c7a8;margin-left:6px;font-size:9px;font-style:normal}.float-revenue{top:50px;right:8px}.float-checkin{bottom:55px;left:13px}.float-check{color:#8fb4ff}.float-avatars{color:#e1c484;letter-spacing:-5px;margin-left:9px;font-size:14px}.marketing-trust{color:#8b9aa4;letter-spacing:.5px;background:#102536;justify-content:center;align-items:center;gap:22px;min-height:82px;font-size:9px;display:flex}.marketing-trust b{color:#d1b071;font-weight:500}.marketing-trust i{background:#d9b878;border-radius:50%;width:3px;height:3px}.marketing-section{width:min(1170px,100% - 72px);margin:0 auto;padding:120px 0}.features-section,.why-section{color:#203b55;background:#f7f4ec}.marketing-page>.features-section{width:100%;padding-left:max(36px,50% - 585px);padding-right:max(36px,50% - 585px)}.marketing-section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:65px;margin-bottom:48px;display:grid}.marketing-section-heading h2,.workflow-copy h2,.why-heading h2,.marketing-cta h2{color:#213c55;letter-spacing:-1.2px;margin:17px 0 0;font-family:Georgia,Songti SC,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.18}.marketing-section-heading p{color:#82909a;max-width:395px;margin:0 0 3px;font-size:12px;line-height:1.9}.feature-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.feature-card{background:#fbfaf7;border:1px solid #e6e1d8;border-radius:4px;min-height:295px;padding:28px}.feature-card-dark{color:#f2f1ec;background:#132e42;border-color:#16344b}.feature-card-dark h3{color:#fff}.feature-card-dark p{color:#a8bac2}.feature-card-dark .feature-number{color:#d9b878}.feature-number{color:#a6a097;letter-spacing:1px;font-size:10px;display:block}.feature-icon{color:#bd8e44;background:#eadfc8;border-radius:11px;place-items:center;width:40px;height:40px;margin:38px 0 18px;font-size:18px;display:grid}.feature-card-dark .feature-icon{color:#e8ca91;background:#ffffff14}.feature-card h3{color:#213f59;margin:0 0 10px;font-size:16px;font-weight:600}.feature-card p{color:#84919b;min-height:55px;margin:0;font-size:11px;line-height:1.8}.feature-card a{color:#b27e35;margin-top:23px;font-size:10px;text-decoration:none;display:inline-block}.feature-card a span{margin-left:8px}.workflow-section{color:#e8edf0;background:#0e2537;grid-template-columns:.8fr 1.2fr;align-items:center;gap:120px;display:grid}.workflow-section .marketing-eyebrow{color:#d9b878}.workflow-copy h2{color:#f5f3ed}.workflow-copy p{color:#a7b5bc;max-width:380px;margin:23px 0 30px;font-size:12px;line-height:1.9}.marketing-outline-button{color:#e2c68b;cursor:pointer;background:0 0;border:1px solid #d9b87866;border-radius:3px;padding:12px 16px;font-size:11px}.marketing-outline-button span{margin-left:20px;font-size:16px}.workflow-steps{border-top:1px solid #ffffff20}.workflow-step{border-bottom:1px solid #ffffff20;grid-template-columns:45px 1fr 30px;align-items:center;gap:15px;padding:21px 0;display:grid}.workflow-step>span{color:#83949e;font-family:Georgia,serif;font-size:15px}.workflow-step b{color:#dce4e7;font-size:13px;font-weight:500;display:block}.workflow-step p{color:#879aa4;margin:5px 0 0;font-size:10px}.workflow-step i{color:#687e89;text-align:right;font-size:17px;font-style:normal}.workflow-step.active{background:#d9b8780c;border-color:#d9b87888;padding-left:15px;padding-right:15px}.workflow-step.active>span,.workflow-step.active i{color:#e0bd79}.why-section{grid-template-columns:1fr 1.2fr;gap:100px;display:grid}.why-heading h2{color:#213c55}.why-list{grid-template-columns:1fr 1fr;gap:0 35px;display:grid}.why-list>div{border-bottom:1px solid #e5dfd5;padding:12px 0 28px}.why-list>div:nth-child(n+3){border-bottom:0;padding-top:28px}.why-list span{color:#b88743;margin-bottom:17px;font-family:Georgia,serif;font-size:22px;display:block}.why-list b{color:#34526c;font-size:13px}.why-list p{color:#8d979d;margin:9px 0 0;font-size:10px;line-height:1.8}.marketing-cta{background:#e3c488;justify-content:space-between;align-items:center;padding:86px max(36px,50% - 585px);display:flex}.marketing-cta .marketing-eyebrow{color:#6f542b}.marketing-cta .marketing-eyebrow i{background:#6f542b}.marketing-cta h2{color:#263b4c}.marketing-cta h2 em{color:#704f21}.marketing-cta .marketing-primary-button{color:#f0e7d4;background:#16324a}.marketing-footer{color:#7f919d;background:#0b1c2b;justify-content:space-between;align-items:center;padding:25px max(36px,50% - 585px);font-size:9px;display:flex}.marketing-footer button{color:#d8b879;cursor:pointer;background:0 0;font-size:9px}@keyframes marketing-float{0%,to{transform:translate(-47%)rotate(2deg)translateY(0)}50%{transform:translate(-47%)rotate(2deg)translateY(-9px)}}@keyframes marketing-glow{0%,to{opacity:.65;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}}@keyframes marketing-orbit-one{0%{transform:translate(-50%,-50%)rotate(-17deg)}to{transform:translate(-50%,-50%)rotate(343deg)}}@keyframes marketing-orbit-two{0%{transform:translate(-50%,-50%)rotate(35deg)}to{transform:translate(-50%,-50%)rotate(-325deg)}}@keyframes marketing-pulse{0%,to{text-shadow:0 0 #65d0a000}50%{text-shadow:0 0 8px #65d0a0}}@keyframes marketing-sheen{0%{transform:translate(-130%)}55%,to{transform:translate(130%)}}.hero-glow{animation:5s ease-in-out infinite marketing-glow}.orbit-one{animation:28s linear infinite marketing-orbit-one}.orbit-two{animation:34s linear infinite marketing-orbit-two}.hero-dashboard{animation:6s ease-in-out infinite marketing-float}.hero-live-dot{animation:2s ease-in-out infinite marketing-pulse}.hero-float-card{animation:6s ease-in-out 1s infinite marketing-float}.float-checkin{animation-delay:2s}.hero-room-grid i{transition:transform .22s,filter .22s}.hero-room-grid i:hover{filter:saturate(1.25);transform:translateY(-3px)}.feature-card{transition:transform .28s,box-shadow .28s,border-color .28s;position:relative;overflow:hidden}.feature-card:after{content:"";background:linear-gradient(105deg,#0000,#fff5,#0000);width:55%;position:absolute;top:0;bottom:0;left:0;transform:translate(-130%)}.feature-card:hover{border-color:#d0ac6e;transform:translateY(-7px);box-shadow:0 18px 38px #2b41531c}.feature-card:hover:after{animation:1.1s marketing-sheen}.feature-card-dark:hover{box-shadow:0 18px 38px #061b2a66}.workflow-step{transition:background .25s,padding .25s,border-color .25s}.workflow-step:hover{background:#d9b8780b;padding-left:15px;padding-right:15px}.marketing-trust b{transition:color .2s,transform .2s}.marketing-trust b:hover{color:#f0d69a;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.hero-glow,.orbit-one,.orbit-two,.hero-dashboard,.hero-live-dot,.hero-float-card{animation:none}.feature-card,.workflow-step,.hero-room-grid i{transition:none}}@media (width<=900px){.marketing-nav{width:calc(100% - 36px)}.marketing-nav-links{display:none}.marketing-hero{grid-template-columns:1fr;min-height:auto;padding-top:150px}.marketing-hero-copy{max-width:650px}.marketing-hero-visual{min-height:510px;margin-top:35px}.marketing-section-heading,.workflow-section,.why-section{grid-template-columns:1fr;gap:40px}.workflow-section{gap:55px}.why-list{max-width:700px}.marketing-cta{gap:35px}}@media (width<=600px){.marketing-nav{height:76px}.marketing-login-button{padding:8px 11px}.marketing-hero{padding:122px 24px 58px}.marketing-hero h1{letter-spacing:-1.5px;font-size:44px}.marketing-hero-copy>p{font-size:12px}.marketing-proof{gap:16px;margin-top:45px}.marketing-proof strong{font-size:18px}.marketing-proof span{font-size:8px}.marketing-hero-visual{min-height:360px;margin-left:-20px;margin-right:-20px}.hero-dashboard{width:92%;padding:11px;top:40px}.hero-dashboard-title{padding:13px 2px 11px}.hero-dashboard-title b{font-size:11px}.hero-metrics>div{padding:8px}.hero-metrics strong{font-size:13px}.hero-room-grid{gap:3px}.hero-room-grid i{min-height:33px;font-size:7px}.hero-room-grid small{font-size:6px}.hero-float-card{transform:scale(.82)}.float-revenue{top:18px;right:-16px}.float-checkin{bottom:16px;left:-15px}.marketing-trust{text-align:center;flex-wrap:wrap;gap:9px 14px;padding:18px 25px}.marketing-trust i{display:none}.marketing-section,.marketing-page>.features-section{width:100%;padding:78px 24px}.marketing-section-heading{gap:23px;margin-bottom:30px}.marketing-section-heading h2,.workflow-copy h2,.why-heading h2,.marketing-cta h2{font-size:35px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0;padding:24px}.feature-icon{margin-top:28px}.feature-card p{min-height:auto}.workflow-section{padding-top:78px;padding-bottom:78px}.workflow-step{grid-template-columns:32px 1fr 20px;gap:8px}.why-list{grid-template-columns:1fr}.why-list>div:nth-child(n+3){padding-top:12px}.marketing-cta{flex-direction:column;align-items:flex-start;padding:70px 24px}.marketing-footer{flex-direction:column;align-items:flex-start;gap:12px;padding:24px}}.sidebar{background:linear-gradient(165deg,#102747 0%,#132d53 52%,#0d213d 100%);position:relative;overflow:hidden;box-shadow:12px 0 32px #18345b12}.sidebar:after{content:"";pointer-events:none;border:1px solid #ffffff0d;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-70px;right:-80px;box-shadow:0 0 0 25px #ffffff04,0 0 0 50px #ffffff03}.brand{z-index:1}.brand-mark{color:#d9bd7e;filter:drop-shadow(0 5px 9px #e7c57d33)}.hotel-switch{background:linear-gradient(135deg,#1b3c68,#193254);border:1px solid #ffffff10;box-shadow:inset 0 1px #ffffff0c,0 8px 20px #06172c26}.nav-subitem:hover,.nav-subitem.active{background:#315987}.user-card{z-index:1;position:relative}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;box-shadow:0 1px #fff,0 8px 24px #18345b08}.date-button{transition:border-color .18s,background .18s,box-shadow .18s}.date-button:hover{background:#f2f6ff;border-color:#b5c9ed;box-shadow:0 5px 14px #4777e812}.page-body{padding-top:39px}.page-heading h1{color:#203754;font-weight:700}.page-heading h1 span{animation:2.8s ease-in-out infinite marketing-pulse;display:inline-block}.panel,.metric{transition:box-shadow .22s,border-color .22s,transform .22s;box-shadow:0 7px 23px #2442670b}.panel:hover{border-color:#dce5f1;box-shadow:0 12px 30px #24426712}.metric{background:linear-gradient(145deg,#fff,#fbfdff);border-color:#e2eaf3}.metric:hover{transform:translateY(-3px);box-shadow:0 13px 28px #24426716}.metric-icon{box-shadow:inset 0 0 0 1px #ffffffa8,0 5px 12px #385d9e12}.primary-button{background:linear-gradient(135deg,#5684ec,#3f69d4);transition:transform .18s,box-shadow .18s,filter .18s;box-shadow:0 8px 18px #4777e82e}.primary-button:hover{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 11px 22px #4777e83b}.secondary-button,.small-button{transition:background .18s,border-color .18s,transform .18s}.secondary-button:hover,.small-button:hover{transform:translateY(-1px)}.panel-head h2{color:#294562;letter-spacing:-.2px}.panel-head p{color:#8d9bad}.room-panel{background:linear-gradient(#fff,#fbfdff)}.room-card{border-radius:12px;position:relative;overflow:hidden}.room-card:after{content:"";pointer-events:none;border:1px solid #ffffff70;border-radius:50%;width:88px;height:88px;position:absolute;bottom:-28px;right:-24px}.room-card:hover{transform:translateY(-3px);box-shadow:0 11px 24px #2442671c}.room-id{letter-spacing:-.5px;font-size:18px}.room-bottom strong{color:#284361}.room-bottom button{transition:color .18s,background .18s}.room-bottom button:hover{color:#315fca;background:#edf3ff;border-radius:5px}.status{box-shadow:inset 0 1px #fff8}.status-icon-wrap{box-shadow:inset 0 1px #fff9}.occupancy-panel .donut{box-shadow:0 0 0 9px #fff,0 0 0 10px #e6edf7,0 12px 24px #4777e814}.channel-card,.report-card,.quick-actions button{transition:transform .22s,box-shadow .22s,border-color .22s}.channel-card:hover,.report-card:hover,.quick-actions button:hover{transform:translateY(-3px);box-shadow:0 10px 22px #24426712}.table-wrap{border-radius:9px}.table-wrap table tbody tr{transition:background .16s}.table-wrap table tbody tr:hover{background:#f5f8ff}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 28px #10284733}@media (width<=760px){.sidebar{box-shadow:5px 0 18px #18345b18}.page-body{padding-top:27px}.metric:hover,.panel:hover{transform:none}.room-card:hover{transform:translateY(-2px)}}.identity-reader-panel{background:linear-gradient(145deg,#f8faff,#f3f6fb);border:1px solid #e0e7f1;border-radius:11px;padding:14px}.identity-reader-panel.reader-ready{background:linear-gradient(145deg,#f7faff,#edf3ff);border-color:#b9cdf3}.identity-reader-panel.reader-complete{background:linear-gradient(145deg,#f4fcf8,#eaf8f1);border-color:#9fd6bd}.identity-reader-head{align-items:center;gap:10px;display:flex}.identity-reader-head>span:nth-child(2){flex:1;min-width:0}.identity-reader-head b,.identity-reader-head small{display:block}.identity-reader-head b{color:#2d4866;font-size:12px}.identity-reader-head small{color:#7e8da0;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.identity-reader-icon{color:#4976d7;background:#e4edff;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.identity-reader-panel.reader-complete .identity-reader-icon{color:#23815f;background:#d9f2e7}.identity-reader-head button{min-width:98px;padding:8px 10px}.identity-reader-head button:disabled{color:#a5afbd;box-shadow:none;cursor:not-allowed;background:#eef1f5;border-color:#e2e6eb;transform:none}.dual-sync-track{grid-template-columns:1fr 18px 1fr 18px 1.25fr;align-items:center;gap:4px;margin-top:12px;display:grid}.dual-sync-track>span{background:#fff;border:1px solid #e0e6ef;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:22px 1fr;align-items:center;column-gap:7px;min-width:0;padding:8px;display:grid}.dual-sync-track>span i{color:#7f8ca0;background:#edf1f6;border-radius:50%;grid-row:1/3;place-items:center;width:22px;height:22px;font-size:9px;font-style:normal;font-weight:700;display:grid}.dual-sync-track>span b{color:#52667e;font-size:9px}.dual-sync-track>span small{color:#96a1af;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.dual-sync-track>span.active{border-color:#abc2f0;box-shadow:0 4px 12px #426dc314}.dual-sync-track>span.active i{color:#fff;background:#527de0}.dual-sync-track>span.done{border-color:#9dd3ba}.dual-sync-track>span.done i{color:#fff;background:#2d9871}.dual-sync-track>em{color:#9eabba;text-align:center;font-size:13px;font-style:normal}.identity-card-summary{color:#39624f;background:#dff3e9;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:9px 10px;display:flex}.identity-card-summary b,.identity-card-summary small{display:block}.identity-card-summary b{font-size:11px}.identity-card-summary small{color:#6f907f;margin-top:2px;font-size:9px}.identity-card-summary strong{color:#2f7457;letter-spacing:.4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.police-receipt-confirm{color:#765b28;cursor:pointer;background:#fff9ed;border:1px solid #f0d8a8;border-radius:8px;align-items:flex-start;gap:9px;margin-top:9px;padding:9px 10px;display:flex}.police-receipt-confirm input{accent-color:#2d9871;flex:none;width:15px;height:15px;margin-top:1px}.police-receipt-confirm span,.police-receipt-confirm b,.police-receipt-confirm small{display:block}.police-receipt-confirm b{font-size:10px}.police-receipt-confirm small{color:#9a845c;margin-top:2px;font-size:8px;line-height:1.45}.police-receipt-confirm.confirmed{color:#2f7457;background:#effaf5;border-color:#9dd3ba}.police-receipt-confirm.confirmed small{color:#6f907f}@media (width<=760px){.dual-sync-track{grid-template-columns:1fr}.dual-sync-track>em{transform:rotate(90deg)}.identity-reader-head{flex-wrap:wrap;align-items:flex-start}.identity-reader-head>span:nth-child(2){min-width:180px}.identity-reader-head button{width:100%}}.page-heading{padding-left:16px;position:relative}.page-heading:before{content:"";background:linear-gradient(#dcb875,#6d93e8);border-radius:3px;width:3px;position:absolute;top:3px;bottom:3px;left:0}.page-heading:after{content:"";background:linear-gradient(90deg,#e0e8f3,#0000);height:1px;position:absolute;bottom:-13px;left:16px;right:0}.page-heading .primary-button{border-radius:9px}.panel{overflow:hidden}.panel-head{align-items:flex-start}.panel-head h2{letter-spacing:-.3px}.panel-head h2:before{content:"";background:#d9b878;border-radius:50%;width:5px;height:5px;margin:0 8px 3px 0;display:inline-block}.filter-group{background:#f6f8fc;border:1px solid #e8eef6;border-radius:9px;gap:5px;padding:4px;display:flex}.filter-group button{color:#8290a2;background:0 0;border-radius:6px;padding:7px 10px;font-size:10px;transition:color .18s,background .18s,box-shadow .18s}.filter-group button:hover{color:#315fca;background:#edf3ff}.filter-group button.selected{color:#315fca;background:#fff;box-shadow:0 3px 9px #26487514}.module-tabs{background:#f6f8fb;border:1px solid #e7edf5;border-radius:9px;gap:5px;padding:4px}.module-tabs button{border-radius:6px;transition:color .18s,background .18s,transform .18s}.module-tabs button:hover{color:#315fca;transform:translateY(-1px)}.module-tabs button.selected{color:#315fca;background:#fff;box-shadow:0 3px 9px #26487514}.order-tools input,.room-search{background:#fbfdff;border-color:#e3eaf3;transition:border-color .18s,box-shadow .18s,background .18s}.order-tools input:focus,.room-search:focus-within{background:#fff;border-color:#86a8ef;box-shadow:0 0 0 4px #4777e812}.secondary-button{color:#5d7190;background:#fff;border:1px solid #dce5f0;border-radius:8px}.secondary-button:hover{color:#315fca;background:#f4f7ff;border-color:#a9c0ed}.settings-badge,.business-mode-badge{box-shadow:inset 0 1px #fffa}.table-wrap table thead th{color:#7a8ba0;letter-spacing:.3px;background:#f8faff;font-size:10px}.table-wrap table tbody td{color:#52647c}.empty-inline{background:linear-gradient(135deg,#fbfdff,#f7faff);border:1px dashed #dce5f0;border-radius:9px;place-items:center;min-height:110px;display:grid}.room-summary-card,.report-card,.account-profile-card,.account-security-card{border-color:#e2eaf3;box-shadow:0 6px 18px #24426709}.room-summary-card:hover,.report-card:hover{border-color:#adc4ef}.quick-actions button{background:linear-gradient(145deg,#fff,#f8faff);border-color:#e1e9f3}.quick-actions button:hover{background:#f4f8ff;border-color:#9bb7f0}.room-picker-card,.stay-mode-switch button,.check-in-room-summary{box-shadow:0 4px 12px #24426708}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.order-modal,.check-in-modal,.room-detail{border:1px solid #e0e8f2;box-shadow:0 24px 70px #1028472e}.auth-shell{position:relative;overflow:hidden}.auth-shell:before{content:"";border:1px solid #82a4ee25;border-radius:50%;width:380px;height:380px;position:absolute;top:-150px;right:-100px;box-shadow:0 0 0 28px #82a4ee0c,0 0 0 56px #82a4ee08}.auth-card{z-index:1;position:relative}.auth-mark{box-shadow:0 9px 22px #31539e38,inset 0 1px #fff5}.auth-submit{background:linear-gradient(135deg,#5b86ed,#3b64cf)}.auth-form input{background:#fcfdff}.auth-form input:hover{border-color:#bdcfea}.cockpit-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.cockpit-metrics .metric{min-height:106px;padding:16px 13px}.cockpit-metrics .metric-icon{width:31px;height:31px;margin-right:9px;font-size:14px}.cockpit-metrics .metric-copy span{margin:1px 0 5px;font-size:10px}.cockpit-metrics .metric-copy strong{white-space:nowrap;font-size:20px}.cockpit-metrics .metric-copy em{margin-top:7px;font-size:9px}.cockpit-metrics .spark{display:none}.cockpit-grid{grid-template-columns:minmax(0,1.85fr) minmax(260px,.8fr);gap:18px;margin-bottom:18px;display:grid}.cockpit-room-panel,.cockpit-work-panel{padding:19px}.cockpit-room-filters{justify-content:space-between;align-items:center;gap:12px;margin:17px 0 14px;display:flex}.cockpit-room-legend{color:#75849a;flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:9px;display:flex}.cockpit-room-legend span:before{content:"";background:#dce4ed;border-radius:50%;width:7px;height:7px;margin:0 4px 1px 0;display:inline-block}.cockpit-room-legend .vacant:before{background:#79a9ff}.cockpit-room-legend .occupied:before{background:#55c98c}.cockpit-room-legend .reserved:before{background:#a48aed}.cockpit-room-legend .cleaning:before{background:#f6b657}.cockpit-room-legend .maintenance:before{background:#ec7c97}.cockpit-room-board{background:#f8fafc;border:1px solid #e7edf5;border-radius:10px;overflow:hidden}.cockpit-floor{border-bottom:1px solid #e8eef5;grid-template-columns:34px minmax(0,1fr);min-height:53px;display:grid}.cockpit-floor:last-child{border-bottom:0}.cockpit-floor>b{color:#77889f;background:#f0f4f8;border-right:1px solid #e8eef5;place-items:center;font-size:10px;display:grid}.cockpit-floor>div{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:6px;display:grid}.cockpit-room{color:#55718b;text-align:center;background:#e9eff5;border:1px solid #0000;border-radius:5px;min-width:0;min-height:39px;padding:4px 2px;transition:transform .16s,box-shadow .16s,filter .16s}.cockpit-room:hover{filter:saturate(1.1);transform:translateY(-1px);box-shadow:0 4px 10px #31516b20}.cockpit-room strong,.cockpit-room small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.cockpit-room strong{font-size:10px}.cockpit-room small{opacity:.78;margin-top:2px;font-size:8px}.cockpit-work-list{margin-top:11px}.cockpit-work-list button{text-align:left;background:0 0;border-bottom:1px solid #edf1f5;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:13px 0;display:grid}.cockpit-work-list button:last-child{border-bottom:0}.work-dot{border-radius:50%;width:7px;height:7px}.work-dot.orange{background:#f2aa47}.work-dot.purple{background:#8e72dc}.work-dot.blue{background:#5a84e9}.cockpit-work-list b,.cockpit-work-list small{display:block}.cockpit-work-list b{color:#344b67;font-size:11px}.cockpit-work-list small{color:#94a1b2;margin-top:4px;font-size:9px}.cockpit-work-list em{color:#4c7cdd;text-align:right;min-width:22px;font-size:12px;font-style:normal}.cockpit-trend{background:linear-gradient(135deg,#f5f8ff,#eef4ff);border-radius:9px;margin-top:13px;padding:12px}.cockpit-trend>div:first-child{color:#8393a7;justify-content:space-between;font-size:10px;display:flex}.cockpit-trend b{color:#426fcf}.cockpit-trend .bars{gap:6px;height:48px;padding-top:8px}.cockpit-trend .bars i{background:linear-gradient(#6f98ee,#c5d7fa);border-radius:3px 3px 1px 1px;flex:1;min-width:4px}.cockpit-orders{padding:19px}.cockpit-order-tabs{border-bottom:1px solid #e8eef5;gap:20px;margin-top:16px;padding:0 2px;display:flex}.cockpit-order-tabs button{color:#95a1b1;background:0 0;padding:0 0 10px;font-size:10px;position:relative}.cockpit-order-tabs button.selected{color:#396bd6;font-weight:700}.cockpit-order-tabs button.selected:after{content:"";background:#4d7bea;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}@media (width<=1200px){.cockpit-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-grid{grid-template-columns:1fr}.cockpit-work-panel{min-height:unset}.cockpit-room-board .cockpit-floor>div{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=760px){.cockpit-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cockpit-metrics .metric{min-height:96px}.cockpit-room-filters{flex-direction:column;align-items:flex-start}.cockpit-room-legend{justify-content:flex-start}.cockpit-room-board{overflow-x:auto}.cockpit-floor{min-width:570px}.cockpit-order-tabs{gap:13px;overflow-x:auto}.cockpit-orders .table-wrap{margin-right:-4px}.cockpit-work-panel,.cockpit-room-panel,.cockpit-orders{padding:15px}}.mobile-glance-card,.mobile-bottom-nav,.mobile-order-cards{display:none}@media (width<=760px){html,body{-webkit-text-size-adjust:100%;background:#f2f5fa;width:100%;min-width:0;overflow-x:hidden}button,a,input,select,textarea{touch-action:manipulation}.app-shell{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom));background:linear-gradient(#edf3fb 0,#f5f7fb 210px,#f2f5f9 100%);display:block}.sidebar{z-index:30;background:linear-gradient(135deg,#102949,#163860);border:0;align-items:center;width:100%;height:62px;min-height:62px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #0c244522}.sidebar:after{display:none}.sidebar .brand{grid-template-columns:38px 1fr;align-items:center;gap:10px;width:100%;margin:0;padding:0;display:grid}.sidebar .brand-mark{color:#7be0c3;background:#ffffff12;border-radius:11px;grid-row:1/3;place-items:center;width:36px;height:36px;font-size:22px;display:grid}.sidebar .brand span:not(.brand-mark){color:#fff;font-size:15px;line-height:1.1}.sidebar .brand small{color:#8ba5c4;letter-spacing:1.25px;font-size:7px;line-height:1;display:block}.sidebar .hotel-switch,.sidebar>.nav-caption,.sidebar>nav,.sidebar .sidebar-bottom{display:none}.content{width:100%;min-width:0}.topbar{display:none}.page-body{width:100%;max-width:none;padding:14px 14px calc(98px + env(safe-area-inset-bottom))}.page-heading{flex-direction:row;align-items:center;gap:12px;margin:3px 0 16px;padding:4px 0 4px 11px}.page-heading:after{bottom:-8px;left:11px}.page-heading h1{letter-spacing:-.4px;font-size:20px}.page-heading .eyebrow,.page-heading .subheading{display:none}.page-heading .primary-button{white-space:nowrap;margin-left:auto;padding:9px 11px;font-size:10px}.mobile-overview-heading{display:none}.mobile-glance-card{color:#fff;background:linear-gradient(145deg,#112e52 0%,#174a70 58%,#1b6f78 120%);border-radius:20px;margin-bottom:12px;padding:18px;display:block;position:relative;overflow:hidden;box-shadow:0 16px 34px #102c4f33}.mobile-glance-card:after{content:"";pointer-events:none;border:1px solid #ffffff1f;border-radius:50%;width:190px;height:190px;position:absolute;top:-64px;right:-44px;box-shadow:0 0 0 22px #ffffff08,0 0 0 44px #ffffff05}.mobile-glance-top,.mobile-glance-main,.mobile-glance-stats{z-index:1;position:relative}.mobile-glance-top{justify-content:space-between;align-items:flex-start;display:flex}.mobile-glance-top small,.mobile-glance-top b{display:block}.mobile-glance-top small{color:#9db8ce;letter-spacing:.6px;margin-bottom:5px;font-size:9px}.mobile-glance-top b{font-size:15px}.mobile-live-badge{color:#c9f7e9;background:#ffffff10;border:1px solid #ffffff20;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;display:flex}.mobile-live-badge i{background:#74e1b8;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #74e1b824}.mobile-live-badge.loading i,.mobile-live-badge.syncing i{animation:1.1s ease-in-out infinite marketing-pulse}.mobile-live-badge.offline,.mobile-live-badge.conflict{color:#ffe0a9;background:#9b5b2c35}.mobile-live-badge.offline i,.mobile-live-badge.conflict i{background:#f2b65d}.mobile-glance-main{justify-content:space-between;align-items:center;margin:19px 0 17px;display:flex}.mobile-glance-main>div:first-child span,.mobile-glance-main>div:first-child small,.mobile-glance-main>div:first-child strong{display:block}.mobile-glance-main>div:first-child span{color:#abc0d2;font-size:10px}.mobile-glance-main>div:first-child strong{letter-spacing:-1.2px;margin:5px 0 4px;font-size:31px}.mobile-glance-main>div:first-child small{color:#77dfbd;font-size:9px}.mobile-occupancy-ring{border-radius:50%;place-items:center;width:74px;height:74px;display:grid}.mobile-occupancy-ring>span{text-align:center;background:#173e60;border-radius:50%;place-content:center;width:60px;height:60px;display:grid;box-shadow:inset 0 1px #ffffff1c}.mobile-occupancy-ring b,.mobile-occupancy-ring small{display:block}.mobile-occupancy-ring b{font-size:16px}.mobile-occupancy-ring small{color:#9eb6ca;margin-top:2px;font-size:8px}.mobile-glance-stats{border-top:1px solid #ffffff1a;grid-template-columns:repeat(4,1fr);padding-top:14px;display:grid}.mobile-glance-stats span{text-align:center;border-right:1px solid #ffffff14}.mobile-glance-stats span:last-child{border-right:0}.mobile-glance-stats b,.mobile-glance-stats small{display:block}.mobile-glance-stats b{font-size:17px}.mobile-glance-stats small{color:#9fb5c8;margin-top:3px;font-size:8px}.cockpit-metrics{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:9px;margin:0 -14px 12px;padding:2px 14px 8px;display:flex;overflow-x:auto}.cockpit-metrics::-webkit-scrollbar{display:none}.cockpit-metrics .metric{scroll-snap-align:start;border-radius:14px;flex:0 0 142px;min-height:93px;padding:13px 11px;box-shadow:0 7px 18px #1d3c6410}.cockpit-metrics .metric-icon{width:28px;height:28px}.cockpit-metrics .metric-copy strong{font-size:18px}.cockpit-grid{margin-bottom:12px;display:block}.cockpit-room-panel,.cockpit-work-panel,.cockpit-orders{border:0;border-radius:17px;margin-bottom:12px;padding:15px;box-shadow:0 8px 24px #1b3a5d12}.panel-head{gap:8px}.panel-head h2{font-size:14px}.panel-head p{max-width:230px;line-height:1.55}.panel-head .text-button{flex:none}.cockpit-room-filters{gap:10px;margin:14px 0 11px}.cockpit-room-filters .filter-group{white-space:nowrap;scrollbar-width:none;width:100%;margin:0;padding:3px;overflow-x:auto}.cockpit-room-filters .filter-group::-webkit-scrollbar{display:none}.cockpit-room-filters .filter-group button{flex:1 0 auto;min-height:34px;padding:7px 12px}.cockpit-room-legend{gap:7px 10px;padding-left:2px;font-size:8px}.cockpit-room-board{background:0 0;border:0;overflow:visible}.cockpit-floor{background:#f7f9fc;border:1px solid #e9eef5;border-radius:12px;min-width:0;min-height:0;margin-bottom:9px;padding:8px;display:block}.cockpit-floor:last-child{border-bottom:1px solid #e9eef5;margin-bottom:0}.cockpit-floor>b{color:#69809b;text-align:left;background:0 0;border:0;margin:0 0 7px 2px;font-size:10px;display:block}.cockpit-floor>div,.cockpit-room-board .cockpit-floor>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0}.cockpit-room{border-radius:9px;min-height:51px;padding:7px 3px}.cockpit-room strong{font-size:12px}.cockpit-room small{margin-top:3px;font-size:8px}.cockpit-work-list button{min-height:60px;padding:12px 2px}.cockpit-work-list b{font-size:12px}.cockpit-work-list small{font-size:9px}.cockpit-trend{border-radius:12px}.cockpit-orders .table-wrap{display:none}.cockpit-order-tabs{white-space:nowrap;scrollbar-width:none;gap:18px;margin-right:-15px;padding-right:15px;overflow-x:auto}.cockpit-order-tabs::-webkit-scrollbar{display:none}.mobile-order-cards{gap:9px;margin-top:13px;display:grid}.mobile-order-cards>button{color:#52647b;text-align:left;background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #e7edf5;border-radius:13px;min-height:96px;padding:13px;box-shadow:0 4px 13px #1b3c6110}.mobile-order-head,.mobile-order-meta,.mobile-order-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-order-head b{color:#284360;font-size:13px}.mobile-order-head em{color:#258263;background:#e1f6ed;border-radius:6px;padding:4px 7px;font-size:9px;font-style:normal}.mobile-order-meta{margin:11px 0}.mobile-order-meta small{color:#8493a5;font-size:9px}.mobile-order-meta strong{color:#1d3551;font-size:14px}.mobile-order-foot{color:#9aa6b4;border-top:1px solid #edf1f5;padding-top:9px}.mobile-order-foot small{font-size:8px}.mobile-order-foot i{color:#4e79dc;margin-left:5px;font-style:normal}.mobile-bottom-nav{z-index:50;height:calc(67px + env(safe-area-inset-bottom));padding:8px 7px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);background:#ffffffef;border-top:1px solid #dde6f0;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #102a4817}.mobile-bottom-nav button{color:#8b99aa;background:0 0;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:54px;min-height:48px;display:flex;position:relative}.mobile-bottom-nav button>span:first-child{font-size:18px}.mobile-bottom-nav button>span:last-child{font-size:9px}.mobile-bottom-nav button.active{color:#315fc7;background:#edf3ff}.mobile-bottom-nav button.active:before{content:"";background:#4777e8;border-radius:0 0 3px 3px;width:23px;height:2px;position:absolute;top:-8px}.module-stack{gap:12px}.module-toolbar{margin-bottom:12px;padding:0 2px}.module-toolbar h2{font-size:18px}.module-panel,.settings-panel,.room-management-panel{border-radius:16px}.managed-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.managed-room-card{padding:12px}.room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.room-summary-card{min-height:72px}footer{display:none}.toast{bottom:calc(82px + env(safe-area-inset-bottom));text-align:center;width:max-content;max-width:calc(100% - 28px)}.modal-overlay{align-items:flex-end}.order-modal,.check-in-modal{width:100%;max-height:92dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto}.room-detail{width:100%;padding:24px 20px calc(92px + env(safe-area-inset-bottom))}}:root{--ink:#172b49;--muted:#7f8fa4;--line:#dfe8f2;--blue:#3f6fd4;--navy:#102b4b;--canvas:#f3f6fa;--surface:#fff;--shadow-soft:0 12px 30px #1c3f6714;--shadow-hover:0 16px 34px #1c3f6724}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 78% -12%, #5b94e01c, transparent 34rem), var(--canvas);color:var(--ink);font-feature-settings:"tnum" 1, "cv11" 1;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif}button,a,input,select,textarea{transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #3f6fd447}.app-shell{background:0 0}.sidebar{background:linear-gradient(#102b4b 0%,#112f52 58%,#0d2745 100%);border-right:1px solid #071a3457;box-shadow:10px 0 28px #0f2a4914}.nav-item{transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}.nav-item:hover{transform:translate(2px)}.nav-item.active{background:linear-gradient(100deg,#416fb5f2,#305691e6);box-shadow:inset 3px 0 #a8c7ff,0 8px 18px #071b362e}.topbar{-webkit-backdrop-filter:blur(14px);background:#ffffffe0;box-shadow:0 8px 24px #193b620d}.page-body{max-width:1440px;padding:38px 44px 30px}.page-heading{margin-bottom:30px}.page-heading h1{letter-spacing:-.9px;text-wrap:balance;font-size:30px;font-weight:750;line-height:1.12}.eyebrow{color:#7185a3;letter-spacing:1.7px;font-weight:650}.subheading,.panel-head p,.module-toolbar p{max-width:62ch;line-height:1.6}.panel,.metric,.module-toolbar{box-shadow:var(--shadow-soft);background:#fffffff5;border-color:#d0ddece0;border-radius:14px}.metric,.room-summary-card,.room-card,.managed-room-card,.channel-card,.campaign-card,.report-card{transition:transform .22s cubic-bezier(.2,.75,.25,1),border-color .22s,box-shadow .22s,background-color .22s}.metric:hover,.room-summary-card:hover,.room-card:hover,.managed-room-card:hover,.channel-card:hover,.campaign-card:hover,.report-card:hover{box-shadow:var(--shadow-hover);border-color:#b6cbed;transform:translateY(-2px)}.panel-head h2,.module-toolbar h2{text-wrap:balance}.primary-button{background:linear-gradient(135deg,#4b79dc 0%,#3563c1 100%);border:1px solid #234f9d2e;font-weight:650;box-shadow:0 8px 18px #3260be38}.primary-button:hover{background:linear-gradient(135deg,#5683e7 0%,#3b6bd0 100%);transform:translateY(-1px);box-shadow:0 11px 22px #3260be47}.primary-button:active,.secondary-button:active,.table-action:active,.text-button:active{transform:translateY(1px)scale(.98)}.secondary-button{background:#fbfdff;border-color:#d7e2ef;box-shadow:0 3px 10px #2348710a}.secondary-button:hover{color:#315fbe;background:#f1f6ff;border-color:#aec5e8;transform:translateY(-1px);box-shadow:0 6px 14px #2b539117}.table-wrap{border:1px solid #e5ecf4;border-radius:11px;box-shadow:inset 0 1px #ffffffb3}.table-wrap table{font-variant-numeric:tabular-nums}.table-wrap th{color:#71839b;letter-spacing:.15px;background:#f6f9fc;font-weight:650}.table-wrap tbody tr{transition:background-color .18s}.table-wrap tbody tr:hover{background:#f7faff}.metric-copy strong,.room-id,.room-bottom strong,.cockpit-room strong,.mobile-glance-main strong{font-variant-numeric:tabular-nums}.status,.stay-mode-badge,.settings-badge,.task-state{letter-spacing:.1px;border-radius:7px}.room-card,.managed-room-card{background:linear-gradient(155deg,#fff 0%,#fbfdff 100%);border-color:#e2eaf3}.room-card:hover,.managed-room-card:hover{background:linear-gradient(155deg,#fff 0%,#f4f8ff 100%)}.empty-module{min-height:380px;box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#fff 0%,#f8fbff 100%)}.app-icon.has-svg{place-items:center;display:inline-grid}.app-icon.has-svg:before{content:none}.app-icon.has-svg svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;display:block;overflow:visible}.brand-mark.has-svg svg{stroke-width:1.55px;width:.9em;height:.9em}.metric-icon .app-icon.has-svg svg,.channel-logo .app-icon.has-svg svg{stroke-width:1.65px}.status-icon-wrap .app-icon.has-svg svg{stroke-width:1.9px}@media (width<=760px){body{background:#f2f5fa}.page-body{padding:22px 14px calc(104px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:20px}.page-heading h1{font-size:23px}.panel,.metric,.module-toolbar{border-radius:16px;box-shadow:0 8px 24px #1c3f6714}.metric:hover,.room-summary-card:hover,.room-card:hover,.managed-room-card:hover,.channel-card:hover,.campaign-card:hover,.report-card:hover{transform:none;box-shadow:0 8px 24px #1c3f6714}.table-wrap{border-radius:10px}}.room-card:has(.status.空房){border-top-color:#6a8dd0}.room-panel .room-card:has(.status.空房){border-top-color:#6a8dd0}.room-card:has(.status.入住){border-top-color:#5ca989}.room-panel .room-card:has(.status.入住){border-top-color:#5ca989}.room-card:has(.status.预订){border-top-color:#8098c9}.room-panel .room-card:has(.status.预订){border-top-color:#8098c9}.room-card:has(.status.清扫){border-top-color:#c39a5e}.room-panel .room-card:has(.status.清扫){border-top-color:#c39a5e}.room-card:has(.status.维修){border-top-color:#8f82b8}.room-panel .room-card:has(.status.维修){border-top-color:#8f82b8}.room-panel .room-card:has(.status.空房) .status{color:#4167a9;background:#e7eefb}.room-panel .room-card:has(.status.入住) .status{color:#3b816a;background:#e5f3ed}.room-panel .room-card:has(.status.预订) .status{color:#5f73a4;background:#e9eef8}.room-panel .room-card:has(.status.清扫) .status{color:#9a763e;background:#f6eedf}.room-panel .room-card:has(.status.维修) .status{color:#716795;background:#eeeaf6}.room-management .room-summary-card{border-left-color:#d6e0ed}.room-management .room-summary-card:has(.status-icon-空房){border-left-color:#6a8dd0}.room-management .room-summary-card:has(.status-icon-入住){border-left-color:#5ca989}.room-management .room-summary-card:has(.status-icon-预订){border-left-color:#8098c9}.room-management .room-summary-card:has(.status-icon-清扫){border-left-color:#c39a5e}.room-management .room-summary-card:has(.status-icon-维修){border-left-color:#8f82b8}.room-management .summary-status-icon.status-icon-空房{color:#4167a9;background:#e7eefb}.room-management .summary-status-icon.status-icon-入住{color:#3b816a;background:#e5f3ed}.room-management .summary-status-icon.status-icon-预订{color:#5f73a4;background:#e9eef8}.room-management .summary-status-icon.status-icon-清扫{color:#9a763e;background:#f6eedf}.room-management .summary-status-icon.status-icon-维修{color:#716795;background:#eeeaf6}.cockpit-room-board{background:#f6f9fc;border-color:#dfe8f2;box-shadow:inset 0 1px #fff}.cockpit-room{box-shadow:inset 0 0 0 1px #ffffff85}.cockpit-room.空房{color:#4167a9;background:#e7eefb}.cockpit-room.入住{color:#3b816a;background:#e5f3ed}.cockpit-room.预订{color:#5f73a4;background:#e9eef8}.cockpit-room.清扫{color:#9a763e;background:#f6eedf}.cockpit-room.维修{color:#716795;background:#eeeaf6}.mobile-glance-card{background:radial-gradient(circle at 88% 8%,#66bbad3d,#0000 10rem),radial-gradient(circle at 12% 110%,#537dc43d,#0000 14rem),#123253}.mobile-glance-card:before{content:"";opacity:.34;pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.mobile-glance-card:after{border-color:#ffffff29;box-shadow:0 0 0 27px #ffffff09,0 0 0 54px #ffffff05}.room-type-price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.room-type-price-card{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f8fbff);border-radius:18px;padding:18px;box-shadow:0 10px 24px #1f40680f}.room-type-price-head{align-items:center;gap:9px;margin-bottom:15px;display:flex}.room-type-price-head b{color:var(--ink);font-size:15px}.room-type-price-head small{color:var(--muted);margin-left:auto}.room-type-dot{background:var(--blue);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #3f6fd41f}.room-type-price-card label{color:var(--muted);gap:7px;margin-bottom:14px;font-size:12px;display:grid}.room-type-price-card input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px 11px}.room-type-create-form{border-top:1px dashed var(--line);margin-top:16px;padding-top:16px}.room-pricing-room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.room-pricing-room{border:1px solid var(--line);background:#fff;border-radius:17px;min-height:154px;padding:16px;position:relative;box-shadow:0 8px 20px #1f40680d}.room-pricing-room-head{justify-content:space-between;align-items:center;display:flex}.room-pricing-room-head strong{color:var(--ink);letter-spacing:.02em;font-size:19px}.room-menu-trigger{width:30px;height:28px;color:var(--muted);letter-spacing:2px;cursor:pointer;background:#f3f6fb;border:0;border-radius:9px;font-weight:800}.room-menu-trigger:hover{color:var(--blue);background:#eaf1ff}.room-pricing-room-menu{position:relative}.room-type-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:13px;width:190px;padding:7px;position:absolute;top:34px;right:0;box-shadow:0 18px 36px #152d4e2e}.room-type-menu button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.room-type-menu button:hover,.room-type-menu button.selected{color:var(--blue);background:#edf4ff}.room-type-menu small{color:var(--muted)}.room-pricing-room-type{color:var(--ink);margin-top:16px;font-weight:700;display:block}.room-pricing-room-status{margin-top:7px;display:block}.room-pricing-room-foot{color:var(--muted);border-top:1px solid #edf2f7;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:15px;padding-top:11px;font-size:11px;display:flex}.room-pricing-room-foot b{color:var(--blue);font-size:14px}.room-pricing-room-foot small{text-align:right}.room-state-入住{border-color:#b9d6ff}.room-state-预订{border-color:#d7c6ff}.room-state-清扫{border-color:#ffd7a6}.room-management .room-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.traveler-editor-actions{align-items:flex-end;gap:10px;display:flex}.traveler-source-field{color:var(--muted);gap:5px;font-size:11px;font-weight:600;display:grid}.traveler-source-field select{border:1px solid var(--line);min-width:112px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:9px 10px}.charge-add-trigger{color:#3b8d5f;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:14px;padding:8px 0;font-size:12px;font-weight:800;display:inline-flex}.charge-add-trigger span{color:#fff;background:#58b678;border-radius:7px;place-items:center;width:22px;height:22px;font-size:17px;line-height:1;display:grid}.charge-add-trigger:hover{color:#247b49}.room-charge-inline-form{background:#f4fbef;border:1px solid #cfe8bf;border-radius:14px;grid-template-columns:1.2fr 1fr .7fr .9fr;gap:10px;margin-top:8px;padding:14px;display:grid}.room-charge-inline-form label{color:#57705c;gap:6px;font-size:11px;font-weight:700;display:grid}.room-charge-inline-form input,.room-charge-inline-form select{min-height:38px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d5e4d0;border-radius:9px;padding:8px 9px}.room-charge-inline-total{color:#5f7463;align-self:end;padding-bottom:10px;font-size:11px}.room-charge-inline-total b{color:#27834a;font-size:15px}.room-charge-inline-actions{grid-column:1/-1;justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}@media (width<=760px){.traveler-editor-head{flex-direction:column;align-items:flex-start;gap:12px}.traveler-editor-actions{flex-wrap:wrap;align-items:stretch;width:100%}.traveler-source-field{flex:150px}.traveler-editor-actions>.small-button{flex:1 0 100%}.room-charge-inline-form{grid-template-columns:1fr 1fr}.room-charge-inline-form label:first-child,.room-charge-inline-form label:nth-child(2),.room-charge-inline-total{grid-column:1/-1}}@media (width<=1100px){.room-pricing-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.room-type-price-grid,.room-pricing-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-type-create-form{grid-template-columns:1fr 1fr;display:grid}.room-type-create-form button{grid-column:1/-1}}@media (width<=500px){.room-type-price-grid,.room-pricing-room-grid,.room-type-create-form{grid-template-columns:1fr}}@media (width<=760px){.room-management .room-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
