:root{--text-primary: #000000;--text-secondary: #707070;--text-invert: #FFFFFF;--text-error: #DB1C1C;--text-success: #059669;--text-warning: #D97706;--background-primary: #FFFFFF;--background-secondary: #F0EBF8;--background-table: #FFFFFF;--background-headertable: #F5F5F5;--background-contenttable: #FCFCFC;--background-overlay: rgba(0, 0, 0, .5);--button-active: #492982;--button-disabled: #D0C2E9;--button-error: #DB1C1C;--button-success: #059669;--text-button: #673AB7;--stroke-divider: #E1E1E1;--stroke-input: #D1D5DB;--stroke-focus: #492982;--font-family-main: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Source Code Pro", monospace;--font-11-size: 11px;--font-12-size: 12px;--font-14-size: 14px;--font-16-size: 16px;--font-18-size: 18px;--font-20-size: 20px;--font-24-size: 24px;--font-28-size: 28px;--font-32-size: 32px;--font-40-size: 40px;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--line-none: 1;--line-tight: 1.25;--line-normal: 1.4;--line-base: 1.5;--line-relaxed: 1.6;--line-loose: 2;--letter-tighter: -.05em;--letter-tight: -.025em;--letter-normal: 0;--letter-wide: .025em;--letter-wider: .05em;--letter-widest: .1em;--gap-x1: 4px;--gap-x2: 8px;--gap-x3: 12px;--gap-x4: 16px;--gap-x5: 24px;--gap-x6: 32px;--gap-x7: 40px;--gap-x8: 48px;--gap-x9: 56px;--gap-x10: 64px;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}@media (prefers-color-scheme: dark){:root{--text-primary: #F9FAFB;--text-secondary: #9CA3AF;--text-invert: #111827;--background-primary: #111827;--background-secondary: #1F2937;--background-table: #111827;--background-headertable: #1F2937;--background-contenttable: #1F2937;--stroke-divider: #374151;--stroke-input: #4B5563}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{line-height:var(--line-base);-webkit-text-size-adjust:100%;font-feature-settings:"cv02","cv03","cv04","cv11";font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{font-family:var(--font-family-main);font-feature-settings:"liga" off,"clig" off;font-size:var(--font-14-size);font-weight:var(--font-regular);line-height:var(--line-base);letter-spacing:var(--letter-normal);color:var(--text-primary);background-color:var(--background-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.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}.hidden{display:none!important}.invisible{visibility:hidden}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.inline-block{display:inline-block}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1 0%}.p-0{padding:0}.p-1{padding:var(--gap-x1)}.p-2{padding:var(--gap-x2)}.p-3{padding:var(--gap-x3)}.p-4{padding:var(--gap-x4)}.p-5{padding:var(--gap-x5)}.p-6{padding:var(--gap-x6)}.m-0{margin:0}.m-1{margin:var(--gap-x1)}.m-2{margin:var(--gap-x2)}.m-3{margin:var(--gap-x3)}.m-4{margin:var(--gap-x4)}.m-5{margin:var(--gap-x5)}.m-6{margin:var(--gap-x6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--gap-x1)}.mt-2{margin-top:var(--gap-x2)}.mt-3{margin-top:var(--gap-x3)}.mt-4{margin-top:var(--gap-x4)}.mt-5{margin-top:var(--gap-x5)}.mt-6{margin-top:var(--gap-x6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--gap-x1)}.mb-2{margin-bottom:var(--gap-x2)}.mb-3{margin-bottom:var(--gap-x3)}.mb-4{margin-bottom:var(--gap-x4)}.mb-5{margin-bottom:var(--gap-x5)}.mb-6{margin-bottom:var(--gap-x6)}.ml-0{margin-left:0}.ml-1{margin-left:var(--gap-x1)}.ml-2{margin-left:var(--gap-x2)}.ml-3{margin-left:var(--gap-x3)}.ml-4{margin-left:var(--gap-x4)}.mr-0{margin-right:0}.mr-1{margin-right:var(--gap-x1)}.mr-2{margin-right:var(--gap-x2)}.mr-3{margin-right:var(--gap-x3)}.mr-4{margin-right:var(--gap-x4)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-11{font-size:var(--font-11-size)}.text-12{font-size:var(--font-12-size)}.text-14{font-size:var(--font-14-size)}.text-16{font-size:var(--font-16-size)}.text-18{font-size:var(--font-18-size)}.text-20{font-size:var(--font-20-size)}.text-24{font-size:var(--font-24-size)}.text-28{font-size:var(--font-28-size)}.text-32{font-size:var(--font-32-size)}.text-40{font-size:var(--font-40-size)}.font-light{font-weight:var(--font-light)}.font-regular{font-weight:var(--font-regular)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-invert{color:var(--text-invert)}.text-error{color:var(--text-error)}.text-success{color:var(--text-success)}.text-warning{color:var(--text-warning)}.text-button{color:var(--text-button)}.bg-primary{background-color:var(--background-primary)}.bg-secondary{background-color:var(--background-secondary)}.bg-table{background-color:var(--background-table)}.bg-headertable{background-color:var(--background-headertable)}.bg-contenttable{background-color:var(--background-contenttable)}.border{border:1px solid var(--stroke-divider)}.border-t{border-top:1px solid var(--stroke-divider)}.border-b{border-bottom:1px solid var(--stroke-divider)}.border-l{border-left:1px solid var(--stroke-divider)}.border-r{border-right:1px solid var(--stroke-divider)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-x2);padding:.6rem 1.2rem;border:none;border-radius:var(--radius-md);font-family:var(--font-family-main);font-size:var(--font-14-size);font-weight:var(--font-medium);line-height:1;text-decoration:none;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 3px #4929821a}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn.btn-sm{padding:.4rem .8rem;font-size:var(--font-12-size)}.btn.btn-lg{padding:.8rem 1.6rem;font-size:var(--font-16-size)}.btn.btn-xl{padding:1rem 2rem;font-size:var(--font-18-size)}.btn.btn-active{background-color:var(--button-active);color:var(--text-invert)}.btn.btn-active:hover:not(:disabled){background-color:#3a1f66;transform:translateY(-1px)}.btn.btn-active:active{transform:translateY(0)}.btn.btn-secondary{background-color:transparent;color:var(--text-button);border:1px solid var(--stroke-divider)}.btn.btn-secondary:hover:not(:disabled){background-color:var(--background-secondary);border-color:var(--button-active)}.btn.btn-error{background-color:var(--button-error);color:var(--text-invert)}.btn.btn-error:hover:not(:disabled){background-color:#b91c1c}.btn.btn-success{background-color:var(--button-success);color:var(--text-invert)}.btn.btn-success:hover:not(:disabled){background-color:#047857}.btn.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn.btn-ghost:hover:not(:disabled){background-color:var(--background-secondary)}.form-group{margin-bottom:var(--gap-x5)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--gap-x2);font-size:var(--font-14-size)}.form-sublabel{color:var(--text-secondary);font-size:var(--font-12-size);margin-bottom:var(--gap-x3);line-height:var(--line-relaxed)}.form-control{width:100%;padding:var(--gap-x3);border:1px solid var(--stroke-divider);border-radius:var(--radius-md);font-family:var(--font-family-main);font-size:var(--font-14-size);background-color:var(--background-primary);color:var(--text-primary);transition:all var(--transition-base)}.form-control:focus{outline:none;border-color:var(--stroke-focus);box-shadow:0 0 0 3px #4929821a}.form-control::-moz-placeholder{color:var(--text-secondary)}.form-control::placeholder{color:var(--text-secondary)}.form-control:disabled{opacity:.6;cursor:not-allowed;background-color:var(--background-secondary)}.form-control.is-invalid{border-color:var(--text-error)}.form-control.is-valid{border-color:var(--text-success)}.form-control-sm{padding:var(--gap-x2);font-size:var(--font-12-size)}.form-control-lg{padding:var(--gap-x4);font-size:var(--font-16-size)}.form-error{color:var(--text-error);font-size:var(--font-12-size);margin-top:var(--gap-x1)}.form-help{color:var(--text-secondary);font-size:var(--font-12-size);margin-top:var(--gap-x1)}.card{background-color:var(--background-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:var(--gap-x5);border-bottom:1px solid var(--stroke-divider);background-color:var(--background-headertable)}.card-body{padding:var(--gap-x5)}.card-footer{padding:var(--gap-x5);border-top:1px solid var(--stroke-divider);background-color:var(--background-headertable)}.alert{padding:var(--gap-x4);border-radius:var(--radius-md);margin-bottom:var(--gap-x4);font-size:var(--font-14-size)}.alert.alert-info{background-color:#ebf8ff;border:1px solid #BEE3F8;color:#2a69ac}.alert.alert-success{background-color:#f0fdf4;border:1px solid #BBF7D0;color:#166534}.alert.alert-warning{background-color:#fffbeb;border:1px solid #FED7AA;color:#92400e}.alert.alert-error{background-color:#fef2f2;border:1px solid #FECACA;color:#991b1b}.loading{display:inline-block;width:20px;height:20px;border:2px solid var(--stroke-divider);border-radius:50%;border-top-color:var(--button-active);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background-color:var(--stroke-divider);margin:var(--gap-x5) 0}.divider-vertical{width:1px;background-color:var(--stroke-divider);margin:0 var(--gap-x3)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--gap-x4);padding-right:var(--gap-x4)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md);padding-left:var(--gap-x6);padding-right:var(--gap-x6)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}@media (min-width: 1536px){.container{max-width:var(--container-2xl)}}@media (max-width: 639px){.hidden-sm{display:none!important}}@media (min-width: 640px) and (max-width: 767px){.hidden-md{display:none!important}}@media (min-width: 768px) and (max-width: 1023px){.hidden-lg{display:none!important}}@media (min-width: 1024px){.hidden-xl{display:none!important}}.fade-in{animation:fadeIn .3s ease-in-out}.fade-out{animation:fadeOut .3s ease-in-out}.slide-in-right{animation:slideInRight .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.bounce-in{animation:bounceIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@media print{.no-print{display:none!important}.page-break{page-break-after:always}.page-break-inside{page-break-inside:avoid}}
