:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-gradient-hover: linear-gradient(135deg, #764ba2 0%, #667eea 100%);--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--secondary-gradient-hover: linear-gradient(135deg, #f5576c 0%, #f093fb 100%);--secondary-50: #fdf2f8;--secondary-100: #fce7f3;--secondary-200: #fbcfe8;--secondary-300: #f9a8d4;--secondary-400: #f472b6;--secondary-500: #ec4899;--secondary-600: #db2777;--secondary-700: #be185d;--secondary-800: #9d174d;--secondary-900: #831843;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--success: #10b981;--success-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--warning: #f59e0b;--warning-gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--danger: #ef4444;--danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--info: #3b82f6;--info-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--primary: var(--primary-500);--secondary: var(--secondary-500);--background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--surface: rgba(255, 255, 255, .95);--surface-glass: rgba(255, 255, 255, .1);--error: var(--danger);--on-primary: #ffffff;--on-secondary: #ffffff;--on-background: var(--gray-900);--on-surface: var(--gray-900);--on-error: #ffffff;--glass-bg: rgba(255, 255, 255, .25);--glass-border: rgba(255, 255, 255, .18);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-family-display: "Poppins", var(--font-family);--font-size-xs: .75rem;--font-size-sm: .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-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--space-unit: .25rem;--space-0: 0;--space-1: calc(1 * var(--space-unit));--space-2: calc(2 * var(--space-unit));--space-3: calc(3 * var(--space-unit));--space-4: calc(4 * var(--space-unit));--space-5: calc(6 * var(--space-unit));--space-6: calc(8 * var(--space-unit));--space-7: calc(12 * var(--space-unit));--space-8: calc(16 * var(--space-unit));--space-9: calc(20 * var(--space-unit));--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}@media (prefers-color-scheme: dark){:root{--background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--surface: rgba(30, 41, 59, .8);--surface-glass: rgba(30, 41, 59, .4);--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .1);--on-background: #f1f5f9;--on-surface: #f1f5f9;--gray-50: #0f172a;--gray-100: #1e293b;--gray-200: #334155;--gray-300: #475569;--gray-400: #64748b}}.theme-dark{--background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--surface: rgba(30, 41, 59, .8);--surface-glass: rgba(30, 41, 59, .4);--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .1);--on-background: #f1f5f9;--on-surface: #f1f5f9;--gray-50: #0f172a;--gray-100: #1e293b;--gray-200: #334155;--gray-300: #475569;--gray-400: #64748b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--on-background);background:var(--background);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 20% 80%,rgba(99,102,241,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(236,72,153,.1) 0%,transparent 50%);z-index:-1;pointer-events:none}h1,.h1{font-family:var(--font-family-display);font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1.1;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-6);position:relative;display:inline-block}h1:after,.h1:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:var(--primary-gradient);border-radius:var(--radius-full)}h2,.h2{font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:1.2;margin-bottom:var(--space-5);position:relative;padding-left:var(--space-4)}h2:before,.h2:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--secondary-gradient);border-radius:var(--radius-full)}h3,.h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);line-height:1.3;margin-bottom:var(--space-4)}h4,.h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--space-3)}p{margin-bottom:var(--space-4);line-height:1.7}a{color:var(--primary-600);text-decoration:none;position:relative;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary-gradient);transition:width var(--transition);border-radius:var(--radius-full)}a:hover{color:var(--primary-700)}a:hover:after{width:100%}::selection{background:var(--primary-200);color:var(--primary-900)}.page-content{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--on-background);background:var(--background);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative}.glass{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-light{background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glass-dark{background:#0f172ab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);text-align:center;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:var(--radius-lg);transition:all var(--transition);position:relative;overflow:hidden;isolation:isolate;box-shadow:var(--shadow)}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease;z-index:1}.btn:hover:before{transform:translate(100%)}.btn:after{content:"";position:absolute;inset:0;background:inherit;border-radius:inherit;z-index:-1}.btn-gradient{background:var(--primary-gradient);color:var(--on-primary);box-shadow:var(--shadow-lg)}.btn-gradient:hover:not(:disabled){background:var(--primary-gradient-hover);transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.btn-secondary-gradient{background:var(--secondary-gradient);color:var(--on-secondary);box-shadow:var(--shadow-lg)}.btn-secondary-gradient:hover:not(:disabled){background:var(--secondary-gradient-hover);transform:translateY(-2px);box-shadow:var(--shadow-xl),0 0 20px #ec48994d}.btn-glass{background:var(--surface-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:var(--on-surface);transition:all var(--transition)}.btn-glass:hover:not(:disabled){background:var(--primary-500);color:var(--on-primary);border-color:transparent;transform:translateY(-2px)}.btn-outline-glow{background:transparent;border:2px solid var(--primary-500);color:var(--primary-600);position:relative}.btn-outline-glow:after{content:"";position:absolute;inset:-3px;background:var(--primary-gradient);border-radius:inherit;z-index:-1;opacity:0;transition:opacity var(--transition)}.btn-outline-glow:hover:not(:disabled):after{opacity:1}.btn-outline-glow:hover:not(:disabled){color:var(--on-primary);border-color:transparent;transform:translateY(-2px)}.btn-shine{position:relative;overflow:hidden}.btn-shine span{position:relative;z-index:2}.btn-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .7s ease}.btn-shine:hover:before{left:100%}.btn-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #6366f1b3}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.form-group{margin-bottom:var(--space-5);position:relative}.form-label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);color:var(--on-surface);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.form-control-wrapper{position:relative}.form-control{display:block;width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--on-surface);background:var(--surface);background-clip:padding-box;border:2px solid var(--gray-300);border-radius:var(--radius-lg);transition:all var(--transition);box-shadow:var(--shadow-sm)}.form-control:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px #6366f11a,var(--shadow-md);transform:translateY(-1px)}.form-control-floating{padding-top:var(--space-5);padding-bottom:var(--space-2)}.form-control-floating+.form-label{position:absolute;top:var(--space-3);left:var(--space-4);pointer-events:none;transition:all var(--transition);color:var(--gray-500)}.form-control-floating:focus+.form-label,.form-control-floating:not(:placeholder-shown)+.form-label{top:var(--space-1);left:var(--space-4);font-size:var(--font-size-xs);color:var(--primary-600)}.form-control-icon{padding-left:var(--space-8)}.form-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--gray-500);transition:color var(--transition)}.form-control:focus~.form-icon{color:var(--primary-600)}.custom-checkbox,.custom-radio{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.custom-checkbox input,.custom-radio input{position:absolute;opacity:0;cursor:pointer}.checkbox-box,.radio-box{width:20px;height:20px;border:2px solid var(--gray-400);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition);flex-shrink:0}.radio-box{border-radius:var(--radius-full)}.custom-checkbox:hover .checkbox-box,.custom-radio:hover .radio-box{border-color:var(--primary-500);box-shadow:0 0 0 4px #6366f11a}.custom-checkbox input:checked~.checkbox-box,.custom-radio input:checked~.radio-box{background:var(--primary-gradient);border-color:transparent}.checkbox-box:after,.radio-box:after{content:"";opacity:0;transition:opacity var(--transition)}.checkbox-box:after{width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.radio-box:after{width:8px;height:8px;background:#fff;border-radius:var(--radius-full)}.custom-checkbox input:checked~.checkbox-box:after,.custom-radio input:checked~.radio-box:after{opacity:1}.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200)}.card-glass{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border)}.card-hover{transition:all var(--transition)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl)}.card-gradient-border{position:relative;background:var(--surface);border-radius:var(--radius-xl);padding:2px}.card-gradient-border:before{content:"";position:absolute;inset:-2px;background:var(--primary-gradient);border-radius:calc(var(--radius-xl) + 2px);z-index:-1;opacity:.7;transition:opacity var(--transition)}.card-gradient-border:hover:before{opacity:1}.card-shine{position:relative;overflow:hidden}.card-shine:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:rotate(45deg);transition:transform .6s ease}.card-shine:hover:after{transform:rotate(45deg) translate(50%,50%)}.card-header{padding:var(--space-5);background:linear-gradient(to right,var(--primary-50),var(--secondary-50));border-bottom:1px solid var(--gray-200)}.card-body{flex:1 1 auto;padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--gray-200);background:var(--gray-50)}.alert{position:relative;padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);border-radius:var(--radius-lg);border-left:4px solid;animation:slideInRight .3s ease-out;display:flex;align-items:flex-start;gap:var(--space-3)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.alert-icon{font-size:var(--font-size-xl);flex-shrink:0}.alert-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:var(--success);color:#065f46}.alert-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:var(--warning);color:#92400e}.alert-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:var(--danger);color:#991b1b}.alert-info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:var(--info);color:#1e40af}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-sm)}.badge-gradient{background:var(--primary-gradient);color:var(--on-primary)}.badge-outline{background:transparent;border:2px solid currentColor}.badge-pulse{animation:badgePulse 2s infinite}@keyframes badgePulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 4px transparent}}.table-container{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.table{width:100%;color:var(--on-surface);border-collapse:separate;border-spacing:0}.table thead{background:linear-gradient(to right,var(--primary-500),var(--primary-600))}.table thead th{padding:var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:#fff;border-bottom:2px solid var(--primary-700)}.table tbody tr{transition:all var(--transition);background:var(--surface)}.table tbody tr:nth-child(2n){background:var(--gray-50)}.table tbody tr:hover{background:var(--primary-50);transform:translate(4px)}.table tbody td{padding:var(--space-4);border-bottom:1px solid var(--gray-200)}.modal-backdrop{position:fixed;top:0;left:0;z-index:var(--z-modal-backdrop);width:100vw;height:100vh;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.modal{position:fixed;top:0;left:0;z-index:var(--z-modal);width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-dialog{position:relative;width:100%;max-width:500px;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:var(--surface);background-clip:padding-box;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);outline:0;overflow:hidden}.modal-glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.loader{width:48px;height:48px;border:3px solid var(--gray-300);border-radius:50%;border-top-color:var(--primary-500);animation:spin 1s linear infinite}.loader-dots{display:flex;gap:4px}.loader-dots div{width:8px;height:8px;background:var(--primary-500);border-radius:50%;animation:dotsBounce 1.4s infinite ease-in-out both}.loader-dots div:nth-child(1){animation-delay:-.32s}.loader-dots div:nth-child(2){animation-delay:-.16s}@keyframes dotsBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.progress{width:100%;height:8px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;background:var(--primary-gradient);border-radius:var(--radius-full);transition:width .6s ease;position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;bottom:0;width:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.fade-in-up{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.zoom-in{animation:zoomIn .4s ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.floating{animation:floating 3s ease-in-out infinite}@keyframes floating{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-secondary{background:var(--secondary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform var(--transition)}.hover-lift:hover{transform:translateY(-4px)}.hover-glow{transition:box-shadow var(--transition)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.hover-scale{transition:transform var(--transition)}.hover-scale:hover{transform:scale(1.05)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--primary-gradient);border-radius:var(--radius-full);border:3px solid var(--gray-100)}::-webkit-scrollbar-thumb:hover{background:var(--primary-gradient-hover)}.ng-valid[required],.ng-valid.required{border-color:var(--success);animation:validPulse .6s ease}@keyframes validPulse{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.ng-invalid:not(form).ng-touched,.ng-invalid:not(form).ng-dirty{border-color:var(--danger);animation:invalidShake .5s ease}@keyframes invalidShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}router-outlet+*{display:block;animation:fadeInUp .6s ease-out}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-toast);animation:fadeIn .3s ease}.theme-dark .loading-overlay{background:#0f172ae6}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:toastSlideIn .3s ease-out;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-3);border-left:4px solid}.toast-success{border-color:var(--success)}.toast-error{border-color:var(--danger)}.toast-info{border-color:var(--info)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){:root{--font-family: "Segoe UI", sans-serif;--font-size-base: 16px}h1,.h1:after{width:40px}.btn-lg{padding:var(--space-3) var(--space-6)}}@media print{.no-print{display:none!important}body{background:#fff!important}.text-gradient{-webkit-text-fill-color:var(--primary-600)!important}}.card-img-container{position:relative;width:100%;padding-top:56.25%;overflow:hidden;background:linear-gradient(135deg,var(--gray-100),var(--gray-200))}.card-img-fixed{height:200px;overflow:hidden;background:linear-gradient(135deg,var(--gray-100),var(--gray-200));position:relative}.card-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.card-img-contain{width:100%;height:100%;object-fit:contain;background:var(--surface);padding:var(--space-2)}.card-img-fill{width:100%;height:100%;object-fit:fill}.aspect-ratio-1-1{padding-top:100%}.aspect-ratio-4-3{padding-top:75%}.aspect-ratio-16-9{padding-top:56.25%}.aspect-ratio-21-9{padding-top:42.85%}.card-hover .card-img-container{overflow:hidden}.card-hover .card-img{transition:transform var(--transition-slow)}.card-hover:hover .card-img{transform:scale(1.05)}.card-img-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:var(--space-4);color:#fff;transform:translateY(100%);transition:transform var(--transition)}.card-img-container:hover .card-img-overlay{transform:translateY(0)}.card-img-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-300) 50%,var(--gray-200) 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5);align-items:stretch}.cards-grid .card{height:100%;display:flex;flex-direction:column}.cards-grid .card-body{flex:1}.cards-masonry{columns:3 280px;column-gap:var(--space-5)}.cards-masonry .card{break-inside:avoid;margin-bottom:var(--space-5)}@media (min-width: 768px){.card-img-fixed-md{height:250px}}@media (min-width: 1024px){.card-img-fixed-lg{height:300px}}.card-img-fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--gray-400);font-size:var(--font-size-3xl);opacity:.5}.card-img-container img:not([src]),.card-img-container img[src=""]{opacity:0}.card-img-container img:not([src])+.card-img-fallback,.card-img-container img[src=""]+.card-img-fallback{display:block}.card-product .card-img-container{padding-top:100%;background:#fff}.card-product .card-img{padding:var(--space-4);object-fit:contain}.card-blog .card-img-container{padding-top:56.25%}.card-profile .card-img-container{width:120px;height:120px;border-radius:var(--radius-full);margin:-60px auto var(--space-4);border:4px solid var(--surface);box-shadow:var(--shadow-lg)}.card-profile .card-img{border-radius:var(--radius-full)}.card-featured{grid-column:span 2}.card-featured .card-img-container{padding-top:45%}.card-icon{display:flex;align-items:center;justify-content:center;height:80px;font-size:var(--font-size-4xl);color:var(--primary-500);background:var(--primary-50);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}@media (prefers-color-scheme: dark){body,.container,h1:not(.text-gradient),h2:not(.text-gradient),h3:not(.text-gradient),h4:not(.text-gradient),h5:not(.text-gradient),h6:not(.text-gradient),p,span,div,.text-muted,.text-secondary{color:var(--on-background)!important}.text-muted{opacity:.8}.text-gradient{-webkit-text-fill-color:#f1f5f9}}.theme-dark body,.theme-dark .container,.theme-dark h1:not(.text-gradient),.theme-dark h2:not(.text-gradient),.theme-dark h3:not(.text-gradient),.theme-dark h4:not(.text-gradient),.theme-dark h5:not(.text-gradient),.theme-dark h6:not(.text-gradient),.theme-dark p,.theme-dark span,.theme-dark div,.theme-dark .text-muted,.theme-dark .text-secondary{color:var(--on-background)!important}.theme-dark .text-muted{opacity:.8}.theme-dark .text-gradient{-webkit-text-fill-color:#f1f5f9}.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)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-muted{color:var(--gray-600)}.text-white{color:#fff}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.ml-0{margin-left:var(--space-0)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-5{margin-left:var(--space-5)}.mr-0{margin-right:var(--space-0)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-5{margin-right:var(--space-5)}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.pt-0{padding-top:var(--space-0)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pb-0{padding-bottom:var(--space-0)}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pl-0{padding-left:var(--space-0)}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-5{padding-left:var(--space-5)}.pr-0{padding-right:var(--space-0)}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-5{padding-right:var(--space-5)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-start{align-items:flex-start}.align-center{align-items:center}.align-end{align-items:flex-end}.align-stretch{align-items:stretch}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.flex-grow{flex-grow:1}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.end-0{right:0}.start-0{left:0}.bottom-0{bottom:0}.top-100{top:100%}.w-100{width:100%}.w-75{width:75%}.w-50{width:50%}.w-25{width:25%}.h-100{height:100%}.h-75{height:75%}.h-50{height:50%}.h-25{height:25%}.min-vh-100{min-height:100vh}.min-vw-100{min-width:100vw}.border{border:1px solid var(--gray-300)}.border-0{border:none}.border-top{border-top:1px solid var(--gray-300)}.border-bottom{border-bottom:1px solid var(--gray-300)}.border-primary{border-color:var(--primary)}.border-success{border-color:var(--success)}.border-danger{border-color:var(--danger)}.border-1{border-width:1px}.border-2{border-width:2px}.border-3{border-width:3px}.border-4{border-width:4px}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-warning{background-color:var(--warning)}.bg-danger{background-color:var(--danger)}.bg-info{background-color:var(--info)}.bg-light{background-color:var(--gray-100)}.bg-dark{background-color:var(--gray-900)}.bg-transparent{background-color:transparent}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-text{cursor:text}.visible{visibility:visible}.invisible{visibility:hidden}.grid{display:grid;gap:var(--space-4)}.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))}@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))}}.container{width:100%;padding-right:var(--space-4);padding-left:var(--space-4);margin-right:auto;margin-left:auto}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}.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}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.object-fit-cover{object-fit:cover}.object-fit-contain{object-fit:contain}.object-fit-fill{object-fit:fill}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.d-inline-block{display:inline-block}.d-inline{display:inline}.z-fixed{z-index:var(--z-fixed)}.z-sticky{z-index:var(--z-sticky)}.z-modal{z-index:var(--z-modal)}.shadow-none{box-shadow:none}.transition-fast{transition:var(--transition-fast)}.transition{transition:var(--transition)}.transition-slow{transition:var(--transition-slow)}.hover-opacity-100:hover{opacity:1}
