:root{--green-dark:#1B4332;--green-mid:#2D5A3D;--green-deep:#0e271c;--green-light:#407655;--gold:#C9A227;--gold-light:#D4AF37;--gold-pale:#F4E8C1;--ivory:#FAF6EE;--cream:#F5EFE1;--charcoal:#1E2229;--slate:#2D3748;--text-muted:#718096;--white:#FFFFFF;--border:#E2E8F0;--status-avail:#2ECC71;--status-avail-bg:rgba(46,204,113,0.12);--status-occ:#E74C3C;--status-occ-bg:rgba(231,76,60,0.12);--status-res:#F39C12;--status-res-bg:rgba(243,156,18,0.12);--status-dirty:#E67E22;--status-dirty-bg:rgba(230,126,34,0.14);--status-maint:#95A5A6;--status-maint-bg:rgba(149,165,166,0.14);--shadow-sm:0 2px 6px rgba(0,0,0,0.06);--shadow-md:0 6px 18px rgba(0,0,0,0.08);--shadow-lg:0 14px 32px rgba(0,0,0,0.12);--radius:12px;--radius-lg:18px;--transition:0.25s cubic-bezier(0.4,0,0.2,1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:'Inter',sans-serif;background:#F8F9FA;color:var(--charcoal);display:flex;min-height:100vh;overflow-x:hidden}.sidebar{width:260px;background:var(--green-deep);color:var(--white);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:1px solid rgba(201,162,39,0.2);z-index:100;transition:all var(--transition)}.sidebar-brand{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;gap:4px}.brand-badge{display:inline-flex;align-items:center;gap:5px;font-size:0.7rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px}.brand-logo{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--white);letter-spacing:0.5px}.brand-logo span{color:var(--gold)}.brand-property{font-size:0.78rem;color:rgba(255,255,255,0.65)}.nav-menu{padding:16px 12px;display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;color:rgba(255,255,255,0.75);border-radius:var(--radius);cursor:pointer;font-size:0.9rem;font-weight:600;transition:all var(--transition);user-select:none;border:1px solid transparent;text-decoration:none}.nav-item:hover{background:rgba(201,162,39,0.12);color:var(--gold-pale);border-color:rgba(201,162,39,0.25)}.nav-item.active{background:linear-gradient(135deg,var(--green-mid),var(--green-dark));color:var(--white);border-color:var(--gold);box-shadow:0 4px 12px rgba(0,0,0,0.25)}.nav-item-icon{font-size:1.15rem;width:24px;text-align:center}.nav-badge{margin-left:auto;background:var(--gold);color:var(--green-dark);font-size:0.72rem;font-weight:800;padding:2px 7px;border-radius:50px}.sidebar-footer{padding:16px 18px;border-top:1px solid rgba(255,255,255,0.08);background:rgba(10,26,19,0.5);display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;flex-direction:column}.user-name{font-size:0.85rem;font-weight:700;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.user-role{font-size:0.72rem;color:var(--gold);text-transform:capitalize}.btn-logout{background:transparent;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.8);border-radius:8px;padding:6px 10px;font-size:0.75rem;cursor:pointer;transition:all var(--transition)}.btn-logout:hover{background:rgba(235,87,87,0.2);border-color:#ff9999;color:#ff9999}.main-wrapper{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-width:0}.topbar{background:var(--white);border-bottom:1px solid var(--border);padding:14px 28px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:90}.topbar-left{display:flex;align-items:center;gap:16px}.page-heading h1{font-size:1.35rem;font-weight:700;color:var(--charcoal)}.page-heading p{font-size:0.8rem;color:var(--text-muted)}.topbar-right{display:flex;align-items:center;gap:14px}.live-indicator{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--status-avail-bg);border:1px solid rgba(46,204,113,0.3);border-radius:50px;font-size:0.8rem;font-weight:600;color:#1e824c}.pulse-dot{width:8px;height:8px;background:var(--status-avail);border-radius:50%;box-shadow:0 0 0 0 rgba(46,204,113,0.7);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(46,204,113,0.7)}70%{box-shadow:0 0 0 8px rgba(46,204,113,0)}100%{box-shadow:0 0 0 0 rgba(46,204,113,0)}}.btn-public-site{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--ivory);border:1px solid rgba(201,162,39,0.4);color:var(--green-dark);border-radius:8px;font-size:0.82rem;font-weight:600;text-decoration:none;transition:all var(--transition)}.btn-public-site:hover{background:var(--cream);border-color:var(--gold)}.content-body{padding:28px;flex:1}.tab-pane{display:none;animation:fadeIn 0.3s ease-out}.tab-pane.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;transition:all var(--transition)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:rgba(201,162,39,0.4)}.kpi-header{display:flex;align-items:center;justify-content:space-between}.kpi-title{font-size:0.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.5px}.kpi-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:var(--cream)}.kpi-value{font-size:1.85rem;font-weight:800;color:var(--charcoal);font-family:'Playfair Display',serif}.kpi-footer{font-size:0.78rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.dashboard-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:24px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.panel-title{font-size:1.15rem;font-weight:700;color:var(--charcoal);display:flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--green-dark),var(--green-mid));color:var(--white);border:1px solid var(--gold);padding:10px 18px;border-radius:8px;font-size:0.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition);box-shadow:0 2px 6px rgba(0,0,0,0.1)}.btn-primary:hover{background:linear-gradient(135deg,var(--green-mid),var(--green-light));transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.btn-secondary{background:var(--white);border:1px solid var(--border);color:var(--slate);padding:9px 16px;border-radius:8px;font-size:0.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition)}.btn-secondary:hover{background:var(--ivory);border-color:var(--gold);color:var(--green-dark)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.filter-pills{display:flex;flex-wrap:wrap;gap:8px}.filter-pill{background:var(--white);border:1px solid var(--border);padding:6px 14px;border-radius:50px;font-size:0.8rem;font-weight:600;cursor:pointer;color:var(--slate);transition:all var(--transition)}.filter-pill:hover,.filter-pill.active{background:var(--green-dark);color:var(--white);border-color:var(--green-dark)}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.room-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:all var(--transition);position:relative}.room-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.room-card.status-available{border-top:4px solid var(--status-avail)}.room-card.status-occupied{border-top:4px solid var(--status-occ)}.room-card.status-reserved{border-top:4px solid var(--status-res)}.room-card.status-dirty{border-top:4px solid var(--status-dirty)}.room-card.status-maintenance{border-top:4px solid var(--status-maint)}.room-card-header{display:flex;align-items:flex-start;justify-content:space-between}.room-number-box{display:flex;flex-direction:column}.room-number{font-size:1.4rem;font-weight:800;font-family:'Playfair Display',serif;color:var(--charcoal)}.room-floor{font-size:0.72rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.room-type-tag{font-size:0.72rem;font-weight:700;color:var(--green-dark);background:var(--cream);padding:3px 8px;border-radius:6px;margin-top:4px;display:inline-block}.status-badge{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;padding:4px 10px;border-radius:50px}.badge-available{background:var(--status-avail-bg);color:#1e824c;border:1px solid rgba(46,204,113,0.4)}.badge-occupied{background:var(--status-occ-bg);color:#c0392b;border:1px solid rgba(231,76,60,0.4)}.badge-reserved{background:var(--status-res-bg);color:#d35400;border:1px solid rgba(243,156,18,0.4)}.badge-dirty{background:var(--status-dirty-bg);color:#b95d08;border:1px solid rgba(230,126,34,0.4)}.badge-maintenance{background:var(--status-maint-bg);color:#7f8c8d;border:1px solid rgba(149,165,166,0.4)}.room-card-body{font-size:0.82rem;color:var(--slate);background:#F8F9FA;padding:10px 12px;border-radius:8px;min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:2px}.room-guest-name{font-weight:700;color:var(--charcoal)}.room-notes{font-size:0.75rem;color:var(--text-muted);font-style:italic}.room-card-actions{display:flex;gap:8px}.btn-room-status{flex:1;padding:7px 10px;font-size:0.75rem;font-weight:700;background:var(--white);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all var(--transition)}.btn-room-status:hover{background:var(--ivory);border-color:var(--gold);color:var(--green-dark)}.table-container{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:0.85rem}.data-table th{background:#F8F9FA;padding:12px 16px;font-weight:700;color:var(--slate);border-bottom:1px solid var(--border);text-transform:uppercase;font-size:0.72rem;letter-spacing:0.5px}.data-table td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--charcoal);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover{background:rgba(201,162,39,0.04)}.kot-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.kot-col{background:#F1F4F7;border-radius:var(--radius-lg);padding:18px;display:flex;flex-direction:column;gap:14px;min-height:500px}.kot-col-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:2px solid rgba(0,0,0,0.08)}.kot-col-title{font-size:0.9rem;font-weight:800;color:var(--charcoal);text-transform:uppercase;letter-spacing:0.5px}.kot-card{background:var(--white);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:12px;animation:slideIn 0.3s ease}@keyframes slideIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.kot-card-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed var(--border);padding-bottom:8px}.kot-source-badge{font-size:0.85rem;font-weight:800;color:var(--green-dark);background:var(--cream);padding:3px 10px;border-radius:50px}.kot-time{font-size:0.72rem;color:var(--text-muted)}.kot-items-list{display:flex;flex-direction:column;gap:6px;font-size:0.85rem}.kot-item-row{display:flex;justify-content:space-between}.kot-item-qty{font-weight:800;color:var(--gold-light);background:var(--green-deep);padding:0 6px;border-radius:4px;margin-right:6px;font-size:0.75rem}.kot-total-row{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:8px;font-weight:700;font-size:0.9rem}.kot-actions{display:flex;gap:8px}.qr-studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.standee-preview-card{background:var(--white);border:3px solid var(--gold);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;box-shadow:var(--shadow-lg);max-width:380px;margin:0 auto;position:relative}.standee-gold-border{border:1px dashed var(--gold);border-radius:12px;padding:24px;background:radial-gradient(circle at center,#FFFFFF 0%,var(--ivory) 100%)}.standee-header{margin-bottom:16px}.standee-brand{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--green-dark);letter-spacing:1px}.standee-target{display:inline-block;margin-top:6px;font-size:0.85rem;font-weight:800;color:var(--gold);background:var(--green-dark);padding:4px 14px;border-radius:50px;text-transform:uppercase;letter-spacing:1px}.standee-qr-box{margin:20px auto;padding:12px;background:#FFFFFF;border:2px solid var(--border);border-radius:12px;display:inline-flex;box-shadow:var(--shadow-sm)}.standee-footer{margin-top:14px}.standee-instructions{font-size:0.85rem;font-weight:700;color:var(--charcoal);margin-bottom:4px}.standee-sub{font-size:0.72rem;color:var(--text-muted)}.standee-powered{margin-top:14px;font-size:0.68rem;color:var(--gold);font-weight:700;letter-spacing:1px;text-transform:uppercase}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;align-items:center;justify-content:center;padding:20px}.modal-overlay.active{display:flex}.modal-box{background:var(--white);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:500px;box-shadow:var(--shadow-lg);animation:zoomIn 0.25s ease-out;border:1px solid var(--border)}@keyframes zoomIn{from{transform:scale(0.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-title{font-size:1.2rem;font-weight:700;color:var(--charcoal)}.modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted)}.modal-form-group{margin-bottom:16px}.modal-label{display:block;font-size:0.8rem;font-weight:600;color:var(--slate);margin-bottom:6px}.modal-input,.modal-select,.modal-textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:0.9rem;font-family:'Inter',sans-serif;outline:none;transition:border-color var(--transition)}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{border-color:var(--gold)}@media print{body *{visibility:hidden}.standee-preview-card,.standee-preview-card *{visibility:visible}.standee-preview-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:none;border:2px solid #000;width:100%;max-width:450px}}@media (max-width:900px){.sidebar{width:70px}.brand-title,.brand-property,.nav-item-text,.user-info,.brand-badge{display:none}.sidebar-brand{padding:16px 12px;align-items:center}.nav-item{justify-content:center;padding:12px 0}.sidebar-footer{justify-content:center;padding:12px 0}.qr-studio-grid{grid-template-columns:1fr}}