.theme-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--baseAlt1Color);border:1px solid var(--baseAlt2Color);border-radius:var(--baseRadius);color:var(--txtPrimaryColor);cursor:pointer;transition:all var(--baseAnimationSpeed) ease;font-size:var(--smFontSize);font-family:var(--baseFontFamily);margin-left:auto}.theme-toggle:hover{background:var(--baseAlt2Color);border-color:var(--baseAlt3Color)}.theme-toggle:active{transform:scale(.98)}.theme-toggle svg{width:20px;height:20px}.theme-label{text-transform:capitalize;font-weight:500}.split-panel{display:flex;height:100%;width:100%;position:relative;background:var(--bodyColor)}.split-panel.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.split-panel-left,.split-panel-right{height:100%;overflow:hidden;position:relative}.split-panel-left{background:var(--baseColor);border-right:1px solid var(--baseAlt2Color)}.split-panel-right{flex:1;background:var(--bodyColor)}.split-panel-divider{width:4px;height:100%;background:var(--baseAlt2Color);cursor:col-resize;position:relative;transition:background var(--baseAnimationSpeed)}.split-panel-divider:hover{background:var(--baseAlt3Color)}.divider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:var(--baseAlt4Color);border-radius:2px;opacity:0;transition:opacity var(--baseAnimationSpeed)}.split-panel-divider:hover .divider-handle,.split-panel.dragging .divider-handle{opacity:1}@media (max-width: 768px){.split-panel{flex-direction:column}.split-panel-left,.split-panel-right{width:100%!important;border-right:none;border-bottom:1px solid var(--baseAlt2Color)}.split-panel-divider{display:none}}.bib-editor{display:flex;flex-direction:column;height:100%;padding:var(--smSpacing)}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--xsSpacing)}.editor-header h2{font-size:var(--lgFontSize);font-weight:600;margin:0}.editor-actions{display:flex;gap:8px}.file-upload-label{display:inline-block}.file-input-hidden{display:none}.editor-container{flex:1;position:relative;border:2px solid var(--baseAlt2Color);border-radius:var(--baseRadius);overflow:hidden;background:var(--baseColor);transition:border-color var(--baseAnimationSpeed)}.editor-container.drag-active{border-color:var(--primaryColor);background:var(--baseAlt1Color)}.drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlayColor);pointer-events:none;z-index:10}.drop-content{text-align:center;color:var(--txtHintColor)}.drop-icon{font-size:48px;margin-bottom:var(--xsSpacing)}.drop-hint{font-size:var(--smFontSize);margin-top:4px}.editor-wrapper{display:flex;height:100%}.line-numbers{width:50px;background:var(--baseAlt1Color);padding:var(--xsSpacing) 0;text-align:right;color:var(--txtHintColor);font-family:var(--monospaceFontFamily);font-size:var(--smFontSize);line-height:1.5;overflow:hidden;flex-shrink:0}.line-number{padding-right:10px;height:calc(var(--smFontSize) * 1.5)}.editor-textarea{flex:1;padding:var(--xsSpacing);border:none;outline:none;font-family:var(--monospaceFontFamily);font-size:var(--smFontSize);line-height:1.5;resize:none;background:transparent;color:var(--txtPrimaryColor)}.editor-textarea::placeholder{color:var(--txtHintColor)}.editor-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--xsSpacing);padding-top:var(--xsSpacing);border-top:1px solid var(--baseAlt2Color)}.editor-textarea{overflow-y:auto;overflow-x:auto}.line-numbers{overflow-y:hidden;overflow-x:hidden}.editor-textarea::-webkit-scrollbar{width:8px}.editor-textarea::-webkit-scrollbar-track{background:var(--baseAlt1Color)}.editor-textarea::-webkit-scrollbar-thumb{background:var(--baseAlt3Color);border-radius:var(--baseRadius)}.editor-textarea::-webkit-scrollbar-thumb:hover{background:var(--baseAlt4Color)}.validation-card{background:var(--baseColor);border:1px solid var(--baseAlt2Color);border-radius:var(--baseRadius);transition:all var(--baseAnimationSpeed);overflow:hidden}.validation-card:hover{border-color:var(--baseAlt3Color);box-shadow:0 2px 4px var(--shadowColor)}.validation-card.has-issues{border-left:4px solid var(--dangerColor)}.validation-card.is-selected{background:var(--baseAlt1Color)}.validation-card.is-expanded{box-shadow:0 4px 8px var(--shadowColor)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--xsSpacing);border-bottom:1px solid var(--baseAlt1Color)}.card-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.entry-id{margin:0;font-size:var(--baseFontSize);font-weight:600;color:var(--primaryColor);word-break:break-word}.card-body{padding:var(--xsSpacing)}.entry-title{margin:0 0 8px;font-size:var(--baseFontSize);color:var(--txtPrimaryColor);line-height:1.4}.card-meta{display:flex;flex-wrap:wrap;gap:var(--xsSpacing);margin-bottom:12px;font-size:var(--smFontSize);color:var(--txtHintColor)}.meta-item{display:block}.meta-item strong{color:var(--txtPrimaryColor)}.card-status{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.issue-badges{display:flex;gap:6px;flex-wrap:wrap}.verification-badge{display:flex;align-items:center}.card-details{padding:0 var(--xsSpacing) var(--xsSpacing);border-top:1px solid var(--baseAlt1Color);animation:slideDown var(--entranceAnimationSpeed)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.details-section{margin-top:var(--smSpacing)}.details-section h4{margin:0 0 8px;font-size:var(--smFontSize);font-weight:600;color:var(--txtHintColor)}.problems-list{display:flex;flex-direction:column;gap:6px}.problem-item{display:flex;align-items:start;gap:8px;padding:8px;border-radius:var(--baseRadius);background:var(--baseAlt1Color);font-size:var(--smFontSize)}.problem-item.problem-error{background:var(--dangerAltColor);border:1px solid var(--dangerColor)}.problem-item.problem-warning{background:var(--warningAltColor);border:1px solid var(--warningColor)}.problem-item.problem-info{background:var(--infoAltColor);border:1px solid var(--infoColor)}.problem-icon{font-size:16px;flex-shrink:0}.problem-content{flex:1}.problem-message{margin-bottom:2px}.problem-field{font-style:italic}.verification-details{padding:var(--xsSpacing);border-radius:var(--baseRadius);background:var(--baseAlt1Color);font-size:var(--smFontSize)}.verification-details.verified{background:var(--successAltColor);border:1px solid var(--successColor)}.verification-details.not-verified{background:var(--dangerAltColor);border:1px solid var(--dangerColor)}.verification-details p{margin:4px 0}.found-title{margin-top:8px;padding-top:8px;border-top:1px solid var(--baseAlt2Color)}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;padding:var(--xsSpacing);background:var(--baseAlt1Color);border-radius:var(--baseRadius);font-size:var(--smFontSize)}.field-item{display:flex;gap:6px}.field-key{font-weight:600;color:var(--txtHintColor);min-width:60px}.field-value{flex:1;word-break:break-word}.raw-bibtex{background:var(--baseAlt1Color);padding:var(--xsSpacing);border-radius:var(--baseRadius);overflow-x:auto;font-family:var(--monospaceFontFamily);font-size:var(--xsFontSize);line-height:1.4;margin:0}.card-actions{display:flex;gap:8px;margin-top:var(--xsSpacing);padding-top:var(--xsSpacing);border-top:1px solid var(--baseAlt1Color)}.results-cards{display:flex;flex-direction:column;height:100%;background:var(--bodyColor)}.results-cards-empty{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bodyColor)}.empty-state{text-align:center;color:var(--txtHintColor);padding:var(--xlSpacing)}.empty-icon{font-size:64px;opacity:.3;margin-bottom:var(--smSpacing)}.empty-state h3{margin:0 0 8px;color:var(--txtPrimaryColor)}.empty-state p{margin:0;font-size:var(--baseFontSize)}.results-header{padding:var(--smSpacing);background:var(--baseColor);border-bottom:1px solid var(--baseAlt2Color)}.results-header h2{font-size:var(--lgFontSize);font-weight:600;margin:0 0 8px}.results-stats{display:flex;gap:8px;flex-wrap:wrap}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--smSpacing);padding:var(--xsSpacing) var(--smSpacing);background:var(--baseColor);border-bottom:1px solid var(--baseAlt2Color);flex-wrap:wrap}.toolbar-section{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-input{width:250px;padding:6px 12px;border:1px solid var(--baseAlt2Color);border-radius:var(--baseRadius);font-size:var(--baseFontSize);transition:all var(--baseAnimationSpeed)}.search-input:focus{outline:none;border-color:var(--primaryColor);box-shadow:0 0 0 3px #1a1a241a}.results-content{flex:1;overflow-y:auto;padding:var(--smSpacing)}.no-results{text-align:center;padding:var(--xlSpacing);color:var(--txtHintColor)}.cards-container{display:flex;flex-direction:column;gap:var(--xsSpacing)}.results-content::-webkit-scrollbar{width:8px}.results-content::-webkit-scrollbar-track{background:var(--baseAlt1Color)}.results-content::-webkit-scrollbar-thumb{background:var(--baseAlt3Color);border-radius:var(--baseRadius)}.results-content::-webkit-scrollbar-thumb:hover{background:var(--baseAlt4Color)}@media (max-width: 768px){.results-toolbar{flex-direction:column;align-items:flex-start}.toolbar-section,.search-input{width:100%}}.results-panel{height:100%;display:flex;flex-direction:column}.tabs{display:flex;gap:0;border-bottom:1px solid var(--base-border-color);background:var(--base-color);padding:0 1rem}.tab{position:relative;padding:.75rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--txt-hint-color);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.tab:hover:not(:disabled){color:var(--txt-color)}.tab.active{color:var(--txt-color);border-bottom-color:var(--primary-color)}.tab:disabled{opacity:.5;cursor:not-allowed}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;margin-left:.5rem;background:var(--danger-color);color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.tab-content{flex:1;overflow-y:auto;padding:1.5rem}.format-tab,.autofix-tab{max-width:600px;margin:0 auto}.format-panel,.autofix-panel{background:var(--base-color);border:1px solid var(--base-border-color);border-radius:var(--base-border-radius);padding:1.5rem}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.375rem;font-size:.75rem;color:var(--txt-hint-color);font-weight:500}.form-field input[type=number]{width:100%;padding:.375rem .75rem;border:1px solid var(--base-border-color);border-radius:var(--base-border-radius);font-size:.875rem;background:var(--base-alt-color);color:var(--txt-color)}.form-field input[type=number]:focus{outline:none;border-color:var(--primary-color)}.form-check{display:flex;align-items:center;margin-bottom:.75rem}.form-check label{display:flex;align-items:center;cursor:pointer}.form-check input[type=checkbox]{width:1rem;height:1rem;margin:0;cursor:pointer}.form-check span{margin-left:.5rem;font-size:.875rem;color:var(--txt-color)}.format-result,.autofix-result{margin-top:1.5rem}.result-message{padding:.75rem 1rem;border-radius:var(--base-border-radius);font-size:.875rem;margin-bottom:.5rem}.result-message.success{background:var(--success-alt-color);color:var(--success-color);border:1px solid var(--success-color)}.result-message.info{background:var(--info-alt-color);color:var(--info-color);border:1px solid var(--info-color)}.fix-messages{background:var(--base-alt-color);border:1px solid var(--base-border-color);border-radius:var(--base-border-radius);padding:1rem;margin-bottom:1rem;max-height:200px;overflow-y:auto}.fix-message{font-size:.813rem;color:var(--success-color);padding:.25rem 0;border-bottom:1px solid var(--base-border-color)}.fix-message:last-child{border-bottom:none}.progress-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.progress-container{position:relative;background:var(--baseColor);border-radius:var(--lgRadius);padding:2rem;box-shadow:0 20px 40px var(--shadowColor);max-width:500px;width:90%;animation:slideIn .3s ease-out;z-index:10000}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.progress-container h3{margin:0 0 1.5rem;font-size:1.2rem;color:var(--primaryColor);text-align:center}.progress-bar{width:100%;height:8px;background:var(--baseAlt1Color);border-radius:var(--baseRadius);overflow:hidden;margin-bottom:1.5rem}.progress-fill{height:100%;background:var(--primaryColor);transition:width .3s ease;border-radius:var(--baseRadius)}.progress-details{text-align:center}.progress-numbers{font-size:1.1rem;font-weight:600;color:var(--txtPrimaryColor);margin-bottom:1rem}.progress-current-entry{background:var(--baseAlt1Color);border:1px solid var(--baseAlt2Color);border-radius:var(--lgRadius);padding:1rem;margin-bottom:1rem;text-align:left}.entry-type{font-family:var(--monospaceFontFamily);font-size:.85rem;color:var(--primaryColor);font-weight:600;margin-bottom:.25rem}.entry-id{font-family:var(--monospaceFontFamily);font-size:.9rem;color:var(--txtPrimaryColor);font-weight:500;margin-bottom:.5rem}.entry-title{font-size:.85rem;color:var(--txtHintColor);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-message{font-size:.9rem;color:var(--txtHintColor);font-style:italic}:root{--baseFontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", "Source Sans 3", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--monospaceFontFamily: "Ubuntu Mono", "Consolas", "Monaco", "Courier New", monospace;--txtPrimaryColor: #1a1a24;--txtHintColor: #617079;--txtDisabledColor: #a0a6ac;--primaryColor: #1a1a24;--bodyColor: #f8f9fa;--baseColor: #ffffff;--baseAlt1Color: #e3e8ed;--baseAlt2Color: #d7dde3;--baseAlt3Color: #c9d0da;--baseAlt4Color: #a5b0c0;--infoColor: #5499e8;--infoAltColor: #cee2f8;--successColor: #32ad84;--successAltColor: #c4eedc;--dangerColor: #e34562;--dangerAltColor: #f7cad2;--warningColor: #ff944d;--warningAltColor: #ffd4b8;--overlayColor: rgba(255, 255, 255, .95);--tooltipColor: rgba(0, 0, 0, .85);--shadowColor: rgba(0, 0, 0, .06);--baseFontSize: 14.5px;--xsFontSize: 12px;--smFontSize: 13px;--lgFontSize: 15px;--xlFontSize: 16px;--baseLineHeight: 22px;--smLineHeight: 16px;--lgLineHeight: 24px;--inputHeight: 34px;--btnHeight: 40px;--xsBtnHeight: 22px;--smBtnHeight: 30px;--lgBtnHeight: 54px;--baseSpacing: 30px;--xsSpacing: 15px;--smSpacing: 20px;--lgSpacing: 50px;--xlSpacing: 60px;--wrapperWidth: 850px;--smWrapperWidth: 420px;--lgWrapperWidth: 1200px;--baseAnimationSpeed: .15s;--activeAnimationSpeed: 70ms;--entranceAnimationSpeed: .25s;--baseRadius: 4px;--lgRadius: 12px;--btnRadius: 4px}[data-theme=dark]{--txtPrimaryColor: #e5e5e5;--txtHintColor: #a3a3a3;--txtDisabledColor: #737373;--primaryColor: #4da3ff;--bodyColor: #1a1a1a;--baseColor: #242424;--baseAlt1Color: #2e2e2e;--baseAlt2Color: #333333;--baseAlt3Color: #404040;--baseAlt4Color: #525252;--infoColor: #4da3ff;--infoAltColor: #1e3a5f;--successColor: #4ade80;--successAltColor: #1a3d2a;--dangerColor: #ff6b7a;--dangerAltColor: #4a1f26;--warningColor: #ffd93d;--warningAltColor: #453a1a;--overlayColor: rgba(26, 26, 26, .95);--tooltipColor: rgba(255, 255, 255, .95);--shadowColor: rgba(0, 0, 0, .3)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--txtPrimaryColor: #e5e5e5;--txtHintColor: #a3a3a3;--txtDisabledColor: #737373;--primaryColor: #4da3ff;--bodyColor: #1a1a1a;--baseColor: #242424;--baseAlt1Color: #2e2e2e;--baseAlt2Color: #333333;--baseAlt3Color: #404040;--baseAlt4Color: #525252;--infoColor: #4da3ff;--infoAltColor: #1e3a5f;--successColor: #4ade80;--successAltColor: #1a3d2a;--dangerColor: #ff6b7a;--dangerAltColor: #4a1f26;--warningColor: #ffd93d;--warningAltColor: #453a1a;--overlayColor: rgba(26, 26, 26, .95);--tooltipColor: rgba(255, 255, 255, .95);--shadowColor: rgba(0, 0, 0, .3)}}*{box-sizing:border-box}html,body{margin:0;padding:0;line-height:var(--baseLineHeight);font-family:var(--baseFontFamily);font-size:var(--baseFontSize);color:var(--txtPrimaryColor);background:var(--bodyColor);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}h1{font-size:22px;line-height:28px}h2{font-size:20px;line-height:26px}h3{font-size:19px;line-height:24px}h4{font-size:18px;line-height:24px}p{margin:5px 0}strong{font-weight:600}a{color:var(--primaryColor);text-decoration:none;transition:opacity var(--baseAnimationSpeed)}a:hover{opacity:.8}code{display:inline-block;font-family:var(--monospaceFontFamily);font-size:.875em;padding:2px 6px;background:var(--baseAlt2Color);border-radius:var(--baseRadius)}pre{margin:0;padding:var(--xsSpacing);background:var(--baseAlt1Color);border-radius:var(--baseRadius);overflow-x:auto;font-family:var(--monospaceFontFamily);font-size:var(--smFontSize)}.txt-hint{color:var(--txtHintColor)}.txt-disabled{color:var(--txtDisabledColor)}.txt-primary{color:var(--primaryColor)}.txt-danger{color:var(--dangerColor)}.txt-success{color:var(--successColor)}.txt-warning{color:var(--warningColor)}.txt-info{color:var(--infoColor)}.txt-sm{font-size:var(--smFontSize);line-height:var(--smLineHeight)}.txt-xs{font-size:var(--xsFontSize);line-height:var(--smLineHeight)}.txt-lg{font-size:var(--lgFontSize)}.txt-bold{font-weight:600}.txt-center{text-align:center}.txt-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.m-0{margin:0}.m-xs{margin:var(--xsSpacing)}.m-sm{margin:var(--smSpacing)}.m-base{margin:var(--baseSpacing)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--xsSpacing)}.mt-sm{margin-top:var(--smSpacing)}.mt-base{margin-top:var(--baseSpacing)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--xsSpacing)}.mb-sm{margin-bottom:var(--smSpacing)}.mb-base{margin-bottom:var(--baseSpacing)}.p-0{padding:0}.p-xs{padding:var(--xsSpacing)}.p-sm{padding:var(--smSpacing)}.p-base{padding:var(--baseSpacing)}.flex{display:flex;align-items:center;gap:var(--smSpacing)}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-between{justify-content:space-between}.flex-center{justify-content:center}.flex-fill{flex:1 1 auto}.gap-xs{gap:var(--xsSpacing)}.gap-sm{gap:var(--smSpacing)}.gap-base{gap:var(--baseSpacing)}.hidden{display:none!important}.block{display:block;width:100%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInTop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--baseAnimationSpeed)}.slide-in-top{animation:slideInTop var(--entranceAnimationSpeed)}.panel{background:var(--baseColor);border-radius:var(--lgRadius);padding:calc(var(--baseSpacing) - 5px) var(--baseSpacing);box-shadow:0 2px 8px var(--shadowColor)}.sub-panel{background:var(--baseColor);border-radius:var(--baseRadius);padding:var(--xsSpacing);border:1px solid var(--baseAlt1Color)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 20px;min-height:var(--btnHeight);border:0;outline:0;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--baseFontFamily);font-size:var(--baseFontSize);font-weight:600;line-height:1;text-decoration:none;border-radius:var(--btnRadius);background:var(--primaryColor);color:#fff;transition:all var(--baseAnimationSpeed)}.btn:hover:not(:disabled){opacity:.9}.btn:active:not(:disabled){opacity:.8;transform:scale(.98);transition-duration:var(--activeAnimationSpeed)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--baseAlt2Color);color:var(--txtPrimaryColor)}.btn-secondary:hover:not(:disabled){background:var(--baseAlt3Color);opacity:1}.btn-outline{background:transparent;color:var(--txtPrimaryColor);border:2px solid var(--baseAlt3Color)}.btn-outline:hover:not(:disabled){background:var(--baseAlt1Color);opacity:1}.btn-success{background:var(--successColor)}.btn-danger{background:var(--dangerColor)}.btn-warning{background:var(--warningColor)}.btn-info{background:var(--infoColor)}.btn-sm{min-height:var(--smBtnHeight);padding:3px 15px;font-size:var(--smFontSize)}.btn-lg{min-height:var(--lgBtnHeight);padding:8px 30px;font-size:var(--lgFontSize)}.form-field{margin-bottom:var(--smSpacing)}.form-label{display:block;margin-bottom:5px;font-size:var(--smFontSize);font-weight:600;color:var(--txtHintColor)}.input,.textarea,.select{display:block;width:100%;padding:8px 12px;min-height:var(--inputHeight);border:1px solid var(--baseAlt2Color);border-radius:var(--baseRadius);background:var(--baseColor);font-family:var(--baseFontFamily);font-size:var(--baseFontSize);color:var(--txtPrimaryColor);transition:all var(--baseAnimationSpeed)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--primaryColor);box-shadow:0 0 0 3px #1a1a241a}.input:disabled,.textarea:disabled,.select:disabled{background:var(--baseAlt1Color);color:var(--txtDisabledColor);cursor:not-allowed}.textarea{min-height:100px;resize:vertical}.checkbox-container{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:3px 12px;min-height:24px;font-size:var(--smFontSize);font-weight:600;line-height:var(--smLineHeight);border-radius:15px;background:var(--baseAlt2Color);color:var(--txtPrimaryColor)}.badge-primary{background:var(--primaryColor);color:#fff}.badge-success{background:var(--successAltColor);color:var(--successColor)}.badge-danger{background:var(--dangerAltColor);color:var(--dangerColor)}.badge-warning{background:var(--warningAltColor);color:var(--warningColor)}.badge-info{background:var(--infoAltColor);color:var(--infoColor)}.table-wrapper{overflow-x:auto;border:1px solid var(--baseAlt2Color);border-radius:var(--baseRadius);background:var(--baseColor)}table{width:100%;border-collapse:collapse}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--baseAlt2Color)}th{font-weight:600;color:var(--txtHintColor);background:var(--baseAlt1Color);-webkit-user-select:none;user-select:none}tbody tr{transition:background var(--baseAnimationSpeed)}tbody tr:hover{background:var(--bodyColor)}tbody tr:last-child td{border-bottom:none}.loader{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--txtDisabledColor)}.loader:before{content:"";width:24px;height:24px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rotate .8s linear infinite}.loader-lg:before{width:32px;height:32px}.placeholder-section{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--smSpacing);padding:var(--xlSpacing) var(--baseSpacing);color:var(--txtHintColor);text-align:center}.placeholder-icon{font-size:48px;opacity:.3}.alert{padding:var(--xsSpacing) var(--smSpacing);border-radius:var(--baseRadius);background:var(--baseAlt1Color);color:var(--txtPrimaryColor)}.alert-success{background:var(--successAltColor);color:var(--successColor)}.alert-danger{background:var(--dangerAltColor);color:var(--dangerColor)}.alert-warning{background:var(--warningAltColor);color:var(--warningColor)}.alert-info{background:var(--infoAltColor);color:var(--infoColor)}#root{height:100vh;overflow:hidden}.app-container{display:flex;flex-direction:column;height:100vh}.app-header{background:var(--baseColor);border-bottom:1px solid var(--baseAlt2Color);padding:var(--xsSpacing) 0;flex-shrink:0}.header-content{padding:0 var(--baseSpacing);display:flex;justify-content:space-between;align-items:center;width:100%}.logo-wrapper{display:inline-flex;align-items:center;gap:12px}.logo{width:24px;height:24px}.app-title{font-size:18px;font-weight:700;margin:0}.version-badge{padding:2px 6px;background:var(--dangerAltColor);color:var(--txtPrimaryColor);font-size:10px;font-weight:600;border-radius:var(--baseRadius)}.app-tagline{margin:0;font-size:var(--xsFontSize);display:none}.main-content{flex:1;overflow:hidden;position:relative}.error-banner{position:absolute;top:0;left:0;right:0;z-index:100;padding:var(--xsSpacing);background:#fffffff2;border-bottom:1px solid var(--dangerColor)}.error-banner .alert{display:flex;justify-content:space-between;align-items:center;margin:0}.error-close{background:none;border:none;cursor:pointer;padding:4px 8px;font-size:16px;color:var(--dangerColor);border-radius:var(--baseRadius);transition:background var(--baseAnimationSpeed)}.error-close:hover{background:var(--dangerAltColor)}.form-hint{margin-top:5px;font-size:var(--xsFontSize);color:var(--txtHintColor)}@media (max-width: 768px){.app-tagline{display:none}.logo-wrapper{gap:8px}.app-title{font-size:16px}}
