.card-base{--tw-shadow:0 2px 8px -2px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.06);--tw-shadow-colored:0 2px 8px -2px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);--tw-shadow-color:hsl(var(--card));--tw-shadow:var(--tw-shadow-colored)}.card-base,.card-elevated{border-radius:var(--radius);border-width:1px;background-color:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card-elevated{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color)}.card-elevated,.card-interactive{--tw-shadow:0 2px 8px -2px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.06);--tw-shadow-colored:0 2px 8px -2px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);--tw-shadow-color:hsl(var(--card));--tw-shadow:var(--tw-shadow-colored)}.card-interactive{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;border-radius:var(--radius);border-width:1px;background-color:hsl(var(--card));color:hsl(var(--card-foreground))}.card-interactive,.card-interactive:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card-interactive:hover{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color)}.card-auth{width:100%;max-width:28rem;border-radius:.75rem;border-width:1px;border-color:rgb(255 255 255/.2);background-color:rgb(255 255 255/.9);--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.card-auth,.card-dashboard{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card-dashboard{padding:1.5rem;border-radius:var(--radius);border-width:1px;background-color:hsl(var(--card));color:hsl(var(--card-foreground));--tw-shadow:0 2px 8px -2px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.06);--tw-shadow-colored:0 2px 8px -2px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);--tw-shadow-color:hsl(var(--card));--tw-shadow:var(--tw-shadow-colored)}.page-container{width:100%;padding-right:1.5rem;padding-left:1.5rem}@media (min-width:1400px){.page-container{max-width:1400px}}.page-container{margin-left:auto;margin-right:auto;padding:1.5rem}.page-header{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.page-header{flex-direction:row;align-items:center;justify-content:space-between}}.page-title{font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif;font-family:var(--font-heading),Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:1.5rem;line-height:2rem;letter-spacing:-.01em;font-weight:600}.page-description{color:hsl(var(--muted-foreground))}.section{margin-bottom:2rem}.section-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.section-title{font-size:1.125rem;line-height:1.75rem;font-weight:500;font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif!important}.btn-base{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:var(--radius);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;font-weight:500}.btn-base:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.btn-base:disabled{pointer-events:none;opacity:.5}.input-base{letter-spacing:.02em;font-weight:400;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--input));background-color:hsl(var(--background));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-ring-offset-color:hsl(var(--background))}.input-base::placeholder{color:hsl(var(--muted-foreground))}.input-base:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.input-base:disabled{cursor:not-allowed;opacity:.5}.input-with-icon{letter-spacing:.02em;font-weight:400;display:flex;width:100%;border-radius:calc(var(--radius) - 2px);border-width:1px;border-color:hsl(var(--input));background-color:hsl(var(--background));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-ring-offset-color:hsl(var(--background))}.input-with-icon::placeholder{color:hsl(var(--muted-foreground))}.input-with-icon:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.input-with-icon:disabled{cursor:not-allowed;opacity:.5}.input-error{border-color:hsl(var(--destructive))}.input-error:focus-visible{--tw-ring-color:hsl(var(--destructive))}.form-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.form-label{line-height:1.25rem;line-height:1;font-weight:500}.form-description,.form-label{letter-spacing:.02em;font-size:.875rem}.form-description{font-weight:400;line-height:1.25rem;color:hsl(var(--muted-foreground))}.form-error{letter-spacing:.02em;font-size:.875rem;line-height:1.25rem;color:hsl(var(--destructive));font-weight:500}.form-gap>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.table-container{width:100%;overflow:auto;border-radius:var(--radius);border-width:1px}.table-base{letter-spacing:.02em;font-weight:400;width:100%;caption-side:bottom;font-size:.875rem;line-height:1.25rem}.table-header{border-bottom-width:1px;background-color:hsl(var(--muted)/.5)}.table-header-cell{height:3rem;padding-left:1rem;padding-right:1rem;text-align:left;vertical-align:middle;color:hsl(var(--muted-foreground));font-weight:500}.table-row{border-bottom-width:1px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.table-row:hover{background-color:hsl(var(--muted)/.5)}.table-cell{padding:1rem;vertical-align:middle}.badge-base,.badge-primary{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;letter-spacing:.01em;font-weight:500}.badge-primary{background-color:hsl(var(--primary)/.1);color:hsl(var(--primary))}.badge-success{background-color:hsl(var(--success)/.1);color:hsl(var(--success))}.badge-success,.badge-warning{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;letter-spacing:.01em;font-weight:500}.badge-warning{background-color:hsl(var(--warning)/.1);color:hsl(var(--warning))}.badge-error{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.badge-error,.badge-muted{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;letter-spacing:.01em;font-weight:500}.badge-muted{background-color:hsl(var(--muted))}.badge-muted,.nav-link{color:hsl(var(--muted-foreground))}.nav-link{font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif;display:flex;align-items:center;gap:.75rem;border-radius:var(--radius);padding:.5rem .75rem;font-family:var(--font-heading),Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-link:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.nav-link-active{background-color:hsl(var(--primary)/.1);color:hsl(var(--primary))}.nav-link-active:hover{background-color:hsl(var(--primary)/.15);color:hsl(var(--primary))}.sidebar-section{margin-bottom:1.5rem}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-header{font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif;margin-bottom:.75rem;padding-left:.75rem;padding-right:.75rem;font-family:var(--font-heading),Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:hsl(var(--muted-foreground));font-weight:600}.sidebar-section-items>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.sidebar-item{letter-spacing:.02em;display:flex;align-items:center;gap:.75rem;border-radius:var(--radius);padding:.75rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;font-weight:500;color:hsl(var(--sidebar-foreground))}.sidebar-item:hover{background-color:hsl(var(--sidebar-accent));color:hsl(var(--sidebar-accent-foreground))}.sidebar-item:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.sidebar-item-active{background-color:hsl(var(--primary)/.15);color:hsl(var(--primary));font-weight:500}.stat-card{display:flex;flex-direction:column;padding:1.5rem;border-radius:var(--radius);border-width:1px;background-color:hsl(var(--card));color:hsl(var(--card-foreground));--tw-shadow:0 2px 8px -2px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.06);--tw-shadow-colored:0 2px 8px -2px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--card));--tw-shadow:var(--tw-shadow-colored)}.stat-label{letter-spacing:.02em;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground));font-weight:500}.stat-value{font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif;font-family:var(--font-heading),Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:1.5rem;line-height:2rem;letter-spacing:-.01em;font-weight:600}.stat-change{letter-spacing:.02em;font-weight:400;font-size:.875rem;line-height:1.25rem}.stat-change-positive{color:hsl(var(--success))}.stat-change-negative{color:hsl(var(--destructive))}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:3rem;padding-bottom:3rem;text-align:center}.empty-state-icon{margin-bottom:1rem;height:3rem;width:3rem;color:hsl(var(--muted-foreground)/.5)}.empty-state-title{font-family:var(--font-heading),"Hanken Grotesk",ui-sans-serif,sans-serif;font-family:var(--font-heading),Hanken Grotesk,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:1.125rem;line-height:1.75rem;font-weight:500}.empty-state-description{letter-spacing:.02em;font-weight:400;margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.skeleton-text{height:1rem;width:100%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.skeleton-title{height:1.5rem;width:75%;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.skeleton-avatar{height:2.5rem;width:2.5rem;border-radius:9999px;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.skeleton-button{height:2.5rem;width:6rem}@keyframes pulse{50%{opacity:.5}}.skeleton-button{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;border-radius:calc(var(--radius) - 2px);background-color:hsl(var(--muted))}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.text-gradient{background:linear-gradient(to right,hsl(var(--primary)),hsl(var(--primary)/.8));-webkit-background-clip:text;background-clip:text;color:transparent}.focus-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px}.truncate-2{-webkit-line-clamp:2}.truncate-2,.truncate-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.truncate-3{-webkit-line-clamp:3}.scrollbar-thin{scrollbar-width:thin}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.text-balance{text-wrap:balance}.animate-in{animation:fade-in .2s ease-out}.animate-out{animation:fade-out .2s ease-out}.backdrop-blur-light{backdrop-filter:blur(8px)}.backdrop-blur-medium{backdrop-filter:blur(12px)}.backdrop-blur-heavy{backdrop-filter:blur(20px)}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}@media print{.print-hidden{display:none!important}.print-visible{display:block!important}}.touch-target{min-height:44px;min-width:44px}.aspect-video{aspect-ratio:16/9}.aspect-square{aspect-ratio:1/1}.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}.glass,.glass-dark{backdrop-filter:blur(10px)}.glass-dark{background:rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.1)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}