*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-dark: #1e40af;--primary-light: #3b82f6;--success-color: #10b981;--error-color: #ef4444;--text-primary: #1f2937;--text-secondary: #6b7280;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--border-radius: 12px;--border-radius-sm: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;color:var(--text-primary);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;line-height:1.6}main{max-width:800px;margin:0 auto;padding:2rem 1rem;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;background:var(--bg-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}h2{font-size:2rem;font-weight:600;margin:0 0 2rem;color:var(--text-primary);text-align:center}.form-row{margin:1.5rem 0}.form-row label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary);font-size:.95rem}input[type=text],input[type=email],input[type=date],input[type=search]{width:100%;padding:.875rem 1rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);transition:var(--transition);outline:none}input[type=text]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}input::placeholder{color:var(--text-secondary)}button{padding:.875rem 2rem;font-size:1rem;font-weight:600;color:#fff;background:var(--bg-gradient);border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md);width:100%;margin-top:.5rem}button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error{color:var(--error-color);background:#fef2f2;padding:.75rem 1rem;border-radius:var(--border-radius-sm);border-left:4px solid var(--error-color);font-size:.9rem;margin:.5rem 0}.card{background:var(--bg-primary);border:1px solid #e5e7eb;border-radius:var(--border-radius);padding:1.5rem;margin:1rem 0;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);transition:var(--transition);animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-light)}.card>div:first-child{font-size:1.1rem;font-weight:500;color:var(--text-primary);flex:1}.card button{width:auto;padding:.625rem 1.5rem;margin:0;margin-left:1rem;font-size:.9rem}.home-page{text-align:center;padding:4rem 1rem}.home-page button{max-width:300px;margin:2rem auto 0;display:block;font-size:1.1rem;padding:1rem 2.5rem}.search-page{background:var(--bg-primary);border-radius:var(--border-radius);padding:2.5rem;box-shadow:var(--shadow-lg);margin-top:2rem}.results-page>div{margin-top:1rem}.booking-page{background:var(--bg-primary);border-radius:var(--border-radius);padding:2.5rem;box-shadow:var(--shadow-lg);margin-top:2rem}#hotelInfo{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.25rem 1.5rem;border-radius:var(--border-radius-sm);margin-bottom:2rem;font-weight:500;box-shadow:var(--shadow-md)}.confirmation-page{text-align:center;background:var(--bg-primary);border-radius:var(--border-radius);padding:3rem 2rem;box-shadow:var(--shadow-lg);margin-top:2rem}[data-testid=success-message]{color:var(--success-color);font-size:2.5rem;margin-bottom:1.5rem}[data-testid=reservation-id]{display:inline-block;background:var(--bg-gradient);color:#fff;padding:.5rem 1.5rem;border-radius:var(--border-radius-sm);font-weight:600;font-size:1.2rem;margin-top:1rem;box-shadow:var(--shadow-md)}@media (max-width: 768px){main{padding:1.5rem 1rem}h1{font-size:2rem}h2{font-size:1.5rem}.search-page,.booking-page,.confirmation-page{padding:1.5rem}.card{flex-direction:column;align-items:stretch;gap:1rem}.card button{width:100%;margin-left:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
