@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap";:root,[data-theme=claro]{--color-primary: #6366F1;--color-secondary: #EC4899;--color-accent: #14B8A6;--color-success: #10B981;--color-error: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--color-primary-rgb: 99, 102, 241;--color-secondary-rgb: 236, 72, 153;--color-accent-rgb: 20, 184, 166;--color-success-rgb: 16, 185, 129;--color-error-rgb: 239, 68, 68;--color-warning-rgb: 245, 158, 11;--color-info-rgb: 59, 130, 246;--bg-primary: #EEF2F7;--bg-secondary: #FFFFFF;--bg-tertiary: #E2E8F0;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--border-color: rgba(100, 116, 139, .25);--border-strong: rgba(100, 116, 139, .45);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15), 0 4px 8px rgba(0, 0, 0, .08);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .2), 0 8px 16px rgba(0, 0, 0, .1);--glass-blur: 12px;--glass-opacity: .8;--glass-backdrop: blur(12px) saturate(150%);--glass-border: rgba(255, 255, 255, .18);--font-display: "Playfair Display", serif;--font-body: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-base: 14px;--font-size-sm: 12px;--font-size-lg: 16px;--font-size-xl: 18px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 20;--z-fixed: 30;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--accent: #14B8A6;--amber: #F59E0B;--bg: #EEF2F7;--border: rgba(100, 116, 139, .25);--border-input: rgba(100, 116, 139, .4);--border2: rgba(100, 116, 139, .35);--border3: rgba(100, 116, 139, .5);--color-success-dark: #059669;--dorado: #D4AF37;--dorado-claro: #F0D500;--font-mono: "Monaco", "Menlo", "Courier New", monospace;--hover: rgba(99, 102, 241, .08);--hover-accent: rgba(20, 184, 166, .08);--hover-danger: rgba(239, 68, 68, .08);--hover2: rgba(236, 72, 153, .08);--input-bg: #FFFFFF;--modal-overlay: rgba(0, 0, 0, .5);--muted: #94A3B8;--shadow: var(--shadow-md);--surface: #FFFFFF;--surface2: #F1F5F9;--surface3: #E2E8F0;--text: #0F172A;--text2: #475569;--verde: #10B981;--verde-dark: #059669}[data-theme=oscuro]{--color-primary: #818CF8;--color-secondary: #F472B6;--color-accent: #2DD4BF;--color-success: #6EE7B7;--color-error: #FCA5A5;--color-warning: #FBBF24;--color-info: #60A5FA;--color-primary-rgb: 129, 140, 248;--color-secondary-rgb: 244, 114, 182;--color-accent-rgb: 45, 212, 191;--color-success-rgb: 110, 231, 183;--color-error-rgb: 252, 165, 165;--color-warning-rgb: 251, 191, 36;--color-info-rgb: 96, 165, 250;--bg-primary: #0F172A;--bg-secondary: #1E293B;--bg-tertiary: #334155;--text-primary: #F1F5F9;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--border-color: rgba(100, 116, 139, .2);--border-strong: rgba(100, 116, 139, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .6);--glass-blur: 16px;--glass-opacity: .85;--glass-backdrop: blur(16px) saturate(180%);--glass-border: rgba(148, 163, 184, .12);--accent: #2DD4BF;--amber: #FBBF24;--bg: #0F172A;--border: rgba(100, 116, 139, .2);--border-input: rgba(100, 116, 139, .25);--border2: rgba(100, 116, 139, .3);--border3: rgba(100, 116, 139, .4);--color-success-dark: #10B981;--dorado: #D4AF37;--dorado-claro: #F0D500;--font-mono: "Monaco", "Menlo", "Courier New", monospace;--hover: rgba(129, 140, 248, .15);--hover-accent: rgba(45, 212, 191, .15);--hover-danger: rgba(252, 165, 165, .15);--hover2: rgba(244, 114, 182, .15);--input-bg: #1E293B;--modal-overlay: rgba(0, 0, 0, .7);--muted: #94A3B8;--shadow: var(--shadow-md);--surface: #1E293B;--surface2: #334155;--surface3: #475569;--text: #F1F5F9;--text2: #CBD5E1;--verde: #6EE7B7;--verde-dark: #10B981}@media (prefers-color-scheme: dark){:root:not([data-theme]){--color-primary: #818CF8;--color-secondary: #F472B6;--color-accent: #2DD4BF;--color-success: #6EE7B7;--color-error: #FCA5A5;--color-warning: #FBBF24;--color-info: #60A5FA;--color-primary-rgb: 129, 140, 248;--color-secondary-rgb: 244, 114, 182;--color-accent-rgb: 45, 212, 191;--color-success-rgb: 110, 231, 183;--color-error-rgb: 252, 165, 165;--color-warning-rgb: 251, 191, 36;--color-info-rgb: 96, 165, 250;--bg-primary: #0F172A;--bg-secondary: #1E293B;--bg-tertiary: #334155;--text-primary: #F1F5F9;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--border-color: rgba(100, 116, 139, .2);--border-strong: rgba(100, 116, 139, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .6);--glass-blur: 16px;--glass-opacity: .85;--glass-backdrop: blur(16px) saturate(180%);--glass-border: rgba(148, 163, 184, .12);--accent: #2DD4BF;--amber: #FBBF24;--bg: #0F172A;--border: rgba(100, 116, 139, .2);--border-input: rgba(100, 116, 139, .25);--border2: rgba(100, 116, 139, .3);--border3: rgba(100, 116, 139, .4);--color-success-dark: #10B981;--dorado: #D4AF37;--dorado-claro: #F0D500;--font-mono: "Monaco", "Menlo", "Courier New", monospace;--hover: rgba(129, 140, 248, .15);--hover-accent: rgba(45, 212, 191, .15);--hover-danger: rgba(252, 165, 165, .15);--hover2: rgba(244, 114, 182, .15);--input-bg: #1E293B;--modal-overlay: rgba(0, 0, 0, .7);--muted: #94A3B8;--shadow: var(--shadow-md);--surface: #1E293B;--surface2: #334155;--surface3: #475569;--text: #F1F5F9;--text2: #CBD5E1;--verde: #6EE7B7;--verde-dark: #10B981}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--text-primary)}h1{font-size:2.5rem;line-height:1.2}h2{font-size:2rem;line-height:1.3}h3{font-size:1.5rem;line-height:1.4}h4{font-size:1.25rem;line-height:1.5}h5{font-size:1.125rem;line-height:1.5}h6{font-size:1rem;line-height:1.6}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent);text-decoration:underline}a:active{color:var(--color-secondary)}ul,ol{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}li{margin-bottom:var(--spacing-sm)}input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],textarea,select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary);cursor:pointer}button{cursor:pointer;transition:all var(--transition-fast)}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}th{background-color:var(--bg-tertiary);padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);border-bottom:2px solid var(--border-color)}td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}tr:hover{background-color:rgba(var(--color-primary-rgb),.05)}code{font-family:Monaco,Courier New,monospace;background-color:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-error);font-size:.9em}pre{background-color:var(--bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-lg)}pre code{background-color:transparent;padding:0;color:var(--text-primary)}blockquote{border-left:4px solid var(--color-primary);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-lg) 0;background-color:var(--bg-tertiary);font-style:italic;color:var(--text-secondary)}img{max-width:100%;height:auto;display:block}hr{border:none;height:1px;background-color:var(--border-color);margin:var(--spacing-lg) 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.container-fluid{width:100%;padding:0 var(--spacing-lg)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.card-header h3{margin-bottom:0}.card-body{margin:var(--spacing-md) 0}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:#5558e3;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--color-secondary);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary:hover{background-color:#e91e8c;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:rgba(var(--color-primary-rgb),.1);border-color:var(--color-primary)}.btn-outline:active{background-color:rgba(var(--color-primary-rgb),.2)}.btn-ghost{background-color:transparent;color:var(--color-primary);border:none}.btn-ghost:hover{background-color:rgba(var(--color-primary-rgb),.1)}.btn-ghost:active{background-color:rgba(var(--color-primary-rgb),.2)}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:16px}.btn-block{width:100%;display:flex}.badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-weight-semibold);background-color:var(--bg-tertiary);color:var(--text-primary)}.badge-primary{background-color:rgba(var(--color-primary-rgb),.15);color:var(--color-primary)}.badge-success{background-color:rgba(var(--color-success-rgb),.15);color:var(--color-success)}.badge-error{background-color:rgba(var(--color-error-rgb),.15);color:var(--color-error)}.badge-warning{background-color:rgba(var(--color-warning-rgb),.15);color:var(--color-warning)}.badge-info{background-color:rgba(var(--color-info-rgb),.15);color:var(--color-info)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid;margin-bottom:var(--spacing-lg)}.alert-success{background-color:rgba(var(--color-success-rgb),.1);border-color:var(--color-success);color:var(--color-success)}.alert-error{background-color:rgba(var(--color-error-rgb),.1);border-color:var(--color-error);color:var(--color-error)}.alert-warning{background-color:rgba(var(--color-warning-rgb),.1);border-color:var(--color-warning);color:var(--color-warning)}.alert-info{background-color:rgba(var(--color-info-rgb),.1);border-color:var(--color-info);color:var(--color-info)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.form-text{display:block;margin-top:4px;font-size:12px;color:var(--text-secondary)}.form-text.error{color:var(--color-error)}.row{display:flex;flex-wrap:wrap;margin:calc(var(--spacing-lg) * -.5)}.col{padding:calc(var(--spacing-lg) * .5);flex:1 1 auto}.col-12{width:100%}.col-6{width:50%}.col-4{width:33.333%}.col-3{width:25%}.col-2{width:16.666%}.col-1{width:8.333%}@media (max-width: 768px){.col-12,.col-6,.col-4,.col-3,.col-2,.col-1{width:100%}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.flex-gap-xs{gap:var(--spacing-xs)}.flex-gap-sm{gap:var(--spacing-sm)}.flex-gap-md{gap:var(--spacing-md)}.flex-gap-lg{gap:var(--spacing-lg)}.flex-gap-xl{gap:var(--spacing-xl)}.hidden{display:none!important}.visible{display:block!important}.invisible{visibility:hidden}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{color:var(--text-muted)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.bg-color-primary{background-color:var(--color-primary);color:#fff}.bg-color-secondary{background-color:var(--color-secondary);color:#fff}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-md{margin-left:var(--spacing-md);margin-right:var(--spacing-md)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.mob-topbar{display:none}.mob-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:98}.mob-overlay.is-open{display:block}.app-sidebar{flex-shrink:0}.page-pad{flex:1;overflow-y:auto;height:100%}@media (max-width: 768px){.mob-topbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface2, var(--bg-secondary));border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:99;flex-shrink:0}.app-sidebar{position:fixed!important;left:-240px;top:0;bottom:0;z-index:100;transition:left .25s ease;width:236px!important}.app-sidebar.is-open{left:0}}.app-toast{border-radius:10px!important;font-size:13px!important;font-weight:500!important;font-family:var(--font-body)!important;background:var(--surface, #fff)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;box-shadow:0 4px 20px #0000001f!important;max-width:360px!important}.compact-table th,.compact-table td{padding:.35rem .6rem!important;font-size:.82rem!important}.compact-table .col-secondary{display:none}.btn-glass{background:rgba(var(--color-primary-rgb),.8);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);color:#fff;box-shadow:inset 0 1px #fff3,0 8px 24px #0000001f;position:relative;overflow:hidden;transition:all var(--transition-fast) cubic-bezier(.4,0,.2,1)}.btn-glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);pointer-events:none;opacity:.7;transition:opacity var(--transition-fast)}.btn-glass:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff4d,0 16px 40px #00000029;border-color:#ffffff40}.btn-glass:hover:before{opacity:.9}.btn-glass:active{transform:translateY(-1px);box-shadow:inset 0 2px 4px #0000001a,0 4px 12px #00000014}.btn-glass-secondary{background:rgba(var(--color-secondary-rgb),.8)}.btn-glass-accent{background:rgba(var(--color-accent-rgb),.8)}.btn-glass-success{background:rgba(var(--color-success-rgb),.8)}.card-glass{background:rgba(var(--bg-secondary),.7);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff1a}.card-glass:hover{box-shadow:0 12px 48px #00000026,inset 0 1px #ffffff1a;transform:translateY(-2px)}.modal-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006}.modal-content{background:rgba(var(--bg-secondary),.95);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);box-shadow:0 20px 60px #0000004d,inset 0 1px #ffffff1a}.input-glass{background:rgba(var(--bg-secondary),.6);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);color:var(--text-primary);box-shadow:inset 0 1px 2px #0000000d,0 1px 3px #00000014;transition:all var(--transition-fast)}.input-glass:focus{outline:none;border-color:var(--color-primary);box-shadow:inset 0 1px 2px #0000000d,0 0 0 3px rgba(var(--color-primary-rgb),.15)}.badge-glass{background:rgba(var(--color-primary-rgb),.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(var(--color-primary-rgb),.3);padding:6px 12px;border-radius:var(--radius-full);color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:0 4px 12px #00000014}.float-shadow{position:relative;transition:all var(--transition-normal);box-shadow:0 8px 16px #0000001a}.float-shadow:hover{transform:translateY(-4px);box-shadow:0 16px 32px #00000026}.perspective{perspective:1000px;transform-style:preserve-3d}.card-3d{transform-style:preserve-3d;transition:transform var(--transition-normal)}.card-3d:hover{transform:rotateX(2deg) rotateY(-2deg) translateZ(20px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn var(--transition-normal) ease-in}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slideInUp{animation:slideInUp var(--transition-normal) ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slideInDown{animation:slideInDown var(--transition-normal) ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slideInLeft{animation:slideInLeft var(--transition-normal) ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-slideInRight{animation:slideInRight var(--transition-normal) ease-out}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scaleIn{animation:scaleIn var(--transition-normal) ease-out}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:rotate 1s linear infinite}@keyframes shimmer{0%{background-position:-1200px 0}to{background-position:1200px 0}}.shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);background-size:1200px 100%;animation:shimmer 2s infinite}.gradient-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.gradient-accent{background:linear-gradient(135deg,var(--color-accent),var(--color-primary));color:#fff}.gradient-success{background:linear-gradient(135deg,var(--color-success),var(--color-accent));color:#fff}.gradient-error{background:linear-gradient(135deg,var(--color-error),var(--color-warning));color:#fff}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.border-top{border-top:1px solid var(--border-color)}.border-bottom{border-bottom:1px solid var(--border-color)}.border-left{border-left:1px solid var(--border-color)}.border-right{border-right:1px solid var(--border-color)}.border-all{border:1px solid var(--border-color)}.border-primary{border:2px solid var(--color-primary)}.border-secondary{border:2px solid var(--color-secondary)}.border-success{border:2px solid var(--color-success)}.border-error{border:2px solid var(--color-error)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.blend-multiply{mix-blend-mode:multiply}.blend-screen{mix-blend-mode:screen}.blend-overlay{mix-blend-mode:overlay}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color var(--transition-normal),color var(--transition-normal);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}@media (max-width: 1200px){.container{max-width:960px}}@media (max-width: 768px){.container{max-width:720px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media (max-width: 576px){.container{max-width:540px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}}
