/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#2258c3;--color-primary-hover:#4775d1;--color-primary-tint:#e5ecfa;--color-primary-dark:#173b82;--color-secondary:#399;--color-secondary-tint:#e0f5f5;--color-tertiary:#ee5b2b;--color-tertiary-tint:#fdede7;--color-success:#28bd66;--color-success-tint:#e2f9eb;--color-warning:#f4af25;--color-warning-tint:#fdf4e2;--color-error:#dd3c3c;--color-error-tint:#fbe9e9;--color-info:#269dd9;--color-info-tint:#e5f3fa;--color-bg-page:#f6f7f9;--color-bg-card:#fff;--color-bg-elevated:#f9f9fb;--color-bg-input:#f3f4f6;--color-bg-hover:#f1f3f9;--color-border:#dcdfe5;--color-border-focus:#2258c3;--color-text-primary:#2b303b;--color-text-secondary:#676f7e;--color-text-muted:#9196a1;--color-text-inverse:#fff;--color-navbar-bg:#2258c3;--color-navbar-text:#fff}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{font:var(--text-body);color:var(--color-text-primary);background:radial-gradient(circle at 50% 0%,#f9fafb,var(--color-bg-page));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);margin:0;font-weight:700}h1{font:var(--text-h1)}h2{font:var(--text-h2)}h3{font:var(--text-h3)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-body);outline:none}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}}@layer components{.auth-page{min-height:100vh;padding:var(--spacing-lg);background:radial-gradient(circle at 50% 0,#f2f4f8,#f6f7f9);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:420px}.stat-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.surface-raised{background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.data-table{border-collapse:separate;border-spacing:0;background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);overflow:hidden}.data-table thead{background:var(--color-bg-elevated)}.data-table th{font:var(--text-label);color:var(--color-text-secondary);text-align:left;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.data-table td{font:var(--text-body);color:var(--color-text-primary);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.filter-tab-bar{gap:var(--spacing-xs);padding-bottom:var(--spacing-xs);display:flex;overflow-x:auto}.filter-tab{font:var(--text-label);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.filter-tab:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.filter-tab.active{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.badge{font:var(--text-small);border-radius:var(--radius-full);align-items:center;gap:4px;padding:4px 10px;font-weight:500;display:inline-flex}.badge-success{background:var(--color-success-tint);color:#1b7e44}.badge-warning{background:var(--color-warning-tint);color:#aa7409}.badge-error{background:var(--color-error-tint);color:#ad1f1f}.badge-info{background:var(--color-info-tint);color:#1b6e98}.badge-primary{background:var(--color-primary-tint);color:var(--color-primary-dark)}.badge-secondary{background:var(--color-secondary-tint);color:#206060}.hover-lift{transition:all var(--transition-normal)}.hover-lift:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.skeleton-line{background:linear-gradient(90deg,var(--color-border) 0%,var(--color-bg-hover) 50%,var(--color-border) 100%);border-radius:var(--radius-sm);background-size:200% 100%;height:16px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-circle{background:linear-gradient(90deg,var(--color-border) 0%,var(--color-bg-hover) 50%,var(--color-border) 100%);background-size:200% 100%;border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn{font:var(--text-body-bold);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:var(--spacing-xs);padding:12px 24px;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover{box-shadow:var(--shadow-md);background:#d02525;transform:translateY(-1px)}.input{font:var(--text-body);color:var(--color-text-primary);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;transition:all var(--transition-fast);padding:12px 16px}.input:focus{background:var(--color-bg-card);border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2258c31a}.input::placeholder{color:var(--color-text-muted)}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.right-3{right:calc(var(--spacing) * 3)}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.z-10{z-index:10}.col-span-full{grid-column:1/-1}.m-0{margin:0}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[var\(--spacing-lg\)\]{margin-top:var(--spacing-lg)}.mt-\[var\(--spacing-md\)\]{margin-top:var(--spacing-md)}.mt-\[var\(--spacing-xs\)\]{margin-top:var(--spacing-xs)}.mr-1{margin-right:var(--spacing)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-auto{margin-right:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-\[var\(--spacing-lg\)\]{margin-bottom:var(--spacing-lg)}.mb-\[var\(--spacing-md\)\]{margin-bottom:var(--spacing-md)}.mb-\[var\(--spacing-sm\)\]{margin-bottom:var(--spacing-sm)}.mb-\[var\(--spacing-xl\)\]{margin-bottom:var(--spacing-xl)}.mb-\[var\(--spacing-xs\)\]{margin-bottom:var(--spacing-xs)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.\!h-3{height:calc(var(--spacing) * 3)!important}.\!h-20{height:calc(var(--spacing) * 20)!important}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\[32px\]{height:32px}.h-\[180px\]{height:180px}.h-\[220px\]{height:220px}.h-\[320px\]{height:320px}.h-full{height:100%}.min-h-\[calc\(100vh-var\(--height-navbar\)\)\]{min-height:calc(100vh - var(--height-navbar))}.min-h-screen{min-height:100vh}.\!w-3{width:calc(var(--spacing) * 3)!important}.\!w-20{width:calc(var(--spacing) * 20)!important}.\!w-full{width:100%!important}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing) * 2)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-\[74\%\]{width:74%}.w-\[88\%\]{width:88%}.w-\[96px\]{width:96px}.w-full{width:100%}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[180px\]{max-width:180px}.max-w-\[1400px\]{max-width:1400px}.min-w-0{min-width:0}.min-w-\[640px\]{min-width:640px}.min-w-\[840px\]{min-width:840px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[var\(--card-gap\)\]{gap:var(--card-gap)}.gap-\[var\(--spacing-md\)\]{gap:var(--spacing-md)}.gap-\[var\(--spacing-sm\)\]{gap:var(--spacing-sm)}.gap-\[var\(--spacing-xs\)\]{gap:var(--spacing-xs)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[9999px\]{border-radius:9999px}.rounded-\[var\(--radius-full\)\]{border-radius:var(--radius-full)}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.bg-\[var\(--color-bg-card\)\]{background-color:var(--color-bg-card)}.bg-\[var\(--color-bg-hover\)\]{background-color:var(--color-bg-hover)}.bg-\[var\(--color-bg-input\)\]{background-color:var(--color-bg-input)}.bg-\[var\(--color-bg-page\)\]{background-color:var(--color-bg-page)}.bg-\[var\(--color-error-tint\)\]{background-color:var(--color-error-tint)}.bg-\[var\(--color-primary-tint\)\]{background-color:var(--color-primary-tint)}.bg-\[var\(--color-success-tint\)\]{background-color:var(--color-success-tint)}.bg-\[var\(--color-tertiary-tint\)\]{background-color:var(--color-tertiary-tint)}.fill-\[var\(--color-error\)\]{fill:var(--color-error)}.fill-\[var\(--color-success\)\]{fill:var(--color-success)}.object-cover{object-fit:cover}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-\[var\(--spacing-lg\)\]{padding:var(--spacing-lg)}.p-\[var\(--spacing-md\)\]{padding:var(--spacing-md)}.p-\[var\(--spacing-page\)\]{padding:var(--spacing-page)}.\!px-3{padding-inline:calc(var(--spacing) * 3)!important}.\!px-4{padding-inline:calc(var(--spacing) * 4)!important}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[var\(--spacing-lg\)\]{padding-inline:var(--spacing-lg)}.px-\[var\(--spacing-md\)\]{padding-inline:var(--spacing-md)}.px-\[var\(--spacing-page\)\]{padding-inline:var(--spacing-page)}.\!py-1{padding-block:var(--spacing)!important}.\!py-2{padding-block:calc(var(--spacing) * 2)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[64px\]{padding-block:64px}.py-\[var\(--spacing-lg\)\]{padding-block:var(--spacing-lg)}.py-\[var\(--spacing-md\)\]{padding-block:var(--spacing-md)}.py-\[var\(--spacing-xl\)\]{padding-block:var(--spacing-xl)}.py-\[var\(--spacing-xs\)\]{padding-block:var(--spacing-xs)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-right{text-align:right}.align-text-bottom{vertical-align:text-bottom}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\!text-\[13px\]{font-size:13px!important}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-error\)\]{color:var(--color-error)}.text-\[var\(--color-info\)\]{color:var(--color-info)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-tertiary\)\]{color:var(--color-tertiary)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-warning\)\]{color:var(--color-warning)}.text-\[var\(--text-label\)\]{color:var(--text-label)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.no-underline{text-decoration-line:none}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-md\)\]{--tw-shadow:var(--shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-\[var\(--color-bg-hover\)\]:hover{background-color:var(--color-bg-hover)}}@media (min-width:40rem){.sm\:\!w-\[240px\]{width:240px!important}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:px-\[var\(--spacing-page\)\]{padding-inline:var(--spacing-page)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--height-navbar:64px;--spacing-page:32px;--card-gap:24px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--color-primary:#2258c3;--color-primary-hover:#4775d1;--color-primary-tint:#e5ecfa;--color-primary-dark:#173b82;--color-secondary:#399;--color-secondary-tint:#e0f5f5;--color-tertiary:#ee5b2b;--color-tertiary-tint:#fdede7;--color-success:#28bd66;--color-success-tint:#e2f9eb;--color-warning:#f4af25;--color-warning-tint:#fdf4e2;--color-error:#dd3c3c;--color-error-tint:#fbe9e9;--color-info:#269dd9;--color-info-tint:#e5f3fa;--color-bg-page:#f6f7f9;--color-bg-card:#fff;--color-bg-elevated:#f9f9fb;--color-bg-input:#f3f4f6;--color-bg-hover:#f1f3f9;--color-border:#dcdfe5;--color-border-focus:var(--color-primary);--color-text-primary:#2b303b;--color-text-secondary:#676f7e;--color-text-muted:#9196a1;--color-text-inverse:#fff;--color-navbar-bg:#2258c3;--color-navbar-text:#fff;--color-navbar-hover:#4775d1;--font-heading:"Bricolage Grotesque", "Noto Sans SC", sans-serif;--font-body:"Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--text-h1:700 32px/1.3 var(--font-heading);--text-h2:700 24px/1.3 var(--font-heading);--text-h3:700 18px/1.3 var(--font-heading);--text-body:400 15px/1.6 var(--font-body);--text-body-bold:700 15px/1.6 var(--font-body);--text-small:400 13px/1.5 var(--font-body);--text-label:500 13px/1.4 var(--font-body);--shadow-sm:0 1px 2px #173b8214, 0 1px 4px #173b820a;--shadow-md:0 2px 4px #173b8214, 0 4px 12px #173b820f, 0 8px 24px #173b820a;--shadow-lg:0 4px 8px #173b821a, 0 8px 24px #173b8214, 0 16px 48px #173b820f;--shadow-hover:0 4px 12px #173b821f, 0 12px 32px #173b821a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px}*{border-color:var(--color-border)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media (hover: none) and (pointer: coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toaster] [data-close-button-position=top-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(-35%, -35%)}[data-sonner-toaster] [data-close-button-position=top-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: 0;--toast-close-button-bottom: unset;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster] [data-close-button-position=bottom-left]{--toast-close-button-left: 0;--toast-close-button-right: unset;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(-35%, 35%)}[data-sonner-toaster] [data-close-button-position=bottom-right]{--toast-close-button-left: unset;--toast-close-button-right: 0;--toast-close-button-top: unset;--toast-close-button-bottom: 0;--toast-close-button-transform: translate(35%, 35%)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-left);right:var(--toast-close-button-right);top:var(--toast-close-button-top);bottom:var(--toast-close-button-bottom);height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--toasts-before) * .05 + 1));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:calc(var(--mobile-offset-bottom) + max(env(safe-area-inset-bottom),0px))}[data-sonner-toaster][data-y-position=top]{top:calc(var(--mobile-offset-top) + max(env(safe-area-inset-top),0px))}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;top:0;right:0;bottom:0;left:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}.app-navbar[data-v-ff763f59]{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--height-navbar);background:var(--color-navbar-bg);color:var(--color-navbar-text);display:flex;align-items:center;padding:0 var(--spacing-lg);box-shadow:var(--shadow-md)}.app-navbar__brand[data-v-ff763f59]{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.app-navbar__brand-icon[data-v-ff763f59]{width:28px;height:28px;color:var(--color-navbar-text)}.app-navbar__title[data-v-ff763f59]{font:var(--text-h3);color:var(--color-navbar-text);white-space:nowrap;letter-spacing:.5px}.app-navbar__center[data-v-ff763f59]{flex:1;display:flex;align-items:center;justify-content:center}.app-navbar__user[data-v-ff763f59]{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.app-navbar__avatar-wrap[data-v-ff763f59]{position:relative;width:36px;height:36px;flex-shrink:0}.app-navbar__avatar[data-v-ff763f59]{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover;border:2px solid hsla(0,0%,100%,.3)}.app-navbar__avatar-fallback[data-v-ff763f59]{display:flex;width:36px;height:36px;border-radius:var(--radius-full);background:#fff3;align-items:center;justify-content:center;border:2px solid hsla(0,0%,100%,.3)}.app-navbar__name[data-v-ff763f59]{font:var(--text-body-bold);color:var(--color-navbar-text);white-space:nowrap}.app-navbar__badge[data-v-ff763f59]{font-size:12px;font-weight:500;padding:2px 10px;border-radius:var(--radius-full);white-space:nowrap;line-height:1.6}.app-navbar__logout[data-v-ff763f59]{display:inline-flex;align-items:center;gap:6px;font:var(--text-body);font-size:14px;color:var(--color-navbar-text);background:transparent;border:1px solid hsla(0,0%,100%,.3);border-radius:var(--radius-md);padding:6px 16px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-left:var(--spacing-xs)}.app-navbar__logout[data-v-ff763f59]:hover{color:var(--color-error);border-color:var(--color-error);background:#fffffff2}.app-navbar__link[data-v-ff763f59]{color:var(--color-navbar-text);opacity:.8;transition:opacity var(--transition-fast);text-decoration:none}.app-navbar__link[data-v-ff763f59]:hover{opacity:1;color:var(--color-navbar-text)}.app-navbar__link--active[data-v-ff763f59]{opacity:1;font-weight:700;border-bottom:2px solid var(--color-navbar-text)}@media (max-width: 640px){.app-navbar[data-v-ff763f59]{padding:0 var(--spacing-md)}.app-navbar__name[data-v-ff763f59]{display:none}.app-navbar__title[data-v-ff763f59]{font-size:16px}}.teacher-avatar[data-v-93dcbd63]{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover}.teacher-avatar--fallback[data-v-93dcbd63]{display:flex;align-items:center;justify-content:center;background:var(--color-primary-tint);color:var(--color-primary-dark);font:var(--text-label)}.chart-container[data-v-5dfcd23f]{height:280px;width:100%}@keyframes countUp-43e2f8bd{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stat-number[data-v-43e2f8bd]{animation:countUp-43e2f8bd .5s ease-out forwards}.stat-icon-wrap[data-v-43e2f8bd]{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-toggle[data-v-43e2f8bd]{transition:all var(--transition-fast)}.status-toggle[data-v-43e2f8bd]:hover:not(:disabled){transform:scale(1.05)}.quick-action-card[data-v-4bb7c721]{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal);cursor:pointer;border:1px solid var(--color-border)}.quick-action-card[data-v-4bb7c721]:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--color-primary)}.quick-action-card .icon-wrapper[data-v-4bb7c721]{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.welcome-gradient[data-v-c2216178]{background:linear-gradient(135deg,var(--color-primary) 0%,hsl(220,60%,55%) 50%,var(--color-secondary) 100%)}.step-circle[data-v-1ad14f36]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:var(--text-label);font-weight:700;flex-shrink:0;transition:all var(--transition-normal)}.step-circle.active[data-v-1ad14f36]{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:0 0 0 4px #2258c326}.step-circle.completed[data-v-1ad14f36]{background:var(--color-success);color:var(--color-text-inverse)}.step-circle.inactive[data-v-1ad14f36]{background:var(--color-bg-input);color:var(--color-text-muted);border:2px solid var(--color-border)}.step-connector-line[data-v-1ad14f36]{flex:1;height:2px;background:var(--color-border);transition:background var(--transition-normal);min-width:24px}.step-connector-line.done[data-v-1ad14f36]{background:var(--color-success)}.step-panel[data-v-59522457]{animation:fadeSlideIn-59522457 .3s ease-out}@keyframes fadeSlideIn-59522457{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes successPop-59522457{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.success-icon-anim[data-v-59522457]{animation:successPop-59522457 .5s cubic-bezier(.34,1.56,.64,1)}.code-display[data-v-59522457]{letter-spacing:.4em;font-variant-numeric:tabular-nums}.toggle-password-btn[data-v-59522457]:hover,.footer-back-link[data-v-59522457]:hover{color:var(--color-primary)}.login-tabs[data-v-d0cfa1a0]{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-lg)}.login-tab[data-v-d0cfa1a0]{flex:1;font:var(--text-body-bold);color:var(--color-text-secondary);background:none;border:none;padding:var(--spacing-md) var(--spacing-sm);cursor:pointer;position:relative;transition:color var(--transition-fast);text-align:center}.login-tab[data-v-d0cfa1a0]:hover,.login-tab.active[data-v-d0cfa1a0]{color:var(--color-primary)}.login-tab.active[data-v-d0cfa1a0]:after{content:"";position:absolute;bottom:-2px;left:20%;right:20%;height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.input-group[data-v-d0cfa1a0]{position:relative;margin-bottom:var(--spacing-md)}.input-group .input-icon[data-v-d0cfa1a0]{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.input-group .input[data-v-d0cfa1a0]{padding-left:42px}.input-group-code[data-v-d0cfa1a0]{display:flex;gap:var(--spacing-sm)}.input-group-code .input[data-v-d0cfa1a0]{flex:1}.captcha-section[data-v-d0cfa1a0]{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.captcha-canvas[data-v-d0cfa1a0]{width:120px;height:44px;border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);flex-shrink:0;transition:box-shadow var(--transition-fast)}.captcha-canvas[data-v-d0cfa1a0]:hover{box-shadow:0 0 0 2px var(--color-primary-tint)}.captcha-hint[data-v-d0cfa1a0]{font:var(--text-small);color:var(--color-text-muted);white-space:nowrap}.error-msg[data-v-d0cfa1a0]{background:var(--color-error-tint);color:#ad1f1f;font:var(--text-small);font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.error-msg--success[data-v-d0cfa1a0]{background:var(--color-success-tint);color:#1b7e44}.brand-icon[data-v-d0cfa1a0]{width:56px;height:56px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);box-shadow:0 4px 12px #2258c34d}.send-code-btn[data-v-d0cfa1a0]{font:var(--text-small);font-weight:500;color:var(--color-primary);background:var(--color-primary-tint);border:1px solid transparent;border-radius:var(--radius-md);padding:12px 16px;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.send-code-btn[data-v-d0cfa1a0]:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-inverse)}.send-code-btn[data-v-d0cfa1a0]:disabled{color:var(--color-text-muted);background:var(--color-bg-input);cursor:not-allowed}.btn-login[data-v-d0cfa1a0]{width:100%;justify-content:center;padding:14px 24px;font:var(--text-body-bold);font-size:16px}.btn-login[data-v-d0cfa1a0]:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}@keyframes shake-d0cfa1a0{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.shake[data-v-d0cfa1a0]{animation:shake-d0cfa1a0 .3s ease-in-out}@media (max-width: 640px){.captcha-section[data-v-d0cfa1a0]{flex-wrap:wrap}.captcha-canvas[data-v-d0cfa1a0]{width:100%;max-width:160px;height:auto}.captcha-hint[data-v-d0cfa1a0]{white-space:normal;line-height:1.4}.input-group-code[data-v-d0cfa1a0]{flex-direction:column}.send-code-btn[data-v-d0cfa1a0]{width:100%;justify-content:center}}.modal-overlay[data-v-4520b56e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b303b80;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-content[data-v-4520b56e]{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:520px;max-height:min(90vh,900px);overflow:auto}.profile-edit-grid[data-v-4520b56e]{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.profile-edit-grid .full-width[data-v-4520b56e]{grid-column:1 / -1}.modal-enter-active[data-v-4520b56e],.modal-leave-active[data-v-4520b56e]{transition:opacity var(--transition-normal)}.modal-enter-active .modal-content[data-v-4520b56e],.modal-leave-active .modal-content[data-v-4520b56e]{transition:transform var(--transition-normal)}.modal-enter-from[data-v-4520b56e],.modal-leave-to[data-v-4520b56e]{opacity:0}.modal-enter-from .modal-content[data-v-4520b56e],.modal-leave-to .modal-content[data-v-4520b56e]{transform:translateY(20px)}@media (max-width: 640px){.modal-content[data-v-4520b56e]{padding:var(--spacing-lg)}.profile-edit-grid[data-v-4520b56e]{grid-template-columns:1fr}}.task-card[data-v-531ad174]{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border);transition:all var(--transition-normal);cursor:pointer}.task-card[data-v-531ad174]:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--color-primary)}.task-card[data-v-531ad174]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.progress-bar-track[data-v-531ad174]{height:6px;background:var(--color-bg-input);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill[data-v-531ad174]{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.welcome-banner[data-v-c2500851]{background:linear-gradient(135deg,var(--color-primary) 0%,hsl(240,65%,55%) 50%,hsl(200,70%,50%) 100%);border-radius:var(--radius-xl);color:var(--color-text-inverse);padding:var(--spacing-xl) var(--spacing-xl);position:relative;overflow:hidden}.welcome-banner[data-v-c2500851]:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,hsla(0,0%,100%,.12) 0%,transparent 70%);border-radius:50%}.welcome-banner[data-v-c2500851]:after{content:"";position:absolute;bottom:-30%;left:20%;width:200px;height:200px;background:radial-gradient(circle,hsla(0,0%,100%,.08) 0%,transparent 70%);border-radius:50%}.stat-icon-box[data-v-c2500851]{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.task-card[data-v-c2500851]{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border);transition:all var(--transition-normal)}.modal-overlay[data-v-c2500851]{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b303b80;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-content[data-v-c2500851]{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);width:100%;max-width:520px;max-height:min(90vh,900px);overflow:hidden}.modal-content--wide[data-v-c2500851]{max-width:980px}.modal-scroll-content[data-v-c2500851]{overflow:auto;max-height:calc(min(90vh,900px) - 160px);padding-right:2px}.progress-bar-track[data-v-c2500851]{height:6px;background:var(--color-bg-input);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill[data-v-c2500851]{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.modal-enter-active[data-v-c2500851],.modal-leave-active[data-v-c2500851]{transition:opacity var(--transition-normal)}.modal-enter-active .modal-content[data-v-c2500851],.modal-leave-active .modal-content[data-v-c2500851]{transition:transform var(--transition-normal)}.modal-enter-from[data-v-c2500851],.modal-leave-to[data-v-c2500851]{opacity:0}.modal-enter-from .modal-content[data-v-c2500851],.modal-leave-to .modal-content[data-v-c2500851]{transform:translateY(20px)}@media (max-width: 768px){.teacher-dashboard-shell[data-v-c2500851]{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.welcome-banner[data-v-c2500851],.modal-content[data-v-c2500851]{padding:var(--spacing-lg)}}
