.container {
    width: 100%
}
@media (min-width: 640px) {
    .container {
        max-width: 640px
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 768px
    }
}
@media (min-width: 1024px) {
    .container {
        max-width: 1024px
    }
}
@media (min-width: 1280px) {
    .container {
        max-width: 1280px
    }
}
@media (min-width: 1536px) {
    .container {
        max-width: 1536px
    }
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}
.static {
    position: static
}
.fixed {
    position: fixed
}
.absolute {
    position: absolute
}
.relative {
    position: relative
}
.sticky {
    position: sticky
}
.inset-0 {
    inset: 0px
}
.-top-3 {
    top: -0.75rem
}
.bottom-0 {
    bottom: 0px
}
.left-0 {
    left: 0px
}
.left-1\/2 {
    left: 50%
}
.right-0 {
    right: 0px
}
.right-3 {
    right: 0.75rem
}
.right-4 {
    right: 1rem
}
.right-6 {
    right: 1.5rem
}
.top-0 {
    top: 0px
}
.top-1\/2 {
    top: 50%
}
.top-3 {
    top: 0.75rem
}
.top-4 {
    top: 1rem
}
.top-6 {
    top: 1.5rem
}
.top-\[var\(--header-height\)\] {
    top: var(--header-height)
}
.z-50 {
    z-index: 50
}
.z-\[100\] {
    z-index: 100
}
.z-\[200\] {
    z-index: 200
}
.z-\[300\] {
    z-index: 300
}
.z-\[79\] {
    z-index: 79
}
.z-\[9999\] {
    z-index: 9999
}
.mx-auto {
    margin-left: auto;
    margin-right: auto
}
.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem
}
.my-5 {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem
}
.mb-1 {
    margin-bottom: 0.25rem
}
.mb-10 {
    margin-bottom: 2.5rem
}
.mb-12 {
    margin-bottom: 3rem
}
.mb-2 {
    margin-bottom: 0.5rem
}
.mb-3 {
    margin-bottom: 0.75rem
}
.mb-4 {
    margin-bottom: 1rem
}
.mb-5 {
    margin-bottom: 1.25rem
}
.mb-6 {
    margin-bottom: 1.5rem
}
.mb-8 {
    margin-bottom: 2rem
}
.ml-auto {
    margin-left: auto
}
.mt-4 {
    margin-top: 1rem
}
.mt-5 {
    margin-top: 1.25rem
}
.mt-8 {
    margin-top: 2rem
}
.block {
    display: block
}
.flex {
    display: flex
}
.inline-flex {
    display: inline-flex
}
.grid {
    display: grid
}
.hidden {
    display: none
}
.aspect-square {
    aspect-ratio: 1 / 1
}
.h-10 {
    height: 2.5rem
}
.h-4 {
    height: 1rem
}
.h-6 {
    height: 1.5rem
}
.h-8 {
    height: 2rem
}
.h-9 {
    height: 2.25rem
}
.h-\[var\(--header-height\)\] {
    height: var(--header-height)
}
.h-full {
    height: 100%
}
.h-px {
    height: 1px
}
.min-h-\[60vh\] {
    min-height: 60vh
}
.min-h-\[calc\(100vh-var\(--header-height\)\)\] {
    min-height: calc(100vh - var(--header-height))
}
.w-10 {
    width: 2.5rem
}
.w-4 {
    width: 1rem
}
.w-6 {
    width: 1.5rem
}
.w-72 {
    width: 18rem
}
.w-8 {
    width: 2rem
}
.w-9 {
    width: 2.25rem
}
.w-\[var\(--sidebar-width\)\] {
    width: var(--sidebar-width)
}
.w-full {
    width: 100%
}
.w-px {
    width: 1px
}
.min-w-0 {
    min-width: 0px
}
.min-w-\[180px\] {
    min-width: 180px
}
.min-w-\[280px\] {
    min-width: 280px
}
.min-w-\[8rem\] {
    min-width: 8rem
}
.max-w-\[400px\] {
    max-width: 400px
}
.max-w-\[420px\] {
    max-width: 420px
}
.max-w-\[460px\] {
    max-width: 460px
}
.max-w-\[480px\] {
    max-width: 480px
}
.max-w-\[500px\] {
    max-width: 500px
}
.max-w-\[600px\] {
    max-width: 600px
}
.max-w-\[640px\] {
    max-width: 640px
}
.max-w-\[700px\] {
    max-width: 700px
}
.max-w-\[720px\] {
    max-width: 720px
}
.max-w-\[800px\] {
    max-width: 800px
}
.max-w-lg {
    max-width: 32rem
}
.flex-1 {
    flex: 1 1 0%
}
.shrink-0 {
    flex-shrink: 0
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.cursor-default {
    cursor: default
}
.cursor-pointer {
    cursor: pointer
}
.select-none {
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none
}
.flex-col {
    flex-direction: column
}
.flex-wrap {
    flex-wrap: wrap
}
.items-start {
    align-items: flex-start
}
.items-center {
    align-items: center
}
.justify-start {
    justify-content: flex-start
}
.justify-center {
    justify-content: center
}
.justify-between {
    justify-content: space-between
}
.gap-1 {
    gap: 0.25rem
}
.gap-1\.5 {
    gap: 0.375rem
}
.gap-2 {
    gap: 0.5rem
}
.gap-3 {
    gap: 0.75rem
}
.gap-4 {
    gap: 1rem
}
.gap-5 {
    gap: 1.25rem
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse))
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse))
}
.self-start {
    align-self: flex-start
}
.overflow-hidden {
    overflow: hidden
}
.whitespace-nowrap {
    white-space: nowrap
}
.rounded {
    border-radius: var(--radius-md)
}
.rounded-full {
    border-radius: var(--radius-full)
}
.rounded-lg {
    border-radius: var(--radius-lg)
}
.rounded-md {
    border-radius: var(--radius-md)
}
.rounded-sm {
    border-radius: var(--radius-sm)
}
.border {
    border-width: 1px
}
.border-2 {
    border-width: 2px
}
.border-b {
    border-bottom-width: 1px
}
.border-l {
    border-left-width: 1px
}
.border-l-4 {
    border-left-width: 4px
}
.border-r {
    border-right-width: 1px
}
.border-t {
    border-top-width: 1px
}
.border-\[var\(--brand-border\)\] {
    border-color: var(--brand-border)
}
.border-\[var\(--brand-primary\)\] {
    border-color: var(--brand-primary)
}
.border-l-\[var\(--color-error\)\] {
    border-left-color: var(--color-error)
}
.border-l-\[var\(--color-info\)\] {
    border-left-color: var(--color-info)
}
.border-l-\[var\(--color-success\)\] {
    border-left-color: var(--color-success)
}
.border-l-\[var\(--color-warning\)\] {
    border-left-color: var(--color-warning)
}
.bg-\[var\(--brand-bg\)\] {
    background-color: var(--brand-bg)
}
.bg-\[var\(--brand-border\)\] {
    background-color: var(--brand-border)
}
.bg-\[var\(--brand-primary\)\] {
    background-color: var(--brand-primary)
}
.bg-\[var\(--brand-surface\)\] {
    background-color: var(--brand-surface)
}
.bg-\[var\(--brand-surface-hover\)\] {
    background-color: var(--brand-surface-hover)
}
.bg-\[var\(--color-error\)\] {
    background-color: var(--color-error)
}
.bg-\[var\(--color-success\)\] {
    background-color: var(--color-success)
}
.bg-black\/50 {
    background-color: rgb(0 0 0 / 0.5)
}
.bg-black\/60 {
    background-color: rgb(0 0 0 / 0.6)
}
.bg-black\/65 {
    background-color: rgb(0 0 0 / 0.65)
}
.bg-transparent {
    background-color: transparent
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover
}
.p-1 {
    padding: 0.25rem
}
.p-4 {
    padding: 1rem
}
.p-5 {
    padding: 1.25rem
}
.p-6 {
    padding: 1.5rem
}
.p-8 {
    padding: 2rem
}
.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem
}
.px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem
}
.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem
}
.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}
.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}
.py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem
}
.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem
}
.py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem
}
.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}
.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem
}
.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}
.py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem
}
.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}
.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}
.pb-0 {
    padding-bottom: 0px
}
.pb-2 {
    padding-bottom: 0.5rem
}
.pb-4 {
    padding-bottom: 1rem
}
.pt-4 {
    padding-top: 1rem
}
.pt-6 {
    padding-top: 1.5rem
}
.text-center {
    text-align: center
}
.text-right {
    text-align: right
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}
.text-\[0\.813rem\] {
    font-size: 0.813rem
}
.text-\[0\.938rem\] {
    font-size: 0.938rem
}
.text-\[1\.0625rem\] {
    font-size: 1.0625rem
}
.text-\[1\.063rem\] {
    font-size: 1.063rem
}
.text-\[1\.125rem\] {
    font-size: 1.125rem
}
.text-\[1\.25rem\] {
    font-size: 1.25rem
}
.text-\[1\.75rem\] {
    font-size: 1.75rem
}
.text-\[2\.5rem\] {
    font-size: 2.5rem
}
.text-\[2rem\] {
    font-size: 2rem
}
.text-\[6rem\] {
    font-size: 6rem
}
.text-\[clamp\(2\.5rem\2c 6vw\2c 4rem\)\] {
    font-size: clamp(2.5rem, 6vw, 4rem)
}
.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}
.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
}
.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}
.font-bold {
    font-weight: 700
}
.font-extrabold {
    font-weight: 800
}
.font-medium {
    font-weight: 500
}
.font-semibold {
    font-weight: 600
}
.uppercase {
    text-transform: uppercase
}
.italic {
    font-style: italic
}
.leading-\[1\.8\] {
    line-height: 1.8
}
.leading-none {
    line-height: 1
}
.leading-relaxed {
    line-height: 1.625
}
.leading-tight {
    line-height: 1.25
}
.text-\[var\(--brand-primary\)\] {
    color: var(--brand-primary)
}
.text-\[var\(--brand-text\)\] {
    color: var(--brand-text)
}
.text-\[var\(--brand-text-muted\)\] {
    color: var(--brand-text-muted)
}
.text-\[var\(--brand-text-secondary\)\] {
    color: var(--brand-text-secondary)
}
.text-\[var\(--color-error\)\] {
    color: var(--color-error)
}
.text-\[var\(--color-success\)\] {
    color: var(--color-success)
}
.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.no-underline {
    text-decoration-line: none
}
.underline-offset-4 {
    text-underline-offset: 4px
}
.opacity-60 {
    opacity: 0.6
}
.opacity-70 {
    opacity: 0.7
}
.shadow-lg {
    --tw-shadow: var(--shadow-lg);
    --tw-shadow-colored: var(--shadow-lg);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}
.outline {
    outline-style: solid
}
.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    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-blur-sm {
    --tw-backdrop-blur: blur(4px);
    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)
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
.duration-150 {
    transition-duration: 150ms
}
.duration-200 {
    transition-duration: 200ms
}
.duration-300 {
    transition-duration: 300ms
}
.ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
}
.placeholder\:text-\[var\(--brand-text-muted\)\]::-moz-placeholder {
    color: var(--brand-text-muted)
}
.placeholder\:text-\[var\(--brand-text-muted\)\]::placeholder {
    color: var(--brand-text-muted)
}
.hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:-translate-y-px:hover {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:border-\[var\(--brand-primary\)\]:hover {
    border-color: var(--brand-primary)
}
.hover\:bg-\[var\(--brand-primary-hover\)\]:hover {
    background-color: var(--brand-primary-hover)
}
.hover\:bg-\[var\(--brand-surface\)\]:hover {
    background-color: var(--brand-surface)
}
.hover\:bg-\[var\(--brand-surface-hover\)\]:hover {
    background-color: var(--brand-surface-hover)
}
.hover\:text-\[var\(--brand-primary\)\]:hover {
    color: var(--brand-primary)
}
.hover\:text-\[var\(--brand-text\)\]:hover {
    color: var(--brand-text)
}
.hover\:text-\[var\(--color-error\)\]:hover {
    color: var(--color-error)
}
.hover\:underline:hover {
    text-decoration-line: underline
}
.hover\:opacity-100:hover {
    opacity: 1
}
.hover\:opacity-90:hover {
    opacity: 0.9
}
.focus\:border-\[var\(--brand-primary\)\]:focus {
    border-color: var(--brand-primary)
}
.focus\:bg-\[var\(--brand-surface-hover\)\]:focus {
    background-color: var(--brand-surface-hover)
}
.focus\:text-\[var\(--brand-text\)\]:focus {
    color: var(--brand-text)
}
.focus\:text-\[var\(--color-error\)\]:focus {
    color: var(--color-error)
}
.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}
.disabled\:pointer-events-none:disabled {
    pointer-events: none
}
.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}
.disabled\:opacity-50:disabled {
    opacity: 0.5
}
.disabled\:opacity-60:disabled {
    opacity: 0.6
}
.data-\[disabled\]\:pointer-events-none[data-disabled] {
    pointer-events: none
}
.data-\[state\=closed\]\:-translate-x-full[data-state="closed"] {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=closed\]\:-translate-y-full[data-state="closed"] {
    --tw-translate-y: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=closed\]\:translate-x-full[data-state="closed"] {
    --tw-translate-x: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=closed\]\:translate-y-full[data-state="closed"] {
    --tw-translate-y: 100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=open\]\:translate-x-0[data-state="open"] {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=open\]\:translate-y-0[data-state="open"] {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.data-\[state\=active\]\:bg-\[var\(--brand-primary\)\][data-state="active"] {
    background-color: var(--brand-primary)
}
.data-\[state\=active\]\:text-white[data-state="active"] {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.data-\[disabled\]\:opacity-50[data-disabled] {
    opacity: 0.5
}
.data-\[state\=active\]\:shadow-sm[data-state="active"] {
    --tw-shadow: var(--shadow-sm);
    --tw-shadow-colored: var(--shadow-sm);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

:root{--color-success: #22c55e;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,0.3);--shadow-md: 0 4px 6px rgba(0,0,0,0.3);--shadow-lg: 0 10px 15px rgba(0,0,0,0.4);--max-width: 1200px;--header-height: 64px;--sidebar-width: 260px}[data-theme=dark]{--brand-bg: #0f0f11;--brand-surface: #18181b;--brand-surface-hover: #27272a;--brand-border: #3f3f46;--brand-text: #fafafa;--brand-text-secondary: #a1a1aa;--brand-text-muted: #71717a}[data-theme=light]{--brand-bg: #ffffff;--brand-surface: #f4f4f5;--brand-surface-hover: #e4e4e7;--brand-border: #d4d4d8;--brand-text: #18181b;--brand-text-secondary: #52525b;--brand-text-muted: #a1a1aa}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--brand-bg);color:var(--brand-text);line-height:1.6;min-height:100vh}a{color:var(--brand-primary);text-decoration:none}a:hover{color:var(--brand-primary-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body);font-size:1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-size:.938rem;font-weight:500;border-radius:var(--radius-md);border:none;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover{background:var(--brand-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--brand-surface);color:var(--brand-text);border:1px solid var(--brand-border)}.btn-secondary:hover{background:var(--brand-surface-hover)}.btn-ghost{background:rgba(0,0,0,0);color:var(--brand-text-secondary)}.btn-ghost:hover{color:var(--brand-text);background:var(--brand-surface)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:1.063rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-md);color:var(--brand-text);font-size:.938rem;transition:border-color .15s ease}.input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 15%, transparent)}.input::placeholder{color:var(--brand-text-muted)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--brand-text-secondary)}.card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.spinner{width:24px;height:24px;border:3px solid var(--brand-border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-enter{opacity:0;transform:translateY(8px)}.page{animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:none;color:var(--brand-text);padding:var(--space-sm);cursor:pointer;transition:color .15s ease}.mobile-menu-btn:hover{color:var(--brand-primary)}.mobile-nav-overlay{display:none;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--brand-surface);border-top:1px solid var(--brand-border);z-index:90;padding:var(--space-lg);flex-direction:column;gap:var(--space-xs);overflow-y:auto}.mobile-nav-overlay.is-open{display:flex}.sidebar-overlay{display:none;position:fixed;inset:0;top:var(--header-height);background:rgba(0,0,0,.5);z-index:79}.sidebar-overlay.open{display:block}.sidebar-toggle-btn{display:none}@media(max-width: 768px){.desktop-nav{display:none !important}.mobile-menu-btn{display:flex}.sidebar-toggle-btn{display:inline-flex;margin-bottom:var(--space-md)}.app-sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;z-index:80;overflow-y:auto;transform:translateX(-100%);transition:transform .25s ease}.app-sidebar.open{transform:translateX(0)}.stats-grid{grid-template-columns:1fr 1fr !important}.feature-grid{grid-template-columns:1fr !important}.container{padding:0 var(--space-sm)}}@media(max-width: 480px){.stats-grid{grid-template-columns:1fr !important}.feature-grid{grid-template-columns:1fr !important}}
/*
 * Auto-generated by scripts/apply-brand.js - do not edit manually.
 * Source of truth: brand.json at template root.
 * Runtime injection: @system/components/BrandProvider.jsx reads brand.js.
 */

:root {
  --brand-primary: #10B981;
  --brand-primary-hover: #059669;
  --brand-accent: #F59E0B;
  --brand-accent-hover: #D97706;
  --brand-bg: #0f0f11;
  --brand-surface: #18181b;
  --brand-surface-hover: color-mix(in srgb, var(--brand-surface) 80%, white 20%);
  --brand-border: color-mix(in srgb, var(--brand-surface) 60%, white 40%);
  --brand-text: #fafafa;
  --brand-text-secondary: #a1a1aa;
  --brand-text-muted: #71717a;

  --font-heading: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --color-success: #22c55e;
  --color-error: #ef4444;
  --color-warning: #f59e0b;
  --color-info: #3b82f6;

  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.3);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.4);

  --max-width: 1200px;
  --header-height: 64px;
  --sidebar-width: 260px;
}

[data-theme="dark"] {
  --brand-surface-hover: #27272a;
  --brand-border: #3f3f46;
  --brand-text: #fafafa;
  --brand-text-secondary: #a1a1aa;
  --brand-text-muted: #71717a;
}

[data-theme="light"] {
  --brand-surface-hover: #e4e4e7;
  --brand-border: #d4d4d8;
  --brand-text: #18181b;
  --brand-text-secondary: #52525b;
  --brand-text-muted: #a1a1aa;
}

