html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{color:#101936;background:#f5f7fb;font-family:Inter,Arial,sans-serif}:root{--pms-bg:#f4f8fb;--pms-panel:#fff;--pms-panel-soft:#f8fafc;--pms-navy:#08263d;--pms-navy-2:#06192b;--pms-text:#06172f;--pms-muted:#64748b;--pms-border:#08263d17;--pms-gold:#d4af37;--pms-gold-light:#f7e08a;--pms-gold-dark:#b8891f;--pms-green:#059669;--pms-red:#dc2626;--pms-orange:#c2410c;--pms-blue:#2563eb;--pms-shadow:0 24px 70px #08263d17;--pms-shadow-soft:0 14px 34px #08263d14;--pms-radius:28px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--pms-text);background:radial-gradient(circle at 0 0,#d4af3717,#0000 28%),linear-gradient(135deg,#f6f9fc 0%,#eef4f8 100%);margin:0;font-family:Inter,Arial,sans-serif}button,input,select,textarea{font-family:inherit}.dashboard-v4,.dashboard-v4-shell,.dashboard-v4-layout{background:radial-gradient(circle at 0 0,#d4af3717,#0000 30%),linear-gradient(135deg,#f6f9fc 0%,#eef4f8 100%);min-height:100vh;display:flex}.dashboard-main,.dashboard-v4-main{flex:1;min-width:0;padding:26px;overflow-x:hidden}.dashboard-sidebar{color:#fff;background:linear-gradient(180deg, var(--pms-navy) 0%, var(--pms-navy-2) 100%);flex-direction:column;flex-shrink:0;width:300px;min-width:300px;height:100vh;max-height:100dvh;padding:24px 12px 24px 16px;display:flex;position:sticky;top:0;overflow-y:scroll;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--pms-gold) #ffffff16;scrollbar-gutter:stable;box-shadow:12px 0 40px #02061733}.dashboard-logo{flex-shrink:0;justify-content:center;align-items:center;min-height:170px;padding:8px 0 24px;display:flex}.dashboard-logo img{width:168px;max-width:100%;height:auto;display:block}.dashboard-menu{flex-direction:column;flex:0 0 auto;gap:8px;min-height:0;padding-right:4px;display:flex;overflow:visible}.dashboard-menu::-webkit-scrollbar{width:4px}.dashboard-menu::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.dashboard-sidebar::-webkit-scrollbar{width:8px}.dashboard-sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.dashboard-sidebar::-webkit-scrollbar-track{background:transparent}.dashboard-menu::-webkit-scrollbar{width:0;height:0}.dashboard-menu-item{color:#ffffffeb;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:18px;align-items:center;gap:14px;width:100%;min-height:54px;padding:0 18px;font-size:15px;font-weight:900;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.dashboard-menu-item svg{color:#f4d46f;flex-shrink:0}.dashboard-menu-item:hover{background:#ffffff14;transform:translate(4px)}.dashboard-sidebar-footer,.dashboard-sidebar-bottom{flex-direction:column;flex-shrink:0;gap:10px;padding-top:14px;display:flex}.dashboard-user-avatar,.dashboard-avatar{color:#08263d;background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:999px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:17px;font-weight:950;display:grid}.dashboard-header-bar,.dashboard-v4-header,.bookings-page-header,.rooms-page-header{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px;display:flex}.dashboard-header-bar h1,.dashboard-v4-header h1,.bookings-page-header h1,.rooms-page-header h1{color:var(--pms-navy);letter-spacing:-.05em;margin:6px 0 0;font-size:38px;font-weight:950;line-height:1}.dashboard-header-bar span,.dashboard-v4-header p,.bookings-page-header span,.rooms-page-header span{color:var(--pms-muted);margin-top:10px;font-size:15px;font-weight:750;display:block}.dv4-eyebrow,.bookings-eyebrow,.rooms-eyebrow{color:#8a6f22;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:950;line-height:1}.dashboard-header-actions,.dashboard-v4-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.dashboard-header-btn,.bookings-refresh-btn,.rooms-refresh-btn,.settings-save-btn,.settings-reset-btn{min-height:52px;color:var(--pms-navy);box-shadow:var(--pms-shadow-soft);cursor:pointer;white-space:nowrap;background:#fffffff0;border:0;border-radius:18px;justify-content:center;align-items:center;gap:9px;padding:0 20px;font-size:14px;font-weight:950;transition:transform .2s,box-shadow .2s;display:inline-flex}.dashboard-header-btn:hover,.bookings-refresh-btn:hover,.rooms-refresh-btn:hover,.settings-save-btn:hover,.settings-reset-btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px #08263d1f}.language-switcher{background:#08263d0f;border-radius:999px;padding:5px;display:inline-flex}.language-switcher button{min-width:44px;height:38px;color:var(--pms-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:950}.language-switcher button.active{color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold))}.dashboard-kpi-grid,.bookings-stats-grid,.rooms-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.dashboard-kpi-card,.booking-stat-card,.room-stat-card{text-align:left;min-height:112px;box-shadow:var(--pms-shadow-soft);background:#ffffffeb;border:1px solid #d4af3738;border-radius:24px;padding:20px}.booking-stat-card,.room-stat-card{cursor:pointer;transition:transform .2s,background .2s}.booking-stat-card:hover,.room-stat-card:hover,.booking-stat-card.active,.room-stat-card.active{background:linear-gradient(135deg, var(--pms-navy), var(--pms-navy-2));color:#fff;transform:translateY(-2px)}.booking-stat-card span,.room-stat-card span{color:var(--pms-muted);margin-bottom:12px;font-size:14px;font-weight:950;display:block}.booking-stat-card strong,.room-stat-card strong{color:var(--pms-navy);font-size:34px;font-weight:950;line-height:1;display:block}.booking-stat-card.active span,.room-stat-card.active span,.booking-stat-card.active strong,.room-stat-card.active strong{color:#fff}.booking-stat-card.active strong,.room-stat-card.active strong{color:var(--pms-gold-light)}.dashboard-kpi-card{align-items:flex-start;gap:16px;display:flex}.dashboard-kpi-icon{color:#08263d;background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:18px;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid}.dashboard-kpi-content h3{margin:0 0 8px;font-size:15px;font-weight:950}.dashboard-kpi-content strong{color:var(--pms-navy);margin-bottom:7px;font-size:30px;font-weight:950;line-height:1;display:block}.dashboard-kpi-content span,.dashboard-kpi-content small{color:var(--pms-muted);font-size:13px;font-weight:800;display:block}.dashboard-kpi-note.active{color:var(--pms-green)}.dashboard-top-grid{grid-template-columns:1fr 1fr .8fr;gap:22px;margin-bottom:22px;display:grid}.dashboard-bottom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.dashboard-card{border-radius:var(--pms-radius);border:1px solid var(--pms-border);box-shadow:var(--pms-shadow);background:#fffffff0;padding:24px}.dashboard-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.dashboard-card-header h2{color:var(--pms-navy);letter-spacing:-.04em;margin:6px 0 0;font-size:24px;font-weight:950;line-height:1.1}.live-badge,.count-badge{min-width:36px;height:32px;color:var(--pms-navy);background:#d4af372e;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:950;display:inline-flex}.occupancy-gauge{place-items:center;min-height:180px;display:grid}.gauge-circle{background:radial-gradient(circle at center, #fff 55%, transparent 57%), conic-gradient(var(--pms-gold) 0 0%, #08263d14 0% 100%);border-radius:999px;place-items:center;width:160px;height:160px;display:grid}.gauge-value{color:var(--pms-navy);font-size:36px;font-weight:950}.gauge-sub{color:var(--pms-muted);font-size:12px;font-weight:900}.occupancy-stats,.ai-mini-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.occupancy-stats div,.ai-mini-grid div{background:#08263d0b;border-radius:18px;padding:14px}.occupancy-stats strong,.ai-mini-grid strong{color:var(--pms-navy);font-size:22px;font-weight:950;display:block}.occupancy-stats small,.ai-mini-grid span{color:var(--pms-muted);font-size:12px;font-weight:850}.revenue-value{color:var(--pms-navy);margin:24px 0 8px;font-size:36px;font-weight:950}.revenue-sub{color:var(--pms-muted);font-size:13px;font-weight:800}.revenue-tabs{background:#08263d0f;border-radius:999px;gap:6px;padding:5px;display:flex}.revenue-tabs button{color:var(--pms-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 12px;font-weight:900}.revenue-tabs button.active{color:var(--pms-navy);background:#fff}.ai-card{color:#fff;background:radial-gradient(circle at top right, #d4af3759, transparent 34%), linear-gradient(145deg, var(--pms-navy), var(--pms-navy-2))}.ai-card h2,.ai-card strong{color:#fff}.ai-card .dv4-eyebrow{color:var(--pms-gold-light)}.ai-card-header,.ai-suggestion{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-icon,.ai-manager-orb{width:46px;height:46px;color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:18px;place-items:center;font-weight:950;display:grid}.ai-suggestion{background:#ffffff17;border-radius:18px;margin-top:12px;padding:13px 14px}.ai-suggestion.gold{background:#d4af3729}.today-list,.upcoming-list{flex-direction:column;gap:12px;display:flex}.today-item,.upcoming-item{background:#08263d0b;border-radius:18px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.avatar,.date-pill{width:44px;height:44px;color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:16px;place-items:center;font-weight:950;display:grid}.today-item strong,.upcoming-item strong{color:var(--pms-navy);font-size:14px;font-weight:950;display:block}.today-item span,.upcoming-item span,.today-meta span,.upcoming-meta span{color:var(--pms-muted);margin-top:4px;font-size:12px;font-weight:800;display:block}.today-meta,.upcoming-meta{text-align:right;white-space:nowrap}.empty-state,.bookings-empty,.rooms-empty{min-height:120px;color:var(--pms-muted);text-align:center;place-items:center;padding:28px;font-size:14px;font-weight:900;display:grid}.bookings-page,.rooms-page,.settings-page,.reports-page,.payments-page,.guests-page,.ai-manager-page{padding:28px}.bookings-toolbar,.rooms-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 0 14px;display:flex}.bookings-toolbar h2,.rooms-toolbar h2{color:var(--pms-navy);letter-spacing:-.04em;margin:0;font-size:26px;font-weight:950;line-height:1.1}.bookings-toolbar p,.rooms-toolbar p{color:var(--pms-muted);margin:6px 0 0;font-size:14px;font-weight:850}.bookings-toolbar input,.rooms-toolbar input,.settings-field input,.settings-field select,.settings-field textarea{border:1px solid var(--pms-border);width:min(440px,100%);min-height:52px;color:var(--pms-text);background:#fffffff0;border-radius:18px;outline:none;padding:0 18px;font-weight:850;box-shadow:0 10px 26px #08263d0a}.bookings-error,.rooms-error{color:#991b1b;background:#fee2e2;border:1px solid #dc26262e;border-radius:18px;margin-bottom:16px;padding:14px 16px;font-weight:900}.bookings-loading,.rooms-loading{color:var(--pms-muted);text-align:center;padding:36px;font-weight:900}.bookings-table-card,.rooms-table-card,.reports-table-card,.payments-table-card,.guests-table-card{border-radius:var(--pms-radius);border:1px solid var(--pms-border);box-shadow:var(--pms-shadow);background:#fffffff2;overflow:hidden}.bookings-table-wrap,.rooms-table-wrap,.reports-table-wrap,.payments-table-wrap,.guests-table-wrap{width:100%;overflow-x:auto}.bookings-table,.rooms-table,.reports-table,.payments-table,.guests-table{border-collapse:separate;border-spacing:0;width:100%;color:var(--pms-text);margin:0}.bookings-table{min-width:1180px}.rooms-table{min-width:1320px}.reports-table,.payments-table,.guests-table{min-width:1000px}.bookings-table th,.rooms-table th,.reports-table th,.payments-table th,.guests-table th{text-align:left;color:var(--pms-gold);background:var(--pms-navy);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding:18px 20px;font-size:13px;font-weight:950;line-height:1}.bookings-table thead th:first-child,.rooms-table thead th:first-child,.reports-table thead th:first-child,.payments-table thead th:first-child,.guests-table thead th:first-child{border-top-left-radius:var(--pms-radius)}.bookings-table thead th:last-child,.rooms-table thead th:last-child,.reports-table thead th:last-child,.payments-table thead th:last-child,.guests-table thead th:last-child{border-top-right-radius:var(--pms-radius)}.bookings-table td,.rooms-table td,.reports-table td,.payments-table td,.guests-table td{height:64px;color:var(--pms-text);vertical-align:middle;white-space:nowrap;border-top:1px solid #08263d12;padding:14px 20px;font-size:14px;font-weight:850}.bookings-table tbody tr:hover,.rooms-table tbody tr:hover,.reports-table tbody tr:hover,.payments-table tbody tr:hover,.guests-table tbody tr:hover{background:#d4af370d}.booking-table-row-clickable,.bookings-table tbody tr{cursor:pointer}.booking-status-badge,.booking-payment-badge,.room-status-badge,.active-booking-pill,.room-no-booking,.live-badge,.status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:8px 13px;font-size:12px;font-weight:950;line-height:1;display:inline-flex}.booking-status-badge.confirmed,.booking-status-badge.new{color:#1d4ed8;background:#eff6ff}.booking-status-badge.checked-in,.booking-status-badge.checked_in{color:#047857;background:#ecfdf5}.booking-status-badge.checked-out,.booking-status-badge.checked_out{color:#475569;background:#f1f5f9}.booking-status-badge.cancelled{color:#b91c1c;background:#fee2e2}.booking-payment-badge.pending{color:#c2410c;background:#fff7ed}.booking-payment-badge.paid{color:#047857;background:#ecfdf5}.room-status-badge.available{color:#047857;background:#dcfce7}.room-status-badge.occupied{color:#7c2d12;background:#ffedd5}.room-status-badge.cleaning{color:#075985;background:#e0f2fe}.room-status-badge.maintenance,.room-status-badge.out-of-order{color:#b91c1c;background:#fee2e2}.active-booking-pill{color:#075985;background:#e0f2fe;flex-direction:column;align-items:flex-start;gap:4px}.active-booking-pill small{font-size:11px}.room-no-booking{color:var(--pms-muted);background:0 0;padding-left:0}.bookings-table tbody td:nth-child(2)>span{width:auto;max-width:max-content;height:auto;box-shadow:none;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:7px 12px;font-size:12px;line-height:1;display:inline-flex;transform:none}.rooms-page .rooms-table th:last-child,.rooms-page .rooms-table td:last-child{width:350px;min-width:350px;max-width:350px}.room-name-cell{align-items:center;gap:13px;min-width:0;display:flex}.room-avatar{width:46px;height:46px;color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:16px;flex-shrink:0;place-items:center;font-weight:950;display:grid}.room-name-cell strong{color:var(--pms-navy);font-weight:950;display:block}.room-name-cell span{color:#475569;white-space:normal;max-width:280px;margin-top:3px;font-size:12px;font-weight:750;line-height:1.25;display:block}.room-active-guest strong{color:var(--pms-navy);display:block}.room-active-guest span{color:var(--pms-muted);margin-top:3px;font-size:12px;display:block}.rooms-page .room-actions{flex-flow:row;justify-content:flex-start;align-items:center;gap:8px;display:flex}.housekeeping-page .bookings-table,.housekeeping-page .housekeeping-table{min-width:1240px}.housekeeping-page .bookings-table th:last-child,.housekeeping-page .bookings-table td:last-child,.housekeeping-page .housekeeping-table th:last-child,.housekeeping-page .housekeeping-table td:last-child{width:350px;min-width:350px;max-width:350px}.housekeeping-actions-row{flex-flow:row;justify-content:flex-start;align-items:center;gap:8px;display:flex}.rooms-page .room-actions button,.housekeeping-actions-row .room-action-btn,.housekeeping-page .room-action-btn{color:#08263d;letter-spacing:.1px;white-space:nowrap;cursor:pointer;background:linear-gradient(#f7e08a 0%,#d4af37 55%,#b8891f 100%);border:1px solid #d4ae37a6;border-radius:999px;justify-content:center;align-items:center;min-width:96px;max-width:118px;height:40px;min-height:40px;padding:0 13px;font-size:14px;font-weight:950;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;box-shadow:0 8px 18px #d4ae3738,inset 0 1px #ffffff73}.rooms-page .room-actions button:hover,.housekeeping-actions-row .room-action-btn:hover,.housekeeping-page .room-action-btn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 12px 22px #d4ae3747,inset 0 1px #ffffff80}.rooms-page .room-actions button:disabled,.housekeeping-actions-row .room-action-btn:disabled,.housekeeping-page .room-action-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.booking-modal-content{scrollbar-width:none;-ms-overflow-style:none}.booking-modal-content::-webkit-scrollbar{display:none}.modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02061794;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(#fff,#f8fafc);border:1px solid #d4af3740;border-radius:30px;width:min(760px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 40px 120px #02061752}.booking-premium-modal{padding:0}.booking-modal-header{border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 30px 20px;display:flex}.booking-modal-header p{color:#8a6f22;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:950}.booking-modal-header h2{color:var(--pms-navy);letter-spacing:-.05em;margin:6px 0 0;font-size:30px;font-weight:950;line-height:1}.booking-modal-close{width:44px;height:44px;color:var(--pms-navy);cursor:pointer;background:#08263d12;border:0;border-radius:16px;place-items:center;font-size:30px;line-height:1;display:grid}.booking-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:26px 30px 30px;display:grid}.booking-field,.settings-field{flex-direction:column;gap:8px;display:flex}.booking-field-full{grid-column:1/-1}.booking-field label,.settings-field span{color:var(--pms-navy);font-size:13px;font-weight:950}.booking-field input,.booking-field select,.booking-datepicker-input{border:1px solid var(--pms-border);width:100%;height:52px;color:var(--pms-text);background:#ffffffe6;border-radius:17px;outline:none;padding:0 15px;font-size:14px;font-weight:850}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:12px;display:flex}.booking-cancel-btn,.booking-save-btn,.action-primary-btn,.quick-action-btn{min-height:46px;color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));cursor:pointer;border:0;border-radius:18px;padding:0 18px;font-size:14px;font-weight:950;box-shadow:0 14px 28px #d4af3738}.booking-cancel-btn{box-shadow:none;background:#08263d14}.ai-manager-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:22px;margin-bottom:24px;display:grid}.ai-manager-main-card,.ai-manager-side-card{border-radius:var(--pms-radius);border:1px solid var(--pms-border);box-shadow:var(--pms-shadow);background:#fffffff0;padding:24px}.ai-manager-main-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.ai-manager-main-header h2,.ai-manager-side-card h2{color:var(--pms-navy);letter-spacing:-.04em;margin:6px 0 0;font-size:26px;font-weight:950}.ai-manager-summary{color:var(--pms-muted);font-weight:750;line-height:1.55}.ai-manager-recommendations,.ai-manager-task-list{gap:14px;margin-top:20px;display:grid}.ai-manager-recommendation,.ai-manager-task{background:#08263d0b;border:1px solid #08263d0d;border-radius:20px;padding:18px}.ai-manager-recommendation{grid-template-columns:42px 1fr;gap:14px;display:grid}.ai-manager-recommendation>div:first-child{width:42px;height:42px;color:var(--pms-navy);background:#d4af372e;border-radius:16px;place-items:center;font-weight:950;display:grid}.ai-manager-recommendation.success>div:first-child{color:#047857;background:#dcfce7}.ai-manager-recommendation.warning>div:first-child{color:#c2410c;background:#ffedd5}.ai-manager-recommendation strong,.ai-manager-task strong{color:var(--pms-navy);font-size:16px;font-weight:950}.ai-manager-recommendation p,.ai-manager-task p{color:var(--pms-muted);margin:6px 0 0;font-size:14px;font-weight:750;line-height:1.5}.ai-manager-task div{justify-content:space-between;align-items:center;display:flex}.ai-manager-task div strong{font-size:28px}.ai-manager-task span{color:var(--pms-navy);font-size:14px;font-weight:950}.ai-manager-page .bookings-toolbar{margin-top:24px}.ai-manager-page .ai-manager-table-card{border-radius:var(--pms-radius);padding:0;overflow:hidden}.ai-manager-page .ai-manager-table-wrap{width:100%;overflow-x:hidden}.ai-manager-page .ai-manager-table{table-layout:fixed;width:100%;min-width:0}.ai-manager-page .ai-manager-table th,.ai-manager-page .ai-manager-table td{text-overflow:ellipsis;white-space:nowrap;height:64px;padding:14px 16px;overflow:hidden}.ai-manager-page .ai-manager-booking-table th:first-child,.ai-manager-page .ai-manager-booking-table td:first-child{width:20%}.ai-manager-page .ai-manager-booking-table th:nth-child(2),.ai-manager-page .ai-manager-booking-table td:nth-child(2){width:12%}.ai-manager-page .ai-manager-booking-table th:nth-child(3),.ai-manager-page .ai-manager-booking-table td:nth-child(3),.ai-manager-page .ai-manager-booking-table th:nth-child(4),.ai-manager-page .ai-manager-booking-table td:nth-child(4),.ai-manager-page .ai-manager-booking-table th:nth-child(5),.ai-manager-page .ai-manager-booking-table td:nth-child(5){width:13%}.ai-manager-page .ai-manager-booking-table th:nth-child(6),.ai-manager-page .ai-manager-booking-table td:nth-child(6){width:14%}.ai-manager-page .ai-manager-booking-table th:nth-child(7),.ai-manager-page .ai-manager-booking-table td:nth-child(7){text-align:right;width:15%;padding-right:22px}.ai-manager-page .ai-manager-room-table th:first-child,.ai-manager-page .ai-manager-room-table td:first-child{width:26%}.ai-manager-page .ai-manager-room-table th:nth-child(2),.ai-manager-page .ai-manager-room-table td:nth-child(2){width:20%}.ai-manager-page .ai-manager-room-table th:nth-child(3),.ai-manager-page .ai-manager-room-table td:nth-child(3){width:14%}.ai-manager-page .ai-manager-room-table th:nth-child(4),.ai-manager-page .ai-manager-room-table td:nth-child(4){width:18%}.ai-manager-page .ai-manager-room-table th:nth-child(5),.ai-manager-page .ai-manager-room-table td:nth-child(5){width:22%}.reports-summary-grid,.payments-summary-grid,.guests-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px;display:grid}.report-card,.payment-card,.guest-card{border:1px solid var(--pms-border);box-shadow:var(--pms-shadow-soft);background:#fffffff0;border-radius:24px;padding:20px}.report-card span,.payment-card span,.guest-card span{color:var(--pms-muted);font-size:13px;font-weight:900;display:block}.report-card strong,.payment-card strong,.guest-card strong{color:var(--pms-navy);margin-top:10px;font-size:30px;font-weight:950;display:block}.settings-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.settings-section-card{border-radius:var(--pms-radius);border:1px solid var(--pms-border);box-shadow:var(--pms-shadow);background:#fffffff0;padding:24px}.settings-section-header h2{color:var(--pms-navy);margin:6px 0 0;font-size:26px;font-weight:950}.settings-section-header span{color:var(--pms-muted);margin-top:8px;font-weight:750;display:block}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.settings-toggle-row{background:#08263d0b;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.settings-toggle-row strong{color:var(--pms-navy);font-weight:950;display:block}.settings-toggle-row span{color:var(--pms-muted);margin-top:4px;font-size:13px;font-weight:750;display:block}.settings-toggle{cursor:pointer;background:#08263d29;border:0;border-radius:999px;flex-shrink:0;width:54px;height:30px;padding:3px}.settings-toggle span{background:#fff;border-radius:999px;width:24px;height:24px;transition:transform .2s;display:block;box-shadow:0 8px 16px #0f172a33}.settings-toggle.active{background:linear-gradient(135deg, var(--pms-gold), var(--pms-gold-light))}.settings-toggle.active span{transform:translate(24px)}.settings-bottom-actions,.settings-header-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.settings-save-btn{background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold))}.settings-reset-btn{box-shadow:none;background:#08263d14}.quick-actions-card{min-height:300px}.quick-actions-grid,.action-list{gap:12px;display:grid}.quick-action-btn{text-align:left;justify-content:flex-start;width:100%;min-height:48px}.action-premium-modal{width:min(920px,100%);max-height:calc(100vh - 60px);padding:0;overflow:hidden}.action-modal-body{max-height:calc(100vh - 190px);padding:26px 30px 30px;overflow-y:auto}.action-row{border:1px solid var(--pms-border);box-shadow:var(--pms-shadow-soft);background:#fffffff2;border-radius:22px;grid-template-columns:52px minmax(0,1fr) minmax(0,1.1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.action-avatar{width:48px;height:48px;color:var(--pms-navy);background:linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold));border-radius:17px;place-items:center;font-weight:950;display:grid}.action-main strong,.action-meta strong{color:var(--pms-navy);font-weight:950;display:block}.action-main span,.action-meta span{color:var(--pms-muted);margin-top:5px;font-size:13px;font-weight:800;display:block}.tour-bookings-page .bookings-table{min-width:1050px}.coming-soon-page{border-radius:var(--pms-radius);border:1px solid var(--pms-border);box-shadow:var(--pms-shadow);background:#fffffff0;padding:46px}.coming-soon-page h1{color:var(--pms-navy);margin:8px 0 0;font-size:34px;font-weight:950}.coming-soon-page span{color:var(--pms-muted);margin-top:12px;font-weight:750;display:block}@media (width<=1450px){.dashboard-kpi-grid,.bookings-stats-grid,.rooms-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-top-grid,.dashboard-bottom-grid,.ai-manager-grid{grid-template-columns:1fr}.reports-summary-grid,.payments-summary-grid,.guests-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1000px){.dashboard-v4,.dashboard-v4-shell,.dashboard-v4-layout{display:block}.dashboard-sidebar{width:100%;min-width:0;height:auto;position:relative}.dashboard-menu{max-height:none}.dashboard-main,.dashboard-v4-main{padding:18px}.dashboard-header-bar,.dashboard-v4-header,.bookings-page-header,.rooms-page-header,.bookings-toolbar,.rooms-toolbar{flex-direction:column;align-items:stretch}.bookings-toolbar input,.rooms-toolbar input{width:100%}}@media (width<=720px){.dashboard-kpi-grid,.bookings-stats-grid,.rooms-stats-grid,.reports-summary-grid,.payments-summary-grid,.guests-summary-grid,.settings-form-grid,.booking-modal-form{grid-template-columns:1fr}.bookings-page,.rooms-page,.settings-page,.reports-page,.payments-page,.guests-page,.ai-manager-page{padding:18px}.dashboard-header-bar h1,.bookings-page-header h1,.rooms-page-header h1{font-size:30px}.settings-header-actions,.settings-bottom-actions,.modal-actions{flex-direction:column;align-items:stretch}.settings-save-btn,.settings-reset-btn,.booking-cancel-btn,.booking-save-btn{width:100%}.action-row{grid-template-columns:1fr}}.guests-page,.guests-page.bookings-page{padding:28px}.guests-page .bookings-page-header,.guests-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.guests-page .bookings-page-header h1,.guests-page-header h1{letter-spacing:-.05em;color:#08263d;margin:6px 0 0;font-size:38px;font-weight:950;line-height:1}.guests-page .bookings-page-header span,.guests-page-header span{color:#64748b;margin-top:10px;font-size:15px;font-weight:800;display:block}.guests-page .bookings-eyebrow,.guests-eyebrow{color:#8a6f22;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:950}.guests-page .bookings-stats-grid,.guests-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.guests-page .booking-stat-card,.guest-stat-card{text-align:left;color:#08263d;cursor:pointer;background:#fffffff0;border:1px solid #d4af3747;border-radius:24px;min-height:104px;padding:18px 20px;transition:all .22s;box-shadow:0 20px 55px #0f172a12}.guests-page .booking-stat-card:hover,.guests-page .booking-stat-card.active,.guest-stat-card:hover,.guest-stat-card.active{color:#fff;background:linear-gradient(135deg,#08263d 0%,#06192b 100%);border-color:#d4af37b3;transform:translateY(-2px)}.guests-page .booking-stat-card span,.guest-stat-card span{color:#64748b;font-size:13px;font-weight:900;display:block}.guests-page .booking-stat-card.active span,.guests-page .booking-stat-card:hover span,.guest-stat-card.active span,.guest-stat-card:hover span{color:#ffffffb8}.guests-page .booking-stat-card strong,.guest-stat-card strong{color:#08263d;margin-top:10px;font-size:34px;font-weight:950;line-height:1;display:block}.guests-page .booking-stat-card.active strong,.guests-page .booking-stat-card:hover strong,.guest-stat-card.active strong,.guest-stat-card:hover strong{color:#d4af37}.guests-page .bookings-toolbar,.guests-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:20px 0 16px;display:flex}.guests-page .bookings-toolbar h2,.guests-toolbar h2{color:#08263d;letter-spacing:-.04em;margin:0;font-size:26px;font-weight:950}.guests-page .bookings-toolbar p,.guests-toolbar p{color:#64748b;margin:6px 0 0;font-size:14px;font-weight:800}.guests-page .bookings-toolbar input,.guests-toolbar input{color:#08263d;background:#fffffff2;border:1px solid #0f172a1a;border-radius:18px;outline:none;width:min(430px,100%);height:52px;padding:0 18px;font-size:14px;font-weight:800;box-shadow:0 16px 38px #0f172a0f}.guests-page .bookings-toolbar input:focus,.guests-toolbar input:focus{border-color:#d4af37b3;box-shadow:0 0 0 4px #d4af3721,0 16px 38px #0f172a14}.guests-page .bookings-table-card,.guests-table-card{background:#fffffff5;border:1px solid #0f172a14;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #0f172a14}.guests-page .bookings-table-wrap,.guests-table-wrap{width:100%;overflow-x:auto}.guests-page .bookings-table,.guests-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.guests-page .bookings-table thead th,.guests-table thead th{text-align:left;color:#d4af37;letter-spacing:.08em;text-transform:uppercase;background:#08263d;padding:18px 20px;font-size:13px;font-weight:950}.guests-page .bookings-table thead th:first-child,.guests-table thead th:first-child{border-top-left-radius:28px}.guests-page .bookings-table thead th:last-child,.guests-table thead th:last-child{border-top-right-radius:28px}.guests-page .bookings-table tbody td,.guests-table tbody td{color:#08263d;vertical-align:middle;white-space:nowrap;border-top:1px solid #0f172a12;padding:18px 20px;font-size:14px;font-weight:850}.guests-page .bookings-table tbody tr,.guests-table tbody tr{height:64px}.guests-page .bookings-table tbody tr:hover,.guests-table tbody tr:hover{background:#d4af370f}.guests-page .guest-name-cell,.guest-name-cell{align-items:center;gap:12px;display:flex}.guests-page .guest-avatar,.guest-avatar{color:#08263d;background:linear-gradient(135deg,#f8df8d,#d4af37);border-radius:999px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:15px;font-weight:950;display:grid}.guests-page .guest-name-cell strong,.guest-name-cell strong{color:#08263d;font-size:15px;font-weight:950;display:block}.guests-page .guest-name-cell span,.guest-name-cell span{color:#64748b;margin-top:3px;font-size:12px;font-weight:800;display:block}@media (width<=1100px){.guests-page .bookings-stats-grid,.guests-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guests-page .bookings-toolbar,.guests-toolbar{flex-direction:column;align-items:stretch}.guests-page .bookings-toolbar input,.guests-toolbar input{width:100%}}@media (width<=650px){.guests-page .bookings-stats-grid,.guests-stats-grid{grid-template-columns:1fr}}.payments-page .payments-actions,.payments-page .payment-actions,.payments-page .bookings-table td:last-child,.payments-page table td:last-child{white-space:nowrap!important}.payments-page .payments-actions,.payments-page .payment-actions,.payments-page .bookings-table td:last-child>div,.payments-page table td:last-child>div{flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;display:flex!important}.payments-page .payments-actions button,.payments-page .payment-actions button,.payments-page .bookings-table td:last-child button,.payments-page table td:last-child button{color:#08263d!important;letter-spacing:.2px!important;white-space:nowrap!important;cursor:pointer!important;background:linear-gradient(#f7e08a 0%,#d4af37 55%,#b8891f 100%)!important;border:1px solid #d4ae378c!important;border-radius:999px!important;justify-content:center!important;align-items:center!important;min-width:78px!important;height:38px!important;padding:0 14px!important;font-size:13px!important;font-weight:900!important;transition:all .2s!important;display:inline-flex!important;box-shadow:0 8px 18px #d4ae3738,inset 0 1px #ffffff73!important}.payments-page .payments-actions button:hover,.payments-page .payment-actions button:hover,.payments-page .bookings-table td:last-child button:hover,.payments-page table td:last-child button:hover{filter:brightness(1.03)!important;transform:translateY(-1px)!important;box-shadow:0 12px 22px #d4ae3747,inset 0 1px #ffffff80!important}.payments-page .payments-actions button:active,.payments-page .payment-actions button:active,.payments-page .bookings-table td:last-child button:active,.payments-page table td:last-child button:active{filter:brightness(.98)!important;transform:translateY(0)!important}.payments-page .payments-actions button:disabled,.payments-page .payment-actions button:disabled,.payments-page .bookings-table td:last-child button:disabled,.payments-page table td:last-child button:disabled{opacity:.5!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.reports-page,.reports-page.bookings-page{padding:28px}.reports-page .bookings-page-header,.reports-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.reports-page .bookings-page-header h1,.reports-page-header h1{letter-spacing:-.05em;color:#08263d;margin:6px 0 0;font-size:38px;font-weight:950;line-height:1}.reports-page .bookings-page-header span,.reports-page-header span{color:#64748b;margin-top:10px;font-size:15px;font-weight:800;display:block}.reports-page .bookings-eyebrow,.reports-eyebrow{color:#8a6f22;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:950}.reports-page .bookings-stats-grid,.reports-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.reports-page .booking-stat-card,.report-stat-card{text-align:left;color:#08263d;cursor:pointer;background:#fffffff0;border:1px solid #d4af3747;border-radius:24px;min-height:104px;padding:18px 20px;transition:all .22s;box-shadow:0 20px 55px #0f172a12}.reports-page .booking-stat-card:hover,.reports-page .booking-stat-card.active,.report-stat-card:hover,.report-stat-card.active{color:#fff;background:linear-gradient(135deg,#08263d 0%,#06192b 100%);border-color:#d4af37b3;transform:translateY(-2px)}.reports-page .booking-stat-card span,.report-stat-card span{color:#64748b;font-size:13px;font-weight:900;display:block}.reports-page .booking-stat-card:hover span,.reports-page .booking-stat-card.active span,.report-stat-card:hover span,.report-stat-card.active span{color:#ffffffb8}.reports-page .booking-stat-card strong,.report-stat-card strong{color:#08263d;margin-top:10px;font-size:34px;font-weight:950;line-height:1;display:block}.reports-page .booking-stat-card:hover strong,.reports-page .booking-stat-card.active strong,.report-stat-card:hover strong,.report-stat-card.active strong{color:#d4af37}.reports-summary-grid,.reports-page .reports-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:28px;display:grid}.reports-summary-card,.reports-page .reports-summary-card{background:#fffffff5;border:1px solid #0f172a14;border-radius:28px;min-height:230px;padding:26px;box-shadow:0 24px 70px #0f172a14}.reports-summary-card h2,.reports-page .reports-summary-card h2{color:#08263d;letter-spacing:-.04em;margin:6px 0 18px;font-size:28px;font-weight:950}.reports-summary-row,.reports-page .reports-summary-row{background:#08263d0b;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;margin-bottom:12px;padding:14px 18px;display:flex}.reports-summary-row span,.reports-page .reports-summary-row span{color:#64748b;font-size:14px;font-weight:900}.reports-summary-row strong,.reports-page .reports-summary-row strong{color:#08263d;font-size:20px;font-weight:950}.room-performance-list,.reports-page .room-performance-list{flex-direction:column;gap:12px;display:flex}.room-performance-row,.reports-page .room-performance-row{background:#08263d0b;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.room-performance-row strong,.reports-page .room-performance-row strong{color:#08263d;font-size:15px;font-weight:950;display:block}.room-performance-row span,.reports-page .room-performance-row span{color:#64748b;margin-top:4px;font-size:13px;font-weight:800;display:block}.room-performance-row b,.reports-page .room-performance-row b{color:#08263d;white-space:nowrap;font-size:16px;font-weight:950}.reports-page .bookings-toolbar,.reports-toolbar{justify-content:space-between;align-items:flex-end;gap:18px;margin:20px 0 16px;display:flex}.reports-page .bookings-toolbar h2,.reports-toolbar h2{color:#08263d;letter-spacing:-.04em;margin:0;font-size:26px;font-weight:950}.reports-page .bookings-toolbar p,.reports-toolbar p{color:#64748b;margin:6px 0 0;font-size:14px;font-weight:800}.reports-page .bookings-table-card,.reports-table-card{background:#fffffff5;border:1px solid #0f172a14;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #0f172a14}.reports-page .bookings-table-wrap,.reports-table-wrap{width:100%;overflow-x:auto}.reports-page .bookings-table,.reports-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}.reports-page .bookings-table thead th,.reports-table thead th{text-align:left;color:#d4af37;letter-spacing:.08em;text-transform:uppercase;background:#08263d;padding:18px 20px;font-size:13px;font-weight:950}.reports-page .bookings-table thead th:first-child,.reports-table thead th:first-child{border-top-left-radius:28px}.reports-page .bookings-table thead th:last-child,.reports-table thead th:last-child{border-top-right-radius:28px}.reports-page .bookings-table tbody td,.reports-table tbody td{color:#08263d;vertical-align:middle;white-space:nowrap;border-top:1px solid #0f172a12;padding:18px 20px;font-size:14px;font-weight:850}.reports-page .bookings-table tbody tr,.reports-table tbody tr{height:64px}.reports-page .bookings-table tbody tr:hover,.reports-table tbody tr:hover{background:#d4af370f}@media (width<=1200px){.reports-page .bookings-stats-grid,.reports-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-summary-grid,.reports-page .reports-summary-grid{grid-template-columns:1fr}}@media (width<=650px){.reports-page .bookings-stats-grid,.reports-stats-grid{grid-template-columns:1fr}}.reports-page .reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;margin:24px 0 28px!important;display:grid!important}.reports-page .reports-card{background:#fffffff5!important;border:1px solid #0f172a14!important;border-radius:28px!important;min-height:250px!important;padding:26px!important;box-shadow:0 24px 70px #0f172a14!important}.reports-page .reports-card-header{justify-content:space-between!important;align-items:flex-start!important;gap:16px!important;margin-bottom:18px!important;display:flex!important}.reports-page .reports-card-header h2{color:#08263d!important;letter-spacing:-.04em!important;margin:6px 0 0!important;font-size:28px!important;font-weight:950!important}.reports-page .reports-money-list{flex-direction:column!important;gap:12px!important;display:flex!important}.reports-page .reports-money-list>div{background:#08263d0b!important;border-radius:18px!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;min-height:58px!important;padding:14px 18px!important;display:flex!important}.reports-page .reports-money-list span{color:#64748b!important;font-size:14px!important;font-weight:900!important}.reports-page .reports-money-list strong{color:#08263d!important;white-space:nowrap!important;font-size:21px!important;font-weight:950!important}.reports-page .reports-room-list{flex-direction:column!important;gap:12px!important;display:flex!important}.reports-page .reports-room-row{background:#08263d0b!important;border-radius:18px!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;padding:16px 18px!important;display:flex!important}.reports-page .reports-room-row strong{color:#08263d!important;font-size:15px!important;font-weight:950!important;display:block!important}.reports-page .reports-room-row span{color:#64748b!important;margin-top:4px!important;font-size:13px!important;font-weight:800!important;display:block!important}.reports-page .reports-room-row>strong{white-space:nowrap!important;font-size:17px!important}.reports-page .bookings-table-card{background:#fffffff5!important;border:1px solid #0f172a14!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 24px 70px #0f172a14!important}.reports-page .bookings-table-wrap{width:100%!important;overflow-x:auto!important}.reports-page .bookings-table{border-collapse:separate!important;border-spacing:0!important;width:100%!important;min-width:1080px!important}.reports-page .bookings-table thead th{text-align:left!important;color:#d4af37!important;letter-spacing:.08em!important;text-transform:uppercase!important;background:#08263d!important;padding:18px 20px!important;font-size:13px!important;font-weight:950!important}.reports-page .bookings-table thead th:first-child{border-top-left-radius:28px!important}.reports-page .bookings-table thead th:last-child{border-top-right-radius:28px!important}.reports-page .bookings-table tbody tr{height:64px!important}.reports-page .bookings-table tbody td{color:#08263d!important;vertical-align:middle!important;white-space:nowrap!important;border-top:1px solid #0f172a12!important;padding:16px 20px!important;font-size:14px!important;font-weight:850!important}.reports-page .bookings-table tbody tr:hover{background:#d4af370f!important}@media (width<=1200px){.reports-page .reports-grid{grid-template-columns:1fr!important}}.settings-page{padding:28px}.settings-header,.settings-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.settings-header h1,.settings-page-header h1{letter-spacing:-.05em;color:#08263d;margin:6px 0 0;font-size:38px;font-weight:950;line-height:1}.settings-header span,.settings-page-header span{color:#64748b;margin-top:10px;font-size:15px;font-weight:800;display:block}.settings-actions,.settings-header-actions{align-items:center;gap:12px;display:flex}.settings-load-btn,.settings-save-btn,.settings-reset-btn{cursor:pointer;border:0;border-radius:18px;height:52px;padding:0 22px;font-size:14px;font-weight:950;transition:all .2s}.settings-load-btn,.settings-reset-btn{color:#08263d;background:#fffffff2;box-shadow:0 16px 38px #0f172a14}.settings-save-btn{color:#08263d;background:linear-gradient(135deg,#f8df8d,#d4af37);box-shadow:0 18px 35px #d4af373d}.settings-load-btn:hover,.settings-save-btn:hover,.settings-reset-btn:hover{transform:translateY(-2px)}.settings-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.settings-stat-card{color:#08263d;background:#fffffff0;border:1px solid #d4af3747;border-radius:24px;min-height:104px;padding:18px 20px;box-shadow:0 20px 55px #0f172a12}.settings-stat-card.active,.settings-stat-card:first-child{color:#fff;background:linear-gradient(135deg,#08263d 0%,#06192b 100%);border-color:#d4af37b3}.settings-stat-card span{color:#64748b;font-size:13px;font-weight:900;display:block}.settings-stat-card.active span,.settings-stat-card:first-child span{color:#ffffffc2}.settings-stat-card strong{color:#08263d;margin-top:10px;font-size:34px;font-weight:950;line-height:1;display:block}.settings-stat-card.active strong,.settings-stat-card:first-child strong{color:#d4af37}.settings-section,.settings-card{background:#fffffff5;border:1px solid #0f172a14;border-radius:28px;margin-bottom:24px;padding:26px;box-shadow:0 24px 70px #0f172a14}.settings-section h2,.settings-card h2{color:#08263d;letter-spacing:-.04em;margin:6px 0 8px;font-size:28px;font-weight:950}.settings-section p,.settings-card p{color:#64748b;margin:0 0 20px;font-size:14px;font-weight:800}.settings-eyebrow{color:#8a6f22;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:950}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;display:grid}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field label{color:#08263d;font-size:13px;font-weight:950}.settings-field input,.settings-field select,.settings-field textarea{color:#08263d;background:#ffffffeb;border:1px solid #0f172a1a;border-radius:18px;outline:none;width:100%;min-height:54px;padding:0 18px;font-size:14px;font-weight:850;transition:all .2s}.settings-field textarea{resize:vertical;min-height:110px;padding-top:15px}.settings-field input:focus,.settings-field select:focus,.settings-field textarea:focus{border-color:#d4af37bf;box-shadow:0 0 0 4px #d4af3721,0 16px 38px #0f172a14}.settings-toggle-list{flex-direction:column;gap:12px;display:flex}.settings-toggle-row{background:#08263d0b;border:1px solid #0f172a0b;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px 18px;display:flex}.settings-toggle-row strong{color:#08263d;font-size:16px;font-weight:950;display:block}.settings-toggle-row span,.settings-toggle-row small{color:#64748b;margin-top:4px;font-size:13px;font-weight:800;display:block}.settings-switch{flex-shrink:0;width:58px;height:34px;position:relative}.settings-switch input{opacity:0;width:0;height:0}.settings-slider{cursor:pointer;background:#cbd5e1;border-radius:999px;transition:all .22s;position:absolute;inset:0;box-shadow:0 12px 24px #0f172a24}.settings-slider:before{content:"";background:#fff;border-radius:999px;width:26px;height:26px;transition:all .22s;position:absolute;top:4px;left:4px;box-shadow:0 8px 18px #0f172a2e}.settings-switch input:checked+.settings-slider{background:linear-gradient(135deg,#f8df8d,#d4af37)}.settings-switch input:checked+.settings-slider:before{transform:translate(24px)}.settings-toggle,.toggle-switch{cursor:pointer;background:#cbd5e1;border:0;border-radius:999px;justify-content:flex-start;align-items:center;width:58px;height:34px;padding:4px;transition:all .22s;display:flex;box-shadow:0 12px 24px #0f172a24}.settings-toggle.active,.toggle-switch.active{background:linear-gradient(135deg,#f8df8d,#d4af37);justify-content:flex-end}.settings-toggle span,.toggle-switch span{background:#fff;border-radius:999px;width:26px;height:26px;box-shadow:0 8px 18px #0f172a2e}.settings-bottom-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (width<=1200px){.settings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid{grid-template-columns:1fr}}@media (width<=700px){.settings-page{padding:18px}.settings-header,.settings-page-header{flex-direction:column}.settings-actions,.settings-header-actions{width:100%}.settings-load-btn,.settings-save-btn,.settings-reset-btn{flex:1}.settings-stats-grid{grid-template-columns:1fr}.settings-toggle-row{flex-direction:column;align-items:flex-start}}.guests-page .bookings-page-header button,.guests-page .guests-page-header button{color:#08263d!important;cursor:pointer!important;background:#fffffff2!important;border:0!important;border-radius:18px!important;height:52px!important;padding:0 22px!important;font-family:inherit!important;font-size:14px!important;font-weight:950!important;box-shadow:0 16px 38px #0f172a14!important}.guests-page .bookings-page-header button:hover,.guests-page .guests-page-header button:hover{background:#fff!important;transform:translateY(-2px)!important}.dashboard-sidebar{overflow:hidden!important}.dashboard-logo{flex-shrink:0!important;justify-content:center!important;align-items:center!important;height:240px!important;margin-bottom:18px!important;padding:24px 0 34px!important;display:flex!important}.dashboard-logo img{object-fit:contain!important;width:185px!important;max-width:185px!important;height:auto!important}.dashboard-menu{scrollbar-width:none!important;-ms-overflow-style:none!important;overflow-y:auto!important}.dashboard-sidebar-footer,.dashboard-sidebar-bottom{flex-shrink:0!important;margin-top:14px!important}.dashboard-sidebar{width:300px!important;min-width:300px!important;height:100vh!important;padding:18px 14px!important;overflow:hidden!important}.dashboard-logo{height:165px!important;margin-bottom:6px!important;padding:12px 0 16px!important}.dashboard-logo img{width:160px!important;max-width:160px!important;height:auto!important}.dashboard-menu{flex:none!important;gap:6px!important;padding-right:0!important;overflow:visible!important}.dashboard-menu::-webkit-scrollbar{display:none!important}.dashboard-menu-item{border-radius:16px!important;gap:13px!important;height:46px!important;min-height:46px!important;padding:0 16px!important;font-size:15px!important}.dashboard-menu-item svg{width:17px!important;height:17px!important}.dashboard-sidebar-footer,.dashboard-sidebar-bottom{flex-shrink:0!important;gap:8px!important;margin-top:10px!important}.dashboard-user-card,.dashboard-resort-card{border-radius:18px!important;padding:12px 14px!important}.dashboard-user-avatar{width:42px!important;height:42px!important;font-size:15px!important}.dashboard-user-card strong,.dashboard-resort-card strong{font-size:14px!important}.dashboard-user-card span,.dashboard-resort-card span,.dashboard-resort-card small{font-size:11px!important}.dashboard-sidebar{color:#fff!important;background:linear-gradient(#08263d 0%,#06192b 100%)!important;flex-direction:column!important;width:300px!important;min-width:300px!important;height:100vh!important;padding:14px 14px 12px!important;display:flex!important;position:sticky!important;top:0!important;overflow:hidden!important;box-shadow:8px 0 30px #0000002e!important}.dashboard-logo{flex-shrink:0!important;justify-content:center!important;align-items:center!important;height:185px!important;min-height:185px!important;margin:0 0 8px!important;padding:0!important;display:flex!important;overflow:hidden!important}.dashboard-logo img{object-fit:contain!important;width:220px!important;max-width:220px!important;height:auto!important;display:block!important}.dashboard-menu{scrollbar-width:none!important;-ms-overflow-style:none!important;flex-direction:column!important;flex:auto!important;gap:5px!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}.dashboard-menu::-webkit-scrollbar{width:0!important;display:none!important}.dashboard-menu-item{color:#ffffffeb!important;cursor:pointer!important;text-align:left!important;background:0 0!important;border:0!important;border-radius:15px!important;align-items:center!important;gap:13px!important;width:100%!important;height:43px!important;min-height:43px!important;padding:0 15px!important;font-size:15px!important;font-weight:900!important;transition:all .2s!important;display:flex!important}.dashboard-menu-item svg{color:#f4d35e!important;flex-shrink:0!important;width:17px!important;height:17px!important}.dashboard-menu-item:hover{color:#fff!important;background:#ffffff14!important;transform:translate(3px)!important}.dashboard-menu-item.active{color:#08263d!important;background:linear-gradient(135deg,#f8df8d 0%,#d4af37 100%)!important;box-shadow:0 16px 30px #d4af373d!important}.dashboard-menu-item.active svg{color:#08263d!important}.dashboard-sidebar-footer,.dashboard-sidebar-bottom{flex-direction:column!important;flex-shrink:0!important;gap:8px!important;margin-top:10px!important;padding:0!important;display:flex!important}.dashboard-user-card,.dashboard-resort-card{background:#ffffff14!important;border:1px solid #d4af3747!important;border-radius:18px!important;padding:12px 14px!important;box-shadow:inset 0 1px #ffffff0f!important}.dashboard-user-card{align-items:center!important;gap:12px!important;display:flex!important}.dashboard-user-avatar{color:#08263d!important;background:linear-gradient(135deg,#f8df8d,#d4af37)!important;border-radius:999px!important;flex-shrink:0!important;place-items:center!important;width:42px!important;height:42px!important;font-size:15px!important;font-weight:950!important;display:grid!important}.dashboard-user-card strong,.dashboard-resort-card strong{color:#fff!important;font-size:14px!important;font-weight:950!important;line-height:1.2!important;display:block!important}.dashboard-user-card span,.dashboard-resort-card span,.dashboard-resort-card small{color:#ffffffbd!important;margin-top:2px!important;font-size:11px!important;font-weight:800!important;line-height:1.25!important;display:block!important}.dashboard-kpi-button{text-align:left!important;cursor:pointer!important;border:1px solid #d4af3747!important;font-family:inherit!important}.dashboard-kpi-button:hover{transform:translateY(-3px)!important;box-shadow:0 24px 65px #0f172a1f!important}.ai-card button.ai-icon,.ai-card .ai-suggestion{cursor:pointer!important;border:0!important;font-family:inherit!important}.ai-card .ai-suggestion{width:100%!important}.action-form-grid input,.action-form-grid select,.action-form-full textarea{color:#08263d;background:#fff;border:1px solid #0f172a1a;border-radius:16px;outline:none;width:100%;min-height:52px;padding:0 16px;font-size:14px;font-weight:850}.action-booking-save-btn{width:100%;height:54px}.action-modal-backdrop{z-index:9999!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#081624ad!important;justify-content:center!important;align-items:center!important;padding:24px!important;display:flex!important;position:fixed!important;inset:0!important;overflow:hidden!important}.action-modal{color:#08263d!important;background:linear-gradient(#fff 0%,#f8fafc 100%)!important;border:1px solid #d4af376b!important;border-radius:32px!important;width:min(920px,96vw)!important;max-height:92vh!important;padding:30px!important;overflow-y:auto!important;box-shadow:0 40px 110px #00000057,inset 0 1px #ffffffe6!important}.action-modal::-webkit-scrollbar{width:0!important;display:none!important}.action-modal-header{justify-content:space-between!important;align-items:flex-start!important;gap:20px!important;margin-bottom:24px!important;display:flex!important}.action-modal-eyebrow{color:#8a6f22!important;letter-spacing:.13em!important;text-transform:uppercase!important;margin:0 0 10px!important;font-size:12px!important;font-weight:950!important}.action-modal-header h2{color:#08263d!important;letter-spacing:-.05em!important;margin:0!important;font-size:36px!important;font-weight:950!important;line-height:1!important}.action-modal-header span{color:#64748b!important;margin-top:10px!important;font-size:15px!important;font-weight:800!important;display:block!important}.action-modal-close{color:#08263d!important;cursor:pointer!important;background:#ffffffeb!important;border:1px solid #0f172a14!important;border-radius:999px!important;flex-shrink:0!important;width:52px!important;height:52px!important;font-size:30px!important;font-weight:500!important;line-height:1!important;transition:all .2s!important;box-shadow:0 18px 38px #0f172a1a!important}.action-modal-close:hover{background:#fff!important;transform:translateY(-2px)!important}.action-modal-body{width:100%!important}.action-modal-error{color:#991b1b!important;background:#fee2e2!important;border-radius:18px!important;margin-bottom:18px!important;padding:14px 16px!important;font-weight:900!important}.action-modal-list{flex-direction:column!important;gap:14px!important;display:flex!important}.action-modal-item{background:#fff!important;border:1px solid #0f172a14!important;border-radius:22px!important;justify-content:space-between!important;align-items:center!important;gap:18px!important;min-height:86px!important;padding:16px 18px!important;display:flex!important;box-shadow:0 18px 45px #0f172a0f!important}.action-modal-item-main{align-items:center!important;gap:14px!important;min-width:0!important;display:flex!important}.action-modal-avatar{color:#08263d!important;background:linear-gradient(135deg,#f8df8d,#d4af37)!important;border-radius:999px!important;flex-shrink:0!important;place-items:center!important;width:48px!important;height:48px!important;font-size:17px!important;font-weight:950!important;display:grid!important}.action-modal-item-main strong{color:#08263d!important;font-size:17px!important;font-weight:950!important;display:block!important}.action-modal-item-main span{color:#64748b!important;margin-top:4px!important;font-size:13px!important;font-weight:800!important;display:block!important}.action-modal-primary-btn,.action-modal-room-actions button{color:#08263d!important;cursor:pointer!important;white-space:nowrap!important;background:linear-gradient(135deg,#f8df8d,#d4af37)!important;border:0!important;border-radius:999px!important;min-width:110px!important;height:44px!important;padding:0 18px!important;font-size:14px!important;font-weight:950!important;transition:all .2s!important;box-shadow:0 14px 28px #d4af373d!important}.action-modal-primary-btn:hover,.action-modal-room-actions button:hover{transform:translateY(-2px)!important}.action-modal-room-actions{flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;display:flex!important}.action-modal-empty{text-align:center!important;background:#08263d0b!important;border-radius:24px!important;place-items:center!important;min-height:220px!important;display:grid!important}.action-modal-empty-icon{color:#08263d!important;background:linear-gradient(135deg,#f8df8d,#d4af37)!important;border-radius:999px!important;place-items:center!important;width:54px!important;height:54px!important;margin:0 auto 14px!important;font-size:24px!important;font-weight:950!important;display:grid!important}.action-booking-form{flex-direction:column!important;gap:18px!important;display:flex!important}.action-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;display:grid!important}.action-form-grid label,.action-form-full{flex-direction:column!important;gap:8px!important;display:flex!important}.action-form-grid span,.action-form-full span{color:#08263d!important;font-size:13px!important;font-weight:950!important}.action-form-grid input,.action-form-grid select,.action-form-full textarea{color:#08263d!important;background:#fff!important;border:1px solid #0f172a1a!important;border-radius:18px!important;outline:none!important;width:100%!important;min-height:54px!important;padding:0 18px!important;font-size:14px!important;font-weight:850!important;box-shadow:0 12px 30px #0f172a0b!important}.action-form-grid input:focus,.action-form-grid select:focus,.action-form-full textarea:focus{border-color:#d4af37bf!important;box-shadow:0 0 0 4px #d4af3721,0 16px 38px #0f172a14!important}.action-form-full textarea{resize:vertical!important;min-height:105px!important;padding-top:15px!important}.action-booking-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;display:grid!important}.action-booking-summary div{background:#08263d0e!important;border-radius:20px!important;padding:16px 18px!important}.action-booking-summary span{color:#64748b!important;font-size:12px!important;font-weight:900!important;display:block!important}.action-booking-summary strong{color:#08263d!important;margin-top:5px!important;font-size:18px!important;font-weight:950!important;display:block!important}.action-booking-save-btn{width:100%!important;height:56px!important;font-size:16px!important}@media (width<=760px){.action-modal-backdrop{align-items:flex-start!important;padding:12px!important;overflow-y:auto!important}.action-modal{border-radius:26px!important;width:100%!important;max-height:none!important;padding:22px!important}.action-modal-header h2{font-size:30px!important}.action-form-grid,.action-booking-summary{grid-template-columns:1fr!important}.action-modal-item{flex-direction:column!important;align-items:flex-start!important}.action-modal-room-actions{flex-wrap:wrap!important;width:100%!important}}.revenue-card{min-height:430px!important}.revenue-bar-chart{background:#08263d0b!important;border-radius:24px!important;justify-content:space-between!important;align-items:flex-end!important;gap:14px!important;height:210px!important;margin-top:28px!important;padding:18px 18px 12px!important;display:flex!important}.revenue-bar-item{flex-direction:column!important;flex:1!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;min-width:0!important;height:100%!important;display:flex!important}.revenue-bar-track{background:#08263d14!important;border-radius:999px!important;align-items:flex-end!important;width:100%!important;max-width:42px!important;height:130px!important;display:flex!important;overflow:hidden!important;box-shadow:inset 0 2px 8px #0f172a14!important}.revenue-bar-fill{background:linear-gradient(#f8df8d 0%,#d4af37 55%,#b8891f 100%)!important;border-radius:999px 999px 0 0!important;width:100%!important;min-height:8px!important;transition:height .25s!important;box-shadow:0 10px 22px #d4af3747!important}.revenue-bar-item span{color:#64748b!important;white-space:nowrap!important;font-size:12px!important;font-weight:950!important}.revenue-bar-item strong{color:#08263d!important;white-space:nowrap!important;font-size:12px!important;font-weight:950!important}@media (width<=900px){.revenue-bar-chart{justify-content:flex-start!important;overflow-x:auto!important}.revenue-bar-item{min-width:58px!important}}.tour-page{background:radial-gradient(circle at 0 0,#c59a581f,#0000 34%),linear-gradient(#f8fafc,#eef2f7);min-height:100vh;padding:28px}.tour-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.tour-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#b78635;margin:0 0 6px;font-size:13px;font-weight:800}.tour-page-header h1{color:#0f172a;margin:0;font-size:34px;line-height:1.1}.tour-page-header p{color:#64748b;margin:8px 0 0;font-size:15px}.tour-refresh-btn{color:#0f172a;cursor:pointer;background:linear-gradient(135deg,#f8d98a,#c8963e);border:0;border-radius:16px;padding:12px 18px;font-weight:800;box-shadow:0 14px 30px #b8862d3d}.tour-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.tour-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;margin-bottom:18px;padding:14px 16px;font-weight:700}.tour-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.tour-stat{text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #94a3b833;border-radius:22px;padding:18px;transition:all .2s;box-shadow:0 18px 45px #0f172a14}.tour-stat:hover{transform:translateY(-2px);box-shadow:0 24px 60px #0f172a1f}.tour-stat.active{background:linear-gradient(135deg,#fff8e2f2,#fffffff2);border-color:#c8963e8c}.tour-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800;display:block}.tour-stat strong{color:#0f172a;margin-top:10px;font-size:34px;display:block}.tour-card{background:#fffffff0;border:1px solid #94a3b82e;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #0f172a17}.tour-card-header{border-bottom:1px solid #e2e8f0e6;padding:22px 24px}.tour-card-header h2{color:#0f172a;margin:0;font-size:22px}.tour-card-header p{color:#64748b;margin:5px 0 0}.tour-empty{color:#64748b;padding:34px 24px;font-weight:700}.tour-table-wrap{width:100%;overflow-x:auto}.tour-table{border-collapse:collapse;width:100%}.tour-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.08em;background:#f8fafc;padding:14px 18px;font-size:12px}.tour-table td{color:#0f172a;vertical-align:middle;border-top:1px solid #eef2f7;padding:17px 18px}.tour-table td strong{color:#0f172a;font-size:14px;display:block}.tour-table td small{color:#64748b;margin-top:4px;font-size:12px;display:block}.tour-status{border-radius:999px;justify-content:center;align-items:center;min-width:96px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.tour-status.new{color:#1d4ed8;background:#eff6ff}.tour-status.confirmed{color:#047857;background:#ecfdf5}.tour-status.completed{color:#6d28d9;background:#f5f3ff}.tour-status.cancelled{color:#be123c;background:#fff1f2}.tour-actions{align-items:center;gap:8px;display:flex}.tour-actions button,.tour-actions select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;font-weight:800}.tour-actions button{color:#fff;background:#0f172a;border-color:#0f172a}.tour-actions select:disabled{opacity:.6;cursor:not-allowed}.tour-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0f172a9e;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.tour-modal{background:#fff;border-radius:30px;width:min(720px,100%);max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 35px 100px #0f172a59}.tour-modal-close{color:#0f172a;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;width:38px;height:38px;font-size:24px;position:absolute;top:18px;right:18px}.tour-modal-header p{color:#b78635;text-transform:uppercase;letter-spacing:.12em;margin:0 0 7px;font-size:13px;font-weight:900}.tour-modal-header h2{color:#0f172a;margin:0;padding-right:44px;font-size:26px}.tour-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.tour-detail-grid div,.tour-note-box{background:#f8fafc;border:1px solid #eef2f7;border-radius:18px;padding:15px}.tour-detail-grid span,.tour-note-box span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.tour-detail-grid strong{color:#0f172a;font-size:15px}.tour-note-box{margin-top:14px}.tour-note-box p{color:#334155;margin:0;line-height:1.6}.tour-modal-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.tour-modal-actions button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:15px;padding:12px 16px;font-weight:900}.tour-modal-actions button:first-child{color:#0f172a;background:linear-gradient(135deg,#f8d98a,#c8963e)}.tour-modal-actions button.danger{background:#be123c}@media (width<=900px){.tour-page{padding:18px 14px 90px}.tour-page-header{flex-direction:column}.tour-page-header h1{font-size:28px}.tour-refresh-btn{width:100%}.tour-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tour-stat{border-radius:18px;padding:15px}.tour-stat strong{font-size:28px}.tour-card{border-radius:22px}.tour-table,.tour-table thead,.tour-table tbody,.tour-table th,.tour-table td,.tour-table tr{display:block}.tour-table thead{display:none}.tour-table tr{background:#fff;border:1px solid #eef2f7;border-radius:20px;margin:12px;padding:14px;box-shadow:0 14px 34px #0f172a14}.tour-table td{text-align:right;border-top:0;border-bottom:1px solid #eef2f7;justify-content:space-between;gap:16px;padding:11px 0;display:flex}.tour-table td:last-child{border-bottom:0}.tour-table td:before{content:attr(data-label);text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.06em;flex:0 0 110px;font-size:12px;font-weight:900}.tour-actions{flex-wrap:wrap;justify-content:flex-end}.tour-actions button,.tour-actions select{width:100%}.tour-modal-backdrop{align-items:flex-end;padding:0}.tour-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:24px 18px}.tour-detail-grid{grid-template-columns:1fr}.tour-modal-actions{flex-direction:column}.tour-modal-actions button{width:100%}}@media (width<=520px){.tour-stats-grid{grid-template-columns:1fr}.tour-page-header h1{font-size:25px}.tour-table td{text-align:left;display:block}.tour-table td:before{margin-bottom:6px;display:block}}@media (width<=900px){.occupancy-stats.occupancy-stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.occupancy-stats.occupancy-stats-four{grid-template-columns:1fr}}.occupancy-stats.occupancy-stats-four{grid-template-columns:repeat(4,minmax(0,1fr))}.dot.blue{background:#38bdf8}@media (width<=1200px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-top-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-card.ai-card{min-height:auto}}@media (width<=900px){.dashboard-v4{display:block}.dashboard-main{width:100%;margin-left:0;padding:18px 14px 90px}.dashboard-header-bar{flex-direction:column;align-items:stretch;gap:16px}.dashboard-header-bar h1{font-size:30px;line-height:1.1}.dashboard-header-actions{grid-template-columns:1fr;gap:10px;width:100%;display:grid}.language-switcher{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.language-switcher button,.dashboard-header-btn{width:100%}.dashboard-kpi-grid{grid-template-columns:1fr;gap:14px}.dashboard-kpi-card{min-height:132px}.dashboard-top-grid,.dashboard-bottom-grid{grid-template-columns:1fr;gap:16px}.dashboard-card{border-radius:24px;padding:18px}.dashboard-card-header{gap:12px}.dashboard-card-header h2{font-size:24px}.occupancy-gauge{min-height:180px}.occupancy-stats.occupancy-stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}.revenue-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.revenue-tabs button{width:100%}.revenue-value{font-size:34px;line-height:1.1}.revenue-bar-chart{padding-bottom:6px;overflow-x:auto}.revenue-bar-item{min-width:46px}.ai-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-item,.upcoming-item{grid-template-columns:auto 1fr;gap:12px}.today-meta,.upcoming-meta{text-align:left;grid-column:2}}@media (width<=620px){.dashboard-main{padding:14px 10px 90px}.dashboard-header-bar h1{font-size:27px}.dashboard-kpi-card{align-items:center;gap:14px;padding:16px;display:flex}.dashboard-kpi-icon{flex:none}.dashboard-kpi-content strong{font-size:28px}.occupancy-stats.occupancy-stats-four{grid-template-columns:1fr}.revenue-value{font-size:30px}.revenue-chart{min-height:180px}.ai-mini-grid{grid-template-columns:1fr}.today-item,.upcoming-item{text-align:left;grid-template-columns:1fr}.today-meta,.upcoming-meta{grid-column:auto}.date-pill{width:fit-content}}@media (width<=900px){.quick-actions-grid{grid-template-columns:1fr}.quick-action-btn{justify-content:center;width:100%;min-height:48px}.action-modal-backdrop{align-items:flex-end;padding:0}.action-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:20px 16px 24px;overflow-y:auto}.action-modal-header{align-items:flex-start;gap:14px}.action-modal-header h2{font-size:24px;line-height:1.15}.action-form-grid,.action-booking-summary{grid-template-columns:1fr}.action-booking-save-btn,.action-modal-primary-btn{width:100%}.action-modal-item{grid-template-columns:1fr;gap:12px}.action-modal-room-actions{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.action-modal-room-actions button{width:100%}}@media (width<=1100px){.tb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-header{flex-direction:column;align-items:stretch;gap:16px}.tb-refresh-btn{width:100%}}@media (width<=760px){.tb-page{padding:14px 10px 90px}.tb-header h1{font-size:30px;line-height:1.1}.tb-stats{grid-template-columns:1fr}.tb-card{border-radius:22px;overflow:hidden}.tb-table-wrap{overflow:visible}.tb-table,.tb-table thead,.tb-table tbody,.tb-table th,.tb-table td,.tb-table tr{width:100%;display:block}.tb-table thead{display:none}.tb-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.tb-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:120px 1fr;gap:10px;padding:9px 0;display:grid}.tb-table td:last-child{border-bottom:0}.tb-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.tb-detail-btn{width:100%;min-height:44px}.tb-modal-backdrop{align-items:flex-end;padding:0}.tb-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:22px 16px 26px;overflow-y:auto}.tb-modal-header h2{font-size:24px;line-height:1.15}.tb-detail-grid,.tb-action-grid{grid-template-columns:1fr}.tb-action-grid button{width:100%;min-height:44px}}@media (width<=430px){.tb-table td{grid-template-columns:1fr;gap:4px}.tb-header h1{font-size:27px}}@media (width<=1200px){.bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bookings-page-header,.bookings-toolbar{flex-direction:column;align-items:stretch;gap:16px}.bookings-refresh-btn,.bookings-toolbar input{width:100%}}@media (width<=760px){.bookings-page{padding:14px 10px 90px}.bookings-page-header{border-radius:24px;padding:18px}.bookings-page-header h1{font-size:30px;line-height:1.1}.bookings-page-header span{font-size:14px;line-height:1.45}.bookings-stats-grid{grid-template-columns:1fr;gap:12px}.booking-stat-card{min-height:96px;padding:18px}.booking-stat-card span{font-size:13px}.booking-stat-card strong{font-size:30px}.bookings-toolbar{border-radius:22px;padding:18px}.bookings-toolbar h2{font-size:24px}.bookings-toolbar input{border-radius:16px;min-height:48px;font-size:14px}.bookings-table-card{border-radius:22px;overflow:hidden}.bookings-table-wrap{overflow:visible}.bookings-table,.bookings-table thead,.bookings-table tbody,.bookings-table th,.bookings-table td,.bookings-table tr{width:100%;display:block}.bookings-table thead{display:none}.bookings-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.bookings-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:120px 1fr;gap:10px;padding:9px 0;display:grid}.bookings-table td:last-child{border-bottom:0}.bookings-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.booking-status-badge,.booking-payment-badge{width:fit-content}.booking-modal-content{border-radius:28px 28px 0 0!important;width:100%!important;max-height:92vh!important;padding:22px 16px 26px!important}.booking-modal-detail-grid,.booking-room-assign-grid{grid-template-columns:1fr!important}.booking-room-assign-grid select,.booking-room-assign-grid button{width:100%!important}.booking-modal-actions-grid{grid-template-columns:1fr!important}.booking-modal-actions-grid button{width:100%!important;min-height:46px!important}}@media (width<=430px){.bookings-page{padding:12px 8px 90px}.bookings-page-header h1{font-size:27px}.bookings-table td{grid-template-columns:1fr;gap:4px}.bookings-table tr{margin:10px;padding:13px}.booking-modal-content{padding:20px 14px 24px!important}}@media (width<=1200px){.guests-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guests-page-header,.guests-toolbar{flex-direction:column;align-items:stretch;gap:16px}.guests-refresh-btn,.guests-toolbar input{width:100%}}@media (width<=760px){.guests-page{padding:14px 10px 90px}.guests-page-header{border-radius:24px;padding:18px}.guests-page-header h1{font-size:30px;line-height:1.1}.guests-page-header span{font-size:14px;line-height:1.45}.guests-stats-grid{grid-template-columns:1fr;gap:12px}.guest-stat-card{min-height:96px;padding:18px}.guest-stat-card span{font-size:13px}.guest-stat-card strong{font-size:30px}.guests-toolbar{border-radius:22px;padding:18px}.guests-toolbar h2{font-size:24px}.guests-toolbar input{border-radius:16px;min-height:48px;font-size:14px}.guests-table-card{border-radius:22px;overflow:hidden}.guests-table-wrap{overflow:visible}.guests-table,.guests-table thead,.guests-table tbody,.guests-table th,.guests-table td,.guests-table tr{width:100%;display:block}.guests-table thead{display:none}.guests-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.guests-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.guests-table td:last-child{border-bottom:0}.guests-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.guest-name-cell{align-items:flex-start}.guest-avatar{flex:none}.guest-booking-badge{width:fit-content}}@media (width<=430px){.guests-page{padding:12px 8px 90px}.guests-page-header h1{font-size:27px}.guests-table td{grid-template-columns:1fr;gap:4px}.guests-table tr{margin:10px;padding:13px}.guest-name-cell{gap:10px}}@media (width<=1200px){.rooms-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rooms-page-header,.rooms-toolbar{flex-direction:column;align-items:stretch;gap:16px}.rooms-refresh-btn,.rooms-toolbar input{width:100%}}@media (width<=760px){.rooms-page{padding:14px 10px 90px}.rooms-page-header{border-radius:24px;padding:18px}.rooms-page-header h1{font-size:30px;line-height:1.1}.rooms-page-header span{font-size:14px;line-height:1.45}.rooms-stats-grid{grid-template-columns:1fr;gap:12px}.room-stat-card{min-height:96px;padding:18px}.room-stat-card span{font-size:13px}.room-stat-card strong{font-size:30px}.rooms-toolbar{border-radius:22px;padding:18px}.rooms-toolbar h2{font-size:24px}.rooms-toolbar input{border-radius:16px;min-height:48px;font-size:14px}.rooms-table-card{border-radius:22px;overflow:hidden}.rooms-table-wrap{overflow:visible}.rooms-table,.rooms-table thead,.rooms-table tbody,.rooms-table th,.rooms-table td,.rooms-table tr{width:100%;display:block}.rooms-table thead{display:none}.rooms-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.rooms-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.rooms-table td:last-child{border-bottom:0}.rooms-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.room-name-cell{align-items:flex-start}.room-avatar{flex:none}.room-status-badge,.room-no-booking{width:fit-content}.room-actions{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.room-actions button{justify-content:center;width:100%;min-height:44px}.room-active-guest{align-items:flex-start}}@media (width<=430px){.rooms-page{padding:12px 8px 90px}.rooms-page-header h1{font-size:27px}.rooms-table td{grid-template-columns:1fr;gap:4px}.rooms-table tr{margin:10px;padding:13px}.room-name-cell{gap:10px}.room-actions button{font-size:13px}}@media (width<=1200px){.housekeeping-page .bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.housekeeping-page .bookings-page-header,.housekeeping-page .bookings-toolbar{flex-direction:column;align-items:stretch;gap:16px}.housekeeping-page .bookings-refresh-btn,.housekeeping-page .bookings-toolbar input{width:100%}}@media (width<=760px){.housekeeping-page{padding:14px 10px 90px}.housekeeping-page .bookings-page-header{border-radius:24px;padding:18px}.housekeeping-page .bookings-page-header h1{font-size:30px;line-height:1.1}.housekeeping-page .bookings-page-header span{font-size:14px;line-height:1.45}.housekeeping-page .bookings-stats-grid{grid-template-columns:1fr;gap:12px}.housekeeping-page .booking-stat-card{min-height:96px;padding:18px}.housekeeping-page .booking-stat-card span{font-size:13px}.housekeeping-page .booking-stat-card strong{font-size:30px}.housekeeping-page .bookings-toolbar{border-radius:22px;padding:18px}.housekeeping-page .bookings-toolbar h2{font-size:24px}.housekeeping-page .bookings-toolbar input{border-radius:16px;min-height:48px;font-size:14px}.housekeeping-page .bookings-table-card{border-radius:22px;overflow:hidden}.housekeeping-page .bookings-table-wrap{overflow:visible}.housekeeping-page .bookings-table,.housekeeping-page .bookings-table thead,.housekeeping-page .bookings-table tbody,.housekeeping-page .bookings-table th,.housekeeping-page .bookings-table td,.housekeeping-page .bookings-table tr{width:100%;display:block}.housekeeping-page .bookings-table thead{display:none}.housekeeping-page .bookings-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.housekeeping-page .bookings-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.housekeeping-page .bookings-table td:last-child{border-bottom:0}.housekeeping-page .bookings-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.housekeeping-page .room-status-badge{width:fit-content}.housekeeping-page .active-booking-pill{align-items:flex-start;width:fit-content}.housekeeping-actions-row{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.housekeeping-actions-row .room-action-btn{justify-content:center;width:100%;min-height:44px}}@media (width<=430px){.housekeeping-page{padding:12px 8px 90px}.housekeeping-page .bookings-page-header h1{font-size:27px}.housekeeping-page .bookings-table td{grid-template-columns:1fr;gap:4px}.housekeeping-page .bookings-table tr{margin:10px;padding:13px}.housekeeping-actions-row .room-action-btn{font-size:13px}}@media (width<=1200px){.payments-page .bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payments-page .bookings-page-header,.payments-page .bookings-toolbar{flex-direction:column;align-items:stretch;gap:16px}.payments-page .bookings-refresh-btn,.payments-page .bookings-toolbar input{width:100%}}@media (width<=760px){.payments-page{padding:14px 10px 90px}.payments-page .bookings-page-header{border-radius:24px;padding:18px}.payments-page .bookings-page-header h1{font-size:30px;line-height:1.1}.payments-page .bookings-page-header span{font-size:14px;line-height:1.45}.payments-page .bookings-stats-grid{grid-template-columns:1fr;gap:12px}.payments-page .booking-stat-card{min-height:96px;padding:18px}.payments-page .booking-stat-card span{font-size:13px}.payments-page .booking-stat-card strong{font-size:30px}.payments-page .bookings-toolbar{border-radius:22px;padding:18px}.payments-page .bookings-toolbar h2{font-size:24px}.payments-page .bookings-toolbar input{border-radius:16px;min-height:48px;font-size:14px}.payments-page .bookings-table-card{border-radius:22px;overflow:hidden}.payments-page .bookings-table-wrap{overflow:visible}.payments-page .bookings-table,.payments-page .bookings-table thead,.payments-page .bookings-table tbody,.payments-page .bookings-table th,.payments-page .bookings-table td,.payments-page .bookings-table tr{width:100%;display:block}.payments-page .bookings-table thead{display:none}.payments-page .bookings-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.payments-page .bookings-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.payments-page .bookings-table td:last-child{border-bottom:0}.payments-page .bookings-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.payments-page .booking-payment-badge{width:fit-content}.payments-action-row{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.payments-action-row .room-action-btn{justify-content:center;width:100%;min-height:44px}}@media (width<=430px){.payments-page{padding:12px 8px 90px}.payments-page .bookings-page-header h1{font-size:27px}.payments-page .bookings-table td{grid-template-columns:1fr;gap:4px}.payments-page .bookings-table tr{margin:10px;padding:13px}.payments-action-row .room-action-btn{font-size:13px}}@media (width<=1200px){.reports-page .bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-page .bookings-page-header,.reports-page .bookings-toolbar{flex-direction:column;align-items:stretch;gap:16px}.reports-page .bookings-refresh-btn{width:100%}.reports-grid{grid-template-columns:1fr}}@media (width<=760px){.reports-page{padding:14px 10px 90px}.reports-page .bookings-page-header{border-radius:24px;padding:18px}.reports-page .bookings-page-header h1{font-size:30px;line-height:1.1}.reports-page .bookings-page-header span{font-size:14px;line-height:1.45}.reports-page .bookings-stats-grid{grid-template-columns:1fr;gap:12px}.reports-page .booking-stat-card{min-height:96px;padding:18px}.reports-page .booking-stat-card span{font-size:13px}.reports-page .booking-stat-card strong{word-break:break-word;font-size:30px;line-height:1.1}.reports-grid{grid-template-columns:1fr;gap:14px}.reports-card{border-radius:22px;padding:18px}.reports-card-header h2{font-size:24px;line-height:1.15}.reports-money-list{gap:12px}.reports-money-list>div{border-radius:18px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px}.reports-money-list span{font-size:13px}.reports-money-list strong{word-break:break-word;font-size:22px;line-height:1.1}.reports-room-list{gap:12px}.reports-room-row{border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.reports-room-row strong{word-break:break-word}.reports-room-row span{font-size:13px;line-height:1.35}.reports-page .bookings-toolbar{border-radius:22px;padding:18px}.reports-page .bookings-toolbar h2{font-size:24px}.reports-page .bookings-table-card{border-radius:22px;overflow:hidden}.reports-page .bookings-table-wrap{overflow:visible}.reports-page .bookings-table,.reports-page .bookings-table thead,.reports-page .bookings-table tbody,.reports-page .bookings-table th,.reports-page .bookings-table td,.reports-page .bookings-table tr{width:100%;display:block}.reports-page .bookings-table thead{display:none}.reports-page .bookings-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.reports-page .bookings-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.reports-page .bookings-table td:last-child{border-bottom:0}.reports-page .bookings-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}}@media (width<=430px){.reports-page{padding:12px 8px 90px}.reports-page .bookings-page-header h1{font-size:27px}.reports-page .booking-stat-card strong{font-size:26px}.reports-money-list strong{font-size:20px}.reports-page .bookings-table td{grid-template-columns:1fr;gap:4px}.reports-page .bookings-table tr{margin:10px;padding:13px}}@media (width<=1200px){.ai-manager-page .bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-manager-page .bookings-page-header,.ai-manager-page .bookings-toolbar{flex-direction:column;align-items:stretch;gap:16px}.ai-manager-page .bookings-refresh-btn{width:100%}.ai-manager-grid{grid-template-columns:1fr}}@media (width<=760px){.ai-manager-page{padding:14px 10px 90px}.ai-manager-page .bookings-page-header{border-radius:24px;padding:18px}.ai-manager-page .bookings-page-header h1{font-size:30px;line-height:1.1}.ai-manager-page .bookings-page-header span{font-size:14px;line-height:1.45}.ai-manager-page .bookings-stats-grid{grid-template-columns:1fr;gap:12px}.ai-manager-page .booking-stat-card{min-height:96px;padding:18px}.ai-manager-page .booking-stat-card span{font-size:13px}.ai-manager-page .booking-stat-card strong{font-size:30px}.ai-manager-grid{grid-template-columns:1fr;gap:14px}.ai-manager-main-card,.ai-manager-side-card{border-radius:22px;padding:18px}.ai-manager-main-header{align-items:flex-start;gap:14px}.ai-manager-main-header h2,.ai-manager-side-card h2{font-size:24px;line-height:1.15}.ai-manager-orb{width:48px;min-width:48px;height:48px;font-size:15px}.ai-manager-summary{font-size:14px;line-height:1.55}.ai-manager-recommendations{gap:12px}.ai-manager-recommendation{border-radius:18px;grid-template-columns:42px 1fr;gap:12px;padding:14px}.ai-manager-recommendation strong{font-size:15px;line-height:1.25}.ai-manager-recommendation p{font-size:13px;line-height:1.45}.ai-manager-task-list{gap:12px}.ai-manager-task{border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.ai-manager-task div{width:100%}.ai-manager-task strong{font-size:28px}.ai-manager-task p{font-size:13px;line-height:1.4}.ai-manager-page .bookings-toolbar{border-radius:22px;padding:18px}.ai-manager-page .bookings-toolbar h2{font-size:24px;line-height:1.15}.ai-manager-page .bookings-table-card{border-radius:22px;overflow:hidden}.ai-manager-page .bookings-table-wrap{overflow:visible}.ai-manager-page .bookings-table,.ai-manager-page .bookings-table thead,.ai-manager-page .bookings-table tbody,.ai-manager-page .bookings-table th,.ai-manager-page .bookings-table td,.ai-manager-page .bookings-table tr{width:100%;display:block}.ai-manager-page .bookings-table thead{display:none}.ai-manager-page .bookings-table tr{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;margin:12px;padding:14px;box-shadow:0 12px 24px #0f172a12}.ai-manager-page .bookings-table td{text-align:left;border-bottom:1px solid #0f172a12;grid-template-columns:125px 1fr;gap:10px;padding:9px 0;display:grid}.ai-manager-page .bookings-table td:last-child{border-bottom:0}.ai-manager-page .bookings-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.ai-manager-page .booking-payment-badge,.ai-manager-page .room-status-badge{width:fit-content}}@media (width<=430px){.ai-manager-page{padding:12px 8px 90px}.ai-manager-page .bookings-page-header h1{font-size:27px}.ai-manager-main-card,.ai-manager-side-card{padding:16px}.ai-manager-main-header{flex-direction:column}.ai-manager-orb{width:44px;min-width:44px;height:44px}.ai-manager-recommendation{grid-template-columns:1fr}.ai-manager-recommendation>div:first-child{width:38px;height:38px}.ai-manager-page .bookings-table td{grid-template-columns:1fr;gap:4px}.ai-manager-page .bookings-table tr{margin:10px;padding:13px}}@media (width<=1200px){.settings-page .bookings-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page .bookings-page-header{flex-direction:column;align-items:stretch;gap:16px}.settings-header-actions{grid-template-columns:1fr 1fr;gap:12px;width:100%;display:grid}.settings-header-actions button{width:100%}.settings-grid{grid-template-columns:1fr}}@media (width<=760px){.settings-page{padding:14px 10px 90px}.settings-page .bookings-page-header{border-radius:24px;padding:18px}.settings-page .bookings-page-header h1{font-size:30px;line-height:1.1}.settings-page .bookings-page-header span{font-size:14px;line-height:1.45}.settings-header-actions{grid-template-columns:1fr;gap:10px}.settings-header-actions .bookings-refresh-btn,.settings-header-actions .settings-save-btn{width:100%;min-height:48px}.settings-message{border-radius:18px;padding:14px 16px;font-size:14px;line-height:1.45}.settings-page .bookings-stats-grid{grid-template-columns:1fr;gap:12px}.settings-page .booking-stat-card{min-height:96px;padding:18px}.settings-page .booking-stat-card span{font-size:13px}.settings-page .booking-stat-card strong{word-break:break-word;font-size:30px;line-height:1.1}.settings-grid{grid-template-columns:1fr;gap:14px}.settings-section-card{border-radius:22px;padding:18px}.settings-section-header h2{font-size:24px;line-height:1.15}.settings-section-header span{font-size:14px;line-height:1.45}.settings-form-grid{grid-template-columns:1fr;gap:14px}.settings-field{gap:8px}.settings-field span{font-size:13px}.settings-field input,.settings-field select{border-radius:16px;width:100%;min-height:48px;font-size:14px}.settings-toggle-list{gap:12px}.settings-toggle-row{border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.settings-toggle-row strong{font-size:15px;line-height:1.25}.settings-toggle-row span{font-size:13px;line-height:1.4}.settings-toggle{width:58px;min-width:58px;height:32px}.settings-toggle span{width:26px;height:26px}.settings-toggle.active span{transform:translate(26px)}.settings-bottom-actions{grid-template-columns:1fr;gap:12px;padding-bottom:10px;display:grid}.settings-bottom-actions button{width:100%;min-height:48px}.settings-reset-btn,.settings-save-btn{border-radius:16px;font-size:14px}}@media (width<=430px){.settings-page{padding:12px 8px 90px}.settings-page .bookings-page-header h1{font-size:27px}.settings-section-card{padding:16px}.settings-section-header h2{font-size:22px}.settings-toggle-row{grid-template-columns:1fr;gap:12px}.settings-toggle{justify-self:start}.settings-page .booking-stat-card strong{font-size:27px}}@media (width<=900px){html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.dashboard-v4,.dashboard-v4-shell,.dashboard-v4-layout{width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden;flex-direction:column!important}.dashboard-sidebar{z-index:20;box-shadow:0 12px 34px #02061729;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:auto!important;padding:12px 10px 10px!important;position:relative!important;top:auto!important;overflow:visible!important}.dashboard-logo{height:auto!important;min-height:auto!important;margin:0!important;padding:4px 0 10px!important}.dashboard-logo img{width:96px!important;max-width:96px!important;transform:none!important}.dashboard-menu{scrollbar-width:none;width:100%;flex-direction:row!important;gap:8px!important;padding:4px 2px 10px!important;display:flex!important;overflow:auto hidden!important}.dashboard-menu::-webkit-scrollbar{display:none}.dashboard-menu-item{white-space:nowrap!important;border-radius:999px!important;flex:none!important;gap:9px!important;width:auto!important;min-width:max-content!important;height:44px!important;min-height:44px!important;padding:0 15px!important;font-size:13px!important;transform:none!important}.dashboard-menu-item:hover{transform:none!important}.dashboard-menu-item svg{width:17px!important;height:17px!important}.dashboard-sidebar-footer,.dashboard-sidebar-bottom{display:none!important}.dashboard-main,.dashboard-v4-main{width:100%!important;min-width:0!important;max-width:100vw!important;padding:14px 10px 90px!important;overflow-x:hidden!important}.dashboard-header-bar,.dashboard-v4-header,.bookings-page-header,.rooms-page-header{flex-direction:column!important;align-items:stretch!important;gap:14px!important}.dashboard-header-actions,.dashboard-v4-header-actions{grid-template-columns:1fr!important;gap:10px!important;width:100%!important;display:grid!important}.language-switcher{grid-template-columns:repeat(3,1fr)!important;width:100%!important;display:grid!important}.language-switcher button,.dashboard-header-btn{width:100%!important}.dashboard-kpi-grid,.bookings-stats-grid,.rooms-stats-grid,.dashboard-top-grid,.dashboard-bottom-grid{grid-template-columns:1fr!important}.dashboard-card,.dashboard-kpi-card,.booking-stat-card,.room-stat-card{width:100%!important;max-width:100%!important}}@media (width<=430px){.dashboard-sidebar{padding:10px 8px 8px!important}.dashboard-logo img{width:82px!important;max-width:82px!important}.dashboard-menu-item{height:40px!important;min-height:40px!important;padding:0 13px!important;font-size:12px!important}.dashboard-main,.dashboard-v4-main{padding:12px 8px 90px!important}.dashboard-header-bar h1,.dashboard-v4-header h1,.bookings-page-header h1,.rooms-page-header h1{font-size:28px!important}}@media (width<=900px){.guests-page,.housekeeping-page,.reports-page,.ai-manager-page,.payments-page,.bookings-page,.rooms-page{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.guests-table-card,.bookings-table-card,.rooms-table-card,.housekeeping-table-card,.ai-manager-table-card{width:100%!important;max-width:100%!important;padding:10px!important;overflow:hidden!important}.guests-table-wrap,.bookings-table-wrap,.rooms-table-wrap,.housekeeping-table-wrap,.ai-manager-table-wrap{width:100%!important;max-width:100%!important;overflow:visible!important}.guests-table,.bookings-table,.rooms-table,.housekeeping-table,.ai-manager-table{table-layout:fixed!important;width:100%!important;min-width:0!important;max-width:100%!important}.guests-table thead,.bookings-table thead,.rooms-table thead,.housekeeping-table thead,.ai-manager-table thead{display:none!important}.guests-table,.guests-table tbody,.guests-table tr,.guests-table td,.bookings-table,.bookings-table tbody,.bookings-table tr,.bookings-table td,.rooms-table,.rooms-table tbody,.rooms-table tr,.rooms-table td,.housekeeping-table,.housekeeping-table tbody,.housekeeping-table tr,.housekeeping-table td,.ai-manager-table,.ai-manager-table tbody,.ai-manager-table tr,.ai-manager-table td{width:100%!important;max-width:100%!important;display:block!important}.guests-table tr,.bookings-table tr,.rooms-table tr,.housekeeping-table tr,.ai-manager-table tr{background:#fffffffa!important;border:1px solid #0f172a14!important;border-radius:18px!important;margin:0 0 12px!important;padding:14px!important;overflow:hidden!important;box-shadow:0 12px 24px #0f172a0f!important}.guests-table td,.bookings-table td,.rooms-table td,.housekeeping-table td,.ai-manager-table td{text-align:left!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;border-bottom:1px solid #0f172a14!important;min-width:0!important;padding:10px 0!important;display:block!important}.guests-table td:last-child,.bookings-table td:last-child,.rooms-table td:last-child,.housekeeping-table td:last-child,.ai-manager-table td:last-child{border-bottom:0!important}.guests-table td:before,.bookings-table td:before,.rooms-table td:before,.housekeeping-table td:before,.ai-manager-table td:before{content:attr(data-label)!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.08em!important;white-space:normal!important;margin-bottom:5px!important;font-size:11px!important;font-weight:900!important;line-height:1.2!important;display:block!important}.guests-table strong,.guests-table span,.guests-table small,.bookings-table strong,.bookings-table span,.bookings-table small,.rooms-table strong,.rooms-table span,.rooms-table small,.housekeeping-table strong,.housekeeping-table span,.housekeeping-table small,.ai-manager-table strong,.ai-manager-table span,.ai-manager-table small{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;max-width:100%!important}.guest-name-cell,.room-name-cell{align-items:flex-start!important;gap:12px!important;width:100%!important;min-width:0!important;display:flex!important}.guest-name-cell>div,.room-name-cell>div{min-width:0!important;max-width:100%!important}.guest-avatar,.room-avatar{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:42px!important}.guest-booking-badge,.booking-status-badge,.booking-payment-badge,.room-status-badge,.room-no-booking,.active-booking-pill,.tb-payment,.tb-status{white-space:normal!important;width:fit-content!important;max-width:100%!important}.housekeeping-actions-row,.payments-action-row,.room-actions{grid-template-columns:1fr!important;gap:8px!important;width:100%!important;margin-top:6px!important;display:grid!important}.housekeeping-actions-row button,.payments-action-row button,.room-actions button,.room-action-btn{text-align:center!important;justify-content:center!important;width:100%!important;min-height:42px!important}.reports-room-row,.reports-room-row>div,.reports-room-row strong{text-align:left!important;width:100%!important;display:block!important}.reports-money-list>div{text-align:left!important;display:block!important}.ai-manager-main-card,.ai-manager-side-card{width:100%!important;max-width:100%!important;overflow:hidden!important}.ai-manager-task{width:100%!important;display:block!important}.ai-manager-task div,.ai-manager-task p{width:100%!important;max-width:100%!important}}@media (width<=480px){.guests-table-card,.bookings-table-card,.rooms-table-card,.housekeeping-table-card,.ai-manager-table-card{border-radius:20px!important;padding:8px!important}.guests-table tr,.bookings-table tr,.rooms-table tr,.housekeeping-table tr,.ai-manager-table tr{border-radius:16px!important;padding:12px!important}.guests-table td,.bookings-table td,.rooms-table td,.housekeeping-table td,.ai-manager-table td{padding:9px 0!important}.guest-avatar,.room-avatar{flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px!important}.guest-name-cell,.room-name-cell{gap:10px!important}}@media (width<=900px){.guests-table tr,.bookings-table tr,.rooms-table tr,.housekeeping-table tr,.ai-manager-table tr,.guests-table td,.bookings-table td,.rooms-table td,.housekeeping-table td,.ai-manager-table td,.guests-table-card,.bookings-table-card,.rooms-table-card,.housekeeping-table-card,.ai-manager-table-card,.guests-table-wrap,.bookings-table-wrap,.rooms-table-wrap,.housekeeping-table-wrap,.ai-manager-table-wrap{height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}.guests-page .guests-table tr{background:#fff!important;border-radius:18px!important;margin-bottom:12px!important;padding:14px!important;display:block!important}.guests-page .guests-table td{border-bottom:1px solid #0f172a14!important;width:100%!important;padding:9px 0!important;display:block!important}.guests-page .guests-table td:last-child{border-bottom:0!important}.guests-page .guest-name-cell{align-items:flex-start!important;gap:12px!important;width:100%!important;display:flex!important}.guests-page .guest-name-cell strong,.guests-page .guest-name-cell span,.guests-page .guests-table td{white-space:normal!important;text-overflow:unset!important;word-break:break-word!important;overflow-wrap:anywhere!important;overflow:visible!important}.reports-page .bookings-table-card{padding:10px!important;overflow:visible!important}.reports-page .bookings-table tr{background:#fff!important;border-radius:18px!important;height:auto!important;max-height:none!important;margin-bottom:12px!important;padding:14px!important;display:block!important;overflow:visible!important}.reports-page .bookings-table td{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;border-bottom:1px solid #0f172a14!important;width:100%!important;height:auto!important;max-height:none!important;padding:9px 0!important;display:block!important;overflow:visible!important}.reports-page .bookings-table td:last-child{border-bottom:0!important}.reports-page .bookings-table strong,.reports-page .bookings-table span,.reports-page .bookings-table small{white-space:normal!important;text-overflow:unset!important;word-break:break-word!important;overflow-wrap:anywhere!important;overflow:visible!important}.ai-manager-page .bookings-table-card{padding:10px!important;overflow:visible!important}.ai-manager-page .bookings-table tr{background:#fff!important;border-radius:18px!important;height:auto!important;max-height:none!important;margin-bottom:12px!important;padding:14px!important;display:block!important;overflow:visible!important}.ai-manager-page .bookings-table td{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;border-bottom:1px solid #0f172a14!important;width:100%!important;height:auto!important;max-height:none!important;padding:9px 0!important;display:block!important;overflow:visible!important}.ai-manager-page .bookings-table td:last-child{border-bottom:0!important}.dashboard-card,.dashboard-ai-card,.ai-manager-card,.ai-assistant-card,.dashboard-card.ai-manager,.dashboard-ai-manager,.ai-overview-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}.dashboard-card *,.dashboard-ai-card *,.ai-manager-card *,.ai-assistant-card *,.dashboard-ai-manager *,.ai-overview-card *{box-sizing:border-box!important;max-width:100%!important}.dashboard-bottom-grid,.dashboard-top-grid,.dashboard-main-grid,.dashboard-content-grid{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.ai-manager-card button,.ai-assistant-card button,.dashboard-ai-card button,.dashboard-ai-manager button,.ai-overview-card button{justify-content:center!important;width:100%!important;max-width:100%!important}}@media (width<=480px){.guests-page .guests-table tr,.reports-page .bookings-table tr,.ai-manager-page .bookings-table tr{border-radius:16px!important;padding:12px!important}.guests-page .guests-table td,.reports-page .bookings-table td,.ai-manager-page .bookings-table td{padding:8px 0!important}.reports-page .bookings-table-card,.guests-page .guests-table-card,.ai-manager-page .bookings-table-card{padding:8px!important}}@media (width<=900px){.reports-page .bookings-table-card{border-radius:22px!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;padding:12px!important;overflow:visible!important}.reports-page .bookings-table-wrap{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}.reports-page .bookings-table{border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;display:block!important}.reports-page .bookings-table thead{display:none!important}.reports-page .bookings-table tbody{flex-direction:column!important;gap:14px!important;width:100%!important;height:auto!important;max-height:none!important;display:flex!important;overflow:visible!important}.reports-page .bookings-table tr{background:#fff!important;border:1px solid #0f172a14!important;border-radius:18px!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;margin:0!important;padding:14px!important;display:block!important;overflow:visible!important;box-shadow:0 12px 24px #0f172a0f!important}.reports-page .bookings-table td{text-align:left!important;white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;border-bottom:1px solid #0f172a14!important;grid-template-columns:none!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important;margin:0!important;padding:10px 0!important;line-height:1.35!important;display:block!important;overflow:visible!important}.reports-page .bookings-table td:last-child{border-bottom:0!important}.reports-page .bookings-table td:before{content:attr(data-label)!important;color:#64748b!important;text-transform:uppercase!important;letter-spacing:.08em!important;width:100%!important;margin-bottom:5px!important;font-size:11px!important;font-weight:900!important;line-height:1.2!important;display:block!important}.reports-page .bookings-table strong,.reports-page .bookings-table span,.reports-page .bookings-table small{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;width:100%!important;max-width:100%!important;height:auto!important;line-height:1.35!important;display:block!important;overflow:visible!important}}@media (width<=480px){.reports-page .bookings-table-card{padding:10px!important}.reports-page .bookings-table tbody{gap:12px!important}.reports-page .bookings-table tr{border-radius:16px!important;padding:12px!important}.reports-page .bookings-table td{padding:9px 0!important}}@media (width<=900px){.reports-page .bookings-table-card{border-radius:22px!important;width:100%!important;max-width:100%!important;padding:0!important;overflow:auto visible!important}.reports-page .bookings-table-wrap{-webkit-overflow-scrolling:touch!important;width:100%!important;max-width:100%!important;overflow:auto visible!important}.reports-page .bookings-table{table-layout:auto!important;border-collapse:collapse!important;width:100%!important;min-width:760px!important;max-width:none!important;display:table!important}.reports-page .bookings-table thead{display:table-header-group!important}.reports-page .bookings-table tbody{width:auto!important;display:table-row-group!important}.reports-page .bookings-table tr{width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:table-row!important;overflow:visible!important}.reports-page .bookings-table th,.reports-page .bookings-table td{text-align:left!important;vertical-align:middle!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;border-bottom:1px solid #0f172a14!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;padding:14px 16px!important;display:table-cell!important;overflow:visible!important}.reports-page .bookings-table td:before{content:none!important;display:none!important}.reports-page .bookings-table th{color:#64748b!important;text-transform:uppercase!important;letter-spacing:.08em!important;background:#f8fafcf2!important;font-size:11px!important;font-weight:900!important}.reports-page .bookings-table td strong,.reports-page .bookings-table td span,.reports-page .bookings-table td small{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;display:inline!important}}@media (width<=480px){.reports-page .bookings-table{min-width:820px!important}.reports-page .bookings-table th,.reports-page .bookings-table td{padding:13px 14px!important;font-size:13px!important}}.tb-page{background:radial-gradient(circle at 0 0,#c59a5824,#0000 34%),linear-gradient(#f8fafc,#eef2f7);min-height:100vh;padding:28px}.tb-header{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:22px;display:flex}.tb-eyebrow{color:#b78635;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:900}.tb-header h1{color:#0f172a;margin:0;font-size:34px;line-height:1.1}.tb-header p{color:#64748b;margin:8px 0 0;font-size:15px}.tb-refresh-btn{color:#0f172a;cursor:pointer;background:linear-gradient(135deg,#f8d98a,#c8963e);border:0;border-radius:16px;padding:12px 18px;font-weight:900;box-shadow:0 14px 30px #b8862d3d}.tb-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.tb-error{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;margin-bottom:18px;padding:14px 16px;font-weight:800}.tb-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.tb-stat{text-align:left;cursor:pointer;background:#ffffffed;border:1px solid #94a3b838;border-radius:22px;padding:17px;transition:all .2s;box-shadow:0 18px 45px #0f172a14}.tb-stat:hover{transform:translateY(-2px);box-shadow:0 24px 58px #0f172a1f}.tb-stat.active{background:linear-gradient(135deg,#fff8e2fa,#fff);border-color:#c8963e8c}.tb-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;display:block}.tb-stat strong{color:#0f172a;margin-top:10px;font-size:30px;display:block}.tb-card{background:#fffffff5;border:1px solid #94a3b82e;border-radius:28px;overflow:hidden;box-shadow:0 24px 70px #0f172a17}.tb-card-header{border-bottom:1px solid #e2e8f0e6;padding:22px 24px}.tb-card-header h2{color:#0f172a;margin:0;font-size:22px}.tb-card-header p{color:#64748b;margin:5px 0 0}.tb-empty{color:#64748b;padding:34px 24px;font-weight:800}.tb-table-wrap{width:100%;overflow-x:auto}.tb-table{border-collapse:collapse;width:100%}.tb-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#f8fafc;padding:14px 16px;font-size:12px;font-weight:900}.tb-table td{color:#0f172a;vertical-align:middle;border-top:1px solid #eef2f7;padding:17px 16px}.tb-table td strong{color:#0f172a;font-size:14px;display:block}.tb-table td small{color:#64748b;margin-top:4px;font-size:12px;display:block}.tb-status,.tb-payment{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:108px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.tb-status.new{color:#1d4ed8;background:#eff6ff}.tb-status.confirmed{color:#047857;background:#ecfdf5}.tb-status.completed{color:#6d28d9;background:#f5f3ff}.tb-status.cancelled{color:#be123c;background:#fff1f2}.tb-status.deleted{color:#475569;background:#f1f5f9}.tb-payment.pending{color:#c2410c;background:#fff7ed}.tb-payment.deposit_requested{color:#b45309;background:#fffbeb}.tb-payment.deposit_paid{color:#4338ca;background:#eef2ff}.tb-payment.paid{color:#047857;background:#ecfdf5}.tb-detail-btn{color:#0f172a;cursor:pointer;background:linear-gradient(135deg,#f8d98a,#c8963e);border:0;border-radius:13px;padding:9px 12px;font-weight:900;transition:all .2s;box-shadow:0 10px 24px #b8862d38}.tb-detail-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px #b8862d47}.tb-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0f172a9e;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.tb-modal{background:#fff;border-radius:30px;width:min(780px,100%);max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 35px 100px #0f172a59}.tb-modal-close{color:#0f172a;cursor:pointer;background:#f1f5f9;border:0;border-radius:999px;width:38px;height:38px;font-size:24px;position:absolute;top:18px;right:18px}.tb-modal-header p{color:#b78635;text-transform:uppercase;letter-spacing:.12em;margin:0 0 7px;font-size:13px;font-weight:900}.tb-modal-header h2{color:#0f172a;margin:0;padding-right:44px;font-size:27px}.tb-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.tb-detail-grid div,.tb-note{background:#f8fafc;border:1px solid #eef2f7;border-radius:18px;padding:15px}.tb-detail-grid span,.tb-note span{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.tb-detail-grid strong{color:#0f172a;word-break:break-word;font-size:15px}.tb-detail-grid .tb-detail-wide{grid-column:1/-1;background:linear-gradient(135deg,#fffdf5,#f8fafc);border-color:#d4af3740}.tb-note{margin-top:14px}.tb-note p{color:#334155;margin:0;line-height:1.6}.tb-modal-section{border-top:1px solid #eef2f7;margin-top:18px;padding-top:18px}.tb-modal-section h3{color:#0f172a;margin:0 0 12px;font-size:16px}.tb-action-grid{flex-wrap:wrap;gap:10px;display:flex}.tb-action-grid button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:15px;padding:12px 16px;font-weight:900}.tb-action-grid button:first-child{color:#0f172a;background:linear-gradient(135deg,#f8d98a,#c8963e)}.tb-action-grid button.warning{background:#f97316}.tb-action-grid button.danger{background:#be123c}.tb-action-grid button.light{color:#0f172a;background:#f1f5f9}.tb-action-grid button:disabled{opacity:.6;cursor:not-allowed}@media (width<=1100px){.tb-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.tb-page{padding:18px 14px 90px}.tb-header{flex-direction:column}.tb-header h1{font-size:28px}.tb-refresh-btn{width:100%}.tb-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tb-stat{border-radius:18px;padding:15px}.tb-stat strong{font-size:27px}.tb-card{border-radius:22px}.tb-table,.tb-table thead,.tb-table tbody,.tb-table th,.tb-table td,.tb-table tr{display:block}.tb-table thead{display:none}.tb-table tr{background:#fff;border:1px solid #eef2f7;border-radius:20px;margin:12px;padding:14px;box-shadow:0 14px 34px #0f172a14}.tb-table td{text-align:right;border-top:0;border-bottom:1px solid #eef2f7;justify-content:space-between;gap:16px;padding:11px 0;display:flex}.tb-table td:last-child{border-bottom:0}.tb-table td:before{content:attr(data-label);text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.06em;flex:0 0 110px;font-size:12px;font-weight:900}.tb-table td strong,.tb-table td small{text-align:right}.tb-detail-btn{width:100%}.tb-modal-backdrop{align-items:flex-end;padding:0}.tb-modal{border-radius:28px 28px 0 0;width:100%;max-height:92vh;padding:24px 18px 30px}.tb-detail-grid{grid-template-columns:1fr}.tb-action-grid{grid-template-columns:1fr;display:grid}.tb-action-grid button{width:100%}}@media (width<=520px){.tb-stats{grid-template-columns:1fr}.tb-header h1{font-size:25px}.tb-table td{text-align:left;display:block}.tb-table td:before{margin-bottom:6px;display:block}.tb-table td strong,.tb-table td small{text-align:left}.tb-status,.tb-payment{min-width:0}}

/* === PMS shared booking calendar + program settings add-on === */
.pms-calendar-page,.program-settings-page{padding:34px 34px 48px;color:#08223d;min-height:100vh;background:linear-gradient(135deg,#f8fbff 0%,#eef3f8 100%)}
.pms-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.pms-page-head h1{margin:0;font-size:38px;line-height:1.05;font-weight:900;letter-spacing:-.04em;color:#08223d}.pms-page-head span{display:block;margin-top:8px;color:#5b6f86;font-weight:700}.pms-light-btn,.pms-icon-btn,.pms-primary-btn{border:1px solid rgba(8,34,61,.12);border-radius:14px;background:#fff;color:#08223d;font-weight:900;box-shadow:0 8px 22px rgba(8,34,61,.08);height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;white-space:nowrap}.pms-light-btn.small,.pms-icon-btn{width:48px;padding:0}.pms-primary-btn{background:linear-gradient(135deg,#d4a62b,#b57a14);color:#fff;border-color:#c3921d}.pms-primary-btn.wide{width:100%;margin-top:12px}.pms-primary-btn:disabled,.mini-gold:disabled{opacity:.5;cursor:not-allowed}.pms-calendar-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:18px}.pms-calendar-toolbar h2{margin:0 22px 0 8px;font-size:28px;font-weight:900;color:#08223d}.pms-spacer{flex:1}.pms-source-tabs{display:flex;flex-wrap:wrap;gap:12px;padding:10px;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(8,34,61,.06);border:1px solid rgba(8,34,61,.08);width:max-content;max-width:100%;margin-bottom:12px}.pms-source-tabs button{height:44px;padding:0 26px;border-radius:13px;border:1px solid rgba(8,34,61,.1);background:#fff;color:#08223d;font-weight:900;cursor:pointer}.pms-source-tabs button.active{background:#082b49;color:#f5c94c;border-color:#d5a728;box-shadow:0 8px 20px rgba(8,43,73,.22)}.pms-info-strip{border:1px solid rgba(28,79,126,.14);background:#f4f8fc;border-radius:14px;padding:13px 18px;margin-bottom:16px;color:#51687f;font-weight:800}.pms-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.pms-calendar-card,.pms-detail-card,.program-table-card,.program-editor-card{background:#fff;border:1px solid rgba(8,34,61,.08);border-radius:24px;box-shadow:0 16px 45px rgba(8,34,61,.08)}.pms-calendar-card{padding:18px}.pms-legend{display:flex;flex-wrap:wrap;gap:22px;margin:2px 0 18px;color:#263f59;font-weight:800}.pms-legend span{display:inline-flex;align-items:center;gap:8px}.pms-legend .dot{width:14px;height:14px;border-radius:50%;display:inline-block}.pms-legend .d0{background:#3eaf46}.pms-legend .d1{background:#1268df}.pms-legend .d2{background:#8a3bbd}.pms-legend .d3{background:#f26a18}.pms-legend .d4{background:#8b9095}.pms-legend .d5{background:#f5c447}.pms-legend .d6{background:#e80018}.pms-grid{display:grid;grid-template-columns:150px repeat(7,minmax(110px,1fr));border:1px solid rgba(8,34,61,.08);border-radius:18px;overflow:hidden}.pms-grid-head,.pms-room-cell,.pms-day-cell{min-height:76px;border-right:1px solid rgba(8,34,61,.08);border-bottom:1px solid rgba(8,34,61,.08);background:#fff}.pms-grid-head{display:flex;flex-direction:column;justify-content:center;align-items:center;font-weight:900}.pms-grid-head.room{align-items:flex-start;padding-left:18px}.pms-grid-head strong{font-size:18px}.pms-grid-head span{font-size:13px;color:#566b7d;margin-top:4px}.pms-room-cell{display:flex;align-items:center;padding-left:18px;font-weight:900;color:#0a2038;background:#fff}.pms-day-cell{position:relative;display:flex;align-items:center;justify-content:center;color:#8a96a3;font-weight:700;font-size:14px;overflow:visible}.pms-day-cell.covered span,.pms-day-cell.covered{color:transparent}.pms-booking{position:absolute;left:10px;right:auto;top:50%;transform:translateY(-50%);height:46px;border:0;border-radius:12px;padding:0 10px 0 16px;color:#fff;font-weight:900;box-shadow:0 9px 20px rgba(8,34,61,.16);display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:4;cursor:pointer;text-align:left}.pms-booking span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pms-booking em{font-style:normal;color:#08223d;background:#ffd452;border-radius:999px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:0 0 auto}.pms-booking.web{background:linear-gradient(135deg,#45b04a,#298d36)}.pms-booking.booking{background:linear-gradient(135deg,#1378f0,#075ac4)}.pms-booking.agoda{background:linear-gradient(135deg,#a646d0,#7625a6)}.pms-booking.whatsapp{background:linear-gradient(135deg,#ff7718,#e35308)}.pms-booking.walkin{background:linear-gradient(135deg,#9ca0a5,#6f7378)}.pms-detail-card{padding:24px}.pms-detail-card h2{margin:0 0 16px;font-size:24px;color:#08223d}.pms-detail-card hr{border:0;border-top:1px solid rgba(8,34,61,.09);margin:18px 0}.pms-detail-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:11px 0;color:#41586f;font-weight:800}.pms-detail-row strong{color:#0b2038;text-align:right}.pms-detail-row strong.blue{color:#0968e0}.pms-detail-row strong.green{color:#14923b}.pms-dark-action,.pms-outline-action,.pms-danger-action{width:100%;height:48px;border-radius:12px;margin-top:10px;font-weight:900;cursor:pointer}.pms-dark-action{background:#082b49;color:#fff;border:0}.pms-outline-action{background:#fff;color:#08223d;border:1px solid rgba(8,34,61,.25)}.pms-danger-action{background:#fff;color:#ed1b2f;border:1px solid rgba(237,27,47,.45)}
.program-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.program-kpi-grid article{background:#fff;border:1px solid rgba(8,34,61,.08);border-radius:20px;padding:22px;box-shadow:0 14px 35px rgba(8,34,61,.07)}.program-kpi-grid article.dark{background:#082b49;color:#fff;border-color:#d5a728}.program-kpi-grid span{display:block;font-weight:900;color:#66788b}.program-kpi-grid .dark span{color:#f5c94c}.program-kpi-grid strong{font-size:34px;color:#08223d}.program-kpi-grid .dark strong{color:#fff}.program-settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.program-table-card{padding:22px;overflow:auto}.program-table-card h2,.program-editor-card h2{margin:0 0 16px;color:#08223d;font-size:26px}.program-table-card table{width:100%;border-collapse:separate;border-spacing:0 9px}.program-table-card th{text-align:left;font-size:12px;color:#d5a728;background:#082b49;padding:14px 12px;white-space:nowrap}.program-table-card th:first-child{border-radius:14px 0 0 14px}.program-table-card th:last-child{border-radius:0 14px 14px 0}.program-table-card td{background:#f7f9fb;border-top:1px solid rgba(8,34,61,.04);border-bottom:1px solid rgba(8,34,61,.04);padding:12px;font-weight:800;color:#0b2038;white-space:nowrap}.program-table-card tr.selected td{background:#fff8dd}.program-table-card td:first-child{border-radius:14px 0 0 14px}.program-table-card td:last-child{border-radius:0 14px 14px 0}.program-table-card input,.program-editor-card input[type=number]{width:70px;height:34px;border:1px solid rgba(8,34,61,.15);border-radius:10px;padding:0 8px;font-weight:900;color:#08223d;background:#fff}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.status-pill.ok{background:#eaf8ef;color:#14833a}.status-pill.full{background:#fff1e8;color:#db5a10}.mini-gold{border:0;border-radius:10px;background:#d5a728;color:#08223d;font-weight:900;height:34px;padding:0 12px;cursor:pointer}.program-editor-card{padding:24px}.program-editor-card p{font-weight:900;color:#50667d;margin:0 0 16px}.program-capacity-box{background:#082b49;color:#fff;border-radius:18px;padding:18px;margin-bottom:18px}.program-capacity-box strong{display:block;font-size:24px}.program-capacity-box span{display:block;margin-top:6px;color:#d8e5ef;font-weight:800}.program-editor-card label{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;font-weight:900;color:#243d55}.program-editor-card .switch-line{justify-content:flex-start}.program-editor-card input[type=checkbox]{width:18px;height:18px;accent-color:#d5a728}.mail-preview{margin-top:14px;background:#f4f8fc;border:1px solid rgba(8,34,61,.08);border-radius:14px;padding:14px;color:#5d7186;font-weight:800;line-height:1.4}
@media(max-width:1300px){.pms-calendar-layout,.program-settings-layout{grid-template-columns:1fr}.pms-detail-card,.program-editor-card{max-width:none}.pms-grid{overflow-x:auto}.program-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.pms-calendar-page,.program-settings-page{padding:22px}.pms-page-head,.pms-calendar-toolbar{flex-wrap:wrap}.pms-spacer{display:none}.pms-grid{grid-template-columns:130px repeat(7,120px)}.program-kpi-grid{grid-template-columns:1fr}.pms-page-head h1{font-size:30px}}

/* SIDEBAR VISIBLE SCROLL FIX - 2026-07-03
   A bal oldali menüsáv teljes magasságban görgethető, és a görgő arany színnel látható. */
.dashboard-sidebar{
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--pms-gold) rgba(255,255,255,.08) !important;
  scrollbar-gutter: stable !important;
}
.dashboard-sidebar::-webkit-scrollbar{
  width: 10px !important;
}
.dashboard-sidebar::-webkit-scrollbar-track{
  background: rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
}
.dashboard-sidebar::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--pms-gold-light), var(--pms-gold)) !important;
  border-radius: 999px !important;
  border: 2px solid rgba(8,38,61,.85) !important;
}
.dashboard-sidebar::-webkit-scrollbar-thumb:hover{
  background: var(--pms-gold-light) !important;
}
.dashboard-menu{
  overflow: visible !important;
  flex: 0 0 auto !important;
}

/* SIDEBAR LAPTOP FIX - 2026-07-03
   A név/resort kártyák nem takarják ki a menüt.
   Csak a középső menürész görög, az alsó kártyák külön maradnak. */
.dashboard-sidebar{
  height: 100vh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 12px 12px 16px !important;
}

.dashboard-logo{
  flex: 0 0 auto !important;
  min-height: 125px !important;
  padding: 4px 0 14px !important;
}

.dashboard-logo img{
  width: 138px !important;
  max-height: 120px !important;
  object-fit: contain !important;
}

.dashboard-menu{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 8px !important;
  padding-bottom: 12px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--pms-gold) rgba(255,255,255,.08) !important;
}

.dashboard-menu::-webkit-scrollbar{
  width: 8px !important;
}

.dashboard-menu::-webkit-scrollbar-track{
  background: rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
}

.dashboard-menu::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--pms-gold-light), var(--pms-gold)) !important;
  border-radius: 999px !important;
  border: 2px solid rgba(8,38,61,.85) !important;
}

.dashboard-sidebar-footer,
.dashboard-sidebar-bottom{
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, rgba(8,38,61,0), var(--pms-navy-2) 16%) !important;
  padding-top: 10px !important;
  margin-top: 0 !important;
}

.dashboard-menu-item{
  min-height: 48px !important;
}

/* Nagyon alacsony laptop kijelzőn még kompaktabb legyen. */
@media (max-height: 760px){
  .dashboard-sidebar{
    padding-top: 10px !important;
  }

  .dashboard-logo{
    min-height: 88px !important;
    padding-bottom: 8px !important;
  }

  .dashboard-logo img{
    width: 108px !important;
    max-height: 86px !important;
  }

  .dashboard-menu{
    gap: 4px !important;
  }

  .dashboard-menu-item{
    min-height: 42px !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
  }

  .dashboard-sidebar-footer,
  .dashboard-sidebar-bottom{
    gap: 6px !important;
    padding-top: 6px !important;
  }

  .dashboard-sidebar-footer > *,
  .dashboard-sidebar-bottom > *{
    min-height: auto !important;
  }
}

/* LOGO SIZE FIX - 2026-07-03
   A laptopos menü javítás megmarad, de a logó nem lesz túl kicsi. */
.dashboard-logo{
  min-height: 145px !important;
  padding: 8px 0 16px !important;
}

.dashboard-logo img{
  width: 155px !important;
  max-height: 140px !important;
  object-fit: contain !important;
}

@media (max-height: 760px){
  .dashboard-logo{
    min-height: 118px !important;
    padding: 6px 0 10px !important;
  }

  .dashboard-logo img{
    width: 132px !important;
    max-height: 112px !important;
  }
}

@media (max-height: 680px){
  .dashboard-logo{
    min-height: 104px !important;
    padding: 4px 0 8px !important;
  }

  .dashboard-logo img{
    width: 120px !important;
    max-height: 100px !important;
  }
}

/* LOGO BIGGER FINAL FIX - 2026-07-03
   Nagyobb logó, de a menürész továbbra is külön görgethető marad. */
.dashboard-logo{
  flex: 0 0 auto !important;
  min-height: 175px !important;
  padding: 12px 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dashboard-logo img{
  width: 185px !important;
  max-width: 88% !important;
  max-height: 165px !important;
  object-fit: contain !important;
}

/* Laptop kijelzőn se menjen össze túl kicsire. */
@media (max-height: 760px){
  .dashboard-logo{
    min-height: 150px !important;
    padding: 8px 0 14px !important;
  }

  .dashboard-logo img{
    width: 165px !important;
    max-height: 142px !important;
  }

  .dashboard-menu-item{
    min-height: 40px !important;
  }
}

/* Nagyon alacsony kijelzőn is nagyobb marad, csak a menüpontok sűrűsödnek. */
@media (max-height: 680px){
  .dashboard-logo{
    min-height: 135px !important;
    padding: 6px 0 10px !important;
  }

  .dashboard-logo img{
    width: 150px !important;
    max-height: 125px !important;
  }

  .dashboard-menu{
    gap: 2px !important;
  }

  .dashboard-menu-item{
    min-height: 38px !important;
    font-size: 13.5px !important;
  }
}

/* LOGO EXTRA BIG FIX - 2026-07-03
   Kicsit nagyobb logó, a menü görgetése változatlan marad. */
.dashboard-logo{
  flex: 0 0 auto !important;
  min-height: 195px !important;
  padding: 14px 0 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dashboard-logo img{
  width: 215px !important;
  max-width: 92% !important;
  max-height: 185px !important;
  object-fit: contain !important;
}

@media (max-height: 760px){
  .dashboard-logo{
    min-height: 170px !important;
    padding: 10px 0 16px !important;
  }

  .dashboard-logo img{
    width: 190px !important;
    max-height: 160px !important;
  }

  .dashboard-menu-item{
    min-height: 39px !important;
  }
}

@media (max-height: 680px){
  .dashboard-logo{
    min-height: 152px !important;
    padding: 8px 0 12px !important;
  }

  .dashboard-logo img{
    width: 170px !important;
    max-height: 140px !important;
  }

  .dashboard-menu{
    gap: 2px !important;
  }

  .dashboard-menu-item{
    min-height: 37px !important;
    font-size: 13.5px !important;
  }
}

/* LOGO MAXIMUM SIZE FIX - 2026-07-03
   A logó a bal oldali sávon belül a lehető legnagyobb méretet kapja.
   A menü továbbra is külön görgethető marad, hogy laptopon se takarja ki az alsó rész. */
.dashboard-logo{
  flex: 0 0 auto !important;
  min-height: 235px !important;
  padding: 12px 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dashboard-logo img{
  width: 255px !important;
  max-width: 98% !important;
  max-height: 220px !important;
  object-fit: contain !important;
}

/* Laptopon is nagy marad, a menü lesz tömörebb és görgethető. */
@media (max-height: 820px){
  .dashboard-logo{
    min-height: 205px !important;
    padding: 8px 0 14px !important;
  }

  .dashboard-logo img{
    width: 235px !important;
    max-width: 98% !important;
    max-height: 195px !important;
  }

  .dashboard-menu{
    gap: 3px !important;
  }

  .dashboard-menu-item{
    min-height: 38px !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
  }
}

/* Nagyon alacsony kijelzőn sem lesz apró, csak a menüsor sűrűsödik. */
@media (max-height: 700px){
  .dashboard-logo{
    min-height: 180px !important;
    padding: 6px 0 10px !important;
  }

  .dashboard-logo img{
    width: 215px !important;
    max-width: 98% !important;
    max-height: 168px !important;
  }

  .dashboard-menu{
    gap: 1px !important;
  }

  .dashboard-menu-item{
    min-height: 35px !important;
    font-size: 13px !important;
  }
}

/* PROGRAM SETTINGS EDITOR FIX - 2026-07-03
   Jobb oldali szerkesztő panel görgethető, és a létszámok mentése külön gombbal működik. */
.program-settings-layout-fixed{
  align-items: start !important;
  grid-template-columns: minmax(0, 1fr) 370px !important;
}

.program-table-card{
  overflow-x: auto !important;
}

.program-table-card table{
  min-width: 1040px !important;
}

.program-help-text,
.program-editor-note{
  color: var(--pms-muted) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  margin: 0 0 14px !important;
}

.program-editor-scroll{
  max-height: calc(100vh - 150px) !important;
  overflow-y: auto !important;
  padding-right: 14px !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--pms-gold) rgba(8,38,61,.10) !important;
}

.program-editor-scroll::-webkit-scrollbar{
  width: 8px !important;
}

.program-editor-scroll::-webkit-scrollbar-track{
  background: rgba(8,38,61,.08) !important;
  border-radius: 999px !important;
}

.program-editor-scroll::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--pms-gold-light), var(--pms-gold)) !important;
  border-radius: 999px !important;
}

.program-editor-card label{
  display: grid !important;
  grid-template-columns: 1fr 140px !important;
  gap: 12px !important;
  align-items: center !important;
}

.program-editor-card label input[type="number"],
.program-editor-card label input[type="text"]{
  width: 100% !important;
  height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid #d4af3745 !important;
  padding: 0 14px !important;
  font-weight: 900 !important;
  color: var(--pms-navy) !important;
  background: #fff !important;
}

.program-editor-card label input:focus{
  outline: 3px solid #d4af3733 !important;
  border-color: var(--pms-gold) !important;
}

.program-group-buttons{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 10px 0 14px !important;
}

.program-editor-actions{
  position: sticky !important;
  bottom: 0 !important;
  z-index: 3 !important;
  display: grid !important;
  gap: 10px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.78), #fff 28%) !important;
  padding: 14px 0 0 !important;
  margin-top: 12px !important;
}

.waitlist-mini-card{
  display: grid !important;
  gap: 5px !important;
  background: #fff7dc !important;
  border: 1px solid #d4af3755 !important;
  border-radius: 18px !important;
  padding: 14px !important;
  margin: 12px 0 !important;
  color: var(--pms-navy) !important;
}

.waitlist-mini-card strong{
  font-size: 14px !important;
  font-weight: 950 !important;
}

.waitlist-mini-card span{
  font-size: 13px !important;
  font-weight: 900 !important;
}

.waitlist-mini-card small{
  color: var(--pms-muted) !important;
  font-weight: 800 !important;
}

.pms-info-strip.success{
  background: #ecfdf5 !important;
  border-color: #22c55e55 !important;
  color: #065f46 !important;
}

@media (max-width: 1180px){
  .program-settings-layout-fixed{
    grid-template-columns: 1fr !important;
  }

  .program-editor-scroll{
    max-height: none !important;
    overflow: visible !important;
  }
}

/* PROGRAM DATE PICKER DESIGN FIX - 2026-07-03
   Szebb dátumválasztó és jobb igazítás a Program beállítások oldalon. */
.program-date-toolbar{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(8,38,61,.08) !important;
  border-radius: 22px !important;
  padding: 16px 18px !important;
  margin: 20px 0 18px !important;
  box-shadow: 0 14px 34px rgba(8,38,61,.08) !important;
}

.program-date-toolbar strong{
  color: var(--pms-navy) !important;
  font-size: 16px !important;
  font-weight: 950 !important;
}

.program-date-toolbar input[type="date"]{
  height: 48px !important;
  min-width: 190px !important;
  border: 1px solid rgba(212,175,55,.45) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--pms-navy) !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 20px rgba(8,38,61,.06) !important;
}

.program-date-toolbar input[type="date"]:focus{
  outline: 3px solid rgba(212,175,55,.24) !important;
  border-color: var(--pms-gold) !important;
}

.program-date-toolbar input[type="date"]::-webkit-calendar-picker-indicator{
  cursor: pointer !important;
  opacity: 1 !important;
  filter: sepia(1) saturate(1.6) hue-rotate(355deg) brightness(.82) !important;
}

.program-date-toolbar span{
  color: var(--pms-muted) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

@media (max-width: 900px){
  .program-date-toolbar{
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .program-date-toolbar input[type="date"]{
    width: 100% !important;
  }
}

/* BOOKING CALENDAR LIVE FIX - 2026-07-03
   Valódi Supabase foglalások, heti naptár, forrásszűrés és műveleti gombok. */
.pms-calendar-toolbar-live{
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(8,38,61,.08) !important;
  border-radius: 24px !important;
  padding: 14px !important;
  box-shadow: 0 14px 34px rgba(8,38,61,.08) !important;
  flex-wrap: wrap !important;
}

.pms-month-box{
  min-width: 230px !important;
}

.pms-month-box h2{
  margin: 0 !important;
  color: var(--pms-navy) !important;
  letter-spacing: -.03em !important;
  font-size: 26px !important;
  font-weight: 950 !important;
}

.pms-month-box small{
  display: block !important;
  margin-top: 5px !important;
  color: var(--pms-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
}

.pms-calendar-date-input{
  height: 48px !important;
  min-width: 170px !important;
  border: 1px solid rgba(212,175,55,.45) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--pms-navy) !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 20px rgba(8,38,61,.06) !important;
}

.pms-calendar-date-input:focus{
  outline: 3px solid rgba(212,175,55,.24) !important;
  border-color: var(--pms-gold) !important;
}

.pms-calendar-summary{
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 16px !important;
  margin: 18px 0 !important;
}

.pms-calendar-summary article{
  min-height: 96px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(8,38,61,.08) !important;
  border-radius: 24px !important;
  padding: 20px !important;
  box-shadow: 0 14px 34px rgba(8,38,61,.08) !important;
}

.pms-calendar-summary article.dark,
.pms-calendar-summary article.active{
  background: linear-gradient(135deg, var(--pms-navy), var(--pms-navy-2)) !important;
  border-color: rgba(212,175,55,.85) !important;
}

.pms-calendar-summary span{
  color: var(--pms-muted) !important;
  display: block !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.pms-calendar-summary article.dark span,
.pms-calendar-summary article.active span{
  color: var(--pms-gold-light) !important;
}

.pms-calendar-summary strong{
  display: block !important;
  margin-top: 8px !important;
  color: var(--pms-navy) !important;
  font-size: 34px !important;
  font-weight: 950 !important;
}

.pms-calendar-summary article.dark strong,
.pms-calendar-summary article.active strong{
  color: #fff !important;
}

.pms-grid-live{
  overflow: visible !important;
}

.pms-calendar-card{
  overflow-x: auto !important;
}

.pms-booking.selected{
  outline: 3px solid rgba(212,175,55,.45) !important;
  box-shadow: 0 16px 32px rgba(8,38,61,.24) !important;
}

.pms-calendar-detail-card{
  max-height: calc(100vh - 140px) !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--pms-gold) rgba(8,38,61,.10) !important;
}

.pms-calendar-detail-card::-webkit-scrollbar{
  width: 8px !important;
}

.pms-calendar-detail-card::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, var(--pms-gold-light), var(--pms-gold)) !important;
  border-radius: 999px !important;
}

.pms-detail-actions{
  display: grid !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.pms-detail-actions button:disabled{
  opacity: .55 !important;
  cursor: not-allowed !important;
}

.pms-info-strip.success{
  background: #ecfdf5 !important;
  border-color: #22c55e55 !important;
  color: #065f46 !important;
}

.pms-info-strip.danger{
  background: #fff7ed !important;
  border-color: #f9731655 !important;
  color: #9a3412 !important;
}

@media (max-width: 1300px){
  .pms-calendar-layout{
    grid-template-columns: 1fr !important;
  }
  .pms-calendar-detail-card{
    max-height: none !important;
  }
}

@media (max-width: 900px){
  .pms-calendar-summary{
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

/* BOOKING CALENDAR ROOM UNION FIX - 2026-07-03
   Ha a rooms relation nem jön vissza, a naptár a foglalás szobanevéből külön sort hoz létre,
   ezért a Family #1 / egyedi szobák sem tűnnek el. */
.calendar-no-bookings{
  margin-top: 14px !important;
  background: #f8fafc !important;
  border: 1px dashed rgba(8,38,61,.18) !important;
  border-radius: 18px !important;
  padding: 18px !important;
  color: var(--pms-muted) !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.empty-detail{
  min-height: 280px !important;
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

.empty-detail p{
  color: var(--pms-muted) !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
}

/* CALENDAR NEW BOOKING MODAL - 2026-07-03 */
.pms-free-cell-btn{
  width: 100% !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: transparent !important;
  color: var(--pms-muted) !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

.pms-free-cell-btn:hover{
  background: rgba(212,175,55,.14) !important;
  color: var(--pms-navy) !important;
  transform: translateY(-1px) !important;
}

.calendar-modal-backdrop{
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  background: rgba(4,15,28,.62) !important;
  backdrop-filter: blur(10px) !important;
  display: grid !important;
  place-items: center !important;
  padding: 22px !important;
}

.calendar-booking-modal{
  width: min(980px, 96vw) !important;
  max-height: 92vh !important;
  overflow-y: auto !important;
  background: #fff !important;
  border-radius: 30px !important;
  border: 1px solid rgba(212,175,55,.28) !important;
  box-shadow: 0 34px 90px rgba(8,38,61,.34) !important;
  padding: 26px !important;
}

.calendar-modal-head{
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
}

.calendar-modal-head h2{
  margin: 5px 0 0 !important;
  color: var(--pms-navy) !important;
  font-size: 30px !important;
  font-weight: 950 !important;
  letter-spacing: -.04em !important;
}

.modal-close-btn{
  width: 46px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: rgba(8,38,61,.08) !important;
  color: var(--pms-navy) !important;
  font-size: 26px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

.calendar-modal-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
}

.calendar-modal-grid label{
  color: var(--pms-navy) !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  display: grid !important;
  gap: 8px !important;
}

.calendar-modal-grid label.wide{
  grid-column: 1 / -1 !important;
}

.calendar-modal-grid input,
.calendar-modal-grid select,
.calendar-modal-grid textarea{
  width: 100% !important;
  min-height: 52px !important;
  border: 1px solid rgba(8,38,61,.13) !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
  color: var(--pms-navy) !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

.calendar-modal-grid textarea{
  min-height: 110px !important;
  padding: 14px 16px !important;
  resize: vertical !important;
}

.calendar-modal-grid input:focus,
.calendar-modal-grid select:focus,
.calendar-modal-grid textarea:focus{
  outline: 3px solid rgba(212,175,55,.22) !important;
  border-color: var(--pms-gold) !important;
  background: #fff !important;
}

.calendar-modal-actions{
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(8,38,61,.10) !important;
}

.calendar-modal-actions .pms-primary-btn,
.calendar-modal-actions .pms-outline-action{
  min-width: 190px !important;
  min-height: 54px !important;
  border-radius: 18px !important;
}

@media (max-width: 760px){
  .calendar-modal-grid{
    grid-template-columns: 1fr !important;
  }
  .calendar-modal-actions{
    flex-direction: column !important;
  }
  .calendar-modal-actions .pms-primary-btn,
  .calendar-modal-actions .pms-outline-action{
    width: 100% !important;
  }
}

/* ACTION BUTTONS PREMIUM FINAL FIX - 2026-07-03
   Erősebb selectorok, hogy az új naptár CSS se írja felül. */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 20px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(8,38,61,.10) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.82), #fff 34%) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button{
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 20px !important;
  padding: 0 20px !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

/* Check-in */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(1){
  color: #fff !important;
  border: 1px solid rgba(212,175,55,.75) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(247,224,138,.35), transparent 34%),
    linear-gradient(135deg, #0b3554 0%, #06192b 100%) !important;
  box-shadow: 0 18px 42px rgba(8,38,61,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

/* Check-out */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(2){
  color: #08263d !important;
  border: 1px solid rgba(8,38,61,.14) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.97)) !important;
  box-shadow: 0 14px 30px rgba(8,38,61,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
}

/* Fizetve */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(3){
  color: #065f46 !important;
  border: 1px solid rgba(5,150,105,.28) !important;
  background:
    linear-gradient(180deg, rgba(236,253,245,.96), rgba(255,255,255,.98)) !important;
  box-shadow: 0 14px 30px rgba(5,150,105,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
}

/* Lemondás */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(4){
  color: #b45309 !important;
  border: 1px solid rgba(245,158,11,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,251,235,.98), rgba(255,255,255,.98)) !important;
  box-shadow: 0 14px 30px rgba(180,83,9,.09), inset 0 1px 0 rgba(255,255,255,.85) !important;
}

/* Törlés */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(5){
  color: #b91c1c !important;
  border: 1px solid rgba(239,68,68,.34) !important;
  background:
    linear-gradient(180deg, rgba(254,242,242,.98), rgba(255,255,255,.98)) !important;
  box-shadow: 0 14px 30px rgba(127,29,29,.08), inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:hover{
  transform: translateY(-2px) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(1):hover{
  box-shadow: 0 24px 52px rgba(8,38,61,.34), 0 0 0 4px rgba(212,175,55,.12) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(2):hover{
  border-color: rgba(212,175,55,.55) !important;
  box-shadow: 0 20px 42px rgba(8,38,61,.15), 0 0 0 4px rgba(212,175,55,.10) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(3):hover{
  border-color: rgba(5,150,105,.48) !important;
  box-shadow: 0 20px 42px rgba(5,150,105,.14), 0 0 0 4px rgba(5,150,105,.10) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(4):hover{
  border-color: rgba(245,158,11,.56) !important;
  box-shadow: 0 20px 42px rgba(180,83,9,.13), 0 0 0 4px rgba(245,158,11,.10) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(5):hover{
  border-color: rgba(239,68,68,.56) !important;
  box-shadow: 0 20px 42px rgba(127,29,29,.13), 0 0 0 4px rgba(239,68,68,.10) !important;
}

.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:disabled{
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* A részletek panel alja ne legyen túl szoros */
.pms-detail-card.pms-calendar-detail-card{
  padding-bottom: 110px !important;
}

/* WAITLIST PAGE/BLOCK + EDIT BOOKING MODAL - 2026-07-04 */
.program-waitlist-card{
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(8,38,61,.08) !important;
  border-radius: 26px !important;
  padding: 22px !important;
  box-shadow: 0 18px 42px rgba(8,38,61,.08) !important;
  margin: 18px 0 !important;
}

.program-waitlist-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:16px !important;
  align-items:flex-start !important;
  margin-bottom:16px !important;
}

.program-waitlist-head h2{
  margin:4px 0 !important;
  color:var(--pms-navy) !important;
  font-size:26px !important;
  font-weight:950 !important;
  letter-spacing:-.03em !important;
}

.program-waitlist-head span{
  color:var(--pms-muted) !important;
  font-weight:850 !important;
}

.waitlist-table-wrap{
  overflow-x:auto !important;
}

.waitlist-table{
  width:100% !important;
  min-width:1050px !important;
  border-collapse:separate !important;
  border-spacing:0 10px !important;
}

.waitlist-table th{
  background:var(--pms-navy) !important;
  color:var(--pms-gold-light) !important;
  padding:14px 12px !important;
  text-align:left !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.waitlist-table th:first-child{border-radius:16px 0 0 16px !important}
.waitlist-table th:last-child{border-radius:0 16px 16px 0 !important}

.waitlist-table td{
  background:#f8fafc !important;
  border-top:1px solid rgba(8,38,61,.06) !important;
  border-bottom:1px solid rgba(8,38,61,.06) !important;
  padding:14px 12px !important;
  color:var(--pms-navy) !important;
  font-weight:850 !important;
}

.waitlist-table td:first-child{
  border-left:1px solid rgba(8,38,61,.06) !important;
  border-radius:16px 0 0 16px !important;
  font-weight:950 !important;
}

.waitlist-table td:last-child{
  border-right:1px solid rgba(8,38,61,.06) !important;
  border-radius:0 16px 16px 0 !important;
}

.waitlist-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.mini-light,.mini-danger{
  min-height:34px !important;
  border-radius:12px !important;
  padding:0 12px !important;
  font-size:12px !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.mini-light{
  background:#fff !important;
  border:1px solid rgba(8,38,61,.12) !important;
  color:var(--pms-navy) !important;
}

.mini-danger{
  background:#fff5f5 !important;
  border:1px solid rgba(239,68,68,.28) !important;
  color:#b91c1c !important;
}

.calendar-booking-modal{
  width:min(1040px,96vw) !important;
}

.calendar-modal-grid select{
  appearance:auto !important;
}

/* Make the added Módosítás button premium and keep danger buttons as last two */
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(4){
  color:#0b3554 !important;
  border:1px solid rgba(212,175,55,.40) !important;
  background:linear-gradient(180deg,rgba(255,251,235,.98),rgba(255,255,255,.98)) !important;
  box-shadow:0 14px 30px rgba(212,175,55,.12), inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(5){
  color:#b45309 !important;
  border:1px solid rgba(245,158,11,.34) !important;
  background:linear-gradient(180deg,rgba(255,251,235,.98),rgba(255,255,255,.98)) !important;
}
.pms-detail-card.pms-calendar-detail-card .pms-detail-actions button:nth-child(6){
  color:#b91c1c !important;
  border:1px solid rgba(239,68,68,.34) !important;
  background:linear-gradient(180deg,rgba(254,242,242,.98),rgba(255,255,255,.98)) !important;
}

@media(max-width:900px){
  .program-waitlist-head{flex-direction:column !important}
}

/* WAITLIST BEAUTY + HUNGARIAN STATUS STYLE - 2026-07-04 */
.program-waitlist-card{
  background:
    radial-gradient(circle at top left, rgba(247,224,138,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  border: 1px solid rgba(212,175,55,.26) !important;
  border-radius: 30px !important;
  padding: 26px !important;
  box-shadow: 0 24px 60px rgba(8,38,61,.12) !important;
}

.program-waitlist-head{
  padding-bottom: 18px !important;
  border-bottom: 1px solid rgba(8,38,61,.08) !important;
  margin-bottom: 20px !important;
}

.program-waitlist-head h2{
  font-size: 32px !important;
  line-height: 1.05 !important;
}

.waitlist-table{
  border-spacing: 0 12px !important;
}

.waitlist-table th{
  height: 58px !important;
  background:
    linear-gradient(135deg, var(--pms-navy), var(--pms-navy-2)) !important;
  color: var(--pms-gold-light) !important;
  border-top: 1px solid rgba(212,175,55,.32) !important;
  border-bottom: 1px solid rgba(212,175,55,.32) !important;
}

.waitlist-table td{
  background: #ffffff !important;
  padding: 18px 14px !important;
  box-shadow: 0 14px 30px rgba(8,38,61,.055) !important;
}

.waitlist-table tr:hover td{
  background: #fffaf0 !important;
}

.waitlist-table td:nth-child(1){
  max-width: 210px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

.waitlist-table td:nth-child(2),
.waitlist-table td:nth-child(4),
.waitlist-table td:nth-child(6){
  font-weight: 950 !important;
  color: var(--pms-navy) !important;
}

.waitlist-table td:nth-child(5){
  color: #31516b !important;
  font-size: 14px !important;
}

.wait-status{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  padding: 0 13px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  border: 1px solid transparent !important;
}

.wait-new_interest{
  color: #9a3412 !important;
  background: #fff7ed !important;
  border-color: rgba(249,115,22,.18) !important;
}

.wait-contacted{
  color: #075985 !important;
  background: #eff6ff !important;
  border-color: rgba(59,130,246,.20) !important;
}

.wait-converted_to_booking{
  color: #065f46 !important;
  background: #ecfdf5 !important;
  border-color: rgba(16,185,129,.22) !important;
}

.wait-cancelled,
.wait-ignored{
  color: #991b1b !important;
  background: #fef2f2 !important;
  border-color: rgba(239,68,68,.22) !important;
}

.waitlist-actions .mini-gold{
  box-shadow: 0 10px 20px rgba(212,175,55,.22) !important;
}

.waitlist-actions .mini-light,
.waitlist-actions .mini-danger,
.waitlist-actions .mini-gold{
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

.waitlist-actions .mini-light:hover,
.waitlist-actions .mini-danger:hover,
.waitlist-actions .mini-gold:hover{
  transform: translateY(-1px) !important;
}

@media(max-width: 1100px){
  .program-waitlist-card{
    padding: 18px !important;
  }
}

/* WAITLIST REFINED VIEW - 2026-07-04 */
.waitlist-filter-row{
  display:inline-flex !important;
  gap:8px !important;
  padding:6px !important;
  background:#f8fafc !important;
  border:1px solid rgba(8,38,61,.10) !important;
  border-radius:18px !important;
  margin: 0 0 18px !important;
}

.waitlist-filter-row button{
  border:0 !important;
  border-radius:14px !important;
  min-height:42px !important;
  padding:0 18px !important;
  background:#fff !important;
  color:var(--pms-navy) !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

.waitlist-filter-row button.active{
  color:#fff !important;
  background:linear-gradient(135deg,var(--pms-navy),var(--pms-navy-2)) !important;
  box-shadow:0 12px 24px rgba(8,38,61,.18) !important;
}

.waitlist-summary-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 18px !important;
}

.waitlist-summary-grid article{
  background:#fff !important;
  border:1px solid rgba(8,38,61,.08) !important;
  border-radius:22px !important;
  padding:18px !important;
  box-shadow:0 14px 30px rgba(8,38,61,.06) !important;
}

.waitlist-summary-grid article.dark{
  background:linear-gradient(135deg,var(--pms-navy),var(--pms-navy-2)) !important;
  border-color:rgba(212,175,55,.58) !important;
}

.waitlist-summary-grid span{
  display:block !important;
  color:var(--pms-muted) !important;
  font-size:13px !important;
  font-weight:950 !important;
}

.waitlist-summary-grid article.dark span{
  color:var(--pms-gold-light) !important;
}

.waitlist-summary-grid strong{
  display:block !important;
  margin-top:8px !important;
  color:var(--pms-navy) !important;
  font-size:30px !important;
  font-weight:950 !important;
}

.waitlist-summary-grid article.dark strong{
  color:#fff !important;
}

.waitlist-group-list{
  display:grid !important;
  gap:16px !important;
}

.waitlist-group-card{
  background:#fff !important;
  border:1px solid rgba(8,38,61,.08) !important;
  border-radius:24px !important;
  padding:18px !important;
  box-shadow:0 18px 40px rgba(8,38,61,.08) !important;
}

.waitlist-group-top{
  display:flex !important;
  justify-content:space-between !important;
  gap:16px !important;
  align-items:flex-start !important;
  padding-bottom:14px !important;
  border-bottom:1px solid rgba(8,38,61,.08) !important;
  margin-bottom:12px !important;
}

.waitlist-group-top h3{
  margin:0 0 6px !important;
  color:var(--pms-navy) !important;
  font-size:20px !important;
  font-weight:950 !important;
  letter-spacing:-.02em !important;
}

.waitlist-group-top p{
  margin:0 !important;
  color:var(--pms-muted) !important;
  font-weight:900 !important;
}

.waitlist-group-badges{
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

.waitlist-group-badges span,
.waitlist-group-badges strong{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  border-radius:999px !important;
  padding:0 13px !important;
  font-size:12px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

.waitlist-group-badges span{
  color:#0b3554 !important;
  background:#eff6ff !important;
  border:1px solid rgba(59,130,246,.18) !important;
}

.waitlist-group-badges strong{
  color:#065f46 !important;
  background:#ecfdf5 !important;
  border:1px solid rgba(16,185,129,.20) !important;
}

.waitlist-table-wrap.compact .waitlist-table{
  min-width:820px !important;
  border-spacing:0 8px !important;
}

.waitlist-table-wrap.compact .waitlist-table th{
  height:46px !important;
}

.waitlist-table-wrap.compact .waitlist-table td{
  padding:13px 12px !important;
}

.waitlist-table td:nth-child(2){
  white-space:nowrap !important;
}

@media(max-width:1100px){
  .waitlist-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .waitlist-group-top{
    flex-direction:column !important;
  }
  .waitlist-group-badges{
    justify-content:flex-start !important;
  }
}

@media(max-width:700px){
  .waitlist-summary-grid{
    grid-template-columns:1fr !important;
  }
  .waitlist-filter-row{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
}

/* WAITLIST EMPTY DAY HINT + TAB COUNTS - 2026-07-04 */
.waitlist-filter-row button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
}

.waitlist-filter-row button span{
  min-width: 24px !important;
  height: 24px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  background: rgba(8,38,61,.08) !important;
  color: var(--pms-navy) !important;
  padding: 0 7px !important;
}

.waitlist-filter-row button.active span{
  background: var(--pms-gold) !important;
  color: var(--pms-navy) !important;
}

.waitlist-other-days-hint{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  background:
    radial-gradient(circle at 10% 20%, rgba(247,224,138,.32), transparent 34%),
    linear-gradient(180deg, #fff7dc, #fffaf0) !important;
  border: 1px solid rgba(212,175,55,.40) !important;
  border-radius: 22px !important;
  padding: 16px 18px !important;
  margin: 0 0 18px !important;
  box-shadow: 0 14px 32px rgba(212,175,55,.12) !important;
}

.waitlist-other-days-hint strong{
  color: var(--pms-navy) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
}

.waitlist-other-days-hint span{
  color: var(--pms-muted) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  flex: 1 1 360px !important;
}

.waitlist-other-days-hint .mini-gold{
  min-height: 40px !important;
  border-radius: 14px !important;
  padding: 0 16px !important;
}

@media(max-width:700px){
  .waitlist-other-days-hint{
    align-items: stretch !important;
    flex-direction: column !important;
  }
  .waitlist-other-days-hint .mini-gold{
    width: 100% !important;
  }
}

/* WAITLIST CLICK OPENS PROGRAM BELOW - 2026-07-04 */
.waitlist-group-card.clickable{
  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease !important;
}

.waitlist-group-card.clickable:hover{
  transform: translateY(-2px) !important;
  border-color: rgba(212,175,55,.45) !important;
  background:
    radial-gradient(circle at top left, rgba(247,224,138,.18), transparent 34%),
    #fff !important;
  box-shadow: 0 24px 52px rgba(8,38,61,.13) !important;
}

.waitlist-group-badges em{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  border-radius:999px !important;
  padding:0 13px !important;
  font-style:normal !important;
  font-size:12px !important;
  font-weight:950 !important;
  color:var(--pms-navy) !important;
  background:#fff7dc !important;
  border:1px solid rgba(212,175,55,.36) !important;
}

.waitlist-group-card.clickable .waitlist-group-top h3::after{
  content:"  →";
  color:var(--pms-gold) !important;
}

/* WAITLIST OPEN SYNC FIX - 2026-07-04 */
.date-specific-note{
  color: var(--pms-muted) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
}

.waitlist-open-btn{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  border-radius:999px !important;
  padding:0 13px !important;
  font-size:12px !important;
  font-weight:950 !important;
  font-style:normal !important;
  cursor:pointer !important;
  color:var(--pms-navy) !important;
  background:#fff7dc !important;
  border:1px solid rgba(212,175,55,.42) !important;
  box-shadow:0 10px 20px rgba(212,175,55,.12) !important;
}

.waitlist-open-btn:hover{
  transform:translateY(-1px) !important;
  background:#ffeeb2 !important;
}

.waitlist-group-card.clickable{
  cursor:pointer !important;
}

.waitlist-group-card.clickable:hover .waitlist-open-btn{
  background:#ffeeb2 !important;
}

/* A napi kártyák félreértés ellen: jelzi, hogy dátumhoz kötöttek */
.program-kpi-grid article span::after{
  content:"";
}

/* NEW GROUP AUTO SETTINGS FIX - 2026-07-04
   Csak egy + Új csoport gomb marad: jobb oldalon a Program szerkesztése panelben.
   Ha a program betelt, ez a gomb aktív marad, és automatikusan növeli a max. csoport / nap
   valamint az engedélyezett csoport ezen a napon értékeket. */

/* Kapacitás táblázat soronkénti művelet oszlopa elrejtve */
.program-table-card table th:last-child,
.program-table-card table td:last-child{
  display: none !important;
}

/* Várólista soronkénti + Új csoport gomb elrejtve */
.waitlist-actions .mini-gold{
  display: none !important;
}

.waitlist-actions{
  gap: 10px !important;
}

.waitlist-actions .mini-light,
.waitlist-actions .mini-danger{
  min-width: 104px !important;
}

/* A jobb oldali fő + Új csoport gomb mindig látható és aktív hatású legyen */
.program-editor-actions .new-group-main-btn{
  display: inline-flex !important;
  opacity: 1 !important;
  cursor: pointer !important;
  color: var(--pms-navy) !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.35), transparent 30%),
    linear-gradient(135deg, var(--pms-gold-light), var(--pms-gold)) !important;
  border: 1px solid rgba(212,175,55,.70) !important;
  box-shadow: 0 18px 38px rgba(212,175,55,.24), inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.program-editor-actions .new-group-main-btn:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 24px 48px rgba(212,175,55,.30), 0 0 0 4px rgba(212,175,55,.12) !important;
}

.program-editor-actions .new-group-main-btn:disabled{
  opacity: .65 !important;
  cursor: wait !important;
  transform: none !important;
}

/* PMS I18N + MOBILE FINAL CHECK - 2026-07-04
   Responsive fixes for booking calendar, program waitlist, editor panel, and modals. */

@media (max-width: 1180px){
  .pms-page-head{
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .program-kpi-grid,
  .pms-calendar-summary,
  .waitlist-summary-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .program-settings-layout,
  .program-settings-layout-fixed,
  .pms-calendar-layout{
    grid-template-columns: 1fr !important;
  }

  .program-editor-card,
  .program-editor-scroll,
  .pms-calendar-detail-card{
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px){
  .program-date-toolbar,
  .pms-calendar-toolbar-live{
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .program-date-toolbar input[type="date"],
  .pms-calendar-date-input,
  .pms-light-btn,
  .pms-primary-btn{
    width: 100% !important;
  }

  .pms-source-tabs,
  .waitlist-filter-row{
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .pms-source-tabs button,
  .waitlist-filter-row button{
    width: 100% !important;
    min-width: 0 !important;
  }

  .program-table-card,
  .pms-calendar-card,
  .waitlist-table-wrap{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .program-table-card table{
    min-width: 920px !important;
  }

  .pms-grid-live{
    min-width: 980px !important;
  }

  .waitlist-table{
    min-width: 820px !important;
  }

  .calendar-booking-modal{
    width: 96vw !important;
    max-height: 88vh !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .calendar-modal-grid{
    grid-template-columns: 1fr !important;
  }

  .calendar-modal-actions{
    flex-direction: column !important;
  }

  .calendar-modal-actions button{
    width: 100% !important;
  }
}

@media (max-width: 640px){
  .pms-page-head h1{
    font-size: 32px !important;
    line-height: 1.05 !important;
  }

  .program-kpi-grid,
  .pms-calendar-summary,
  .waitlist-summary-grid{
    grid-template-columns: 1fr !important;
  }

  .program-waitlist-card,
  .program-table-card,
  .pms-calendar-card,
  .program-editor-card{
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .waitlist-group-top{
    flex-direction: column !important;
  }

  .waitlist-group-badges,
  .waitlist-actions{
    justify-content: flex-start !important;
  }

  .program-editor-card label{
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .program-group-buttons{
    grid-template-columns: 1fr !important;
  }

  .dashboard-main,
  .pms-content{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .calendar-modal-head h2{
    font-size: 24px !important;
  }
}

/* Thai/English text can be longer; allow buttons/badges to wrap cleanly */
.pms-source-tabs button,
.waitlist-filter-row button,
.waitlist-actions button,
.waitlist-group-badges span,
.waitlist-group-badges strong,
.waitlist-open-btn,
.status-pill,
.wait-status{
  white-space: normal !important;
  line-height: 1.18 !important;
}

/* Improve readable table behavior on small screens */
.program-table-card th,
.program-table-card td,
.waitlist-table th,
.waitlist-table td{
  vertical-align: middle !important;
}

/* STRONG I18N LAYOUT FIX - 2026-07-04 */
html[lang="th"] body,
body:has(.dashboard-sidebar) {
  font-synthesis-weight: auto;
}

.program-editor-card,
.pms-calendar-detail-card{
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.program-editor-card label,
.calendar-modal-grid label{
  align-items: center !important;
}

.program-editor-card input,
.calendar-modal-grid input,
.calendar-modal-grid select{
  min-width: 0 !important;
}

@media (max-width: 1180px){
  .program-settings-layout-fixed,
  .program-settings-layout,
  .pms-calendar-layout{
    grid-template-columns: 1fr !important;
  }
  .program-editor-card{
    width: 100% !important;
  }
}

@media (max-width: 760px){
  .program-editor-card label,
  .calendar-modal-grid label{
    grid-template-columns: 1fr !important;
  }
  .program-group-buttons{
    grid-template-columns: 1fr !important;
  }
  .waitlist-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }
  .waitlist-actions button{
    width:100% !important;
  }
}

/* DATE + GROUP TRANSLATION VISUAL FIX - 2026-07-04 */
.pms-calendar-toolbar-live h2,
.pms-calendar-toolbar-live strong,
.program-date-toolbar strong,
.program-date-toolbar span,
.pms-calendar-detail-card,
.program-editor-card{
  font-feature-settings: "kern" 1 !important;
}

.program-editor-card .pms-primary-btn,
.program-editor-card button,
.pms-calendar-toolbar-live button,
.waitlist-open-btn{
  white-space: normal !important;
  line-height: 1.2 !important;
}

/* Thai text is taller; keep panels readable */
html[lang="th"] .program-editor-card,
body .program-editor-card{
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px){
  .pms-calendar-toolbar-live h2{
    font-size: 26px !important;
  }
}

/* MOBILE TOP MENU DRAG / TRANSLATION LAYOUT FIX - 2026-07-04 */

/* Mobilon a bal oldali menü vízszintesen húzható felső menü legyen */
@media (max-width: 760px){
  .dashboard-shell,
  .dashboard-layout{
    display: block !important;
  }

  .dashboard-sidebar{
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    padding: 10px 10px 12px !important;
    overflow: visible !important;
    border-radius: 0 !important;
  }

  .dashboard-logo{
    height: 74px !important;
    min-height: 74px !important;
    margin: 0 0 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dashboard-logo img{
    max-height: 68px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .dashboard-menu{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x proximity !important;
    padding: 4px 4px 10px !important;
    margin: 0 !important;
    max-height: none !important;
    touch-action: pan-x !important;
  }

  .dashboard-menu::-webkit-scrollbar{
    height: 7px !important;
  }

  .dashboard-menu::-webkit-scrollbar-thumb{
    background: rgba(212,175,55,.75) !important;
    border-radius: 999px !important;
  }

  .dashboard-menu-item{
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 132px !important;
    height: 44px !important;
    padding: 0 14px !important;
    justify-content: center !important;
    scroll-snap-align: start !important;
    white-space: nowrap !important;
  }

  .dashboard-sidebar-footer{
    display: none !important;
  }

  .dashboard-main,
  main{
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* Kisebb mobilon a táblák vízszintesen húzhatók */
@media (max-width: 760px){
  .program-table-card,
  .pms-calendar-card,
  .waitlist-table-wrap{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
  }

  .program-table-card table,
  .waitlist-table{
    min-width: 860px !important;
  }

  .pms-grid-live{
    min-width: 960px !important;
  }
}

/* Thai/English hosszabb szövegek ne törjék szét a kártyákat */
.program-editor-card,
.pms-calendar-detail-card,
.program-waitlist-card{
  overflow-wrap: anywhere !important;
}

.program-editor-card button,
.waitlist-actions button,
.waitlist-open-btn{
  white-space: normal !important;
  line-height: 1.18 !important;
}

/* FINAL TWO TRANSLATION AREAS LAYOUT FIX - 2026-07-04 */
.program-capacity-box h3,
.program-capacity-box span,
.program-editor-actions button,
.waitlist-mini-card{
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.program-editor-actions button{
  line-height: 1.2 !important;
}

/* IPHONE RUNTIME SIDEBAR BACKUP FIX - if JS is not cached */
@media screen and (max-width: 820px){
  body aside.dashboard-sidebar,
  body .dashboard-sidebar{
    height:154px!important;
    min-height:154px!important;
    max-height:154px!important;
    overflow:hidden!important;
    width:100%!important;
    max-width:100%!important;
    position:relative!important;
    padding:10px 0 8px!important;
    margin:0!important;
  }
  body .dashboard-logo{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    margin:0 0 6px!important;
  }
  body .dashboard-logo img{
    height:62px!important;
    max-height:62px!important;
  }
  body .dashboard-menu{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    height:54px!important;
    min-height:54px!important;
    max-height:54px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    width:100%!important;
    padding:4px 12px 10px!important;
    gap:8px!important;
  }
  body .dashboard-menu-item{
    flex:0 0 auto!important;
    min-width:max-content!important;
    height:42px!important;
    white-space:nowrap!important;
  }
  body .dashboard-sidebar-footer{
    display:none!important;
  }
}


/* Csabi kérésére: PMS finomítások */
.pms-custom-hidden-by-client-request{display:none!important}
.driver-list-card{margin:20px 0;background:#fff;border:1px solid rgba(8,34,61,.08);border-radius:20px;padding:22px;box-shadow:0 14px 35px rgba(8,34,61,.07);color:#08223d}
.driver-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.driver-list-head h2{margin:0;color:#08223d;font-size:24px}
.driver-list-head p{margin:6px 0 0;color:#50667d;font-weight:800}
.driver-print-btn{height:38px;border:0;border-radius:12px;background:#d5a728;color:#08223d;font-weight:900;padding:0 16px;cursor:pointer;white-space:nowrap}
.driver-tour-block{border-top:1px solid rgba(8,34,61,.08);padding-top:14px;margin-top:14px}
.driver-tour-title{font-size:18px;font-weight:1000;margin:0 0 10px;color:#08223d}
.driver-table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(8,34,61,.08)}
.driver-table{width:100%;border-collapse:collapse;min-width:850px;background:#fff}
.driver-table th{background:#082b49;color:#f5c94c;text-align:left;padding:12px 10px;font-size:12px;white-space:nowrap}
.driver-table td{padding:11px 10px;border-top:1px solid rgba(8,34,61,.07);font-weight:800;color:#243d55;vertical-align:top}
.driver-empty{background:#f7f9fb;border:1px dashed rgba(8,34,61,.18);border-radius:14px;padding:16px;color:#50667d;font-weight:900}
.driver-small-note{font-size:12px;color:#728295;margin-top:10px;font-weight:800}
@media print{.dashboard-sidebar,.dashboard-topbar,.program-kpi-grid,.program-table-card,.program-editor-card,.program-waitlist-card,.driver-print-btn{display:none!important}.dashboard-main{margin:0!important;padding:0!important}.driver-list-card{box-shadow:none;border:0}.driver-table{min-width:0;font-size:12px}}



/* ACTIVE SUMMARY CARD - V27 */
.pms-calendar-summary article.clickable.active{
  background: linear-gradient(135deg, var(--pms-navy), var(--pms-navy-2)) !important;
  border-color: rgba(212,175,55,.9) !important;
  box-shadow: 0 18px 42px rgba(8,38,61,.22) !important;
}
.pms-calendar-summary article.clickable.active:hover{
  border-color: var(--pms-gold) !important;
  box-shadow: 0 20px 46px rgba(8,38,61,.26) !important;
}

/* BOOKING CALENDAR CLICKABLE SUMMARY CARDS - 2026-07-12 */
.pms-calendar-summary article.clickable{
  cursor: pointer !important;
  user-select: none !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.pms-calendar-summary article.clickable:hover{
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 40px rgba(8,38,61,.14) !important;
  border-color: rgba(212,175,55,.72) !important;
}
.pms-calendar-summary article.clickable:active{
  transform: translateY(-1px) scale(.995) !important;
}
.pms-calendar-summary article.clickable:focus-visible{
  outline: 4px solid rgba(212,175,55,.28) !important;
  outline-offset: 3px !important;
  border-color: var(--pms-gold) !important;
}
@media (hover:none){
  .pms-calendar-summary article.clickable:hover{transform:none !important;}
}

/* PMS foglaltsági kör: a százalék és a szobaszám pontos középre igazítása */
.gauge-circle{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
}
.gauge-circle > .gauge-value,
.gauge-circle > .gauge-sub{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.gauge-circle > .gauge-value{
  font-size:36px!important;
  font-weight:950!important;
}
.gauge-circle > .gauge-sub{
  font-size:12px!important;
  font-weight:900!important;
}
