:root{--color-bg:#fffbf0;--color-surface:#fff;--color-surface-2:#fef9ed;--color-surface-3:#fef3c7;--color-border:#b4530926;--color-border-hover:#b4530966;--color-primary:#d97706;--color-primary-dark:#b45309;--color-primary-glow:#d9770633;--color-secondary:#059669;--color-secondary-glow:#05966926;--color-accent:#dc2626;--color-accent-glow:#dc262626;--color-danger:#dc2626;--color-success:#059669;--color-text-primary:#1c1917;--color-text-secondary:#78716c;--color-text-muted:#a8a29e;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Playfair Display", Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #78350f14;--shadow-md:0 4px 12px #78350f1a;--shadow-lg:0 8px 32px #78350f1f;--shadow-primary:0 0 30px var(--color-primary-glow);--shadow-card:0 4px 24px #78350f14, inset 0 1px 0 #ffffffe6;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--navbar-height:64px;--content-max:1280px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);outline:none}ul,ol{list-style:none}.heading-serif{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600}.text-gradient{background:linear-gradient(135deg, var(--color-primary) 0%, #f59e0b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-gold{background:linear-gradient(135deg,#d97706 0%,#f59e0b 50%,#d97706 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{max-width:var(--content-max);padding:0 var(--space-6);margin:0 auto}.section{padding:var(--space-20) 0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-card), var(--shadow-primary);transform:translateY(-2px)}.card-glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);background:#ffffffeb;border:1px solid #b4530926;box-shadow:0 8px 40px #78350f1f}.btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-base);white-space:nowrap;cursor:pointer;border:none;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 16px var(--color-primary-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #d9770666}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-primary-dark);border:1.5px solid var(--color-primary);background:0 0}.btn-secondary:hover{background:var(--color-primary-glow)}.btn-ghost{color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);background:0 0}.btn-ghost:hover{color:var(--color-primary);background:var(--color-primary-glow)}.btn-danger{color:var(--color-danger);background:#dc26261a;border:1px solid #dc262640}.btn-danger:hover{background:#dc26262e}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.input{background:var(--color-surface-2);border:1.5px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}select.input{cursor:pointer}.badge{padding:4px var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);align-items:center;font-weight:600;display:inline-flex}.badge-primary{background:var(--color-primary-glow);color:var(--color-primary-dark);border:1px solid #d977064d}.badge-secondary{background:var(--color-secondary-glow);color:var(--color-secondary);border:1px solid #0596694d}.badge-gold{color:var(--color-primary-dark);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #d9770666}.avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--color-border);flex-shrink:0}.avatar-sm{width:32px;height:32px}.avatar-md{width:40px;height:40px}.avatar-lg{width:56px;height:56px}.avatar-xl{width:80px;height:80px}.avatar-placeholder{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary), #f59e0b);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.online-dot{background:var(--color-secondary);border:2px solid var(--color-surface);border-radius:50%;width:10px;height:10px;animation:2s infinite pulse-online;position:absolute;bottom:0;right:0}@keyframes pulse-online{0%,to{box-shadow:0 0 #05966966}50%{box-shadow:0 0 0 4px #05966900}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-3)}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#b4530940}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes goldPulse{0%,to{box-shadow:0 0 #d977064d}50%{box-shadow:0 0 0 8px #d9770600}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-float{animation:3s ease-in-out infinite float}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:80ms}.stagger-children>:nth-child(3){animation-delay:.16s}.stagger-children>:nth-child(4){animation-delay:.24s}.stagger-children>:nth-child(5){animation-delay:.32s}.stagger-children>:nth-child(6){animation-delay:.4s}.skeleton{background:linear-gradient(90deg, var(--color-surface-3) 25%, var(--color-surface-2) 50%, var(--color-surface-3) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.relative{position:relative}.text-center{text-align:center}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--color-text-secondary)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.room-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}@media (max-width:768px){.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}.book-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.room-grid{grid-template-columns:1fr}:root{--navbar-height:56px}}@media (max-width:480px){.book-grid{grid-template-columns:repeat(2,1fr)}}
