@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&display=swap";:root{--color-bg:#fff1f2;--color-primary:#e11d48;--color-primary-hover:#be123c;--color-text-main:#4c0519;--color-text-muted:#9f1239;--color-card-bg:#fff;--color-border:#fecdd3;--color-success:#10b981;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition-fast:.2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}html,body{color:var(--color-text-main);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#fff1f2 0%,#ffe4e6 100%) fixed;min-height:100vh;font-family:Outfit,sans-serif}#root{flex-direction:column;align-items:center;width:100%;min-height:100vh;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.app-container{background-color:var(--color-bg);flex-direction:column;width:100%;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;overflow-x:hidden}@media (width>=768px){.app-container{border-radius:var(--radius-lg);min-height:calc(100vh - 80px);box-shadow:var(--shadow-md);background-color:var(--color-card-bg);margin:40px auto}}.hamburger-wrapper{z-index:100;position:absolute;top:16px;left:16px}.hamburger-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:28px;line-height:1;transition:transform .2s}.hamburger-btn:hover{transform:scale(1.1)}.drawer-overlay{z-index:1000;opacity:0;background-color:#0006;width:100vw;height:100vh;animation:.3s forwards fadeInOverlay;position:fixed;top:0;left:0}@keyframes fadeInOverlay{to{opacity:1}}.side-drawer{background-color:var(--color-bg);z-index:1001;flex-direction:column;width:250px;max-width:80vw;height:100vh;padding:80px 0 20px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 15px #0000001a}.side-drawer.open{transform:translate(0)}.close-drawer-btn{color:var(--color-text-main);cursor:pointer;background:0 0;border:none;font-size:28px;transition:transform .2s;position:absolute;top:16px;right:16px}.close-drawer-btn:hover{transform:scale(1.1)}.side-drawer button.menu-item{text-align:left;cursor:pointer;width:100%;color:var(--color-text-main);border:none;border-bottom:1px solid var(--color-border);background:0 0;padding:16px 24px;font-family:inherit;font-size:18px;font-weight:500;transition:background-color .2s,color .2s}.side-drawer button.menu-item:hover{color:var(--color-primary);background-color:#fff}.app-view{flex-direction:column;flex:1;padding:72px 24px 24px;display:flex}.header{text-align:center;margin-bottom:32px}.header h1{color:var(--color-primary);letter-spacing:-.5px;margin-bottom:8px;font-size:28px;font-weight:500}.header p{color:var(--color-text-muted);font-size:15px}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);width:100%;box-shadow:var(--shadow-md);border:none;outline:none;padding:16px 24px;font-family:Outfit,sans-serif;font-size:16px;font-weight:500}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;outline:none;width:100%;margin-top:12px;padding:16px 24px;font-family:Outfit,sans-serif;font-size:16px;font-weight:500}.btn-secondary:hover{background-color:var(--color-bg);color:var(--color-text-main);border-color:var(--color-text-muted)}.card{background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:16px;padding:20px;display:flex}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-sm);background-color:#d4a3a30d}.card-title{color:var(--color-text-main);font-size:16px;font-weight:500}.card-subtitle{color:var(--color-text-muted);margin-top:4px;font-size:13px}.card-price{color:var(--color-primary);font-size:16px;font-weight:600}.input-group{margin-bottom:20px}.input-label{color:var(--color-text-main);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.input-field{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-card-bg);width:100%;color:var(--color-text-main);transition:all var(--transition-fast);outline:none;padding:16px;font-family:Outfit,sans-serif;font-size:15px}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #d4a3a326}.input-field::placeholder{color:#bdbdbd}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.time-slot{border-radius:var(--radius-sm);border:1px solid var(--color-border);text-align:center;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-main);font-variant-numeric:tabular-nums;padding:12px;font-size:15px}.time-slot:hover{border-color:var(--color-primary);background-color:#d4a3a30d}.time-slot.selected{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.time-slot.booked{color:var(--color-text-muted);opacity:.5;cursor:not-allowed;background-color:var(--color-bg);border-color:#0000;text-decoration:line-through}.time-slot.booked:hover{background-color:var(--color-bg);color:var(--color-text-muted);border-color:#0000}.summary-card{background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:24px;padding:24px}.summary-row{justify-content:space-between;margin-bottom:12px;font-size:15px;display:flex}.summary-row.total{border-top:1px dashed var(--color-border);color:var(--color-primary);margin-top:16px;padding-top:16px;font-size:18px;font-weight:600}.nav-actions{margin-top:auto;padding-top:24px}.date-picker{appearance:none;width:100%;font-family:Outfit,sans-serif}.calendar-container{background-color:var(--color-card-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:20px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-title{color:var(--color-text-main);font-size:16px;font-weight:600}.calendar-nav{color:var(--color-primary);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.calendar-nav:hover{background-color:#d4a3a31a}.calendar-grid-header{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:12px;display:grid}.calendar-weekday{color:var(--color-text-muted);font-size:13px;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-main);justify-content:center;align-items:center;font-size:14px;display:flex}.calendar-day:not(.empty):not(.disabled):hover{color:var(--color-primary);background-color:#d4a3a31a}.calendar-day.selected{background-color:var(--color-primary);color:#fff;font-weight:500;box-shadow:0 4px 10px #d4a3a34d}.calendar-day.disabled{color:#d3caca;cursor:not-allowed}.calendar-day.empty{cursor:default}
