@tailwind base;@tailwind components;@tailwind utilities;:root{--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--radius-2xl: 28px;--radius-3xl: 32px;--shadow-card: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.04);--shadow-card-hover: 0 4px 12px rgba(0,0,0,.08), 0 16px 40px rgba(0,0,0,.06);--shadow-float: 0 8px 32px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.06);--color-primary: #4a52e6;--color-primary-glow: rgba(99,102,241,.25)}@layer base{*{@apply border-gray-200;}html,body,#root{min-height:100%}body{@apply text-gray-900 font-sans antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain;background:radial-gradient(1200px 700px at 10% -10%,#dbeafe 0%,transparent 55%),radial-gradient(1000px 600px at 110% 10%,#ede9fe 0%,transparent 50%),#f8fafc}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{@apply rounded-full bg-slate-200;}::-webkit-scrollbar-thumb:hover{@apply bg-slate-300;}}html[data-theme=dark] body{color:#e2e8f0;background:radial-gradient(1200px 700px at 10% -10%,#1e293b 0%,transparent 55%),radial-gradient(1000px 600px at 110% 10%,#312e81 0%,transparent 50%),#020617}.glass-panel{background:#131b2ebf;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.stitch-surface{background-color:#0b1326;color:#dae2fd}.stitch-card{background-color:#131b2e;border-radius:1rem;border:1px solid rgba(71,70,81,.3)}.stitch-card-high{background-color:#222a3d;border-radius:1rem;border:1px solid rgba(71,70,81,.2)}.stitch-gradient-btn{background:linear-gradient(135deg,#c3c0ff,#312e81);color:#272377;font-family:Space Grotesk,sans-serif;font-weight:700}.stitch-gradient-text{background:linear-gradient(135deg,#c3c0ff,#9c9af4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stitch-sidebar{background-color:#131b2e;border-right:1px solid rgba(71,70,81,.3)}.stitch-nav-active{background:linear-gradient(135deg,#c3c0ff,#312e81);color:#fff;box-shadow:0 8px 20px #c3c0ff33}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@layer components{.btn{@apply inline-flex items-center justify-center gap-2 rounded-xl px-4 py-2 text-sm font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed active:scale-95;min-height:44px}.btn-primary{@apply btn text-white focus:ring-primary-500 shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-px;background:linear-gradient(135deg,#4f46e5,#7c3aed 55%,#9333ea)}.btn-secondary{@apply btn bg-white/90 backdrop-blur text-gray-700 border border-gray-200 hover:bg-white hover:shadow-md hover:border-gray-300 focus:ring-primary-500 hover:-translate-y-px;}.btn-danger{@apply btn text-white focus:ring-red-500 shadow-lg shadow-red-500/20 hover:shadow-xl hover:shadow-red-500/30 hover:-translate-y-px;background:linear-gradient(135deg,#ef4444,#dc2626)}.input{@apply block w-full rounded-xl border border-gray-200 bg-white/90 backdrop-blur px-3 py-2.5 text-sm placeholder-gray-400 shadow-sm transition-all focus:border-primary-400 focus:outline-none focus:ring-2 focus:ring-primary-500/20 hover:border-gray-300;}.label{@apply block text-sm font-medium text-gray-700 mb-1;}.card{@apply bg-white/95 backdrop-blur rounded-2xl border border-white/70 shadow-md shadow-slate-200/70 transition-all;}.badge{@apply inline-flex items-center rounded-full px-2.5 py-1 text-xs font-semibold;}.gradient-text{background:linear-gradient(135deg,#4f46e5,#7c3aed 55%,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-cyan{background:linear-gradient(135deg,#06b6d4,#6deaed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-emerald{background:linear-gradient(135deg,#059669,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.surface-card{@apply rounded-3xl border border-white/80 bg-white/95 p-6 shadow-lg shadow-slate-200/70 backdrop-blur;}.page-hero{@apply relative overflow-hidden rounded-3xl border border-white/80 px-6 py-7 shadow-xl shadow-indigo-100/80;background:linear-gradient(120deg,#eef2ff,#dbeafe 45%,#f5d0fe)}.page-hero-badge{@apply inline-flex items-center gap-2 rounded-full border border-white/80 bg-white/75 px-3 py-1 text-xs font-semibold uppercase tracking-[.2em] text-slate-600;}.page-hero-stat{@apply rounded-2xl border border-white/80 bg-white/70 px-4 py-3 backdrop-blur shadow-sm shadow-slate-200/60;}.page-hero-glow{@apply absolute rounded-full blur-3xl;}.page-hero-glow-right{@apply -right-10 -top-8 h-36 w-36 bg-fuchsia-200/60;}.page-hero-glow-left{@apply -left-8 bottom-0 h-28 w-28 bg-sky-200/60;}.premium-shell{@apply relative overflow-hidden rounded-[28px] border border-white/70 bg-white/90 shadow-xl shadow-slate-200/80 backdrop-blur transition-shadow duration-200;}.premium-shell:before{content:"";@apply pointer-events-none absolute inset-0 opacity-80;background:radial-gradient(circle at top right,rgba(99,102,241,.18),transparent 28%),radial-gradient(circle at bottom left,rgba(56,189,248,.14),transparent 24%)}.premium-shell-dark{background:linear-gradient(135deg,#6366f1,#818cf8 45%,#c084fc);border-color:#fff6;box-shadow:0 22px 44px #6366f142}.premium-shell-dark:before{background:radial-gradient(circle at top right,rgba(255,255,255,.16),transparent 20%),radial-gradient(circle at bottom left,rgba(255,255,255,.22),transparent 24%),linear-gradient(125deg,transparent 0%,rgba(255,255,255,.08) 100%)}.premium-grid{background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:22px 22px}.premium-tile{@apply relative overflow-hidden rounded-3xl border border-white/80 bg-white/85 p-5 shadow-lg shadow-slate-200/70 backdrop-blur;}.premium-tile:after{content:"";@apply pointer-events-none absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-white to-transparent;}.premium-kicker{@apply inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white/70 px-3 py-1 text-[11px] font-semibold uppercase tracking-[.24em] text-slate-500;}.premium-chip{@apply inline-flex items-center gap-2 rounded-full border border-white/70 bg-white/75 px-3 py-1.5 text-xs font-semibold text-slate-700 shadow-sm shadow-slate-200/60 backdrop-blur;}.premium-metric{@apply rounded-3xl border border-white/70 bg-white/85 p-4 shadow-md shadow-slate-200/70 backdrop-blur;}.premium-metric-value{@apply mt-2 text-2xl font-black tracking-tight text-slate-900;}.premium-muted{@apply text-sm leading-6 text-slate-500;}.premium-spotlight{@apply relative overflow-hidden rounded-[32px] border border-white/80 px-6 py-6 text-slate-900 shadow-xl shadow-indigo-100/70;background:linear-gradient(135deg,#f8fafc,#e0e7ff,#dbeafe 70%,#f5d0fe)}.premium-spotlight:before{content:"";@apply absolute inset-0 opacity-90;background:radial-gradient(circle at top right,rgba(255,255,255,.95),transparent 22%),radial-gradient(circle at bottom left,rgba(125,211,252,.35),transparent 26%),linear-gradient(115deg,transparent 0%,rgba(255,255,255,.16) 100%)}.premium-avatar{@apply flex items-center justify-center rounded-[24px] text-white shadow-lg;background:linear-gradient(135deg,#4f46e5,#06b6d4)}.premium-outline-card{@apply rounded-3xl border border-slate-200/80 bg-slate-50/90 p-4 backdrop-blur transition-all duration-200;}.premium-outline-card:hover{@apply border-primary-200 bg-white shadow-md shadow-primary-100/70;transform:translateY(-2px)}.premium-section-title{@apply text-xl font-bold tracking-tight text-slate-900;}.premium-section-subtitle{@apply mt-1 text-sm text-slate-500;}.chart-card{@apply premium-shell p-6;}.chart-card-title{@apply text-base font-bold text-slate-800 mb-1;}.chart-card-sub{@apply text-xs text-slate-400;}.stat-card{@apply premium-shell p-5 flex items-center gap-4 hover:-translate-y-1 cursor-default transition-transform duration-200;}.stat-icon{@apply relative flex h-14 w-14 shrink-0 items-center justify-center rounded-2xl shadow-lg;}.stat-value{@apply text-2xl font-black tracking-tight text-gray-900;}.stat-label{@apply text-xs font-medium text-gray-500;}.stat-trend{@apply inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-bold;}.stat-trend-up{@apply bg-emerald-50 text-emerald-600;}.stat-trend-down{@apply bg-red-50 text-red-500;}.hero-slider-wrapper{@apply overflow-hidden rounded-[28px] shadow-2xl;position:relative}.hero-slide{@apply flex-[0_0_100%] min-w-0 relative px-6 py-8 md:px-10 md:py-10;}.hero-slide-dot{@apply h-2 rounded-full transition-all duration-300;background:#ffffff40}.hero-slide-dot.active{@apply w-8;background:#6deaed}.hero-slide-dot:not(.active){@apply w-2;}.barber-dark-shell{@apply relative overflow-hidden rounded-[32px] border border-white/10 text-white shadow-2xl;background:linear-gradient(180deg,#1a1a1a,#121212);box-shadow:0 28px 70px #00000052}.barber-dark-shell:before{content:"";@apply pointer-events-none absolute inset-0;background:radial-gradient(circle at top right,rgba(109,234,237,.14),transparent 22%),radial-gradient(circle at bottom left,rgba(109,234,237,.08),transparent 28%)}.barber-panel{@apply rounded-[28px] border border-white/[.08] bg-white/[.04] backdrop-blur-xl;box-shadow:inset 0 1px #ffffff0a}.barber-soft-card{@apply rounded-[24px] border border-white/[.08] bg-[#1f1f1f] text-white shadow-lg;}.barber-accent-pill{@apply inline-flex items-center gap-2 rounded-full px-3 py-1.5 text-[11px] font-semibold uppercase tracking-[.24em];background:#6deaed24;color:#6deaed;border:1px solid rgba(109,234,237,.22)}.barber-search{@apply flex items-center gap-3 rounded-[22px] border px-4 py-3;border-color:#ffffff0f;background:#ffffff0a}.barber-step-pill{@apply inline-flex min-w-[96px] items-center justify-center rounded-2xl border px-3 py-3 text-xs font-semibold transition-all;border-color:#ffffff14;background:#ffffff0a;color:#a3a3a3}.barber-step-pill.is-active{background:#6deaed;color:#111;border-color:transparent;box-shadow:0 18px 30px #6deaed38}.barber-step-pill.is-done{color:#fff;border-color:#6deaed3d;background:#6deaed1f}.barber-option-card{@apply rounded-[24px] border border-white/[.08] bg-[#1f1f1f] p-4 text-left text-white transition-all;}.barber-option-card:hover{border-color:#6deaed2e;transform:translateY(-1px)}.barber-option-card.is-active{background:linear-gradient(135deg,#6deaed2e,#6deaed14);border-color:#6deaed52;box-shadow:0 18px 32px #6deaed29}.barber-date-pill{@apply min-w-[88px] rounded-[22px] border px-3 py-3 text-left transition-all;border-color:#ffffff14;background:#ffffff0a;color:#fff}.barber-date-pill.is-active{background:#6deaed;color:#111;border-color:transparent;box-shadow:0 18px 30px #6deaed38}.barber-slot{@apply rounded-2xl border px-3 py-3 text-left transition-all;border-color:#ffffff14;background:#ffffff0a;color:#fff}.barber-slot:hover:not(:disabled){border-color:#6deaed38;transform:translateY(-1px)}.barber-slot.is-active{background:#6deaed;color:#111;border-color:transparent;box-shadow:0 18px 30px #6deaed38}.barber-slot:disabled,.barber-slot.is-disabled{background:#ffffff06;color:#6b7280;border-color:#ffffff0a;cursor:not-allowed}.barber-bottom-nav{@apply mx-auto grid max-w-sm grid-cols-4 gap-2 rounded-full border border-white/10 bg-black/45 p-2 backdrop-blur-2xl;}.barber-bottom-nav-item{@apply flex h-12 items-center justify-center rounded-full text-sm font-semibold text-neutral-400 transition-all;}.barber-bottom-nav-item.is-active{background:#6deaed;color:#111}.mobile-login-screen{@apply min-h-screen;background:#0f172a}.mobile-login-content{@apply mx-auto flex min-h-screen w-full max-w-xl flex-col justify-center px-6;}.mobile-login-header{@apply mb-14 text-center;}.mobile-login-logo{@apply text-5xl font-black tracking-tight;color:#6366f1}.mobile-login-subtitle{@apply mt-2 text-sm font-medium;color:#94a3b8}.mobile-login-welcome{@apply mb-10;}.mobile-login-title{@apply text-4xl font-bold;color:#f8fafc}.mobile-login-description{@apply mt-3 text-base leading-7;color:#94a3b8}.mobile-role-toggle{@apply relative mb-10 grid grid-cols-2 rounded-2xl border p-1.5;border-color:#334155;background:#ffffff0a}.mobile-role-indicator{@apply absolute left-1.5 top-1.5 h-11 w-[calc(50%-.375rem)] rounded-xl transition-transform duration-300;background:#6366f1;box-shadow:0 8px 20px #6366f159}.mobile-role-btn{@apply relative z-10 flex h-11 items-center justify-center gap-2 rounded-xl text-sm font-semibold transition-colors;color:#94a3b8}.mobile-role-btn.is-active{color:#fff}.mobile-auth-input{@apply block w-full rounded-2xl border px-4 py-3 text-sm outline-none transition;border-color:#334155;background:#ffffff08;color:#f8fafc}.mobile-auth-input::placeholder{color:#94a3b8}.mobile-auth-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.mobile-login-submit{@apply inline-flex h-14 w-full items-center justify-center gap-2 rounded-2xl text-lg font-semibold text-white transition disabled:opacity-60;background:#6366f1;box-shadow:0 14px 30px #6366f159}.mobile-login-footer{@apply pt-10 text-center text-xs;color:#64748b}.cal-day{@apply relative flex flex-col items-center rounded-2xl border p-2 min-h-[68px] transition-all duration-150 text-sm cursor-pointer select-none;}.cal-day-empty{@apply border-transparent opacity-0 pointer-events-none;}.cal-day-default{@apply border-slate-100 bg-white/80 text-gray-700 hover:-translate-y-0.5 hover:bg-white hover:shadow-md hover:border-primary-100;}.cal-day-today{@apply border-primary-300 bg-primary-50/80 text-primary-700 font-semibold ring-1 ring-primary-200;}.cal-day-selected{@apply border-transparent text-white shadow-lg shadow-primary-500/30 scale-[1.06] ring-2 ring-primary-300;background:linear-gradient(135deg,#4f46e5,#7c3aed 55%,#9333ea)}.cal-day-out-month{@apply border-transparent bg-transparent text-gray-200 pointer-events-none;}.cal-slot-time{@apply w-14 shrink-0 text-xs font-bold text-slate-400 pt-0.5;}.cal-slot-box{@apply flex-1 rounded-2xl border border-dashed border-slate-200 bg-slate-50/80 p-3 transition-colors;}.cal-slot-box.has-appt{@apply border-primary-100 bg-primary-50/40;}.route-fade{animation:routeFade .22s ease}.recharts-tooltip-wrapper .recharts-default-tooltip{border-radius:12px!important;border:1px solid rgba(226,232,240,.8)!important;box-shadow:0 8px 24px #00000014!important;font-size:12px!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#f1f5f9!important}}@media (max-width: 768px){.surface-card,.page-hero{border-radius:1.25rem;padding:1rem}}html[data-theme=dark] .card,html[data-theme=dark] .surface-card{border-color:#334155cc;background:#0f172acc;box-shadow:0 10px 32px #02061759}html[data-theme=dark] .input{border-color:#334155;background:#0f172ae6;color:#e2e8f0}html[data-theme=dark] .label{color:#cbd5e1}html[data-theme=dark] .btn-secondary{border-color:#334155;background:#0f172acc;color:#e2e8f0}html[data-theme=dark] .premium-shell,html[data-theme=dark] .premium-tile,html[data-theme=dark] .premium-metric,html[data-theme=dark] .premium-outline-card{border-color:#334155cc;background:#0f172ad1;box-shadow:0 18px 40px #02061757}html[data-theme=dark] .premium-kicker,html[data-theme=dark] .premium-chip{border-color:#475569e6;background:#0f172ab8;color:#cbd5e1}html[data-theme=dark] .premium-muted,html[data-theme=dark] .premium-section-subtitle{color:#94a3b8}html[data-theme=dark] .premium-section-title,html[data-theme=dark] .premium-metric-value{color:#f8fafc}@keyframes routeFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes barGrow{0%{width:0}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .32s ease both}.animate-bar-grow{animation:barGrow .6s cubic-bezier(.16,1,.3,1) both}.animate-count-up{animation:countUp .5s cubic-bezier(.16,1,.3,1) both}.animate-float{animation:float 3s ease-in-out infinite}.stagger-1{animation-delay:60ms}.stagger-2{animation-delay:.12s}.stagger-3{animation-delay:.18s}.stagger-4{animation-delay:.24s}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}html[data-theme=dark] .skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%}.embla{overflow:hidden}.embla__container{display:flex}.embla__slide{flex:0 0 100%;min-width:0}
