@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-in{animation:fadeIn .3s ease-out}.fade-in-0{opacity:0}.zoom-in-95{transform:scale(.95)}.duration-200{transition-duration:.2s}.line-clamp-1{-webkit-line-clamp:1;line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .15s ease;cursor:pointer;border:none;outline:none;text-decoration:none;line-height:1;min-height:2.25rem;padding:.5rem .75rem}.btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.btn:disabled{pointer-events:none;opacity:.5}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background:hsl(var(--primary)/.9)}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border))}.btn-secondary:hover{background:hsl(var(--secondary)/.8)}.btn-outline{background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.btn-outline:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn-destructive:hover{background:hsl(var(--destructive)/.9)}.btn-sm{min-height:2rem;padding:.25rem .625rem;font-size:.75rem}.btn-lg{min-height:2.5rem;padding:.75rem 1.5rem}.btn-icon{width:2.25rem;height:2.25rem;padding:0}.card{border-radius:.5rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 1px 3px 0 rgb(0 0 0/.1);overflow:hidden}.card-header{padding:.75rem;border-bottom:1px solid hsl(var(--border))}.card-title{font-size:1rem;font-weight:600;line-height:1.2;margin:0}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:.25rem 0 0}.card-content,.card-footer{padding:.75rem}.card-footer{border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.3)}.input,.select,.textarea{width:100%;border-radius:.375rem;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:all .15s ease;outline:none}.input{height:2.25rem}.input,.textarea{padding:.5rem .75rem}.textarea{min-height:3.75rem;resize:vertical}.select{height:2.25rem;padding:.5rem .75rem}.input:focus,.select:focus,.textarea:focus{outline:2px solid hsl(var(--ring));outline-offset:2px;border-color:hsl(var(--ring))}.input::-moz-placeholder,.textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}.input::placeholder,.textarea::placeholder{color:hsl(var(--muted-foreground))}.input:disabled,.select:disabled,.textarea:disabled{cursor:not-allowed;opacity:.5}.label{font-size:.875rem;display:block;margin-bottom:.25rem;color:hsl(var(--foreground))}.badge,.label{font-weight:500}.badge{display:inline-flex;align-items:center;border-radius:.25rem;padding:.125rem .5rem;font-size:.75rem;line-height:1;white-space:nowrap;transition:all .15s ease}.badge-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.badge-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.badge-success{background:#22c55e;color:white}.badge-warning{background:#eab308;color:white}.badge-destructive{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.badge-outline{background:transparent;color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--muted))}.table td,.table th{height:2rem;padding:.25rem .5rem;border-bottom:1px solid hsl(var(--border))}.table tr:hover{background:hsl(var(--muted)/.5)}.alert{position:relative;width:100%;border-radius:.375rem;border:1px solid hsl(var(--border));padding:.75rem;font-size:.875rem}.alert-default{background:hsl(var(--background));color:hsl(var(--foreground))}.alert-destructive{border-color:hsl(var(--destructive)/.5);color:hsl(var(--destructive));background:hsl(var(--destructive)/.1)}.nav{display:flex;gap:.25rem}.nav,.nav-item{align-items:center}.nav-item{display:inline-flex;justify-content:center;border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s ease;color:hsl(var(--foreground));text-decoration:none;cursor:pointer}.nav-item.active,.nav-item:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:rgba(15,23,42,.8);border:1px solid rgba(255,255,255,.1)}.shadow-soft{box-shadow:0 1px 3px 0 rgb(0 0 0/.1)}.shadow-medium{box-shadow:0 4px 6px -1px rgb(0 0 0/.1)}.shadow-large{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -2px rgb(0 0 0/.05)}.shadow-theme{box-shadow:0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px 0 rgb(0 0 0/.06)}.shadow-theme-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -2px rgb(0 0 0/.05)}.dark .shadow-theme{box-shadow:0 1px 3px 0 rgb(255 255 255/.1),0 1px 2px 0 rgb(255 255 255/.06)}.dark .shadow-theme-lg{box-shadow:0 10px 15px -3px rgb(255 255 255/.1),0 4px 6px -2px rgb(255 255 255/.05)}.text-gradient{background:linear-gradient(to right,hsl(var(--primary)),hsl(var(--primary)/.8));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bg-opacity-80{background-color:rgb(255 255 255/.8)}.dark .bg-opacity-80{background-color:rgb(0 0 0/.8)}.card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgb(0 0 0/.1),0 4px 6px -2px rgb(0 0 0/.05)}.dark .card:hover{box-shadow:0 10px 25px -5px rgb(255 255 255/.1),0 4px 6px -2px rgb(255 255 255/.05)}@media (max-width:768px){.btn{min-height:2rem;padding:.375rem .5rem;font-size:.75rem}.card-content,.card-footer,.card-header{padding:.5rem}.table td,.table th{padding:.25rem;font-size:.75rem}.nav-item{padding:.25rem .5rem;font-size:.75rem}.input,.select{height:2rem}.input,.select,.textarea{padding:.375rem .5rem;font-size:.75rem}.textarea{min-height:3rem}}