.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shine-effect{position:relative;overflow:hidden}.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.shine-effect:hover:before{left:100%}.gradient-purple-indigo{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.gradient-blue-indigo{background:linear-gradient(135deg,#3b82f6,#6366f1)}.gradient-emerald-green{background:linear-gradient(135deg,#10b981,#22c55e)}.gradient-amber-orange{background:linear-gradient(135deg,#f59e0b,#f97316)}.shadow-soft{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-medium{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-large{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .5s cubic-bezier(.68,-.55,.265,1.55)}.btn-hover{transition:all .2s ease-in-out}.btn-hover:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.focus-ring{outline:none;ring:2px;ring-color:#8b5cf6;ring-offset:2px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #8b5cf680}50%{box-shadow:0 0 20px #8b5cf6cc}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.loading-shimmer{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass{background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.glass-dark{background:#00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.quotation-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.quotation-modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:64rem;width:100%;max-height:90vh;overflow-y:auto}.quotation-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.quotation-modal-body{padding:1.5rem}.quotation-modal{z-index:9999!important}.quotation-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;transition:all .2s ease-in-out}.quotation-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.quotation-btn-primary{background-color:#f97316;color:#fff;padding:.5rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .2s ease-in-out;border:none;cursor:pointer}.quotation-btn-primary:hover{background-color:#ea580c;transform:translateY(-1px)}.quotation-btn-secondary{background-color:#f3f4f6;color:#374151;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;transition:all .2s ease-in-out;border:none;cursor:pointer}.quotation-btn-secondary:hover{background-color:#e5e7eb}@media (max-width: 768px){.quotation-modal-content{margin:1rem;max-width:calc(100vw - 2rem)}.quotation-modal-body,.quotation-modal-header{padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideIn{animation:slideIn .3s ease-out}.btn-primary{background-color:#ea580c;color:#fff;padding:1.5rem;border-radius:.75rem;transition:all .2s ease-in-out;font-weight:500;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.btn-primary:hover{background-color:#c2410c;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-2px)}.btn-secondary{padding:1.5rem;color:#374151;background-color:#f3f4f6;border-radius:.75rem;transition:all .2s ease-in-out;font-weight:500}.btn-secondary:hover{background-color:#e5e7eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.form-input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.75rem;transition:all .2s ease-in-out;background-color:#fff}.form-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a;transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.product-card{background:linear-gradient(to right,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d;transition:all .2s ease-in-out}.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.stepper-step{transition:all .3s ease-in-out}.stepper-step:hover{transform:scale(1.1)}.icon-hover{transition:all .2s ease-in-out}.icon-hover:hover{transform:scale(1.1)}.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.cost-summary{background:linear-gradient(to bottom right,#fff7ed,#fed7aa);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d;transition:all .2s ease-in-out}.cost-summary:hover{transform:translateY(-4px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.action-button{transition:all .2s ease-in-out;transform:scale(1)}.action-button:hover{transform:scale(1.05)}.error-message{display:flex;align-items:center;color:#ef4444;font-size:.875rem;margin-top:.25rem;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.loading-spinner{animation:spin 1s linear infinite;border-radius:50%;border-bottom:2px solid #f97316}.modal-container{position:fixed;inset:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content{background-color:#fff;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;max-width:64rem;width:100%;max-height:95vh;overflow:hidden}.modal-header{background:linear-gradient(to right,#f97316,#ea580c);color:#fff;padding:1.5rem}.modal-body{padding:2rem;overflow-y:auto;max-height:calc(95vh - 200px)}.navigation-buttons{display:flex;justify-content:space-between;padding-top:1.5rem;border-top:1px solid #e5e7eb}.required-field{position:relative}.required-field:after{content:"*";position:absolute;top:-4px;right:-8px;color:#ef4444;font-size:1.125rem}.tooltip:hover:before{content:attr(data-tooltip);position:absolute;top:-40px;left:50%;transform:translate(-50%);background-color:#111827;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;z-index:10}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#f97316 #e5e7eb}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background-color:#f3f4f6;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#f97316;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#ea580c}.success-state{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.warning-state{background-color:#fffbeb;border-color:#fde68a;color:#92400e}.error-state{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.info-state{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.price-input{position:relative}.price-input:before{content:"$";position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.realtime-subtotal{background-color:#eff6ff;border-radius:.5rem;padding:.75rem;border:1px solid #bfdbfe}.realtime-validation{transition:all .2s ease-in-out}.realtime-validation.valid{border-color:#22c55e;background-color:#f0fdf4}.realtime-validation.invalid{border-color:#ef4444;background-color:#fef2f2}.stepper-progress{transition:all .3s ease-out}.close-button{padding:.5rem;border-radius:50%;transition:all .2s ease-in-out}.close-button:hover{background-color:#fff3;transform:rotate(90deg)}.add-item-button{background-color:#ea580c;color:#fff;padding:1.5rem;border-radius:.75rem;transition:all .2s ease-in-out;display:flex;align-items:center;gap:.5rem;margin:0 auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.add-item-button:hover{background-color:#c2410c;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:scale(1.05)}.delete-button{padding:.5rem;color:#ef4444;border-radius:.5rem;transition:all .2s ease-in-out}.delete-button:hover{background-color:#fef2f2;transform:scale(1.1)}.generate-button{padding:.75rem 2rem;background-color:#22c55e;color:#fff;border-radius:.75rem;transition:all .2s ease-in-out;font-weight:500;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;align-items:center;gap:.5rem;transform:scale(1)}.generate-button:hover{background-color:#16a34a;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:scale(1.05)}.generate-button:disabled{opacity:.5;cursor:not-allowed}.final-summary{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d;transition:all .2s ease-in-out}.final-summary:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#f9fafb;border-radius:.5rem;transition:all .2s ease-in-out}.summary-item:hover{background-color:#f3f4f6}.total-amount{color:#ea580c;font-weight:700;font-size:1.125rem}.loading-state{display:flex;align-items:center;justify-content:center;gap:.5rem}.empty-state{text-align:center;padding:2rem 0;color:#6b7280}@media (max-width: 768px){.modal-content{max-width:100%;margin:0 1rem}.stepper{flex-direction:column;gap:1rem}.navigation-buttons{flex-direction:column;gap:.75rem}.navigation-buttons>div{width:100%}.btn-primary,.btn-secondary{width:100%}}.focus-visible:focus{outline:none;box-shadow:0 0 0 2px #f97316,0 0 0 4px #fff}.keyboard-nav:focus{box-shadow:0 0 0 2px #f97316,0 0 0 4px #fff}@media (prefers-contrast: high){.modal-content,.btn-primary{border:2px solid black}}@media (prefers-reduced-motion: reduce){.animate-fadeIn,.animate-slideIn,.btn-primary,.btn-secondary,.product-card,.cost-summary{transition:none;transform:none}}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#f3f4f6 #e5e7eb}.custom-scrollbar::-webkit-scrollbar{height:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.animate-fadeIn{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.table-row-hover{transition:all .2s ease}.table-row-hover:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.scroll-indicator{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#f59e0b,#f97316);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.scroll-indicator.active{transform:scaleX(1)}.scroll-button{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:#fff;border:1px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.scroll-button:hover{background:#f9fafb;box-shadow:0 6px 16px #00000026;transform:translateY(-50%) scale(1.05)}.scroll-button.left{left:8px}.scroll-button.right{right:8px}.loading-spinner{position:relative}.loading-spinner:before{width:100%;height:100%;border:4px solid #f3f4f6;border-top-color:#f59e0b}.loading-spinner:after{width:100%;height:100%;border:4px solid transparent;border-top-color:#fbbf24;animation-delay:.5s}.tooltip{position:relative}.tooltip:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1000}.tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1f2937;opacity:0;visibility:hidden;transition:all .2s ease}.tooltip:hover:before,.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-icon{width:64px;height:64px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.table-responsive{font-size:14px}.table-responsive th,.table-responsive td{padding:8px 12px}.scroll-button{width:32px;height:32px}.scroll-button.left{left:4px}.scroll-button.right{right:4px}}*{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}.focus-ring:focus{outline:none;ring:2px;ring-color:#f59e0b;ring-offset:2px}.action-button{padding:8px;border-radius:8px;transition:all .2s ease;cursor:pointer}.action-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.action-button:active{transform:translateY(0)}.status-indicator{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.gradient-header{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb}.shadow-subtle{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-medium{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f}.shadow-large{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d}.view-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.view-transition-enter{opacity:0;transform:translateY(10px)}.view-transition-enter-active,.view-transition-exit{opacity:1;transform:translateY(0)}.view-transition-exit-active{opacity:0;transform:translateY(-10px)}.table-scroll-container{scroll-behavior:smooth;transition:scroll-left .3s ease}.table-scroll-container::-webkit-scrollbar{height:8px}.table-scroll-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.table-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.table-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.quotation-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.quotation-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.quotation-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start}.view-mode-selector{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:12px;padding:4px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.view-mode-button{transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:8px;padding:8px 16px;font-weight:500;font-size:14px}.view-mode-button.active{background:#fff;color:#ea580c;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:scale(1.05)}.view-mode-button:not(.active){color:#64748b}.view-mode-button:not(.active):hover{color:#1e293b;background:#ffffff80}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:start}.stat-card{background:linear-gradient(135deg,var(--stat-bg-start) 0%,var(--stat-bg-end) 100%);border:1px solid var(--stat-border);border-radius:12px;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}:root{--stat-bg-start: #fef3c7;--stat-bg-end: #fde68a;--stat-border: #f59e0b}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.loading-spinner{position:relative;width:3rem;height:3rem}.loading-spinner:before,.loading-spinner:after{content:"";position:absolute;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner:before{width:100%;height:100%;border:4px solid #fbbf24;border-top-color:#ea580c}.loading-spinner:after{width:100%;height:100%;border:4px solid transparent;border-top-color:#f97316;animation-delay:.5s}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.empty-state-icon{width:4rem;height:4rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 4px 6px -1px #0000001a}.pagination-container{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid #e2e8f0;margin-top:1rem}.pagination-info{color:#64748b;font-size:14px}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-button{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;font-weight:500;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{background:#ea580c;color:#fff;border-color:#ea580c}.filters-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.filter-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s ease}.filter-input:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1a}.action-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;font-size:14px;transition:all .2s ease;border:none;cursor:pointer}.action-button.primary{background:linear-gradient(135deg,#ea580c,#dc2626);color:#fff}.action-button.primary:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #ea580c4d}.action-button.secondary{background:#f8fafc;color:#374151;border:1px solid #d1d5db}.action-button.secondary:hover{background:#f1f5f9;border-color:#9ca3af}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.quotation-grid,.filter-group{grid-template-columns:1fr}.pagination-container{flex-direction:column;gap:1rem;align-items:stretch}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr}.view-mode-selector{flex-direction:column;gap:.5rem}.view-mode-button{width:100%;justify-content:center}}
