:root{--primary: 239 84% 67%;--primary-foreground: 0 0% 100%;--secondary: 210 40% 96%;--secondary-foreground: 215 25% 27%;--background: 0 0% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 38 92% 50%;--accent-foreground: 222 47% 11%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 239 84% 67%;--success: 160 84% 39%;--success-foreground: 0 0% 100%;--warning: 38 92% 50%;--warning-foreground: 222 47% 11%;--info: 199 89% 48%;--info-foreground: 0 0% 100%;--radius: .625rem;--radius-sm: .375rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--shadow-xs: 0 1px 2px 0 rgb(15 23 42 / .05);--shadow-sm: 0 2px 4px -1px rgb(15 23 42 / .06), 0 1px 2px -1px rgb(15 23 42 / .04);--shadow-md: 0 4px 12px -2px rgb(15 23 42 / .08), 0 2px 6px -2px rgb(15 23 42 / .04);--shadow-lg: 0 10px 28px -5px rgb(15 23 42 / .1), 0 6px 12px -4px rgb(15 23 42 / .04);--shadow-xl: 0 20px 48px -12px rgb(15 23 42 / .18);--shadow-glow: 0 0 0 4px rgb(79 70 229 / .12);--shadow-glow-amber: 0 0 0 4px rgb(245 158 11 / .15);--font-heading: "Sora", system-ui, sans-serif;--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .1s;--duration-normal: .18s;--duration-slow: .3s}*,*:before,*:after{box-sizing:border-box;border-color:hsl(var(--border))}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;z-index:-1;opacity:.3;background-image:radial-gradient(ellipse at 20% 0%,hsla(239,84%,67%,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,hsla(38,92%,50%,.03) 0%,transparent 50%);pointer-events:none}::selection{background-color:#6467f226;color:hsl(var(--foreground))}.hidden{display:none!important}:focus-visible{transition:box-shadow var(--duration-fast) var(--ease-out)}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.15;font-weight:600;color:hsl(var(--foreground));margin-top:0;margin-bottom:.75rem}h1{font-size:2.25rem;font-weight:800;letter-spacing:-.04em}h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}h3{font-size:1.375rem;letter-spacing:-.02em}h4{font-size:1.125rem}h5{font-size:1rem;font-weight:700}h6{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground))}p{margin-top:0;margin-bottom:1rem}small{font-size:.8125rem}code,.font-mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.text-gradient{background:linear-gradient(135deg,#4f46e5,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-12{padding:var(--spacing-12)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.pt-0{padding-top:0}.pt-4{padding-top:var(--spacing-4)}.pt-8{padding-top:var(--spacing-8)}.pb-2{padding-bottom:var(--spacing-2)}.pl-4{padding-left:var(--spacing-4)}.pl-8{padding-left:var(--spacing-8)}.m-4{margin:var(--spacing-4)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mt-12{margin-top:var(--spacing-12)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.ml-2{margin-left:var(--spacing-2)}.mx-auto{margin-left:auto;margin-right:auto}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:2rem}.space-y-1>*+*{margin-top:var(--spacing-1)}.space-y-2>*+*{margin-top:var(--spacing-2)}.space-y-3>*+*{margin-top:var(--spacing-3)}.space-y-4>*+*{margin-top:var(--spacing-4)}.space-y-6>*+*{margin-top:var(--spacing-6)}.space-y-8>*+*{margin-top:2rem}.space-x-3>*+*{margin-left:.75rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.inline-flex{display:inline-flex}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-full{grid-column:1/-1}@media(min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:text-right{text-align:right}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.w-full{width:100%}.h-full{height:100%}.h-4{height:1rem}.w-4{width:1rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-48{height:12rem}.min-h-screen{min-height:100vh}.min-h-\[80px\]{min-height:80px}.min-h-\[150px\]{min-height:150px}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.block{display:block}.relative{position:relative}.absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.font-mono{font-family:var(--font-mono)}.font-heading{font-family:var(--font-heading)}.font-regular{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.1em}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-success{color:hsl(var(--success))}.text-warning{color:hsl(var(--warning))}.text-info{color:hsl(var(--info))}.text-white{color:#fff}.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-indigo-600{color:#4338ca}.text-indigo-700,.text-indigo-800{color:#3730a3}.text-green-700{color:#15803d}.text-green-800{color:#166534}.text-yellow-800{color:#854d0e}.text-orange-600{color:#ea580c}.text-orange-800{color:#9a3412}.text-red-600{color:#dc2626}.text-amber-800{color:#92400e}.text-gray-500{color:#64748b}.text-gray-600{color:#475569}.text-gray-900{color:#0f172a}.hover\:underline:hover{text-decoration:underline}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive)/.8)}.hover\:text-primary\/90:hover{color:hsl(var(--primary)/.9)}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-primary{background-color:hsl(var(--primary))}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-subtle{background-color:#f1f5f9}.bg-slate-50{background-color:#f8fafc}.bg-slate-100{background-color:#f1f5f9}.bg-slate-200{background-color:#e2e8f0}.bg-indigo-50{background-color:#eef2ff}.bg-indigo-100{background-color:#e0e7ff}.bg-indigo-500{background-color:#6366f1}.bg-indigo-600{background-color:#4f46e5}.bg-green-100{background-color:#d1fae5}.bg-yellow-100{background-color:#fef3c7}.bg-orange-100{background-color:#ffedd5}.bg-red-100{background-color:#fee2e2}.bg-teal-50{background-color:#f0f9ff}.bg-gray-50{background-color:#f8fafc}.bg-gray-100{background-color:#f1f5f9}.bg-primary-50{background-color:hsl(var(--primary)/.1)}.hover\:bg-gray-50:hover,.hover\:bg-slate-50:hover{background-color:#f8fafc}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.border{border-width:1px;border-style:solid;border-color:hsl(var(--border))}.border-b{border-bottom-width:1px;border-bottom-style:solid;border-color:hsl(var(--border))}.border-l-2{border-left-width:2px;border-left-style:solid;border-color:hsl(var(--border))}.border-l-4{border-left-width:4px;border-left-style:solid}.border-t{border-top-width:1px;border-top-style:solid;border-color:hsl(var(--border))}.border-0{border-width:0}.border-transparent{border-color:transparent}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-dashed{border-style:dashed}.border-success{border-color:hsl(var(--success))}.border-error{border-color:hsl(var(--destructive))}.border-green-500{border-color:#22c55e}.border-red-500{border-color:#ef4444}.border-slate-200{border-color:#e2e8f0}.border-indigo-500{border-color:#6366f1}.rounded{border-radius:.25rem}.rounded-md{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm,.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-glow{box-shadow:var(--shadow-glow)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{box-shadow:var(--shadow-glow)}.focus\:ring-ring:focus{--ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{box-shadow:var(--shadow-glow)}.focus-visible\:ring-ring:focus-visible{--ring-color: hsl(var(--ring))}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition:all var(--duration-normal) var(--ease-out)}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:.9375rem;font-family:var(--font-sans);font-weight:600;height:2.5rem;padding-left:1rem;padding-right:1rem;letter-spacing:-.01em;transition:all var(--duration-normal) var(--ease-out);border:1px solid transparent;cursor:pointer;white-space:nowrap;gap:.5rem}.btn:focus-visible{outline:none;box-shadow:var(--shadow-glow)}.btn:disabled{pointer-events:none;opacity:.4}.btn:active:not(:disabled){transform:scale(.97)}.btn--default{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn--default:hover{background-color:#4346ef;box-shadow:var(--shadow-md)}.btn--destructive,.btn--danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn--destructive:hover,.btn--danger:hover{background-color:#ed2c2c;box-shadow:0 2px 8px hsl(var(--destructive)/.2)}.btn--outline{border-color:hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground))}.btn--outline:hover{background-color:hsl(var(--muted));border-color:hsl(var(--border))}.btn--secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn--secondary:hover{background-color:hsl(var(--secondary)/.75)}.btn--ghost{background-color:transparent;color:hsl(var(--foreground))}.btn--ghost:hover{background-color:hsl(var(--muted))}.btn--link{background-color:transparent;color:hsl(var(--primary));text-decoration:none;font-weight:500}.btn--link:hover{text-decoration:underline;text-underline-offset:3px}.btn--gradient{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;border:none}.btn--gradient:hover{box-shadow:var(--shadow-md),var(--shadow-glow)}.btn--sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:.8125rem;border-radius:var(--radius-sm)}.btn--lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:1rem}.btn--xl{height:3.5rem;padding-left:2rem;padding-right:2rem;font-size:1.125rem}.btn--icon{height:2.5rem;width:2.5rem;padding:0}.btn--icon-sm{height:2rem;width:2rem;padding:0}.input-wrapper{display:flex;flex-direction:column;gap:.375rem}.input-wrapper label,.form-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));letter-spacing:.01em}.input-field{display:flex;height:2.75rem;width:100%;border-radius:var(--radius);border:1.5px solid hsl(var(--input));background-color:#fff;padding:.5rem .875rem;font-size:.875rem;font-family:var(--font-sans);transition:all var(--duration-fast) var(--ease-out)}.input-field::file-selector-button{border:0;background:transparent;font-size:.875rem;font-weight:500}.input-field::placeholder{color:hsl(var(--muted-foreground)/.7)}.input-field:hover:not(:focus):not(:disabled){border-color:hsl(var(--muted-foreground)/.3)}.input-field:focus-visible,.input-field:focus{outline:none;border-color:hsl(var(--ring));box-shadow:var(--shadow-glow)}.input-field:disabled{cursor:not-allowed;opacity:.5}.input-field.textarea{min-height:6rem;resize:vertical;line-height:1.5}.input-field.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.input-error{font-size:.8125rem;font-weight:500;color:hsl(var(--destructive));margin-top:.25rem}.card{border-radius:var(--radius-xl);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-out)}.card__header,.card-header{display:flex;flex-direction:column;gap:.375rem;padding:1.5rem}.card__title,.card-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;line-height:1.2;letter-spacing:-.015em;margin:0}.card__description,.card-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.card__content,.card-body{padding:1.5rem;padding-top:0}.card__footer,.card-footer{display:flex;align-items:center;padding:1.5rem;padding-top:0}.card--elevated{box-shadow:var(--shadow-lg)}.card--outlined{box-shadow:none;border:1.5px solid hsl(var(--border))}.card--interactive{cursor:pointer}.card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card--interactive:active{transform:scale(.995)}.card--stat{padding:1.25rem}.modal-overlay{position:fixed;inset:0;z-index:400;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--duration-normal) var(--ease-out)}.modal-content{position:fixed;left:50%;top:50%;z-index:400;display:grid;width:100%;max-width:32rem;transform:translate(-50%,-50%);gap:1rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));padding:1.75rem;box-shadow:var(--shadow-xl);border-radius:var(--radius-2xl);animation:modalIn var(--duration-slow) var(--ease-spring)}.modal-content--lg{max-width:48rem}@media(max-width:640px){.modal-content{max-width:90vw}}.modal-header{display:flex;flex-direction:column;gap:.5rem;text-align:center}@media(min-width:640px){.modal-header{text-align:left}}.modal-header h2{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;line-height:1.2;letter-spacing:-.015em;margin:0}.modal-header p{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.modal-footer{display:flex;flex-direction:column-reverse}@media(min-width:640px){.modal-footer{flex-direction:row;justify-content:flex-end;gap:.75rem}}.modal-close-btn{position:absolute;right:1rem;top:1rem;border-radius:var(--radius);opacity:.5;transition:all var(--duration-fast) var(--ease-out);background:transparent;border:none;cursor:pointer;padding:.25rem}.modal-close-btn:hover{opacity:1;background-color:hsl(var(--muted))}.modal-close-btn:focus{outline:none;box-shadow:var(--shadow-glow)}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;font-size:.75rem;font-weight:600;padding:.2rem .625rem;letter-spacing:.025em;white-space:nowrap}.badge--draft{background:#fef3c7;color:#92400e}.badge--published{background:#e0e7ff;color:#3730a3}.badge--active{background:#e0f2fe;color:#0369a1}.badge--completed{background:#d1fae5;color:#065f46}.badge--failed{background:#fee2e2;color:#991b1b}.badge--pending{background:#f1f5f9;color:#475569}.badge--success{background:#d1fae5;color:#065f46}.badge--error{background:#fee2e2;color:#991b1b}.badge--warning{background:#fef3c7;color:#92400e}.badge--info{background:#e0f2fe;color:#0369a1}.badge--fast{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff}.tabs{display:flex;border-bottom:1px solid hsl(var(--border));gap:0}.tab{padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--duration-fast) var(--ease-out)}.tab--active{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary));font-weight:600}.tab:hover:not(.tab--active){color:hsl(var(--foreground))}.progress-bar{height:3px;background:hsl(var(--border));border-radius:9999px;overflow:hidden}.progress-bar__fill{height:100%;background:hsl(var(--primary));transition:width .3s var(--ease-out);border-radius:9999px}.progress-bar--success .progress-bar__fill{background:hsl(var(--success))}.progress-bar--warning .progress-bar__fill{background:hsl(var(--warning))}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:500;display:flex;flex-direction:column;gap:.5rem}.toast{max-width:22rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:1rem;display:flex;align-items:flex-start;gap:.75rem;animation:slideInRight .2s var(--ease-spring)}.toast--success{border-left:4px solid hsl(var(--success))}.toast--error{border-left:4px solid hsl(var(--destructive))}.toast--warning{border-left:4px solid hsl(var(--warning))}.toast--info{border-left:4px solid hsl(var(--info))}.toast__title{font-weight:600;font-size:.875rem}.toast__message{font-size:.8125rem;color:hsl(var(--muted-foreground))}.empty-state{text-align:center;padding:4rem 1rem}.empty-state__icon{width:80px;height:80px;margin:0 auto 1rem;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.empty-state__title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.empty-state__description{font-size:.875rem;color:hsl(var(--muted-foreground));max-width:20rem;margin:0 auto}.skeleton{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}
