*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--primary: #2d6a4f;--primary-dark: #1b4332;--primary-light: #52b788;--accent: #d4a373;--accent-light: #e9c46a;--bg-dark: #0d1b2a;--bg-overlay: rgba(13,27,42,.7);--bg-chat: rgba(13,27,42,.55);--text-white: #ffffff;--text-light: rgba(255,255,255,.9);--text-muted: rgba(255,255,255,.6);--text-subtitle: rgba(255,255,255,.7);--glass: rgba(255,255,255,.08);--glass-border: rgba(255,255,255,.15);--shadow: 0 8px 32px rgba(0,0,0,.3);--radius: 16px;--radius-sm: 8px;--transition: .3s cubic-bezier(.4,0,.2,1);--safe-bottom: env(safe-area-inset-bottom, 0px);--keyboard-offset: 0px;--font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif}html,body{height:100%;width:100%;overflow:hidden;font-family:var(--font);background:var(--bg-dark);color:var(--text-white);-webkit-font-smoothing:antialiased}#root{height:100%;width:100%;overflow:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:fadeIn .5s ease-out}.slide-up{animation:slideUp .6s ease-out}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px #2d6a4f66}.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-light));color:var(--bg-dark)}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 12px #d4a37366}.btn-glass{background:var(--glass);color:#fff;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-glass:hover{background:#ffffff26}.btn-sm{padding:8px 16px;font-size:12px}.btn-lg{padding:16px 32px;font-size:16px;border-radius:var(--radius)}input,textarea,select{font-family:var(--font);font-size:16px;color:var(--text-white);background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:12px 16px;width:100%;outline:none;transition:var(--transition)}input:focus,textarea:focus,select:focus{border-color:var(--primary-light);box-shadow:0 0 0 2px #52b78833}input::placeholder,textarea::placeholder{color:var(--text-muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-dark);border:1px solid var(--glass-border);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;padding:24px;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-header h2{font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer;padding:4px}.loading-skeleton{background:linear-gradient(90deg,var(--glass) 25%,rgba(255,255,255,.1) 50%,var(--glass) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.admin-section{margin-bottom:24px}.admin-section h2{font-size:18px;margin-bottom:12px}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;padding:16px;margin-bottom:12px}.admin-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.admin-badge{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.admin-badge.pending{background:#e9c46a33;color:#e9c46a}.admin-badge.confirmed{background:#52b78833;color:#52b788}.admin-badge.paid{background:#52b7884d;color:#52b788}.admin-badge.cancelled{background:#ff6b6b33;color:#ff6b6b}@media (min-width:768px){.btn-lg{padding:18px 40px;font-size:18px}}@media (min-width:1024px){:root{--radius:20px}}
