*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #EC6B2E;--brand-hover: #c8521a;--brand-light: #fff4ef;--bg: #f9fafb;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--text-2: #6b7280;--text-3: #9ca3af;--green: #16a34a;--green-light: #dcfce7;--yellow: #d97706;--yellow-light:#fef3c7;--red: #dc2626;--red-light: #fee2e2;--blue: #2563eb;--blue-light: #dbeafe;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 16px rgba(0,0,0,.08);--shadow-sm: 0 1px 4px rgba(0,0,0,.06);--transition: .2s ease;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100dvh}#app{display:flex;flex-direction:column;min-height:100dvh}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm)}.header-brand{display:flex;align-items:center;gap:10px}.header-logo{height:40px;width:auto;max-width:160px;object-fit:contain}.header-nome{font-size:1.1rem;font-weight:700;color:var(--brand);letter-spacing:-.02em}.app-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:24px 16px 48px}.page-loading{display:flex;align-items:center;justify-content:center;height:50vh}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:24px;height:24px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.page{width:100%;max-width:520px;animation:fadeUp .25s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-header,.panel-header{margin-bottom:24px;text-align:center}.page-header h2,.panel-header h2{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:4px}.page-subtitle,.panel-subtitle{font-size:.875rem;color:var(--text-2)}.lojas-grid{display:flex;flex-direction:column;gap:12px}.loja-card{display:flex;align-items:center;gap:14px;padding:18px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;transition:all var(--transition);box-shadow:var(--shadow-sm)}.loja-card:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}.loja-card-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--brand-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--brand)}.loja-card-info{flex:1;display:flex;flex-direction:column;gap:2px}.loja-card-info strong{font-size:1rem;font-weight:600;color:var(--text)}.loja-address{font-size:.8rem;color:var(--text-2)}.loja-arrow{color:var(--text-3);font-size:22px;flex-shrink:0}.empty-lojas{text-align:center;padding:48px 24px;color:var(--text-2);display:flex;flex-direction:column;align-items:center;gap:12px}.empty-lojas .material-symbols-outlined{font-size:48px;color:var(--text-3)}.wizard-progress-bar{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px;width:100%;max-width:520px}.wpb-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.wpb-circle{width:32px;height:32px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text-3);transition:all var(--transition)}.wpb-step span{font-size:.7rem;color:var(--text-3);font-weight:500;transition:color var(--transition)}.wpb-step.active .wpb-circle{background:var(--brand);border-color:var(--brand);color:#fff}.wpb-step.active span{color:var(--brand);font-weight:600}.wpb-step.completed .wpb-circle{background:var(--green-light);border-color:var(--green);color:var(--green);font-size:0}.wpb-step.completed .wpb-circle:after{content:"✓";font-size:.85rem}.wpb-connector{flex:1;height:2px;background:var(--border);margin-bottom:20px;max-width:48px;transition:background var(--transition)}.wizard-panels{width:100%;max-width:520px;position:relative}.wizard-panel{display:none;animation:fadeUp .22s ease both}.wizard-panel.active{display:block}.calendar-wrapper{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cal-mes-ano{font-size:1rem;font-weight:600;color:var(--text);text-transform:capitalize}.cal-nav{background:none;border:none;cursor:pointer;color:var(--brand);padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:background var(--transition)}.cal-nav:hover{background:var(--brand-light)}.cal-dias-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.cal-dow{text-align:center;font-size:.7rem;font-weight:600;color:var(--text-3);padding:4px 0;text-transform:uppercase}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:var(--radius-sm);cursor:default;position:relative;transition:all var(--transition)}.cal-empty{visibility:hidden}.cal-past{color:var(--text-3);opacity:.5}.cal-blocked{color:var(--text-3);text-decoration:line-through;opacity:.4}.cal-available{cursor:pointer;color:var(--text);border:1.5px solid var(--border);font-weight:500}.cal-available:hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.cal-available:after{content:"";position:absolute;bottom:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--brand);opacity:.7}.cal-today{font-weight:700}.cal-selected{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important}.cal-selected:after{background:#fff}.cal-full{color:var(--text-3);opacity:.45;cursor:not-allowed;border:1.5px dashed var(--border);position:relative}.cal-full:after{content:"";position:absolute;bottom:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--red);opacity:.7}.avail-message{background:var(--surface);border:1.5px solid var(--border);border-left:3px solid var(--red);border-radius:var(--radius);padding:16px;margin-top:16px;animation:fadeUp .22s ease both}.avail-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.avail-header .material-symbols-outlined{font-size:22px;color:var(--red);flex-shrink:0;margin-top:2px}.avail-header strong{font-size:.95rem;color:var(--text);display:block;margin-bottom:4px}.avail-header p{font-size:.85rem;color:var(--text-2);line-height:1.5}.avail-alts-label{font-size:.8rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.avail-alts-grid{display:flex;flex-direction:column;gap:6px}.avail-alt-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--brand-light);border:1.5px solid var(--brand);border-radius:var(--radius-sm);color:var(--brand);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-align:left}.avail-alt-btn:hover{background:var(--brand);color:#fff}.avail-alt-btn .material-symbols-outlined{font-size:16px}.avail-no-alts{font-size:.85rem;color:var(--text-2);font-style:italic}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-slot{padding:16px 8px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;text-align:center;transition:all var(--transition);color:var(--text)}.time-slot:hover{border-color:var(--brand);background:var(--brand-light);color:var(--brand)}.time-slot.selected{background:var(--brand);border-color:var(--brand);color:#fff}.time-slot.occupied{background:var(--bg);border-color:var(--border);color:var(--text-3);cursor:not-allowed;text-decoration:line-through;opacity:.55}.time-slot-loading{opacity:.5;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.9}}.spin{animation:spin .8s linear infinite}.empty-slots{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;color:var(--text-2);text-align:center}.empty-slots .material-symbols-outlined{font-size:40px;color:var(--text-3)}.people-selector{display:flex;align-items:center;justify-content:center;gap:36px;padding:48px 0}.people-btn{width:56px;height:56px;border-radius:50%;border:2px solid var(--brand);background:var(--surface);color:var(--brand);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition)}.people-btn:hover{background:var(--brand);color:#fff}.people-display{text-align:center;min-width:80px}.people-display span{display:block;font-size:3.5rem;font-weight:700;color:var(--brand);line-height:1;margin-bottom:4px}.people-display small{font-size:.85rem;color:var(--text-2)}.pending-notice{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:var(--yellow-light);border-left:3px solid var(--yellow);border-radius:var(--radius-sm);font-size:.875rem;color:#92400e;line-height:1.5}.pending-notice .material-symbols-outlined{font-size:18px;flex-shrink:0;margin-top:1px;color:var(--yellow)}.booking-summary{background:var(--brand-light);border:1.5px solid var(--brand);border-radius:var(--radius);padding:16px;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.summary-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text)}.summary-item .material-symbols-outlined{font-size:18px;color:var(--brand);flex-shrink:0}.customer-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.875rem;font-weight:600;color:var(--text)}.form-group input,.form-group textarea{padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font);color:var(--text);background:var(--surface);transition:border-color var(--transition);resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #ec6b2e1f}.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;width:100%;max-width:520px}.btn-primary{display:inline-flex;align-items:center;gap:6px;padding:13px 24px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:13px 20px;background:var(--surface);color:var(--text-2);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{border-color:var(--text-2);color:var(--text)}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:13px 20px;background:transparent;color:var(--brand);border:1.5px solid var(--brand);border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-outline:hover{background:var(--brand-light)}.btn-full{width:100%;justify-content:center}.page-confirmacao{text-align:center;padding-top:8px}.confirm-icon{margin-bottom:16px}.confirm-icon .material-symbols-outlined{font-size:64px}.confirm-success{color:var(--green)}.confirm-pending{color:var(--yellow)}.page-confirmacao h2{font-size:1.5rem;font-weight:700;margin-bottom:6px}.confirm-subtitle{color:var(--text-2);margin-bottom:24px}.confirm-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px;text-align:left;box-shadow:var(--shadow-sm)}.confirm-code{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--border);margin-bottom:14px}.confirm-code-label{font-size:.8rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em}.confirm-code-value{font-size:1.1rem;font-weight:700;font-family:monospace;letter-spacing:3px;color:var(--brand);background:var(--brand-light);padding:4px 10px;border-radius:6px}.confirm-details{display:flex;flex-direction:column;gap:10px}.confirm-detail-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text)}.confirm-detail-item .material-symbols-outlined{font-size:18px;color:var(--brand);flex-shrink:0}.confirm-hint{font-size:.8rem;color:var(--text-2);margin-bottom:24px;line-height:1.5}.confirm-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.consulta-form{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.consulta-loading{display:flex;justify-content:center;padding:32px}.consulta-nao-encontrado{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;text-align:center;color:var(--text-2)}.consulta-nao-encontrado .material-symbols-outlined{font-size:40px;color:var(--text-3)}.consulta-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.consulta-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.consulta-codigo{font-size:1rem;font-weight:700;font-family:monospace;letter-spacing:2px;color:var(--brand)}.consulta-detalhes{display:flex;flex-direction:column;gap:10px}.consulta-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text)}.consulta-item .material-symbols-outlined{font-size:18px;color:var(--brand);flex-shrink:0}.reserva-status{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px}.status-confirmed{background:var(--green-light);color:var(--green)}.status-pending{background:var(--yellow-light);color:var(--yellow)}.status-cancelled{background:var(--border);color:var(--text-2)}.status-rejected{background:var(--red-light);color:var(--red)}.page-erro{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.erro-icon{font-size:56px;color:var(--text-3)}.page-erro h2{font-size:1.3rem;font-weight:700}.page-erro p{color:var(--text-2);max-width:320px;line-height:1.6}.error-msg{color:var(--red);font-size:.875rem;text-align:center;padding:12px}.pub-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(16px);background:var(--text);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;z-index:9999;opacity:0;transition:all .25s ease;box-shadow:var(--shadow);white-space:nowrap;max-width:calc(100vw - 48px);text-align:center}.pub-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.pub-toast-warning{background:var(--yellow);color:#78350f}.pub-toast-error{background:var(--red);color:#fff}.pub-toast-success{background:var(--green);color:#fff}@media(max-width:480px){.app-main{padding:16px 12px 40px}.time-slots-grid{grid-template-columns:repeat(2,1fr)}.people-selector{gap:24px;padding:32px 0}.people-display span{font-size:2.8rem}.wizard-progress-bar{gap:0}.wpb-connector{max-width:28px}.confirm-actions{flex-direction:column}.confirm-actions button{width:100%;justify-content:center}.wizard-nav{gap:8px}.btn-primary,.btn-secondary{padding:12px 16px;font-size:.875rem}}
