@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary-light:#2d6b3f;--color-primary:#1d4c2a;--color-primary-dark:#0a1f0f;--color-primary-50:#e8f5e9;--color-primary-100:#c8e6c9;--color-primary-200:#a5d6a7;--color-primary-300:#81c784;--color-primary-400:#66bb6a;--color-primary-500:#2d6b3f;--color-primary-600:#1d4c2a;--color-primary-700:#0a1f0f;--bg-gradient:linear-gradient(180deg,#2d6b3f 0%,#1d4c2a 50%,#0a1f0f 100%);--bg-gradient-subtle:linear-gradient(180deg,#0a1f0f 0%,#060f07 100%);--glass-bg:#ffffff0d;--glass-bg-hover:#ffffff14;--glass-bg-active:#ffffff1f;--glass-border:#ffffff1a;--glass-border-light:#fff3;--glass-blur:20px;--glass-blur-heavy:80px;--text-primary:#fff;--text-secondary:#ffffffb3;--text-tertiary:#ffffff73;--text-muted:#ffffff4d;--color-success:#4caf50;--color-success-bg:#4caf5026;--color-warning:#ff9800;--color-warning-bg:#ff980026;--color-error:#f44336;--color-error-bg:#f4433626;--color-info:#2196f3;--color-info-bg:#2196f326;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 10px 30px #0006;--shadow-xl:0 25px 50px -12px #00000080;--shadow-glow:0 0 20px #2d6b3f4d;--shadow-glow-strong:0 0 40px #2d6b3f80;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-base:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--sidebar-width:260px;--sidebar-collapsed-width:72px;--topbar-height:56px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--z-sidebar:100;--z-topbar:90;--z-modal-backdrop:200;--z-modal:210;--z-toast:300;--z-tooltip:250}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background:var(--color-primary-dark);min-height:100vh;line-height:1.5;overflow-x:hidden}a{color:var(--color-primary-300);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-200)}button{font-family:var(--font-family);cursor:pointer;color:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:0 0;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #2d6b3f33}input::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff26}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass-light{-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border-light);border-radius:var(--radius-lg);background:#ffffff14}.glass-heavy{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.glass-card{-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);background:linear-gradient(135deg,#ffffff14 0%,#ffffff05 100%)}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:var(--glass-border-light);transform:translateY(-2px)}.glass-sidebar{-webkit-backdrop-filter:blur(30px);border-right:1px solid var(--glass-border);background:#0a1f0fd9}.glass-topbar{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);background:#0a1f0f99}.glass-input{-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast);background:#ffffff0a}.glass-input:hover{background:#ffffff0f}.glass-input:focus-within{border-color:var(--color-primary-light);background:#ffffff14;box-shadow:0 0 0 3px #2d6b3f26}.glass-modal{-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);background:#0a1f0ff2}.glass-btn{border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-fast);background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%)}.glass-btn:hover{border-color:var(--glass-border-light);background:linear-gradient(135deg,#ffffff26 0%,#ffffff14 100%)}.glass-badge{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:var(--font-size-xs);background:#ffffff1a;border:1px solid #ffffff14;padding:2px 8px;font-weight:600}.glass-orb{filter:blur(80px);opacity:.6;pointer-events:none;border-radius:50%;position:absolute}.glass-orb-primary{background:var(--color-primary-light)}.glass-orb-white{background:#fff6}.glass-orb-accent{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary))}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base)ease forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow)ease forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:slideInLeft var(--transition-base)ease forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-right{animation:slideInRight var(--transition-base)ease forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn var(--transition-base)ease forwards}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #2d6b3f4d}50%{box-shadow:0 0 20px #2d6b3f99}}.animate-pulse-glow{animation:2s ease-in-out infinite pulseGlow}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.animate-pulse-dot{animation:2s ease-in-out infinite pulseDot}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:4s ease-in-out infinite float}.stagger-children>*{opacity:0;animation:fadeInUp var(--transition-slow)ease forwards}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}@keyframes backdropFadeIn{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:#0000}to{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080}}.animate-backdrop{animation:backdropFadeIn var(--transition-base)ease forwards}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.typing-dot{background:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingBounce;display:inline-block}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-count{animation:.4s ease-out forwards countUp}
