:root{--color-primary:#1a1a2e;--color-secondary:#e94560;--color-accent:#f5a623;--color-background:#f8f9fa;--color-surface:#ffffff;--color-text:#212529;--color-text-secondary:#6c757d;--color-text-light:#adb5bd;--color-border:#dee2e6;--color-success:#28a745;--color-warning:#ffc107;--color-danger:#dc3545;--color-info:#17a2b8;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.07);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px rgba(0,0,0,0.15);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"Outfit",var(--font-sans);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem}[data-theme=dark]{--color-background:#0f0f1a;--color-surface:#1a1a2e;--color-text:#f8f9fa;--color-text-secondary:#adb5bd;--color-border:#2d2d44}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.3;color:var(--color-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.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-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-body,.card-header{padding:var(--spacing-lg)}.card-header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-primary) 0,rgba(26,26,46,.9) 100%);color:white}.glass-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0,#2d2d5a 100%);color:white}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:linear-gradient(135deg,var(--color-secondary) 0,#ff6b6b 100%);color:white}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-accent{background:linear-gradient(135deg,var(--color-accent) 0,#ffc107 100%)}.btn-accent,.btn-outline{color:var(--color-primary)}.btn-outline{background:transparent;border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:white}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-full)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;font-family:inherit;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(233,69,96,.15)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-light)}.form-textarea{min-height:120px;resize:vertical}.form-error{color:var(--color-danger);font-size:.875rem;margin-top:var(--spacing-xs)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-full)}.badge-success{background:rgba(40,167,69,.15);color:var(--color-success)}.badge-warning{background:rgba(255,193,7,.15);color:#856404}.badge-danger{background:rgba(220,53,69,.15);color:var(--color-danger)}.badge-info{background:rgba(23,162,184,.15);color:var(--color-info)}.status-disponivel{background:rgba(40,167,69,.15);color:#28a745}.status-vendido{background:rgba(220,53,69,.15);color:#dc3545}.status-reservado{background:rgba(255,193,7,.15);color:#856404}.status-alugado{background:rgba(23,162,184,.15);color:#17a2b8}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-secondary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.alert-success{background:rgba(40,167,69,.1);border:1px solid rgba(40,167,69,.3);color:var(--color-success)}.alert-error{background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.3);color:var(--color-danger)}.alert-warning{background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.3);color:#856404}.price{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-accent)}.price-label{font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}@media (max-width:1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){html{font-size:15px}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-md)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media (max-width:480px){html{font-size:14px}.btn{width:100%;justify-content:center}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease-out}.animate-slideUp{animation:slideUp var(--transition-normal) ease-out}.animate-slideDown{animation:slideDown var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}::selection{background:var(--color-secondary);color:white}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}