:root{--login-gradient-start: #0f172a;--login-gradient-mid: #1e3a5f;--login-gradient-end: #134e4a;--login-accent: #10b981;--login-accent-light: #34d399;--login-accent-glow: rgba(16, 185, 129, .4);--login-glass-bg: rgba(255, 255, 255, .95);--login-glass-border: rgba(255, 255, 255, .2);--login-text-primary: #1e293b;--login-text-secondary: #64748b;--login-input-bg: #f8fafc;--login-input-border: #e2e8f0;--login-input-focus: #10b981;--login-shadow-soft: 0 4px 24px -4px rgba(0, 0, 0, .12);--login-shadow-glow: 0 0 40px rgba(16, 185, 129, .15)}[data-theme=oscuro]{--login-glass-bg: rgba(30, 41, 59, .95);--login-text-primary: #f1f5f9;--login-text-secondary: #94a3b8;--login-input-bg: rgba(51, 65, 85, .6);--login-input-border: rgba(100, 116, 139, .3)}.login-container{position:fixed;inset:0;width:100%;height:100%;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(135deg,var(--login-gradient-start) 0%,var(--login-gradient-mid) 50%,var(--login-gradient-end) 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite;z-index:100}.login-container::-webkit-scrollbar{width:6px}.login-container::-webkit-scrollbar-track{background:transparent}.login-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.login-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.login-container:before,.login-container:after{content:"";position:fixed;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;animation:float 20s ease-in-out infinite;z-index:0}.login-container:before{width:500px;height:500px;background:radial-gradient(circle,var(--login-accent-glow) 0%,transparent 70%);top:-150px;right:-100px;animation-delay:-5s}.login-container:after{width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.3) 0%,transparent 70%);bottom:-100px;left:-100px;animation-delay:-10s}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.login-card{position:relative;z-index:10;width:100%;max-width:440px;padding:40px 32px;margin:auto 0;background:var(--login-glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:28px;border:1px solid var(--login-glass-border);box-shadow:var(--login-shadow-soft),var(--login-shadow-glow),inset 0 1px #ffffff1a;animation:cardEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:center bottom;display:flex;flex-direction:column;gap:24px;flex-shrink:0}@keyframes cardEntrance{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card:hover{box-shadow:0 8px 40px -8px #00000026,0 0 60px #10b98133,inset 0 1px #ffffff26}.logo-animated-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:12px;position:relative}.logo-animated-wrapper:before{content:"";position:absolute;width:110px;height:110px;border-radius:28px;background:linear-gradient(135deg,#10b9814d,#34d39933,#10b9811a);filter:blur(20px);animation:logoRingPulse 3s ease-in-out infinite;z-index:0}@keyframes logoRingPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:.8}}.ms-logo-animated{position:relative;z-index:1;width:92px;height:92px;border-radius:24px;object-fit:contain;display:block;background:linear-gradient(145deg,#fff,#f8fafc);padding:8px;border:1px solid rgba(16,185,129,.15);filter:hue-rotate(-10deg) saturate(1.15) brightness(1.02);animation:logoPop .8s cubic-bezier(.34,1.56,.64,1) forwards,logoFloat 4s ease-in-out infinite .8s;box-shadow:0 4px 6px -1px #0000001a,0 10px 20px -5px #10b98133,0 20px 40px -10px #10b98126,inset 0 1px #fffc;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.ms-logo-animated:hover{transform:scale(1.08) translateY(-4px);box-shadow:0 8px 12px -2px #0000001f,0 16px 32px -8px #10b9814d,0 24px 48px -12px #10b98133,inset 0 1px #ffffffe6}@keyframes logoPop{0%{opacity:0;transform:scale(.5) rotate(-10deg)}60%{transform:scale(1.1) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-header{text-align:center;margin-bottom:0}.login-header h2{font-family:"Plus Jakarta Sans",var(--font-display, sans-serif);font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:8px;background:linear-gradient(135deg,var(--login-accent) 0%,var(--login-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:titleSlide .5s ease-out .2s both}.login-header p{font-family:"Inter",var(--font-body, sans-serif);font-size:1rem;color:var(--login-text-secondary);margin:0;animation:titleSlide .5s ease-out .3s both}@keyframes titleSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-form{display:flex;flex-direction:column;gap:16px}.input-group,.login-input-group{display:flex;flex-direction:column;animation:inputSlide .4s ease-out both}.login-input-group:nth-child(1){animation-delay:.35s}.login-input-group:nth-child(2){animation-delay:.4s}.login-input-group:nth-child(3){animation-delay:.45s}@keyframes inputSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.login-input-container{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--login-text-secondary);z-index:1;transition:color .2s ease,transform .2s ease;pointer-events:none}.login-input-container:focus-within .login-input-icon{color:var(--login-accent);transform:scale(1.1)}.login-input-container input{width:100%;height:56px;padding:0 48px 0 52px;background:var(--login-input-bg);border:2px solid var(--login-input-border);border-radius:16px;font-family:"Inter",var(--font-body, sans-serif);font-size:1rem;color:var(--login-text-primary);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .15s ease;outline:none}.login-input-container input::placeholder{color:var(--login-text-secondary);opacity:.7}.login-input-container input:hover:not(:disabled){border-color:var(--login-accent);background:#fff}.login-input-container input:focus{border-color:var(--login-accent);background:#fff;box-shadow:0 0 0 4px #10b9811a,0 4px 12px #10b98114;transform:translateY(-1px)}.login-input-container input:disabled{opacity:.6;cursor:not-allowed}.login-password-toggle{position:absolute;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:12px;cursor:pointer;color:var(--login-text-secondary);transition:color .2s ease,background-color .2s ease,transform .15s ease;z-index:2}.login-password-toggle:hover{color:var(--login-accent);background:#10b9811a}.login-password-toggle:active{transform:scale(.92)}.login-password-toggle svg{width:20px;height:20px}.login-primary-button{position:relative;width:100%;height:56px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,var(--login-accent) 0%,#059669 100%);border:none;border-radius:16px;font-family:"Plus Jakarta Sans",var(--font-display, sans-serif);font-size:1.1rem;font-weight:600;color:#fff;letter-spacing:.01em;cursor:pointer;box-shadow:0 4px 16px #10b9814d,0 2px 4px #0000001a,inset 0 1px #fff3;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease,background .2s ease;overflow:hidden;isolation:isolate}.login-primary-button:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.2) 50%,transparent 80%);transform:translate(-100%);transition:transform .5s ease}.login-primary-button:hover:before{transform:translate(100%)}.login-primary-button:hover:not(:disabled){transform:translateY(-2px) scale(1.01);box-shadow:0 8px 24px #10b98166,0 4px 8px #0000001f,inset 0 1px #ffffff40}.login-primary-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #10b9814d,0 1px 2px #0000001a;transition-duration:.1s}.login-primary-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-primary-button:focus-visible{outline:none;box-shadow:0 0 0 3px #10b98180,0 4px 16px #10b9814d}.login-form-footer{text-align:center;margin-top:4px}.login-link-forgot-btn{background:none!important;border:none;box-shadow:none!important;font-family:"Inter",var(--font-body, sans-serif);font-size:.95rem;font-weight:500;color:var(--login-accent);cursor:pointer;padding:8px 12px;border-radius:8px;transition:color .2s ease,background-color .2s ease,transform .15s ease}.login-link-forgot-btn:hover{color:var(--login-accent-light);background:#10b98114!important;text-decoration:none}.login-link-forgot-btn:active{transform:scale(.97)}.login-link-forgot-btn.primary{font-weight:600;color:var(--login-accent)}.login-form-switch{text-align:center;padding-top:16px;border-top:1px solid var(--login-input-border)}.login-form-switch p{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.95rem;color:var(--login-text-secondary);margin:0}.oauth-separator{position:relative;text-align:center;margin:8px 0 16px}.oauth-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--login-input-border) 20%,var(--login-input-border) 80%,transparent 100%)}.oauth-separator span{position:relative;z-index:1;padding:0 16px;background:var(--login-glass-bg);font-size:.875rem;color:var(--login-text-secondary);font-weight:500}#gsi-btn{display:flex;justify-content:center;margin-bottom:16px}.alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:16px;position:relative;animation:alertSlide .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes alertSlide{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.alert.error{background:linear-gradient(135deg,#ef444414,#dc26260d);border:1px solid rgba(239,68,68,.2);color:#dc2626}.alert.success{background:linear-gradient(135deg,#10b98114,#0596690d);border:1px solid rgba(16,185,129,.2);color:#059669}.alert-icon{flex-shrink:0;display:flex;align-items:center}.alert-icon svg{width:24px;height:24px}.alert-content{flex:1;min-width:0}.alert-title{display:block;font-weight:600;font-size:.95rem;margin-bottom:2px}.alert-message{display:block;font-size:.9rem;line-height:1.4;opacity:.9}.alert-close{position:absolute;top:12px;right:12px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;font-size:1.25rem;line-height:1;color:inherit;opacity:.6;transition:opacity .2s,background-color .2s,transform .15s}.alert-close:hover{opacity:1;background:#0000000d}.alert-close:active{transform:scale(.9)}.organization-type-selector{margin:8px 0;animation:inputSlide .4s ease-out .3s both}.org-type-label{display:block;font-family:"Inter",var(--font-body, sans-serif);font-size:.9rem;font-weight:600;color:var(--login-text-primary);margin-bottom:12px}.org-type-grid{display:flex;flex-direction:column;gap:12px}.org-type-card{position:relative;display:flex;align-items:center;gap:16px;padding:16px;background:var(--login-input-bg);border:2px solid var(--login-input-border);border-radius:16px;cursor:pointer;text-align:left;width:100%;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .15s ease}.org-type-card:hover:not(:disabled){border-color:var(--login-accent);background:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #10b9811a}.org-type-card.selected{border-color:var(--login-accent);background:linear-gradient(135deg,#10b98114,#10b9810a);box-shadow:0 0 0 3px #10b98126,0 4px 12px #10b9811a}.org-type-card:disabled{opacity:.5;cursor:not-allowed}.org-type-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;color:var(--login-accent);box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.org-type-card.selected .org-type-icon{background:var(--login-accent);color:#fff;box-shadow:0 4px 12px #10b9814d;transform:scale(1.05)}.org-type-content{flex:1;min-width:0}.org-type-content h3{font-family:"Plus Jakarta Sans",var(--font-display, sans-serif);font-size:1rem;font-weight:600;color:var(--login-text-primary);margin:0 0 4px}.org-type-card.selected .org-type-content h3{color:var(--login-accent)}.org-type-content p{font-size:.85rem;color:var(--login-text-secondary);margin:0;line-height:1.3}.org-type-check{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--login-accent);border-radius:50%;color:#fff;opacity:0;transform:scale(.5);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.org-type-card.selected .org-type-check{opacity:1;transform:scale(1)}.back-to-megaseller{text-align:center;padding-top:16px;border-top:1px solid var(--login-input-border)}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--login-text-secondary);text-decoration:none;padding:10px 16px;border-radius:12px;transition:color .2s ease,background-color .2s ease,transform .2s ease}.back-link:hover{color:var(--login-accent);background:#10b98114;transform:translate(-4px)}.back-arrow{transition:transform .2s ease}.back-link:hover .back-arrow{transform:translate(-3px)}.social-buttons{display:flex;flex-direction:column;gap:12px}.social-button{display:flex;align-items:center;justify-content:center;gap:12px;height:52px;padding:0 20px;background:#fff;border:2px solid var(--login-input-border);border-radius:14px;font-size:1rem;font-weight:500;color:var(--login-text-primary);cursor:pointer;transition:all .2s ease}.social-button:hover{border-color:var(--login-accent);background:#10b9810a;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.social-icon{width:22px;height:22px}.divider{position:relative;text-align:center;margin:20px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--login-input-border)}.divider span{position:relative;z-index:1;padding:0 16px;background:var(--login-glass-bg);font-size:.875rem;color:var(--login-text-secondary)}@media (max-width: 480px){.login-container{padding:16px 12px;align-items:flex-start}.login-card{padding:28px 20px;border-radius:24px;gap:20px;margin:0}.ms-logo-animated{width:72px;height:72px;border-radius:20px}.login-header h2{font-size:1.5rem}.login-header p{font-size:.9rem}.login-input-container input{height:52px;font-size:16px;padding:0 44px 0 48px}.login-primary-button{height:52px;font-size:1rem}.org-type-card{padding:14px;gap:12px}.org-type-icon{width:42px;height:42px}.org-type-icon svg{width:24px;height:24px}.org-type-content h3{font-size:.95rem}.org-type-content p{font-size:.8rem}.login-container:before{width:300px;height:300px;top:-100px;right:-80px}.login-container:after{width:250px;height:250px;bottom:-80px;left:-80px}}@media (min-width: 481px) and (max-width: 768px){.login-card{max-width:400px;padding:36px 28px}}@media (min-width: 769px){.login-card{transition:transform .3s ease,box-shadow .3s ease}.login-card:hover{transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.login-container{animation:none;background-size:100% 100%}.login-container:before,.login-container:after{animation:none}.login-card{animation:none;opacity:1;transform:none}.ms-logo-animated{animation:none}.login-header h2,.login-header p,.input-group,.login-input-group,.organization-type-selector,.alert{animation:none;opacity:1;transform:none}.login-primary-button:before{display:none}*{transition-duration:.01ms!important}}[data-theme=oscuro] .login-container{--login-gradient-start: #0c0f14;--login-gradient-mid: #0f1a24;--login-gradient-end: #0a1f1c}[data-theme=oscuro] .login-card{border-color:#ffffff14}[data-theme=oscuro] .login-input-container input{background:#33415580;border-color:#64748b4d}[data-theme=oscuro] .login-input-container input:hover,[data-theme=oscuro] .login-input-container input:focus{background:#334155b3}[data-theme=oscuro] .org-type-card{background:#33415566;border-color:#64748b4d}[data-theme=oscuro] .org-type-card:hover,[data-theme=oscuro] .org-type-card.selected{background:#10b9811a}[data-theme=oscuro] .org-type-icon{background:#1e293bcc}[data-theme=oscuro] .oauth-separator span,[data-theme=oscuro] .divider span{background:var(--login-glass-bg)}[data-theme=oscuro] .social-button{background:#33415580;border-color:#64748b4d}.login-primary-button:focus-visible,.social-button:focus-visible,.login-link-forgot-btn:focus-visible,.org-type-card:focus-visible{outline:2px solid var(--login-accent);outline-offset:2px}.login-input-container input:focus-visible{outline:none}.spinner{display:inline-flex;align-items:center;justify-content:center;color:var(--md-sys-color-primary);background:transparent;box-sizing:border-box;position:relative;will-change:transform;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.spinner-visible{opacity:1}.spinner-slow .spinner-circular svg,.spinner-slow .pulse-ring,.spinner-slow .orbit-ring{animation-duration:2.4s}.spinner-slow .dot,.spinner-slow .wave-bar,.spinner-slow .pulse-center,.spinner-slow .orbit-center{animation-duration:2.8s}.spinner-fast .spinner-circular svg,.spinner-fast .pulse-ring,.spinner-fast .orbit-ring{animation-duration:.8s}.spinner-fast .dot,.spinner-fast .wave-bar,.spinner-fast .pulse-center,.spinner-fast .orbit-center{animation-duration:.9s}.spinner-paused .spinner-circular svg,.spinner-paused .pulse-ring,.spinner-paused .orbit-ring,.spinner-paused .dot,.spinner-paused .wave-bar,.spinner-paused .pulse-center,.spinner-paused .orbit-center{animation-play-state:paused}.spinner-small{width:20px;height:20px}.spinner-medium{width:32px;height:32px}.spinner-large{width:48px;height:48px}.spinner-circular{position:relative}.spinner-circular svg{width:100%;height:100%;animation:spin 1.2s cubic-bezier(.4,0,.2,1) infinite;display:block;filter:drop-shadow(0 0 6px currentColor)}.spinner-circular circle{stroke:currentColor;stroke-dasharray:126;stroke-dashoffset:126;animation:dash 1.2s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 4px currentColor);opacity:.9;stroke-linecap:round}@keyframes dash{0%{stroke-dasharray:1,126;stroke-dashoffset:0;opacity:.9}50%{stroke-dasharray:90,126;stroke-dashoffset:-35;opacity:1}to{stroke-dasharray:90,126;stroke-dashoffset:-124;opacity:.9}}.spinner-dots{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:100%}.spinner-dots .dot{width:18%;height:18%;border-radius:50%;background:currentColor;animation:dotPulse 1.4s cubic-bezier(.4,0,.2,1) infinite both;filter:drop-shadow(0 0 4px currentColor);opacity:.8;transform-origin:center}.spinner-dots .dot-1{animation-delay:-.28s}.spinner-dots .dot-2{animation-delay:-.14s}.spinner-dots .dot-3{animation-delay:0s}@keyframes dotPulse{0%,80%,to{transform:scale(.5);opacity:.3}40%{transform:scale(1.1);opacity:1}}.spinner-pulse{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pulse-ring{position:absolute;border:3px solid currentColor;border-radius:50%;animation:pulseRing 1.8s cubic-bezier(.455,.03,.515,.955) infinite;opacity:.7;filter:drop-shadow(0 0 6px currentColor)}.pulse-ring-1{width:100%;height:100%;animation-delay:0s}.pulse-ring-2{width:75%;height:75%;animation-delay:-.36s;border-color:currentColor;opacity:.5}.pulse-ring-3{width:50%;height:50%;animation-delay:-.72s;border-color:currentColor;opacity:.3}.pulse-center{width:35%;height:35%;background:currentColor;border-radius:50%;animation:pulseCenter 1.8s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 8px currentColor);opacity:.9}@keyframes pulseRing{0%{transform:scale(.7);opacity:.7}to{transform:scale(1.3);opacity:0}}@keyframes pulseCenter{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.spinner-wave{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:100%}.wave-bar{width:12%;height:100%;background:currentColor;border-radius:3px;animation:waveStretch 1.2s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 4px currentColor);opacity:.8;transform-origin:center bottom}.wave-bar-1{animation-delay:-.96s}.wave-bar-2{animation-delay:-.72s}.wave-bar-3{animation-delay:-.48s}.wave-bar-4{animation-delay:-.24s}.wave-bar-5{animation-delay:0s}@keyframes waveStretch{0%,40%,to{transform:scaleY(.3);opacity:.3}20%{transform:scaleY(1.1);opacity:1}}.spinner-orbit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.orbit-center{width:30%;height:30%;background:currentColor;border-radius:50%;animation:orbitCenter 1.4s cubic-bezier(.4,0,.2,1) infinite;filter:drop-shadow(0 0 8px currentColor);opacity:.9}.orbit-ring{position:absolute;width:100%;height:100%;animation:orbitRotate 1.4s cubic-bezier(.4,0,.2,1) infinite}.orbit-dot{position:absolute;width:14%;height:14%;background:currentColor;border-radius:50%;top:50%;left:50%;transform-origin:0 0;filter:drop-shadow(0 0 5px currentColor);opacity:.7}.orbit-dot-1{transform:translate(-50%,-50%) rotate(0) translate(150%) rotate(0);animation-delay:0s}.orbit-dot-2{transform:translate(-50%,-50%) rotate(120deg) translate(150%) rotate(-120deg);animation-delay:-.47s}.orbit-dot-3{transform:translate(-50%,-50%) rotate(240deg) translate(150%) rotate(-240deg);animation-delay:-.94s}@keyframes orbitRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitCenter{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.spinner-primary{color:var(--md-sys-color-primary)}.spinner-secondary{color:var(--md-sys-color-secondary)}.spinner-tertiary{color:var(--md-sys-color-tertiary)}.spinner-error{color:var(--md-sys-color-error)}.spinner-warning{color:var(--md-sys-color-warning)}.spinner-success{color:var(--md-sys-color-success)}.spinner-with-text{display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.spinner-with-text.spinner-visible{opacity:1}.spinner-text{font-size:.875rem;color:var(--md-sys-color-on-surface-variant);font-weight:500;text-align:center;line-height:1.4;animation:textFade 2s ease-in-out infinite}@keyframes textFade{0%,to{opacity:.7}50%{opacity:1}}.spinner-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .4s cubic-bezier(.4,0,.2,1);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.spinner-overlay.spinner-visible{opacity:1}.spinner-overlay .spinner{width:72px;height:72px;color:#fff;filter:drop-shadow(0 0 20px rgba(255,255,255,.3))}.spinner-overlay .spinner-text{margin-top:20px;color:#fff;font-size:1.1rem;font-weight:500;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width: 768px){.spinner-large{width:44px;height:44px}.spinner-medium{width:28px;height:28px}.spinner-small{width:18px;height:18px}.spinner-overlay .spinner{width:64px;height:64px}}@media (max-width: 480px){.spinner-large{width:40px;height:40px}.spinner-medium{width:24px;height:24px}.spinner-small{width:16px;height:16px}.spinner-overlay .spinner{width:56px;height:56px}}@media (prefers-reduced-motion: reduce){.spinner-circular svg,.pulse-ring,.orbit-ring{animation-duration:4s}.dot,.wave-bar,.pulse-center,.orbit-center{animation-duration:3s}.spinner-text{animation:none}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-contrast: high){.spinner{color:var(--md-sys-color-on-surface);filter:contrast(1.5)}.spinner-overlay{background:#000000e6}}@media (prefers-color-scheme: dark){.spinner{filter:brightness(1.2) contrast(1.1)}.spinner-overlay{background:#000c}}.spinner:hover{transform:scale(1.05);transition:transform .2s cubic-bezier(.4,0,.2,1)}.spinner:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:4px}.spinner *{will-change:transform,opacity}.spinner,.spinner-overlay{transition:all .3s cubic-bezier(.4,0,.2,1)}:root{--color-white: #ffffff;--color-black: #000000;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-success-light: #e8f5e9;--color-success: #4caf50;--color-success-dark: #2e7d32;--color-warning-light: #fff8e1;--color-warning: #ff9800;--color-warning-dark: #f57c00;--color-error-light: #ffebee;--color-error: #f44336;--color-error-dark: #c62828;--color-info-light: #e3f2fd;--color-info: #2196f3;--color-info-dark: #1565c0;--state-hover-opacity: .08;--state-focus-opacity: .12;--state-pressed-opacity: .12;--state-dragged-opacity: .16;--state-disabled-opacity: .38;--state-disabled-container-opacity: .12}:root{--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--text-display-large: clamp(2.5rem, 5vw + 1rem, 3.5rem);--text-display-medium: clamp(2rem, 4vw + .5rem, 2.75rem);--text-display-small: clamp(1.75rem, 3vw + .5rem, 2.25rem);--text-headline-large: clamp(1.5rem, 2.5vw + .5rem, 2rem);--text-headline-medium: clamp(1.25rem, 2vw + .5rem, 1.75rem);--text-headline-small: clamp(1.125rem, 1.5vw + .5rem, 1.5rem);--text-title-large: clamp(1.125rem, 1.25vw + .5rem, 1.375rem);--text-title-medium: clamp(1rem, 1vw + .5rem, 1.125rem);--text-title-small: clamp(.875rem, .75vw + .5rem, 1rem);--text-body-large: clamp(1rem, .5vw + .875rem, 1.125rem);--text-body-medium: clamp(.875rem, .25vw + .8rem, 1rem);--text-body-small: clamp(.75rem, .25vw + .7rem, .875rem);--text-label-large: clamp(.875rem, .25vw + .8rem, 1rem);--text-label-medium: clamp(.75rem, .25vw + .7rem, .875rem);--text-label-small: clamp(.6875rem, .2vw + .6rem, .75rem);--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0em;--letter-spacing-wide: .015em;--letter-spacing-wider: .05em;--font-smoothing-webkit: antialiased;--font-smoothing-moz: grayscale}.text-display-large{font-family:var(--font-display);font-size:var(--text-display-large);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-display-medium{font-family:var(--font-display);font-size:var(--text-display-medium);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-display-small{font-family:var(--font-display);font-size:var(--text-display-small);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-headline-large{font-family:var(--font-display);font-size:var(--text-headline-large);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-headline-medium{font-family:var(--font-display);font-size:var(--text-headline-medium);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-normal)}.text-headline-small{font-family:var(--font-display);font-size:var(--text-headline-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}.text-title-large{font-family:var(--font-body);font-size:var(--text-title-large);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal)}.text-title-medium{font-family:var(--font-body);font-size:var(--text-title-medium);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-title-small{font-family:var(--font-body);font-size:var(--text-title-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-body-large{font-family:var(--font-body);font-size:var(--text-body-large);font-weight:var(--font-weight-regular);line-height:var(--line-height-relaxed);letter-spacing:var(--letter-spacing-wide)}.text-body-medium{font-family:var(--font-body);font-size:var(--text-body-medium);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-body-small{font-family:var(--font-body);font-size:var(--text-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-label-large{font-family:var(--font-body);font-size:var(--text-label-large);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-label-medium{font-family:var(--font-body);font-size:var(--text-label-medium);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wider)}.text-label-small{font-family:var(--font-body);font-size:var(--text-label-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wider)}:root{--elevation-0: none;--elevation-1: 0px 1px 2px rgba(0, 0, 0, .08), 0px 1px 3px 1px rgba(0, 0, 0, .06);--elevation-2: 0px 1px 2px rgba(0, 0, 0, .08), 0px 2px 6px 2px rgba(0, 0, 0, .08);--elevation-3: 0px 4px 8px 3px rgba(0, 0, 0, .1), 0px 1px 3px rgba(0, 0, 0, .12);--elevation-4: 0px 6px 10px 4px rgba(0, 0, 0, .1), 0px 2px 3px rgba(0, 0, 0, .14);--elevation-5: 0px 8px 12px 6px rgba(0, 0, 0, .1), 0px 4px 4px rgba(0, 0, 0, .16);--elevation-primary-1: 0px 1px 3px rgba(4, 132, 45, .12), 0px 1px 2px rgba(4, 132, 45, .08);--elevation-primary-2: 0px 2px 6px rgba(4, 132, 45, .15), 0px 1px 3px rgba(4, 132, 45, .1);--elevation-primary-3: 0px 4px 12px rgba(4, 132, 45, .18), 0px 2px 4px rgba(4, 132, 45, .12);--elevation-dark-1: 0px 1px 3px rgba(0, 0, 0, .35), 0px 1px 2px rgba(0, 0, 0, .45);--elevation-dark-2: 0px 2px 6px rgba(0, 0, 0, .4), 0px 1px 3px rgba(0, 0, 0, .5);--elevation-dark-3: 0px 4px 12px rgba(0, 0, 0, .45), 0px 2px 4px rgba(0, 0, 0, .55);--elevation-dark-4: 0px 6px 16px rgba(0, 0, 0, .5), 0px 3px 6px rgba(0, 0, 0, .6);--elevation-dark-5: 0px 8px 20px rgba(0, 0, 0, .55), 0px 4px 8px rgba(0, 0, 0, .65);--elevation-inset-1: inset 0px 1px 2px rgba(0, 0, 0, .06);--elevation-inset-2: inset 0px 2px 4px rgba(0, 0, 0, .08);--glow-primary: 0 0 0 3px rgba(4, 132, 45, .25);--glow-error: 0 0 0 3px rgba(179, 38, 30, .25);--glow-info: 0 0 0 3px rgba(30, 136, 229, .25)}.elevation-0{box-shadow:var(--elevation-0)}.elevation-1{box-shadow:var(--elevation-1)}.elevation-2{box-shadow:var(--elevation-2)}.elevation-3{box-shadow:var(--elevation-3)}.elevation-4{box-shadow:var(--elevation-4)}.elevation-5{box-shadow:var(--elevation-5)}.elevation-transition{transition:box-shadow .2s cubic-bezier(.4,0,.2,1)}.elevation-hover:hover,.elevation-1.elevation-hover:hover{box-shadow:var(--elevation-2)}.elevation-2.elevation-hover:hover{box-shadow:var(--elevation-3)}:root{--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--easing-standard: cubic-bezier(.4, 0, .2, 1);--easing-emphasized: cubic-bezier(.2, 0, 0, 1);--easing-decelerate: cubic-bezier(0, 0, .2, 1);--easing-accelerate: cubic-bezier(.4, 0, 1, 1);--easing-bouncy: cubic-bezier(.34, 1.56, .64, 1);--easing-elastic: cubic-bezier(.68, -.55, .265, 1.55);--easing-snappy: cubic-bezier(.25, .46, .45, .94);--easing-smooth: cubic-bezier(.45, 0, .55, 1);--transition-colors: color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);--transition-transform: transform var(--duration-normal) var(--easing-bouncy);--transition-opacity: opacity var(--duration-normal) var(--easing-standard);--transition-shadow: box-shadow var(--duration-normal) var(--easing-standard);--transition-all: all var(--duration-normal) var(--easing-standard);--transition-modal: opacity var(--duration-slow) var(--easing-decelerate), transform var(--duration-slow) var(--easing-bouncy);--scale-pressed: .96;--scale-hover: 1.02;--scale-active: .98}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--easing-decelerate) forwards}.animate-fade-out{animation:fadeOut var(--duration-normal) var(--easing-accelerate) forwards}.animate-slide-up{animation:slideUp var(--duration-slow) var(--easing-bouncy) forwards}.animate-scale-in{animation:scaleIn var(--duration-slow) var(--easing-bouncy) forwards}.animate-pulse{animation:pulse 2s var(--easing-smooth) infinite}.animate-shimmer{background:linear-gradient(90deg,var(--md-sys-color-surface-variant) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .5s var(--easing-standard)}:root{--radius-none: 0px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 28px;--radius-full: 9999px;--shape-corner-none: var(--radius-none);--shape-corner-extra-small: var(--radius-xs);--shape-corner-small: var(--radius-sm);--shape-corner-medium: var(--radius-md);--shape-corner-large: var(--radius-lg);--shape-corner-extra-large: var(--radius-xl);--shape-corner-full: var(--radius-full);--border-width-none: 0px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 3px;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--touch-target-min: 48px;--touch-target-comfortable: 56px;--touch-target-large: 64px;--container-xs: 320px;--container-sm: 480px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}.rounded-none{border-radius:var(--radius-none)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.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-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%;overflow:hidden}body{min-height:100%;line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;font-optical-sizing:auto}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{background:none;border:none;cursor:pointer}table{border-collapse:collapse;border-spacing:0}body{padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}body{font-family:var(--font-body);font-size:var(--text-body-medium);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-wide);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--md-sys-color-on-surface);margin-bottom:.5em}h1{font-size:var(--text-display-small);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h2{font-size:var(--text-headline-large);line-height:var(--line-height-tight)}h3{font-size:var(--text-headline-medium);line-height:var(--line-height-tight)}h4{font-size:var(--text-headline-small);font-weight:var(--font-weight-medium)}h5{font-size:var(--text-title-large);font-weight:var(--font-weight-medium)}h6{font-size:var(--text-title-medium);font-weight:var(--font-weight-medium)}p{font-size:var(--text-body-medium);line-height:var(--line-height-relaxed);color:var(--md-sys-color-on-surface-variant);margin-bottom:1rem}a{color:var(--md-sys-color-primary);font-weight:var(--font-weight-medium);transition:var(--transition-colors)}a:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}*{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline);background-clip:content-box}:focus{outline:none}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-fluid{max-width:100%}.grid{display:grid;gap:var(--space-4)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-cols-12{grid-template-columns:repeat(12,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.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}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.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-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-0{margin:var(--space-0)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}@media (min-width: 768px){.container{padding-left:var(--space-6);padding-right:var(--space-6)}.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}}@media (min-width: 1024px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.lg\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}@media (min-width: 1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.xl\:grid-cols-5{grid-template-columns:repeat(5,1fr)}.xl\:grid-cols-6{grid-template-columns:repeat(6,1fr)}}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-tablet,.show-mobile-only{display:none!important}}@media (min-width: 1024px){.hide-desktop{display:none!important}}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}:root{--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal{z-index:var(--z-modal)}.z-tooltip{z-index:var(--z-tooltip)}.z-toast{z-index:var(--z-toast)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.min-h-screen{min-height:100vh}.max-w-full{max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-label-large);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);text-align:center;white-space:nowrap;border:none;border-radius:var(--radius-full);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-normal) var(--easing-standard),transform var(--duration-fast) var(--easing-bouncy);position:relative;overflow:hidden;isolation:isolate}.btn:active{transform:scale(var(--scale-pressed));transition-duration:var(--duration-instant)}.btn:focus-visible{outline:none;box-shadow:var(--glow-primary)}.btn:disabled,.btn[disabled]{opacity:var(--state-disabled-opacity);cursor:not-allowed;pointer-events:none}.btn-filled,.btn-primary{background-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--elevation-1)}.btn-filled:hover,.btn-primary:hover{box-shadow:var(--elevation-2);background-color:color-mix(in srgb,var(--md-sys-color-primary) 92%,white)}.btn-filled:active,.btn-primary:active{box-shadow:var(--elevation-1)}.btn-tonal,.btn-secondary{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn-tonal:hover,.btn-secondary:hover{background-color:color-mix(in srgb,var(--md-sys-color-secondary-container) 92%,var(--md-sys-color-on-secondary-container))}.btn-outlined{background-color:transparent;color:var(--md-sys-color-primary);border:var(--border-width-thin) solid var(--md-sys-color-outline)}.btn-outlined:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent);border-color:var(--md-sys-color-primary)}.btn-text{background-color:transparent;color:var(--md-sys-color-primary);padding:var(--space-3) var(--space-4)}.btn-text:hover{background-color:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.btn-elevated{background-color:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-primary);box-shadow:var(--elevation-1)}.btn-elevated:hover{box-shadow:var(--elevation-2);background-color:color-mix(in srgb,var(--md-sys-color-surface-container-low) 92%,var(--md-sys-color-primary))}.btn-error,.btn-danger{background-color:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.btn-error:hover,.btn-danger:hover{background-color:color-mix(in srgb,var(--md-sys-color-error) 92%,white)}.btn-error:focus-visible,.btn-danger:focus-visible{box-shadow:var(--glow-error)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover{background-color:var(--color-success-dark)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--text-label-medium);border-radius:var(--radius-lg)}.btn-lg{min-height:var(--touch-target-comfortable);padding:var(--space-4) var(--space-8);font-size:var(--text-label-large)}.btn-xl{min-height:var(--touch-target-large);padding:var(--space-5) var(--space-10);font-size:var(--text-title-small)}.btn-block{width:100%}.btn-icon{width:var(--touch-target-min);height:var(--touch-target-min);padding:0;border-radius:var(--radius-full)}.btn-icon.btn-sm{width:36px;height:36px}.btn-icon.btn-lg{width:var(--touch-target-comfortable);height:var(--touch-target-comfortable)}.btn svg,.btn-icon svg{width:20px;height:20px;flex-shrink:0}.btn-sm svg{width:18px;height:18px}.btn-lg svg,.btn-xl svg{width:24px;height:24px}.btn:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),currentColor 0%,transparent 70%);opacity:0;transform:scale(0);transition:opacity var(--duration-normal) var(--easing-standard),transform var(--duration-slow) var(--easing-decelerate);z-index:-1}.btn:active:before{opacity:.12;transform:scale(2)}.btn-group{display:inline-flex;gap:var(--space-2)}.btn-group-attached{display:inline-flex}.btn-group-attached .btn{border-radius:0}.btn-group-attached .btn:first-child{border-radius:var(--radius-full) 0 0 var(--radius-full)}.btn-group-attached .btn:last-child{border-radius:0 var(--radius-full) var(--radius-full) 0}.btn-loading{pointer-events:none;position:relative;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:spin .75s linear infinite}.btn-loading.btn-filled:after,.btn-loading.btn-primary:after{border-color:var(--md-sys-color-on-primary);border-right-color:transparent}.input{display:block;width:100%;height:var(--touch-target-comfortable);padding:var(--space-4);font-family:var(--font-body);font-size:var(--text-body-medium);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface-variant);border:var(--border-width-thin) solid var(--md-sys-color-outline);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard);outline:none;-webkit-appearance:none;appearance:none}.input::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:.7}.input:hover:not(:disabled):not(:focus){border-color:var(--md-sys-color-on-surface);background-color:var(--md-sys-color-surface)}.input:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary);background-color:var(--md-sys-color-surface)}.input:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed;background-color:var(--md-sys-color-surface-variant)}.input:read-only{background-color:var(--md-sys-color-surface-container);cursor:default}.input-error,.input.error{border-color:var(--md-sys-color-error)}.input-error:focus,.input.error:focus{border-color:var(--md-sys-color-error);box-shadow:var(--glow-error)}.input-success,.input.success{border-color:var(--color-success)}.input-success:focus,.input.success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #4caf5040}.input-sm{height:40px;padding:var(--space-2) var(--space-3);font-size:var(--text-body-small);border-radius:var(--radius-sm)}.input-lg{height:var(--touch-target-large);padding:var(--space-4) var(--space-5);font-size:var(--text-body-large);border-radius:var(--radius-lg)}.input-field{position:relative;margin-bottom:var(--space-5)}.input-field .input{padding-top:var(--space-5)}.input-field .input-label{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);font-size:var(--text-body-medium);color:var(--md-sys-color-on-surface-variant);pointer-events:none;transition:top var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard),font-size var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.input-field .input:focus+.input-label,.input-field .input:not(:placeholder-shown)+.input-label,.input-field .input.has-value+.input-label{top:var(--space-2);transform:translateY(0) scale(.75);transform-origin:left top;color:var(--md-sys-color-primary);font-size:var(--text-label-small)}.input-field .input-error+.input-label,.input-field .input.error+.input-label{color:var(--md-sys-color-error)}.input-with-icon{position:relative}.input-with-icon .input{padding-left:calc(var(--space-4) + 24px + var(--space-2))}.input-with-icon .input-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:24px;height:24px;color:var(--md-sys-color-on-surface-variant);pointer-events:none;transition:color var(--duration-fast) var(--easing-standard)}.input-with-icon .input:focus~.input-icon{color:var(--md-sys-color-primary)}.input-with-icon.icon-right .input{padding-left:var(--space-4);padding-right:calc(var(--space-4) + 24px + var(--space-2))}.input-with-icon.icon-right .input-icon{left:auto;right:var(--space-4)}.textarea{min-height:120px;height:auto;resize:vertical;padding:var(--space-4);line-height:var(--line-height-relaxed)}.textarea-sm{min-height:80px}.textarea-lg{min-height:180px}.select{cursor:pointer;padding-right:calc(var(--space-4) + 24px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:20px}.select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2304842d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.checkbox,.radio{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;user-select:none;min-height:var(--touch-target-min)}.checkbox input,.radio input{position:absolute;opacity:0;width:0;height:0}.checkbox-mark,.radio-mark{width:20px;height:20px;border:2px solid var(--md-sys-color-outline);background-color:transparent;transition:background-color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.checkbox-mark{border-radius:var(--radius-xs)}.radio-mark{border-radius:var(--radius-full)}.checkbox input:checked+.checkbox-mark,.radio input:checked+.radio-mark{background-color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.checkbox input:checked+.checkbox-mark:after{content:"";display:block;width:6px;height:10px;margin:2px auto;border:solid var(--md-sys-color-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.radio input:checked+.radio-mark:after{content:"";display:block;width:8px;height:8px;margin:4px;background-color:var(--md-sys-color-on-primary);border-radius:var(--radius-full)}.checkbox input:focus-visible+.checkbox-mark,.radio input:focus-visible+.radio-mark{box-shadow:var(--glow-primary)}.input-helper{display:block;margin-top:var(--space-1);font-size:var(--text-body-small);color:var(--md-sys-color-on-surface-variant)}.input-helper.error{color:var(--md-sys-color-error)}.input-group{display:flex;align-items:stretch}.input-group .input{border-radius:0;flex:1}.input-group .input:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group .input:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group-addon{display:flex;align-items:center;padding:0 var(--space-4);background-color:var(--md-sys-color-surface-container);border:var(--border-width-thin) solid var(--md-sys-color-outline);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-body-medium)}.input-group-addon:first-child{border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.input-group-addon:last-child{border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0}.card{display:flex;flex-direction:column;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:var(--radius-lg);border:none;box-shadow:var(--elevation-1);transition:box-shadow var(--duration-normal) var(--easing-standard),transform var(--duration-normal) var(--easing-bouncy);contain:layout style paint}.card-elevated{box-shadow:var(--elevation-2)}.card-elevated:hover{box-shadow:var(--elevation-3);transform:translateY(-2px)}.card-filled{background-color:var(--md-sys-color-surface-container);box-shadow:none}.card-filled:hover{background-color:var(--md-sys-color-surface-container-high)}.card-outlined{background-color:var(--md-sys-color-surface);border:var(--border-width-thin) solid var(--md-sys-color-outline-variant);box-shadow:none}.card-outlined:hover{border-color:var(--md-sys-color-outline)}.card-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.card-interactive:hover{box-shadow:var(--elevation-2)}.card-interactive:active{transform:scale(var(--scale-pressed));box-shadow:var(--elevation-1);transition-duration:var(--duration-instant)}.card-interactive:focus-visible{outline:none;box-shadow:var(--glow-primary),var(--elevation-2)}.card-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:var(--border-width-thin) solid var(--md-sys-color-outline-variant)}.card-header-title{flex:1}.card-header-title h3,.card-header-title h4{margin:0;font-size:var(--text-title-large);font-weight:var(--font-weight-semibold);color:var(--md-sys-color-on-surface)}.card-header-title p{margin:var(--space-1) 0 0;font-size:var(--text-body-small);color:var(--md-sys-color-on-surface-variant)}.card-header-actions{display:flex;gap:var(--space-2)}.card-media{position:relative;overflow:hidden;aspect-ratio:16 / 9;background-color:var(--md-sys-color-surface-variant)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--easing-standard)}.card-interactive:hover .card-media img{transform:scale(1.05)}.card>.card-media:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-media.square{aspect-ratio:1 / 1}.card-body{flex:1;padding:var(--space-4)}.card-body>*:last-child{margin-bottom:0}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:var(--border-width-thin) solid var(--md-sys-color-outline-variant)}.card-compact .card-body{padding:var(--space-3)}.card-compact .card-header,.card-compact .card-footer{padding:var(--space-2) var(--space-3)}.card-lg{border-radius:var(--radius-xl)}.card-lg .card-body{padding:var(--space-6)}.card-lg>.card-media:first-child{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.card-horizontal{flex-direction:row}.card-horizontal .card-media{width:120px;min-width:120px;aspect-ratio:auto;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.card-horizontal .card-body{flex:1}@media (max-width: 480px){.card-horizontal{flex-direction:column}.card-horizontal .card-media{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.card-grid-compact{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.card-skeleton{pointer-events:none}.card-skeleton .skeleton{background:linear-gradient(90deg,var(--md-sys-color-surface-variant) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-variant) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.card-skeleton .skeleton-media{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-skeleton .skeleton-title{height:24px;width:70%;margin-bottom:var(--space-2)}.card-skeleton .skeleton-text{height:16px;width:100%;margin-bottom:var(--space-2)}.card-skeleton .skeleton-text:last-child{width:60%}.card-selected{border:2px solid var(--md-sys-color-primary);background-color:var(--md-sys-color-primary-container)}.card-disabled{opacity:var(--state-disabled-opacity);pointer-events:none}.card-highlight{border-left:4px solid var(--md-sys-color-primary)}.card-error{border:var(--border-width-thin) solid var(--md-sys-color-error);background-color:var(--md-sys-color-error-container)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--easing-standard),visibility var(--duration-normal) var(--easing-standard)}.modal-overlay.open{opacity:1;visibility:visible}.modal{position:fixed;z-index:var(--z-modal);background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);border-radius:var(--radius-xl);box-shadow:var(--elevation-4);display:flex;flex-direction:column;max-height:90vh;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--duration-slow) var(--easing-decelerate),transform var(--duration-slow) var(--easing-bouncy),visibility var(--duration-slow) var(--easing-standard)}.modal-center{top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:90%;max-width:560px}.modal-center.open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:800px}.modal-xl{max-width:1000px}.modal-full{max-width:calc(100vw - var(--space-8));max-height:calc(100vh - var(--space-8))}.modal-bottom,.bottom-sheet{inset:auto 0 0;transform:translateY(100%);width:100%;max-width:100%;max-height:90vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.modal-bottom.open,.bottom-sheet.open{opacity:1;visibility:visible;transform:translateY(0)}.bottom-sheet-handle{display:flex;justify-content:center;padding:var(--space-3) 0}.bottom-sheet-handle:before{content:"";width:32px;height:4px;background-color:var(--md-sys-color-outline-variant);border-radius:var(--radius-full)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:var(--border-width-thin) solid var(--md-sys-color-outline-variant);flex-shrink:0}.modal-title{font-family:var(--font-display);font-size:var(--text-headline-small);font-weight:var(--font-weight-semibold);color:var(--md-sys-color-on-surface);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--md-sys-color-on-surface-variant);transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.modal-close:hover{background-color:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface)}.modal-close:active{transform:scale(var(--scale-pressed))}.modal-body{flex:1;padding:var(--space-6);overflow-y:auto;overscroll-behavior:contain}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:var(--border-width-thin) solid var(--md-sys-color-outline-variant);flex-shrink:0}.modal-footer-split{justify-content:space-between}.dialog{max-width:400px;text-align:center}.dialog .modal-body{padding:var(--space-6)}.dialog-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-primary)}.dialog-icon.error{background-color:var(--md-sys-color-error-container);color:var(--md-sys-color-error)}.dialog-icon.warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.dialog-icon.success{background-color:var(--color-success-light);color:var(--color-success-dark)}.dialog-title{font-size:var(--text-headline-small);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.dialog-message{font-size:var(--text-body-medium);color:var(--md-sys-color-on-surface-variant);margin-bottom:0}.dialog .modal-footer{justify-content:center;border-top:none;padding-top:0}@media (max-width: 768px){.modal-center.modal-responsive{inset:auto 0 0;transform:translateY(100%);width:100%;max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.modal-center.modal-responsive.open{transform:translateY(0)}.modal-responsive .bottom-sheet-handle{display:flex}.modal-header{padding:var(--space-3) var(--space-4)}.modal-body{padding:var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4);flex-direction:column;gap:var(--space-2)}.modal-footer .btn{width:100%}}@keyframes modalEnter{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}60%{transform:translate(-50%,-50%) scale(1.02)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes bottomSheetEnter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-center.animate-enter{animation:modalEnter var(--duration-slow) var(--easing-bouncy) forwards}.modal-bottom.animate-enter,.bottom-sheet.animate-enter{animation:bottomSheetEnter var(--duration-slow) var(--easing-bouncy) forwards}.bottom-sheet-auto{max-height:fit-content}.bottom-sheet-half{max-height:50vh}.bottom-sheet-full{max-height:calc(100vh - 48px);height:calc(100vh - 48px)}.bottom-sheet-handle{cursor:grab;touch-action:none}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle:before{transition:width .2s ease,background-color .2s ease}.bottom-sheet-handle:hover:before{width:48px;background-color:var(--md-sys-color-outline)}.bottom-sheet-sticky-footer{display:flex;flex-direction:column;max-height:85vh}.bottom-sheet-sticky-footer .modal-body{flex:1;overflow-y:auto}.bottom-sheet-sticky-footer .modal-footer{position:sticky;bottom:0;background:var(--md-sys-color-surface);box-shadow:0 -4px 12px #00000014;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.action-sheet{padding:0}.action-sheet .modal-body{padding:8px 0}.action-sheet-item{display:flex;align-items:center;gap:16px;width:100%;padding:16px 24px;background:transparent;border:none;text-align:left;font-size:1rem;color:var(--md-sys-color-on-surface);cursor:pointer;transition:background-color .15s ease}.action-sheet-item:hover{background:var(--md-sys-color-surface-container-low)}.action-sheet-item:active{background:var(--md-sys-color-surface-container)}.action-sheet-item-icon{width:24px;height:24px;color:var(--md-sys-color-on-surface-variant)}.action-sheet-item.destructive,.action-sheet-item.destructive .action-sheet-item-icon{color:var(--md-sys-color-error)}.action-sheet-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:8px 0}.action-sheet-cancel{margin-top:8px;padding-top:8px;border-top:8px solid var(--md-sys-color-surface-container)}.drawer{position:fixed;top:0;bottom:0;width:320px;max-width:85vw;background:var(--md-sys-color-surface);box-shadow:var(--elevation-4);z-index:var(--z-modal);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease,visibility .3s ease}.drawer-left{left:0;right:auto;transform:translate(-100%);border-radius:0 24px 24px 0}.drawer-right{right:0;left:auto;transform:translate(100%);border-radius:24px 0 0 24px}.drawer.open{opacity:1;visibility:visible;transform:translate(0)}.drawer-header{padding:24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.drawer-body{flex:1;overflow-y:auto;padding:16px}.drawer-footer{padding:16px 24px;border-top:1px solid var(--md-sys-color-outline-variant);padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.toast-container{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:var(--z-toast, 800);display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:12px;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:toastEnter .3s cubic-bezier(.34,1.56,.64,1) forwards}.toast.exit{animation:toastExit .2s ease forwards}@keyframes toastEnter{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastExit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.toast-icon{width:20px;height:20px;flex-shrink:0}.toast-message{flex:1;font-size:.95rem}.toast-action{background:transparent;border:none;color:var(--md-sys-color-primary);font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer}.toast-action:hover{background:#ffffff1a}.toast.success{background:#059669}.toast.error{background:#dc2626}.toast.warning{background:#d97706}.toast.info{background:#2563eb}@media (max-width: 480px){.toast-container{left:16px;right:16px;transform:none}.toast{width:100%}}:root{--touch-target-min: 48px;--touch-target-comfortable: 56px;--touch-target-large: 64px}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.touch-target-comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}.touch-target-large{min-height:var(--touch-target-large);min-width:var(--touch-target-large)}.btn-touch{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.input-touch{min-height:var(--touch-target-comfortable);padding:12px 16px;font-size:16px}.chip,.tag,.badge-interactive{min-height:36px;padding:6px 16px;display:inline-flex;align-items:center;gap:8px}.card-interactive,.card[role=button],.card-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--md-sys-color-primary, #10b981);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--md-sys-color-surface-variant, #e2e8f0) 25%,var(--md-sys-color-surface-container-high, #f1f5f9) 50%,var(--md-sys-color-surface-variant, #e2e8f0) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px;color:transparent!important;user-select:none;pointer-events:none}.skeleton-pulse{background:var(--md-sys-color-surface-variant, #e2e8f0);animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:8px;color:transparent!important}.skeleton-text{height:16px;width:100%;margin-bottom:8px}.skeleton-text:last-child{width:70%}.skeleton-title{height:24px;width:60%;margin-bottom:12px}.skeleton-subtitle{height:18px;width:40%;margin-bottom:16px}.skeleton-paragraph{display:flex;flex-direction:column;gap:8px}.skeleton-paragraph .skeleton-text:nth-child(1){width:100%}.skeleton-paragraph .skeleton-text:nth-child(2){width:95%}.skeleton-paragraph .skeleton-text:nth-child(3){width:85%}.skeleton-paragraph .skeleton-text:nth-child(4){width:60%}.skeleton-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-avatar-sm{width:32px;height:32px}.skeleton-avatar-lg{width:64px;height:64px}.skeleton-avatar-xl{width:96px;height:96px}.skeleton-image{width:100%;aspect-ratio:16 / 9;border-radius:12px}.skeleton-image-square{width:100%;aspect-ratio:1 / 1;border-radius:12px}.skeleton-thumbnail{width:80px;height:80px;border-radius:8px;flex-shrink:0}.skeleton-button{height:48px;width:120px;border-radius:24px}.skeleton-button-full{height:48px;width:100%;border-radius:24px}.skeleton-input{height:56px;width:100%;border-radius:12px}.skeleton-card{background:var(--md-sys-color-surface, #fff);border-radius:16px;padding:16px;box-shadow:0 1px 3px #00000014}.skeleton-card-media{margin:-16px -16px 16px;border-radius:16px 16px 0 0}.skeleton-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.skeleton-card-body{display:flex;flex-direction:column;gap:8px}.skeleton-card-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-variant, #e2e8f0)}.skeleton-product-card{background:var(--md-sys-color-surface, #fff);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014}.skeleton-product-card .skeleton-image-square{border-radius:0}.skeleton-product-card-content{padding:12px;display:flex;flex-direction:column;gap:8px}.skeleton-product-card-price{height:24px;width:80px;margin-top:4px}.skeleton-product-card-stock{height:14px;width:60px}.skeleton-table-row{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--md-sys-color-outline-variant, #e2e8f0)}.skeleton-table-cell{height:16px;flex:1}.skeleton-table-cell-sm{flex:.5}.skeleton-table-cell-lg{flex:2}.skeleton-list-item{display:flex;align-items:center;gap:16px;padding:12px 16px}.skeleton-list-item-content{flex:1;display:flex;flex-direction:column;gap:6px}.skeleton-list-item-title{height:18px;width:70%}.skeleton-list-item-subtitle{height:14px;width:50%}.skeleton-list-item-action{width:40px;height:40px;border-radius:50%}.skeleton-stat-card{background:var(--md-sys-color-surface, #fff);border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.skeleton-stat-icon{width:48px;height:48px;border-radius:12px;margin-bottom:16px}.skeleton-stat-value{height:32px;width:100px;margin-bottom:8px}.skeleton-stat-label{height:14px;width:80px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.skeleton-grid-2{grid-template-columns:repeat(2,1fr)}.skeleton-grid-3{grid-template-columns:repeat(3,1fr)}.skeleton-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.skeleton-grid-2,.skeleton-grid-3,.skeleton-grid-4{grid-template-columns:1fr}}[data-theme=oscuro] .skeleton,[data-theme=oscuro] .skeleton-pulse{background:linear-gradient(90deg,#33415599 25%,#47556999,#33415599 75%);background-size:200% 100%}[data-theme=oscuro] .skeleton-pulse{background:#33415599}[data-theme=oscuro] .skeleton-card,[data-theme=oscuro] .skeleton-product-card,[data-theme=oscuro] .skeleton-stat-card{background:var(--md-sys-color-surface-container, #1e293b)}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--md-sys-color-surface);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014}.data-table thead{background:var(--md-sys-color-surface-container);position:sticky;top:0;z-index:10}.data-table th{padding:16px;text-align:left;font-family:"Plus Jakarta Sans",var(--font-display, sans-serif);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--md-sys-color-on-surface-variant);border-bottom:1px solid var(--md-sys-color-outline-variant);white-space:nowrap}.data-table th.sortable{cursor:pointer;user-select:none;transition:background-color .15s ease}.data-table th.sortable:hover{background:var(--md-sys-color-surface-container-high)}.data-table th.sorted{color:var(--md-sys-color-primary)}.data-table th .sort-icon{margin-left:4px;opacity:.5;transition:opacity .15s,transform .15s}.data-table th.sorted .sort-icon{opacity:1}.data-table th.sorted.desc .sort-icon{transform:rotate(180deg)}.data-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover{background:var(--md-sys-color-surface-container-low)}.data-table tbody tr:active{background:var(--md-sys-color-surface-container)}.data-table td{padding:14px 16px;font-size:.95rem;color:var(--md-sys-color-on-surface);border-bottom:1px solid var(--md-sys-color-outline-variant);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.numeric{font-family:"Inter",var(--font-body, sans-serif);font-variant-numeric:tabular-nums;text-align:right}.data-table td.actions{text-align:right;white-space:nowrap}.data-table td.actions button{margin-left:8px}.data-table tbody tr.selectable{cursor:pointer}.data-table tbody tr.selected{background:var(--md-sys-color-primary-container)}.data-table tbody tr.selected:hover{background:color-mix(in srgb,var(--md-sys-color-primary-container) 90%,var(--md-sys-color-primary))}@media (max-width: 768px){.data-table.responsive thead{display:none}.data-table.responsive,.data-table.responsive tbody,.data-table.responsive tr,.data-table.responsive td{display:block;width:100%}.data-table.responsive{background:transparent;box-shadow:none;border-radius:0}.data-table.responsive tbody tr{background:var(--md-sys-color-surface);border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;gap:8px}.data-table.responsive tbody tr:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.data-table.responsive td{padding:8px 0;border-bottom:none;display:flex;justify-content:space-between;align-items:center;gap:16px}.data-table.responsive td:before{content:attr(data-label);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--md-sys-color-on-surface-variant);flex-shrink:0;min-width:100px}.data-table.responsive td>*{text-align:right}.data-table.responsive td:first-child{font-weight:600;font-size:1rem;color:var(--md-sys-color-on-surface);padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.data-table.responsive td:first-child:before{display:none}.data-table.responsive td.actions{padding-top:12px;margin-top:4px;border-top:1px solid var(--md-sys-color-outline-variant);justify-content:flex-end}.data-table.responsive td.actions:before{display:none}.data-table.responsive td:empty{display:none}}.data-card-list{display:flex;flex-direction:column;gap:12px}.data-card-item{background:var(--md-sys-color-surface);border-radius:16px;padding:16px;box-shadow:0 1px 3px #00000014;display:flex;align-items:center;gap:16px;transition:box-shadow .2s ease,transform .15s ease;cursor:pointer}.data-card-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.data-card-item:active{transform:scale(.99)}.data-card-item-avatar{width:48px;height:48px;border-radius:12px;background:var(--md-sys-color-surface-container);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.data-card-item-avatar img{width:100%;height:100%;object-fit:cover}.data-card-item-content{flex:1;min-width:0}.data-card-item-title{font-weight:600;font-size:1rem;color:var(--md-sys-color-on-surface);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-card-item-subtitle{font-size:.875rem;color:var(--md-sys-color-on-surface-variant)}.data-card-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.data-card-item-value{font-family:"Inter",var(--font-body, sans-serif);font-weight:600;font-size:1rem;color:var(--md-sys-color-primary);font-variant-numeric:tabular-nums}.data-card-item-badge{font-size:.75rem;padding:4px 8px;border-radius:8px;background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant)}.data-card-item-actions{display:flex;gap:8px;flex-shrink:0}.data-card-item-badge.success{background:#10b9811a;color:#059669}.data-card-item-badge.warning{background:#f59e0b1a;color:#d97706}.data-card-item-badge.error{background:#ef44441a;color:#dc2626}.data-card-item-badge.info{background:#3b82f61a;color:#2563eb}.data-table.compact th,.data-table.compact td{padding:10px 12px;font-size:.875rem}.data-table.striped tbody tr:nth-child(2n){background:var(--md-sys-color-surface-container-low)}[data-theme=oscuro] .data-table{background:var(--md-sys-color-surface)}[data-theme=oscuro] .data-table thead{background:var(--md-sys-color-surface-container)}[data-theme=oscuro] .data-card-item{background:var(--md-sys-color-surface)}:root{font-family:Inter,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;letter-spacing:.01em;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;font-optical-sizing:auto;--md-elevation-1: 0px 1px 2px rgba(0, 0, 0, .08), 0px 1px 3px 1px rgba(0, 0, 0, .06);--md-elevation-2: 0px 1px 2px rgba(0, 0, 0, .08), 0px 2px 6px 2px rgba(0, 0, 0, .08);--md-elevation-3: 0px 4px 8px 3px rgba(0, 0, 0, .1), 0px 1px 3px rgba(0, 0, 0, .12);--md-sys-elevation-1: 0px 1px 2px rgba(0, 0, 0, .08), 0px 1px 3px 1px rgba(0, 0, 0, .06);--md-sys-elevation-2: 0px 1px 2px rgba(0, 0, 0, .08), 0px 2px 6px 2px rgba(0, 0, 0, .08);--md-sys-elevation-3: 0px 4px 8px 3px rgba(0, 0, 0, .1), 0px 1px 3px rgba(0, 0, 0, .12);--md-shape-corner-none: 0px;--md-shape-corner-extra-small: 4px;--md-shape-corner-small: 8px;--md-shape-corner-medium: 16px;--md-shape-corner-large: 24px;--md-shape-corner-extra-large: 28px;--md-shape-corner-full: 9999px;--md-motion-duration-short: .15s;--md-motion-duration-medium: .25s;--md-motion-duration-long: .4s;--md-motion-easing-standard: cubic-bezier(.4, 0, .2, 1);--md-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-motion-easing-decelerate: cubic-bezier(0, 0, .2, 1);--md-motion-easing-accelerate: cubic-bezier(.4, 0, 1, 1);--md-motion-easing-bouncy: cubic-bezier(.34, 1.56, .64, 1);--md-motion-easing-elastic: cubic-bezier(.68, -.55, .265, 1.55);--md-touch-target-min: 48px;--md-touch-target-comfortable: 56px}[data-theme=verde],:root:not([data-theme]){--md-sys-color-primary: #04842d;--md-sys-color-primary-gradient: linear-gradient(90deg, #458A2E 0%, #87A668 100%);--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #DFF3D9;--md-sys-color-on-primary-container: #1a2e0a;--md-sys-color-secondary: #87A668;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #dfe2da;--md-sys-color-on-secondary-container: #263a1a;--md-sys-color-tertiary: #51802E;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #C4D9B4;--md-sys-color-on-tertiary-container: #142808;--md-sys-color-surface: #F2F2F2;--md-sys-color-surface-variant: #dae0d0;--md-sys-color-surface-container: #E8EDE3;--md-sys-color-surface-container-low: #F0F4EB;--md-sys-color-surface-container-high: #D8E0D0;--md-sys-color-surface-container-highest: #D0D9C4;--md-sys-color-on-surface: #333333;--md-sys-color-on-surface-variant: #666666;--md-sys-color-background: #F2F2F2;--md-sys-color-error: #B3261E;--md-sys-color-error-gradient: linear-gradient(90deg, #B3261E 0%, #E6D2CF 100%);--md-sys-color-info-gradient: linear-gradient(90deg, #1E88E5 0%, #BBDEFB 100%);--md-sys-color-error-container: #e6d2cf;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #410E0B;--md-sys-color-outline: #87A668;--md-sys-color-outline-variant: #C4D9B4;--md-sys-color-inverse-surface: #333333;--md-sys-color-inverse-on-surface: #F2F2F2;--md-sys-color-shadow: rgba(0,0,0,.15)}[data-theme=claro]{--md-sys-color-primary: #2BB673;--md-sys-color-primary-gradient: linear-gradient(90deg, #2BB673 0%, #4FD08A 100%);--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #E9F6EF;--md-sys-color-on-primary-container: #113B2B;--md-sys-color-secondary: #4FC48E;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #EDF8F2;--md-sys-color-on-secondary-container: #0F3326;--md-sys-color-tertiary: #2AA66A;--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-tertiary-container: #E6F3EC;--md-sys-color-on-tertiary-container: #0F2E22;--md-sys-color-surface: #FFFFFF;--md-sys-color-surface-variant: #F2F5F7;--md-sys-color-surface-container: #FAFBFC;--md-sys-color-surface-container-low: #FFFFFF;--md-sys-color-surface-container-high: #F3F6F8;--md-sys-color-surface-container-highest: #E9EEF2;--md-sys-color-on-surface: #2B3135;--md-sys-color-on-surface-variant: #5E6A70;--md-sys-color-background: #F5F7FA;--md-sys-color-error: #BA1A1A;--md-sys-color-error-container: #FFDAD6;--md-sys-color-on-error: #FFFFFF;--md-sys-color-on-error-container: #410002;--md-sys-color-outline: #D3DCE2;--md-sys-color-outline-variant: #E6EDF2;--md-sys-color-inverse-surface: #121616;--md-sys-color-inverse-on-surface: #EAF0F2;--md-sys-color-shadow: rgba(0, 0, 0, .05);--md-sys-elevation-1: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 1px rgba(16, 24, 40, .04);--md-sys-elevation-2: 0 2px 6px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .05);--md-sys-elevation-3: 0 6px 12px rgba(16, 24, 40, .08), 0 2px 4px rgba(16, 24, 40, .06);--chart-series-1: #2BB673;--chart-series-2: #F9C74F;--chart-grid: #E1E8EE;--chart-axis: #5E6A70;--chart-bg: #FFFFFF;--cal-bg: #FFFFFF;--cal-on-bg: #2B3135;--cal-muted: #5E6A70;--cal-border: #E6EDF2;--cal-today-bg: #E9F6EF;--cal-selected-bg: #2BB673;--cal-selected-on: #FFFFFF;--cal-hover-bg: #F3F7FA;--cal-event-bg: #2BB673;--cal-event-on: #FFFFFF}[data-theme=oscuro]{--md-sys-color-primary: #21C16B;--md-sys-color-primary-gradient: linear-gradient(90deg, #21C16B 0%, #44D486 100%);--md-sys-color-on-primary: #072217;--md-sys-color-primary-container: #123B2F;--md-sys-color-on-primary-container: #9FF3CC;--md-sys-color-secondary: #2ABF88;--md-sys-color-on-secondary: #08231B;--md-sys-color-secondary-container: #10332B;--md-sys-color-on-secondary-container: #8DE9C4;--md-sys-color-tertiary: #1EAD6F;--md-sys-color-on-tertiary: #062219;--md-sys-color-tertiary-container: #12362B;--md-sys-color-on-tertiary-container: #81EFC4;--md-sys-color-surface: #131C1A;--md-sys-color-surface-variant: #23302C;--md-sys-color-surface-container: #161F1D;--md-sys-color-surface-container-low: #0E1513;--md-sys-color-surface-container-high: #1B2422;--md-sys-color-surface-container-highest: #24312D;--md-sys-color-on-surface: #E3E6E4;--md-sys-color-on-surface-variant: #A8B3AE;--md-sys-color-background: #0E1513;--md-sys-color-error: #FFB4AB;--md-sys-color-error-container: #93000A;--md-sys-color-on-error: #690005;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-outline: #52615C;--md-sys-color-outline-variant: #2C3A36;--md-sys-color-inverse-surface: #E5E9E7;--md-sys-color-inverse-on-surface: #1B2220;--md-sys-color-shadow: rgba(0, 0, 0, .6);--md-sys-elevation-1: 0 1px 3px rgba(0,0,0,.45), 0 1px 2px rgba(0,0,0,.55);--md-sys-elevation-2: 0 2px 8px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.6);--md-sys-elevation-3: 0 6px 16px rgba(0,0,0,.55), 0 3px 6px rgba(0,0,0,.65);--chart-series-1: #21C16B;--chart-series-2: #F5C553;--chart-grid: #2C3A36;--chart-axis: #A8B3AE;--chart-bg: #131C1A;--cal-bg: #161F1D;--cal-on-bg: #E3E6E4;--cal-muted: #A8B3AE;--cal-border: #2C3A36;--cal-today-bg: #123B2F;--cal-selected-bg: #21C16B;--cal-selected-on: #062219;--cal-hover-bg: #1B2422;--cal-event-bg: #21C16B;--cal-event-on: #062219}[data-theme=claro] body{background:#f5f7fa}[data-theme=claro] .summary-card-icon{box-shadow:0 2px 8px #00c9961f}[data-theme=oscuro] body{background:linear-gradient(135deg,#0e1513,#121a17)}[data-theme=oscuro] .summary-card-icon{box-shadow:0 2px 8px #00e5aa40;border:1px solid rgba(0,229,170,.15)}[data-theme=claro] .react-calendar,[data-theme=oscuro] .react-calendar{background:var(--cal-bg);color:var(--cal-on-bg);border:1px solid var(--cal-border);border-radius:var(--md-shape-corner-medium);box-shadow:var(--md-sys-elevation-1)}[data-theme=claro] .react-calendar__navigation,[data-theme=oscuro] .react-calendar__navigation{border-bottom:1px solid var(--cal-border)}[data-theme=claro] .react-calendar__tile,[data-theme=oscuro] .react-calendar__tile{color:var(--cal-on-bg)}[data-theme=claro] .react-calendar__tile:enabled:hover,[data-theme=oscuro] .react-calendar__tile:enabled:hover{background:var(--cal-hover-bg)}[data-theme=claro] .react-calendar__tile--now,[data-theme=oscuro] .react-calendar__tile--now{background:var(--cal-today-bg)}[data-theme=claro] .react-calendar__tile--active,[data-theme=oscuro] .react-calendar__tile--active{background:var(--cal-selected-bg);color:var(--cal-selected-on)}[data-theme=claro] .fc,[data-theme=oscuro] .fc{--fc-border-color: var(--cal-border);--fc-page-bg-color: var(--cal-bg);--fc-neutral-bg-color: var(--cal-hover-bg);--fc-today-bg-color: var(--cal-today-bg);--fc-event-bg-color: var(--cal-event-bg);--fc-event-text-color: var(--cal-event-on);--fc-text-color: var(--cal-on-bg)}[data-theme=claro] .rbc-calendar,[data-theme=oscuro] .rbc-calendar{background:var(--cal-bg);color:var(--cal-on-bg)}[data-theme=claro] .rbc-month-view,[data-theme=oscuro] .rbc-month-view{border:1px solid var(--cal-border);border-radius:var(--md-shape-corner-medium)}[data-theme=claro] .rbc-today,[data-theme=oscuro] .rbc-today{background:var(--cal-today-bg)}[data-theme=claro] .rbc-event,[data-theme=oscuro] .rbc-event{background-color:var(--cal-event-bg);color:var(--cal-event-on);border:none}.use-chart-palette{--series-1: var(--chart-series-1);--series-2: var(--chart-series-2);--grid-color: var(--chart-grid);--axis-color: var(--chart-axis);--chart-bg: var(--chart-bg)}*{transition:background-color .2s var(--md-motion-easing-standard),color .2s var(--md-motion-easing-standard),border-color .2s var(--md-motion-easing-standard),box-shadow .2s var(--md-motion-easing-standard);will-change:auto}.theme-transition-disable *{transition:none!important}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}html{height:100%;overflow:hidden}body{min-height:100%;padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right);background:var(--md-sys-color-surface);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1;font-optical-sizing:auto}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5,h6{font-family:"Plus Jakarta Sans",var(--font-display, sans-serif);color:var(--md-sys-color-on-surface);font-weight:600;letter-spacing:-.02em;margin-bottom:.5em;text-rendering:optimizeLegibility}h1{font-size:clamp(1.75rem,3vw + .5rem,2.25rem);font-weight:700;line-height:1.2}h2{font-size:clamp(1.5rem,2.5vw + .5rem,2rem);font-weight:600;line-height:1.2}h3{font-size:clamp(1.25rem,2vw + .5rem,1.75rem);font-weight:600;line-height:1.3}h4{font-size:clamp(1.125rem,1.5vw + .5rem,1.5rem);font-weight:500}h5{font-size:clamp(1rem,1vw + .5rem,1.25rem);font-weight:500}h6{font-size:1rem;font-weight:500}p{font-family:"Inter",var(--font-body, sans-serif);color:var(--md-sys-color-on-surface-variant);margin-bottom:1rem;line-height:1.6;font-size:1rem;font-weight:400;letter-spacing:.01em}a{color:var(--md-sys-color-primary);text-decoration:none;font-weight:500;transition:color var(--md-motion-duration-short) var(--md-motion-easing-standard)}a:hover{color:var(--md-sys-color-secondary);text-decoration:underline}.module-container{min-height:100vh;background:transparent;padding:5px 24px 0;animation:fadeIn .5s var(--md-motion-easing-standard);display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.module-container::-webkit-scrollbar{width:8px;opacity:0;transition:opacity .3s var(--md-motion-easing-standard)}.module-container:hover::-webkit-scrollbar,.module-container:focus-within::-webkit-scrollbar{opacity:1}.module-container::-webkit-scrollbar-track{background:transparent;border-radius:4px}.module-container::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:4px;transition:background .2s var(--md-motion-easing-standard)}.module-container::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.module-container{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s var(--md-motion-easing-standard)}.module-container:hover,.module-container:focus-within{scrollbar-color:var(--md-sys-color-outline-variant) transparent}.module-container-section::-webkit-scrollbar{display:none}.module-page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px;background:var(--md-sys-color-surface);border-radius:var(--md-shape-corner-large);box-shadow:var(--md-sys-elevation-2);animation:fadeSlideDown .6s var(--md-motion-easing-emphasized);min-width:0;word-break:break-word}.header-content{flex:1}.module-content-section{width:100%;max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px;flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;will-change:scroll-position;-webkit-overflow-scrolling:touch}.module-content-section::-webkit-scrollbar{width:8px;opacity:0;transition:opacity .3s var(--md-motion-easing-standard)}.module-content-section:hover::-webkit-scrollbar,.module-content-section:focus-within::-webkit-scrollbar{opacity:1}.module-content-section::-webkit-scrollbar-track{background:transparent;border-radius:4px}.module-content-section::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:4px;transition:background .2s var(--md-motion-easing-standard)}.module-content-section::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline)}.module-content-section{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .3s var(--md-motion-easing-standard)}.module-content-section:hover,.module-content-section:focus-within{scrollbar-color:var(--md-sys-color-outline-variant) transparent}.module-filter-container{display:flex;gap:24px;padding:24px 32px;background:var(--md-sys-color-surface);border-radius:var(--md-shape-corner-large);box-shadow:var(--md-sys-elevation-1);animation:fadeSlideDown .5s var(--md-motion-easing-standard)}.module-filter-group{display:flex;flex-direction:column;gap:8px;min-width:200px}.module-filter-group label{font-size:.875rem;font-weight:500;color:var(--md-sys-color-on-surface);letter-spacing:.02em}.module-filter-select{height:44px;padding:12px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-shape-corner-medium);background:var(--md-sys-color-surface-variant);color:var(--md-sys-color-on-surface);font-size:.9375rem;font-weight:400;letter-spacing:.01em;transition:all var(--md-motion-duration-short) var(--md-motion-easing-standard);outline:none;cursor:pointer}.module-filter-select:hover{border-color:var(--md-sys-color-primary);background-color:var(--md-sys-color-surface)}.module-filter-select:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.filter-select:disabled{opacity:.5;cursor:not-allowed}.module-card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:80px;padding:8px;width:100%;contain:layout style paint;animation:fadeIn .3s cubic-bezier(.4,0,.2,1)}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;background:var(--md-sys-color-surface);border-radius:var(--md-shape-corner-large);box-shadow:var(--md-sys-elevation-1);text-align:center}.empty-state:hover .empty-icon{transform:scale(1.05);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.empty-state h3{font-size:1.5rem;font-weight:500;color:var(--md-sys-color-on-surface);margin:0 0 12px;letter-spacing:-.005em}.empty-state p{font-size:.9375rem;font-weight:400;color:var(--md-sys-color-on-surface-variant);margin:0;max-width:400px;letter-spacing:.01em;line-height:1.5}.card{background:var(--md-sys-color-surface);border-radius:var(--md-shape-corner-medium);box-shadow:var(--md-elevation-1);padding:1.5rem;margin-bottom:1.5rem;transition:box-shadow var(--md-motion-duration-short)}.card:hover{box-shadow:var(--md-elevation-2)}ul,ol{list-style-position:inside;padding-left:1.2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s var(--md-motion-easing-standard) forwards}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){:root{font-size:15px}h1{font-size:2.2rem}button{padding:.6rem 1.2rem}.module-container{padding:1rem .5rem;max-width:100vw}.module-content-section{gap:24px}.module-page-header{flex-direction:column;align-items:stretch;padding:10px;gap:10px}.search-container{width:100%}.module-filter-container{flex-direction:column;gap:16px;padding:20px}.module-filter-group{min-width:auto}.module-filter-select{width:100%}.module-card-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}}@media (max-width: 768px){:root{font-size:14px}h1{font-size:2rem}button{padding:.5rem 1rem}.module-container{padding:.5rem .25rem}.module-page-header{flex-direction:column;align-items:stretch;padding:12px 8px;gap:12px}.search-container{width:100%}.module-filter-container{padding:12px}.module-filter-group{width:100%;flex-direction:column;align-items:stretch}.module-filter-select{width:100%}.module-card-container{grid-template-columns:1fr}}@media (max-width: 480px){.module-container{grid-template-columns:1fr}.module-content-section{padding:16px}.module-page-header{padding:12px}.empty-state{padding:48px 24px}}@media print{.inventory-tabs-container,.tab-btn,.export-actions,.export-options,.export-btn,.export-option,.module-page-header,.module-filter-container,.module-card-container,.card{box-shadow:none!important;background:transparent!important;border:none!important;filter:none!important}.tab-btn,.export-btn,.export-option,.module-page-header,.module-filter-container,.module-card-container,.card{color:#000!important}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.error-boundary-content{background:#fff;border-radius:12px;padding:40px;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 40px #0000001a;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-icon{font-size:4rem;margin-bottom:20px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-boundary h1{color:#2d3748;margin:0 0 16px;font-size:1.8rem;font-weight:600}.error-boundary p{color:#718096;margin:0 0 24px;line-height:1.6;font-size:1rem}.error-id{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;margin:20px 0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;color:#4a5568}.error-details{margin:20px 0;text-align:left}.error-details summary{cursor:pointer;color:#4a5568;font-weight:500;margin-bottom:10px;padding:8px;background:#f7fafc;border-radius:4px}.error-details pre{background:#2d3748;color:#e2e8f0;padding:16px;border-radius:6px;overflow-x:auto;font-size:.75rem;line-height:1.4;margin:8px 0;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}.error-button{padding:12px 24px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.retry-button{background:#4299e1;color:#fff}.retry-button:hover{background:#3182ce;transform:translateY(-1px);box-shadow:0 4px 12px #4299e14d}.home-button{background:#e2e8f0;color:#4a5568}.home-button:hover{background:#cbd5e0;transform:translateY(-1px);box-shadow:0 4px 12px #e2e8f04d}@media (max-width: 768px){.error-boundary-content{padding:24px;margin:20px}.error-boundary h1{font-size:1.5rem}.error-actions{flex-direction:column;align-items:center}.error-button{width:100%;max-width:200px}}@media (prefers-color-scheme: dark){.error-boundary-content{background:#2d3748;color:#e2e8f0}.error-boundary h1{color:#f7fafc}.error-boundary p{color:#a0aec0}.error-id{background:#4a5568;border-color:#718096;color:#e2e8f0}.error-details summary{background:#4a5568;color:#e2e8f0}.home-button{background:#4a5568;color:#e2e8f0}.home-button:hover{background:#718096}}@media (display-mode: standalone){title{padding-left:40px!important}::-webkit-app-region-drag{padding-left:40px}@supports (-moz-appearance: none){title{padding-left:20px!important}}}@media (display-mode: standalone){body{padding-top:env(titlebar-area-height,0px)}}.sw-notification{position:fixed;top:20px;right:20px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;z-index:10000;animation:slideIn .3s ease-out}.sw-notification-content{padding:16px}.sw-notification-content h4{margin:0 0 8px;font-size:16px;font-weight:600;color:#333}.sw-notification-content p{margin:0 0 16px;font-size:14px;color:#666;line-height:1.4}.sw-notification-content button{background:#618c35;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;margin-right:8px;transition:background-color .2s}.sw-notification-content button:hover{background:#4a6b29}.sw-notification-content button:last-child{background:#f5f5f5;color:#666;margin-right:0}.sw-notification-content button:last-child:hover{background:#e0e0e0}.sw-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background:#333;color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;font-weight:500;z-index:10000;transition:transform .3s ease-out;white-space:nowrap}.sw-toast-show{transform:translate(-50%) translateY(0)}.sw-toast-success{background:#4caf50}.sw-toast-warning{background:#ff9800}.sw-toast-error{background:#f44336}.sw-toast-info{background:#2196f3}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.sw-notification{top:10px;right:10px;left:10px;max-width:none}.sw-toast{left:10px;right:10px;transform:translateY(100px)}.sw-toast-show{transform:translateY(0)}}
