:root,html.dark{--color-primary: #08a046;--color-primary-dark: #047031;--color-primary-light: #10b981;--color-primary-lighter: rgba(8, 160, 70, .32);--color-primary-lightest: rgba(8, 160, 70, .12);--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #34d399;--color-success-lightest: rgba(16, 185, 129, .12);--color-warning: #fbbf24;--color-warning-dark: #f59e0b;--color-warning-light: #fcd34d;--color-warning-lightest: rgba(251, 191, 36, .12);--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-error-lightest: rgba(239, 68, 68, .12);--color-info: #38bdf8;--color-info-dark: #0284c7;--color-info-light: #7dd3fc;--color-info-lightest: rgba(56, 189, 248, .12);--color-bg-primary: #050505;--color-bg-secondary: #0d0d0d;--color-bg-tertiary: #141416;--color-bg-elevated: #181818;--color-bg-overlay: rgba(0, 0, 0, .6);--color-text-primary: #ffffff;--color-text-secondary: #a7a7a7;--color-text-tertiary: #8a8a8a;--color-text-disabled: #575859;--color-text-on-primary: #ffffff;--color-text-link: #10b981;--color-text-link-hover: #34d399;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .16);--color-border-subtle: rgba(255, 255, 255, .06);--color-shadow: rgba(0, 0, 0, .5);--color-shadow-strong: rgba(0, 0, 0, .7);--color-shadow-subtle: rgba(0, 0, 0, .3);--color-navbar-bg: #0d0d0d;--color-navbar-border: rgba(255, 255, 255, .08);--color-sidebar-bg: #181818;--color-sidebar-border: rgba(255, 255, 255, .06);--color-sidebar-item-hover-bg: #242424;--color-sidebar-item-active-bg: rgba(8, 160, 70, .14);--color-sidebar-item-active-color: #10b981;--color-input-bg: transparent;--color-input-disabled-bg: rgba(255, 255, 255, .04);--color-card-bg: #0d0d0d;--color-modal-bg: #141416;--color-table-row-hover-bg: rgba(255, 255, 255, .04);--color-table-row-active-bg: rgba(8, 160, 70, .12);color-scheme:dark}html.light{--color-primary: #08a046;--color-primary-dark: #047031;--color-primary-light: #10b981;--color-primary-lighter: rgba(8, 160, 70, .18);--color-primary-lightest: #ecfdf3;--color-success: #10b981;--color-success-dark: #047857;--color-success-light: #6ee7b7;--color-success-lightest: #ecfdf5;--color-warning: #f59e0b;--color-warning-dark: #b45309;--color-warning-light: #fcd34d;--color-warning-lightest: #fffbeb;--color-error: #ef4444;--color-error-dark: #b91c1c;--color-error-light: #fca5a5;--color-error-lightest: #fef2f2;--color-info: #0ea5e9;--color-info-dark: #0369a1;--color-info-light: #7dd3fc;--color-info-lightest: #f0f9ff;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-elevated: #ffffff;--color-bg-overlay: rgba(15, 23, 42, .4);--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-disabled: #d1d5db;--color-text-on-primary: #ffffff;--color-text-link: #047031;--color-text-link-hover: #08a046;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-border-subtle: #f3f4f6;--color-shadow: rgba(15, 23, 42, .08);--color-shadow-strong: rgba(15, 23, 42, .16);--color-shadow-subtle: rgba(15, 23, 42, .04);--color-navbar-bg: #ffffff;--color-navbar-border: #e5e7eb;--color-sidebar-bg: #ffffff;--color-sidebar-border: #e5e7eb;--color-sidebar-item-hover-bg: #f3f4f6;--color-sidebar-item-active-bg: #ecfdf3;--color-sidebar-item-active-color: #047031;--color-input-bg: #ffffff;--color-input-disabled-bg: #f3f4f6;--color-card-bg: #ffffff;--color-modal-bg: #ffffff;--color-table-row-hover-bg: #f9fafb;--color-table-row-active-bg: #ecfdf3;color-scheme:light}:root{--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--bg-elevated: var(--color-bg-elevated);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-tertiary);--border-color: var(--color-border);--border-color-light: var(--color-border-subtle);--border-color-dark: var(--color-border-strong);--primary: var(--color-primary);--primary-dark: var(--color-primary-dark);--primary-light: var(--color-primary-light);--primary-lightest: var(--color-primary-lightest);--success: var(--color-success);--success-dark: var(--color-success-dark);--success-lightest: var(--color-success-lightest);--warning: var(--color-warning);--warning-lightest: var(--color-warning-lightest);--error: var(--color-error);--error-dark: var(--color-error-dark);--error-light: var(--color-error-light);--error-lightest: var(--color-error-lightest);--danger: var(--color-error);--info: var(--color-info);--info-lightest: var(--color-info-lightest);--table-hover-bg: var(--color-table-row-hover-bg);--table-active-bg: var(--color-table-row-active-bg);--gray-50: var(--color-bg-secondary);--gray-100: var(--color-bg-tertiary);--gray-200: var(--color-bg-elevated);--gray-300: var(--color-border);--gray-400: var(--color-border-strong);--gray-500: var(--color-text-tertiary);--gray-600: var(--color-text-secondary);--gray-700: var(--color-text-secondary);--gray-800: var(--color-text-primary);--gray-900: var(--color-text-primary)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400;color:var(--color-text-primary);line-height:1.5}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1rem;font-weight:600;line-height:1.25;color:var(--color-text-primary)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}a{color:var(--color-text-link);text-decoration:none;transition:color .2s ease-in-out}a:hover{color:var(--color-text-link-hover);text-decoration:underline}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:.875em}strong,b{font-weight:700}em,i{font-style:italic}small{font-size:.875rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.animate-fade-in{animation:fadeIn .2s ease-in}.animate-fade-out{animation:fadeOut .2s ease-out}.animate-slide-in-up{animation:slideInUp .3s cubic-bezier(0,0,.2,1)}.animate-slide-in-down{animation:slideInDown .3s cubic-bezier(0,0,.2,1)}.animate-scale-in{animation:scaleIn .2s cubic-bezier(0,0,.2,1)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.transition-all{transition:all .2s ease-in-out}.transition-fast{transition:all .15s ease-in-out}.transition-slow{transition:all .3s ease-in-out}.transition-colors{transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out}.transition-none{transition:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out;cursor:pointer}.btn:focus{outline:none}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn{padding:.75rem 1rem;font-size:1rem;border-radius:.375rem}.btn.btn-sm{padding:.5rem .75rem;font-size:.875rem;border-radius:.375rem}.btn.btn-lg{padding:1rem 1.5rem;font-size:1.125rem;border-radius:.375rem}.btn.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.btn-primary:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-primary),black 8%);border-color:color-mix(in srgb,var(--color-primary),black 8%)}.btn.btn-primary:active:not(:disabled),.btn.btn-primary.active{background-color:color-mix(in srgb,var(--color-primary),black 14%);border-color:color-mix(in srgb,var(--color-primary),black 14%)}.btn.btn-primary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.btn.btn-secondary{background-color:#757575;color:#fff;border-color:#757575}.btn.btn-secondary:hover:not(:disabled){background-color:color-mix(in srgb,#757575,black 8%);border-color:color-mix(in srgb,#757575,black 8%)}.btn.btn-secondary:active:not(:disabled),.btn.btn-secondary.active{background-color:color-mix(in srgb,#757575,black 14%);border-color:color-mix(in srgb,#757575,black 14%)}.btn.btn-secondary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,#757575 25%,transparent)}.btn.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn.btn-success:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-success),black 8%);border-color:color-mix(in srgb,var(--color-success),black 8%)}.btn.btn-success:active:not(:disabled),.btn.btn-success.active{background-color:color-mix(in srgb,var(--color-success),black 14%);border-color:color-mix(in srgb,var(--color-success),black 14%)}.btn.btn-success:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 25%,transparent)}.btn.btn-warning{background-color:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn.btn-warning:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-warning),black 8%);border-color:color-mix(in srgb,var(--color-warning),black 8%)}.btn.btn-warning:active:not(:disabled),.btn.btn-warning.active{background-color:color-mix(in srgb,var(--color-warning),black 14%);border-color:color-mix(in srgb,var(--color-warning),black 14%)}.btn.btn-warning:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 25%,transparent)}.btn.btn-danger,.btn.btn-error{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn.btn-danger:hover:not(:disabled),.btn.btn-error:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-error),black 8%);border-color:color-mix(in srgb,var(--color-error),black 8%)}.btn.btn-danger:active:not(:disabled),.btn.btn-danger.active,.btn.btn-error:active:not(:disabled),.btn.btn-error.active{background-color:color-mix(in srgb,var(--color-error),black 14%);border-color:color-mix(in srgb,var(--color-error),black 14%)}.btn.btn-danger:focus-visible,.btn.btn-error:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 25%,transparent)}.btn.btn-info{background-color:var(--color-info);color:#fff;border-color:var(--color-info)}.btn.btn-info:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-info),black 8%);border-color:color-mix(in srgb,var(--color-info),black 8%)}.btn.btn-info:active:not(:disabled),.btn.btn-info.active{background-color:color-mix(in srgb,var(--color-info),black 14%);border-color:color-mix(in srgb,var(--color-info),black 14%)}.btn.btn-info:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-info) 25%,transparent)}.btn.btn-outline-primary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn.btn-outline-primary:hover:not(:disabled){background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.btn-outline-primary:active:not(:disabled),.btn.btn-outline-primary.active{background-color:color-mix(in srgb,var(--color-primary),black 10%);border-color:color-mix(in srgb,var(--color-primary),black 10%)}.btn.btn-outline-primary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.btn.btn-outline-secondary{background-color:transparent;color:var(--color-text-secondary);border-color:var(--color-text-secondary)}.btn.btn-outline-secondary:hover:not(:disabled){background-color:var(--color-text-secondary);color:var(--color-bg-primary);border-color:var(--color-text-secondary)}.btn.btn-outline-secondary:active:not(:disabled),.btn.btn-outline-secondary.active{background-color:color-mix(in srgb,var(--color-text-secondary),black 10%);border-color:color-mix(in srgb,var(--color-text-secondary),black 10%)}.btn.btn-outline-secondary:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-text-secondary) 25%,transparent)}.btn.btn-outline-success{background-color:transparent;color:var(--color-success);border-color:var(--color-success)}.btn.btn-outline-success:hover:not(:disabled){background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn.btn-outline-success:active:not(:disabled),.btn.btn-outline-success.active{background-color:color-mix(in srgb,var(--color-success),black 10%);border-color:color-mix(in srgb,var(--color-success),black 10%)}.btn.btn-outline-success:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 25%,transparent)}.btn.btn-outline-danger{background-color:transparent;color:var(--color-error);border-color:var(--color-error)}.btn.btn-outline-danger:hover:not(:disabled){background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn.btn-outline-danger:active:not(:disabled),.btn.btn-outline-danger.active{background-color:color-mix(in srgb,var(--color-error),black 10%);border-color:color-mix(in srgb,var(--color-error),black 10%)}.btn.btn-outline-danger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 25%,transparent)}.btn.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-text-primary)}.btn.btn-ghost:hover:not(:disabled){background-color:var(--color-sidebar-item-hover-bg)}.btn.btn-ghost:active:not(:disabled){background-color:var(--color-bg-tertiary)}.btn.btn-link{background-color:transparent;border-color:transparent;color:var(--color-primary);text-decoration:underline}.btn.btn-link:hover:not(:disabled){color:var(--color-primary-dark);background-color:transparent}.btn.btn-link:active:not(:disabled){color:var(--color-primary-dark)}.btn.btn-icon{padding:.5rem;width:36px;height:36px}.btn.btn-icon.btn-sm{width:28px;height:28px;padding:.25rem}.btn.btn-icon.btn-lg{width:44px;height:44px;padding:.75rem}.btn.btn-block{display:flex;width:100%}.btn.btn-loading{position:relative;color:transparent;pointer-events:none}.btn.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .6s linear infinite}.btn-group{display:inline-flex;gap:.5rem}.btn-group.btn-group-attached{gap:0}.btn-group.btn-group-attached .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group.btn-group-attached .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group.btn-group-attached .btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group.btn-group-attached .btn:not(:last-child){border-right-width:0}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--color-text-primary)}.form-label .required-indicator{color:var(--color-error);margin-left:.25rem}.form-input,.form-textarea,.form-select{display:block;width:100%;padding:.75rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-input-bg);background-clip:padding-box;border:1px solid var(--color-border);border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--color-text-tertiary);opacity:1}.form-input:focus,.form-textarea:focus,.form-select:focus{color:var(--color-text-primary);background-color:var(--color-input-bg);border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px var(--color-primary-lightest)}.form-input:disabled,.form-input[readonly],.form-textarea:disabled,.form-textarea[readonly],.form-select:disabled,.form-select[readonly]{background-color:var(--color-input-disabled-bg);color:var(--color-text-disabled);opacity:1;cursor:not-allowed}.form-textarea{min-height:100px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem}.form-input.is-invalid,.form-input.has-error,.form-textarea.is-invalid,.form-textarea.has-error,.form-select.is-invalid,.form-select.has-error{border-color:var(--color-error)}.form-input.is-invalid:focus,.form-input.has-error:focus,.form-textarea.is-invalid:focus,.form-textarea.has-error:focus,.form-select.is-invalid:focus,.form-select.has-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 15%,transparent)}.form-input.is-valid,.form-input.has-success,.form-textarea.is-valid,.form-textarea.has-success,.form-select.is-valid,.form-select.has-success{border-color:var(--color-success)}.form-input.is-valid:focus,.form-input.has-success:focus,.form-textarea.is-valid:focus,.form-textarea.has-success:focus,.form-select.is-valid:focus,.form-select.has-success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 15%,transparent)}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .form-input{flex:1}.input-wrapper .form-input.has-icon-start{padding-left:2.5rem}.input-wrapper .form-input.has-icon-end{padding-right:2.5rem}.input-wrapper .input-icon-start,.input-wrapper .input-icon-end{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--color-text-tertiary)}.input-wrapper .input-icon-start{left:.75rem}.input-wrapper .input-icon-end{right:.75rem}.input-wrapper .input-icon-end.error{color:var(--color-error)}.input-wrapper .input-icon-end.success{color:var(--color-success)}.form-help-text{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-text-tertiary)}.form-error-text{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-error)}.form-success-text{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-success)}.form-checkbox{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.form-checkbox .checkbox-label{font-size:1rem;color:var(--color-text-primary)}.form-checkbox:hover .checkbox-label{color:var(--color-primary)}.form-radio{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-radio input[type=radio]{width:18px;height:18px;cursor:pointer;margin:0}.form-radio .radio-label{font-size:1rem;color:var(--color-text-primary)}.form-radio:hover .radio-label{color:var(--color-primary)}.form-toggle{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-toggle .toggle-switch{position:relative;width:44px;height:24px;background-color:#e0e0e0;border-radius:9999px;transition:background-color .2s}.form-toggle .toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s}.form-toggle input[type=checkbox]{position:absolute;opacity:0}.form-toggle input[type=checkbox]:checked+.toggle-switch{background-color:var(--color-primary)}.form-toggle input[type=checkbox]:checked+.toggle-switch:after{transform:translate(20px)}.form-toggle input[type=checkbox]:disabled+.toggle-switch{opacity:.5;cursor:not-allowed}.form-toggle .toggle-label{font-size:1rem;color:var(--color-text-primary)}.form-field.has-error .form-label{color:var(--color-error)}.form-field.has-error .form-input,.form-field.has-error .form-textarea,.form-field.has-error .form-select{border-color:var(--color-error)}.form-field.has-error .form-input:focus,.form-field.has-error .form-textarea:focus,.form-field.has-error .form-select:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 15%,transparent)}.form-field.has-success .form-input,.form-field.has-success .form-textarea,.form-field.has-success .form-select{border-color:var(--color-success)}.form-field.has-success .form-input:focus,.form-field.has-success .form-textarea:focus,.form-field.has-success .form-select:focus{border-color:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 15%,transparent)}.form-inline{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.form-inline .form-group{margin-bottom:0;flex:1;min-width:200px}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:200px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.table thead th{font-weight:600;color:var(--color-text-primary);background-color:#fafafa}.table tbody tr{transition:background-color .15s ease-in-out}.table tbody tr:hover{background-color:var(--color-table-row-hover-bg)}.table tbody tr.selected,.table tbody tr.active{background-color:var(--color-table-row-active-bg)}.table.table-striped tbody tr:nth-child(2n){background-color:var(--color-bg-secondary)}.table.table-bordered,.table.table-bordered th,.table.table-bordered td{border:1px solid var(--color-border)}.modal-backdrop{position:fixed;inset:0;z-index:1040;background-color:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;animation:fadeIn .2s ease-out}.modal-backdrop.modal-backdrop-closing{animation:fadeOut .2s ease-in}.modal-container{position:relative;width:100%;max-height:calc(100vh - 2rem);background-color:var(--color-modal-bg);border-radius:.5rem;box-shadow:0 20px 25px -5px var(--color-shadow),0 8px 10px -6px var(--color-shadow);display:flex;flex-direction:column;animation:scaleIn .25s cubic-bezier(0,0,.2,1)}.modal-container.modal-closing{animation:scaleOut .2s cubic-bezier(.4,0,1,1)}.modal-container.modal-sm{max-width:400px}.modal-container.modal-md{max-width:600px}.modal-container.modal-lg{max-width:800px}.modal-container.modal-xl{max-width:1000px}.modal-container.modal-full{max-width:calc(100vw - 2rem)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2,.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.modal-header .close-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;outline:none;appearance:none}.modal-header .close-btn:focus{outline:none}.modal-header .close-btn{padding:.5rem;border-radius:.25rem;color:var(--color-text-tertiary);transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out}.modal-header .close-btn:hover{background-color:#f5f5f5;color:var(--color-text-primary)}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px;height:8px}.modal-body::-webkit-scrollbar-track{background:transparent;border-radius:9999px}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:9999px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.modal-body{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.modal-body.loading{position:relative;min-height:200px}.modal-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fffffff2;z-index:1}.modal-loading-overlay p{margin-top:1rem;color:var(--color-text-secondary);font-size:.875rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--color-border)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}.modal-slide-animation .modal-container{animation:modalSlideUp .3s cubic-bezier(0,0,.2,1)}.modal-slide-animation .modal-container.modal-closing{animation:modalSlideDown .2s cubic-bezier(.4,0,1,1)}@media(max-width:767px){.modal-container{max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.modal-container.modal-sm,.modal-container.modal-md,.modal-container.modal-lg,.modal-container.modal-xl{max-width:calc(100vw - 1rem)}.modal-header,.modal-body,.modal-footer{padding:1rem}}.modal-backdrop+.modal-backdrop{z-index:1050}.modal-backdrop+.modal-backdrop .modal-container{z-index:1060}html,body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}
