:root{--color-primary:#009179;--color-primary-dark:#00735f;--color-primary-light:#00d0b2;--color-primary-subtle:rgba(0,145,121,0.08);--color-secondary:#035a55;--color-accent:#00a78c;--color-brand-lime:#9ce341;--color-brand-mint:#65f091;--color-accent-subtle:rgba(0,167,140,0.08);--color-success:#059669;--color-success-subtle:rgba(5,150,105,0.1);--color-warning:#d97706;--color-warning-subtle:rgba(217,119,6,0.1);--color-error:#dc2626;--color-error-subtle:rgba(220,38,38,0.1);--color-info:#2563eb;--color-info-subtle:rgba(37,99,235,0.1);--color-bg:#f5faf8;--color-bg-secondary:#ecf5f2;--color-surface:#ffffff;--color-surface-elevated:#ffffff;--color-border:#dde9e5;--color-border-strong:#c3d6d0;--color-text-primary:#0b2a33;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#ffffff;--sidebar-width:260px;--sidebar-width-collapsed:76px;--sidebar-bg:#022a36;--sidebar-text:#a3c4bf;--sidebar-text-active:#ffffff;--sidebar-accent:#00d0b2;--sidebar-hover:rgba(255,255,255,0.06);--sidebar-active-bg:rgba(0,208,178,0.12);--channel-whatsapp:#16a34a;--channel-whatsapp-bg:#dcfce7;--channel-instagram:#d946ef;--channel-instagram-bg:#fdf2f8;--channel-messenger:#2563eb;--channel-messenger-bg:#eff6ff;--channel-website:#009179;--channel-website-bg:#effbf8;--channel-email:#64748b;--channel-email-bg:#f8fafc;--channel-phone:#f59e0b;--channel-phone-bg:#fffbeb;--shadow-xs:0 1px 2px rgba(15,23,42,0.04);--shadow-sm:0 1px 3px rgba(15,23,42,0.08),0 1px 2px rgba(15,23,42,0.04);--shadow-md:0 4px 6px -1px rgba(15,23,42,0.07),0 2px 4px -1px rgba(15,23,42,0.04);--shadow-lg:0 10px 15px -3px rgba(15,23,42,0.08),0 4px 6px -2px rgba(15,23,42,0.04);--shadow-xl:0 20px 25px -5px rgba(15,23,42,0.1),0 10px 10px -5px rgba(15,23,42,0.04);--shadow-glow:0 0 24px rgba(0,145,121,0.18);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1);--dur-instant:100ms;--dur-fast:160ms;--dur-base:220ms;--dur-slow:320ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--font-inter:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-outfit:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.dark,[data-theme=dark]{--color-bg:#021f28;--color-bg-secondary:#06262e;--color-surface:#0a2f37;--color-surface-elevated:#0e3740;--color-border:#12404a;--color-border-strong:#1b505a;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--sidebar-bg:#011c24}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-inter);font-size:.875rem;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.skip-link{position:absolute;top:-100px;left:16px;background:var(--color-primary);color:#ffffff;padding:10px 16px;border-radius:var(--radius-md);font-weight:600;z-index:9999;text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:16px}h1,h2,h3,h4,h5,h6{font-family:var(--font-outfit);font-weight:600;line-height:1.25;color:var(--color-text-primary);letter-spacing:-.015em}.dashboard-layout{display:flex;min-height:100vh;background:var(--color-bg)}.main-content{margin-left:var(--sidebar-width);flex:1 1;min-width:0;display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-base)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-width-collapsed)}.page-content{flex:1 1;padding:28px 32px;max-width:1400px;width:100%;margin:0 auto}@media (max-width:1024px){.page-content{padding:20px 24px}}@media (max-width:768px){.main-content{margin-left:0!important}.page-content{padding:16px}}.top-header{height:60px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-nav-toggle{display:none;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px;cursor:pointer;color:var(--color-text-primary)}@media (max-width:768px){.mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center}}.mobile-overlay{display:none}@media (max-width:768px){.mobile-overlay{display:block;position:fixed;inset:0;background:rgba(2,42,54,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.mobile-overlay.active{opacity:1;pointer-events:auto}.sidebar{transform:translateX(-100%);z-index:100}.sidebar.mobile-open{transform:translateX(0)}}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:50;transition:width var(--transition-base),transform var(--transition-base);border-right:1px solid rgba(255,255,255,.07)}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-logo-mark{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0;box-shadow:0 4px 12px rgba(0,145,121,.3)}.sidebar-logo-mark,.sidebar-logo-text{font-weight:700;color:#ffffff;font-family:var(--font-outfit)}.sidebar-logo-text{font-size:1.0625rem;letter-spacing:-.02em;line-height:1.2}.sidebar-logo-text span{display:block;font-size:.65rem;font-weight:500;color:var(--sidebar-text);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.sidebar-nav{flex:1 1;padding:16px 12px;overflow-y:auto;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section{margin-bottom:20px}.sidebar-section-label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(148,163,184,.6);padding:8px 12px 6px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius-md);color:var(--sidebar-text);text-decoration:none;font-size:.875rem;font-weight:500;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);cursor:pointer;border:none;background:none;width:100%;text-align:left;margin-bottom:2px;position:relative}.sidebar-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-accent);font-weight:600}.sidebar-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--sidebar-accent);border-radius:0 4px 4px 0}.sidebar-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.05rem}.sidebar-item-badge{margin-left:auto;background:var(--color-primary);color:#ffffff;font-size:.6875rem;font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.sidebar-footer{padding:14px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-md);text-decoration:none;transition:background var(--transition-fast)}.sidebar-user:hover{background:var(--sidebar-hover)}.sidebar-avatar{width:34px;height:34px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem;color:#ffffff;flex-shrink:0}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:#ffffff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6875rem;color:var(--sidebar-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-inter);font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin,.btn-spinner{animation:spin .8s linear infinite!important;display:inline-block;flex-shrink:0}.btn-sm{padding:7px 12px;font-size:.75rem;height:32px}.btn-md{padding:9px 16px;font-size:.875rem;height:38px}.btn-lg{padding:12px 22px;font-size:.9375rem;height:44px;border-radius:var(--radius-lg)}.btn-primary{background:var(--color-primary);color:#ffffff;border-color:var(--color-primary);box-shadow:0 1px 2px rgba(0,145,121,.2)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 4px 12px rgba(0,145,121,.25);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-text-tertiary)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary-subtle)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);color:#ffffff;border-color:var(--color-error)}.btn-danger:hover{background:#b91c1c;box-shadow:0 4px 12px rgba(220,38,38,.25)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.form-label{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;justify-content:space-between}.form-required{color:var(--color-error);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;padding:9px 13px;font-size:.875rem;font-family:var(--font-inter);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:not-allowed}.form-input.has-error,.form-select.has-error{border-color:var(--color-error)}.form-input.has-error:focus{box-shadow:0 0 0 3px var(--color-error-subtle)}.form-error-msg{font-size:.75rem;color:var(--color-error);display:flex;align-items:center;gap:4px}.form-hint{font-size:.75rem;color:var(--color-text-tertiary)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{border-color:var(--color-border-strong)}.card-elevated{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.card-title{font-family:var(--font-outfit);font-size:1.0625rem;font-weight:600;color:var(--color-text-primary)}.card-description{font-size:.8125rem;color:var(--color-text-secondary);margin-top:2px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap}.badge,.badge-dot{border-radius:var(--radius-full)}.badge-dot{width:6px;height:6px}.badge-confirmed{background:var(--color-success-subtle);color:var(--color-success)}.badge-confirmed .badge-dot{background:var(--color-success)}.badge-pending{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-pending .badge-dot{background:var(--color-warning)}.badge-canceled{background:var(--color-error-subtle);color:var(--color-error)}.badge-canceled .badge-dot{background:var(--color-error)}.badge-completed{background:rgba(3,90,85,.1);color:var(--color-secondary)}.badge-completed .badge-dot{background:var(--color-secondary)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-info .badge-dot{background:var(--color-info)}.badge-neutral{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.badge-neutral .badge-dot{background:var(--color-text-tertiary)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface)}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.table th{background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;white-space:nowrap}.table td,.table th{border-bottom:1px solid var(--color-border)}.table td{padding:14px 16px;color:var(--color-text-primary);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:rgba(0,145,121,.02)}.modal-backdrop{position:fixed;inset:0;background:rgba(2,42,54,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modal-fade-in .18s ease-out}.modal-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:540px;overflow:hidden;animation:modal-scale-in .2s cubic-bezier(.16,1,.3,1)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-outfit);font-size:1.125rem;font-weight:700}.modal-close-btn{background:transparent;border:none;font-size:1.25rem;color:var(--color-text-tertiary);cursor:pointer;padding:4px;line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.modal-close-btn:hover{color:var(--color-text-primary)}.modal-body{padding:24px;max-height:70vh;overflow-y:auto}.modal-footer{padding:16px 24px;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:12px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.empty-state{flex-direction:column;padding:56px 24px;text-align:center}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:60px;height:60px;background:var(--color-bg-secondary);border-radius:var(--radius-xl);font-size:1.75rem;margin-bottom:16px;color:var(--color-text-tertiary)}.empty-state-title{font-family:var(--font-outfit);font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.empty-state-description{font-size:.875rem;color:var(--color-text-secondary);max-width:400px;margin-bottom:20px}.skeleton-box{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg-secondary) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-container{position:fixed;bottom:24px;right:24px;z-index:2000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:.875rem;font-weight:500;color:var(--color-text-primary);animation:toast-in .22s cubic-bezier(.16,1,.3,1);min-width:280px;max-width:420px}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-error)}.toast-info{border-left:4px solid var(--color-info)}.toast-warning{border-left:4px solid var(--color-warning)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.w-full{width:100%}.h-full{height:100%}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}@media (max-width:1024px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.animate-fade-in{animation:fade-in .22s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes d-fade-up{0%{opacity:0;transform:translateY(8px)}}@keyframes d-fade-down{0%{opacity:0;transform:translateY(-6px)}}@keyframes d-scale-in{0%{opacity:0;transform:scale(.96)}}@keyframes d-fade{0%{opacity:0}}.d-enter{animation:d-fade-up var(--dur-base) var(--ease-out) both}.d-enter-down{animation:d-fade-down var(--dur-base) var(--ease-out) both}.d-enter-scale{animation:d-scale-in var(--dur-base) var(--ease-out) both}.d-enter-fade{animation:d-fade var(--dur-base) var(--ease-out) both}.d-stagger>*{animation:d-fade-up var(--dur-base) var(--ease-out) both;animation-delay:calc(min(var(--i, 0), 8) * 35ms)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.animate-spin{animation-duration:.8s!important;animation-iteration-count:infinite!important}}