.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{background:#fff;padding:40px;border-radius:8px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-container h1{text-align:center;margin-bottom:10px;color:#333}.login-container>p{text-align:center;color:#666;margin-bottom:30px}.error-message{background:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:15px;font-size:14px}.login-btn{width:100%;padding:12px;font-size:16px}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-lang{text-align:center;margin-bottom:20px}.login-lang .lang-switcher{padding:6px 10px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:13px;cursor:pointer;outline:none}@media (max-width: 600px){.login-page{padding:var(--space-md, 16px);align-items:flex-start;padding-top:var(--space-2xl, 60px)}.login-container{padding:var(--space-lg, 28px) var(--space-md, 20px);border-radius:12px}.login-container h1{font-size:var(--text-lg, 1.3rem)}.login-container>p{font-size:var(--text-base, 14px);margin-bottom:var(--space-lg, 20px)}}@media (max-width: 480px){.login-page{padding:var(--space-sm, 12px);padding-top:var(--space-2xl, 48px)}.login-container{padding:var(--space-md, 24px) var(--space-md, 16px);border-radius:12px;max-width:100%}.login-container h1{font-size:var(--text-lg, 1.2rem)}.login-btn{font-size:var(--text-base, 15px);padding:var(--space-md, 14px)}}.dashboard h1{margin-bottom:30px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stat-card h3{font-size:14px;color:#666;margin-bottom:10px;text-transform:uppercase}.stat-number{font-size:2.5rem;font-weight:700;color:#333}.stat-number.occupied{color:#c62828}.stat-number.available{color:#2e7d32}.stat-number.revenue{color:#1976d2}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md, 16px)}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr;gap:var(--space-sm, 12px)}.stat-card{padding:var(--space-md, 16px)}.stat-number{font-size:var(--text-2xl, 2rem)}.dashboard h1{margin-bottom:var(--space-md, 20px)}}@media (max-width: 600px){.stats-grid{grid-template-columns:1fr 1fr;gap:var(--space-sm, 10px)}.stat-card{padding:var(--space-md, 14px)}.stat-card h3{font-size:var(--text-xs, 12px)}.stat-number{font-size:var(--text-xl, 1.6rem)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.stat-number{font-size:var(--text-xl, 1.5rem)}.dashboard h1{font-size:var(--text-lg, 1.3rem);margin-bottom:var(--space-md, 16px)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-height:calc(100vh - 32px);overflow-y:auto;animation:modalSlideIn .25s ease}.modal-sm{max-width:400px}.modal-md{max-width:520px}.modal-lg{max-width:720px}.modal-xl{max-width:920px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 0}.modal-header h2{margin:0;font-size:18px;font-weight:700;color:#1a1a2e;line-height:1.3}.modal-header p{margin:4px 0 0;font-size:13px;color:#888}.modal-close{background:none;border:none;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#999;font-size:20px;transition:all .15s ease;flex-shrink:0;margin-left:12px}.modal-close:hover{background:#f3f4f6;color:#1a1a2e}.modal-body{padding:20px 24px}.modal-body:first-child{padding-top:24px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px;border-top:1px solid #f3f4f6}.modal-footer .btn{min-width:100px}.modal-footer .btn:first-child{margin-right:auto}.modal-field{margin-bottom:18px}.modal-field:last-child{margin-bottom:0}.modal-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#374151}.modal-field .hint{font-size:11px;color:#9ca3af;margin-top:4px;font-weight:400}.modal-field input,.modal-field select,.modal-field textarea{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:#1a1a2e;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box;font-family:inherit}.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-field textarea{resize:vertical;min-height:80px}.modal-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media (max-width: 600px){.modal-overlay{align-items:flex-end;padding:0}.modal-container{max-height:85vh;border-radius:16px 16px 0 0;animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:16px 18px 0}.modal-body{padding:14px 18px}.modal-footer{padding:14px 18px;flex-wrap:wrap}.modal-footer .btn{flex:1;min-width:0;text-align:center}.modal-field-row,.modal-field-row-3{grid-template-columns:1fr;gap:0}}.rooms-page h1{margin-bottom:20px}.rooms-page input[type=checkbox]{width:auto;margin-right:6px;accent-color:#4f46e5}.room-type-icon{font-size:16px;margin-right:4px;vertical-align:middle}.room-beds-cell{display:flex;gap:4px;flex-wrap:wrap}.room-bed-tag{display:inline-block;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:500;padding:2px 8px;border-radius:10px;white-space:nowrap}.dark .room-bed-tag{background:#312e81;color:#c7d2fe}.search-bar{margin-bottom:16px}.search-bar input{width:100%;max-width:400px;padding:10px 14px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s;box-sizing:border-box}.search-bar input:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51a}@media (max-width: 600px){.search-bar input{max-width:100%}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:10px}.modal-content{background:#fff;padding:24px;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.dark .modal-content{background:#1e1e2e;color:#e0e0e0}.modal-lg{max-width:700px}.modal-content h2{margin-bottom:20px}.modal-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.form-row{display:flex;gap:15px}.image-preview{margin-top:10px;max-width:200px;max-height:150px;border-radius:4px;border:1px solid #ddd}.beds-editor{display:flex;flex-direction:column;gap:6px}.bed-row{display:flex;align-items:center;gap:6px}.bed-row select{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff}.dark .bed-row select{background:#2a2a3e;color:#e0e0e0;border-color:#444}.bed-count{width:60px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:13px;text-align:center}.bed-remove{width:28px;height:28px;border:none;background:#fee2e2;color:#dc2626;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bed-remove:hover{background:#fecaca}.bed-add{padding:6px 12px;border:1px dashed #4f46e5;background:transparent;color:#4f46e5;border-radius:4px;font-size:12px;cursor:pointer;width:fit-content}.bed-add:hover{background:#eef2ff}.bed-hint{display:block;margin-top:6px;font-size:11px;color:#888}@media (max-width: 768px){.rooms-page .page-header{flex-wrap:wrap;gap:var(--space-sm, 8px)}.rooms-page .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.rooms-page .table{min-width:600px}.modal{padding:var(--space-sm, 8px)}.modal-content{padding:var(--space-lg, 20px)}}@media (max-width: 600px){.modal{padding:0;align-items:flex-end}.modal-content{max-height:85vh;max-width:100%;border-radius:12px 12px 0 0;padding:var(--space-md, 20px) var(--space-md, 16px)}.modal-lg{max-width:100%}.form-row{flex-direction:column;gap:0}.page-header{flex-direction:column;gap:var(--space-sm, 10px);align-items:stretch}.page-header h1{margin-bottom:0}.image-preview{max-width:100%}.rooms-page .table-wrapper{overflow-x:auto}.rooms-page .table{min-width:600px}.beds-editor{gap:var(--space-xs, 4px)}.bed-row{flex-wrap:wrap}.bed-row select{flex:1;min-width:0}}@media (max-width: 480px){.rooms-page h1{font-size:var(--text-lg, 16px)}.search-bar input{padding:var(--space-sm, 10px) var(--space-md, 12px);font-size:var(--text-base, 14px)}.modal-content{padding:var(--space-md, 16px) var(--space-sm, 12px)}.bed-add{width:100%;text-align:center}}.checkout-page h1{margin-bottom:4px}.checkout-page .subtitle{color:#6b7280;margin-bottom:20px;font-size:14px}.checkin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.checkin-card{padding:16px;cursor:pointer;border:2px solid #e5e7eb;transition:all .2s}.checkin-card:hover{border-color:#a5b4fc}.card-selected{border-color:#4f46e5;background:#eef2ff}.checkin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.checkin-card-header h3{margin:0;font-size:15px}.room-badge{background:#4f46e5;color:#fff;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.checkin-card-body{font-size:13px}.info-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid #f3f4f6}.info-row span:first-child{color:#6b7280}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af}.empty-icon{width:60px;height:60px;border-radius:50%;background:#dcfce7;color:#22c55e;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}.room-subtitle{color:#6b7280;margin-bottom:16px}.checkout-summary{background:#f9fafb;padding:14px;border-radius:6px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.summary-row span:first-child{color:#6b7280}.checkout-info{margin:16px 0;padding:10px 14px;background:#fefce8;border:1px solid #fde68a;border-radius:6px;font-size:13px;color:#92400e}@media (max-width: 768px){.checkin-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.checkin-card{padding:var(--space-md, 14px)}}@media (max-width: 600px){.checkin-grid{grid-template-columns:1fr}.checkin-card{padding:var(--space-md, 12px)}.checkin-card-header{flex-wrap:wrap;gap:var(--space-xs, 4px)}.checkin-card-header h3{font-size:var(--text-base, 14px)}.checkout-summary{padding:var(--space-md, 10px)}.summary-row{font-size:var(--text-sm, 13px)}}@media (max-width: 480px){.checkout-page h1{font-size:var(--text-lg, 16px)}.checkout-page .subtitle{font-size:var(--text-sm, 13px)}.empty-state{padding:var(--space-xl, 40px) var(--space-md, 16px)}.info-row{flex-direction:column;gap:var(--space-xs, 2px)}.checkout-info{font-size:var(--text-sm, 12px)}}.fd-page{padding:var(--space-md, 16px);max-width:1400px;margin:0 auto}.fd-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md, 16px);flex-wrap:wrap;gap:var(--space-sm, 8px)}.fd-title{font-size:var(--text-xl, 18px);font-weight:700;color:var(--gray-900, #111827);margin:0}.fd-header-right{display:flex;align-items:center;gap:var(--space-sm, 12px)}.fd-refresh-indicator{font-size:var(--text-xs, 11px);color:var(--gray-400, #9ca3af);background:var(--gray-50, #f9fafb);padding:var(--space-xs, 4px) var(--space-sm, 10px);border-radius:12px;white-space:nowrap;border:1px solid var(--gray-200, #e5e7eb)}.fd-today-badge{background:#eef2ff;color:var(--primary, #4f46e5);padding:var(--space-xs, 6px) var(--space-md, 14px);border-radius:20px;font-size:var(--text-sm, 13px);font-weight:600;white-space:nowrap}.fd-alert{padding:var(--space-sm, 10px) var(--space-md, 16px);border-radius:8px;margin-bottom:var(--space-sm, 12px);font-weight:500;animation:fdSlideIn .3s ease}.fd-alert-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.fd-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}@keyframes fdSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fd-tabs{display:flex;gap:var(--space-xs, 4px);margin-bottom:var(--space-md, 16px);overflow-x:auto;padding-bottom:var(--space-xs, 4px);flex-wrap:wrap;-webkit-overflow-scrolling:touch}.fd-tab{padding:var(--space-sm, 8px) var(--space-md, 16px);border:1px solid var(--gray-200, #e5e7eb);background:var(--gray-50, #f9fafb);border-radius:8px;cursor:pointer;font-size:var(--text-sm, 13px);font-weight:500;white-space:nowrap;transition:all .15s;min-height:var(--touch-target, 44px)}.fd-tab:hover{background:#eef2ff;border-color:#a5b4fc}.fd-tab.active{background:var(--primary, #4f46e5);color:#fff;border-color:var(--primary, #4f46e5);font-weight:600}.fd-loading{text-align:center;padding:var(--space-2xl, 40px);color:var(--gray-500, #6b7280)}.fd-spinner{width:32px;height:32px;border:3px solid var(--gray-200, #e5e7eb);border-top-color:var(--primary, #4f46e5);border-radius:50%;animation:fdSpin .6s linear infinite;margin:0 auto var(--space-sm, 8px)}@keyframes fdSpin{to{transform:rotate(360deg)}}.fd-btn{padding:var(--space-sm, 8px) var(--space-lg, 18px);border:none;border-radius:8px;cursor:pointer;font-size:var(--text-base, 14px);font-weight:600;transition:all .15s;display:inline-flex;align-items:center;gap:var(--space-xs, 6px);min-height:var(--touch-target, 44px)}.fd-btn:hover{opacity:.85;transform:translateY(-1px)}.fd-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.fd-btn-primary{background:var(--primary, #4f46e5);color:#fff}.fd-btn-secondary{background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151);border:1px solid var(--gray-300, #d1d5db)}.fd-btn-success{background:var(--success, #059669);color:#fff}.fd-btn-green{background:#10b981;color:#fff}.fd-btn-red{background:var(--danger, #ef4444);color:#fff}.fd-btn-sm{padding:var(--space-xs, 5px) var(--space-sm, 12px);font-size:var(--text-sm, 12px);min-height:var(--touch-target-sm, 36px)}.fd-btn-lg{padding:var(--space-md, 10px) var(--space-xl, 24px);font-size:var(--text-base, 14px)}.fd-dash-actions{margin-bottom:var(--space-sm, 12px);display:flex;gap:var(--space-sm, 8px)}.fd-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-sm, 10px);margin-bottom:var(--space-lg, 20px)}.fd-stat-card{padding:var(--space-md, 14px);border-radius:12px;text-align:center;color:#fff;box-shadow:0 2px 6px #00000014;transition:transform .15s}.fd-stat-card:hover{transform:translateY(-2px)}.fd-stat-green{background:linear-gradient(135deg,#059669,#10b981)}.fd-stat-red{background:linear-gradient(135deg,#dc2626,#ef4444)}.fd-stat-yellow{background:linear-gradient(135deg,#d97706,#f59e0b)}.fd-stat-blue{background:linear-gradient(135deg,#2563eb,#3b82f6)}.fd-stat-purple{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}.fd-stat-orange{background:linear-gradient(135deg,#ea580c,#f97316)}.fd-stat-pink{background:linear-gradient(135deg,#db2777,#ec4899)}.fd-stat-indigo{background:linear-gradient(135deg,#4338ca,#6366f1)}.fd-stat-teal{background:linear-gradient(135deg,#0d9488,#14b8a6)}.fd-stat-amber{background:linear-gradient(135deg,#b45309,#d97706)}.fd-stat-cyan{background:linear-gradient(135deg,#0891b2,#06b6d4)}.fd-stat-rose{background:linear-gradient(135deg,#be123c,#e11d48)}.fd-stat-lime{background:linear-gradient(135deg,#4d7c0f,#65a30d)}.fd-stat-num{font-size:var(--text-2xl, 26px);font-weight:800;line-height:1.1}.fd-stat-label{font-size:var(--text-xs, 11px);opacity:.9;margin-top:var(--space-xs, 4px);text-transform:uppercase;letter-spacing:.5px}.fd-dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md, 16px)}.fd-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-md, 16px)}.fd-card-wide{grid-column:1 / -1}.fd-card-title{font-size:var(--text-base, 14px);font-weight:700;color:var(--gray-700, #374151);margin:0 0 var(--space-sm, 12px);padding-bottom:var(--space-sm, 8px);border-bottom:2px solid var(--gray-100, #f3f4f6);display:flex;align-items:center;gap:var(--space-sm, 8px)}.fd-summary-chart{margin-bottom:var(--space-sm, 12px)}.fd-summary-bar{height:28px;display:flex;border-radius:8px;overflow:hidden;margin-bottom:var(--space-sm, 10px)}.fd-bar-segment{transition:width .5s ease}.fd-bar-green{background:#10b981}.fd-bar-red{background:#ef4444}.fd-bar-yellow{background:#f59e0b}.fd-bar-gray{background:#6b7280}.fd-summary-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm, 12px);font-size:var(--text-sm, 12px);color:var(--gray-500, #6b7280)}.fd-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--space-xs, 4px)}.fd-dot-green{background:#10b981}.fd-dot-red{background:#ef4444}.fd-dot-yellow{background:#f59e0b}.fd-dot-blue{background:#3b82f6}.fd-dot-gray{background:#6b7280}.fd-revenue-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.fd-rev-row{display:flex;justify-content:space-between;font-size:var(--text-sm, 13px);padding:var(--space-xs, 4px) 0;border-bottom:1px solid var(--gray-100, #f3f4f6)}.fd-rev-total{font-size:var(--text-lg, 15px);border-bottom:2px solid var(--primary, #4f46e5);padding:var(--space-sm, 8px) 0;color:var(--primary, #4f46e5)}.fd-activity-feed{max-height:300px;overflow-y:auto}.fd-activity-item{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) 0;border-bottom:1px solid var(--gray-100, #f3f4f6);font-size:var(--text-sm, 13px)}.fd-act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fd-act-dot.green{background:#10b981}.fd-act-dot.red{background:#ef4444}.fd-act-dot.blue{background:#3b82f6}.fd-act-text{flex:1}.fd-act-time{color:var(--gray-400, #9ca3af);font-size:var(--text-xs, 12px);white-space:nowrap}.fd-hk-list{display:flex;flex-direction:column;gap:var(--space-xs, 6px);max-height:260px;overflow-y:auto}.fd-hk-item{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-xs, 6px) var(--space-sm, 8px);background:var(--gray-50, #f9fafb);border-radius:8px;font-size:var(--text-sm, 12px)}.fd-hk-pending{opacity:.8}.fd-hk-room{font-weight:800;font-size:var(--text-base, 14px);color:var(--gray-900, #111827);min-width:36px}.fd-hk-info{display:flex;align-items:center;gap:var(--space-xs, 6px);flex-wrap:wrap;flex:1}.fd-hk-type{font-size:var(--text-xs, 11px);color:var(--gray-700, #374151);text-transform:capitalize}.fd-hk-type.urgent{color:var(--danger, #dc2626);font-weight:700}.fd-hk-type.high{color:var(--warning, #d97706);font-weight:600}.fd-hk-staff{font-size:var(--text-xs, 10px);color:var(--gray-500, #6b7280);background:var(--gray-200, #e5e7eb);padding:var(--space-xs, 1px) var(--space-xs, 6px);border-radius:4px}.fd-hk-time{font-size:var(--text-xs, 10px);color:#3b82f6;font-weight:600;margin-left:auto}.fd-hk-divider{border-top:1px dashed var(--gray-300, #d1d5db);margin:var(--space-xs, 6px) 0}.fd-hk-pending-header{font-size:var(--text-xs, 11px);font-weight:700;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-xs, 4px) 0}.fd-badge{display:inline-block;padding:var(--space-xs, 1px) var(--space-xs, 6px);border-radius:4px;font-size:var(--text-xs, 9px);font-weight:700;text-transform:uppercase;letter-spacing:.3px}.fd-badge-sm{font-size:var(--text-xs, 8px);padding:var(--space-xs, 1px) var(--space-xs, 5px)}.fd-badge-vip{background:#f59e0b;color:#fff}.fd-badge-urgent{background:var(--danger, #ef4444);color:#fff}.fd-booking{max-width:900px}.fd-booking-modes{display:flex;gap:var(--space-sm, 8px);margin-bottom:var(--space-md, 16px);flex-wrap:wrap}.fd-mode-btn{padding:var(--space-sm, 10px) var(--space-lg, 18px);border:2px solid var(--gray-200, #e5e7eb);background:#fff;border-radius:12px;cursor:pointer;font-size:var(--text-sm, 13px);font-weight:600;display:flex;align-items:center;gap:var(--space-xs, 6px);transition:all .15s;min-height:var(--touch-target, 44px)}.fd-mode-btn:hover{border-color:#a5b4fc}.fd-mode-btn.active{background:#eef2ff;border-color:var(--primary, #4f46e5);color:var(--primary, #4f46e5)}.fd-mode-fill{background:#fffbeb;border-color:#f59e0b;color:#92400e}.fd-mode-icon{font-size:18px}.fd-booking-step{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-lg, 20px)}.fd-booking-step h3{margin:0 0 var(--space-md, 16px);font-size:var(--text-lg, 16px);color:var(--gray-700, #374151)}.fd-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-sm, 12px)}.fd-form-full{grid-column:1 / -1}.fd-form-group{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}.fd-form-group label{font-size:var(--text-xs, 12px);font-weight:600;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.3px}.fd-form-group input,.fd-form-group select,.fd-form-group textarea{padding:var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:var(--text-base, 14px);transition:border-color .15s;min-height:var(--touch-target, 44px)}.fd-form-group input:focus,.fd-form-group select:focus,.fd-form-group textarea:focus{border-color:var(--primary, #4f46e5);outline:none;box-shadow:0 0 0 3px #4f46e51a}.fd-form-group textarea{resize:vertical;min-height:80px}.fd-form-row{margin:var(--space-xs, 8px) 0}.fd-form-row label{font-size:var(--text-sm, 13px);display:flex;align-items:center;gap:var(--space-xs, 6px);cursor:pointer}.fd-form-actions{display:flex;gap:var(--space-sm, 8px);margin-top:var(--space-md, 16px);justify-content:flex-end;flex-wrap:wrap}.fd-search{width:100%;padding:var(--space-sm, 10px) var(--space-md, 14px);border:1px solid var(--gray-300, #d1d5db);border-radius:10px;font-size:var(--text-base, 14px);margin-bottom:var(--space-sm, 12px);box-sizing:border-box;min-height:var(--touch-target, 44px)}.fd-search:focus{border-color:var(--primary, #4f46e5);outline:none;box-shadow:0 0 0 3px #4f46e51a}.fd-room-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-sm, 8px);max-height:350px;overflow-y:auto;margin-bottom:var(--space-sm, 12px)}.fd-room-option{padding:var(--space-md, 12px);border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;cursor:pointer;text-align:center;transition:all .15s}.fd-room-option:hover{border-color:#a5b4fc;background:#fafafa}.fd-room-option.selected{border-color:var(--primary, #4f46e5);background:#eef2ff}.fd-room-opt-num{font-size:var(--text-xl, 22px);font-weight:900;color:#000;letter-spacing:.5px}.fd-room-opt-type{font-size:var(--text-xs, 11px);color:var(--gray-500, #6b7280);margin:var(--space-xs, 2px) 0}.fd-room-opt-price{font-size:var(--text-sm, 13px);font-weight:700;color:var(--success, #059669)}.fd-room-opt-bed{font-size:var(--text-xs, 11px);color:var(--gray-400, #9ca3af);display:flex;align-items:center;gap:var(--space-xs, 3px);flex-wrap:wrap}.fd-room-opt-cap{margin-left:auto}.fd-bed-tag{display:inline-block;background:#eef2ff;color:#4338ca;font-size:var(--text-xs, 10px);font-weight:500;padding:var(--space-xs, 1px) var(--space-xs, 6px);border-radius:8px;white-space:nowrap}.dark .fd-bed-tag{background:#312e81;color:#c7d2fe}.fd-booking-summary{background:var(--gray-50, #f9fafb);border-radius:10px;padding:var(--space-md, 16px);margin-top:var(--space-md, 16px)}.fd-summary-row{display:flex;justify-content:space-between;padding:var(--space-xs, 6px) 0;font-size:var(--text-sm, 13px);border-bottom:1px solid var(--gray-200, #e5e7eb)}.fd-summary-total{font-size:var(--text-xl, 16px);font-weight:800;color:var(--primary, #4f46e5);border-bottom:2px solid var(--primary, #4f46e5);padding:var(--space-sm, 10px) 0;margin-top:var(--space-xs, 4px)}.fd-map-legend{display:flex;gap:var(--space-md, 16px);margin-bottom:var(--space-md, 16px);padding:var(--space-sm, 10px) var(--space-md, 14px);background:#fff;border-radius:10px;border:1px solid var(--gray-200, #e5e7eb);font-size:var(--text-sm, 13px);flex-wrap:wrap}.fd-floor-section{margin-bottom:var(--space-xl, 24px)}.fd-floor-title{font-size:var(--text-lg, 15px);font-weight:700;color:var(--gray-700, #374151);margin:0 0 var(--space-sm, 10px);padding-left:var(--space-sm, 8px);border-left:3px solid var(--primary, #4f46e5)}.fd-floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:var(--space-sm, 8px)}.fd-map-room{padding:var(--space-sm, 10px) var(--space-xs, 6px);border-radius:10px;text-align:center;color:#fff;font-size:var(--text-sm, 12px);position:relative;cursor:default;min-height:70px;display:flex;flex-direction:column;justify-content:center;transition:transform .15s}.fd-map-room:hover{transform:scale(1.05)}.fd-map-room-num{font-size:var(--text-xl, 18px);font-weight:800}.fd-map-room-status{font-size:var(--text-xs, 10px);opacity:.9;text-transform:uppercase}.fd-map-room-type{font-size:var(--text-xs, 9px);opacity:.7;margin-top:var(--space-xs, 2px)}.fd-map-room-icon{font-size:18px;line-height:1;margin-bottom:var(--space-xs, 1px)}.fd-map-legend-icons{margin-left:auto;font-size:14px;letter-spacing:2px;opacity:.6}.fd-map-vip{position:absolute;top:var(--space-xs, 2px);right:var(--space-xs, 4px);background:#f59e0b;color:#fff;font-size:var(--text-xs, 8px);padding:var(--space-xs, 1px) var(--space-xs, 4px);border-radius:4px;font-weight:700}.fd-map-dnd{position:absolute;top:var(--space-xs, 2px);left:var(--space-xs, 4px);background:#0000004d;font-size:var(--text-xs, 7px);padding:var(--space-xs, 1px) var(--space-xs, 4px);border-radius:4px}.fd-map-hk{font-size:var(--text-xs, 8px);background:#00000040;padding:var(--space-xs, 1px) var(--space-xs, 4px);border-radius:3px;margin-top:var(--space-xs, 1px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-map-time{font-size:var(--text-xs, 8px);color:#fffc;position:absolute;bottom:18px;right:var(--space-xs, 4px)}.fd-map-priority{position:absolute;bottom:var(--space-xs, 2px);right:var(--space-xs, 4px);display:flex;gap:var(--space-xs, 2px)}.fd-btn-priority{background:#0000004d;border:none;border-radius:3px;cursor:pointer;font-size:var(--text-base, 11px);padding:var(--space-xs, 1px) var(--space-xs, 4px);line-height:1;transition:all .15s;min-height:var(--touch-target-sm, 36px);min-width:var(--touch-target-sm, 36px)}.fd-btn-priority:hover{background:#00000080;transform:scale(1.1)}.fd-btn-priority:disabled{opacity:.4;cursor:not-allowed;transform:none}.fd-btn-priority.urgent{background:#ef444499}.fd-btn-priority.urgent:hover{background:#ef4444cc}.fd-checkin-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-md, 16px)}.fd-ci-rooms h3{margin:0 0 var(--space-sm, 8px);font-size:var(--text-lg, 15px);color:var(--gray-500, #6b7280)}.fd-ci-form{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-lg, 20px)}.fd-ci-form h3{margin:0 0 var(--space-md, 16px);font-size:var(--text-lg, 16px);color:var(--gray-700, #374151)}.fd-section-title{font-size:var(--text-sm, 13px);font-weight:700;color:var(--gray-500, #6b7280);margin:var(--space-md, 16px) 0 var(--space-sm, 8px);padding-bottom:var(--space-xs, 4px);border-bottom:1px solid var(--gray-200, #e5e7eb)}.fd-checkin-page{max-width:900px}.fd-checkin-modes{display:flex;gap:var(--space-sm, 8px);margin-bottom:var(--space-md, 16px);flex-wrap:wrap}.fd-checkin-modes .fd-mode-btn{flex:1;min-width:140px;padding:var(--space-sm, 10px) var(--space-md, 16px);border:2px solid var(--gray-200, #e5e7eb);border-radius:10px;background:#fff;font-size:var(--text-base, 14px);font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.fd-checkin-modes .fd-mode-btn.active{border-color:var(--primary, #4f46e5);background:#eef2ff;color:var(--primary, #4f46e5)}.fd-pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm, 10px)}.fd-pending-card{background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-md, 14px);cursor:pointer;transition:all .15s}.fd-pending-card:hover{border-color:#a5b4fc}.fd-pending-card.selected{border-color:var(--primary, #4f46e5);background:#fafaff}.fd-pending-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs, 6px)}.fd-pending-room{display:flex;align-items:center}.fd-ci-room-badge{display:inline-block;background:var(--primary, #4f46e5);color:#fff;font-weight:800;font-size:var(--text-base, 14px);padding:var(--space-xs, 2px) var(--space-md, 10px);border-radius:6px;line-height:1.5}.fd-ci-room-badge-lg{font-size:var(--text-xl, 18px);padding:var(--space-xs, 4px) var(--space-lg, 14px)}.fd-pending-body{display:flex;flex-direction:column;gap:var(--space-xs, 2px);font-size:var(--text-sm, 13px);color:var(--gray-500, #6b7280)}.fd-pending-actions{margin-top:var(--space-sm, 12px)}.fd-pending-actions .fd-btn{width:100%}.fd-co-layout{max-width:800px}.fd-co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-sm, 10px)}.fd-co-card{background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-md, 14px);cursor:pointer;transition:all .15s}.fd-co-card:hover{border-color:#a5b4fc}.fd-co-card.selected{border-color:var(--primary, #4f46e5);background:#eef2ff}.fd-co-card-hdr{display:flex;align-items:center;gap:var(--space-sm, 8px);flex-wrap:wrap;margin-bottom:var(--space-sm, 8px)}.fd-co-card-body{display:flex;flex-direction:column;gap:var(--space-xs, 3px);font-size:var(--text-sm, 12px);color:var(--gray-500, #6b7280)}.fd-badge-room{background:#eef2ff;color:var(--primary, #4f46e5);padding:var(--space-xs, 2px) var(--space-sm, 8px);border-radius:6px;font-size:var(--text-sm, 12px);font-weight:600}.fd-badge-pay{padding:var(--space-xs, 2px) var(--space-sm, 8px);border-radius:6px;font-size:var(--text-xs, 11px);font-weight:700}.fd-badge-pay.paid{background:#d1fae5;color:#065f46}.fd-badge-pay.due{background:#fee2e2;color:#991b1b}.fd-co-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md, 16px)}.fd-co-modal-content{background:#fff;border-radius:16px;padding:var(--space-lg, 24px);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:fdModalIn .2s ease}@keyframes fdModalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fd-co-modal-content h3{margin:0 0 var(--space-xs, 4px);font-size:var(--text-xl, 18px)}.fd-summary-list{margin:var(--space-sm, 12px) 0}.fd-balance{color:var(--danger, #dc2626)}.fd-select{padding:var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:var(--text-sm, 13px);min-height:var(--touch-target, 44px)}.fd-guests{max-width:700px}.fd-guest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-sm, 8px)}.fd-guest-card{display:flex;align-items:center;gap:var(--space-sm, 10px);padding:var(--space-md, 12px);background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:10px;cursor:pointer;transition:all .15s}.fd-guest-card:hover{border-color:#a5b4fc}.fd-guest-card.selected{border-color:var(--primary, #4f46e5);background:#eef2ff}.fd-guest-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary, #4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base, 14px);flex-shrink:0}.fd-guest-info{display:flex;flex-direction:column;gap:var(--space-xs, 2px);font-size:var(--text-sm, 13px)}.fd-guest-info small{color:var(--gray-400, #9ca3af);font-size:var(--text-xs, 11px)}.fd-id-preview{max-width:200px;border-radius:8px;margin:var(--space-sm, 8px) 0;border:1px solid var(--gray-200, #e5e7eb)}.fd-requests{max-width:800px}.fd-req-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm, 12px);flex-wrap:wrap;gap:var(--space-sm, 8px)}.fd-req-header h3{margin:0;font-size:var(--text-lg, 15px);color:var(--gray-700, #374151)}.fd-form-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:12px;padding:var(--space-md, 16px);margin-bottom:var(--space-sm, 12px)}.fd-req-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.fd-req-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:10px;padding:var(--space-md, 12px);display:flex;align-items:center;gap:var(--space-sm, 12px);flex-wrap:wrap}.fd-req-head{display:flex;flex-direction:column;gap:var(--space-xs, 4px);min-width:80px}.fd-req-status{font-size:var(--text-xs, 11px);font-weight:700;padding:var(--space-xs, 2px) var(--space-sm, 8px);border-radius:6px;text-transform:uppercase}.fd-req-status.pending{background:#fef3c7;color:#92400e}.fd-req-status.in_progress{background:#dbeafe;color:#1e40af}.fd-req-status.completed{background:#d1fae5;color:#065f46}.fd-req-type{font-size:var(--text-xs, 12px);color:var(--gray-500, #6b7280)}.fd-req-body{flex:1;font-size:var(--text-sm, 13px);min-width:200px}.fd-req-actions{display:flex;gap:var(--space-xs, 4px)}.fd-maint{max-width:800px}.fd-ticket-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.fd-ticket-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:10px;padding:var(--space-md, 12px)}.fd-ticket-card.priority-high{border-left:3px solid #f59e0b}.fd-ticket-card.priority-urgent{border-left:3px solid var(--danger, #ef4444)}.fd-ticket-head{display:flex;gap:var(--space-sm, 8px);align-items:center;margin-bottom:var(--space-xs, 6px);flex-wrap:wrap}.fd-ticket-body{font-size:var(--text-sm, 13px)}.fd-cat-badge{background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151);padding:var(--space-xs, 2px) var(--space-sm, 8px);border-radius:6px;font-size:var(--text-xs, 11px)}.fd-priority-badge{font-size:var(--text-xs, 10px);font-weight:700;padding:var(--space-xs, 2px) var(--space-xs, 6px);border-radius:4px;text-transform:uppercase}.fd-priority-badge.low{background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280)}.fd-priority-badge.normal{background:#dbeafe;color:#1e40af}.fd-priority-badge.high{background:#fef3c7;color:#92400e}.fd-priority-badge.urgent{background:#fee2e2;color:#991b1b}.fd-billing{max-width:800px}.fd-field-error{border-color:var(--danger, #ef4444)!important}.fd-field-error:focus{box-shadow:0 0 0 3px #ef444426!important}.fd-err-text{color:var(--danger, #ef4444);font-size:var(--text-xs, 11px);font-weight:500}.text-muted{color:var(--gray-400, #9ca3af);font-size:var(--text-sm, 13px)}@media (max-width: 768px){.fd-page{padding:var(--space-sm, 12px)}.fd-stat-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-xs, 8px)}.fd-stat-card{padding:var(--space-sm, 10px) var(--space-xs, 8px)}.fd-stat-num{font-size:var(--text-xl, 20px)}.fd-stat-label{font-size:var(--text-xs, 9px)}.fd-dash-grid,.fd-form-grid,.fd-checkin-layout{grid-template-columns:1fr}.fd-room-select-grid{grid-template-columns:repeat(3,1fr)}.fd-floor-grid{grid-template-columns:repeat(4,1fr)}.fd-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.fd-tab{flex-shrink:0}.fd-map-room{min-height:56px;padding:var(--space-xs, 6px) var(--space-xs, 4px)}.fd-map-room-num{font-size:var(--text-base, 14px)}}@media (max-width: 600px){.fd-stat-grid{grid-template-columns:repeat(3,1fr)}.fd-room-select-grid{grid-template-columns:repeat(2,1fr)}.fd-floor-grid{grid-template-columns:repeat(3,1fr)}.fd-guest-grid,.fd-co-grid,.fd-pending-grid{grid-template-columns:1fr}.fd-booking-modes{flex-direction:column}.fd-mode-btn{width:100%;justify-content:center}.fd-co-modal-content{padding:var(--space-md, 16px)}.fd-map-room{min-height:50px}.fd-map-room-num{font-size:var(--text-lg, 16px)}.fd-map-room-status{font-size:var(--text-xs, 9px)}}@media (max-width: 480px){.fd-stat-grid,.fd-room-select-grid,.fd-floor-grid{grid-template-columns:repeat(2,1fr)}.fd-btn{width:100%;justify-content:center}.fd-btn-sm{width:auto}.fd-title{font-size:var(--text-lg, 16px)}.fd-map-room{min-height:44px;padding:var(--space-xs, 4px)}.fd-map-room-num{font-size:var(--text-base, 14px)}.fd-map-room-status,.fd-map-room-type{display:none}}.rct-wrap{margin-top:var(--space-xl, 24px);border-top:2px dashed var(--gray-300, #d1d5db);padding-top:var(--space-lg, 20px)}.rct{font-family:Courier New,Courier,monospace;max-width:320px;margin:0 auto;background:#fff;color:var(--gray-900, #111827);font-size:var(--text-xs, 11px);line-height:1.4}.dark .rct{background:#1e1e2e;color:#e0e0e0}.rct-hdr{text-align:center;border-bottom:2px dashed var(--gray-300, #d1d5db);padding-bottom:var(--space-sm, 10px);margin-bottom:var(--space-xs, 8px)}.rct-hdr-title{font-size:var(--text-base, 14px);font-weight:900;letter-spacing:1px;color:var(--gray-900, #111827)}.dark .rct-hdr-title{color:#e0e0e0}.rct-hdr-title-mm{font-size:var(--text-base, 14px);font-weight:700;color:var(--gray-900, #111827)}.rct-hdr-title-np{font-size:var(--text-xs, 11px);color:var(--gray-600, #4b5563);margin-top:2px}.rct-hdr-title-en{font-size:var(--text-xs, 9px);color:var(--gray-400, #9ca3af);margin-top:1px;font-weight:500}.rct-hdr-sub{font-size:var(--text-xs, 8px);color:var(--gray-500, #6b7280);margin-top:var(--space-xs, 2px);line-height:1.3}.rct-hdr-contact{font-size:var(--text-xs, 9px);color:var(--gray-400, #9ca3af);margin-top:var(--space-xs, 1px)}.rct-hdr-divider{border-top:1px solid var(--gray-300, #d1d5db);margin:var(--space-xs, 6px) 0}.rct-hdr-rtitle{font-size:var(--text-xs, 11px);font-weight:700;letter-spacing:2px;color:var(--primary, #4f46e5)}.dark .rct-hdr-rtitle{color:#818cf8}.rct-meta{border-bottom:1px dashed var(--gray-300, #d1d5db);padding-bottom:var(--space-xs, 6px);margin-bottom:var(--space-sm, 8px)}.rct-meta-row{display:flex;justify-content:space-between;padding:var(--space-xs, 1px) 0;font-size:var(--text-xs, 10px)}.rct-meta-lbl{color:var(--gray-400, #9ca3af)}.rct-meta-val{color:var(--gray-900, #111827);font-weight:600}.dark .rct-meta-val{color:#e0e0e0}.rct-status{font-size:var(--text-xs, 9px);padding:var(--space-xs, 1px) var(--space-xs, 6px);border-radius:3px}.rct-status-confirmed{background:#dbeafe;color:#1d4ed8}.rct-status-paid{background:#d1fae5;color:#065f46}.rct-section{margin-bottom:var(--space-sm, 8px)}.rct-section-title{font-size:var(--text-xs, 9px);font-weight:700;letter-spacing:1px;color:var(--gray-500, #6b7280);border-bottom:1px solid var(--gray-200, #e5e7eb);padding-bottom:var(--space-xs, 3px);margin-bottom:var(--space-xs, 4px)}.rct-table{width:100%;border-collapse:collapse}.rct-td-lbl{font-size:var(--text-xs, 10px);color:var(--gray-500, #6b7280);padding:var(--space-xs, 2px) var(--space-xs, 4px) var(--space-xs, 2px) 0;white-space:nowrap;vertical-align:top}.rct-td-val{font-size:var(--text-xs, 10px);color:var(--gray-900, #111827);padding:var(--space-xs, 2px) 0;vertical-align:top}.dark .rct-td-val{color:#e0e0e0}.rct-right{text-align:right}.rct-center{text-align:center}.rct-capitalize{text-transform:capitalize}.rct-muted{color:var(--gray-400, #9ca3af);font-size:var(--text-xs, 9px)}.rct-total-row td{border-top:1px solid var(--gray-300, #d1d5db);padding-top:var(--space-xs, 4px)}.rct-total-lbl{font-size:var(--text-xs, 11px);font-weight:900;color:var(--gray-900, #111827)!important}.rct-total-val{font-size:var(--text-sm, 13px);font-weight:900;color:var(--gray-900, #111827)!important}.dark .rct-total-lbl,.dark .rct-total-val{color:#e0e0e0!important}.rct-footer{text-align:center;border-top:2px dashed var(--gray-300, #d1d5db);padding-top:var(--space-sm, 8px);margin-top:var(--space-sm, 8px)}.rct-footer-msg{font-size:var(--text-xs, 10px);color:var(--primary, #4f46e5);font-weight:700}.dark .rct-footer-msg{color:#818cf8}.rct-footer-sub{font-size:var(--text-xs, 8px);color:var(--gray-400, #9ca3af);margin-top:var(--space-xs, 2px)}.rct-actions{display:flex;gap:var(--space-sm, 10px);justify-content:center;margin-top:var(--space-md, 16px)}@media print{body{background:#fff!important}@page{margin:8mm}.fd-header,.fd-header-right,.fd-tabs,.fd-tab,.fd-booking-modes,.fd-mode-btn,.fd-mode-fill,.fd-booking-step,.fd-form-grid,.fd-form-group,.fd-form-actions,.fd-search,.fd-room-select-grid,.fd-booking-summary,.fd-form-row,.fd-section-title,.fd-checkin-modes,.fd-pending-section,.fd-pending-grid,.fd-pending-card,.fd-pending-hdr,.fd-pending-body,.fd-pending-actions,.fd-ci-rooms,.fd-ci-form,.fd-checkin-layout,.fd-checkin-page>h3,.fd-alert,.fd-dashboard,.fd-roommap,.fd-co-layout,.fd-guests,.fd-requests,.fd-co-modal,.fd-co-modal-content,.fd-co-card,.fd-co-grid,.fd-co-layout>input,.rct-actions,nav,.sidebar,.app-header{display:none!important}.fd-page,.fd-booking,.fd-checkin-page,.fd-co-layout{display:block!important;padding:0!important;margin:0!important;max-width:100%!important}.rct-wrap{display:block!important;border:none!important;padding:0!important;margin:0!important}.rct{max-width:100%!important;font-size:var(--text-xs, 10px)!important;background:#fff!important;color:#000!important}.rct-status{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.bookings-page h1,.filter-bar{margin-bottom:20px}.filter-bar select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-height:var(--touch-target, 44px)}.filter-bar select:focus{outline:none;border-color:#1976d2}@media (max-width: 768px){.bookings-page .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.bookings-page .table{min-width:600px}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px)}.filter-bar select{flex:1;min-width:140px}}@media (max-width: 600px){.filter-bar select{width:100%;flex:none}.bookings-page .table-wrapper{overflow-x:auto}.bookings-page .table{min-width:600px}}@media (max-width: 480px){.bookings-page .page-header{flex-direction:column;gap:var(--space-sm, 10px);align-items:stretch}.bookings-page .page-header h1{margin-bottom:0;font-size:var(--text-lg, 16px)}.bookings-page .page-header .btn{width:100%}.bookings-page h1{font-size:var(--text-lg, 16px)}}.guests-page{padding:24px}.guests-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.guests-page .page-actions{display:flex;gap:8px}.guests-page .search-bar{margin-bottom:16px}.guests-page .search-bar input{width:100%;max-width:400px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.guests-page .table-scroll-area{position:relative;overflow:visible}.guests-page .table-wrapper{overflow-x:auto}.guests-page .scroll-toolbar{display:flex;align-items:center;gap:4px;padding:4px 0 8px;justify-content:flex-end}.guests-page .scroll-hint{font-size:11px;color:#9ca3af;margin-right:4px}.guests-page .scroll-arrow{width:28px;height:28px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s;padding:0;line-height:1}.guests-page .scroll-arrow:hover:not(:disabled){background:#f3f4f6}.guests-page .scroll-arrow:disabled{opacity:.35;cursor:default}.guests-page .guest-thumbs{display:flex;gap:4px}.guests-page .guest-thumb{width:36px;height:36px;object-fit:cover;border-radius:4px;cursor:pointer}.guests-page .no-photo-label{color:#9ca3af;font-size:12px}.guests-page .action-btns{display:flex;gap:6px;flex-wrap:nowrap}.guests-page .btn-print-icon{font-size:16px;padding:4px 8px}.guests-page .photo-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0}.guests-page .photo-upload-slot label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#374151}.guests-page .photo-upload-box{width:100%;aspect-ratio:3.53 / 2;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:#f9fafb}.guests-page .photo-upload-box img{width:100%;height:100%;object-fit:cover}.guests-page .photo-placeholder{font-size:32px;color:#9ca3af}.guests-page .photo-filename{display:block;font-size:11px;color:#6b7280;margin-top:4px;word-break:break-all}.guests-page .muted{color:#9ca3af}.print-card{width:5in;margin:0 auto;background:#fff;font-family:Segoe UI,Arial,sans-serif;page-break-inside:avoid;border-radius:6px;box-shadow:0 4px 20px #0000001f;border:1px solid #e5e7eb}.print-card-inner{padding:20px 24px}.print-card-header{text-align:center;border-bottom:2px solid #1e3a5f;padding-bottom:12px;margin-bottom:14px}.print-card-header h2{font-size:16px;font-weight:700;margin:0;color:#1e3a5f}.print-card-header p{font-size:10px;color:#6b7280;margin:3px 0 0}.print-card-sub-en{font-size:9px!important;font-weight:500!important;color:#9ca3af!important}.print-card-sub-title{font-size:10px!important;font-weight:600!important;color:#4b5563!important;text-transform:uppercase;letter-spacing:.5px;margin-top:6px!important}.print-card-photos{display:flex;flex-direction:column;align-items:center;gap:4px;margin:10px 0}.print-card-photo{width:3.53in;height:2in;overflow:hidden;border:1px solid #d1d5db;border-radius:4px;background:#f9fafb}.print-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.print-card-no-photo{text-align:center;padding:24px;color:#9ca3af;font-size:13px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:4px;width:3.53in}.print-card-info{margin-bottom:10px}.print-card-info .row{display:flex;padding:4px 0;border-bottom:1px solid #f3f4f6}.print-card-info .row:last-child{border-bottom:none}.print-card-info .label{font-weight:600;font-size:10px;color:#6b7280;min-width:85px;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}.print-card-info .value{font-size:12px;color:#111827;font-weight:500}.print-card-footer{text-align:center;font-size:8px;color:#9ca3af;border-top:1px solid #e5e7eb;padding-top:8px;margin-top:10px}.guest-profiles-page{padding:20px}.filters-bar{display:flex;gap:12px;margin-bottom:20px}.search-input,.filter-select{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff}.search-input{flex:1;max-width:400px}.profiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.profile-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.profile-header h3{margin:0;font-size:18px}.vip-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.vip-badge.platinum{background:#e0e7ff;color:#4338ca}.vip-badge.gold{background:#fef3c7;color:#92400e}.vip-badge.silver{background:#f3f4f6;color:#4b5563}.vip-badge.regular{background:#f0fdf4;color:#166534}.profile-info{margin-bottom:16px}.profile-info p{margin:8px 0;font-size:14px;color:#374151}.profile-info strong{color:#111827}.blacklist-warning{color:#dc2626!important;background:#fef2f2;padding:8px;border-radius:6px;border-left:3px solid #dc2626}.profile-actions{display:flex;gap:8px;align-items:center}.vip-select{flex:1;padding:8px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px}.checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto}.loading,.empty-state{text-align:center;padding:40px;color:#6b7280}@media (max-width: 768px){.profiles-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.search-input{max-width:100%}}.hk-enterprise{padding:20px;max-width:1500px;margin:0 auto}.hk-main-title{font-size:22px;color:#111827;margin-bottom:16px;font-weight:700}.hk-tabs{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap}.hk-tab{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#6b7280;border-radius:8px;white-space:nowrap;transition:all .15s}.hk-tab:hover{background:#f3f4f6;color:#111827}.hk-tab.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.hk-dash-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:20px}.hk-stat-card-modern{background:#fff;border-radius:12px;padding:16px 12px;text-align:center;box-shadow:0 1px 3px #0000000f;border-top:3px solid var(--accent);transition:transform .15s}.hk-stat-card-modern:hover{transform:translateY(-2px)}.hk-stat-value{font-size:26px;font-weight:800;color:var(--accent)}.hk-stat-label-modern{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-top:4px;font-weight:600}.hk-dash-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px;margin-bottom:20px}@media (max-width: 1000px){.hk-dash-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.hk-dash-grid{grid-template-columns:1fr}.hk-dash-stats{grid-template-columns:repeat(3,1fr)}}.hk-dash-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #0000000f}.hk-dash-card-wide{grid-column:span 1}@media (min-width: 1001px){.hk-dash-card-wide{grid-column:span 2}}.hk-dash-card h3{font-size:14px;color:#6b7280;margin-bottom:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.hk-task-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hk-task-summary div{background:#f9fafb;padding:10px;border-radius:8px;text-align:center;font-size:13px;color:#374151}.hk-task-summary div strong{display:block;font-size:20px;color:#111827;margin-bottom:2px}.hk-floor-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.hk-floor-label{width:60px;font-size:12px;font-weight:600;color:#374151}.hk-floor-bar-bg{flex:1;height:20px;background:#f3f4f6;border-radius:10px;overflow:hidden;position:relative}.hk-floor-bar-fill{height:100%;position:absolute;top:0;left:0;border-radius:10px;transition:width .3s}.hk-floor-count{width:100px;font-size:11px;color:#9ca3af;text-align:right}.hk-activity-feed{max-height:400px;overflow-y:auto}.hk-activity-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.hk-activity-item:last-child{border-bottom:none}.hk-activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.hk-activity-dot.clean{background:#10b981}.hk-activity-dot.dirty{background:#ef4444}.hk-activity-dot.cleaning{background:#f59e0b}.hk-activity-dot.inspected{background:#3b82f6}.hk-activity-text{flex:1}.hk-activity-text strong{color:#111827}.hk-activity-time{font-size:11px;color:#9ca3af;white-space:nowrap}.text-muted{color:#9ca3af;font-size:13px}.hk-room-controls{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.hk-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px}.hk-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:13px;background:#fff;min-width:140px}.hk-room-grid-enterprise{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.hk-room-card-ent{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 3px #0000000f;transition:transform .15s,box-shadow .15s}.hk-room-card-ent:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.hk-room-card-ent.occ-available{border-left:4px solid #10b981}.hk-room-card-ent.occ-occupied{border-left:4px solid #3b82f6}.hk-room-card-ent.occ-maintenance{border-left:4px solid #ef4444}.hk-room-card-ent.clean-clean{border-top:3px solid #10b981}.hk-room-card-ent.clean-dirty{border-top:3px solid #ef4444}.hk-room-card-ent.clean-cleaning{border-top:3px solid #f59e0b}.hk-room-card-ent.clean-inspected{border-top:3px solid #3b82f6}.hk-room-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.hk-room-card-head h3{font-size:18px;margin:0;color:#111827}.hk-room-badges{display:flex;gap:4px}.hk-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.hk-badge-vip{background:#fef3c7;color:#92400e}.hk-badge-dnd{background:#fce7f3;color:#be185d}.hk-badge-smoke{background:#e0e7ff;color:#4338ca}.hk-room-card-info{display:flex;gap:6px;margin-bottom:6px}.hk-occ-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase}.hk-occ-badge.occupied{background:#dbeafe;color:#1d4ed8}.hk-occ-badge.available{background:#d1fae5;color:#065f46}.hk-occ-badge.maintenance{background:#fee2e2;color:#b91c1c}.hk-clean-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px}.hk-clean-badge.clean{background:#d1fae5;color:#065f46}.hk-clean-badge.dirty{background:#fee2e2;color:#b91c1c}.hk-clean-badge.cleaning{background:#fef3c7;color:#92400e}.hk-clean-badge.inspected{background:#dbeafe;color:#1d4ed8}.hk-room-card-meta{font-size:12px;color:#6b7280;margin-bottom:8px;line-height:1.5;display:flex;flex-direction:column}.hk-guest-name{font-weight:600;color:#111827}.hk-room-actions{display:flex;gap:4px;flex-wrap:wrap}.hk-btn-sm{padding:4px 10px;font-size:10px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.hk-btn-sm:disabled{opacity:.4;cursor:not-allowed}.hk-btn-sm:hover:not(:disabled){opacity:.8}.hk-btn-green{background:#d1fae5;color:#065f46}.hk-btn-amber{background:#fef3c7;color:#92400e}.hk-btn-red{background:#fee2e2;color:#b91c1c}.hk-btn-blue{background:#dbeafe;color:#1d4ed8}.hk-btn-secondary{background:#f3f4f6;color:#374151}.hk-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px;flex-wrap:wrap}.hk-tasks-header h3{font-size:15px;color:#6b7280;margin:0}.hk-filter-group{display:flex;gap:4px;flex-wrap:wrap}.hk-pill{padding:5px 12px;border:1px solid #d1d5db;background:#fff;border-radius:20px;cursor:pointer;font-size:12px;color:#374151;transition:all .15s}.hk-pill:hover{background:#f3f4f6}.hk-pill.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.hk-form-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:16px}.hk-form-inline{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.hk-form-inline select,.hk-form-inline input{padding:8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.form-row{display:flex;gap:12px;margin-bottom:10px}.form-row .form-group{flex:1;min-width:0}.form-actions{display:flex;gap:8px;margin-top:12px}.hk-task-list{display:flex;flex-direction:column;gap:8px}.hk-task-card{background:#fff;border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000f;border-left:4px solid #e5e7eb}.hk-task-card.priority-urgent{border-left-color:#ef4444}.hk-task-card.priority-high{border-left-color:#f59e0b}.hk-task-card.priority-normal{border-left-color:#3b82f6}.hk-task-card.priority-low{border-left-color:#9ca3af}.hk-task-head{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}.hk-task-num{font-size:11px;font-weight:700;color:#6b7280;font-family:monospace;background:#f3f4f6;padding:2px 6px;border-radius:4px}.hk-task-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase}.hk-task-status.status-pending{background:#f3f4f6;color:#374151}.hk-task-status.status-assigned{background:#dbeafe;color:#1d4ed8}.hk-task-status.status-in_progress{background:#fef3c7;color:#92400e}.hk-task-status.status-waiting_inspection{background:#e0e7ff;color:#4338ca}.hk-task-status.status-completed{background:#d1fae5;color:#065f46}.hk-task-status.status-reclean_required{background:#fee2e2;color:#b91c1c}.hk-task-status.status-reported{background:#f3f4f6;color:#374151}.hk-task-status.status-fixed{background:#d1fae5;color:#065f46}.hk-task-status.status-inspected{background:#dbeafe;color:#1d4ed8}.hk-task-status.status-closed{background:#e5e7eb;color:#374151}.hk-priority-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.hk-priority-badge.urgent{background:#fee2e2;color:#b91c1c}.hk-priority-badge.high{background:#fef3c7;color:#92400e}.hk-priority-badge.normal{background:#dbeafe;color:#1d4ed8}.hk-priority-badge.low{background:#f3f4f6;color:#6b7280}.hk-category-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;background:#f3f4f6;color:#374151}.hk-task-body{font-size:13px;color:#374151;line-height:1.5}.hk-task-notes{font-size:12px;color:#6b7280;font-style:italic;margin-top:4px;padding:4px 8px;background:#f9fafb;border-radius:4px}.hk-task-remarks{font-size:12px;color:#92400e;margin-top:4px;padding:4px 8px;background:#fef3c7;border-radius:4px}.hk-task-actions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;align-items:center}.hk-select-sm{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:11px;background:#fff;min-width:120px}.hk-checklist{margin-bottom:12px}.hk-check-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:#374151;cursor:pointer}.hk-check-item input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.hk-toast{position:fixed;top:80px;right:20px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:9999;animation:hkToastIn .3s ease,hkToastOut .3s ease 2.7s forwards;box-shadow:0 4px 12px #00000026}.hk-toast-success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.hk-toast-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}@keyframes hkToastIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes hkToastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (max-width: 768px){.hk-enterprise{padding:var(--space-sm, 12px)}.hk-tabs{gap:var(--space-xs, 4px)}.hk-tab{padding:var(--space-sm, 8px) var(--space-md, 12px);font-size:var(--text-sm, 12px)}.hk-room-grid-enterprise{grid-template-columns:repeat(2,1fr)}.hk-form-inline{flex-direction:column;align-items:stretch}.form-row{flex-direction:column;gap:var(--space-sm, 8px)}.hk-dash-stats{grid-template-columns:repeat(3,1fr)}.hk-stat-card-modern{padding:var(--space-sm, 12px) var(--space-sm, 8px)}.hk-stat-value{font-size:var(--text-2xl, 20px)}.hk-dash-grid{grid-template-columns:1fr 1fr}.hk-tasks-header{flex-direction:column;align-items:stretch}.hk-filter-group{flex-wrap:wrap}}@media (max-width: 600px){.hk-enterprise{padding:var(--space-sm, 10px)}.hk-main-title{font-size:var(--text-lg, 16px)}.hk-room-grid-enterprise{grid-template-columns:1fr}.hk-dash-stats{grid-template-columns:repeat(2,1fr)}.hk-dash-grid{grid-template-columns:1fr}.hk-room-controls{flex-direction:column}.hk-search{min-width:auto;width:100%}.hk-select{width:100%}.hk-room-actions{flex-wrap:wrap}.hk-btn-sm{flex:1;min-width:0;padding:var(--space-sm, 6px) var(--space-sm, 10px);font-size:var(--text-xs, 11px)}.hk-task-actions{flex-direction:column;align-items:stretch}.hk-select-sm,.hk-form-inline select,.hk-form-inline input{width:100%}}@media (max-width: 480px){.hk-enterprise{padding:var(--space-xs, 8px)}.hk-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.hk-tab{flex-shrink:0;padding:var(--space-xs, 6px) var(--space-sm, 10px);font-size:var(--text-xs, 11px)}.hk-dash-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-xs, 6px)}.hk-stat-value{font-size:var(--text-xl, 18px)}.hk-stat-label-modern{font-size:var(--text-xs, 10px)}.hk-task-head{gap:var(--space-xs, 4px)}.hk-pill{padding:var(--space-xs, 4px) var(--space-sm, 10px);font-size:var(--text-xs, 11px)}.hk-floor-count{width:auto;font-size:var(--text-xs, 10px)}}.reports-page{padding:0;max-width:100%}.r-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.r-page-header h1{margin:0;font-size:1.5rem;font-weight:700}.r-date-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.r-date-range input[type=date]{padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff}.r-date-sep{color:#94a3b8;font-weight:500}.r-btn{padding:8px 18px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s}.r-btn-primary{background:#6366f1;color:#fff}.r-btn-primary:hover{background:#4f46e5}.r-btn-sm{padding:5px 12px;font-size:12px}.r-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px;border-bottom:1px solid #e5e7eb;-webkit-overflow-scrolling:touch}.r-tab-btn{padding:8px 16px;border:none;background:transparent;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .2s}.r-tab-btn:hover{color:#6366f1}.r-tab-btn.active{color:#6366f1;border-bottom-color:#6366f1;font-weight:600}.r-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.r-kpi-card{background:#fff;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px #00000014;border-left:4px solid;transition:transform .2s}.r-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.r-kpi-icon{font-size:28px}.r-kpi-body{flex:1;min-width:0}.r-kpi-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.r-kpi-value{font-size:22px;font-weight:700;line-height:1.2}.r-kpi-sub{font-size:12px;color:#64748b;margin-top:2px}.r-section{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.r-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.r-section-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.r-section-actions{display:flex;gap:8px}.r-charts-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.r-half{margin-bottom:0}.r-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.r-table{width:100%;border-collapse:collapse;font-size:14px}.r-table th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap}.r-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9;color:#334155}.r-table tr:hover td{background:#f8fafc}.r-table tr:last-child td{border-bottom:none}.r-empty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}.r-loading{text-align:center;padding:40px;color:#64748b;font-size:16px}.r-tooltip{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px #00000026;font-size:13px}.r-tooltip p{margin:4px 0}.r-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.r-summary-item{background:#f8fafc;border-radius:8px;padding:12px 16px}.r-si-label{display:block;font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.r-si-value{display:block;font-size:20px;font-weight:700;color:#1e293b;margin-top:4px}.r-change{font-size:13px;font-weight:600}.r-change.positive{color:#10b981}.r-change.negative{color:#ef4444}.r-change.neutral{color:#94a3b8}@media (max-width: 768px){.r-charts-row{grid-template-columns:1fr}.r-kpi-grid{grid-template-columns:repeat(2,1fr)}.r-page-header{flex-direction:column}.r-tabs{gap:0}.r-tab-btn{padding:8px 12px;font-size:13px}.r-section{padding:16px}.r-kpi-card{padding:12px 16px}.r-kpi-value{font-size:18px}}@media (max-width: 480px){.r-kpi-grid{grid-template-columns:1fr}.r-date-range input[type=date]{width:100%}.r-date-range{flex-direction:column;align-items:stretch}.r-page-header h1{font-size:1.2rem}.r-summary-grid{grid-template-columns:1fr 1fr}}.users-page h1{margin-bottom:20px}.role-badge{padding:4px 8px;border-radius:4px;font-size:12px;background:#e3f2fd;color:#1565c0;text-transform:capitalize}@media (max-width: 768px){.users-page .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-page .table{min-width:500px}}@media (max-width: 600px){.users-page .page-header{flex-wrap:wrap;gap:var(--space-sm, 8px)}.role-badge{font-size:var(--text-xs, 11px)}}@media (max-width: 480px){.users-page .page-header{flex-direction:column;gap:var(--space-sm, 10px);align-items:stretch}.users-page .page-header .btn{width:100%}.users-page h1{font-size:var(--text-lg, 16px)}}.doorlock-page h1{margin-bottom:20px}.tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.tab{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:#6b7280;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#4f46e5}.tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.lock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}.lock-card{padding:20px;border:1px solid #e5e7eb;transition:box-shadow .2s}.lock-card:hover{box-shadow:0 2px 8px #00000014}.card-maintenance{background:#fefce8;border-color:#fde68a}.lock-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.lock-card-header h3{margin:0;font-size:16px}.lock-status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.lock-status-dot.online{background:#22c55e;box-shadow:0 0 6px #22c55e66}.lock-status-dot.offline{background:#ef4444;box-shadow:0 0 6px #ef444466}.lock-type{color:#6b7280;font-size:13px;margin:0 0 12px}.lock-details{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:14px;font-size:13px}.detail{color:#374151}.battery{font-weight:600;margin-left:4px}.battery.high{color:#22c55e}.battery.medium{color:#f59e0b}.battery.low{color:#ef4444}.lock-card-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:3px 8px;font-size:11px}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.btn-warning{background:#f59e0b;color:#fff}.btn-warning:hover{background:#d97706}.btn-outline{background:#fff;color:#4f46e5;border:1px solid #4f46e5}.btn-outline:hover{background:#eef2ff}.card-num{font-family:Courier New,monospace;font-size:12px;letter-spacing:.5px}.room-cards-section{margin-top:14px;padding-top:14px;border-top:1px solid #e5e7eb}.room-cards-section h4{margin:0 0 8px;font-size:14px}.table-sm th,.table-sm td{padding:6px 8px;font-size:13px}.text-muted{color:#9ca3af;font-style:italic}.cards-section,.logs-section{margin-top:10px}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:14px}.logs-list{display:flex;flex-direction:column;gap:6px}.log-entry{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:6px;background:#f9fafb;border-left:3px solid #e5e7eb;font-size:13px}.log-success{border-left-color:#22c55e}.log-failed{border-left-color:#ef4444}.log-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.log-success .log-icon{background:#dcfce7;color:#16a34a}.log-failed .log-icon{background:#fce4ec;color:#ef4444}.log-info{flex:1;display:flex;flex-wrap:wrap;gap:4px 12px}.log-action{font-weight:600;text-transform:capitalize}.log-room{color:#6b7280}.log-card{color:#6b7280;font-family:Courier New,monospace;font-size:12px}.log-user{color:#6b7280}.log-time{color:#9ca3af;font-size:12px;white-space:nowrap}@media (max-width: 768px){.lock-grid{grid-template-columns:1fr}.lock-card-actions{flex-wrap:wrap}.lock-card-actions .btn{flex:1;min-width:120px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:var(--space-sm, 10px) var(--space-md, 16px);font-size:var(--text-sm, 13px);white-space:nowrap}}@media (max-width: 600px){.lock-card-actions{flex-direction:column}.lock-card-actions .btn{width:100%}.log-entry{flex-direction:column;align-items:flex-start;gap:var(--space-xs, 6px)}.log-time{white-space:normal;font-size:var(--text-xs, 11px)}.lock-details{gap:var(--space-xs, 6px) var(--space-md, 12px)}.lock-card{padding:var(--space-md, 16px)}.table-sm{overflow-x:auto}}@media (max-width: 480px){.doorlock-page h1{font-size:var(--text-lg, 16px)}.lock-card-header h3{font-size:var(--text-base, 14px)}.lock-grid{gap:var(--space-sm, 10px)}.logs-header{font-size:var(--text-sm, 13px)}}.telegram-page{padding:20px}.telegram-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.telegram-page .bot-status{background:#4caf50;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px}.telegram-page .tab-bar{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #eee}.telegram-page .tab-btn{padding:10px 24px;border:none;background:none;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.telegram-page .tab-btn.active{color:#1976d2;border-bottom-color:#1976d2;font-weight:600}.subscriber-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.subscriber-card{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;position:relative}.subscriber-card.inactive{opacity:.5}.subscriber-avatar{width:44px;height:44px;border-radius:50%;background:#1976d2;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;flex-shrink:0}.subscriber-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.subscriber-meta{font-size:12px;color:#888}.btn-remove{position:absolute;top:8px;right:8px;border:none;background:none;cursor:pointer;color:#ccc;font-size:16px;padding:4px}.btn-remove:hover{color:#e53935}.generate-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.generate-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:16px 0}.generate-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#666}.generate-form select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.code-display{margin-top:16px;padding:16px;background:#f5f5f5;border-radius:6px;border:2px dashed #1976D2}.code-label{font-size:13px;color:#666;display:block;margin-bottom:8px}.code-value{display:flex;align-items:center;gap:8px;cursor:pointer}.code-value code{font-size:24px;font-weight:700;letter-spacing:4px;color:#1976d2}.btn-copy{border:none;background:none;cursor:pointer;font-size:18px}.code-expiry{font-size:12px;color:#999;margin-top:8px;display:block}.codes-list h3{margin-bottom:12px}.codes-list table{width:100%;border-collapse:collapse}.codes-list th{text-align:left;padding:10px 12px;background:#f5f5f5;font-size:12px;text-transform:uppercase;color:#666}.codes-list td{padding:10px 12px;border-bottom:1px solid #eee;font-size:13px}.codes-list code{background:#f0f0f0;padding:2px 8px;border-radius:3px;font-size:13px;letter-spacing:1px}.codes-list .used{opacity:.5}.empty{color:#999;text-align:center;padding:40px}@media (max-width: 768px){.subscriber-grid{grid-template-columns:1fr}.telegram-page .tab-btn{padding:var(--space-sm, 8px) var(--space-md, 16px);font-size:var(--text-sm, 13px)}.code-value code{font-size:var(--text-xl, 18px)}.telegram-page .tab-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 600px){.telegram-page{padding:var(--space-sm, 14px)}.subscriber-card{padding:var(--space-md, 12px)}.generate-form{flex-direction:column;align-items:stretch}.generate-form label,.generate-form select{width:100%}.codes-list table{overflow-x:auto}}@media (max-width: 480px){.telegram-page{padding:var(--space-sm, 12px)}.telegram-page .page-header{flex-direction:column;gap:var(--space-sm, 10px);align-items:stretch}.generate-form{flex-direction:column;align-items:stretch}.generate-form label,.generate-form select,.generate-form .btn{width:100%}.codes-list table{min-width:500px}.codes-list .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.code-value code{font-size:var(--text-lg, 16px);letter-spacing:2px}}.invoice-settings-page{max-width:720px}.invoice-settings-page h1{margin-bottom:24px}.settings-form{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#555;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.logo-preview{margin-top:8px;max-height:80px;border-radius:4px;border:1px solid #eee}.alert{padding:12px 16px;border-radius:6px;margin-bottom:16px;background:#d1fae5;color:#065f46;font-weight:500}.btn-primary{margin-top:8px}@media (max-width: 768px){.settings-form{padding:var(--space-md, 20px)}.invoice-settings-page{max-width:100%}}@media (max-width: 600px){.form-row{flex-direction:column;gap:0}.settings-form{padding:var(--space-md, 16px)}.form-group input,.form-group select,.form-group textarea{font-size:16px}}@media (max-width: 480px){.invoice-settings-page h1{font-size:var(--text-lg, 16px)}.settings-form{padding:var(--space-sm, 14px)}.logo-preview{max-height:60px}}.tax-settings-page{max-width:960px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0}.tax-table-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tax-table-wrap table{margin:0}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-active{background:#d1fae5;color:#065f46}.badge-inactive{background:#fee2e2;color:#991b1b}.actions-cell{display:flex;gap:6px}.btn-sm{padding:4px 10px;font-size:12px}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;padding:24px;width:480px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal h2{margin:0 0 16px}.modal-body{margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.empty{text-align:center;padding:40px!important;color:#999}@media (max-width: 768px){.page-header{flex-direction:column;gap:var(--space-md, 12px);align-items:stretch}.tax-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tax-table-wrap table{min-width:600px}}@media (max-width: 600px){.modal-overlay{padding:0;align-items:flex-end}.modal{width:100%;max-width:100%;max-height:85vh;border-radius:12px 12px 0 0;padding:var(--space-md, 20px) var(--space-md, 16px)}.actions-cell{flex-direction:column;gap:var(--space-xs, 4px)}.actions-cell .btn-sm{width:100%}.tax-settings-page{max-width:100%}}@media (max-width: 480px){.tax-settings-page h1{font-size:var(--text-lg, 16px)}.badge{font-size:var(--text-xs, 11px);padding:var(--space-xs, 2px) var(--space-sm, 8px)}.modal h2{font-size:var(--text-lg, 16px)}}.analytics-page{max-width:1200px}.period-tabs{display:flex;gap:4px;background:#f1f5f9;padding:3px;border-radius:8px}.period-btn{padding:6px 16px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;color:#64748b;transition:all .2s}.period-btn.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001f}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.kpi-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000000f;display:flex;flex-direction:column}.kpi-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:600}.kpi-value{font-size:28px;font-weight:700;color:#1e293b;margin:8px 0 4px}.kpi-period{font-size:12px;color:#94a3b8}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.chart-card{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 4px #0000000f}.chart-card.full-width{grid-column:1 / -1}.chart-card h3{margin:0 0 16px;font-size:15px;color:#334155}.bar-chart{display:flex;align-items:flex-end;gap:3px;height:180px;padding:0 4px;border-bottom:1px solid #e2e8f0;position:relative}.bar-item{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:1px}.bar{width:100%;max-width:32px;background:linear-gradient(to top,#3b82f6,#60a5fa);border-radius:3px 3px 0 0;min-height:2px;transition:height .3s}.stacked-bar .bar{max-width:20px}.bar-confirmed{background:linear-gradient(to top,#3b82f6,#60a5fa)}.bar-checkedin{background:linear-gradient(to top,#10b981,#34d399)}.chart-labels{display:flex;gap:3px;padding:6px 4px 0}.chart-label{flex:1;font-size:10px;color:#94a3b8;text-align:center}.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:12px;color:#64748b}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.dot-confirmed{background:#3b82f6}.dot-checkedin{background:#10b981}.payment-list{display:flex;flex-direction:column;gap:8px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f8fafc;border-radius:6px}.payment-name{font-weight:600;color:#334155;flex:1}.payment-count{color:#94a3b8;font-size:13px;margin-right:16px}.payment-total{font-weight:600;color:#1e293b}.no-data{color:#94a3b8;font-size:13px;padding:20px;text-align:center;width:100%}.empty{text-align:center;padding:24px!important;color:#94a3b8}@media (max-width: 768px){.kpi-grid,.chart-grid{grid-template-columns:1fr}.kpi-card,.chart-card{padding:var(--space-md, 16px)}.bar-chart{height:160px}}@media (max-width: 600px){.kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-sm, 10px)}.kpi-value{font-size:var(--text-xl, 22px)}.kpi-label{font-size:var(--text-xs, 11px)}.period-tabs{flex-wrap:wrap;justify-content:center}.chart-legend{flex-wrap:wrap;gap:var(--space-sm, 10px)}.payment-item{flex-wrap:wrap;gap:var(--space-xs, 6px)}}@media (max-width: 480px){.kpi-grid{grid-template-columns:1fr}.kpi-value{font-size:var(--text-xl, 20px)}.period-btn{flex:1;text-align:center;padding:var(--space-sm, 8px) var(--space-sm, 10px);font-size:var(--text-sm, 12px)}.bar-chart{height:140px}.chart-card h3{font-size:var(--text-sm, 13px)}.analytics-page{max-width:100%}}.col-page{max-width:1000px;margin:0 auto;padding:16px}.col-header{margin-bottom:16px}.col-title{font-size:22px;font-weight:800;color:#111827;margin:0}.col-alert{padding:10px 14px;border-radius:8px;margin-bottom:12px;font-weight:600;font-size:13px}.col-alert-success{background:#d1fae5;color:#065f46}.col-alert-error{background:#fee2e2;color:#991b1b}.col-tabs{display:flex;gap:6px;margin-bottom:16px;overflow-x:auto}.col-tab{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:#f3f4f6;color:#6b7280;white-space:nowrap;transition:all .15s}.col-tab.active{background:#4f46e5;color:#fff}.col-tab:hover:not(.active){background:#e5e7eb}.col-input{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px}.col-input-sm{width:140px}.col-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.col-btn{padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.col-btn-primary{background:#4f46e5;color:#fff}.col-btn-primary:hover{background:#4338ca}.col-btn-secondary{background:#f3f4f6;color:#374151}.col-btn-secondary:hover{background:#e5e7eb}.col-btn-sm{padding:5px 10px;font-size:12px}.col-btn-lg{width:100%;padding:12px;font-size:15px}.col-btn-ghost{background:none;color:#4f46e5;padding:4px 8px}.col-btn:disabled{opacity:.5;cursor:not-allowed}.col-loading{display:flex;justify-content:center;padding:40px}.col-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:col-spin .6s linear infinite}@keyframes col-spin{to{transform:rotate(360deg)}}.col-table{width:100%;border-collapse:collapse;font-size:13px}.col-table th{text-align:left;padding:8px 10px;background:#f9fafb;color:#6b7280;font-weight:600;border-bottom:2px solid #e5e7eb;white-space:nowrap}.col-table td{padding:8px 10px;border-bottom:1px solid #f3f4f6}.col-table tbody tr:hover{background:#f9fafb}.col-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.col-form-group{margin-bottom:10px}.col-form-group-rel{position:relative}.col-form-group label{display:block;font-size:12px;font-weight:600;color:#6b7280;margin-bottom:4px}.col-form-group input,.col-form-group select,.col-form-group textarea{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;box-sizing:border-box}.col-form-group input:focus,.col-form-group select:focus,.col-form-group textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.col-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:160px;overflow-y:auto;z-index:100;box-shadow:0 4px 12px #0000001a}.col-dropdown-item{padding:8px 10px;cursor:pointer;font-size:13px}.col-dropdown-item:hover{background:#eef2ff}.cDash-controls{display:flex;align-items:center;gap:8px;margin-bottom:16px}.cDash-date{font-size:14px;font-weight:700;color:#4f46e5}.cDash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:16px}.cDash-card{background:#fff;border-radius:12px;padding:16px;text-align:center;border:2px solid #e5e7eb}.cDash-card-purple{border-color:#a5b4fc}.cDash-card-blue{border-color:#93c5fd}.cDash-card-green{border-color:#6ee7b7}.cDash-card-num{font-size:26px;font-weight:900;color:#111827}.cDash-card-num small{font-size:14px;font-weight:600;color:#6b7280}.cDash-card-label{font-size:12px;color:#6b7280;margin-top:4px}.cDash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cDash-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px}.cDash-panel-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cDash-panel-hdr h3{margin:0;font-size:14px;color:#374151}.cDash-recent{margin-top:14px}.cDash-recent h4{font-size:12px;color:#9ca3af;margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.cDash-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px solid #f3f4f6}.cDash-row-lbl{font-weight:600;color:#374151}.cDonation{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.cDonation-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.cDonation-form h3{margin:0 0 14px;font-size:15px;color:#374151}.cDonation-receipt{background:#fff;border:2px solid #4f46e5;border-radius:12px;padding:20px}.cReceipt{font-family:Courier New,monospace;max-width:320px;margin:0 auto}.cReceipt-hdr{text-align:center;border-bottom:2px dashed #d1d5db;padding-bottom:10px;margin-bottom:10px}.cReceipt-hdr h2{margin:0;font-size:13px;color:#111827}.cReceipt-hdr p{margin:4px 0 0;font-size:12px;color:#6b7280;font-weight:600}.cReceipt-body{padding:4px 0}.cReceipt-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.cReceipt-total{font-size:16px;font-weight:900;color:#111827;padding:8px 0}.cReceipt-divider{border-top:1px dashed #d1d5db;margin:6px 0}.cReceipt-footer{text-align:center;border-top:2px dashed #d1d5db;padding-top:10px;margin-top:10px}.cReceipt-footer p{margin:0;font-size:12px;color:#4f46e5;font-weight:600}.cTicket{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.cTicket-quick{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.cTicket-quick h3{margin:0 0 12px;font-size:15px;color:#374151}.cTicket-qty{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cTicket-qty label{font-size:13px;font-weight:600;color:#6b7280}.cTicket-qty-btns{display:flex;align-items:center;gap:6px}.cTicket-qty-num{font-size:18px;font-weight:800;color:#111827;min-width:30px;text-align:center}.cTicket-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cTicket-btn{padding:14px 8px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:center;transition:all .15s}.cTicket-btn:hover{border-color:#4f46e5;background:#eef2ff}.cTicket-btn:disabled{opacity:.5}.cTicket-btn-name{font-size:13px;font-weight:700;color:#374151}.cTicket-btn-price{font-size:15px;font-weight:900;color:#059669;margin-top:4px}.cTicket-custom{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.cTicket-custom h3{margin:0 0 14px;font-size:15px;color:#374151}.cHist-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:8px}.cHist-toggle{display:flex;gap:6px}.cHist-dates{display:flex;align-items:center;gap:6px}.cHist-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:4px;overflow-x:auto}@media print{nav,.col-header,.col-tabs,.col-tab,.cHist-controls,button,.col-form-group label,input,select,textarea,.cTicket-quick,.cTicket-custom,.cDonation-form{display:none!important}.cDonation,.cTicket{display:block!important}.cDonation-receipt{border:none!important;padding:0!important}.cReceipt{max-width:100%!important;font-size:12px!important}body{background:#fff!important}@page{margin:10mm}}@media (max-width: 768px){.cDonation,.cTicket,.cDash-grid,.col-form-row{grid-template-columns:1fr}.cTicket-grid{grid-template-columns:1fr 1fr}.cHist-controls{flex-direction:column;align-items:stretch}.cHist-dates{flex-wrap:wrap}.col-table{min-width:500px}.cDash-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.col-page{padding:var(--space-sm, 12px)}.col-title{font-size:var(--text-lg, 18px)}.col-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.col-tab{flex-shrink:0}.cDash-cards{grid-template-columns:1fr 1fr}.cDash-card-num{font-size:var(--text-xl, 20px)}.cReceipt{max-width:100%}.cHist-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.col-page{padding:var(--space-xs, 8px)}.cTicket-grid,.cDash-cards{grid-template-columns:1fr}.col-btn-lg{font-size:var(--text-base, 14px)}.cDash-card{padding:var(--space-md, 12px)}.cReceipt-row{font-size:var(--text-sm, 12px)}.cReceipt-total{font-size:var(--text-base, 14px)}}.tx-page{padding:16px;max-width:1400px;margin:0 auto}.tx-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.tx-header h1{margin:0;font-size:22px}.tx-actions{display:flex;gap:8px}.tx-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-weight:600}.tx-btn-export{background:#065f46;color:#fff}.tx-btn-print{background:#1d4ed8;color:#fff}.tx-btn-search{background:#4f46e5;color:#fff;align-self:flex-end}.tx-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.dark .tx-filters{background:#1e1e2e}.tx-filter-group{display:flex;flex-direction:column;gap:4px}.tx-filter-group label{font-size:11px;color:#6b7280;font-weight:600}.tx-filter-group input,.tx-filter-group select{padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px;min-width:150px}.dark .tx-filter-group input,.dark .tx-filter-group select{background:#2a2a3e;color:#e0e0e0;border-color:#444}.tx-summary{display:flex;gap:16px;margin-bottom:16px}.tx-stat{background:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 1px 3px #00000014;flex:1}.dark .tx-stat{background:#1e1e2e}.tx-stat-label{display:block;font-size:11px;color:#6b7280;margin-bottom:4px}.tx-stat-value{display:block;font-size:22px;font-weight:900;color:#111827}.dark .tx-stat-value{color:#e0e0e0}.tx-stat-revenue{color:#065f46}.dark .tx-stat-revenue{color:#34d399}.tx-loading{text-align:center;padding:40px;color:#9ca3af}.tx-table-wrap{overflow-x:auto}.tx-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.dark .tx-table{background:#1e1e2e}.tx-table th{background:#f9fafb;padding:10px 12px;font-size:11px;text-align:left;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.dark .tx-table th{background:#2a2a3e;color:#9ca3af;border-color:#374151}.tx-table td{padding:10px 12px;font-size:13px;border-bottom:1px solid #f3f4f6;color:#111827}.dark .tx-table td{color:#e0e0e0;border-color:#374151}.tx-table tbody tr:hover{background:#f9fafb}.dark .tx-table tbody tr:hover{background:#2a2a3e}.tx-cell-ref{font-family:monospace;font-size:11px;color:#4f46e5;font-weight:600}.tx-cell-amount{text-align:right;font-size:14px}.tx-muted{color:#9ca3af;font-size:11px}.tx-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.tx-badge-method{background:#eef2ff;color:#4338ca;text-transform:capitalize}.dark .tx-badge-method{background:#312e81;color:#c7d2fe}.tx-badge-success{background:#d1fae5;color:#065f46}.dark .tx-badge-success{background:#064e3b;color:#34d399}.tx-badge-warn{background:#fef3c7;color:#92400e}.tx-badge-fail{background:#fee2e2;color:#991b1b}.tx-empty{text-align:center;padding:40px!important;color:#9ca3af}@media (max-width: 768px){.tx-filters{flex-direction:column}.tx-filter-group input,.tx-filter-group select{min-width:auto;width:100%}.tx-summary{flex-direction:column}.tx-header{flex-direction:column;align-items:stretch}.tx-actions{justify-content:stretch}.tx-actions .tx-btn{flex:1;text-align:center}.tx-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 600px){.tx-page{padding:var(--space-sm, 12px)}.tx-header h1{font-size:var(--text-lg, 18px)}.tx-stat{padding:var(--space-md, 14px)}.tx-stat-value{font-size:var(--text-xl, 20px)}.tx-filters{padding:var(--space-md, 12px)}.tx-table th,.tx-table td{padding:var(--space-xs, 8px) var(--space-sm, 10px)}}@media (max-width: 480px){.tx-page{padding:var(--space-xs, 8px)}.tx-header h1{font-size:var(--text-base, 16px)}.tx-btn{width:100%}.tx-actions{flex-direction:column}.tx-stat-value{font-size:var(--text-lg, 18px)}}@media print{.tx-header h1{font-size:16px}.tx-filters,.tx-actions,.tx-btn,.tx-btn-search{display:none!important}.tx-page{padding:0}.tx-stat{box-shadow:none;border:1px solid #ddd}.tx-table{box-shadow:none}.tx-table th{background:#f0f0f0!important;-webkit-print-color-adjust:exact}.tx-badge{-webkit-print-color-adjust:exact}@page{margin:10mm}}.rate-plans-page{padding:20px}.plans-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow-x:auto}.plans-table{width:100%;border-collapse:collapse}.plans-table th,.plans-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.plans-table th{background:#f9fafb;font-weight:600;font-size:13px;color:#6b7280;text-transform:uppercase}.plans-table td{font-size:14px;color:#374151}.inactive-row{opacity:.6}.status-toggle{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:none}.status-toggle.active{background:#d1fae5;color:#065f46}.status-toggle.inactive{background:#fee2e2;color:#991b1b}.btn-icon{padding:6px 12px;border:none;background:transparent;color:#4f46e5;cursor:pointer;font-size:13px;margin-right:8px}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.plans-table th,.plans-table td{padding:8px 12px;font-size:12px}}.folios-page{padding:20px}.folios-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow-x:auto}.folios-table{width:100%;border-collapse:collapse}.folios-table th,.folios-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.folios-table th{background:#f9fafb;font-weight:600;font-size:13px;color:#6b7280;text-transform:uppercase}.folios-table td{font-size:14px;color:#374151}.balance-due{color:#dc2626;font-weight:600}.balance-paid{color:#059669;font-weight:600}.status-badge.open{background:#fef3c7;color:#92400e}.status-badge.closed{background:#d1fae5;color:#065f46}.status-badge.void{background:#fee2e2;color:#991b1b}.btn-icon{padding:6px 12px;border:none;background:transparent;color:#4f46e5;cursor:pointer;font-size:13px}.btn-primary,.btn-secondary,.btn-success{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:none;transition:all .2s}.btn-success{background:#059669;color:#fff}.btn-success:hover{background:#047857}.folio-detail-info{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:8px}.folio-detail-info p{margin:0;font-size:14px}.folio-summary{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:#f0f9ff;border-radius:8px}.summary-item{flex:1;display:flex;justify-content:space-between;align-items:center}.summary-item.balance{border-left:2px solid #e5e7eb;padding-left:24px}.text-danger{color:#dc2626}.text-success{color:#059669}.folio-actions-bar{display:flex;gap:12px;margin-bottom:20px}.folio-items-list h3{margin-top:0;margin-bottom:12px}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f3f4f6;font-size:13px}.items-table th{background:#f9fafb;font-weight:600;color:#6b7280}.item-type{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.item-type.charge{background:#fef3c7;color:#92400e}.item-type.payment{background:#d1fae5;color:#065f46}.item-type.adjustment{background:#e0e7ff;color:#4338ca}@media (max-width: 768px){.folio-detail-info{grid-template-columns:1fr}.folio-summary{flex-direction:column;gap:12px}.summary-item.balance{border-left:none;border-top:2px solid #e5e7eb;padding-left:0;padding-top:12px}}.night-audit-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header h1{margin:0 0 4px;font-size:28px;font-weight:700}.page-subtitle{margin:0;color:#6b7280;font-size:14px}.audit-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.summary-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 4px #00000014;border:1px solid #e5e7eb;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.summary-card.revenue:before{background:linear-gradient(90deg,#10b981,#059669)}.summary-card.payments:before{background:linear-gradient(90deg,#3b82f6,#2563eb)}.summary-card.occupancy:before{background:linear-gradient(90deg,#8b5cf6,#7c3aed)}.summary-card.adr:before{background:linear-gradient(90deg,#f59e0b,#d97706)}.summary-card.revpar:before{background:linear-gradient(90deg,#ec4899,#db2777)}.summary-card.alerts:before{background:linear-gradient(90deg,#ef4444,#dc2626)}.card-icon{font-size:24px;margin-bottom:8px}.card-label{font-size:12px;color:#6b7280;margin-bottom:8px;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.card-value{font-size:28px;font-weight:700;color:#111827;margin-bottom:4px}.date-range-filter{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;background:#fff;padding:16px 20px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.date-range-filter .form-group{margin:0;flex:1}.date-range-filter label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:#374151}.date-range-filter input{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.date-range-filter input:focus{outline:none;border-color:#4f46e5}.filter-info{padding:10px 16px;background:#f3f4f6;border-radius:8px;font-size:14px;color:#6b7280;white-space:nowrap}.audits-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #00000014;border:1px solid #e5e7eb;overflow-x:auto}.audits-table{width:100%;border-collapse:collapse}.audits-table th{background:#f9fafb;padding:14px 16px;text-align:left;font-weight:600;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.audits-table td{padding:14px 16px;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}.audits-table tr:hover{background:#f9fafb}.audit-time{font-size:11px;color:#9ca3af;margin-top:2px}.period-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.period-badge.status-today{background:#dbeafe;color:#1e40af}.period-badge.status-yesterday{background:#fef3c7;color:#92400e}.period-badge.status-week{background:#f3f4f6;color:#4b5563}.period-badge.status-earlier{background:#e5e7eb;color:#6b7280}.occupancy-bar{position:relative;width:100%;height:24px;background:#f3f4f6;border-radius:12px;overflow:hidden}.occupancy-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:12px;transition:width .3s ease}.occupancy-text{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:600;color:#111827}.revenue-cell{font-weight:600;color:#059669}.alert-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fee2e2;color:#dc2626;border-radius:12px;font-size:12px;font-weight:600}.btn-icon{padding:6px 12px;border:none;background:transparent;color:#4f46e5;cursor:pointer;font-size:13px;font-weight:500;border-radius:6px;transition:background .2s}.btn-icon:hover{background:#eef2ff}.empty-cell{padding:60px 20px}.empty-state{text-align:center;color:#9ca3af}.empty-icon{font-size:48px;margin-bottom:12px}.empty-state p{margin:0;font-size:16px}.empty-hint{font-size:13px;margin-top:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;padding:28px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-content h2{margin:0 0 20px;font-size:22px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#374151}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4f46e5}.form-group textarea{resize:vertical;font-family:inherit}.audit-warning{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:14px;margin-bottom:20px;font-size:13px}.audit-warning strong{color:#92400e}.audit-warning ul{margin:8px 0 0;padding-left:20px;color:#78350f}.audit-warning li{margin-bottom:4px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.audit-modal{max-width:500px}.audit-progress{padding:20px 0}.progress-steps{display:flex;justify-content:space-between;margin-bottom:24px;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:40px;right:40px;height:2px;background:#e5e7eb;z-index:0}.step{flex:1;text-align:center;position:relative;z-index:1}.step-number{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-weight:600;font-size:14px;color:#9ca3af;transition:all .3s}.step.active .step-number{border-color:#4f46e5;color:#4f46e5;background:#eef2ff}.step.completed .step-number{border-color:#10b981;background:#10b981;color:#fff}.step-label{font-size:12px;color:#6b7280;font-weight:500}.step.active .step-label{color:#4f46e5;font-weight:600}.step.completed .step-label{color:#10b981}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:4px;transition:width .3s ease}.progress-text{text-align:center;font-size:14px;color:#6b7280;margin-bottom:20px}.pre-audit-results{background:#f9fafb;border-radius:8px;padding:16px;margin-top:16px}.pre-audit-results h4{margin:0 0 12px;font-size:14px;color:#374151}.check-results{display:flex;flex-direction:column;gap:8px}.check-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 12px;border-radius:6px}.check-item.success{background:#d1fae5;color:#065f46}.check-item.warning{background:#fef3c7;color:#92400e}.check-item.error{background:#fee2e2;color:#991b1b}.check-item.info{background:#dbeafe;color:#1e40af}.audit-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.audit-detail-content{background:#fff;border-radius:16px;padding:28px;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.audit-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.audit-detail-header h2{margin:0 0 4px;font-size:22px}.audit-subtitle{margin:0;font-size:13px;color:#6b7280}.btn-close{background:none;border:none;font-size:28px;cursor:pointer;color:#9ca3af;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.btn-close:hover{background:#f3f4f6;color:#111827}.detail-section{margin-bottom:24px}.detail-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#111827;display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.detail-item{background:#f9fafb;padding:14px;border-radius:8px;border:1px solid #e5e7eb}.detail-item.total{background:#ecfdf5;border-color:#a7f3d0}.detail-item.room{background:#eff6ff;border-color:#bfdbfe}.detail-item.other{background:#fef3c7;border-color:#fde68a}.detail-item.occupied{background:#fee2e2;border-color:#fecaca}.detail-item.available{background:#d1fae5;border-color:#a7f3d0}.detail-item.ooo,.detail-item.oos{background:#f3f4f6;border-color:#e5e7eb}.detail-item.occupancy{background:#ede9fe;border-color:#c4b5fd}.detail-item.adr{background:#fef3c7;border-color:#fde68a}.detail-item.revpar{background:#fce7f3;border-color:#fbcfe8}.detail-item.cash{background:#d1fae5;border-color:#a7f3d0}.detail-item.card{background:#dbeafe;border-color:#bfdbfe}.detail-item.checkin{background:#d1fae5;border-color:#a7f3d0}.detail-item.checkout{background:#fef3c7;border-color:#fde68a}.detail-item.noshow{background:#fee2e2;border-color:#fecaca}.detail-item.cancel{background:#f3f4f6;border-color:#e5e7eb}.detail-label{display:block;font-size:12px;color:#6b7280;margin-bottom:4px;font-weight:500}.detail-value{display:block;font-size:18px;font-weight:700;color:#111827}.detail-section.notes{background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:16px}.detail-section.notes h3{color:#92400e}.detail-section.notes p{margin:0;font-size:14px;color:#78350f;line-height:1.5}.loading{text-align:center;padding:60px;color:#9ca3af;font-size:16px}@media (max-width: 768px){.audit-summary-cards{grid-template-columns:repeat(2,1fr)}.date-range-filter{flex-direction:column;align-items:stretch}.detail-grid{grid-template-columns:1fr}.audits-table th,.audits-table td{padding:10px 12px;font-size:12px}}.waitlist-page{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;font-size:24px}.filters-bar{margin-bottom:20px}.filter-select{padding:10px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;background:#fff}.waitlist-table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow-x:auto}.waitlist-table{width:100%;border-collapse:collapse}.waitlist-table th,.waitlist-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.waitlist-table th{background:#f9fafb;font-weight:600;font-size:13px;color:#6b7280;text-transform:uppercase}.waitlist-table td{font-size:14px;color:#374151}.priority-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:13px;background:#e0e7ff;color:#4338ca}.priority-badge[data-priority="0"]{background:#f3f4f6;color:#6b7280}.priority-badge[data-priority="10"]{background:#fee2e2;color:#991b1b}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge.waiting{background:#fef3c7;color:#92400e}.status-badge.notified{background:#dbeafe;color:#1e40af}.status-badge.converted{background:#d1fae5;color:#065f46}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.btn-icon{padding:6px 12px;border:none;background:transparent;color:#4f46e5;cursor:pointer;font-size:13px;margin-right:4px}.btn-icon:hover{text-decoration:underline}.btn-icon.danger{color:#dc2626}.empty-cell{text-align:center;padding:40px;color:#6b7280}.btn-primary,.btn-secondary{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:#4f46e5;color:#fff}.btn-primary:hover{background:#4338ca}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content h2{margin-top:0;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;box-sizing:border-box}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.loading{text-align:center;padding:40px;color:#6b7280}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.waitlist-table th,.waitlist-table td{padding:8px 12px;font-size:12px}}.hr-management-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.page-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 4px}.page-subtitle{font-size:14px;color:#6b7280;margin:0}.header-actions{display:flex;gap:12px}.btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.card-icon{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:12px}.card-content{flex:1}.card-label{font-size:13px;color:#6b7280;font-weight:500;margin-bottom:4px}.card-value{font-size:32px;font-weight:700;color:#111827;line-height:1;margin-bottom:4px}.card-sub{font-size:12px;color:#9ca3af}.section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.section h2{font-size:20px;font-weight:600;color:#111827;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.departments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.department-card{background:#f9fafb;border-radius:8px;padding:16px;border:1px solid #e5e7eb}.dept-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dept-header h3{font-size:16px;font-weight:600;color:#111827;margin:0}.dept-count{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.dept-members{display:flex;flex-wrap:wrap;gap:8px}.member-badge{background:#fff;border:1px solid #d1d5db;padding:4px 12px;border-radius:16px;font-size:13px;color:#374151}.staff-table-container{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse}.staff-table thead{background:#f9fafb}.staff-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.staff-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.staff-table tbody tr:hover{background:#f9fafb}.staff-name{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.dept-badge{background:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.role-badge{background:#f3f4f6;color:#374151;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.performance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.performance-card{background:#f9fafb;border-radius:12px;padding:20px;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.performance-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.perf-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.perf-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.perf-info h3{font-size:18px;font-weight:600;color:#111827;margin:0 0 4px}.rating-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.rating-excellent{background:#fef3c7;color:#92400e}.rating-verygood{background:#dbeafe;color:#1e40af}.rating-good{background:#d1fae5;color:#065f46}.rating-satisfactory{background:#f3f4f6;color:#374151}.perf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat-item{text-align:center;padding:12px;background:#fff;border-radius:8px}.stat-label{display:block;font-size:11px;color:#6b7280;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.stat-value{display:block;font-size:20px;font-weight:700;color:#111827}.perf-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.perf-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease}.payroll-table-container{overflow-x:auto}.payroll-table{width:100%;border-collapse:collapse}.payroll-table thead{background:#f9fafb}.payroll-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.payroll-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.payroll-table tbody tr:hover{background:#f9fafb}.pay-amount{font-weight:700;color:#059669;font-size:15px}.total-row{background:#f0fdf4}.total-row td{border-top:2px solid #059669;padding:20px 16px;font-size:16px}.status-badge.overtime{background:#fef3c7;color:#92400e}.status-badge.regular{background:#d1fae5;color:#065f46}.hr-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:#6b7280}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:stretch}.header-actions .btn{flex:1}.summary-cards,.departments-grid,.performance-grid,.perf-stats{grid-template-columns:1fr}}.fc-page{padding:24px;max-width:1400px;margin:0 auto}.fc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.fc-header h1{font-size:28px;font-weight:700;color:#111827;margin:0 0 4px}.fc-subtitle{font-size:14px;color:#6b7280;margin:0}.fc-date{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.fc-date-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.fc-date-value{font-size:16px;font-weight:600;color:#111827}.fc-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.fc-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s;border-left:4px solid}.fc-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.fc-card.revenue{border-left-color:#10b981}.fc-card.collected{border-left-color:#3b82f6}.fc-card.outstanding{border-left-color:#f59e0b}.fc-card.credits{border-left-color:#8b5cf6}.fc-card-icon{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:12px}.fc-card-content{flex:1}.fc-card-label{font-size:13px;color:#6b7280;font-weight:500;margin-bottom:4px}.fc-card-value{font-size:24px;font-weight:700;color:#111827;line-height:1.2;margin-bottom:4px}.fc-card-sub{font-size:12px;color:#9ca3af}.fc-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #e5e7eb}.fc-tab{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;margin-bottom:-2px}.fc-tab:hover{color:#111827;background:#f9fafb}.fc-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.fc-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.fc-section h2{font-size:20px;font-weight:600;color:#111827;margin:0 0 20px}.fc-alert{background:#fef3c7;border-left:4px solid #f59e0b;padding:16px;border-radius:8px;margin-bottom:20px;display:flex;flex-direction:column;gap:4px}.fc-alert strong{font-size:16px;color:#92400e}.fc-alert span{font-size:13px;color:#78350f}.fc-alert.credit{background:#ede9fe;border-left-color:#8b5cf6}.fc-alert.credit strong{color:#5b21b6}.fc-alert.credit span{color:#6b21a8}.fc-table-container{overflow-x:auto;margin-bottom:20px}.fc-table{width:100%;border-collapse:collapse}.fc-table thead{background:#f9fafb}.fc-table th{text-align:left;padding:12px 16px;font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb}.fc-table td{padding:16px;border-bottom:1px solid #f3f4f6;font-size:14px;color:#374151}.fc-table tbody tr:hover{background:#f9fafb}.fc-table tbody tr:last-child td{border-bottom:none}.fc-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.fc-status-badge.closed{background:#d1fae5;color:#065f46}.fc-status-badge.open{background:#dbeafe;color:#1e40af}.fc-status-badge.paid{background:#e0e7ff;color:#3730a3}.fc-status-badge.credit{background:#ede9fe;color:#5b21b6}.fc-days-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.fc-days-badge.current{background:#d1fae5;color:#065f46}.fc-days-badge.overdue{background:#fee2e2;color:#991b1b}.fc-rank{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:#f3f4f6;font-weight:600;font-size:14px}.fc-rank.top{background:#fef3c7;font-size:20px}.positive{color:#10b981;font-weight:600}.negative{color:#ef4444;font-weight:600}.outstanding-amount{color:#f59e0b;font-weight:600}.credit-amount{color:#8b5cf6;font-weight:600}.revenue-amount{color:#10b981;font-weight:600}.fc-metrics{display:flex;gap:32px;padding:16px;background:#f9fafb;border-radius:8px;margin-top:20px}.fc-metric{display:flex;flex-direction:column;gap:4px}.fc-metric-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.fc-metric-value{font-size:18px;font-weight:700;color:#111827}.fc-empty{text-align:center;padding:40px 16px!important;color:#9ca3af;font-style:italic}.fc-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:#6b7280}@media (max-width: 768px){.fc-header{flex-direction:column;align-items:flex-start;gap:16px}.fc-date{align-items:flex-start}.fc-summary-cards{grid-template-columns:1fr}.fc-tabs{overflow-x:auto;flex-wrap:nowrap}.fc-tab{white-space:nowrap}.fc-metrics{flex-direction:column;gap:16px}}.gmd-page{max-width:1400px;margin:0 auto;padding:24px;color:#1a1a2e}.gmd-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:#888}.gmd-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e8e8e8}.gmd-header h1{font-size:28px;font-weight:700;margin:0 0 4px;color:#1a1a2e}.gmd-subtitle{margin:0;color:#666;font-size:14px}.gmd-date{text-align:right}.gmd-date-label{font-size:12px;color:#999;display:block}.gmd-date-value{font-size:16px;font-weight:600;color:#1a1a2e}.gmd-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.gmd-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;display:flex;align-items:flex-start;gap:16px;transition:all .2s ease;border-left:4px solid #ddd}.gmd-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.gmd-card-icon{font-size:32px;line-height:1;min-width:40px;text-align:center}.gmd-card-content{flex:1;min-width:0}.gmd-card-label{font-size:13px;color:#888;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.gmd-card-value{font-size:26px;font-weight:700;color:#1a1a2e;line-height:1.2;margin-bottom:4px}.gmd-card-sub{font-size:12px;color:#999}.gmd-card.occupancy{border-left-color:#4caf50}.gmd-card.revenue{border-left-color:#2196f3}.gmd-card.adr{border-left-color:#ff9800}.gmd-card.revpar{border-left-color:#9c27b0}.gmd-card.guests{border-left-color:#00bcd4}.gmd-card.arrivals{border-left-color:#8bc34a}.gmd-card.departures{border-left-color:#ff5722}.gmd-card.staff{border-left-color:#607d8b}.gmd-card.hk{border-left-color:#795548}.gmd-card.maint{border-left-color:#f44336}.gmd-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #e8e8e8;padding-bottom:0;overflow-x:auto}.gmd-tab{padding:12px 24px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s ease;white-space:nowrap}.gmd-tab:hover{color:#2196f3;background:#f5f8ff;border-radius:8px 8px 0 0}.gmd-tab.active{color:#2196f3;border-bottom-color:#2196f3;font-weight:600}.gmd-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.gmd-section h2{font-size:18px;font-weight:600;margin:0 0 16px;color:#1a1a2e}.gmd-section h3{font-size:15px;font-weight:600;margin:0 0 12px;color:#444}.gmd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gmd-metric-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0}.gmd-metric-row:last-child{border-bottom:none}.gmd-metric-label{color:#666;font-size:14px}.gmd-metric-value{font-weight:600;color:#1a1a2e;font-size:14px}.gmd-table-container{overflow-x:auto}.gmd-table{width:100%;border-collapse:collapse;font-size:13px}.gmd-table thead th{background:#f8f9fa;padding:10px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#888;font-weight:600;border-bottom:2px solid #e8e8e8}.gmd-table tbody td{padding:10px 12px;border-bottom:1px solid #f0f0f0;color:#333}.gmd-table tbody tr:hover{background:#f5f8ff}.gmd-table tbody tr:last-child td{border-bottom:none}.gmd-rank{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:700;background:#e8e8e8;color:#666}.gmd-rank.gold{background:gold;color:#8b6914}.gmd-rank.silver{background:silver;color:#555}.gmd-rank.bronze{background:#cd7f32;color:#fff}.gmd-empty{text-align:center;padding:40px;color:#999;font-style:italic}.gmd-chart-bar{display:flex;align-items:center;gap:8px;margin-bottom:6px}.gmd-chart-bar-fill{height:24px;border-radius:4px;background:linear-gradient(90deg,#2196f3,#64b5f6);min-width:2px;transition:width .3s ease}.gmd-chart-bar-label{font-size:12px;color:#666;min-width:80px;white-space:nowrap}.gmd-chart-bar-value{font-size:12px;color:#1a1a2e;font-weight:600;min-width:70px;text-align:right}.gmd-badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.gmd-badge.green{background:#e8f5e9;color:#2e7d32}.gmd-badge.blue{background:#e3f2fd;color:#1565c0}.gmd-badge.amber{background:#fff8e1;color:#f57f17}.gmd-badge.red{background:#ffebee;color:#c62828}.gmd-badge.grey{background:#f5f5f5;color:#616161}.gmd-badge.purple{background:#f3e5f5;color:#6a1b9a}.gmd-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.gmd-room-status{padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;text-align:center}.gmd-room-status.occupied{background:#e8f5e9;color:#2e7d32}.gmd-room-status.available{background:#e3f2fd;color:#1565c0}.gmd-room-status.dirty{background:#fff8e1;color:#f57f17}.gmd-room-status.o oo{background:#ffebee;color:#c62828}@media (max-width: 768px){.gmd-header{flex-direction:column;gap:8px}.gmd-date{text-align:left}.gmd-grid-2{grid-template-columns:1fr}.gmd-summary-cards{grid-template-columns:repeat(2,1fr)}.gmd-card-value{font-size:20px}}.layout{display:flex;min-height:100vh;background:#f0f2f5}.sidebar{width:260px;background:linear-gradient(180deg,#0f172a,#1e293b);color:#fff;display:flex;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:100;overflow:hidden}.sidebar-collapsed .sidebar{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.08);min-height:64px}.sidebar-logo{display:flex;align-items:center;gap:10px;overflow:hidden}.sidebar-logo-icon{font-size:24px;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#6366f126;border-radius:10px}.sidebar-logo-text{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:-.3px}.sidebar-collapsed .sidebar-logo-text{display:none}.sidebar-collapse-btn{width:28px;height:28px;border:none;background:#ffffff0f;color:#94a3b8;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .2s;flex-shrink:0;min-height:auto;min-width:auto}.sidebar-collapse-btn:hover,.sidebar-collapsed .sidebar-collapse-btn{background:#ffffff1f;color:#fff}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.nav-section{margin-bottom:4px}.nav-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#64748b;padding:12px 12px 6px;white-space:nowrap;overflow:hidden}.sidebar-collapsed .nav-section-title{font-size:0;padding:8px 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#94a3b8;text-decoration:none;border-radius:8px;font-size:13.5px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;min-height:44px;white-space:nowrap;overflow:hidden}.nav-item:hover{background:#ffffff0f;color:#e2e8f0}.nav-item.active{background:#6366f126;color:#818cf8}.nav-icon{font-size:18px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s}.sidebar-collapsed .nav-label{opacity:0;width:0}.nav-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:#818cf8;border-radius:0 3px 3px 0}.nav-badge{background:#ef4444;color:#fff;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;min-width:18px;text-align:center}.sidebar-collapsed .nav-item{justify-content:center;padding:10px}.sidebar-collapsed .nav-indicator{left:0;top:4px;bottom:4px;height:auto;transform:none}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;background:#ffffff0a}.sidebar-user-avatar{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.sidebar-user-info{overflow:hidden}.sidebar-user-name{font-size:13px;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:11px;color:#64748b;text-transform:capitalize}.sidebar-collapsed .sidebar-user-info{display:none}.sidebar-collapsed .sidebar-user{justify-content:center;padding:4px}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh}.top-bar{background:#fff;padding:0 24px;display:flex;justify-content:space-between;align-items:center;height:64px;box-shadow:0 1px 3px #0000000d;gap:16px;flex-shrink:0;position:sticky;top:0;z-index:50}.top-bar-left{display:flex;align-items:center;gap:12px}.top-bar-breadcrumb{font-size:15px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:6px}.top-bar-breadcrumb span{display:inline}.sidebar-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;min-height:44px;min-width:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:8px;transition:background .2s}.sidebar-toggle:hover{background:#f1f5f9}.hamburger-line{display:block;width:20px;height:2px;background:#475569;border-radius:2px;transition:all .3s}.top-bar-right{display:flex;align-items:center;gap:8px}.lang-switcher{padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;font-weight:600;cursor:pointer;outline:none;color:#475569;min-height:36px;transition:border-color .2s}.lang-switcher:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.btn-logout{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;min-height:36px}.btn-logout:hover{background:#fee2e2;border-color:#fca5a5}.logout-icon{font-size:16px}.logout-text{display:inline}.content{flex:1;padding:24px;overflow-x:hidden}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.open{display:block;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-nav{display:none}@media (max-width: 768px){.sidebar{width:220px}.sidebar-collapsed .sidebar{width:64px}.content{padding:16px}.top-bar{padding:0 16px;height:56px}.nav-item{font-size:13px;padding:9px 10px}}@media (max-width: 600px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1001;transform:translate(-100%);width:280px;box-shadow:4px 0 24px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-collapsed .sidebar{width:280px}.sidebar-collapsed .nav-label{opacity:1;width:auto}.sidebar-collapsed .sidebar-user-info{display:block}.sidebar-collapsed .sidebar-logo-text{display:inline}.sidebar-collapse-btn{display:none}.sidebar-toggle{display:flex}.top-bar{padding:0 12px;height:56px}.top-bar-breadcrumb span{max-width:120px;overflow:hidden;text-overflow:ellipsis}.content{padding:12px 12px 80px}.btn-logout{padding:6px 10px;font-size:12px}.logout-text{display:none}.lang-switcher{padding:4px 8px;font-size:11px;min-height:32px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid #e2e8f0;z-index:900;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 12px #0000000f}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:#94a3b8;font-size:10px;font-weight:600;position:relative;transition:color .2s;border:none;background:none;cursor:pointer;padding:0;min-height:64px;-webkit-tap-highlight-color:transparent}.bottom-nav-item.active{color:#6366f1}.bottom-nav-icon{font-size:20px;line-height:1;transition:transform .2s}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.1)}.bottom-nav-label{font-size:10px;letter-spacing:.2px}.bottom-nav-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:#6366f1;border-radius:0 0 3px 3px}.bottom-nav-more{color:#64748b}.bottom-nav-more:active{background:#f1f5f9}}@media (max-width: 480px){.sidebar{width:100%}.sidebar-overlay.open{display:block}.top-bar-breadcrumb{font-size:14px}.content{padding:10px 10px 76px}.bottom-nav{height:60px}.bottom-nav-item{min-height:60px}.bottom-nav-icon{font-size:18px}.bottom-nav-label{font-size:9px}}@media (min-width: 601px){.sidebar-collapsed .main-content{margin-left:0}.sidebar-collapsed .sidebar-footer{padding:8px}.sidebar-collapsed .nav-section{margin-bottom:2px}.sidebar-collapsed .nav-section-title{height:1px;padding:0;margin:4px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-collapsed .nav-item{position:relative}.sidebar-collapsed .nav-item:hover:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#1e293b;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0000004d;pointer-events:none}}@media print{.sidebar,.top-bar,.bottom-nav,.sidebar-overlay{display:none!important}.content{padding:0!important}}:root{--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--touch-target: 44px;--touch-target-sm: 36px;--text-xs: 11px;--text-sm: 12px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 24px;--text-3xl: 32px;--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bp-large: 1280px;--primary: #4f46e5;--primary-hover: #4338ca;--success: #059669;--danger: #dc2626;--warning: #d97706;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827}*{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f5f5;color:var(--gray-900);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-md)}button,.btn,[role=button],input[type=button],input[type=submit],input[type=reset],a.btn,.nav-item,.tab,.fd-tab,.fd-btn,.fd-mode-btn,.col-btn,.hk-btn,.hk-pill{min-height:var(--touch-target);min-width:var(--touch-target-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn-sm,.fd-btn-sm,.col-btn-sm,.hk-btn-sm,.btn-xs{min-height:var(--touch-target-sm);min-width:var(--touch-target-sm);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}body{font-size:var(--text-base)}small,.text-sm,.fd-stat-label,.fd-map-room-status,.fd-map-room-type,.fd-badge,.hk-badge,.tx-badge,.status-badge,.fd-map-vip,.fd-map-dnd,.fd-map-hk,.fd-map-time,.fd-badge-sm,.rct-footer-sub,.rct-section-title,.rct-muted{font-size:var(--text-xs)}.table-wrap,.table-wrapper,.tx-table-wrap,.cHist-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--space-md));padding:0 var(--space-md)}.table{width:100%;border-collapse:collapse;background:#fff;min-width:100%}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--gray-200);font-size:var(--text-sm);white-space:nowrap}.table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em}.form-row,.filter-inputs,.fd-form-grid,.fd-booking-modes,.fd-checkin-modes{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-md)}.grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;font-size:var(--text-sm);color:var(--gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--gray-300);border-radius:8px;font-size:var(--text-base);transition:border-color .15s,box-shadow .15s;min-height:var(--touch-target)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-group textarea{resize:vertical;min-height:80px}.card{background:#fff;border-radius:12px;padding:var(--space-lg);box-shadow:0 1px 3px #0000001a;border:1px solid var(--gray-200)}.status-badge,.badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:6px;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.status-available,.badge-green{background:#d1fae5;color:#065f46}.status-occupied,.badge-red{background:#fee2e2;color:#991b1b}.status-cleaning,.badge-yellow{background:#fef3c7;color:#92400e}.status-maintenance,.badge-gray{background:#f3f4f6;color:#374151}.status-confirmed,.badge-blue{background:#dbeafe;color:#1e40af}.status-checked_in,.badge-indigo{background:#e0e7ff;color:#3730a3}.status-checked_out,.badge-slate{background:#e2e8f0;color:#475569}.status-cancelled,.badge-rose{background:#ffe4e6;color:#9f1239}.btn{padding:var(--space-sm) var(--space-lg);border:none;cursor:pointer;font-size:var(--text-base);font-weight:600;border-radius:8px;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.btn-ghost{background:transparent;color:var(--gray-600)}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width: 768px){.container{padding:0 var(--space-sm)}.card{padding:var(--space-md)}.hide-tablet{display:none!important}.show-tablet{display:block!important}.table th,.table td{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}}@media (max-width: 600px){html{font-size:13px}.hide-mobile{display:none!important}.show-mobile{display:block!important}.card{padding:var(--space-sm);border-radius:8px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.form-row{flex-direction:column}.form-row>*{width:100%}}@media (max-width: 480px){html{font-size:12px}.container{padding:0 var(--space-xs)}button,.btn,[role=button]{min-height:48px;font-size:var(--text-base)}.btn-sm,.fd-btn-sm{min-height:var(--touch-target)}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:var(--space-md)}}@media print{body{background:#fff!important}@page{margin:12mm}.no-print,nav,.sidebar,.top-bar,button,.btn{display:none!important}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}}
