﻿:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96%;--secondary-foreground: 222.2 84% 4.9%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96%;--accent-foreground: 222.2 84% 4.9%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--success: 142.1 76.2% 36.3%;--success-foreground: 355.7 100% 97.3%;--warning: 32.5 94.6% 43.7%;--warning-foreground: 0 0% 9%;--info: 213 94% 68%;--info-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: 0.5rem;--radius-sm: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-full: 9999px;--font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;--font-mono: 'Fira Code', 'Monaco', 'Cascadia Code', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro', 'Fira Mono', 'Droid Sans Mono', 'Courier New', monospace;--font-heading: var(--font-family);--font-size-xs: 0.75rem;--font-size-sm: 0.875rem;--font-size-base: 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;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--spacing-0: 0;--spacing-px: 1px;--spacing-1: 0.25rem;--spacing-2: 0.5rem;--spacing-3: 0.75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-xs: 0.5rem;--spacing-sm: 0.75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--size-0: 0;--size-px: 1px;--size-1: 0.25rem;--size-2: 0.5rem;--size-3: 0.75rem;--size-4: 1rem;--size-5: 1.25rem;--size-6: 1.5rem;--size-7: 1.75rem;--size-8: 2rem;--size-9: 2.25rem;--size-10: 2.5rem;--size-11: 2.75rem;--size-12: 3rem;--size-14: 3.5rem;--size-16: 4rem;--size-20: 5rem;--size-24: 6rem;--size-28: 7rem;--size-32: 8rem;--size-36: 9rem;--size-40: 10rem;--size-44: 11rem;--size-48: 12rem;--size-52: 13rem;--size-56: 14rem;--size-60: 15rem;--size-64: 16rem;--size-72: 18rem;--size-80: 20rem;--size-96: 24rem;--width-full: 100%;--width-screen: 100vw;--width-min: min-content;--width-max: max-content;--width-fit: fit-content;--height-full: 100%;--height-screen: 100vh;--height-min: min-content;--height-max: max-content;--height-fit: fit-content;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);--shadow-none: 0 0 #0000;--opacity-0: 0;--opacity-5: 0.05;--opacity-10: 0.1;--opacity-20: 0.2;--opacity-25: 0.25;--opacity-30: 0.3;--opacity-40: 0.4;--opacity-50: 0.5;--opacity-60: 0.6;--opacity-70: 0.7;--opacity-75: 0.75;--opacity-80: 0.8;--opacity-90: 0.9;--opacity-95: 0.95;--opacity-100: 1;--transition-none: none;--transition-all: all 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-fast: 150ms ease-in-out;--transition-normal: 200ms ease-in-out;--transition-slow: 300ms ease-in-out;--transition-colors: color, background-color, border-color, text-decoration-color, fill, stroke 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-opacity: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-shadow: box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-transform: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);--ease-linear: linear;--ease-in: cubic-bezier(0.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, 0.2, 1);--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-auto: auto;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--success: 142.4 71.8% 29.2%;--success-foreground: 144.9 80.4% 10%;--warning: 35.5 91.7% 32.9%;--warning-foreground: 20.5 90.2% 48.2%;--info: 217.9 91.2% 59.8%;--info-foreground: 222.2 84% 4.9%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%}*,*::before,*::after{box-sizing:border-box}html,body,div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,blockquote,pre,table,tr,td,th,form,fieldset,legend{margin:0;padding:0}html,body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:hsl(var(--foreground));background-color:hsl(var(--background));font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:var(--radius)}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground));border-radius:var(--radius);transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background:hsl(var(--foreground))}::-webkit-scrollbar-corner{background:hsl(var(--muted))}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground)) hsl(var(--muted))}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.text-6xl{font-size:var(--font-size-6xl)}.font-thin{font-weight:var(--font-weight-thin)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.font-black{font-weight:var(--font-weight-black)}.leading-none{line-height:var(--line-height-none)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.m-0{margin:var(--spacing-0, 0) !important}.m-1{margin:var(--spacing-1, 0.25rem) !important}.m-2{margin:var(--spacing-2, 0.5rem) !important}.m-3{margin:var(--spacing-3, 0.75rem) !important}.m-4{margin:var(--spacing-4, 1rem) !important}.m-5{margin:var(--spacing-5, 1.25rem) !important}.m-6{margin:var(--spacing-6, 1.5rem) !important}.m-8{margin:var(--spacing-8, 2rem) !important}.m-10{margin:var(--spacing-10, 2.5rem) !important}.m-12{margin:var(--spacing-12, 3rem) !important}.mx-0{margin-left:var(--spacing-0, 0) !important;margin-right:var(--spacing-0, 0) !important}.mx-1{margin-left:var(--spacing-1, 0.25rem) !important;margin-right:var(--spacing-1, 0.25rem) !important}.mx-2{margin-left:var(--spacing-2, 0.5rem) !important;margin-right:var(--spacing-2, 0.5rem) !important}.mx-3{margin-left:var(--spacing-3, 0.75rem) !important;margin-right:var(--spacing-3, 0.75rem) !important}.mx-4{margin-left:var(--spacing-4, 1rem) !important;margin-right:var(--spacing-4, 1rem) !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.my-0{margin-top:var(--spacing-0, 0);margin-bottom:var(--spacing-0, 0)}.my-1{margin-top:var(--spacing-1, 0.25rem);margin-bottom:var(--spacing-1, 0.25rem)}.my-2{margin-top:var(--spacing-2, 0.5rem);margin-bottom:var(--spacing-2, 0.5rem)}.my-3{margin-top:var(--spacing-3, 0.75rem);margin-bottom:var(--spacing-3, 0.75rem)}.my-4{margin-top:var(--spacing-4, 1rem);margin-bottom:var(--spacing-4, 1rem)}.mt-0{margin-top:var(--spacing-0, 0)}.mt-1{margin-top:var(--spacing-1, 0.25rem)}.mt-2{margin-top:var(--spacing-2, 0.5rem)}.mt-3{margin-top:var(--spacing-3, 0.75rem)}.mt-4{margin-top:var(--spacing-4, 1rem)}.mt-6{margin-top:var(--spacing-6, 1.5rem)}.mt-8{margin-top:var(--spacing-8, 2rem)}.mb-0{margin-bottom:var(--spacing-0, 0)}.mb-1{margin-bottom:var(--spacing-1, 0.25rem)}.mb-2{margin-bottom:var(--spacing-2, 0.5rem)}.mb-3{margin-bottom:var(--spacing-3, 0.75rem)}.mb-4{margin-bottom:var(--spacing-4, 1rem)}.mb-6{margin-bottom:var(--spacing-6, 1.5rem)}.mb-8{margin-bottom:var(--spacing-8, 2rem)}.ml-0{margin-left:var(--spacing-0, 0)}.ml-1{margin-left:var(--spacing-1, 0.25rem)}.ml-2{margin-left:var(--spacing-2, 0.5rem)}.ml-3{margin-left:var(--spacing-3, 0.75rem)}.ml-4{margin-left:var(--spacing-4, 1rem)}.mr-0{margin-right:var(--spacing-0, 0)}.mr-1{margin-right:var(--spacing-1, 0.25rem)}.mr-2{margin-right:var(--spacing-2, 0.5rem)}.mr-3{margin-right:var(--spacing-3, 0.75rem)}.mr-4{margin-right:var(--spacing-4, 1rem)}.p-0{padding:var(--spacing-0, 0) !important}.p-1{padding:var(--spacing-1, 0.25rem) !important}.p-2{padding:var(--spacing-2, 0.5rem) !important}.p-3{padding:var(--spacing-3, 0.75rem) !important}.p-4{padding:var(--spacing-4, 1rem) !important}.p-5{padding:var(--spacing-5, 1.25rem) !important}.p-6{padding:var(--spacing-6, 1.5rem) !important}.p-8{padding:var(--spacing-8, 2rem) !important}.px-0{padding-left:var(--spacing-0, 0);padding-right:var(--spacing-0, 0)}.px-1{padding-left:var(--spacing-1, 0.25rem);padding-right:var(--spacing-1, 0.25rem)}.px-2{padding-left:var(--spacing-2, 0.5rem);padding-right:var(--spacing-2, 0.5rem)}.px-3{padding-left:var(--spacing-3, 0.75rem);padding-right:var(--spacing-3, 0.75rem)}.px-4{padding-left:var(--spacing-4, 1rem);padding-right:var(--spacing-4, 1rem)}.px-6{padding-left:var(--spacing-6, 1.5rem);padding-right:var(--spacing-6, 1.5rem)}.py-0{padding-top:var(--spacing-0, 0);padding-bottom:var(--spacing-0, 0)}.py-1{padding-top:var(--spacing-1, 0.25rem);padding-bottom:var(--spacing-1, 0.25rem)}.py-2{padding-top:var(--spacing-2, 0.5rem);padding-bottom:var(--spacing-2, 0.5rem)}.py-3{padding-top:var(--spacing-3, 0.75rem);padding-bottom:var(--spacing-3, 0.75rem)}.py-4{padding-top:var(--spacing-4, 1rem);padding-bottom:var(--spacing-4, 1rem)}.pt-1{padding-top:var(--spacing-1, 0.25rem)}.pt-2{padding-top:var(--spacing-2, 0.5rem)}.pt-3{padding-top:var(--spacing-3, 0.75rem)}.pt-4{padding-top:var(--spacing-4, 1rem)}.pb-1{padding-bottom:var(--spacing-1, 0.25rem)}.pb-2{padding-bottom:var(--spacing-2, 0.5rem)}.pb-3{padding-bottom:var(--spacing-3, 0.75rem)}.pb-4{padding-bottom:var(--spacing-4, 1rem)}.pl-1{padding-left:var(--spacing-1, 0.25rem)}.pl-2{padding-left:var(--spacing-2, 0.5rem)}.pl-3{padding-left:var(--spacing-3, 0.75rem)}.pl-4{padding-left:var(--spacing-4, 1rem)}.pr-1{padding-right:var(--spacing-1, 0.25rem)}.pr-2{padding-right:var(--spacing-2, 0.5rem)}.pr-3{padding-right:var(--spacing-3, 0.75rem)}.pr-4{padding-right:var(--spacing-4, 1rem)}.gap-1{gap:var(--spacing-1, 0.25rem)}.gap-2{gap:var(--spacing-2, 0.5rem)}.gap-3{gap:var(--spacing-3, 0.75rem)}.gap-4{gap:var(--spacing-4, 1rem)}.gap-6{gap:var(--spacing-6, 1.5rem)}.space-x-1>*+*{margin-left:var(--spacing-1, 0.25rem)}.space-x-2>*+*{margin-left:var(--spacing-2, 0.5rem)}.space-x-3>*+*{margin-left:var(--spacing-3, 0.75rem)}.space-x-4>*+*{margin-left:var(--spacing-4, 1rem)}.space-y-1>*+*{margin-top:var(--spacing-1, 0.25rem)}.space-y-2>*+*{margin-top:var(--spacing-2, 0.5rem)}.space-y-3>*+*{margin-top:var(--spacing-3, 0.75rem)}.space-y-4>*+*{margin-top:var(--spacing-4, 1rem)}.input,.form-input{display:flex;width:var(--width-full);border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:hsl(var(--background));font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:hsl(var(--foreground));transition:var(--transition-colors);outline:none;box-sizing:border-box}.input:focus,.form-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring)/var(--opacity-20))}.input:disabled,.form-input:disabled{cursor:not-allowed;opacity:var(--opacity-50)}.input::placeholder,.form-input::placeholder{color:hsl(var(--muted-foreground))}.input.small,.form-input.small{height:var(--size-8, 2rem);padding-left:var(--spacing-2, 0.5rem);padding-right:var(--spacing-2, 0.5rem);font-size:var(--font-size-xs, 0.75rem)}.input.medium,.input:not(.small):not(.large),.form-input.medium,.form-input:not(.small):not(.large){height:var(--size-10, 2.5rem);padding-left:var(--spacing-3, 0.75rem);padding-right:var(--spacing-3, 0.75rem)}.input.large,.form-input.large{height:var(--size-12, 3rem);padding-left:var(--spacing-4, 1rem);padding-right:var(--spacing-4, 1rem);font-size:var(--font-size-base, 1rem)}.input.outline,.form-input.outline{border:1px solid hsl(var(--border));background-color:hsl(var(--background))}.input.filled,.form-input.filled{border:1px solid rgba(0,0,0,0);background-color:hsl(var(--muted))}.input.filled:focus,.form-input.filled:focus{background-color:hsl(var(--background));border-color:hsl(var(--ring))}.input.ghost,.form-input.ghost{border:1px solid rgba(0,0,0,0);background-color:rgba(0,0,0,0)}.input.ghost:focus,.form-input.ghost:focus{border-color:hsl(var(--border));background-color:hsl(var(--background))}.input.error,.form-input.error{border-color:hsl(var(--destructive))}.input.error:focus,.form-input.error:focus{border-color:hsl(var(--destructive));box-shadow:0 0 0 2px hsl(var(--destructive)/var(--opacity-20))}.input.success,.form-input.success{border-color:hsl(var(--success))}.input.success:focus,.form-input.success:focus{border-color:hsl(var(--success));box-shadow:0 0 0 2px hsl(var(--success)/var(--opacity-20))}.input.warning,.form-input.warning{border-color:hsl(var(--warning))}.input.warning:focus,.form-input.warning:focus{border-color:hsl(var(--warning));box-shadow:0 0 0 2px hsl(var(--warning)/var(--opacity-20))}.input-with-icon{position:relative;display:block;width:100%}.input-with-icon .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#6b7280;font-size:14px;pointer-events:none;z-index:5;line-height:1}.input-with-icon .input{padding-left:40px;width:100%;position:relative;z-index:1;height:40px}.input-with-icon.small .input-icon{left:var(--spacing-2);font-size:var(--font-size-xs)}.input-with-icon.small .input{padding-left:var(--spacing-7)}.input-with-icon.large .input-icon{left:var(--spacing-4);font-size:var(--font-size-base)}.input-with-icon.large .input{padding-left:var(--spacing-12)}.textarea{min-height:var(--size-20);padding:var(--spacing-3);resize:vertical;border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:hsl(var(--background));font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:hsl(var(--foreground));transition:var(--transition-colors);outline:none;font-family:inherit;width:var(--width-full)}.textarea:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring)/var(--opacity-20))}.textarea::placeholder{color:hsl(var(--muted-foreground))}.select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-2) center;background-repeat:no-repeat;background-size:var(--size-4) var(--size-4);border-radius:var(--radius-md);border:1px solid hsl(var(--border));background-color:hsl(var(--background));height:var(--size-10);padding-left:var(--spacing-3);padding-right:var(--spacing-10);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:hsl(var(--foreground));transition:var(--transition-colors);outline:none;cursor:pointer;width:var(--width-full)}.select:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring)/var(--opacity-20))}.select:disabled{cursor:not-allowed;opacity:var(--opacity-50)}.checkbox{height:var(--size-4);width:var(--size-4);border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background));transition:var(--transition-colors);cursor:pointer;appearance:none;margin:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.checkbox:checked{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.checkbox:checked::after{content:"✓";color:hsl(var(--primary-foreground));font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.radio{height:var(--size-4);width:var(--size-4);border-radius:var(--radius-full);border:1px solid hsl(var(--border));background-color:hsl(var(--background));transition:var(--transition-colors);cursor:pointer;appearance:none;margin:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.radio:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.radio:checked{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.radio:checked::after{content:"";width:var(--size-2);height:var(--size-2);border-radius:var(--radius-full);background-color:hsl(var(--primary-foreground))}.label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:hsl(var(--foreground));line-height:var(--line-height-none);cursor:pointer}.label.required::after{content:" *";color:hsl(var(--destructive))}.field-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.field-group .field-error{font-size:var(--font-size-xs);color:hsl(var(--destructive));line-height:var(--line-height-tight)}.field-group .field-description{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));line-height:var(--line-height-tight)}.input-group{display:flex;width:var(--width-full)}.input-group .input{border-radius:0;border-right-width:0}.input-group .input:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.input-group .input:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-right-width:1px}.input-group .btn{border-radius:0}.input-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.input-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-colors);cursor:pointer;border:1px solid rgba(0,0,0,0);text-decoration:none;outline:none;position:relative;user-select:none}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:var(--opacity-50)}.btn.small{height:var(--size-8, 2rem);padding-left:var(--spacing-3, 0.75rem);padding-right:var(--spacing-3, 0.75rem);border-radius:var(--radius-sm, 0.375rem);font-size:var(--font-size-xs, 0.75rem)}.btn.medium,.btn:not(.small):not(.large){height:var(--size-10, 2.5rem);padding-left:var(--spacing-4, 1rem);padding-right:var(--spacing-4, 1rem);border-radius:var(--radius-md, 0.5rem)}.btn.large{height:var(--size-11, 2.75rem);padding-left:var(--spacing-8, 2rem);padding-right:var(--spacing-8, 2rem);border-radius:var(--radius-md, 0.5rem);font-size:var(--font-size-base, 1rem)}.btn.primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn.primary:hover{background-color:hsl(var(--primary)/var(--opacity-90))}.btn.secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.btn.secondary:hover{background-color:hsl(var(--secondary)/var(--opacity-80))}.btn.outline{border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground))}.btn.outline:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn.ghost{background-color:rgba(0,0,0,0);color:hsl(var(--foreground))}.btn.ghost:hover{background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn.destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn.destructive:hover{background-color:hsl(var(--destructive)/var(--opacity-90))}.btn.success{background-color:hsl(var(--success));color:hsl(var(--success-foreground))}.btn.success:hover{background-color:hsl(var(--success)/var(--opacity-90))}.btn.warning{background-color:hsl(var(--warning));color:hsl(var(--warning-foreground))}.btn.warning:hover{background-color:hsl(var(--warning)/var(--opacity-90))}.btn.info{background-color:hsl(var(--info));color:hsl(var(--info-foreground))}.btn.info:hover{background-color:hsl(var(--info)/var(--opacity-90))}.btn.loading{color:rgba(0,0,0,0)}.btn.loading::after{content:"";position:absolute;width:var(--size-4);height:var(--size-4);top:50%;left:50%;margin-left:calc(var(--size-4)/-2);margin-top:calc(var(--size-4)/-2);border:2px solid rgba(0,0,0,0);border-top-color:currentColor;border-radius:var(--radius-full);animation:button-loading-spinner 1s ease infinite}.btn.icon-only{width:var(--size-10);padding:0}.btn.icon-only.small{width:var(--size-8)}.btn.icon-only.large{width:var(--size-11)}.btn.icon-only .icon{margin-right:0}.btn .icon{margin-right:var(--spacing-2);font-size:var(--font-size-sm)}@keyframes button-loading-spinner{from{transform:rotate(0turn)}to{transform:rotate(1turn)}}.action-buttons .btn .icon{margin-right:0;margin-left:0}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-group .btn{border-radius:0;border-right-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-right-width:1px}.btn-group .btn:focus{z-index:var(--z-10)}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--card-foreground));box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.card-hover:hover{box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer}.card-clickable:hover{box-shadow:var(--shadow-md)}.card-content{padding:var(--spacing-lg)}.card-footer{display:flex;align-items:center;padding:var(--spacing-lg);padding-top:0}.card-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.card-header h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.card-header p{color:hsl(var(--muted-foreground));font-size:.875rem;margin:0}.header-icon{font-size:1.5rem;opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg);transition:var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-icon-container{width:3rem;height:3rem;background:hsl(var(--primary)/0.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.stat-icon{font-size:1.5rem;color:hsl(var(--primary))}.stat-details{flex:1}.stat-number{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:var(--spacing-xs)}.stat-label{color:hsl(var(--muted-foreground));font-size:.875rem;margin-bottom:var(--spacing-sm)}.stat-trend{color:hsl(142,76%,36%);font-size:.75rem;font-weight:500;display:flex;align-items:center;gap:var(--spacing-xs)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.metrics-card,.activity-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg)}.metrics-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.metric-item{display:flex;justify-content:space-between;align-items:center}.metric-label{color:hsl(var(--muted-foreground));font-size:.875rem}.progress-bar{width:100%;height:.5rem;background:hsl(var(--muted));border-radius:9999px;overflow:hidden;margin-top:var(--spacing-xs)}.progress-fill{height:100%;background:hsl(var(--primary));border-radius:9999px;transition:width var(--transition-normal)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.activity-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius);transition:var(--transition-fast)}.activity-item:hover{background:hsl(var(--muted)/0.5)}.activity-icon{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:500;flex-shrink:0;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.activity-icon.success{background:hsl(142,76%,360%);color:hsl(142,76%,36%)}.activity-icon.info{background:hsl(221,83%,530%);color:hsl(221,83%,53%)}.activity-icon.warning{background:hsl(45,93%,470%);color:hsl(45,93%,47%)}.activity-content{flex:1;min-width:0}.activity-title{color:hsl(var(--foreground));font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-xs)}.activity-time{color:hsl(var(--muted-foreground));font-size:.75rem}.login-card{width:100%;max-width:420px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-2xl) 2.5rem;box-shadow:var(--shadow-lg)}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-md)}.modal-content{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn var(--transition-normal) ease-out}@keyframes modalSlideIn{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.table-container{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card))}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500}.badge-success{background-color:hsl(142,76%,36%);color:#fff}.badge-warning{background-color:hsl(45,93%,47%);color:#fff}.badge-danger{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.icon.xs{width:12px;height:12px}.icon.sm{width:16px;height:16px}.icon.md{width:20px;height:20px}.icon.lg{width:24px;height:24px}.icon.xl{width:32px;height:32px}.icon.current{color:currentColor}.icon.primary{color:hsl(var(--primary))}.icon.secondary{color:hsl(var(--secondary))}.icon.muted{color:hsl(var(--muted-foreground))}.icon.destructive{color:hsl(var(--destructive))}.icon:focus{outline:none}.icon:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;margin-right:var(--spacing-3)}.theme-toggle:hover{background:hsl(var(--accent));border-color:hsl(var(--accent))}.theme-toggle:hover .theme-icon{transform:scale(1.1)}.theme-toggle:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}.theme-toggle:active .theme-icon{transform:rotate(180deg)}@media(max-width: 768px){.theme-toggle{width:2.25rem;height:2.25rem;margin-right:var(--spacing-2)}}.theme-icon{font-size:1.125rem;line-height:1;transition:transform .2s ease}@media(max-width: 768px){.theme-icon{font-size:1rem}}.dropdown-root{position:relative;display:inline-block}.dropdown-trigger{cursor:pointer;user-select:none}.dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;z-index:100;background:hsl(var(--card, 0 0% 100%));border:1px solid hsl(var(--border, 0 0% 90%));border-radius:var(--radius, 0.5rem);box-shadow:0 4px 24px rgba(0,0,0,.08);padding:.5rem 0;margin-top:.5rem;display:block;animation:dropdown-fade-in .18s cubic-bezier(0.4, 0, 0.2, 1)}.dropdown-menu:focus{outline:none}@keyframes dropdown-fade-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.export-section{padding:.5rem 1rem .5rem 1rem}.export-section h4{font-size:.95rem;font-weight:600;color:hsl(var(--muted-foreground, 0 0% 40%));margin-bottom:.25rem}.export-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.375rem;cursor:pointer;color:hsl(var(--foreground, 0 0% 10%));transition:background .12s}.export-option:hover{background:hsl(var(--muted, 0 0% 96%))}.app-layout{display:flex;min-height:100vh;background:hsl(var(--background))}.sidebar{width:250px;background:hsl(var(--card));border-right:1px solid hsl(var(--border));display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}.sidebar-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:var(--spacing-md);min-height:72px;box-sizing:border-box}.sidebar-nav{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:calc(var(--z-fixed) - 1);display:none}@media(max-width: 768px){.sidebar{width:200px}}@media(max-width: 640px){.sidebar{transform:translateX(-100%);position:fixed;z-index:var(--z-fixed);transition:transform .3s ease-in-out}.sidebar.sidebar-open{transform:translateX(0)}}@media(max-width: 640px){.sidebar-overlay{display:block}}.logo-icon{font-size:1.5rem;color:hsl(var(--primary))}.logo-image{width:32px;height:32px;object-fit:contain;flex-shrink:0;color:hsl(var(--foreground))}.dark .logo-image{filter:brightness(0) invert(1)}@media(max-width: 640px){.logo-image{width:28px;height:28px}}.logo-text{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground))}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius);text-decoration:none;color:hsl(var(--muted-foreground));font-size:.875rem;font-weight:500;transition:var(--transition-fast)}.nav-item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.nav-item.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.nav-icon{display:flex;align-items:center;justify-content:center;transition:color .2s ease}.nav-separator{height:1px;background:hsl(var(--border));margin:var(--spacing-sm) 0}.nav-date{padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) 0;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:400;text-align:center;opacity:.8}.logout-nav-item{background:none;border:none;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;color:hsl(var(--destructive));border-radius:var(--radius);transition:var(--transition-fast)}.logout-nav-item:hover{background:hsl(var(--destructive)/0.1);color:hsl(var(--destructive))}.desktop-only{display:block}@media(max-width: 640px){.desktop-only{display:none}}.main-content{flex:1;margin-left:250px;display:flex;flex-direction:column;min-height:100vh}@media(max-width: 768px){.main-content{margin-left:200px}}@media(max-width: 640px){.main-content{margin-left:0}}.top-bar{background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));padding:var(--spacing-md) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky);min-height:72px;box-sizing:border-box}.top-bar-left{display:flex;align-items:center;gap:var(--spacing-md)}@media(max-width: 640px){.top-bar{padding:.75rem var(--spacing-md)}}.page-title-container{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-title-container h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0}.page-title-main{display:flex;align-items:center;gap:var(--spacing-sm)}.page-icon{font-size:1.25rem;color:hsl(var(--primary));font-weight:600}.page-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;margin-left:calc(1.25rem + var(--spacing-sm))}.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius);transition:var(--transition-fast);flex-direction:column;justify-content:space-between;width:24px;height:18px}.menu-toggle:hover{background:hsl(var(--accent))}@media(max-width: 640px){.menu-toggle{display:flex}}.hamburger-line{width:100%;height:2px;background:hsl(var(--foreground));transition:var(--transition-fast)}.page-content{flex:1;padding:var(--spacing-xl);max-width:100%;overflow-x:auto}@media(max-width: 640px){.page-content{padding:var(--spacing-md)}}.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-header{margin-bottom:var(--spacing-xl)}.welcome-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 var(--spacing-sm) 0;display:flex;align-items:center;gap:var(--spacing-md)}@media(max-width: 640px){.welcome-title{font-size:1.5rem}}.welcome-subtitle{color:hsl(var(--muted-foreground));font-size:1rem;margin:0}.icon-dashboard{font-size:2rem;opacity:.8}.loading-container{display:flex;justify-content:center;padding:var(--spacing-xl)}.loading-text{margin-top:var(--spacing-md);color:hsl(var(--muted-foreground))}.spinner{width:2rem;height:2rem;border:3px solid hsl(var(--muted));border-top:3px solid hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}.quick-actions-section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}@media(max-width: 768px){.quick-actions-grid{grid-template-columns:1fr}}.data-table{width:100%;border-collapse:collapse;background-color:hsl(var(--card))}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid hsl(var(--border))}.data-table th{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));font-weight:600;font-size:.875rem}.data-table td{color:hsl(var(--foreground));font-size:.875rem}.data-table tr:hover{background-color:hsl(var(--muted)/0.5)}.data-table tr:last-child td{border-bottom:none}.stock-ok{color:hsl(142,76%,36%)}.stock-low{color:hsl(45,93%,47%)}.stock-zero{color:hsl(var(--destructive))}.precio{font-weight:600;color:hsl(var(--foreground))}@media(max-width: 768px){.stats-grid,.content-grid{grid-template-columns:1fr}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:hsl(var(--background));padding:var(--spacing-md)}#blazor-error-ui{background:hsl(var(--destructive));bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:var(--z-modal);color:hsl(var(--destructive-foreground))}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;color:hsl(var(--destructive-foreground))}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHZpZXdCb3g9IjAgMCA1NiA0OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjUgNi41TDIzLjUgMS41TDMzLjUgNi41TDQyIDEzLjVMNDggMjMuNUw0MyAzMy41TDMzLjUgNDJMMjMuNSA0N0wxMy41IDQyTDUgMzMuNUwwIDIzLjVMNSAxMy41TDEzLjUgNi41WiIgZmlsbD0iIzUwN0NGMyIvPgo8cGF0aCBkPSJtMjggOC4wNTY0My0xLjY4Mjk3IDEyLjY5MTQxIDAuNjA2NTIgMC44MDMwMSIgZmlsbD0iIzUwN0NGMyIvPgo8L3N2Zz4K) no-repeat 1rem center;background-size:auto .75rem;line-height:2rem;padding-left:3.5rem}.blazor-error-boundary::after{content:"An error has occurred. This application may no longer respond until reloaded. Reload 🗙";color:hsl(var(--destructive-foreground))}.theme-toggle{background:hsl(var(--accent));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-sm);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:1.125rem}.theme-toggle:hover{background:hsl(var(--accent)/0.8);border-color:hsl(var(--border)/0.8)}.theme-toggle:active{transform:scale(0.95)}.theme-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.login-header{text-align:center;margin-bottom:2.5rem}.login-title h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-sm) 0;letter-spacing:-0.025em}.login-subtitle{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.login-footer{text-align:center;margin-top:2.5rem;padding-top:var(--spacing-lg);border-top:1px solid hsl(var(--border))}.login-footer p{margin:0;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.5}.login-footer .version{font-size:.75rem;margin-top:var(--spacing-xs);opacity:.7}@media(max-width: 480px){.login-card{padding:var(--spacing-xl) var(--spacing-lg);margin:var(--spacing-md);border-radius:var(--radius)}.login-title h2{font-size:1.25rem}}.brand-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.brand-logo .logo-image{width:2.5rem;height:2.5rem;color:hsl(var(--foreground))}.brand-title{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin:0;letter-spacing:-0.025em}@media(max-width: 480px){.brand-title{font-size:1.75rem}}.dark .brand-logo .logo-image{filter:brightness(0) invert(1)}.form-fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(max-width: 480px){.form-fields{gap:var(--spacing-md)}}.form-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(max-width: 480px){.form-actions{gap:var(--spacing-sm)}}.divider{position:relative;text-align:center;margin:var(--spacing-sm) 0}.divider::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:hsl(var(--border))}.divider span{background:hsl(var(--card));padding:0 var(--spacing-md);color:hsl(var(--muted-foreground));font-size:.875rem;position:relative}.error-alert{display:flex;align-items:flex-start;gap:.75rem;padding:var(--spacing-md);background:hsl(var(--destructive)/0.1);border:1px solid hsl(var(--destructive)/0.2);border-radius:var(--radius);color:hsl(var(--destructive));font-size:.875rem;margin-top:var(--spacing-lg);line-height:1.4}.error-icon{flex-shrink:0;width:1rem;height:1rem;background:hsl(var(--destructive));color:hsl(var(--destructive-foreground));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;margin-top:.125rem}.page-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid hsl(var(--border))}.header-content h1{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 var(--spacing-xs) 0}.header-content p{font-size:1rem;color:hsl(var(--muted-foreground));margin:0}.header-actions{display:flex;gap:var(--spacing-md);align-items:center}.filters-section{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--spacing-lg);align-items:end}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.filter-group .form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:var(--transition-fast)}.filter-group .form-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/0.2)}.table-container{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{background:hsl(var(--muted));padding:var(--spacing-md);text-align:left;font-weight:600;color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border))}.data-table td{padding:var(--spacing-md);border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground))}.data-table tr:hover{background:hsl(var(--muted)/0.5)}.data-table tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.status-badge.active{background:hsl(var(--success)/0.1);color:hsl(var(--success))}.status-badge.inactive{background:hsl(var(--destructive)/0.1);color:hsl(var(--destructive))}.action-buttons{display:flex;gap:var(--spacing-xs);align-items:center;justify-content:flex-start}.action-buttons .btn{display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0}.action-buttons .btn .icon{display:flex;align-items:center;justify-content:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-3xl);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius)}.empty-icon{font-size:3rem;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-lg)}.empty-state h3{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:var(--spacing-sm)}.empty-state p{color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-lg)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:hsl(var(--background)/0.8);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.modal-content{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-small{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid hsl(var(--border))}.modal-header h3{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:hsl(var(--muted-foreground));cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius);transition:var(--transition-fast)}.modal-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.modal-body{padding:var(--spacing-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid hsl(var(--border))}.form-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:var(--transition-fast)}.form-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/0.2)}.form-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:var(--transition-fast)}.form-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/0.2)}.checkbox-group{display:flex;align-items:center;gap:var(--spacing-sm)}.checkbox-group input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(var(--primary))}.checkbox-group label{margin:0;cursor:pointer}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:hsl(var(--card));border:1px solid hsl(var(--border));border-top:none;border-radius:0 0 var(--radius) var(--radius)}.pagination-info{font-size:.875rem;color:hsl(var(--muted-foreground))}.pagination-size-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.pagination-size-selector label{font-size:.875rem;color:hsl(var(--muted-foreground));white-space:nowrap}.pagination-size-selector .form-select{width:auto;min-width:4rem}.pagination-controls{display:flex;gap:var(--spacing-xs);align-items:center}.pagination-button{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 var(--spacing-sm);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--transition-fast)}.pagination-button:hover:not(:disabled){background:hsl(var(--muted));border-color:hsl(var(--border))}.pagination-button.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:hsl(var(--muted-foreground));font-size:.875rem}@media(max-width: 768px){.page-header{flex-direction:column;gap:var(--spacing-lg);align-items:stretch}.header-actions{justify-content:stretch}.filters-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.modal-content{margin:var(--spacing-md);max-height:calc(100vh - 2rem)}.action-buttons{flex-direction:column;gap:var(--spacing-xs)}.data-table{font-size:.75rem}.data-table th,.data-table td{padding:var(--spacing-sm)}.pagination-container{flex-direction:column;gap:var(--spacing-md)}.pagination-info{text-align:center}.pagination-controls{justify-content:center}}.metrics-dashboard{margin-bottom:var(--spacing-2xl)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:var(--spacing-lg)}.metric-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-icon{color:hsl(var(--primary));background:hsl(var(--primary)/0.1);width:4rem;height:4rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.report-icon{margin-right:var(--spacing-sm)}.metric-content{flex:1}.metric-content h3{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0 0 var(--spacing-xs) 0;text-transform:uppercase;letter-spacing:.025em}.metric-value{font-size:2rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 var(--spacing-xs) 0;line-height:1}.metric-detail{font-size:.875rem}.metric-change{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em}.metric-change.positive{background:hsl(var(--success)/0.1);color:hsl(var(--success))}.metric-change.negative{background:hsl(var(--destructive)/0.1);color:hsl(var(--destructive))}.metric-change.neutral{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.reports-section{margin-bottom:var(--spacing-2xl)}.reports-section h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-xl) 0}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:var(--spacing-lg)}.report-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.report-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted)/0.3)}.report-header h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.report-content{padding:var(--spacing-lg)}.report-stat{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid hsl(var(--border)/0.5)}.report-stat:last-child{border-bottom:none}.report-stat span{font-size:.875rem;color:hsl(var(--muted-foreground))}.report-stat strong{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.chart-container{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.chart-header h3{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.chart-controls{display:flex;gap:var(--spacing-sm)}.chart-placeholder{height:300px;display:flex;align-items:center;justify-content:center;background:hsl(var(--muted)/0.3);border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:1.125rem}.export-options{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.export-options h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-lg) 0}.export-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.export-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));text-decoration:none;font-size:.875rem;font-weight:500;transition:var(--transition-fast)}.export-button:hover{background:hsl(var(--muted));border-color:hsl(var(--border))}.export-button.pdf{color:hsl(var(--destructive));border-color:hsl(var(--destructive)/0.3)}.export-button.pdf:hover{background:hsl(var(--destructive)/0.1)}.export-button.excel{color:hsl(var(--success));border-color:hsl(var(--success)/0.3)}.export-button.excel:hover{background:hsl(var(--success)/0.1)}@media(max-width: 768px){.metrics-grid{grid-template-columns:1fr}.reports-grid{grid-template-columns:1fr}.metric-card{padding:var(--spacing-lg)}.metric-icon{width:3rem;height:3rem;font-size:2rem}.metric-value{font-size:1.5rem}.report-header{flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.export-buttons{flex-direction:column}.export-button{justify-content:center}}.export-dropdown{position:relative;display:inline-block}.export-menu{position:absolute;top:100%;right:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;z-index:1000;margin-top:var(--spacing-xs);overflow:hidden}.export-section{padding:var(--spacing-md);border-bottom:1px solid hsl(var(--border))}.export-section:last-child{border-bottom:none}.export-section h4{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 var(--spacing-sm) 0;text-transform:uppercase;letter-spacing:.025em}.export-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:hsl(var(--foreground));text-decoration:none;border-radius:var(--radius-sm);transition:var(--transition-fast);font-size:.875rem}.export-option:hover{background:hsl(var(--muted));color:hsl(var(--foreground));text-decoration:none}.export-option:active{background:hsl(var(--accent))}@media(max-width: 768px){.export-menu{right:auto;left:0;min-width:250px}}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:.75rem !important}.m-4{margin:1rem !important}.m-5{margin:1.25rem !important}.m-6{margin:1.5rem !important}.m-8{margin:2rem !important}.m-10{margin:2.5rem !important}.m-12{margin:3rem !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.mx-1{margin-left:.25rem !important;margin-right:.25rem !important}.mx-2{margin-left:.5rem !important;margin-right:.5rem !important}.mx-3{margin-left:.75rem !important;margin-right:.75rem !important}.mx-4{margin-left:1rem !important;margin-right:1rem !important}.mx-auto{margin-left:auto !important;margin-right:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:.75rem !important;margin-bottom:.75rem !important}.my-4{margin-top:1rem !important;margin-bottom:1rem !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:.75rem !important}.mt-4{margin-top:1rem !important}.mt-6{margin-top:1.5rem !important}.mt-8{margin-top:2rem !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:.75rem !important}.mb-4{margin-bottom:1rem !important}.mb-6{margin-bottom:1.5rem !important}.mb-8{margin-bottom:2rem !important}.ml-0{margin-left:0 !important}.ml-1{margin-left:.25rem !important}.ml-2{margin-left:.5rem !important}.ml-3{margin-left:.75rem !important}.ml-4{margin-left:1rem !important}.mr-0{margin-right:0 !important}.mr-1{margin-right:.25rem !important}.mr-2{margin-right:.5rem !important}.mr-3{margin-right:.75rem !important}.mr-4{margin-right:1rem !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:.75rem !important}.p-4{padding:1rem !important}.p-5{padding:1.25rem !important}.p-6{padding:1.5rem !important}.p-8{padding:2rem !important}.px-0{padding-left:0 !important;padding-right:0 !important}.px-1{padding-left:.25rem !important;padding-right:.25rem !important}.px-2{padding-left:.5rem !important;padding-right:.5rem !important}.px-3{padding-left:.75rem !important;padding-right:.75rem !important}.px-4{padding-left:1rem !important;padding-right:1rem !important}.px-6{padding-left:1.5rem !important;padding-right:1.5rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:.75rem !important;padding-bottom:.75rem !important}.py-4{padding-top:1rem !important;padding-bottom:1rem !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:.75rem !important}.pt-4{padding-top:1rem !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:.75rem !important}.pb-4{padding-bottom:1rem !important}.pl-1{padding-left:.25rem !important}.pl-2{padding-left:.5rem !important}.pl-3{padding-left:.75rem !important}.pl-4{padding-left:1rem !important}.pr-1{padding-right:.25rem !important}.pr-2{padding-right:.5rem !important}.pr-3{padding-right:.75rem !important}.pr-4{padding-right:1rem !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:.75rem !important}.gap-4{gap:1rem !important}.gap-6{gap:1.5rem !important}.space-x-1>*+*{margin-left:.25rem !important}.space-x-2>*+*{margin-left:.5rem !important}.space-x-3>*+*{margin-left:.75rem !important}.space-x-4>*+*{margin-left:1rem !important}.space-y-1>*+*{margin-top:.25rem !important}.space-y-2>*+*{margin-top:.5rem !important}.space-y-3>*+*{margin-top:.75rem !important}.space-y-4>*+*{margin-top:1rem !important}.coming-soon-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;padding:var(--spacing-2xl);background:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border))}.coming-soon-container h2{font-size:2rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:var(--spacing-md)}.coming-soon-container p{font-size:1.125rem;color:hsl(var(--muted-foreground));margin-bottom:var(--spacing-xl)}.coming-soon-icon{font-size:4rem;color:hsl(var(--primary));margin-bottom:var(--spacing-lg)}.coming-soon-features{text-align:left;background:hsl(var(--muted));padding:var(--spacing-lg);border-radius:var(--radius);max-width:400px}.coming-soon-features h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:var(--spacing-md)}.coming-soon-features ul{list-style:none;padding:0;margin:0}.coming-soon-features li{padding:var(--spacing-sm) 0;color:hsl(var(--muted-foreground));position:relative;padding-left:var(--spacing-lg)}.coming-soon-features li::before{content:"•";color:hsl(var(--primary));position:absolute;left:0;top:var(--spacing-sm)}::view-transition-group(modal-backdrop),::view-transition-group(modal-content){animation-duration:.3s}@keyframes slide-in-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-down{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}::view-transition-new(modal-content){animation:slide-in-up .3s ease-out}::view-transition-old(modal-content){animation:slide-out-down .2s ease-in}::view-transition-new(modal-backdrop){animation:fade-in .3s ease-out}::view-transition-old(modal-backdrop){animation:fade-out .2s ease-in}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1}to{opacity:0}}
