.hotel-number-entry{white-space:nowrap}
.hotel-number-overlay{position:fixed;inset:0;z-index:9200;background:rgba(22,29,26,.38)}
.hotel-number-panel{position:fixed;top:0;right:0;bottom:0;z-index:9201;display:flex;width:min(1120px,calc(100vw - 72px));flex-direction:column;background:var(--adm-card,#fff);box-shadow:-18px 0 48px rgba(21,30,26,.18);color:var(--adm-text,#252c29)}
.hotel-number-panel-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:14px 20px;border-bottom:1px solid var(--adm-line,#d9dedb)}
.hotel-number-panel-header h2,.hotel-number-dialog h3{margin:0;font-size:18px;line-height:1.35;letter-spacing:0}.hotel-number-panel-header p,.hotel-number-dialog header p{margin:4px 0 0;color:var(--adm-text-soft,#69736e);font-size:12px;line-height:1.4}
.hotel-number-close{display:inline-grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--adm-line,#d9dedb);border-radius:4px;background:transparent;color:var(--adm-text-soft,#69736e);font:400 22px/1 Arial,sans-serif;cursor:pointer}
.hotel-number-close:hover{border-color:var(--adm-brown,#6f4d37);color:var(--adm-brown,#6f4d37)}
.hotel-number-panel-body{display:flex;min-height:0;flex:1;flex-direction:column;gap:12px;padding:16px 20px 18px;overflow:auto}
.hotel-number-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--adm-line,#d9dedb);border-radius:6px;background:var(--adm-card,#fff)}
.hotel-number-summary>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-right:1px solid var(--adm-line-soft,#edf0ee)}
.hotel-number-summary>div:last-child{border-right:0}.hotel-number-summary span{color:var(--adm-text-soft,#69736e);font-size:12px}.hotel-number-summary strong{font-size:20px;font-variant-numeric:tabular-nums}
.hotel-number-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 160px auto;gap:8px;align-items:center}.hotel-number-toolbar .adm-input,.hotel-number-toolbar .adm-select{width:100%}.hotel-number-search{min-width:0}
.hotel-number-table-wrap{min-height:280px;flex:1;overflow-x:auto;border:1px solid var(--adm-line,#d9dedb);border-radius:6px;background:var(--adm-card,#fff)}
.hotel-number-table{width:100%;min-width:900px;table-layout:fixed;border-collapse:collapse;color:var(--adm-text,#252c29);font-size:12.5px}
.hotel-number-table .number-col{width:92px}.hotel-number-table .status-col{width:92px}.hotel-number-table .scan-col{width:152px}.hotel-number-table .actions-col{width:250px}
.hotel-number-table th,.hotel-number-table td{padding:10px 12px;border-bottom:1px solid var(--adm-line-soft,#edf0ee);text-align:left;vertical-align:middle}
.hotel-number-table th{position:sticky;top:0;z-index:1;background:var(--adm-cream,#f6f5f2);color:var(--adm-text-soft,#69736e);font-size:11.5px;font-weight:700;white-space:nowrap}
.hotel-number-table tbody tr:last-child td{border-bottom:0}.hotel-number-table tbody tr:hover{background:var(--adm-gold-bg,#fbf8ed)}
.hotel-number-column{width:92px}.hotel-number-column strong{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:0}.hotel-number-status-column{width:92px}.hotel-number-scan-column{width:152px;white-space:nowrap;color:var(--adm-text-soft,#69736e)}
.hotel-number-hotel-column{min-width:0}.hotel-number-hotel-column strong,.hotel-number-hotel-column small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hotel-number-hotel-column small{margin-top:3px;color:var(--adm-text-faint,#8b938f);font-size:11px}
.hotel-number-status{display:inline-flex;min-height:23px;align-items:center;padding:2px 7px;border-radius:4px;font-size:11.5px;font-weight:700;white-space:nowrap}.hotel-number-status.unbound{border:1px solid var(--adm-line,#d9dedb);background:var(--adm-cream,#f6f5f2);color:var(--adm-text-soft,#69736e)}.hotel-number-status.active{background:var(--adm-success-bg,#e8f4ee);color:var(--adm-success,#267250)}.hotel-number-status.inactive{background:var(--adm-warning-bg,#fff1d8);color:var(--adm-warning,#9b6217)}
.hotel-number-operation-column{width:250px}.hotel-number-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}.hotel-number-empty{height:220px;text-align:center!important;color:var(--adm-text-faint,#8b938f)}
.hotel-number-panel-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.hotel-number-export{display:flex;align-items:flex-end;gap:7px}.hotel-number-export label{display:grid;gap:4px;color:var(--adm-text-soft,#69736e);font-size:11px}.hotel-number-export .adm-input{width:92px;font-variant-numeric:tabular-nums}.hotel-number-pager{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.hotel-number-pager span{margin-right:5px;color:var(--adm-text-soft,#69736e);font-size:12px}
.hotel-number-dialog-backdrop{position:fixed;inset:0;z-index:9300;display:grid;place-items:center;padding:18px;background:rgba(22,29,26,.5)}
.hotel-number-dialog{width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:6px;background:var(--adm-card,#fff);box-shadow:0 20px 60px rgba(20,28,24,.24)}
.hotel-number-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--adm-line,#d9dedb)}.hotel-number-dialog-body{display:grid;gap:14px;padding:18px 20px}.hotel-number-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px;border-top:1px solid var(--adm-line,#d9dedb);background:var(--adm-cream,#f6f5f2)}
.hotel-number-dialog-field{display:grid;gap:6px;color:var(--adm-text-soft,#69736e);font-size:12px}.hotel-number-dialog-field .adm-input,.hotel-number-dialog-field .adm-select{width:100%}.hotel-number-dialog-field textarea{min-height:82px;resize:vertical}
.hotel-number-binding-warning{display:grid;gap:5px;padding:12px;border-left:3px solid var(--adm-warning,#9b6217);background:var(--adm-warning-bg,#fff1d8);line-height:1.5}.hotel-number-binding-warning strong{font-size:13px}.hotel-number-binding-warning span{color:var(--adm-warning,#9b6217);font-size:12px;font-weight:700}
.hotel-number-status-target{display:grid;gap:5px}.hotel-number-status-target span{color:var(--adm-text-soft,#69736e);font-size:11px}.hotel-number-status-target strong{font-size:14px}
.hotel-number-qr-dialog{width:min(400px,100%)}.hotel-number-qr-preview{display:grid;min-height:310px;place-items:center;padding:20px}.hotel-number-qr-preview img{display:block;width:min(280px,100%);height:auto;aspect-ratio:1;object-fit:contain}.hotel-number-qr-preview span{color:var(--adm-text-soft,#69736e);font-size:13px}
.hotel-number-export-dialog{width:min(560px,100%)}.hotel-number-export-results{max-height:430px;overflow:auto;padding:4px 20px}.hotel-number-export-results>div{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--adm-line-soft,#edf0ee)}.hotel-number-export-results>div:last-child{border-bottom:0}.hotel-number-export-results .success{color:var(--adm-success,#267250)}.hotel-number-export-results .error{color:var(--adm-danger,#a33d35)}
.hotel-number-toast{position:fixed;top:18px;left:50%;z-index:9500;max-width:calc(100vw - 32px);transform:translate(-50%,-18px);padding:10px 16px;border-radius:6px;background:#254c3d;color:#fff;font-size:13px;box-shadow:0 8px 24px rgba(31,36,33,.18);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.hotel-number-toast[data-tone="error"]{background:#a33d35}.hotel-number-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width: 900px){.hotel-number-panel{width:calc(100vw - 28px)}.hotel-number-panel-actions{align-items:stretch;flex-direction:column}.hotel-number-export,.hotel-number-pager{width:100%}.hotel-number-pager{justify-content:space-between}}
@media (max-width: 720px){.hotel-number-panel{width:100vw}.hotel-number-panel-header{min-height:62px;padding:11px 14px}.hotel-number-panel-header h2{font-size:16px}.hotel-number-panel-body{padding:12px 14px 16px}.hotel-number-summary{grid-template-columns:1fr 1fr}.hotel-number-summary>div{padding:10px 12px}.hotel-number-summary>div:nth-child(2){border-right:0}.hotel-number-summary>div:nth-child(-n+2){border-bottom:1px solid var(--adm-line-soft,#edf0ee)}.hotel-number-toolbar{grid-template-columns:1fr 118px}.hotel-number-toolbar>button{grid-column:1/-1}.hotel-number-table-wrap{overflow-x:auto}.hotel-number-panel-actions{position:sticky;bottom:-16px;margin:0 -14px -16px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--adm-line,#d9dedb);background:var(--adm-card,#fff)}.hotel-number-export{display:grid;grid-template-columns:1fr 1fr auto}.hotel-number-export .adm-input{width:100%}.hotel-number-pager{gap:2px}.hotel-number-pager span{overflow:hidden;text-overflow:ellipsis}.hotel-number-dialog-backdrop{align-items:end;padding:0}.hotel-number-dialog{width:100%;max-height:88vh;border-radius:6px 6px 0 0}.hotel-number-dialog>header,.hotel-number-dialog-body,.hotel-number-dialog>footer{padding-left:14px;padding-right:14px}.hotel-number-row-actions{justify-content:flex-start}.hotel-number-toast{top:10px;width:calc(100% - 24px);text-align:center}}
