@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";
:root{--color-background:#f8fafb;--color-background-subtle:#f1f5f7;--color-surface:#fff;--color-surface-elevated:#fff;--color-surface-hover:#fafcfc;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-primary:#0d9488;--color-primary-hover:#0f766e;--color-primary-active:#115e59;--color-primary-contrast:#fff;--color-primary-muted:#ccfbf1;--color-primary-subtle:#f0fdfa;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-subtle:#f1f5f9;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-light:#fef2f2;--color-danger-border:#fecaca;--color-warning:#d97706;--color-warning-hover:#b45309;--color-warning-light:#fffbeb;--color-warning-border:#fde68a;--color-success:#059669;--color-success-hover:#047857;--color-success-light:#ecfdf5;--color-success-border:#a7f3d0;--color-info:#0891b2;--color-info-hover:#0e7490;--color-info-light:#ecfeff;--color-info-border:#a5f3fc;--color-severity-low:#059669;--color-severity-low-bg:#ecfdf5;--color-severity-low-border:#a7f3d0;--color-severity-medium:#d97706;--color-severity-medium-bg:#fffbeb;--color-severity-medium-border:#fde68a;--color-severity-high:#ea580c;--color-severity-high-bg:#fff7ed;--color-severity-high-border:#fed7aa;--color-severity-critical:#dc2626;--color-severity-critical-bg:#fef2f2;--color-severity-critical-border:#fecaca;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px 0 #0d94880a;--shadow-sm:0 1px 3px 0 #0d94880f,0 1px 2px -1px #0d94880f;--shadow-md:0 4px 6px -1px #0d948814,0 2px 4px -2px #0d94880f;--shadow-lg:0 10px 15px -3px #0d948814,0 4px 6px -4px #0d94880f;--shadow-xl:0 20px 25px -5px #0d94881a,0 8px 10px -6px #0d94880f;--shadow-2xl:0 25px 50px -12px #0d948833;--shadow-elevated:0 12px 24px -4px #0d94881f,0 4px 8px -2px #0d94880f;--shadow-focus:0 0 0 3px #0d948833;--shadow-focus-danger:0 0 0 3px #dc262633;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-xs:11px;--font-sm:13px;--font-base:15px;--font-md:16px;--font-lg:18px;--font-xl:20px;--font-2xl:24px;--font-3xl:30px;--font-4xl:36px;--font-5xl:48px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-.02em;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.01em;--tracking-wider:.02em;--tracking-widest:.04em;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--transition-slower:.4s cubic-bezier(.4,0,.2,1);--transition-spring:.5s cubic-bezier(.34,1.56,.64,1);--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-popover:60;--z-toast:70;--z-tooltip:80;--z-max:9999;--glass-bg:#ffffffd9;--glass-bg-strong:#fffffff2;--glass-border:#fff9;--glass-blur:12px;--glass-blur-strong:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}:focus-visible{box-shadow:var(--shadow-focus);outline:none}:focus:not(:focus-visible){box-shadow:none;outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:none}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--font-4xl);font-weight:var(--font-bold)}h2{font-size:var(--font-3xl)}h3{font-size:var(--font-2xl)}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-md);font-weight:var(--font-medium)}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary)}small{font-size:var(--font-sm)}strong,b{font-weight:var(--font-semibold)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.text-4xl{font-size:var(--font-4xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-primary{color:var(--color-primary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;font-size:inherit;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font-family:inherit;font-size:var(--font-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input::-moz-placeholder{color:var(--color-text-muted)}textarea::-moz-placeholder{color:var(--color-text-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:hover,textarea:hover,select:hover{border-color:var(--color-border-strong)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.animate-fadeIn{animation:fadeIn var(--transition-normal)ease-out forwards}.animate-fadeInUp{animation:fadeInUp var(--transition-slow)ease-out forwards}.animate-slideUp{animation:slideUp var(--transition-slow)ease-out forwards}.animate-scaleIn{animation:scaleIn var(--transition-normal)ease-out forwards}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}.spinner-sm{border-width:2px;width:18px;height:18px}.spinner-lg{border-width:4px;width:56px;height:56px}.spinner-white{border-color:#fff #ffffff4d #ffffff4d}.skeleton{background:linear-gradient(90deg,var(--color-border-subtle)0%,var(--color-surface)50%,var(--color-border-subtle)100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{width:70%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted);background-clip:content-box;border:2px solid #0000}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong)transparent}::selection{background-color:var(--color-primary-muted);color:var(--color-primary-active)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur-strong))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.transition-all{transition:all var(--transition-normal)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-transform{transition:transform var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.badge{font-size:var(--font-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap;letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:center;gap:4px;padding:4px 10px;line-height:1;display:inline-flex}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary);border:1px solid var(--color-primary-muted)}.badge-success{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success-border)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger-border)}.badge-neutral{background:var(--color-background-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn{font-size:var(--font-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);transition:all var(--transition-normal);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;line-height:1;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--color-primary-active);transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background-subtle);border-color:var(--color-border-strong)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-background-subtle);color:var(--color-text)}.btn-sm{font-size:var(--font-xs);padding:6px 12px}.btn-lg{font-size:var(--font-md);padding:14px 24px}.input{width:100%;font-size:var(--font-base);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:10px 14px}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.input-error{border-color:var(--color-danger)}.input-error:focus{box-shadow:var(--shadow-focus-danger)}@media (max-width:768px){:root{--font-base:14px;--font-lg:16px;--font-xl:18px;--font-2xl:22px;--font-3xl:26px;--font-4xl:32px}}
