@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--background:240 10% 4%;--foreground:0 0% 98%;--primary:38 92% 50%;--primary-hover:38 92% 42%;--primary-rgb:245, 158, 11;--card:240 10% 6%;--card-hover:240 10% 9%;--card-border:240 5% 15%;--card-glass:#121216a6;--border:240 5% 15%;--border-light:240 5% 25%;--muted:240 5% 64%;--muted-dark:240 5% 20%;--success:142 72% 40%;--error:0 84% 60%;--warning:48 96% 50%;--info:217 91% 60%;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-gold:0 0 20px #f59e0b26;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:hsl(var(--background));color:hsl(var(--foreground));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--background));background-image:radial-gradient(at 0 0,#f59e0b0d 0,#0000 50%),radial-gradient(at 100% 100%,#f59e0b08 0,#0000 50%);background-attachment:fixed;min-height:100vh;margin:0;overflow-x:hidden}a{color:hsl(var(--primary));font-weight:500;text-decoration:none;transition:color .2s}a:hover{color:hsl(var(--primary-hover))}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--card-border));border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:hsl(var(--border-light))}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.6}50%{opacity:1;filter:drop-shadow(0 0 8px #f59e0b80)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.text-gradient{background:linear-gradient(135deg,#fff 30%,#eab308 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.react-datepicker-wrapper{width:100%}.dark-calendar{background-color:hsl(var(--card))!important;border:1px solid hsl(var(--card-border))!important;color:#fff!important;font-family:inherit!important}.dark-calendar .react-datepicker__header{background-color:hsl(var(--card))!important;border-bottom:1px solid hsl(var(--card-border))!important}.dark-calendar .react-datepicker__current-month,.dark-calendar .react-datepicker__day-name,.dark-calendar .react-datepicker__time-name,.dark-calendar .react-datepicker__day{color:#fff!important}.dark-calendar .react-datepicker__day:hover{background-color:#ffffff1a!important}.dark-calendar .react-datepicker__day--selected,.dark-calendar .react-datepicker__day--keyboard-selected{background-color:hsl(var(--primary))!important;color:#000!important}.dark-calendar .react-datepicker__day--disabled{color:hsl(var(--muted))!important}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid hsl(var(--card-border));background:#0a0a0cbf;position:sticky;top:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem;display:flex}.navbar-brand{color:#fff;letter-spacing:-.5px;align-items:center;gap:.5rem;font-size:1.3rem;font-weight:800;display:flex}.navbar-brand span{color:hsl(var(--primary))}.navbar-links{align-items:center;gap:1.5rem;display:flex}.nav-link{color:hsl(var(--muted));cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.nav-link:hover,.nav-link.active{color:#fff}.auth-page{justify-content:center;align-items:center;min-height:80vh;display:flex}.card-auth{background:var(--card-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--card-border));border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg), var(--shadow-gold);padding:2.5rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:hsl(var(--muted));font-size:.875rem;font-weight:600}.form-input{border:1px solid hsl(var(--card-border));border-radius:var(--radius-md);background:#ffffff08;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:all .2s}.form-input:focus{border-color:hsl(var(--primary));background:#ffffff0d;outline:none;box-shadow:0 0 0 2px #f59e0b26}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:hsl(var(--primary));color:#000}.btn-primary:hover{background:hsl(var(--primary-hover));transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b33}.btn-secondary{color:#fff;border-color:hsl(var(--card-border));background:#ffffff0d}.btn-secondary:hover{border-color:hsl(var(--border-light));background:#ffffff14;transform:translateY(-1px)}.btn-danger{color:#f87171;background:#ef44441a;border-color:#ef444433}.btn-danger:hover{background:#ef444433;transform:translateY(-1px)}.btn-sm{border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.grid-dashboard{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.grid-dashboard{grid-template-columns:2fr 1fr}}.card{background:var(--card-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsl(var(--card-border));border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.5rem;transition:all .2s}.card-title{color:#fff;border-bottom:1px solid hsl(var(--card-border));align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.2rem;font-weight:700;display:flex}.barber-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.selection-card{border:1px solid hsl(var(--card-border));border-radius:var(--radius-md);cursor:pointer;text-align:center;background:#ffffff05;padding:1.25rem;transition:all .2s}.selection-card:hover{border-color:hsl(var(--border-light));background:#ffffff0a;transform:translateY(-2px)}.selection-card.selected{border-color:hsl(var(--primary));background:#f59e0b0d;box-shadow:0 0 12px #f59e0b1a}.barber-avatar{width:50px;height:50px;color:hsl(var(--primary));border:2px solid hsl(var(--card-border));background:#f59e0b1a;border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;font-size:1.25rem;font-weight:700;display:flex}.selection-card.selected .barber-avatar{border-color:hsl(var(--primary));background:#f59e0b33}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem;margin-top:1rem;display:grid}.slot-btn{color:hsl(var(--foreground));border:1px solid hsl(var(--card-border));border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#ffffff08;padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:all .2s}.slot-btn:hover:not(:disabled){border-color:hsl(var(--border-light));background:#ffffff14}.slot-btn.selected{font-weight:700;box-shadow:0 0 15px #f59e0b4d;background:hsl(var(--primary))!important;color:#000!important;border-color:hsl(var(--primary))!important}.slot-btn:disabled{color:#ffffff26;opacity:.5;cursor:not-allowed;background:#ffffff03;border-color:#ffffff08}.booking-list{flex-direction:column;gap:1rem;display:flex}.booking-item{border-radius:var(--radius-md);border:1px solid hsl(var(--card-border));background:#ffffff05;justify-content:space-between;align-items:center;padding:1rem;display:flex}.booking-info{flex-direction:column;gap:.25rem;display:flex}.booking-service{color:#fff;font-weight:700}.booking-details{color:hsl(var(--muted));flex-wrap:wrap;gap:1rem;font-size:.85rem;display:flex}.badge{text-transform:uppercase;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.badge-pending{color:hsl(var(--warning));background:#f59e0b1a;border:1px solid #f59e0b33}.badge-confirmed{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e33}.badge-cancelled{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.badge-concluded{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f633}.alert{border-radius:var(--radius-sm);border:1px solid #0000;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.alert-error{color:#f87171;background:#ef444426;border-color:#ef444440}.alert-success{color:#4ade80;background:#22c55e26;border-color:#22c55e40}.navbar-user-section{border-left:1px solid hsl(var(--card-border));align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;display:flex}.navbar-user-name{color:#fff;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.dashboard-header{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.service-selection-card{text-align:left;justify-content:space-between;align-items:center;gap:1rem;display:flex}.service-price{color:hsl(var(--primary));white-space:nowrap;font-size:1.1rem;font-weight:800}@media (width<=640px){.main-content{padding:1rem .75rem}.navbar-container{flex-direction:column;align-items:center;gap:.75rem;padding:.75rem}.navbar-links{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%}.navbar-user-section{border-left:none;border-top:1px solid hsl(var(--card-border));justify-content:space-between;width:100%;margin-top:.5rem;margin-left:0;padding-top:.75rem;padding-left:0}.navbar-user-name{font-size:.85rem}.auth-page{min-height:70vh;padding:.5rem}.card-auth{border-radius:var(--radius-md);padding:1.5rem}.dashboard-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem}.dashboard-header h1{font-size:1.75rem!important}.dashboard-header button{width:100%}.booking-item{flex-direction:column;align-items:stretch;gap:1rem}.booking-item>div:last-child{border-top:1px solid hsl(var(--card-border));justify-content:space-between;align-items:center;width:100%;padding-top:.75rem;display:flex}.booking-details{gap:.5rem 1rem}.barber-grid{grid-template-columns:1fr;gap:.75rem}.service-selection-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.service-selection-card .service-price{align-self:flex-end}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.slot-btn{padding:.5rem;font-size:.8rem}}
