:root{--transition-fast:150ms;--transition-normal:300ms;--transition-slow:500ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1)}.hover-lift{transition:transform var(--transition-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-2px)}.hover-lift-sm:hover{transform:translateY(-1px)}.hover-lift-lg:hover{transform:translateY(-4px)}.glow-effect{box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 0 1px rgba(14,165,233,.1),0 0 15px rgba(14,165,233,.1);transition:all var(--transition-normal) var(--ease-out)}.glow-effect:hover{box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 0 1px rgba(14,165,233,.2),0 0 20px rgba(14,165,233,.2)}.glow-sm{box-shadow:0 0 0 1px rgba(14,165,233,.2),0 0 10px rgba(14,165,233,.2)}.glow-sm:hover{box-shadow:0 0 0 1px rgba(14,165,233,.4),0 0 15px rgba(14,165,233,.4)}.glow-lg{box-shadow:0 0 0 1px rgba(14,165,233,.2),0 0 25px rgba(14,165,233,.2)}.glow-lg:hover{box-shadow:0 0 0 1px rgba(14,165,233,.4),0 0 35px rgba(14,165,233,.4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px rgba(14,165,233,.2)}50%{box-shadow:0 0 25px rgba(14,165,233,.4)}}.animate-fade-in{animation:fadeIn var(--transition-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) var(--ease-out)}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-pulse-glow{animation:pulseGlow 2s var(--ease-in-out) infinite}.interactive{transition:all var(--transition-normal) var(--ease-out)}.interactive:hover{transform:translateY(-1px);filter:brightness(1.1)}.interactive:active{transform:translateY(0);filter:brightness(.9)}.card-hover{transition:all var(--transition-normal) var(--ease-out);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 4px 6px -1px rgba(14,165,233,.1),0 2px 4px -1px rgba(14,165,233,.06)}.card-hover:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 10px 15px -3px rgba(14,165,233,.2),0 4px 6px -2px rgba(14,165,233,.1)}.button-hover{transition:all var(--transition-normal) var(--ease-out);box-shadow:0 0 0 1px rgba(14,165,233,.2)}.button-hover:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(14,165,233,.4),0 4px 8px rgba(14,165,233,.2)}.app-container{min-height:100vh;flex-direction:column}.app-container,.app-content{display:flex;overflow-x:hidden;width:100%}.app-content{flex:1;flex-direction:column;position:relative}.main-content{background:var(--bg-primary);margin:0}.main-content,.standard-page .main-content{display:flex;flex-direction:column;flex:1;gap:3rem;padding:0}.standard-page .main-content{max-width:1400px;margin:0 auto;border-radius:1.5rem;box-shadow:0 0 0 1px rgba(14,165,233,.05),0 0 20px rgba(14,165,233,.05),0 0 40px rgba(14,165,233,.025),0 0 80px rgba(14,165,233,.015)}.standard-page .main-content.with-padding{padding:2rem}.admin-page .main-content{max-width:none;margin:0;border-radius:0;box-shadow:none;padding:0;min-height:0;flex:0 auto}.app-footer{background:rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(14,165,233,.15),0 0 30px rgba(14,165,233,.15),0 0 50px rgba(14,165,233,.1),inset 0 0 20px rgba(14,165,233,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem 0;color:var(--text-primary)}.footer-container{width:100%;max-width:1400px;padding:0 2rem}.footer-copyright{color:var(--text-secondary);font-size:.875rem;text-shadow:0 0 20px rgba(56,189,248,.2)}.footer-copyright a.footer-link{padding:0;background:none;display:inline}.footer-copyright a.footer-link:hover{box-shadow:none;transform:none}.footer-links{gap:2rem}.footer-link{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:all .3s ease;padding:.5rem 1rem;border-radius:.75rem;background:rgba(255,255,255,.02)}.footer-link:hover{color:var(--primary-light);background:rgba(255,255,255,.04);box-shadow:0 0 0 1px rgba(14,165,233,.2),0 0 20px rgba(14,165,233,.2);transform:translateY(-1px)}@media (max-width:768px){.app-container,.app-content,.main-content{width:100%;max-width:100%;padding:0;margin:0;overflow-x:hidden}.standard-page .main-content{max-width:100%;width:100%;margin:0;padding:1rem;border-radius:0;gap:2rem}.standard-page .main-content.with-padding{padding:1rem}.app-footer{padding:1.5rem 0}.footer-container{flex-direction:column;gap:1.5rem;text-align:center;padding:1rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:.75rem}.footer-link{font-size:.75rem;padding:.375rem .75rem}.footer-copyright{font-size:.75rem;line-height:1.5}}@media (max-width:480px){.standard-page .main-content{padding:.75rem;gap:1.5rem}.standard-page .main-content.with-padding{padding:.75rem}}:root{--grid-columns:12;--grid-gap:var(--spacing-4)}.grid{gap:var(--grid-gap)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-9{grid-column:span 9/span 9}.col-span-10{grid-column:span 10/span 10}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}.row-span-1{grid-row:span 1/span 1}.row-span-2{grid-row:span 2/span 2}.row-span-3{grid-row:span 3/span 3}.row-span-4{grid-row:span 4/span 4}.row-span-5{grid-row:span 5/span 5}.row-span-6{grid-row:span 6/span 6}.row-span-full{grid-row:1/-1}.gap-0{gap:var(--spacing-0)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-dense{grid-auto-flow:dense}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.right-auto{right:auto}.bottom-auto{bottom:auto}.left-auto{left:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.object-none{-o-object-fit:none;object-fit:none}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-bottom{-o-object-position:bottom;object-position:bottom}.object-center{-o-object-position:center;object-position:center}.object-left{-o-object-position:left;object-position:left}.object-right{-o-object-position:right;object-position:right}.object-top{-o-object-position:top;object-position:top}.transform{transform-origin:center}.transform-gpu{transform:translateZ(0)}.backface-hidden{backface-visibility:hidden}.will-change-transform{will-change:transform}.fixed-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;left:0;right:0}.fixed-bottom{bottom:0}.absolute-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.absolute-top{top:0}.absolute-bottom,.absolute-top{position:absolute;left:0;right:0}.absolute-bottom{bottom:0}.debug-container{position:fixed;bottom:0;right:0;z-index:9999;border-top-left-radius:var(--radius-lg);border:1px solid var(--border-light);max-height:50vh;overflow-y:auto}.debug-content{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-light)}.main-content{position:relative;z-index:var(--z-above);padding-bottom:var(--spacing-16);width:100%;overflow-x:hidden}.standard-page{flex:1;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px)}.report-page,.standard-page{width:100%;overflow-x:hidden}.report-page{margin-bottom:var(--spacing-16)}.report-page .container{padding:0;width:100%}.container{max-width:var(--container-lg);margin:0 auto;padding:var(--spacing-8) var(--spacing-4);width:100%}.app-footer{position:relative;z-index:var(--z-above);padding:var(--spacing-6) 0;background-color:var(--bg-secondary);border-top:1px solid var(--border-light)}.footer-container{max-width:var(--container-lg);margin:0 auto;padding:0 var(--spacing-4);display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:var(--spacing-4)}.debug-container{padding:var(--spacing-4);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light)}@media (max-width:768px){.container{padding:var(--spacing-4)}.standard-page{padding:1rem}.report-page{margin-bottom:var(--spacing-8)}.footer-container{flex-direction:column;gap:var(--spacing-4);text-align:center}.app-footer{padding:var(--spacing-4) 0}}@media (max-width:480px){.container{padding:var(--spacing-2)}.standard-page{padding:.75rem}.report-page{margin-bottom:var(--spacing-4)}}.navbar{width:100%;background-color:var(--bg-secondary);padding:.75rem 1rem}.nav-container,.navbar{position:relative;z-index:100}.nav-container{max-width:1440px;margin:0 auto}.nav-content{display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.nav-content>div:first-child{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:101}.nav-logo{display:flex;align-items:center;font-weight:600;font-size:1.5rem;text-decoration:none;color:var(--text-primary);position:relative;z-index:101}.nav-logo img,.nav-logo svg{height:3rem;width:auto;margin-right:.5rem;position:relative}.nav-logo,.nav-logo *{position:relative;z-index:101}.nav-group{display:flex;align-items:center;gap:2rem;margin:0 auto;padding-left:150px;padding-right:50px}.nav-group.nav-main{padding-right:360px;margin:0 auto;justify-content:center}.nav-group.nav-auth{position:absolute;right:2rem}.nav-link{color:var(--text-primary);text-decoration:none;font-size:1rem;padding:.5rem 1rem;border-radius:.75rem;background:transparent;border:none;cursor:pointer;white-space:nowrap}.nav-link:hover{color:var(--primary-light);background:transparent}.nav-link.active{color:var(--primary-light);background:rgba(255,255,255,.04)}.nav-auth-button{padding:.5rem 1.5rem;border-radius:.75rem;font-size:1rem;font-weight:500;border:none;cursor:pointer;white-space:nowrap}.reports-count{font-weight:500;padding:.25rem .5rem;border-radius:.375rem;background:rgba(255,255,255,.02)}.nav-container .nav-content .reports-count.text-red-600{color:rgb(239,68,68)!important;background:transparent!important}.nav-container .nav-content .reports-count.text-green-600{color:rgb(22,163,74)!important;background:rgba(34,197,94,.1)!important;border:1px solid rgba(34,197,94,.2)}.nav-auth-button.login{color:var(--primary-light);background:rgba(255,255,255,.02)}.nav-auth-button.signup{color:white;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%)}.nav-hamburger{display:none;color:var(--primary-light);padding:.5rem;border-radius:.5rem;background:rgba(255,255,255,.02);position:relative;z-index:101}.nav-hamburger svg{width:1.5rem;height:1.5rem}.nav-mobile-overlay{position:fixed;inset:0;z-index:var(--z-modal);background-color:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-mobile-menu{position:absolute;right:0;top:0;bottom:0;width:16rem;background:rgba(255,255,255,.02);box-shadow:0 0 0 1px rgba(14,165,233,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.navbar-admin .nav-content,.navbar-anonymous .nav-content,.navbar-registered .nav-content{display:flex;justify-content:center;align-items:center}@media (max-width:1200px){.nav-logo{left:1rem}.nav-group.nav-auth{right:1rem}.nav-content{padding:1rem}}@media (max-width:768px){.nav-group{display:none!important}.nav-content{padding:.5rem 1rem;position:relative;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1rem;position:relative;left:0;transform:none;margin-right:auto}.nav-logo img,.nav-logo svg{height:1.5rem}.nav-hamburger{display:block!important;position:relative;margin-left:auto}.nav-mobile-menu .nav-group{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.nav-mobile-menu .nav-link{width:100%}.nav-mobile-menu .nav-auth-button{width:100%;text-align:center}}@media (min-width:769px){.nav-group{display:flex!important}.nav-hamburger{display:none!important}}.admin-navbar .nav-logo,.navbar--auth .nav-logo,.navbar--primary .nav-logo{position:relative;display:flex;align-items:center}.admin-navbar .nav-logo img,.admin-navbar .nav-logo svg,.navbar .nav-logo img,.navbar .nav-logo svg,.navbar--auth .nav-logo img,.navbar--auth .nav-logo svg,.navbar--primary .nav-logo img,.navbar--primary .nav-logo svg{height:3rem;width:auto;margin-right:.5rem;position:relative}:root{--mobile-bg-primary:#011826;--mobile-bg-hover:rgba(255,255,255,0.04);--mobile-border-color:rgba(14,165,233,0.15);--mobile-border-hover:rgba(14,165,233,0.35);--mobile-text-primary:#F1F1F1;--mobile-text-secondary:rgba(241,241,241,0.7);--mobile-z-index-bottom-bar:999;--mobile-z-index-floating:56}.mobile-bottom-bar-container{display:none}.mobile-bottom-bar,.mobile-bottom-bar-container{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:var(--mobile-z-index-bottom-bar)}.mobile-bottom-bar{background:var(--mobile-bg-primary);border-top:1px solid var(--mobile-border-color);padding:1rem;display:flex;justify-content:center}.mobile-bottom-content{width:100%;max-width:min(100%,640px);margin:0 auto;display:flex;flex-direction:column;gap:.5rem}@media (min-width:768px) and (max-width:1024px){.mobile-bottom-bar{padding:1.25rem 1rem}.mobile-bottom-content{max-width:min(100%,640px);padding:0 1rem}.mobile-bottom-row{gap:1.5rem}.mobile-score{gap:1rem}.mobile-score-value{font-size:1.5rem}.mobile-score-label{font-size:1rem}.mobile-action-button{padding:.75rem 1.25rem;font-size:1rem;white-space:nowrap}.mobile-share-section{padding-top:.75rem;margin-top:.5rem;gap:1rem}.mobile-share-section a{width:2.5rem;height:2.5rem}}@media (min-width:1025px){.mobile-bottom-bar,.mobile-bottom-bar-container{display:none!important}}@media (max-width:1024px){.mobile-bottom-bar-container{display:block!important}}.mobile-bottom-row{justify-content:space-between}.mobile-bottom-row,.mobile-score{display:flex;align-items:center;gap:.5rem}.mobile-score-value{font-size:1.25rem;font-weight:700;transition:color .3s ease}.mobile-score-label{color:var(--mobile-text-primary);font-size:.875rem}.mobile-share-section{padding-top:.5rem;margin-top:.25rem;border-top:1px solid var(--mobile-border-color);gap:.5rem;flex-wrap:wrap}.mobile-share-section,.mobile-share-section a{display:flex;justify-content:center;align-items:center}.mobile-share-section a{width:2rem;height:2rem;padding:.5rem;border-radius:.375rem;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.15);color:var(--mobile-text-primary);transition:all .2s ease}.mobile-share-section a:hover{background:rgba(14,165,233,.2);border-color:rgba(14,165,233,.3);transform:translateY(-1px)}.mobile-share-section svg{width:1.25rem;height:1.25rem}.mobile-action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;background:#0EA5E9;color:var(--mobile-text-primary);font-size:.875rem;font-weight:500;transition:all .3s ease;border:none;white-space:nowrap}.mobile-action-button:hover{background:#38BDF8;transform:translateY(-1px)}.mobile-signup-button{margin-left:auto;padding:.5rem 1.25rem;font-size:.875rem}.mobile-share-button{display:flex;align-items:center;justify-content:center;min-width:2rem!important;min-height:2rem!important;width:auto!important;height:auto!important;padding:.25rem!important;border-radius:.375rem;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.15);color:var(--mobile-text-primary);transition:all .2s ease}.mobile-share-button:hover{background:rgba(14,165,233,.2);border-color:rgba(14,165,233,.3);transform:translateY(-1px)}.mobile-share-button svg{width:1.5rem!important;height:1.5rem!important;min-width:1.5rem!important;min-height:1.5rem!important}.desktop-only{display:block}@media (max-width:768px){.desktop-only:not(.floating-score):not(.floating-score *){display:none!important}}@media (max-width:480px){.hero-title{font-size:var(--text-3xl)}.hero-description{font-size:var(--text-base)}.feature-title{font-size:var(--text-lg)}.benefits-title{font-size:var(--text-2xl)}}@media (max-width:768px){.standard-page{padding-top:10vh}.standard-page .container{padding:var(--spacing-4)}.no-reports-content{padding:0 var(--spacing-2)}.no-reports-title{font-size:var(--text-2xl);margin-bottom:var(--spacing-4)}.no-reports-description{font-size:var(--text-base);margin-bottom:var(--spacing-8)}.no-reports-actions{gap:var(--spacing-3)}}@media (max-width:480px){.standard-page{padding-top:8vh}.no-reports-content{padding:0 var(--spacing-2)}.no-reports-title{font-size:var(--text-xl)}}@media (max-width:768px){.nav-content{padding:var(--spacing-2)}.nav-group{gap:var(--spacing-2)}.nav-auth-button,.nav-link{padding:var(--spacing-1) var(--spacing-2)}.container{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.footer-container{flex-direction:column;gap:var(--spacing-4);text-align:center}.app-footer{padding:var(--spacing-4) 0}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-weight:var(--font-medium);transition:var(--hover-transition);cursor:pointer;border:none;outline:none}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--text-sm)}.btn-md{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-base)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-lg)}.btn-primary{background-color:var(--primary);color:var(--text-light)}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary);color:var(--text-light)}.btn-secondary:hover{background-color:var(--secondary-dark)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background-color:transparent}.btn-outline:hover{background-color:var(--primary);color:var(--text-light)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover{background-color:var(--neutral-100)}.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:1em;height:1em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:button-loading-spinner .75s linear infinite}@keyframes button-loading-spinner{to{transform:rotate(1turn)}}.btn-group,.btn-group-vertical{display:inline-flex;gap:var(--spacing-2)}.btn-group-vertical{flex-direction:column}.btn-icon{padding:var(--spacing-2);border-radius:var(--radius-full)}.btn-icon-sm{padding:var(--spacing-1)}.btn-icon-lg{padding:var(--spacing-3)}.btn-with-icon{gap:var(--spacing-2)}.btn-with-icon svg{width:1.25em;height:1.25em}.card{background-color:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--hover-transition);overflow:hidden}.card-sm{padding:var(--spacing-3)}.card-md{padding:var(--spacing-4)}.card-lg{padding:var(--spacing-6)}.card-elevated{box-shadow:var(--shadow-md)}.card-bordered{border:1px solid var(--border-light)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--border-light)}.card-body,.card-footer,.card-header{padding:var(--spacing-4)}.card-footer{border-top:1px solid var(--border-light)}.card-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.card-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--spacing-4)}.card-text{color:var(--text-primary);line-height:var(--leading-relaxed)}.card-image{width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.card-image-top{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.card-image-bottom{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.card-group{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.card-loading{position:relative;overflow:hidden}.card-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--neutral-200),transparent);animation:card-loading 1.5s infinite}@keyframes card-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.card-primary{background-color:var(--primary);color:var(--text-light)}.card-secondary{background-color:var(--secondary);color:var(--text-light)}.card-success{background-color:var(--success);color:var(--text-light)}.card-error{background-color:var(--error);color:var(--text-light)}@media (min-width:768px){.card-md{padding:var(--spacing-6)}.card-lg{padding:var(--spacing-8)}}.form-group{margin-bottom:var(--spacing-4)}.form-row{display:flex;gap:var(--spacing-4)}.form-label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-medium);color:var(--text-primary)}.form-label-required:after{content:"*";color:var(--error);margin-left:var(--spacing-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-medium);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);transition:var(--hover-transition)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-dark)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--neutral-100);cursor:not-allowed;opacity:.7}.form-input-sm,.form-select-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--text-sm)}.form-input-lg,.form-select-lg{padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-lg)}.form-input-error{border-color:var(--error)}.form-input-error:focus{box-shadow:0 0 0 2px var(--error)}.form-input-success{border-color:var(--success)}.form-input-success:focus{box-shadow:0 0 0 2px var(--success)}.form-text{margin-top:var(--spacing-1);font-size:var(--text-sm);color:var(--text-secondary)}.form-error-text{color:var(--error)}.form-success-text{color:var(--success)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:1em;height:1em;margin:0}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--spacing-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--spacing-2) center;background-repeat:no-repeat;background-size:1.5em 1.5em}.form-textarea{min-height:100px;resize:vertical}.form-grid{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-loading{opacity:.7;pointer-events:none}.form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-6)}@media (max-width:640px){.form-actions,.form-row{flex-direction:column}}