.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-xs{height:28px;padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.btn-sm{height:36px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.btn-md{height:44px;padding:0 var(--space-5);font-size:var(--font-size-base)}.btn-lg{height:52px;padding:0 var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-xl{height:60px;padding:0 var(--space-10);font-size:var(--font-size-xl);border-radius:var(--radius-xl)}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);box-shadow:var(--shadow-sm), var(--shadow-primary);color:#fff!important}.btn-primary .btn-text,.btn-primary .btn-icon,.btn-primary span{color:#fff!important}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md), var(--shadow-primary-lg);background:linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);transform:translateY(-2px);color:#fff!important}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-background);border-color:var(--color-text-muted);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){background:var(--color-border-light);transform:translateY(0)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-background);color:var(--color-text-primary)}.btn-ghost:active:not(:disabled){background:var(--color-border-light)}.btn-text{color:var(--color-primary);padding-left:var(--space-2);padding-right:var(--space-2);background:0 0}.btn-text:hover:not(:disabled){color:var(--color-primary-hover);background:var(--color-primary-50)}.btn-accent{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);box-shadow:var(--shadow-sm), 0 4px 14px 0 #8b5cf640;color:#fff!important}.btn-accent .btn-text,.btn-accent .btn-icon,.btn-accent span{color:#fff!important}.btn-accent:hover:not(:disabled){box-shadow:var(--shadow-md), 0 8px 24px 0 #8b5cf659;background:linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-accent) 100%);transform:translateY(-2px);color:#fff!important}.btn-danger{background:linear-gradient(135deg, var(--color-danger) 0%, #dc2626 100%);box-shadow:var(--shadow-sm), 0 4px 14px 0 #ef444440;color:#fff!important}.btn-danger .btn-text,.btn-danger .btn-icon,.btn-danger span{color:#fff!important}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md), 0 8px 24px 0 #ef444459;transform:translateY(-2px);color:#fff!important}.btn-outline{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-outline:hover:not(:disabled){background:var(--color-primary);transform:translateY(-1px);color:#fff!important}.btn-outline:hover:not(:disabled) .btn-text,.btn-outline:hover:not(:disabled) .btn-icon,.btn-outline:hover:not(:disabled) span{color:#fff!important}.btn-full{width:100%}.btn-loading{color:#0000!important}.btn-loading .btn-text,.btn-loading .btn-icon{visibility:hidden}.btn-spinner{justify-content:center;align-items:center;display:flex;position:absolute}.btn-spinner svg{color:currentColor;width:20px;height:20px;animation:.8s linear infinite spin}.btn-loading .btn-spinner{color:#fff!important}.btn-secondary.btn-loading .btn-spinner,.btn-ghost.btn-loading .btn-spinner,.btn-text.btn-loading .btn-spinner,.btn-outline.btn-loading .btn-spinner{color:var(--color-primary)}.btn-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn-icon svg{width:1.25em;height:1.25em}.btn-icon-only{aspect-ratio:1;padding:0}.btn-icon-only.btn-xs{width:28px}.btn-icon-only.btn-sm{width:36px}.btn-icon-only.btn-md{width:44px}.btn-icon-only.btn-lg{width:52px}.btn-icon-only.btn-xl{width:60px}.btn:after{content:"";opacity:0;background:radial-gradient(circle,#ffffff4d 0%,#0000 70%);transition:transform .5s,opacity .3s;position:absolute;inset:0;transform:scale(0)}.btn:active:after{opacity:1;transition:transform;transform:scale(2.5)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animated-bg{z-index:0;pointer-events:none;position:fixed;inset:0}.animated-bg-gradient{background:radial-gradient(ellipse 80% 60% at 50% 0%, #4f46e514 0%, transparent 50%), radial-gradient(ellipse 60% 50% at 80% 50%, #8b5cf60f 0%, transparent 50%), radial-gradient(ellipse 60% 50% at 20% 80%, #4f46e50d 0%, transparent 50%), var(--color-background);position:absolute;inset:0}.animated-bg-grid{opacity:.8;z-index:2;pointer-events:none;background-image:linear-gradient(#4f46e51f 1px,#0000 1px),linear-gradient(90deg,#4f46e51f 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0}.data-particle{background:var(--color-primary);width:6px;height:6px;box-shadow:0 0 10px var(--color-primary), 0 0 20px var(--color-primary), 0 0 30px #4f46e580;opacity:0;z-index:1;pointer-events:none;border-radius:50%;position:fixed}.data-particle:after{content:"";background:inherit;border-radius:inherit;filter:blur(3px);width:100%;height:100%;position:absolute;top:0;left:0}.data-particle-1{animation:12s linear infinite dashboardPath1;top:-10px;left:60px}.data-particle-2{animation:14s linear 1s infinite dashboardPath2;top:-10px;left:240px}.data-particle-3{background:var(--color-accent);box-shadow:0 0 10px var(--color-accent), 0 0 20px var(--color-accent), 0 0 30px #8b5cf680;animation:10s linear 2s infinite dashboardPath3;top:-10px;left:420px}.data-particle-4{animation:16s linear .5s infinite dashboardPath4;top:-10px;left:600px}.data-particle-5{background:var(--color-accent);box-shadow:0 0 10px var(--color-accent), 0 0 20px var(--color-accent), 0 0 30px #8b5cf680;animation:11s linear 3s infinite dashboardPath5;top:-10px;left:780px}.data-particle-6{animation:13s linear 1.5s infinite dashboardPath6;top:-10px;left:960px}.data-particle-7{background:var(--color-accent);box-shadow:0 0 10px var(--color-accent), 0 0 20px var(--color-accent), 0 0 30px #8b5cf680;animation:15s linear 4s infinite dashboardPath7;top:-10px;left:1140px}.data-particle-8{animation:12s linear 2.5s infinite dashboardPath8;top:-10px;left:1320px}@keyframes dashboardPath1{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}25%{opacity:1;transform:translateY(300px)}28%{opacity:1;transform:translate(60px,300px)}60%{opacity:1;transform:translate(60px,780px)}95%{opacity:1;transform:translate(60px,100vh)}to{opacity:0;transform:translate(60px,110vh)}}@keyframes dashboardPath2{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}30%{opacity:1;transform:translateY(240px)}33%{opacity:1;transform:translate(-60px,240px)}70%{opacity:1;transform:translate(-60px,840px)}95%{opacity:1;transform:translate(-60px,100vh)}to{opacity:0;transform:translate(-60px,110vh)}}@keyframes dashboardPath3{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}20%{opacity:1;transform:translateY(180px)}23%{opacity:1;transform:translate(60px,180px)}55%{opacity:1;transform:translate(60px,720px)}95%{opacity:1;transform:translate(60px,100vh)}to{opacity:0;transform:translate(60px,110vh)}}@keyframes dashboardPath4{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}35%{opacity:1;transform:translateY(300px)}38%{opacity:1;transform:translate(-60px,300px)}75%{opacity:1;transform:translate(-60px,900px)}95%{opacity:1;transform:translate(-60px,100vh)}to{opacity:0;transform:translate(-60px,110vh)}}@keyframes dashboardPath5{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}28%{opacity:1;transform:translateY(300px)}31%{opacity:1;transform:translate(60px,300px)}65%{opacity:1;transform:translate(60px,840px)}95%{opacity:1;transform:translate(60px,100vh)}to{opacity:0;transform:translate(60px,110vh)}}@keyframes dashboardPath6{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}32%{opacity:1;transform:translateY(300px)}35%{opacity:1;transform:translate(-60px,300px)}72%{opacity:1;transform:translate(-60px,900px)}95%{opacity:1;transform:translate(-60px,100vh)}to{opacity:0;transform:translate(-60px,110vh)}}@keyframes dashboardPath7{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}22%{opacity:1;transform:translateY(240px)}25%{opacity:1;transform:translate(60px,240px)}58%{opacity:1;transform:translate(60px,720px)}95%{opacity:1;transform:translate(60px,100vh)}to{opacity:0;transform:translate(60px,110vh)}}@keyframes dashboardPath8{0%{opacity:0;transform:translate(0)}2%{opacity:1;transform:translate(0)}38%{opacity:1;transform:translateY(360px)}41%{opacity:1;transform:translate(-60px,360px)}78%{opacity:1;transform:translate(-60px,900px)}95%{opacity:1;transform:translate(-60px,100vh)}to{opacity:0;transform:translate(-60px,110vh)}}.animated-bg-orb{filter:blur(80px);opacity:.4;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.animated-bg-orb-1{background:var(--color-primary);width:400px;height:400px;animation-delay:0s;top:-10%;right:-5%}.animated-bg-orb-2{background:var(--color-accent);width:300px;height:300px;animation-delay:-2s;bottom:-10%;left:-5%}.animated-bg-orb-3{background:var(--color-primary-light);width:200px;height:200px;animation-delay:-4s;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(0)}25%{transform:translate(20px,-20px)}50%{transform:translate(-20px,20px)}75%{transform:translate(20px,10px)}}.message-container{top:var(--space-6);z-index:var(--z-tooltip);gap:var(--space-3);pointer-events:none;max-width:500px;width:calc(100% - var(--space-8));flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.message{align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn var(--transition-base);border-left:4px solid;display:flex}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.message-success{border-left-color:var(--color-success);background:var(--color-success-bg)}.message-success .message-icon{color:var(--color-success)}.message-error{border-left-color:var(--color-danger);background:var(--color-danger-bg)}.message-error .message-icon{color:var(--color-danger)}.message-warning{border-left-color:var(--color-warning);background:var(--color-warning-bg)}.message-warning .message-icon{color:var(--color-warning)}.message-info{border-left-color:var(--color-info);background:var(--color-info-bg)}.message-info .message-icon{color:var(--color-info)}.message-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.message-icon svg{width:20px;height:20px}.message-content{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal);flex:1}.message-close{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.message-close:hover{color:var(--color-text-primary);background:#0000001a}.message-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.message-close svg{width:12px;height:12px}@media (width<=768px){.message-container{top:var(--space-4);width:calc(100% - var(--space-4))}.message{padding:var(--space-2) var(--space-3)}}@media (prefers-color-scheme:dark){.message{background:var(--color-surface);box-shadow:0 10px 25px -5px #0000004d}.message-success{background:#10b9811a}.message-error{background:#ef44441a}.message-warning{background:#f59e0b1a}.message-info{background:#3b82f61a}}
