:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #fafafa;--bg-page: #f0f7f8;--bg-elevated: #ffffff;--text-primary: #2d2d2d;--text-secondary: #666666;--text-tertiary: #999999;--border-color: #d4e8eb;--border-secondary: #e8f4f6;--shadow-sm: rgba(0, 0, 0, .08);--shadow-md: rgba(0, 0, 0, .12);--shadow-lg: rgba(37, 96, 111, .15);--scrollbar-track: #f1f1f1;--scrollbar-thumb: #25606f}body.dark-theme{--bg-primary: #0f2133;--bg-secondary: #1a2332;--bg-tertiary: #132f4c;--bg-page: #0a1929;--bg-elevated: #132f4c;--text-primary: #e3f2fd;--text-secondary: #8ba5bf;--text-tertiary: #5c7a95;--border-color: #1e3a52;--border-secondary: #1e3a52;--shadow-sm: rgba(0, 0, 0, .3);--shadow-md: rgba(0, 0, 0, .4);--shadow-lg: rgba(0, 0, 0, .5);--scrollbar-track: rgba(255, 255, 255, .1);--scrollbar-thumb: rgba(255, 255, 255, .3)}a{font-weight:500;color:#25606f;text-decoration:inherit}a:hover{color:#3a7a8a}body.dark-theme a{color:#64b5f6!important}body.dark-theme a:hover{color:#90caf9!important}body{margin:0;padding:0;width:100%;height:100%;min-height:100vh;background:var(--bg-page);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box}html,#root{width:100%;height:100%}body.dark-theme .ant-select:not(.status-result-selector):not(.step-status-select) .ant-select-selector{background:var(--bg-elevated)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}body.dark-theme .ant-select-selection-placeholder{color:var(--text-tertiary)!important}body.dark-theme .ant-select-selection-item{color:var(--text-primary)!important}body.dark-theme .ant-select-arrow{color:var(--text-secondary)!important}body.dark-theme .ant-card-head{background:var(--bg-tertiary)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary)!important}body.dark-theme .ant-card-head-title{color:var(--text-primary)!important}body.dark-theme .ant-btn-link{color:#64b5f6!important}body.dark-theme .ant-btn-link:hover{color:#90caf9!important}body.dark-theme .ant-btn-link:focus{color:#90caf9!important}body.dark-theme .ant-btn-link:active{color:#42a5f5!important}body.dark-theme .ant-btn-link.ant-btn-dangerous{color:#ef5350!important}body.dark-theme .ant-btn-link.ant-btn-dangerous:hover{color:#e57373!important}body.dark-theme .ant-btn-text:not(.ant-btn-dangerous){color:var(--text-primary)!important}body.dark-theme .ant-btn-text:not(.ant-btn-dangerous):hover{color:#64b5f6!important;background:#64b5f61a!important}body.dark-theme .ant-btn-text.ant-btn-dangerous{color:#ef5350!important}body.dark-theme .ant-btn-text.ant-btn-dangerous:hover{color:#e57373!important;background:#ef53501a!important}.ant-pagination-options .ant-select-selector input,.ant-pagination-options .ant-select-selection-search-input{display:none!important;pointer-events:none!important}.ant-pagination-options .ant-select-selection-search,.ant-pagination-options .ant-select-arrow,.ant-pagination-options .ant-select-suffix{display:none!important}.ant-pagination-options .ant-select-selector{cursor:pointer!important;border:none!important;background:transparent!important;padding:0 8px!important;box-shadow:none!important}.ant-pagination-options .ant-select-selection-item{display:block!important;pointer-events:none;padding:0!important}.ant-pagination-options .ant-select-focused .ant-select-selector{border:none!important;box-shadow:none!important;outline:none!important}.ant-pagination-options .ant-select:hover .ant-select-selector .ant-select-selection-item{color:#40a9ff;text-decoration:underline}body.dark-theme .ant-pagination-options .ant-select:hover .ant-select-selector .ant-select-selection-item{color:#177ddc}.ant-pagination-options .ant-select-disabled .ant-select-selector{cursor:not-allowed!important;opacity:.5}.ant-pagination-options .ant-select-disabled:hover .ant-select-selector .ant-select-selection-item{color:inherit;text-decoration:none}.ant-table{background:var(--bg-primary);border-radius:8px;overflow:hidden}.ant-table-thead>tr>th{background:var(--bg-tertiary);font-weight:600;border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-color);padding:12px 16px;color:var(--text-primary)}.ant-table-tbody>tr:hover>td{background:var(--bg-secondary);cursor:pointer}body.dark-theme .ant-table-tbody>tr:hover>td{background:#1a2332!important}.ant-table-cell{word-break:break-word;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-table-wrapper::-webkit-scrollbar{height:8px}.ant-table-wrapper::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}.ant-table-wrapper::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.ant-table-wrapper::-webkit-scrollbar-thumb:hover{background:#1a4a57}@media (max-width: 992px){.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:10px 12px;font-size:13px}.ant-table-thead>tr>th{font-size:12px}}@media (max-width: 768px){.ant-table{font-size:13px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 10px;font-size:12px}.ant-table-thead>tr>th{font-size:11px;font-weight:600}.ant-table-thead>tr>th.ant-table-cell-hidden,.ant-table-tbody>tr>td.ant-table-cell-hidden{display:none}.ant-table-cell{min-width:80px}.ant-pagination{margin:12px 0}.ant-pagination-options{display:none}}@media (max-width: 576px){.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:6px 8px;font-size:11px}.ant-table-thead>tr>th{font-size:10px}.ant-pagination{text-align:center;margin:8px 0}.ant-pagination-item,.ant-pagination-prev,.ant-pagination-next{min-width:28px;height:28px;line-height:28px;margin:0 2px}.ant-pagination-prev .ant-pagination-item-link,.ant-pagination-next .ant-pagination-item-link{font-size:12px}}@media (max-width: 480px){.ant-table{font-size:11px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:5px 6px;font-size:10px}.ant-table-thead>tr>th{font-size:9px}.ant-pagination-item{min-width:24px;height:24px;line-height:24px;margin:0 1px;font-size:11px}}.ant-table-cell a{word-break:break-all;overflow-wrap:break-word;display:inline-block;max-width:100%}.ant-table-cell .ant-typography{word-break:break-word;overflow-wrap:break-word}.ant-table-cell .ant-tag{margin:2px 4px 2px 0;font-size:11px;padding:2px 6px;line-height:1.4;white-space:nowrap}.ant-table-cell .ant-btn{margin:2px}.ant-table-cell .ant-space{flex-wrap:wrap}.table-actions-desktop{display:flex;flex-wrap:nowrap;white-space:nowrap}.table-actions-mobile{display:none}@media (max-width: 992px){.table-actions-desktop{flex-wrap:wrap}}@media (max-width: 768px){.table-actions-desktop{display:none!important}.table-actions-mobile{display:block!important}.ant-table-cell[data-column-key=actions],.ant-table-thead>tr>th[data-column-key=actions],.ant-table-tbody>tr>td[data-column-key=actions]{width:50px!important;min-width:50px!important;max-width:50px!important;padding:8px 4px!important}.ant-table-cell[data-column-key=actions] .ant-space,.ant-table-cell[data-column-key=actions] .ant-btn{white-space:nowrap}}@media (max-width: 768px){.ant-table-mobile-card .ant-table-tbody>tr{display:block;margin-bottom:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);box-shadow:0 2px 8px var(--shadow-sm)}.ant-table-mobile-card .ant-table-tbody>tr>td{display:block;border:none;padding:8px 12px;text-align:left!important}.ant-table-mobile-card .ant-table-tbody>tr>td:before{content:attr(data-label) ": ";font-weight:600;color:var(--text-secondary);margin-right:8px}.ant-table-mobile-card .ant-table-thead{display:none}}body.dark-theme .ant-table{background:var(--bg-primary)}body.dark-theme .ant-table-thead>tr>th{background:var(--bg-tertiary);border-bottom-color:var(--border-color);color:var(--text-primary)}body.dark-theme .ant-table-tbody>tr>td{border-bottom-color:var(--border-color);color:var(--text-primary)}body.dark-theme .ant-table-cell a{color:#69d0e6}body.dark-theme .ant-table-cell a:hover{color:#91d5ff}.user-avatar-initials{display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0000001a;transition:all .2s ease}.user-avatar-initials:hover{transform:scale(1.05);box-shadow:0 4px 8px #00000026}.user-avatar-initials.ant-avatar-sm{font-size:10px;font-weight:700}.user-avatar-initials.ant-avatar{font-size:14px;font-weight:600}.user-avatar-initials.ant-avatar-lg{font-size:18px;font-weight:600}body.dark-theme .user-avatar-initials{border-color:#ffffff1a}.project-avatar-initials{display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2);transition:all .3s ease}.project-avatar-initials:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.project-avatar-initials.ant-avatar-sm{font-size:12px;font-weight:600}.project-avatar-initials.ant-avatar{font-size:16px;font-weight:600}.project-avatar-initials.ant-avatar-lg{font-size:24px;font-weight:600}.project-card .project-avatar-initials{border:3px solid rgba(255,255,255,.3)}.project-card:hover .project-avatar-initials{border-color:#fff9}.project-list-item .project-avatar-initials{border:2px solid rgba(255,255,255,.2)}.project-header .project-avatar-initials{border:3px solid rgba(255,255,255,.4);box-shadow:0 2px 8px #0000001a}.project-avatar-default-logo{transition:all .3s ease;cursor:pointer;aspect-ratio:1 / 1;flex-shrink:0;overflow:hidden}.project-avatar-default-logo:hover{transform:scale(1.05);box-shadow:0 4px 12px #25606f66}.project-avatar-default-logo img{object-fit:contain;max-width:100%;max-height:100%}.project-avatar-file{border-radius:8px!important;overflow:hidden!important}.project-avatar-file.ant-avatar-sm{border-radius:6px!important}.project-avatar-file.ant-avatar-lg{border-radius:10px!important}.project-avatar-file img,.project-avatar-file .ant-avatar-string{border-radius:inherit!important;object-fit:cover;width:100%!important;height:100%!important}.project-avatar-file.ant-avatar,.project-avatar-file.ant-avatar-circle{border-radius:8px!important}.avatar-icon-selector{padding:16px;background:#fff;border-radius:12px;border:1px solid #e8e8e8;max-height:120px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.avatar-icon-selector .ant-row{flex-wrap:nowrap!important;width:max-content}.avatar-icon-selector::-webkit-scrollbar{height:6px}.avatar-icon-selector::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.avatar-icon-selector::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.avatar-icon-selector::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.icon-option{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;-webkit-user-select:none;user-select:none}.icon-option:hover{transform:translateY(-2px) scale(1.02)}.icon-option.selected{box-shadow:0 4px 12px #1890ff26;transform:translateY(-1px)}.icon-option:active{transform:translateY(0) scale(.98)}.icon-option:active{transform:scale(.95)}.avatar-background-selector{padding:16px;background:#fff;border-radius:12px;border:1px solid #e8e8e8;max-height:120px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 #f5f5f5}.avatar-background-selector .ant-row{flex-wrap:nowrap!important;width:max-content}.avatar-background-selector::-webkit-scrollbar{height:6px}.avatar-background-selector::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.avatar-background-selector::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.avatar-background-selector::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.background-option{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;-webkit-user-select:none;user-select:none}.background-option:hover{transform:translateY(-2px) scale(1.02)}.background-option.selected{transform:translateY(-1px)}.background-option:active{transform:translateY(0) scale(.98)}.avatar-customizer{display:flex;gap:24px;flex-wrap:wrap;max-width:100%}.avatar-preview-card{flex:0 0 auto;min-width:240px;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #f0f0f0;background:linear-gradient(135deg,#fafbfc,#f5f6fa)}.avatar-options-card{flex:1;min-width:480px;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #f0f0f0}.avatar-preview-card .ant-card-body{padding:24px;text-align:center}.avatar-options-card .ant-card-body{padding:24px}.avatar-customizer .ant-typography h5{color:#262626;font-weight:600;margin-bottom:16px}.avatar-customizer .ant-tabs .ant-tabs-tab{padding:12px 20px;font-weight:500}.avatar-customizer .ant-tabs .ant-tabs-tab-active{color:#1890ff}.avatar-customizer .ant-tabs-content-holder{padding-top:8px}.avatar-customizer .ant-space-vertical>.ant-space-item:not(:last-child){margin-bottom:24px}@media (max-width: 768px){.avatar-customizer{flex-direction:column}.avatar-preview-card,.avatar-options-card{min-width:100%}}.avatar-modal .ant-modal-content{padding:0}.avatar-modal .ant-modal-header{padding:20px 20px 16px;border-bottom:1px solid #f0f0f0}.avatar-modal .ant-modal-body{padding:20px}.avatar-modal .ant-modal-footer{padding:16px 20px;border-top:1px solid #f0f0f0}.avatar-modal-content{display:flex;flex-direction:column;gap:20px}.avatar-preview-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px}.avatar-preview-section .ant-typography{margin-bottom:12px;font-size:14px;font-weight:600}.preview-container{display:flex;justify-content:center;align-items:center;padding:16px;background:#fafafa;border-radius:12px;border:2px dashed #d9d9d9;transition:all .3s ease}.preview-container:hover{border-color:#1890ff;background:#f6f9ff}.avatar-options-section{flex:1}.avatar-modal-tab-content{padding:12px 0}.icon-selector-section,.background-selector-section,.upload-section{margin-bottom:20px}.icon-selector-section:last-child,.background-selector-section:last-child,.upload-section:last-child{margin-bottom:0}.icon-selector-section .ant-typography,.background-selector-section .ant-typography,.upload-section .ant-typography{margin-bottom:8px;color:#262626;font-size:14px;font-weight:500}.upload-section{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 20px;background:#fafafa;border-radius:12px;border:2px dashed #d9d9d9;transition:all .3s ease}.upload-section:hover{border-color:#1890ff;background:#f6f9ff}.upload-section .ant-btn{margin-bottom:12px}.upload-hint{font-size:12px;line-height:1.4}.avatar-modal-footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px}.footer-left{flex:1}.footer-right{flex:0 0 auto}@media (max-width: 768px){.avatar-modal-content{flex-direction:column;gap:24px}.avatar-preview-section{flex:none;order:2}.avatar-options-section{order:1}}.avatar-modal .ant-tabs-tab{font-weight:500}.avatar-modal .ant-tabs-tab-active{color:#1890ff}.avatar-modal .ant-tabs-ink-bar{background:#1890ff}.avatar-modal .ant-btn-primary{background:linear-gradient(135deg,#25606f,#3a7a8a);border-color:#25606f;box-shadow:0 2px 4px #25606f33}.avatar-modal .ant-btn-primary:hover{background:linear-gradient(135deg,#2d7080,#42899b);border-color:#2d7080;box-shadow:0 4px 8px #25606f4d}.test-run-progress{min-width:120px}.test-run-progress.small{min-width:80px}.test-run-progress-tooltip{max-width:280px}.test-run-progress-tooltip .tooltip-header{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.2)}.test-run-progress-tooltip .tooltip-stats{display:flex;flex-direction:column;gap:4px}.test-run-progress-tooltip .stat-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#ffffffd9}.test-run-progress-tooltip .stat-row.pass .stat-label{color:#52c41a}.test-run-progress-tooltip .stat-row.fail .stat-label{color:#f5222d}.test-run-progress-tooltip .stat-row.skip .stat-label{color:#faad14}.test-run-progress-tooltip .stat-row.block .stat-label{color:#722ed1}.test-run-progress-tooltip .stat-label{font-weight:500}.test-run-progress-tooltip .stat-value{font-weight:600;color:#fff}.test-run-progress-tooltip .stat-divider{height:1px;background:#fff3;margin:4px 0}.test-run-progress-tooltip-overlay .ant-tooltip-inner{background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;padding:12px}.clickable-link{color:#1890ff;cursor:pointer;text-decoration:underline;transition:color .2s}.clickable-link:hover{color:#40a9ff;text-decoration:underline}.user-activities-widget{height:100%}.user-activities-widget .ant-card-body{padding:16px}.user-activities-widget .ant-empty{margin:20px 0}@media (max-width: 768px){.user-activities-widget .ant-row{margin-left:-8px!important;margin-right:-8px!important}.user-activities-widget .ant-col{padding-left:8px!important;padding-right:8px!important;margin-bottom:12px}.user-activities-widget .ant-pagination{margin-top:12px}.user-activities-widget .ant-pagination-simple{text-align:center}}.code-block-wrapper{margin:12px 0;width:100%;max-width:100%;position:relative;display:block}.code-block-container{position:relative;width:100%;max-width:100%;max-height:400px;overflow:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;box-sizing:border-box}body.dark-theme .code-block-container{background:#1e1e1e;border-color:#3e3e3e}.code-inline{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:3px;padding:2px 6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:#d4380d}body.dark-theme .code-inline{background:#2d2d2d;border-color:#3e3e3e;color:#ce9178}.code-block-plain{margin:0;padding:12px;min-height:52px;background:transparent;border:none;overflow:visible;white-space:pre;color:var(--text-primary)}body.dark-theme .code-block-plain{color:#d4d4d4}.code-block-plain code{background:none;border:none;padding:0;color:inherit}.code-block-copy-button{position:absolute;top:8px;right:8px;z-index:10;opacity:.7;transition:opacity .2s ease,background-color .2s ease;background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;box-shadow:0 2px 4px #0000001a!important;color:var(--text-primary)!important;min-width:32px;height:32px;padding:0!important;display:flex;align-items:center;justify-content:center}.code-block-copy-button:hover{opacity:1;background:var(--bg-secondary)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}body.dark-theme .code-block-copy-button{background:#2d2d2d!important;border-color:#3e3e3e!important;color:#d4d4d4!important}body.dark-theme .code-block-copy-button:hover{background:#3e3e3e!important;border-color:#4e4e4e!important;color:#fff!important}.code-block-container:hover .code-block-copy-button{opacity:1}.code-block-container::-webkit-scrollbar{width:10px;height:10px}.code-block-container::-webkit-scrollbar-track{background:transparent}.code-block-container::-webkit-scrollbar-thumb{background:#0003;border-radius:5px;border:2px solid transparent;background-clip:padding-box}.code-block-container::-webkit-scrollbar-thumb:hover{background:#0000004d;background-clip:padding-box}body.dark-theme .code-block-container::-webkit-scrollbar-thumb{background:#fff3;background-clip:padding-box}body.dark-theme .code-block-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d;background-clip:padding-box}.code-block-container{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}body.dark-theme .code-block-container{scrollbar-color:rgba(255,255,255,.2) transparent}.code-block-container pre[class*=language-],.code-block-container pre{margin:0!important;padding:12px!important;min-height:52px!important;background:transparent!important;overflow:visible!important;min-width:max-content;max-width:none;white-space:pre;word-wrap:normal}.code-block-container code[class*=language-],.code-block-container code{background:transparent!important;padding:0!important}.code-block-container div[class*=language-]{margin:0!important;padding:12px!important;min-height:52px!important;background:transparent!important;overflow:visible!important}.code-block-container div[class*=language-] pre{margin:0!important;padding:0!important;min-height:28px!important;background:transparent!important}.markdown-content table td,.markdown-content table th{position:relative;vertical-align:top}.markdown-content table td:has(.code-block-wrapper),.markdown-content table th:has(.code-block-wrapper){max-width:600px;width:auto}.markdown-content table td .code-block-wrapper,.markdown-content table th .code-block-wrapper{max-width:600px!important;width:100%!important;margin:8px 0!important;display:block;box-sizing:border-box}.markdown-content table td .code-block-container,.markdown-content table th .code-block-container{max-width:100%!important;width:100%!important;box-sizing:border-box;overflow:auto}.steps-table .ant-table-tbody>tr>td .code-block-wrapper,.steps-table .ant-table-thead>tr>th .code-block-wrapper{max-width:500px!important;width:100%!important;margin:8px 0!important;display:block;box-sizing:border-box;overflow:hidden}.steps-table .ant-table-tbody>tr>td .code-block-container,.steps-table .ant-table-thead>tr>th .code-block-container{max-width:500px!important;width:100%!important;box-sizing:border-box;overflow:auto;position:relative}.markdown-content table td .code-block-container pre[class*=language-],.markdown-content table td .code-block-container pre,.markdown-content table th .code-block-container pre[class*=language-],.markdown-content table th .code-block-container pre{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box;white-space:pre!important;overflow-x:auto!important;overflow-y:visible!important;word-wrap:normal!important;word-break:normal!important;display:block;margin:0!important}.markdown-content table td .code-block-container div[class*=language-],.markdown-content table th .code-block-container div[class*=language-]{max-width:100%!important;width:100%!important;box-sizing:border-box;overflow-x:auto!important;overflow-y:visible!important;margin:0!important}.steps-table .ant-table-tbody>tr>td .code-block-container pre[class*=language-],.steps-table .ant-table-tbody>tr>td .code-block-container pre,.steps-table .ant-table-thead>tr>th .code-block-container pre[class*=language-],.steps-table .ant-table-thead>tr>th .code-block-container pre{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box;white-space:pre!important;overflow-x:auto!important;overflow-y:visible!important;word-wrap:normal!important;word-break:normal!important;display:block;margin:0!important}.steps-table .ant-table-tbody>tr>td .code-block-container div[class*=language-],.steps-table .ant-table-thead>tr>th .code-block-container div[class*=language-]{max-width:100%!important;width:100%!important;box-sizing:border-box;overflow-x:auto!important;overflow-y:visible!important;margin:0!important}.license-badge{cursor:pointer}.license-badge-content{display:flex!important;align-items:center!important;gap:8px!important;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap;transition:all .3s ease}.license-badge-content>span:first-child{display:flex!important;align-items:center!important;margin-right:8px!important;flex-shrink:0}.license-badge-content>svg{flex-shrink:0;margin-right:0}.license-badge-content:hover{opacity:.9;transform:translateY(-1px)}.license-badge-default{background-color:#25606f;color:#fff;border:1px solid #1a4a57;font-weight:600}.license-badge-error{background-color:#fff1f0;color:#cf1322;border:1px solid #ffccc7}.license-badge-warning{background-color:#fffbe6;color:#d46b08;border:1px solid #ffe58f}.license-badge-text{font-size:12px;line-height:1.5}body.dark-theme .license-badge-default{background-color:#25606f;color:#fff;border-color:#3a7a8a;font-weight:600}body.dark-theme .license-badge-error{background-color:#2a1215;color:#ff7875;border-color:#58191c}body.dark-theme .license-badge-warning{background-color:#2b2111;color:#ffc53d;border-color:#594214}@media (max-width: 768px){.license-badge{max-width:150px}.license-badge-content{padding:4px 8px;font-size:11px;gap:4px!important;max-width:100%}.license-badge-text{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.license-badge-content>span:first-child{margin-right:4px!important;flex-shrink:0}.license-badge-content>svg{width:12px;height:12px}}@media (max-width: 480px){.license-badge{max-width:120px}.license-badge-content{padding:3px 6px;font-size:10px;gap:3px!important}.license-badge-text{font-size:10px;max-width:90px}.license-badge-content>svg{width:10px;height:10px}}.app-layout{min-height:100vh}.app-sider{background:linear-gradient(135deg,#1a4a57,#25606f,#0f3940)!important;box-shadow:2px 0 8px #0000001a;position:fixed!important;top:0;left:0;height:100vh;z-index:100;overflow:hidden!important}.sider-content{display:flex;flex-direction:column;height:100vh}body.dark-theme .app-sider{background:#0a1929!important;box-shadow:2px 0 8px #00000080}.app-sider .ant-layout-sider-trigger{background:#ffffff1a;color:#ffffffe6;border-top:1px solid rgba(255,255,255,.1);transition:all .3s ease}.app-sider .ant-layout-sider-trigger:hover{background:#fff3;color:#fff}.app-logo{display:flex;align-items:center;justify-content:center;padding:16px 12px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease;min-height:64px}.app-logo.clickable{cursor:pointer}.app-logo.clickable:hover{background:#ffffff1a;border-bottom-color:#fff3}.app-logo.clickable:active{background:#ffffff0d}.logo-icon{display:flex;align-items:center;justify-content:center;transition:all .3s ease;width:100%;height:auto}.logo-svg-full{height:28px;width:auto;max-width:140px;filter:brightness(0) invert(1)}.logo-svg-small{height:28px;width:28px;filter:brightness(0) invert(1)}.logo-text{flex:1;overflow:hidden}.logo-title{color:#fff!important;margin:0!important;font-size:18px;font-weight:700;line-height:1.2}.logo-subtitle{color:#ffffffb3;font-size:12px;font-weight:500;letter-spacing:1px}.app-menu{background:transparent!important;border:none!important;flex:1;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 140px)}.app-menu::-webkit-scrollbar{width:6px}.app-menu::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.app-menu::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px;transition:background .2s ease}.app-menu::-webkit-scrollbar-thumb:hover{background:#fff6}.app-menu .ant-menu-item{margin:4px 12px 4px 4px;border-radius:8px;height:40px;line-height:40px;transition:all .3s ease;padding-left:12px!important}.app-menu .ant-menu-submenu{margin:4px 12px 4px 4px}.app-menu .ant-menu-submenu-title{border-radius:8px;height:40px;line-height:40px;margin:0;padding-left:12px!important;transition:all .3s ease}.app-menu .ant-menu-item:hover,.app-menu .ant-menu-submenu-title:hover{background:#ffffff1a!important;color:#fff!important}.app-menu .ant-menu-item-selected{background:#3a7a8a4d!important;color:#fff!important}.app-menu .ant-menu-item-selected:after{display:none}.app-menu .ant-menu-submenu-open .ant-menu-submenu-title{background:#ffffff1a!important}.app-menu .ant-menu-sub{background:#0003!important}.app-menu .ant-menu-sub .ant-menu-item{margin:2px 8px 2px 4px;padding-left:44px!important}.sidebar-version{padding:12px 20px;text-align:center;cursor:pointer;transition:all .3s ease;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0;margin-top:auto}.sidebar-version:hover{background:#ffffff0d}.version-text{color:#ffffffa6;font-size:12px;transition:color .3s ease}.sidebar-version:hover .version-text{color:#ffffffd9}.version-text-collapsed{color:#ffffffa6;font-size:11px;transition:color .3s ease;writing-mode:horizontal-tb}.sidebar-version:hover .version-text-collapsed{color:#ffffffd9}.app-main{background:var(--bg-page);margin-left:256px;transition:margin-left .2s}.app-sider.ant-layout-sider-collapsed~.app-main{margin-left:80px}.app-header{background:var(--bg-primary);padding:0 24px;box-shadow:0 2px 8px var(--shadow-sm);display:flex;align-items:center;justify-content:space-between;height:64px;position:sticky;top:0;z-index:99}.header-left{display:flex;align-items:center;gap:16px}.collapse-btn{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#25606f;transition:all .3s ease}.collapse-btn:hover{background:#25606f1a;color:#25606f}.app-breadcrumb{margin:0}.app-breadcrumb .ant-breadcrumb-link{color:var(--text-secondary);transition:color .3s ease}.app-breadcrumb .ant-breadcrumb-link:hover{color:#25606f}.header-right{display:flex;align-items:center}.help-button{color:var(--text-secondary);transition:all .3s ease}.help-button:hover{color:#25606f;background:#25606f1a}.user-info{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .3s ease}.user-info:hover{background:#25606f0d}.user-avatar{border:2px solid #d4e8eb;transition:border-color .3s ease}.user-info:hover .user-avatar{border-color:#25606f}.user-details{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.user-name{font-weight:600;color:var(--text-primary);font-size:14px}.user-role{font-size:12px;color:var(--text-secondary)}.app-content{margin:0;padding:0;min-height:calc(100vh - 64px);background:var(--bg-page);overflow:hidden}.content-wrapper{padding:24px;min-height:100%}.content-wrapper:has(.help-page-fullscreen){padding:0;height:calc(100vh - 64px);overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.app-sider{display:none!important}.app-main{margin-left:0!important}.app-header{padding:0 16px}.content-wrapper{padding:16px}.user-details{display:none}.user-avatar{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important}.user-avatar .ant-avatar{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;line-height:32px!important;font-size:14px!important}.user-avatar .ant-avatar img{width:32px!important;height:32px!important}.app-breadcrumb{display:none}.mobile-sidebar-drawer .ant-drawer-body{padding:0;background:linear-gradient(135deg,#1a4a57,#25606f,#0f3940);position:relative}body.dark-theme .mobile-sidebar-drawer .ant-drawer-body{background:#0a1929}.mobile-sidebar-drawer .ant-drawer-header,.mobile-sidebar-drawer .ant-drawer-close{display:none!important}.mobile-drawer-close-btn{position:absolute!important;top:16px!important;right:16px!important;z-index:10!important;color:#ffffffd9!important;background:#ffffff1a!important;border:none!important}.mobile-drawer-close-btn:hover{background:#fff3!important;color:#fff!important}.mobile-drawer-close-btn:active{background:#ffffff26!important}.mobile-sidebar-drawer .sider-content{height:100%;display:flex;flex-direction:column}.mobile-sidebar-drawer .app-logo{padding:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-sidebar-drawer .app-menu{flex:1;overflow-y:auto;overflow-x:hidden}.mobile-sidebar-drawer .sidebar-version{padding:12px 20px;text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}}@media (max-width: 576px){.header-left{gap:8px}.app-header{padding:0 12px}.content-wrapper{padding:12px}.user-avatar{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important}.user-avatar .ant-avatar{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;line-height:28px!important;font-size:12px!important}.user-avatar .ant-avatar img{width:28px!important;height:28px!important}}.app-sider.ant-layout-sider-collapsed .app-logo{padding:16px 12px;justify-content:center}.app-layout *{transition:all .3s cubic-bezier(.4,0,.2,1)}.app-sider .ant-layout-sider-children{overflow-y:auto;overflow-x:hidden}.app-sider .ant-layout-sider-children::-webkit-scrollbar{width:4px}.app-sider .ant-layout-sider-children::-webkit-scrollbar-track{background:#ffffff1a}.app-sider .ant-layout-sider-children::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.app-sider .ant-layout-sider-children::-webkit-scrollbar-thumb:hover{background:#ffffff80}.app-layout.loading{pointer-events:none}.app-layout.loading:after{content:"";position:fixed;inset:0;background:#fffc;z-index:9999;display:flex;align-items:center;justify-content:center}body.dark-theme .app-layout.loading:after{background:#0a1929e6}.app-menu .ant-menu-item:focus,.app-menu .ant-menu-submenu-title:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.collapse-btn:focus{outline:2px solid #25606f;outline-offset:2px}.app-menu .ant-menu-item[data-menu-id*=project-]{background:#ffffff0d!important;margin:2px 8px 2px 4px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.1)!important;padding-left:16px!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-]{margin:4px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-] .ant-menu-item-icon+*{display:none!important;width:0!important;margin:0!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-] .ant-menu-title-content{display:none!important;width:0!important;margin:0!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-]{padding-left:0!important;padding-right:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-] .ant-menu-item-icon{margin-right:0!important;margin-left:0!important}.app-menu .ant-menu-item[data-menu-id*=project-]:hover{background:#ffffff26!important;border-color:#ffffff4d!important}.app-menu .ant-menu-submenu[data-menu-id*=project-]>.ant-menu-submenu-title{background:#ffffff0d!important;margin:2px 8px 2px 4px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.1)!important;padding-left:16px!important}.app-menu .ant-menu-submenu[data-menu-id*=project-]>.ant-menu-submenu-title:hover{background:#ffffff26!important;border-color:#ffffff4d!important}.app-menu .ant-menu-submenu .ant-menu-item{padding-left:44px!important;background:transparent!important;margin:0 0 0 4px!important;border:none!important;border-radius:0!important}.app-menu .ant-menu-submenu .ant-menu-item:hover{background:#ffffff1a!important}.app-menu .ant-menu-submenu .ant-menu-item-selected{background:#fff3!important;color:#fff!important}.app-menu .ant-menu-item-icon>span{display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item{margin:4px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;position:relative!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item .ant-menu-title-content{display:none!important;width:0!important;margin:0!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item .ant-menu-item-icon+*{display:none!important;width:0!important;margin:0!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item-icon,.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-] .ant-menu-item-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:100%!important;margin:0 auto!important;padding:0!important;flex:0 0 auto!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item-icon>span{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-item[data-menu-id*=project-] .ant-menu-item-icon>span{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;margin:0 auto!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-submenu-title{margin:4px!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-submenu-title .ant-menu-title-content{display:none!important;width:0!important;margin:0!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-submenu-title .ant-menu-item-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:100%!important;padding:0!important;flex:0 0 auto!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-submenu-title .ant-menu-item-icon>span{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .app-menu .ant-menu-submenu-title .ant-menu-item-icon+*{display:none!important;width:0!important;margin:0!important;padding:0!important}.sidebar-project-avatar-item.project-avatar-custom{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;margin:0 auto!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item.project-avatar-custom{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border-radius:5px!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important}.sidebar-project-avatar-item.project-avatar-custom svg{font-size:10px!important;display:block!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item.project-avatar-custom svg{font-size:12px!important}.sidebar-project-avatar-item.project-avatar-default-logo{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;margin:0 auto!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item.project-avatar-default-logo{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;border-radius:5px!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important}.sidebar-project-avatar-item.project-avatar-default-logo img{width:12px!important;height:12px!important;display:block!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item.project-avatar-default-logo img{width:14px!important;height:14px!important}.sidebar-project-avatar-item .ant-avatar,.sidebar-project-avatar-item.ant-avatar{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;line-height:20px!important;border-radius:4px!important;font-size:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto!important;padding:0!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item .ant-avatar,.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item.ant-avatar{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;line-height:24px!important;border-radius:5px!important;font-size:11px!important;margin:0 auto!important;display:flex!important;align-items:center!important;justify-content:center!important}.sidebar-project-avatar-item img{width:20px!important;height:20px!important;border-radius:4px!important;object-fit:cover;display:block!important;margin:0 auto!important}.app-sider.ant-layout-sider-collapsed .sidebar-project-avatar-item img{width:24px!important;height:24px!important;border-radius:5px!important;margin:0 auto!important;display:block!important}.app-menu .ant-menu-item:hover .sidebar-project-avatar-item{transform:scale(1.1);transition:transform .2s ease}.first-run-page{min-height:100vh;background:linear-gradient(135deg,#f0f7f8,#e8f4f6,#d4e8eb);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}body.dark-theme .first-run-page{background:linear-gradient(135deg,#0f1e24,#152830,#1a3340)}.first-run-theme-switch{position:fixed;top:20px;right:20px;z-index:1000}.first-run-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(37,96,111,.1) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(58,122,138,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite;z-index:0}body.dark-theme .first-run-page:before{background:radial-gradient(circle at 30% 20%,rgba(37,96,111,.3) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(58,122,138,.3) 0%,transparent 50%)}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.first-run-container{position:relative;z-index:1;width:100%;max-width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.first-run-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #25606f1a,0 4px 16px #25606f0d;border:1px solid rgba(255,255,255,.2);padding:40px 32px;animation:slideUp .6s ease-out;width:100%;max-width:500px}body.dark-theme .first-run-card{background:#152830f2;box-shadow:0 8px 32px #0006,0 4px 16px #0000004d;border:1px solid rgba(37,96,111,.3)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.first-run-header{text-align:center;margin-bottom:32px}.first-run-logo{margin-bottom:24px;display:flex;justify-content:center;align-items:center}.first-run-logo-image{height:48px;width:auto;max-width:280px;animation:fadeInScale .8s ease-out;transition:filter .3s ease}body.dark-theme .first-run-logo-image{filter:brightness(0) invert(1)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.first-run-title{margin-bottom:12px!important;color:#25606f;font-weight:600}body.dark-theme .first-run-title{color:#69d0e6}.first-run-subtitle{font-size:14px;color:#666;text-align:center;margin-bottom:8px;display:block}body.dark-theme .first-run-subtitle{color:#8ba5bf}.first-run-form{margin-top:24px}.first-run-form .ant-form-item-label>label{font-weight:600;color:#2d2d2d}body.dark-theme .first-run-form .ant-form-item-label>label{color:#69d0e6}.first-run-form .ant-input-affix-wrapper{border-radius:8px;border:1px solid #d4e8eb;transition:all .3s ease}.first-run-form .ant-input-affix-wrapper:hover{border-color:#25606f;box-shadow:0 0 0 2px #25606f1a}.first-run-form .ant-input-affix-wrapper-focused{border-color:#25606f;box-shadow:0 0 0 2px #25606f33}.first-run-form .ant-input-prefix{color:#25606f}.first-run-submit{margin-top:24px;margin-bottom:0}.first-run-submit .ant-btn{height:48px;border-radius:8px;font-weight:600;font-size:16px;background:linear-gradient(135deg,#25606f,#3a7a8a);border:none;box-shadow:0 4px 12px #25606f4d;transition:all .3s ease}.first-run-submit .ant-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #25606f66}.first-run-submit .ant-btn:active{transform:translateY(0)}.first-run-error{margin-bottom:24px;border-radius:8px}.first-run-footer{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}body.dark-theme .first-run-footer{border-top:1px solid rgba(37,96,111,.3)}.first-run-info{font-size:12px;line-height:1.4;display:block}body.dark-theme .first-run-info{color:#5c7a95}.first-run-version{margin-top:8px;text-align:center}.first-run-version .version-text{font-size:11px;color:#00000059;transition:color .3s ease}body.dark-theme .first-run-version .version-text{color:#ffffff40}@media (max-width: 480px){.first-run-page{padding:16px}.first-run-card{padding:32px 24px}.first-run-logo-image{height:40px;max-width:240px}.first-run-subtitle{font-size:13px}}.ant-form-item-has-error .ant-input-affix-wrapper{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.app{min-height:100vh;background:var(--bg-page)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1a4a57}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.full-width{width:100%}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.custom-card{border-radius:12px;box-shadow:0 2px 8px #25606f1a;transition:all .3s ease}.custom-card:hover{box-shadow:0 4px 16px #25606f26;transform:translateY(-2px)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:40px}.error-message{color:#f44336;text-align:center;padding:20px;background:#ffebee;border-radius:8px;border:1px solid #ffcdd2}body.dark-theme .error-message{background:#f443361a;border-color:#f443364d;color:#ff8a80}.success-message{color:#3a7a8a;text-align:center;padding:20px;background:#e8f5e8;border-radius:8px;border:1px solid #c8e6c9}body.dark-theme .success-message{background:#3a7a8a1a;border-color:#3a7a8a4d;color:#69d0e6}.ant-message{z-index:9999!important;position:fixed!important;top:100px!important}.ant-message-notice{z-index:9999!important}.ant-message-notice-content{background:var(--bg-primary)!important;box-shadow:0 4px 12px #00000026!important;border-radius:6px!important}
