@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-title:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--bg:#0b0b0c;--bg-elev:#121214;--bg-soft:#18181b;--bg-hover:#202024;--line:#ffffff0f;--line-soft:#ffffff08;--text:#f4f4f5;--muted:#a1a1aa;--accent:#d97706;--accent-2:#f59e0b;--accent-soft:#d977061f;--ok:#10b981;--ok-soft:#10b9811f;--warn:#f59e0b;--warn-soft:#f59e0b1f;--info:#3b82f6;--info-soft:#3b82f61f;--danger:#ef4444;--danger-soft:#ef44441f;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow:0 4px 20px #0000004d;--shadow-accent:0 4px 15px #d9770626;--grad-main:radial-gradient(1200px 600px at 15% -10%, #d9770614, transparent 60%), radial-gradient(900px 500px at 105% 10%, #f59e0b0d, transparent 58%), #0b0b0c;--grad-card:linear-gradient(145deg, #121214, #0d0d0f);--t:.25s cubic-bezier(.4, 0, .2, 1)}:root[data-theme=light]{--bg:#fcfcfc;--bg-elev:#fff;--bg-soft:#f4f4f5;--bg-hover:#e4e4e7;--line:#09090b0f;--line-soft:#09090b08;--text:#09090b;--muted:#71717a;--accent:#b45309;--accent-2:#d97706;--accent-soft:#b4530914;--ok:#059669;--ok-soft:#05966914;--warn:#d97706;--warn-soft:#d9770614;--info:#2563eb;--info-soft:#2563eb14;--danger:#dc2626;--danger-soft:#dc262614;--shadow:0 4px 20px #09090b0d;--shadow-accent:0 4px 15px #b453091a;--grad-main:radial-gradient(1200px 600px at 15% -10%, #b453090a, transparent 60%), radial-gradient(900px 500px at 105% 10%, #d9770608, transparent 58%), #fcfcfc;--grad-card:linear-gradient(145deg, #fff, #fafafa)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--grad-main);-webkit-font-smoothing:antialiased;min-height:100dvh;transition:background var(--t), color var(--t);line-height:1.45}h1,h2,h3,h4,h5,h6,.page-title,.modal-title{font-family:var(--font-title);font-weight:700}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.layout{min-height:100dvh;display:flex}.main-content{flex:1;max-width:1480px;margin-left:270px;padding:1.9rem}@media (width<=768px){.main-content{margin-left:0;padding:1rem}}.sidebar{background:var(--bg-elev);border-right:1px solid var(--line);z-index:100;width:270px;transition:background var(--t), border-color var(--t);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-logo{border-bottom:1px solid var(--line);padding:1.5rem 1.4rem 1rem}.sidebar-logo h1{color:var(--accent);letter-spacing:-.02em;font-size:1.35rem}.sidebar-logo p{color:var(--muted);font-size:.77rem}.sidebar-brand-logo{object-fit:contain;object-position:left center;width:100%;max-width:158px;height:46px;margin-bottom:.35rem;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:.3rem;padding:1rem .75rem;display:flex}.nav-item{color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--t);background:0 0;border:1px solid #0000;align-items:center;gap:.72rem;padding:.65rem .85rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.nav-item .icon{text-align:center;width:18px}.nav-item:hover{border-color:var(--line);background:var(--bg-soft);color:var(--text)}.nav-item.active{border-color:var(--accent-soft);background:linear-gradient(180deg, var(--accent-soft), transparent);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--line);padding:.9rem .75rem}.card,.stat-card,.booking-step,.login-card,.modal{background:var(--grad-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:background var(--t), border-color var(--t), box-shadow var(--t)}.card{padding:1.4rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.stat-card{transition:transform var(--t), border-color var(--t);justify-content:space-between;gap:1rem;padding:1.25rem;display:flex}.stat-card:hover{border-color:#ff7a1a54;transform:translateY(-2px)}.stat-info h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.stat-info .value{margin-top:.32rem;font-size:1.95rem;font-weight:800}.stat-info .sub{color:var(--muted);font-size:.78rem}.stat-icon{opacity:.9;font-size:1.6rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.page-title{letter-spacing:-.02em;font-size:1.55rem}.page-subtitle{color:var(--muted);font-size:.88rem}.btn{cursor:pointer;transition:var(--t);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.62rem 1.16rem;font-size:.87rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{color:#2f1600;background:linear-gradient(135deg, var(--accent-2), var(--accent))}.btn-primary:hover{box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-secondary{background:var(--bg-soft);border-color:var(--line);color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.btn-danger{color:var(--danger);background:var(--danger-soft);border-color:#ef444459}.btn-danger:hover{border-color:var(--danger);color:#ffb0b0;background:#ef44443d}.btn-ghost{color:var(--muted);background:0 0}.btn-ghost:hover{background:var(--bg-soft);color:var(--text)}.btn-sm{padding:.4rem .8rem;font-size:.78rem}.btn-lg{padding:.86rem 1.8rem;font-size:.95rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--muted);font-size:.84rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;color:var(--text);background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-sm);transition:var(--t);padding:.68rem .9rem;font-size:.9rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-textarea{resize:vertical;min-height:92px}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.badge{border-radius:999px;padding:.24rem .58rem;font-size:.73rem;font-weight:700}.badge-pending{color:var(--warn);background:var(--warn-soft)}.badge-confirmed{color:var(--info);background:var(--info-soft)}.badge-completed{color:var(--ok);background:var(--ok-soft)}.badge-cancelled{color:var(--danger);background:var(--danger-soft)}.table-wrapper{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-elev);transition:background var(--t), border-color var(--t);overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{background:var(--bg-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;text-align:left;transition:background var(--t), color var(--t);padding:.82rem 1rem;font-size:.75rem}tbody tr{border-top:1px solid var(--line-soft);transition:background var(--t), border-color var(--t)}tbody tr:hover{background:var(--accent-soft)}tbody td{padding:.82rem 1rem;font-size:.87rem}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90dvh;padding:1.5rem;overflow:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{font-size:1.08rem}.booking-page{background:var(--grad-main);min-height:100dvh}.booking-container{max-width:680px;margin:0 auto;padding:1.35rem 1rem 2rem}.booking-header{text-align:center;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ff7a1a33,#ff7a1a0f 45%,#0f0f0f 85%);border:1px solid #ff7a1a40;margin-bottom:1.4rem;padding:2rem 1.2rem}.booking-header h1{color:#ffd2ad;font-size:clamp(1.8rem,3.5vw,2.4rem)}.booking-header p{color:#ffbe8f;margin-top:.22rem;font-size:.9rem}.booking-brand{flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem;display:flex}.booking-brand img{object-fit:contain;border-radius:var(--radius-sm);background:#0003;border:1px solid #ff7a1a47;width:68px;height:68px}.booking-brand-icon{color:var(--accent);font-size:2rem;line-height:1}.booking-brand h1{color:#ffd4b2;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:900;line-height:1.1}.step-indicator{max-width:650px;margin:0 auto 2.5rem;display:flex}.step{text-align:center;flex:1;position:relative}.step:after{content:"";width:100%;height:3px;transition:var(--t);z-index:1;background:#ffffff0d;position:absolute;top:20px;left:50%}.step:last-child:after{display:none}.step.done:after{background:var(--accent)}.step.active:after{background:linear-gradient(90deg, var(--accent) 50%, #ffffff0d 50%)}.step-circle{width:40px;height:40px;color:var(--muted);z-index:2;transition:var(--t);background:#141414;border:2px solid #ffffff14;border-radius:999px;place-items:center;margin:0 auto;font-size:.95rem;font-weight:800;display:grid;position:relative;box-shadow:0 4px 10px #0000004d}.step.active .step-circle{border-color:var(--accent);background:var(--bg-elev);color:var(--accent);transform:scale(1.1);box-shadow:0 0 15px #ff7a1a66}.step.done .step-circle{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 10px #ff7a1a4d}.step-label{color:var(--muted);letter-spacing:.02em;transition:var(--t);margin-top:.6rem;font-size:.75rem;font-weight:600}.step.active .step-label{color:var(--text)}.step.done .step-label{color:#ffffffd9}.booking-step{padding:1.45rem}.booking-step h2{margin-bottom:1rem;font-size:1.12rem}.service-selected-footer{border-radius:var(--radius);box-shadow:var(--shadow-accent);background:#151515;border:1px solid #ff7a1a66;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;display:flex}.service-selected-footer .count{color:#ffecd6;font-size:1.05rem;font-weight:800}.service-selected-footer .duration{color:var(--muted);margin-top:.15rem;font-size:.85rem}.service-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem;display:grid}.service-card{border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;transition:var(--t);background:#111;padding:1rem}.service-card:hover,.service-card.selected{background:linear-gradient(#ff7a1a2e,#ff7a1a0d);border-color:#ff7a1aa6}.service-card .name{font-weight:700}.service-card .info{color:var(--muted);justify-content:space-between;margin-top:.38rem;font-size:.82rem;display:flex}.service-card .price{color:#ffc28d;font-weight:800}.service-card .desc{color:var(--muted);margin-top:.45rem;font-size:.75rem}.barber-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.barber-card{border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;transition:var(--t);background:#111;align-items:center;gap:1rem;padding:1.25rem;display:flex}.barber-card:hover,.barber-card.selected{background:linear-gradient(#ff7a1a2e,#ff7a1a0d);border-color:#ff7a1aa6}.barber-card .avatar{border:1px solid var(--line);background:#1c1c1c;border-radius:999px;place-items:center;width:48px;height:48px;font-size:1.2rem;display:grid}.barber-card.selected .avatar{background:#ff7a1a1a;border-color:#ff7a1aa6}.barber-card .info .name{color:var(--text);font-size:1.05rem;font-weight:700}.barber-card .info .status{color:var(--ok);margin-top:.2rem;font-size:.8rem}.date-grid{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.date-card{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:var(--t);background:#101010;flex-direction:column;justify-content:center;align-items:center;min-height:86px;display:flex}.date-card:hover{border-color:#ff7a1a99}.date-card.selected{background:linear-gradient(145deg, var(--accent-2), var(--accent));color:#2b1300;border-color:#0000}.date-card .dow,.date-card .month{color:var(--muted);font-size:.66rem}.date-card.selected .dow,.date-card.selected .month{color:#2b1300c2}.date-card .day{font-size:1.05rem;font-weight:800}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.45rem;display:grid}.slot-card{border:1px solid var(--line);text-align:center;cursor:pointer;transition:var(--t);background:#101010;border-radius:999px;padding:.58rem;font-weight:700}.slot-card:hover,.slot-card.selected{background:linear-gradient(145deg,#ff9b4a47,#ff7a1a33);border-color:#ff7a1ac7}.confirm-summary{border:1px solid var(--line);border-radius:var(--radius);background:#0f0f0f;margin-bottom:1rem;overflow:hidden}.summary-row{border-top:1px solid var(--line-soft);justify-content:space-between;gap:.8rem;padding:.72rem .9rem;display:flex}.summary-row:first-child{border-top:0}.summary-row .label{color:var(--muted)}.summary-row .value{font-weight:700}.login-page{place-items:center;min-height:100dvh;padding:1rem;display:grid}.login-card{border-radius:var(--radius-lg);width:100%;max-width:430px;padding:2rem 1.6rem}.login-card .logo{text-align:center;margin-bottom:1.4rem}.login-card .logo h1{color:#ffd4b2;font-size:1.85rem}.login-card .logo p{color:var(--muted)}.spinner{border:3px solid #ffffff29;border-top-color:var(--accent);border-radius:999px;width:2.1rem;height:2.1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{place-items:center;min-height:120px;display:grid}.empty-state{text-align:center;color:var(--muted);padding:2rem 1rem}.empty-state .icon{opacity:.5;margin-bottom:.55rem;font-size:2.1rem}.alert{border-radius:var(--radius-sm);border:1px solid #0000;margin-bottom:1rem;padding:.72rem .9rem;font-size:.87rem;font-weight:600}.alert-error{color:var(--danger);background:var(--danger-soft);border-color:#f0525240}.alert-success{color:var(--ok);background:var(--ok-soft);border-color:#26c16f4d}.alert-warning{color:var(--warn);background:var(--warn-soft);border-color:#f59e0b4d}.divider{background:var(--line);height:1px;margin:1.2rem 0}.section-title{margin-bottom:.85rem;font-size:1rem}.schedule-month-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);align-items:start;gap:1rem;display:grid}.schedule-calendar-header{color:var(--muted);text-align:center;text-transform:uppercase;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;margin-bottom:.55rem;font-size:.78rem;font-weight:800;display:grid}.schedule-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.schedule-calendar-blank,.schedule-day-button{border-radius:var(--radius-sm);min-height:92px}.schedule-day-button{border:1px solid var(--line);color:var(--text);cursor:pointer;text-align:left;transition:var(--t);background:#101010;flex-direction:column;justify-content:space-between;padding:.65rem;display:flex}.schedule-day-button:hover{background:var(--bg-hover);border-color:#ff7a1a8c}.schedule-day-button.selected{background:linear-gradient(#ff7a1a40,#ff7a1a1a);border-color:#ff7a1abf;box-shadow:inset 0 0 0 1px #ff7a1a1a}.schedule-day-button span{font-size:1rem;font-weight:900}.schedule-day-button small{color:#ffd7b3;font-size:.68rem;font-weight:800;line-height:1.2}.schedule-day-editor{border:1px solid var(--line);border-radius:var(--radius-sm);background:#101010;padding:.85rem}.schedule-day-editor-title{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}@media (width<=980px){.schedule-month-layout{grid-template-columns:1fr}}@media (width<=640px){.schedule-calendar-header,.schedule-calendar-grid{gap:.25rem}.schedule-calendar-blank,.schedule-day-button{min-height:70px}.schedule-day-button{padding:.45rem}.schedule-day-button small{font-size:.58rem}}.appointments-grid{gap:.7rem;display:grid}.chart-wrapper{width:100%;height:220px}.appointment-card{border:1px solid var(--line);border-radius:var(--radius);background:#121212;align-items:center;gap:.9rem;padding:.9rem;display:flex}.appointment-card .time{color:#ffc392;min-width:56px;font-size:1.1rem;font-weight:800}.appointment-card .info{flex:1}.appointment-card .info h4{font-size:.88rem}.appointment-card .info p{color:var(--muted);font-size:.78rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.w-full{width:100%}.text-muted{color:var(--muted)}.text-center{text-align:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.configuracoes-card{max-width:820px}.configuracoes-grid{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.configuracoes-logo-panel{flex-direction:column;align-items:flex-start;gap:.9rem;display:flex}.configuracoes-logo-preview{border-radius:var(--radius);border:1px solid var(--line);width:190px;height:190px;color:var(--muted);background:#101010;place-items:center;font-weight:800;display:grid;overflow:hidden}.configuracoes-logo-preview img{object-fit:contain;width:100%;height:100%;padding:.8rem}.configuracoes-form{flex-direction:column;gap:1.2rem;display:flex}.configuracoes-actions{justify-content:flex-end;margin-top:.4rem;display:flex}.whatsapp-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev);padding:1rem}.whatsapp-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.whatsapp-status{white-space:nowrap;border-radius:999px;padding:.32rem .72rem;font-size:.75rem;font-weight:800}.whatsapp-status.connected{color:var(--ok);background:var(--ok-soft)}.whatsapp-status.idle{color:var(--warn);background:var(--warn-soft)}.whatsapp-error{color:var(--danger);margin-top:.35rem;font-size:.8rem}.whatsapp-actions{flex-wrap:wrap;gap:.6rem;display:flex}.whatsapp-qr{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:min(240px,100%);margin-top:1rem;padding:.8rem}.whatsapp-qr img{width:100%;display:block}.whatsapp-test{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;margin-top:1rem;display:grid}@media (width<=720px){.configuracoes-grid{grid-template-columns:1fr}.configuracoes-logo-preview{width:100%;max-width:220px}.configuracoes-actions{justify-content:stretch}.configuracoes-actions .btn{width:100%}.whatsapp-header{flex-direction:column}.whatsapp-test{grid-template-columns:1fr}.whatsapp-actions .btn,.whatsapp-test .btn{width:100%}}
