:root{--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2a2a2a;--bg-sidebar: #1e1e1e;--bg-header: #1a1a1a;--bg-card: #242424;--bg-card-hover: #2e2e2e;--bg-input: #2a2a2a;--primary-bg: #1a1a1a;--secondary-bg: #242424;--card-bg: #242424;--card-bg-hover: #2e2e2e;--accent-green: #4ade80;--accent-green-light: #86efac;--accent-green-dark: #22c55e;--accent-green-hover: #6ee7a0;--accent-blue: #3b82f6;--accent-blue-light: #60a5fa;--accent-cyan: #06b6d4;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-tertiary: #6b6b6b;--text-muted: #4a4a4a;--text-sidebar: #9ca3af;--text-sidebar-hover: #ffffff;--border-primary: #2a2a2a;--border-secondary: #333333;--border-light: #3a3a3a;--border-sidebar: #2d2d2d;--color-success: #4ade80;--color-success-light: #86efac;--color-success-dark: #22c55e;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-danger: #f87171;--color-danger-light: #fca5a5;--color-danger-dark: #ef4444;--color-info: #60a5fa;--color-info-light: #93c5fd;--color-info-dark: #3b82f6;--sidebar-width: 240px;--sidebar-width-collapsed: 64px;--sidebar-bg: #1a1a1a;--sidebar-border: #2a2a2a;--sidebar-item-hover: #2a2a2a;--sidebar-item-active: #4ade80;--sidebar-text: #9ca3af;--sidebar-text-hover: #ffffff;--sidebar-header: #6b7280;--sidebar-icon: #6b7280;--sidebar-icon-active: #4ade80;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Roboto", sans-serif;--font-mono: "Monaco", "Cascadia Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .5);--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition: .2s ease;--transition-slow: .3s ease;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 1000;--z-modal: 1010;--z-tooltip: 1030;--z-toast: 1040}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card-base{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.card-hover:hover{background:var(--bg-card-hover);border-color:var(--border-secondary)}.btn-primary{background:var(--accent-green);color:#000;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition)}.btn-primary:hover{background:var(--accent-green-hover)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.input-base{background:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius);color:var(--text-primary);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);transition:all var(--transition)}.input-base:focus{outline:none;border-color:var(--accent-green)}.input-base::placeholder{color:var(--text-tertiary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-card{background:var(--bg-card)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .2s ease}.slide-in{animation:slideIn .2s ease}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile-only{display:none!important}}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.gap-4{gap:2rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(min-width:480px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:640px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.lg\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media(min-width:1024px){.xl\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.xl\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:1rem;padding-right:1rem}.px-4{padding-left:1.5rem;padding-right:1.5rem}.px-5{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:2rem;padding-bottom:2rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:2rem;margin-bottom:2rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.text-4xl{font-size:2.5rem}@media(max-width:767px){.mobile\:text-sm{font-size:.875rem}.mobile\:text-base{font-size:1rem}.mobile\:text-lg{font-size:1.125rem}.mobile\:text-xl{font-size:1.25rem}.mobile\:text-2xl{font-size:1.5rem}.mobile\:text-3xl{font-size:1.75rem}}.block{display:block}.inline-block{display:inline-block}@media(max-width:767px){.mobile\:hidden{display:none}.mobile\:block{display:block}.mobile\:flex{display:flex}.mobile\:flex-col{flex-direction:column}}@media(min-width:768px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}}.h-full{height:100%}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.min-w-0{min-width:0}.min-h-0{min-height:0}.rounded{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.text-white{color:#fff}.text-black{color:#000}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-slate-800{color:#1e293b}.text-slate-900{color:#0f172a}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}.text-blue-900{color:#1e3a8a}.text-cyan-700{color:#0e7490}.text-cyan-800{color:#155e75}.text-cyan-900{color:#164e63}.text-indigo-900{color:#312e81}.text-sky-600{color:#0284c7}.text-sky-700{color:#0369a1}.text-sky-800{color:#075985}.text-sky-900{color:#0c4a6e}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-emerald-600{color:#059669}.text-emerald-700{color:#047857}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.flex-shrink-0,.shrink-0{flex-shrink:0}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-amber-50{--tw-gradient-from: #fffbeb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-amber-400{--tw-gradient-from: #fbbf24;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-amber-500{--tw-gradient-from: #f59e0b;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-blue-50{--tw-gradient-from: #eff6ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-blue-100{--tw-gradient-from: #dbeafe;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-blue-400{--tw-gradient-from: #60a5fa;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-blue-500{--tw-gradient-from: #3b82f6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-blue-600{--tw-gradient-from: #2563eb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-cyan-50{--tw-gradient-from: #ecfeff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-cyan-500{--tw-gradient-from: #06b6d4;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-emerald-50{--tw-gradient-from: #ecfdf5;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-emerald-500{--tw-gradient-from: #10b981;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-emerald-600{--tw-gradient-from: #059669;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-green-50{--tw-gradient-from: #f0fdf4;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-green-100{--tw-gradient-from: #dcfce7;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-green-400{--tw-gradient-from: #4ade80;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-green-500{--tw-gradient-from: #22c55e;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-orange-500{--tw-gradient-from: #f97316;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-purple-400{--tw-gradient-from: #c084fc;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-purple-500{--tw-gradient-from: #a855f7;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.from-red-50{--tw-gradient-from: #fef2f2;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent)}.to-amber-500{--tw-gradient-to: #f59e0b}.to-amber-600{--tw-gradient-to: #d97706}.to-blue-50{--tw-gradient-to: #eff6ff}.to-blue-100{--tw-gradient-to: #dbeafe}.to-blue-500{--tw-gradient-to: #3b82f6}.to-blue-600{--tw-gradient-to: #2563eb}.to-blue-700{--tw-gradient-to: #1d4ed8}.to-cyan-50{--tw-gradient-to: #ecfeff}.to-cyan-100{--tw-gradient-to: #cffafe}.to-cyan-500{--tw-gradient-to: #06b6d4}.to-emerald-600{--tw-gradient-to: #059669}.to-emerald-700{--tw-gradient-to: #047857}.to-green-100{--tw-gradient-to: #dcfce7}.to-green-200{--tw-gradient-to: #bbf7d0}.to-green-500{--tw-gradient-to: #22c55e}.to-green-600{--tw-gradient-to: #16a34a}.to-green-700{--tw-gradient-to: #15803d}.to-indigo-500{--tw-gradient-to: #6366f1}.to-orange-50{--tw-gradient-to: #fff7ed}.to-purple-600{--tw-gradient-to: #9333ea}.to-rose-50{--tw-gradient-to: #fff1f2}.to-teal-50{--tw-gradient-to: #f0fdfa}.to-violet-500{--tw-gradient-to: #8b5cf6}.to-yellow-500{--tw-gradient-to: #eab308}.via-amber-500{--tw-gradient-via: #f59e0b;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-blue-50{--tw-gradient-via: #eff6ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-cyan-50{--tw-gradient-via: #ecfeff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-cyan-500{--tw-gradient-via: #06b6d4;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-green-50{--tw-gradient-via: #f0fdf4;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-green-500{--tw-gradient-via: #22c55e;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-green-600{--tw-gradient-via: #16a34a;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-indigo-50{--tw-gradient-via: #eef2ff;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.via-violet-500{--tw-gradient-via: #8b5cf6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent)}.container-responsive{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container-responsive{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container-responsive{padding-left:2rem;padding-right:2rem}}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.nav-mobile{display:flex;flex-direction:column;gap:.5rem;padding:1rem}@media(min-width:768px){.nav-mobile{flex-direction:row;gap:1rem;padding:0}}.form-responsive{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.form-responsive{grid-template-columns:repeat(2,1fr)}}.card-grid-responsive{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.card-grid-responsive{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media(min-width:1024px){.card-grid-responsive{grid-template-columns:repeat(3,1fr);gap:2rem}}.btn-responsive{padding:.75rem 1.5rem;font-size:.875rem;white-space:nowrap}@media(min-width:768px){.btn-responsive{padding:.875rem 2rem;font-size:1rem}}.hero-responsive{padding:2rem 1rem}@media(min-width:768px){.hero-responsive{padding:4rem 2rem}}@media(min-width:1024px){.hero-responsive{padding:5rem 2rem}}.logo-responsive{height:40px;width:auto}@media(min-width:768px){.logo-responsive{height:60px}}@media(min-width:1024px){.logo-responsive{height:80px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleInBig{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes progressFill{0%{width:0%}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes checkmarkDraw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .4s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .4s ease-out forwards}.animate-slide-up{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDown .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-in-right{animation:slideInRight .4s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-in-left{animation:slideInLeft .4s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-in-big{animation:scaleInBig .5s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-rotate{animation:rotate 1s linear infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;margin-bottom:12px}.skeleton-card{height:120px;border-radius:8px}.progress-fill{animation:progressFill 1s cubic-bezier(.16,1,.3,1) forwards}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow .2s ease}.hover-glow:hover{box-shadow:0 0 20px #4a7c594d}.focus-ring{transition:box-shadow .2s ease}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #4a7c5933}.transition-all{transition:all .3s ease}.transition-fast{transition:all .15s ease}.transition-slow{transition:all .5s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none}}@media(max-width:768px){.animate-fade-in-up,.animate-fade-in-down,.animate-slide-up,.animate-slide-down,.animate-slide-in-right,.animate-slide-in-left{animation-duration:.25s}}@media(max-width:768px){.hydro-container{padding:1rem}.hydro-grid{grid-template-columns:1fr;gap:1rem}.hydro-card{padding:1rem}}@media(max-width:480px){.hydro-container{padding:.5rem}.hydro-title{font-size:1.25rem}}.admin-training-container{padding:var(--space-4);max-width:1400px;margin:0 auto}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-6)}.admin-toolbar{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--space-6)}.admin-search-wrapper{flex:1 1 300px;min-width:200px;position:relative}.admin-filter-group{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.admin-create-btn{white-space:nowrap;padding:var(--space-3) var(--space-5);background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 4px #1e40af33}.admin-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1e40af4d}.admin-course-card{background:#fff;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;overflow:hidden;border:1px solid #e5e7eb;transition:all .2s ease}.admin-course-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.admin-course-header{display:flex;gap:var(--space-4);padding:var(--space-4)}.admin-course-thumbnail{width:120px;height:80px;flex-shrink:0;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#1e40af,#3b82f6);display:flex;align-items:center;justify-content:center;position:relative}.admin-course-thumbnail img{width:100%;height:100%;object-fit:cover}.admin-course-actions{display:flex;gap:var(--space-2);flex-shrink:0}.admin-course-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-badge-container{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.admin-lesson-item{padding:var(--space-3);background:#fff;border-radius:var(--radius-lg);display:flex;justify-content:space-between;align-items:center;border:1px solid #e5e7eb;flex-wrap:wrap;gap:var(--space-2)}.admin-lesson-item.dragging{background:#eef2ff;border:2px solid #6366f1;box-shadow:0 8px 25px #00000026}.admin-lesson-content{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.admin-lesson-title-wrapper{flex:1;min-width:0}.admin-lesson-description{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);color:#6b7280;margin-top:2px}@media(min-width:768px){.admin-training-container{padding:var(--space-6)}.admin-course-header{padding:var(--space-5)}.admin-course-thumbnail{width:140px;height:95px}.admin-lesson-item{padding:var(--space-3) var(--space-4)}.admin-lesson-content{gap:var(--space-3)}.admin-lesson-description{max-width:400px}}@media(min-width:640px){.admin-stats-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-4)}}@media(max-width:640px){.admin-training-container{padding:var(--space-3)}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search-wrapper{flex:none;width:100%}.admin-filter-group{width:100%;justify-content:space-between}.admin-filter-group select{flex:1;min-width:0}.admin-create-btn{width:100%;justify-content:center}.admin-course-header{flex-direction:column;padding:var(--space-3)}.admin-course-thumbnail{width:100%;height:140px}.admin-course-actions{width:100%;justify-content:flex-end;margin-top:var(--space-3)}}@media(max-width:480px){.admin-course-meta{gap:var(--space-2)}.admin-lesson-item{padding:var(--space-2)}.admin-badge-container{gap:4px}.admin-badge-container span{font-size:9px!important;padding:2px 6px!important}}@media(max-width:360px){.admin-stats-grid{grid-template-columns:1fr}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.admin-saving-indicator{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:#6366f1;font-weight:var(--font-normal)}.admin-saving-indicator:before{content:"";width:6px;height:6px;border-radius:50%;background:#6366f1;animation:pulse 1s infinite}.satellite-module,[class*=sat-]{--sat-primary: #4ade80;--sat-primary-hover: #22c55e;--sat-primary-dark: #16a34a;--sat-primary-light: #86efac;--sat-accent: #4ade80;--sat-bg-primary: #0d0d0d;--sat-bg-secondary: #1a1a1a;--sat-bg-tertiary: #242424;--sat-bg-glass: rgba(26, 26, 26, .95);--sat-bg-elevated: #2a2a2a;--sat-border: #2a2a2a;--sat-border-light: #3a3a3a;--sat-border-focus: #4ade80;--sat-text-primary: #ffffff;--sat-text-secondary: #e5e7eb;--sat-text-muted: #9ca3af;--sat-text-disabled: #6b7280;--sat-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--sat-shadow: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--sat-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4);--sat-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .5);--sat-shadow-glow: 0 0 20px rgba(74, 222, 128, .2);--sat-shadow-glow-strong: 0 0 30px rgba(74, 222, 128, .4);--sat-radius-sm: .5rem;--sat-radius: .75rem;--sat-radius-lg: 12px;--sat-radius-xl: 1.25rem;--sat-radius-full: 9999px;--sat-transition: .2s cubic-bezier(.4, 0, .2, 1);--sat-transition-fast: .15s cubic-bezier(.4, 0, .2, 1)}.sat-container{min-height:100vh;background:#0d0d0d}.sat-header{background:linear-gradient(135deg,#1d4949,#4ade80);color:#fff;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--sat-shadow-md);position:relative;z-index:10}.sat-header-title{display:flex;align-items:center;gap:.75rem}.sat-header-title h1{font-size:1.25rem;font-weight:600;margin:0;letter-spacing:-.01em}.sat-header-icon{width:2.5rem;height:2.5rem;background:#ffffff26;border-radius:var(--sat-radius);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sat-main{display:flex;flex:1;overflow:hidden;height:calc(100vh - 4rem)}.sat-sidebar{width:380px;background:#1a1a1a;border-right:1px solid #2a2a2a;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sat-sidebar-header{padding:1.25rem;border-bottom:1px solid #2a2a2a;background:#1a1a1a}.sat-sidebar-content{flex:1;overflow-y:auto;padding:1rem;background:#1a1a1a}.sat-sidebar-content::-webkit-scrollbar{width:6px}.sat-sidebar-content::-webkit-scrollbar-track{background:#242424}.sat-sidebar-content::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:var(--sat-radius-full)}.sat-sidebar-content::-webkit-scrollbar-thumb:hover{background:#4ade80}.sat-map-container{flex:1;position:relative;overflow:hidden}.sat-map-overlay{position:absolute;z-index:500;pointer-events:none}.sat-map-overlay>*{pointer-events:auto}.sat-map-controls{position:absolute;top:1rem;right:1rem;z-index:500;display:flex;flex-direction:column;gap:.5rem}.sat-card{background:#1a1a1a;border-radius:12px;border:1px solid #2a2a2a;box-shadow:var(--sat-shadow);overflow:hidden;transition:all var(--sat-transition)}.sat-card:hover{border-color:#3a3a3a;box-shadow:var(--sat-shadow-md)}.sat-card-header{padding:1rem 1.25rem;background:#1a1a1a;border-bottom:1px solid #2a2a2a;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background var(--sat-transition)}.sat-card-header:hover{background:#242424}.sat-card-header-content{display:flex;align-items:center;gap:.75rem}.sat-card-icon{width:2.25rem;height:2.25rem;background:#4ade8026;border-radius:var(--sat-radius);display:flex;align-items:center;justify-content:center;color:#4ade80;box-shadow:0 2px 8px #4ade8026}.sat-card-title{font-size:.9375rem;font-weight:600;color:#fff;margin:0}.sat-card-subtitle{font-size:.8125rem;color:#9ca3af;margin:.125rem 0 0}.sat-card-body{padding:1.25rem;background:#1a1a1a}.sat-card-footer{padding:1rem 1.25rem;background:#242424;border-top:1px solid #2a2a2a}.sat-metric,.sat-metric-card{background:#1a1a1a;border-radius:12px;padding:1rem;border:1px solid #2a2a2a;box-shadow:var(--sat-shadow);transition:all .2s ease}.sat-metric-card-mobile{border-radius:10px;padding:.75rem}.sat-metric:hover,.sat-metric-card:hover{border-color:#4ade80;box-shadow:var(--sat-shadow),var(--sat-shadow-glow);transform:translateY(-2px)}.sat-metric-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}.sat-metric-card-mobile .sat-metric-header{margin-bottom:.35rem}.sat-metric-icon{border-radius:10px;padding:.5rem;display:flex;align-items:center;justify-content:center}.sat-metric-card-mobile .sat-metric-icon{padding:.35rem}.sat-metric-trend{font-size:.7rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.sat-metric-card-mobile .sat-metric-trend{font-size:.6rem}.sat-metric-trend.positive{color:#22c55e}.sat-metric-trend.negative{color:#ef4444}.sat-metric-value{font-size:1.5rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:.15rem}.sat-metric-card-mobile .sat-metric-value{font-size:1.1rem}.sat-metric-title,.sat-metric-label{font-size:.75rem;color:#9ca3af}.sat-metric-card-mobile .sat-metric-title{font-size:.65rem}.sat-metric-subtitle{font-size:.65rem;color:#6b7280;margin-top:.25rem}.sat-metric-card-mobile .sat-metric-subtitle{font-size:.55rem}.sat-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.sat-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all var(--sat-transition);min-height:2.75rem}.sat-btn:disabled{opacity:.5;cursor:not-allowed}.sat-btn-primary{background:#4ade80;color:#000;box-shadow:0 2px 8px #4ade804d}.sat-btn-primary:hover:not(:disabled){background:#22c55e;box-shadow:0 4px 12px #4ade8066;transform:translateY(-1px)}.sat-btn-primary:active:not(:disabled){transform:translateY(0)}.sat-btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade8066,0 4px 12px #4ade8066}.sat-btn-secondary{background:transparent;color:#e5e7eb;border:1px solid #3a3a3a}.sat-btn-secondary:hover:not(:disabled){background:#242424;color:#fff;border-color:#4ade80}.sat-btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade804d}.sat-btn-ghost{background:transparent;color:#9ca3af}.sat-btn-ghost:hover:not(:disabled){background:#242424;color:#fff}.sat-btn-ghost:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade8033;background:#242424}.sat-btn-icon{padding:.625rem;min-height:auto;width:2.5rem;height:2.5rem}.sat-btn-sm{padding:.5rem 1rem;font-size:.8125rem;min-height:2.25rem}.sat-btn-lg{padding:.75rem 1.5rem;font-size:.9375rem;min-height:3rem}.sat-btn-full{width:100%}.sat-form-group{margin-bottom:1rem}.sat-label{display:block;font-size:.8125rem;font-weight:500;color:#9ca3af;margin-bottom:.5rem}.sat-input,.sat-select{width:100%;padding:.625rem .875rem;font-size:.875rem;color:#fff;background:#242424;border:1px solid #2a2a2a;border-radius:8px;transition:all var(--sat-transition);min-height:2.75rem}.sat-input:hover,.sat-select:hover{border-color:#3a3a3a}.sat-input:focus,.sat-select:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 3px #4ade8026}.sat-input:focus-visible,.sat-select:focus-visible{outline:none;border-color:#4ade80;box-shadow:0 0 0 3px #4ade8033}.sat-input::placeholder{color:#6b7280}.sat-input-sm,.sat-select-sm{padding:.5rem .75rem;font-size:.8125rem;min-height:2.25rem}.sat-textarea{resize:vertical;min-height:5rem}.sat-chips{display:flex;flex-wrap:wrap;gap:.5rem}.sat-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:#9ca3af;background:#242424;border:1px solid #2a2a2a;border-radius:var(--sat-radius-full);cursor:pointer;transition:all var(--sat-transition)}.sat-chip:hover{border-color:#4ade80;background:#4ade801a}.sat-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade804d}.sat-chip.active{background:#4ade80;color:#000;border-color:transparent;box-shadow:0 2px 8px #4ade804d}.sat-chip-icon{width:1rem;height:1rem}.sat-index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.sat-index-item{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:#242424;border:1px solid #2a2a2a;border-radius:8px;cursor:pointer;transition:all var(--sat-transition);text-align:center;color:#9ca3af}.sat-index-item:hover{background:#4ade801a;border-color:#4ade80;color:#fff}.sat-index-item.active{background:#4ade80;color:#000;border-color:#4ade80;box-shadow:0 4px 12px #4ade804d}.sat-index-item-icon{width:1.5rem;height:1.5rem;margin-bottom:.375rem}.sat-index-item-name{font-size:.75rem;font-weight:600}.sat-index-item-desc{font-size:.625rem;opacity:.8;margin-top:.125rem}.sat-legend{background:#242424;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:.875rem;border:1px solid #3a3a3a;box-shadow:var(--sat-shadow)}.sat-legend-title{font-size:.75rem;font-weight:600;color:#fff;margin-bottom:.5rem}.sat-legend-gradient{height:.75rem;border-radius:.25rem;margin-bottom:.375rem}.sat-legend-labels{display:flex;justify-content:space-between;font-size:.6875rem;color:#9ca3af}.sat-chat-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#4ade80,#22c55e);color:#000;border:none;border-radius:8px 0 0 8px;padding:1rem .5rem;cursor:pointer;box-shadow:-2px 0 10px #0000004d;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:100;transition:all var(--sat-transition)}.sat-chat-toggle:hover{background:linear-gradient(135deg,#22c55e,#16a34a)}.sat-chat-toggle:focus-visible{outline:none;box-shadow:-2px 0 10px #0000004d,0 0 0 3px #4ade8066}.sat-chat-toggle-text{writing-mode:vertical-rl;font-size:.75rem;font-weight:500}.sat-chat-panel{width:340px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 20px #0006;display:flex;flex-direction:column;height:100%;min-height:500px;border:1px solid #2a2a2a}.sat-chat-panel-mobile{position:fixed;bottom:0;left:0;right:0;width:100%;height:0;min-height:0;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #0006;z-index:998;transition:height .3s ease;overflow:hidden;background:#1a1a1a}.sat-chat-panel-mobile.open{height:70vh}.sat-chat-header{padding:1.1rem 1rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1d4949,#4ade80);color:#fff;border-radius:12px 12px 0 0;position:relative;overflow:hidden}.sat-chat-header-mobile{border-radius:20px 20px 0 0}.sat-chat-header-glow{position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.sat-chat-header-content{display:flex;align-items:center;gap:.5rem;position:relative;z-index:1}.sat-chat-header-icon{background:#ffffff26;border-radius:10px;padding:.45rem;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sat-chat-header-title{font-weight:700;font-size:.95rem;letter-spacing:-.01em}.sat-chat-header-subtitle{font-size:.65rem;opacity:.85}.sat-chat-close-btn{background:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:50%;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;box-shadow:0 2px 8px #0003;transition:all var(--sat-transition);min-width:36px;min-height:36px}.sat-chat-close-btn:hover{background:#dc2626e6;border-color:#fffc;transform:scale(1.05)}.sat-chat-close-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6}.sat-chat-context-bar{padding:.75rem 1rem;background:#242424;border-bottom:1px solid #2a2a2a;display:flex;flex-direction:column;gap:.5rem}.sat-chat-selectors{display:flex;gap:.5rem}.sat-chat-select{flex:1;padding:.5rem;border-radius:8px;border:1px solid #2a2a2a;font-size:.75rem;background:#242424;color:#fff;cursor:pointer;font-weight:500;transition:all var(--sat-transition)}.sat-chat-select:hover{border-color:#4ade80}.sat-chat-select:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade8066}.sat-chat-select option{background:#242424;color:#fff}.sat-chat-context-display{font-size:.7rem;color:#4ade80;display:flex;align-items:center;gap:.25rem}.sat-chat-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sat-chat-avatar.assistant{background:linear-gradient(135deg,#22c55e,#4ade80);box-shadow:0 2px 8px #4ade8040}.sat-chat-avatar.user{background:linear-gradient(135deg,#3a3a3a,#4a4a4a);box-shadow:0 2px 8px #00000040}.sat-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#1a1a1a}.sat-chat-message{max-width:85%;display:flex;gap:.5rem}.sat-chat-message.user{margin-left:auto;flex-direction:row-reverse}.sat-chat-message-avatar{width:1.75rem;height:1.75rem;border-radius:var(--sat-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sat-chat-message.assistant .sat-chat-message-avatar{background:linear-gradient(135deg,var(--sat-primary) 0%,var(--sat-primary-hover) 100%);color:#fff}.sat-chat-message.user .sat-chat-message-avatar{background:var(--sat-text-muted);color:#fff}.sat-chat-message-content{padding:.75rem 1rem;border-radius:var(--sat-radius);font-size:.875rem;line-height:1.5}.sat-chat-message.assistant .sat-chat-message-content{background:var(--sat-bg-primary);color:var(--sat-text-primary);box-shadow:var(--sat-shadow-sm)}.sat-chat-message.user .sat-chat-message-content{background:linear-gradient(135deg,var(--sat-primary) 0%,var(--sat-primary-hover) 100%);color:#fff}.sat-chat-message-row{display:flex;align-items:flex-end;gap:.5rem}.sat-chat-message-row.user{justify-content:flex-end}.sat-chat-message-row.assistant{justify-content:flex-start}.sat-chat-bubble{max-width:80%;padding:.75rem 1rem;font-size:.875rem;font-weight:400;line-height:1.5;white-space:pre-wrap}.sat-chat-bubble.assistant{background:#242424;color:#e5e7eb;border-radius:16px 16px 16px 4px;box-shadow:0 2px 8px #0003;border:1px solid #3a3a3a}.sat-chat-bubble.user{background:linear-gradient(135deg,#22c55e,#4ade80);color:#000;font-weight:500;border-radius:16px 16px 4px;box-shadow:0 2px 8px #4ade8059}.sat-chat-loading{display:flex;align-items:center;gap:.5rem;color:#9ca3af;background:#242424;padding:.75rem 1rem;border-radius:12px;box-shadow:0 2px 8px #0003;width:fit-content;font-size:.875rem;border:1px solid #3a3a3a}.sat-chat-suggestions{padding:0 1rem;margin-bottom:.75rem}.sat-chat-suggestions-label{font-size:.7rem;color:var(--sat-text-muted);margin-bottom:.5rem;display:flex;align-items:center;gap:.35rem}.sat-chat-suggestions-list{display:flex;flex-wrap:wrap;gap:.35rem}.sat-chat-suggestion-btn{background:#2563eb;border:none;border-radius:20px;padding:.4rem .85rem;font-size:.7rem;cursor:pointer;color:#fff;font-weight:500;transition:all .2s;box-shadow:0 2px 4px #2563eb4d}.sat-chat-suggestion-btn:hover{background:#3b82f6;box-shadow:0 3px 8px #3b82f666}.sat-chat-suggestion-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb66}.sat-chat-input-area{padding:1rem;background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;border-radius:0 0 12px 12px}.sat-chat-input-area.mobile{border-radius:0;display:flex;gap:.5rem}.sat-chat-input{flex:1;padding:.75rem 1rem;font-size:.875rem;border:1px solid #2a2a2a;border-radius:var(--sat-radius-full);background:#242424;color:#fff;transition:all var(--sat-transition)}.sat-chat-input:focus{outline:none;border-color:#4ade80;background:#1a1a1a}.sat-chat-send{width:2.75rem;height:2.75rem;background:#4ade80;color:#000;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--sat-transition);box-shadow:0 2px 8px #4ade804d}.sat-chat-send:hover:not(:disabled){background:#22c55e;transform:scale(1.05)}.sat-chat-send:disabled{background:#3a3a3a;cursor:not-allowed;box-shadow:none;opacity:.7;color:#6b7280}.sat-chat-send.active{background:#4ade80;box-shadow:0 2px 8px #4ade8066}.sat-chat-send:focus-visible{outline:none;box-shadow:0 0 0 3px #4ade8066,0 2px 8px #4ade804d}.sat-chat-input:focus-visible{outline:none;border-color:#4ade80;box-shadow:0 0 0 3px #4ade8033}.sat-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1050;animation:fadeIn .2s ease-out}.sat-modal{background:#1a1a1a;border-radius:12px;border:1px solid #2a2a2a;box-shadow:var(--sat-shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow:hidden;animation:scaleIn .2s ease-out}.sat-modal-header{padding:1.25rem 1.5rem;background:linear-gradient(135deg,#1d4949,#4ade80);color:#fff;display:flex;align-items:center;justify-content:space-between}.sat-modal-header-content{display:flex;align-items:center;gap:.75rem}.sat-modal-icon{width:2.5rem;height:2.5rem;background:#ffffff26;border-radius:var(--sat-radius);display:flex;align-items:center;justify-content:center}.sat-modal-title{font-size:1.125rem;font-weight:600;margin:0}.sat-modal-subtitle{font-size:.8125rem;opacity:.85;margin:.125rem 0 0}.sat-modal-close{background:#ffffff26;border:none;border-radius:var(--sat-radius-sm);padding:.5rem;color:#fff;cursor:pointer;transition:background var(--sat-transition)}.sat-modal-close:hover{background:#ffffff40}.sat-modal-close:focus-visible{outline:none;box-shadow:0 0 0 3px #fff6}.sat-modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 180px);background:#1a1a1a;color:#e5e7eb}.sat-modal-footer{padding:1rem 1.5rem;background:#242424;border-top:1px solid #2a2a2a;display:flex;gap:.75rem;justify-content:flex-end}.sat-collapsible{background:#1a1a1a;border-radius:12px;border:1px solid #2a2a2a;overflow:hidden;margin-bottom:.75rem}.sat-collapsible-header{width:100%;padding:.875rem 1rem;background:#1a1a1a;border:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background var(--sat-transition);color:#fff}.sat-collapsible-header:hover{background:#242424}.sat-collapsible-header:focus-visible{outline:none;box-shadow:inset 0 0 0 3px #4ade804d}.sat-collapsible-header-content{display:flex;align-items:center;gap:.625rem}.sat-collapsible-icon{width:2rem;height:2rem;background:#4ade8026;border-radius:var(--sat-radius-sm);display:flex;align-items:center;justify-content:center;color:#4ade80}.sat-collapsible-title{font-size:.875rem;font-weight:600;color:#fff}.sat-collapsible-subtitle{font-size:.75rem;color:#9ca3af}.sat-collapsible-chevron{color:#9ca3af;transition:transform var(--sat-transition)}.sat-collapsible.expanded .sat-collapsible-chevron{transform:rotate(180deg)}.sat-collapsible-body{padding:1rem;border-top:1px solid #2a2a2a;background:#1a1a1a}.sat-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;border-radius:var(--sat-radius-full);text-transform:uppercase;letter-spacing:.03em}.sat-badge-primary{background:linear-gradient(135deg,var(--sat-primary) 0%,var(--sat-primary-hover) 100%);color:#fff}.sat-badge-success{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.sat-badge-warning{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff}.sat-badge-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.sat-badge-neutral{background:var(--sat-bg-tertiary);color:var(--sat-text-secondary)}.sat-zone-item{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#242424;border-radius:8px;margin-bottom:.5rem;transition:all var(--sat-transition);border:1px solid #2a2a2a}.sat-zone-item:hover{background:#2a2a2a;border-color:#3a3a3a}.sat-zone-indicator{width:2.5rem;height:2.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.875rem}.sat-zone-info{flex:1}.sat-zone-name{font-size:.875rem;font-weight:600;color:#fff}.sat-zone-stats{font-size:.75rem;color:#9ca3af;margin-top:.125rem}.sat-zone-adjustment{padding:.375rem .75rem;border-radius:var(--sat-radius-full);font-size:.75rem;font-weight:600}.sat-alert{padding:.875rem 1rem;border-radius:8px;display:flex;align-items:flex-start;gap:.75rem;font-size:.8125rem;line-height:1.5}.sat-alert-icon{flex-shrink:0;margin-top:.125rem}.sat-alert-info{background:#4ade801a;border:1px solid rgba(74,222,128,.2);color:#4ade80}.sat-alert-success{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:#4ade80}.sat-alert-warning{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.sat-alert-danger{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#f87171}.sat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#9ca3af}.sat-spinner{width:2rem;height:2rem;border:3px solid #2a2a2a;border-top-color:#4ade80;border-radius:50%;animation:spin .8s linear infinite}.sat-loading-text{margin-top:.75rem;font-size:.875rem;color:#9ca3af}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sat-empty{text-align:center;padding:2rem;color:#9ca3af}.sat-empty-icon{width:3rem;height:3rem;margin:0 auto .75rem;opacity:.5;color:#6b7280}.sat-empty-title{font-size:.9375rem;font-weight:600;color:#e5e7eb;margin-bottom:.25rem}.sat-empty-text{font-size:.8125rem;color:#9ca3af}@media(max-width:1024px){.sat-sidebar{width:320px}}@media(max-width:768px){.sat-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1040;transform:translate(-100%);transition:transform .3s ease}.sat-sidebar.open{transform:translate(0)}.sat-header{padding:.75rem 1rem}.sat-header-title h1{font-size:1rem}.sat-metrics-grid,.sat-index-grid{grid-template-columns:repeat(2,1fr)}.sat-modal{max-width:100%;margin:.5rem;border-radius:var(--sat-radius-lg)}.sat-chat{border-radius:0;max-height:100vh}}@media(max-width:480px){.sat-card-body,.sat-modal-body{padding:1rem}.sat-metric{padding:.75rem}.sat-metric-value{font-size:1.25rem}}.sat-tabs{display:flex;gap:0;border-bottom:1px solid #2a2a2a;margin-bottom:1rem}.sat-tab{padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:#9ca3af;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease}.sat-tab:hover{color:#fff}.sat-tab.active{color:#4ade80;border-bottom-color:#4ade80}.sat-tooltip{position:relative}.sat-tooltip-content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.5rem .75rem;background:#242424;border:1px solid #3a3a3a;border-radius:8px;font-size:.75rem;color:#e5e7eb;white-space:nowrap;z-index:1000;box-shadow:0 4px 12px #0006}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;height:100%;background:var(--primary-bg, #1a1a1a)}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--primary-bg, #1a1a1a);min-height:100%;min-height:100vh;min-height:100dvh}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}#root{min-height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--primary-bg, #1a1a1a)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-4xl);margin-bottom:var(--space-6)}h2{font-size:var(--text-3xl);margin-bottom:var(--space-5)}h3{font-size:var(--text-2xl);margin-bottom:var(--space-4)}h4{font-size:var(--text-xl);margin-bottom:var(--space-3)}p{margin-bottom:var(--space-4)}a{color:var(--accent-orange);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-orange-light);text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:var(--space-4)}@media(min-width:640px){.container{padding:var(--space-6)}}@media(min-width:1024px){.container{padding:var(--space-8)}}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:1fr}@media(min-width:640px){.grid-cols-2-sm{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.grid-cols-2-md{grid-template-columns:repeat(2,1fr)}.grid-cols-3-md{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.grid-cols-2-lg{grid-template-columns:repeat(2,1fr)}.grid-cols-3-lg{grid-template-columns:repeat(3,1fr)}.grid-cols-4-lg{grid-template-columns:repeat(4,1fr)}}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-secondary)}.form-label.required:after{content:" *";color:var(--color-danger)}.form-helper{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary)}.form-error{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-danger)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.form-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.form-row-3{grid-template-columns:repeat(3,1fr)}}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--secondary-bg);border:2px solid var(--border-primary);border-radius:var(--radius);transition:all var(--transition);min-height:var(--space-11)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}select::-ms-expand{display:none}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--border-secondary)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-orange);box-shadow:var(--shadow-focus-soil)}input:disabled,select:disabled,textarea:disabled{background:var(--gray-100);cursor:not-allowed;opacity:.6}textarea{min-height:120px;resize:vertical}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition);border:1px solid var(--border-primary)}.card-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--border-primary)}.card-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.card-body{padding:var(--space-2) 0}.card-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:2px solid var(--border-primary)}.header{background:var(--gradient-orange);color:#fff;padding:var(--space-6) var(--space-4);margin-bottom:var(--space-8);box-shadow:var(--shadow-lg),var(--glow-orange)}.header h1{font-size:var(--text-2xl);margin-bottom:var(--space-2);color:#fff}.header p{font-size:var(--text-base);opacity:.95;color:#fff}@media(min-width:768px){.header h1{font-size:var(--text-4xl)}.header p{font-size:var(--text-lg)}}.table-wrapper{overflow-x:auto;border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;background:var(--card-bg)}thead{background:var(--secondary-bg)}th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-primary);color:var(--text-primary)}tbody tr:hover{background:var(--card-bg-hover)}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:2px solid var(--border-primary);overflow-x:auto}.tab{padding:var(--space-3) var(--space-5);background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-tertiary);transition:all var(--transition);white-space:nowrap}.tab:hover{color:var(--accent-orange)}.tab.active{color:var(--accent-orange);border-bottom-color:var(--accent-orange)}.tab.hydro.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.empty-state{text-align:center;padding:var(--space-16) var(--space-6)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--space-6);color:var(--text-tertiary)}.empty-state-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-base);color:var(--text-tertiary);margin-bottom:var(--space-6);max-width:400px;margin-left:auto;margin-right:auto}.loading{text-align:center;padding:var(--space-10)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-orange);border-radius:var(--radius-full);margin:0 auto var(--space-4);animation:spin 1s linear infinite}.loading-text{font-size:var(--text-base);color:var(--text-tertiary)}.overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay);animation:fadeIn .2s var(--ease-out)}.modal-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal)}.modal{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s var(--ease-bounce);border:1px solid var(--border-primary)}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:var(--card-bg);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-title{font-size:var(--text-xl);font-weight:var(--font-bold);margin:0;color:var(--text-primary)}.modal-close{background:var(--gray-100);border:none;padding:var(--space-2);cursor:pointer;color:var(--text-secondary);transition:color var(--transition);border-radius:var(--radius);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:var(--gray-200)}.modal-body{padding:var(--space-6);flex:1;overflow-y:auto;color:var(--text-primary)}.modal-footer{padding:var(--space-6);border-top:1px solid var(--border-primary);display:flex;gap:var(--space-3);justify-content:flex-end;flex-shrink:0;background:var(--card-bg);border-radius:0 0 var(--radius-xl) var(--radius-xl)}@media(max-width:768px){.modal-container{padding:var(--space-2);align-items:flex-end}.modal{max-width:100%;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-bottom:0}.modal-header{padding:var(--space-4);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-title{font-size:var(--text-lg)}.modal-body{padding:var(--space-4)}.modal-footer{padding:var(--space-4);flex-direction:column-reverse;gap:var(--space-2);border-radius:0}.modal-footer button{width:100%;min-height:48px}}@media(max-width:640px){.modal-container{padding:0}.modal{max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header,.modal-body,.modal-footer{padding:var(--space-3)}}.divider{height:1px;background:var(--border-primary);margin:var(--space-6) 0}.divider-text{display:flex;align-items:center;text-align:center;margin:var(--space-6) 0;color:var(--text-tertiary);font-size:var(--text-sm)}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--border-primary)}.divider-text:before{margin-right:var(--space-4)}.divider-text:after{margin-left:var(--space-4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.hidden{display:none}.skip-to-content{position:absolute;top:-40px;left:0;background:var(--accent-orange);color:#fff;padding:var(--space-2) var(--space-4);text-decoration:none;border-radius:var(--radius);z-index:var(--z-toast)}.skip-to-content:focus{top:var(--space-4);left:var(--space-4)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--primary-bg)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-accent)}@keyframes fadeInSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.results{margin-top:var(--space-6)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.result-box{background:var(--card-bg);border:2px solid var(--accent-orange);border-radius:var(--radius-xl);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-md);transition:all .3s ease}.result-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--glow-orange)}.result-box h3{color:var(--accent-orange);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.result-box p{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.result-box p span{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-normal);margin-left:var(--space-1)}.blend-section{background:var(--secondary-bg);border-radius:var(--radius-xl);padding:var(--space-6);margin-top:var(--space-6);border:1px solid var(--border-primary)}.blend-section h3{color:var(--accent-orange);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.blend-item{display:flex;justify-content:space-between;align-items:center;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3);transition:all .3s ease}.blend-item:hover{border-color:var(--accent-orange);box-shadow:var(--glow-orange)}@media(max-width:768px){.result-grid{grid-template-columns:1fr;gap:var(--space-3)}.result-box{padding:var(--space-4)}.result-box h3{font-size:var(--text-base)}.result-box p{font-size:var(--text-2xl)}.blend-section{padding:var(--space-4)}.blend-item{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ccc;background:#fff}}.agro-input{width:100%;padding:14px 18px;border-radius:12px;border:2px solid var(--border-primary);font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;box-sizing:border-box;background:var(--secondary-bg);color:var(--text-primary)}.agro-input:focus{border-color:var(--accent-orange);box-shadow:var(--shadow-focus-soil);background:var(--card-bg)}.agro-input::placeholder{color:var(--text-tertiary)}.agro-textarea{width:100%;padding:14px 18px;border-radius:12px;border:2px solid var(--border-primary);font-size:1rem;outline:none;resize:vertical;font-family:inherit;box-sizing:border-box;background:var(--secondary-bg);color:var(--text-primary);transition:border-color .2s,box-shadow .2s,background .2s;line-height:1.6}.agro-textarea:focus{border-color:var(--accent-orange);box-shadow:var(--shadow-focus-soil);background:var(--card-bg)}.agro-textarea::placeholder{color:var(--text-tertiary)}
