:root{--primary:#0284c7;--primary-dark:#0369a1;--secondary:#0e7490;--accent:#7c3aed;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--radius-card:14px;--radius-btn:10px;--radius-full:9999px;--shadow-card:0 1px 3px rgba(0,0,0,.05);--shadow-lg:0 10px 30px rgba(0,0,0,.1);--shadow-xl:0 20px 60px rgba(0,0,0,.15);--transition:200ms cubic-bezier(.4,0,.2,1)}html{scroll-behavior:smooth}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.gradient-hero{background:linear-gradient(135deg,#0f172a,#1e3a5f 50%,#0e7490);position:relative;overflow:hidden}.gradient-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 40%,rgba(56,189,248,.12) 0,transparent 60%),radial-gradient(ellipse 60% 50% at 20% 80%,rgba(14,116,144,.1) 0,transparent 50%);pointer-events:none}.gradient-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));transition:opacity var(--transition),box-shadow var(--transition),transform var(--transition);position:relative;overflow:hidden}.gradient-btn:hover{opacity:.92;box-shadow:0 8px 24px rgba(2,132,199,.35);transform:translateY(-1px)}.gradient-btn:active{transform:translateY(0)}.gradient-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);transform:translateX(-100%);transition:transform .5s}.gradient-btn:hover:after{transform:translateX(100%)}.card-hover{transition:transform var(--transition),box-shadow var(--transition)}.card-hover:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.09)}.input-field{width:100%;border:2px solid var(--slate-200);border-radius:var(--radius-btn);padding:10px 14px;font-size:14px;transition:border-color var(--transition),box-shadow var(--transition);outline:none;background:#fff;color:var(--slate-800)}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(2,132,199,.12)}.step-badge{width:28px;height:28px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--secondary))}.slot-available{background:#f0fdf4;border:2px solid #86efac;color:#166534;transition:all var(--transition)}.slot-available:hover{background:var(--primary);box-shadow:0 4px 12px rgba(2,132,199,.3)}.slot-available.selected,.slot-available:hover{border-color:var(--primary);color:#fff;transform:translateY(-2px)}.slot-available.selected{background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 4px 16px rgba(2,132,199,.4)}.slot-taken{background:#fef2f2;border:2px solid #fecaca;color:#b91c1c;cursor:not-allowed;opacity:.5}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease both}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn .25s ease both}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--slate-100) 25%,var(--slate-50) 50%,var(--slate-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 3s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:20px;height:20px;border:2.5px solid var(--slate-200);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple-effect{position:absolute;border-radius:50%;background:rgba(255,255,255,.3);transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:auto;padding:14px 20px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:slideInRight .35s ease both;max-width:380px}.toast.removing{animation:slideOutRight .25s ease both}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.toast-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.toast-info{background:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.back-to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;transform:translateY(20px);transition:all var(--transition);z-index:50;border:none}.back-to-top.visible{opacity:1;transform:translateY(0)}.back-to-top:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(2,132,199,.35)}.particle-dots{position:absolute;inset:0;pointer-events:none;overflow:hidden}.particle-dots span{position:absolute;width:4px;height:4px;background:rgba(255,255,255,.15);border-radius:50%}.navbar-glass{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.5)}.mobile-drawer{position:fixed;top:0;left:0;width:280px;height:100vh;background:#fff;z-index:100;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 30px rgba(0,0,0,.1);display:flex;flex-direction:column}.mobile-drawer.open{transform:translateX(0)}.drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(4px);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s}.drawer-overlay.active{opacity:1;pointer-events:auto}.skeleton{background:linear-gradient(90deg,var(--slate-100) 25%,var(--slate-50) 50%,var(--slate-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.skeleton-text{height:14px;margin-bottom:8px;width:80%}.skeleton-text-sm{height:10px;width:60%}.skeleton-card{height:180px}.floating-label{position:relative}.floating-label input,.floating-label textarea{padding-top:20px;padding-bottom:6px}.floating-label label{position:absolute;top:10px;left:14px;font-size:14px;color:var(--slate-400);transition:all var(--transition);pointer-events:none}.floating-label input:not(:-moz-placeholder)~label,.floating-label textarea:not(:-moz-placeholder)~label{top:4px;font-size:10px;color:var(--primary);font-weight:600}.floating-label input:focus~label,.floating-label input:not(:placeholder-shown)~label,.floating-label textarea:focus~label,.floating-label textarea:not(:placeholder-shown)~label{top:4px;font-size:10px;color:var(--primary);font-weight:600}.floating-label input::-moz-placeholder,.floating-label textarea::-moz-placeholder{color:transparent}.floating-label input::placeholder,.floating-label textarea::placeholder{color:transparent}.count-up{display:inline-block}.empty-state{padding:48px 20px;text-align:center}.empty-state i{font-size:48px;color:var(--slate-300);margin-bottom:16px;display:block}.empty-state h3{font-size:16px;font-weight:700;color:var(--slate-600);margin-bottom:6px}.empty-state p{font-size:13px;color:var(--slate-400)}@media (max-width:639px){.resp-table thead{display:none}.resp-table tbody,.resp-table td,.resp-table tr{display:block;width:100%}.resp-table tr{padding:12px;margin-bottom:8px;background:#fff;border-radius:10px;box-shadow:var(--shadow-card);border:1px solid var(--slate-100)}.resp-table td{padding:4px 0!important;border:none!important;display:flex;justify-content:space-between;align-items:center;font-size:13px}.resp-table td:before{content:attr(data-label);font-weight:600;color:var(--slate-500);font-size:11px;text-transform:uppercase}}@media print{.no-print{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}.progress-step{transition:all var(--transition)}.progress-step.active .step-dot{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 12px rgba(2,132,199,.3)}.progress-step.completed .step-dot{background:#22c55e;color:#fff}.progress-step .step-line{transition:background var(--transition)}.checkmark-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 8px 32px rgba(34,197,94,.3)}.checkmark-circle svg{width:40px;height:40px}.checkmark-circle path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:checkDraw .5s ease .2s forwards}.sidebar-dark{background:var(--slate-900)}.sidebar-dark .nav-item{color:#94a3b8}.sidebar-dark .nav-item:hover{background:rgba(255,255,255,.06);color:#e2e8f0}.sidebar-dark .nav-item.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 4px 14px rgba(2,132,199,.3)}