:root{--primary:#1e3a8a;--primary-light:#2563eb;--primary-dark:#0f172a;--accent:#3b82f6;--accent-dark:#1d4ed8;--bg-dark:#0f172a;--bg-light:#f1f5f9;--text-dark:#0f172a;--text-light:#fff;--text-muted:#475569;--border:#cbd5e1;--glass-bg:#fff;--glass-border:#cbd5e1;--glass-shadow:0 8px 24px #0f172a0f}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--text-dark);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:linear-gradient(#f8fafc 0%,#e2e8f0 100%) fixed;font-family:Sarabun,Noto Sans Thai,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 60%,#1d4ed8 100%);border-bottom:1px solid #ffffff1f;padding:.75rem 0;position:sticky;top:0;box-shadow:0 4px 18px #0f172a2e}.logo-container{align-items:center;gap:.6rem;text-decoration:none;display:flex}.logo-badge{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%);border:1px solid #ffffff40;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:800;display:flex;box-shadow:0 4px 10px #2563eb59}.logo-title{color:#fff;letter-spacing:.5px;font-size:1.2rem;font-weight:800;line-height:1.1}.logo-subtitle{color:#93c5fd;letter-spacing:.8px;font-size:.6rem;font-weight:600}.header-status-btn{color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);white-space:nowrap;background:#ffffff1f;border:1px solid #ffffff40;border-radius:20px;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s}.header-status-btn:hover{background:#ffffff38;border-color:#fff;transform:translateY(-1px)}.container{width:100%;max-width:1050px;margin:0 auto;padding:0 1rem}.main-content{flex:1;padding:1.5rem 0 2.5rem}.app-footer{text-align:center;color:#64748b;background:#fff;border-top:1px solid #cbd5e1;margin-top:auto;padding:1.25rem 0;font-size:.825rem}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:.3s ease-out slideUp}h1,h2,h3,h4,h5,h6{color:#0f172a;margin-bottom:.4rem;font-weight:700}.glass-card{box-shadow:var(--glass-shadow);background:#fff;border:1.5px solid #cbd5e1;border-radius:16px;margin-bottom:1.25rem;padding:1.35rem;transition:transform .2s,box-shadow .2s}.btn{cursor:pointer;touch-action:manipulation;border:none;border-radius:10px;justify-content:center;align-items:center;width:100%;padding:.75rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:all .2s;display:inline-flex}@media (width>=768px){.btn{width:auto}}.btn-primary{color:#fff;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%);box-shadow:0 4px 14px #1e3a8a47}.btn-primary:hover{background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);transform:translateY(-2px);box-shadow:0 6px 18px #1e3a8a59}.btn-secondary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);box-shadow:0 4px 14px #2563eb47}.btn-secondary:hover{transform:translateY(-2px)}.btn-outline{color:#334155;background:#fff;border:1.5px solid #cbd5e1}.btn-outline:hover{color:#1e3a8a;background:#f8fafc;border-color:#1e3a8a}.form-group{margin-bottom:1.1rem}.form-label{color:#0f172a;margin-bottom:.4rem;font-size:.875rem;font-weight:700;display:block}.form-control{color:#0f172a;background:#fff;border:1.5px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.7rem .85rem;font-family:inherit;font-size:16px;transition:all .2s}.form-control:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a26}@media (width<=768px){.container{padding:0 .75rem}.main-content{padding:1rem 0 2rem}.glass-card{border-radius:14px;margin-bottom:1rem;padding:1.1rem}.logo-title{font-size:1.05rem}.logo-subtitle{display:none}.header-status-btn{padding:.35rem .65rem;font-size:.75rem}.btn{padding:.7rem 1rem;font-size:.9rem}.booking-form-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.room-cards-grid,.payment-methods-grid{grid-template-columns:1fr!important}}
