.screen-list-page{min-height:100%;padding:24px;background:#f8fafc}.screen-list-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.screen-list-page .page-header .header-left .page-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif}.screen-list-page .page-header .header-left .page-stats{display:flex;align-items:center;gap:12px;font-size:13px}.screen-list-page .page-header .header-left .page-stats .stat-item{display:inline-flex;align-items:center;gap:4px;color:#64748b}.screen-list-page .page-header .header-left .page-stats .stat-item .anticon{font-size:12px}.screen-list-page .page-header .header-left .page-stats .stat-item .stat-label{color:#94a3b8}.screen-list-page .page-header .header-left .page-stats .stat-item .stat-value{font-weight:600;color:#1e293b}.screen-list-page .page-header .header-left .page-stats .stat-divider{color:#e2e8f0}.screen-list-page .page-header .header-right{display:flex;gap:12px}.screen-list-page .filter-card{margin-bottom:20px;border-radius:12px;box-shadow:0 1px 3px #0000000a}.screen-list-page .filter-card .ant-card-body{padding:16px 20px}.screen-list-page .filter-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.screen-list-page .filter-toolbar .filter-left{display:flex;align-items:center;gap:12px}.screen-list-page .filter-toolbar .filter-left .ant-segmented{background:#f1f5f9}.screen-list-page .filter-toolbar .filter-left .ant-segmented .ant-segmented-item-selected{background:#fff;box-shadow:0 1px 3px #00000014}.screen-list-page .filter-toolbar .filter-right{display:flex;align-items:center;gap:8px}.screen-list-page .empty-card{border-radius:12px;padding:60px 0}.screen-list-page .empty-card .empty-text p{margin:0 0 4px;font-size:15px;color:#64748b}.screen-list-page .screen-grid{margin-top:4px}.screen-list-page .screen-card{border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;height:100%;background:#fff;cursor:pointer;position:relative}.screen-list-page .screen-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px #0000001f;border-color:transparent}.screen-list-page .screen-card:hover .card-indicator{height:6px}.screen-list-page .screen-card.is-template{border-color:#f59e0b4d}.screen-list-page .screen-card.is-template:hover{box-shadow:0 16px 32px #f59e0b33}.screen-list-page .screen-card .ant-card-body{padding:0}.screen-list-page .screen-card .ant-card-actions{border-top:1px solid #f0f0f0;background:#fafbfc;margin-top:0}.screen-list-page .screen-card .ant-card-actions li{margin:10px 0;color:#94a3b8}.screen-list-page .screen-card .ant-card-actions li span{transition:all .2s}.screen-list-page .screen-card .ant-card-actions li span:hover{color:#6366f1;transform:scale(1.1)}.screen-list-page .card-indicator{height:4px;transition:height .2s ease}.screen-list-page .card-indicator.screen{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.screen-list-page .card-indicator.template{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.screen-list-page .card-content{padding:16px 18px 14px}.screen-list-page .card-tags{display:flex;align-items:center;gap:8px;margin-bottom:10px}.screen-list-page .type-tag{font-size:11px;line-height:20px;padding:0 8px;border-radius:10px;font-weight:500;border:none}.screen-list-page .type-tag .anticon{margin-right:3px;font-size:10px}.screen-list-page .type-tag.template-tag{background:linear-gradient(135deg,#f59e0b26,#f59e0b40);color:#c57f08}.screen-list-page .type-tag.screen-tag{background:linear-gradient(135deg,#3b82f61f,#3b82f633);color:#2372f5}.screen-list-page .status-tag{font-size:11px;line-height:20px;padding:0 8px;border-radius:10px;font-weight:500;border:none}.screen-list-page .status-tag.online{background:#22c55e26;color:#1a9a49}.screen-list-page .status-tag.offline{background:#f1f5f9;color:#94a3b8}.screen-list-page .card-title{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-list-page .card-desc{font-size:13px;color:#64748b;margin:0 0 14px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:40px;line-height:1.6}.screen-list-page .card-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#94a3b8;padding-top:12px;border-top:1px dashed #e2e8f0}.screen-list-page .card-meta .meta-item{display:inline-flex;align-items:center;gap:4px}.screen-list-page .card-meta .meta-item .anticon{font-size:11px}.screen-list-page .pagination-wrapper{display:flex;justify-content:center;margin-top:32px;padding:16px 0}.screen-list-page .pagination-wrapper .ant-pagination .ant-pagination-item-active{border-color:#6366f1}.screen-list-page .pagination-wrapper .ant-pagination .ant-pagination-item-active a{color:#6366f1}.screen-list-page .ant-ribbon{top:12px;font-size:11px;padding:2px 10px}@media (max-width: 768px){.screen-list-page{padding:16px}.screen-list-page .page-header{flex-direction:column;gap:16px}.screen-list-page .page-header .header-right{width:100%;justify-content:flex-end}.screen-list-page .filter-toolbar{flex-direction:column;align-items:stretch}.screen-list-page .filter-toolbar .filter-left,.screen-list-page .filter-toolbar .filter-right{width:100%;justify-content:space-between}}.create-modal .ant-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026}.create-modal .ant-modal-header{background:transparent;border-bottom:1px solid #e2e8f0;padding:20px 24px}.create-modal .ant-modal-header .ant-modal-title{font-size:18px;font-weight:600;color:#1e293b}.create-modal .ant-modal-body{padding:24px}.create-modal .ant-modal-close{color:#94a3b8}.create-modal .ant-modal-close:hover{color:#1e293b}.create-modal .template-selector{display:flex;gap:16px;margin-bottom:24px}.create-modal .template-selector .template-option{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;transition:all .25s ease;background:#fafbfc}.create-modal .template-selector .template-option .option-icon{font-size:32px;color:#94a3b8;margin-bottom:12px;transition:all .25s ease}.create-modal .template-selector .template-option span{font-size:14px;color:#64748b;font-weight:500}.create-modal .template-selector .template-option:hover{border-color:#6366f1;background:#6366f10a;transform:translateY(-2px)}.create-modal .template-selector .template-option:hover .option-icon{color:#6366f1;transform:scale(1.1)}.create-modal .template-selector .template-option.active{border-color:#6366f1;border-style:solid;background:#6366f10f;box-shadow:0 4px 12px #6366f126}.create-modal .template-selector .template-option.active .option-icon{color:#6366f1}.create-modal .template-selector .template-option.active span{color:#6366f1;font-weight:600}.create-modal .ant-form-item-label>label{color:#1e293b;font-weight:500}.create-modal .ant-input,.create-modal .ant-input-affix-wrapper{background:#fafbfc;border-color:#e2e8f0;border-radius:8px}.create-modal .ant-input:hover,.create-modal .ant-input-affix-wrapper:hover,.create-modal .ant-input:focus,.create-modal .ant-input-affix-wrapper:focus{border-color:#6366f1}.create-modal .ant-input::placeholder,.create-modal .ant-input-affix-wrapper::placeholder{color:#94a3b8}.create-modal .ant-input-textarea textarea{background:#fafbfc;border-color:#e2e8f0;border-radius:8px}.create-modal .ant-input-textarea textarea:hover,.create-modal .ant-input-textarea textarea:focus{border-color:#6366f1}.create-modal .ant-input-textarea textarea::placeholder{color:#94a3b8}.create-modal .ant-btn-default{border-color:#e2e8f0;color:#64748b}.create-modal .ant-btn-default:hover{border-color:#6366f1;color:#6366f1}.create-modal .ant-btn-primary{background:#6366f1;border-color:#6366f1;box-shadow:0 2px 8px #6366f14d}.create-modal .ant-btn-primary:hover{background:#7a7df3;border-color:#7a7df3}.template-modal .ant-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026}.template-modal .ant-modal-header{background:transparent;border-bottom:1px solid #e2e8f0;padding:20px 24px}.template-modal .ant-modal-header .ant-modal-title{font-size:18px;font-weight:600;color:#1e293b}.template-modal .ant-modal-body{padding:24px}.template-modal .ant-modal-footer{border-top:1px solid #e2e8f0;padding:16px 24px}.template-modal .template-card{cursor:pointer;transition:all .3s;border-radius:12px;overflow:hidden;border:2px solid transparent;background:#fff}.template-modal .template-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.template-modal .template-card.selected{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.template-modal .template-card .template-cover{height:120px;position:relative}.template-modal .template-card .template-cover .selected-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#6366f1d9;display:flex;align-items:center;justify-content:center}.template-modal .template-card .template-cover .selected-overlay span{color:#fff;font-size:16px;font-weight:600}.template-modal .template-card .ant-card-meta-title{color:#1e293b;font-weight:600}.template-modal .template-card .ant-card-meta-description{color:#94a3b8}.screen-editor{height:100vh;background:#1a1a2e}.editor-loading{height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.editor-loading .ant-spin-text{color:#fff}.editor-header{height:56px;padding:0 16px;background:#16213e!important;border-bottom:1px solid #2d3748;display:flex;align-items:center;justify-content:space-between}.editor-header .header-left{display:flex;align-items:center;gap:16px}.editor-header .header-left .ant-btn{color:#94a3b8}.editor-header .header-left .ant-btn:hover{color:#fff}.editor-header .header-left .screen-name{color:#fff;font-size:16px;font-weight:500}.editor-header .header-center{display:flex;align-items:center}.editor-header .header-center .ant-btn{color:#94a3b8}.editor-header .header-center .ant-btn:hover{color:#fff}.editor-header .header-center .divider{width:1px;height:20px;background:#2d3748;margin:0 8px}.editor-header .header-center .scale-text{color:#94a3b8;font-size:13px;min-width:48px;text-align:center}.editor-header .header-right{display:flex;align-items:center}.editor-body{height:calc(100vh - 56px);background:#0f0f1a}.editor-left-panel{background:#16213e!important;border-right:1px solid #2d3748}.editor-left-panel .ant-layout-sider-children{display:flex;flex-direction:column}.editor-left-panel .ant-tabs{height:100%}.editor-left-panel .ant-tabs .ant-tabs-nav{margin:0;padding:0 16px;background:#1a1a2e}.editor-left-panel .ant-tabs .ant-tabs-nav .ant-tabs-tab{color:#94a3b8}.editor-left-panel .ant-tabs .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#6366f1}.editor-left-panel .ant-tabs .ant-tabs-content-holder{overflow:auto}.editor-left-panel .ant-tabs .ant-tabs-content{height:100%}.editor-left-panel .ant-tabs .ant-tabs-tabpane{height:100%;padding:16px}.editor-right-panel{background:#16213e!important;border-left:1px solid #2d3748}.editor-right-panel .ant-layout-sider-children{display:flex;flex-direction:column}.editor-right-panel .ant-tabs{height:100%}.editor-right-panel .ant-tabs .ant-tabs-nav{margin:0;padding:0 16px;background:#1a1a2e}.editor-right-panel .ant-tabs .ant-tabs-nav .ant-tabs-tab{color:#94a3b8}.editor-right-panel .ant-tabs .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#6366f1}.editor-right-panel .ant-tabs .ant-tabs-content-holder{overflow:auto}.editor-right-panel .ant-tabs .ant-tabs-content{height:100%}.editor-right-panel .ant-tabs .ant-tabs-tabpane{height:100%;padding:16px}.editor-right-panel .no-selection{display:flex;align-items:center;justify-content:center;height:200px;color:#64748b;text-align:center}.editor-canvas-area{display:flex;flex-direction:column;background:#0d1117;overflow:hidden;padding:0!important}.page-tabs{height:40px;background:#16213e;border-bottom:1px solid #2d3748;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.page-tabs .page-tabs-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.page-tabs .page-tabs-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.page-tabs .page-tabs-list{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.page-tabs .page-tab{height:32px;padding:0 12px;display:flex;align-items:center;gap:6px;color:#94a3b8;font-size:13px;cursor:pointer;border-radius:4px;transition:all .2s;position:relative;-webkit-user-select:none;user-select:none}.page-tabs .page-tab .page-tab-close{font-size:10px;opacity:0;transition:opacity .2s,color .2s;padding:2px;border-radius:2px}.page-tabs .page-tab .page-tab-close:hover{color:#ef4444!important;background:#ef44441a}.page-tabs .page-tab:hover{background:#6366f11a;color:#fff}.page-tabs .page-tab:hover .page-tab-close{opacity:1}.page-tabs .page-tab.active{background:#6366f1;color:#fff}.page-tabs .page-tab.active .page-tab-close{opacity:.7}.page-tabs .page-tab.active .page-tab-close:hover{opacity:1}.page-tabs .add-page-btn{color:#94a3b8}.page-tabs .add-page-btn:hover{color:#6366f1}.canvas-container{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:40px;background:linear-gradient(90deg,#1e2939 1px,transparent 1px),linear-gradient(#1e2939 1px,transparent 1px);background-size:20px 20px;background-position:center center}.canvas-wrapper{transition:transform .2s ease}.canvas-controls{height:40px;background:#16213e;border-top:1px solid #2d3748;display:flex;align-items:center;justify-content:center}.canvas-controls .ant-btn{color:#94a3b8}.canvas-controls .ant-btn:hover{color:#fff}.canvas-controls span{color:#94a3b8;font-size:13px;min-width:48px;text-align:center}.component-panel{padding:0 8px;color:#e2e8f0}.component-panel .ant-tabs-nav{margin:0 0 8px}.component-panel .ant-tabs-nav .ant-tabs-tab{color:#94a3b8}.component-panel .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-btn{color:inherit}.component-panel .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.component-panel .ant-tabs-nav .ant-tabs-ink-bar{background:#6366f1}.component-panel .ant-input-affix-wrapper{background-color:#0f172a;border-color:#334155;color:#f1f5f9}.component-panel .ant-input-affix-wrapper input{background-color:transparent;color:#f1f5f9}.component-panel .ant-input-affix-wrapper input::placeholder{color:#64748b}.component-panel .ant-input-affix-wrapper .anticon{color:#64748b}.component-panel .ant-input-affix-wrapper:hover,.component-panel .ant-input-affix-wrapper:focus,.component-panel .ant-input-affix-wrapper-focused{border-color:#6366f1}.component-panel .ant-collapse .ant-collapse-item{border-bottom:1px solid #334155}.component-panel .ant-collapse .ant-collapse-item:last-child{border-bottom:none}.component-panel .ant-collapse .ant-collapse-header{color:#e2e8f0!important;font-weight:600!important;padding:12px 0!important}.component-panel .ant-collapse .ant-collapse-header .ant-collapse-expand-icon{color:#94a3b8}.component-panel .ant-collapse .ant-collapse-content-box{padding:0 0 16px!important}.component-panel .component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.component-panel .component-item{position:relative;aspect-ratio:1;background:#1e293b;border:1px solid #334155;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;transition:all .2s;padding:4px}.component-panel .component-item:hover{border-color:#818cf8;background:#6366f126;transform:translateY(-2px)}.component-panel .component-item:hover .favorite-remove-btn{opacity:1}.component-panel .component-item:hover .component-icon{color:#fff;transform:scale(1.1)}.component-panel .component-item:hover .component-name{color:#fff}.component-panel .component-item:active{cursor:grabbing;transform:translateY(0)}.component-panel .component-item .component-icon{font-size:24px;color:#818cf8;margin-bottom:6px;transition:all .2s}.component-panel .component-item .component-name{font-size:12px;color:#cbd5e1;text-align:center;line-height:1.2;transform:scale(.9);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.component-panel .favorite-remove-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;min-width:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#94a3b8;opacity:0;transition:opacity .15s ease}.component-panel .favorite-remove-btn:hover{color:#f87171;background:#f8717126}.component-panel .favorite-remove-btn .anticon{color:inherit}.component-panel .favorite-remove-btn.ant-btn-text:hover,.component-panel .favorite-remove-btn.ant-btn-text:focus-visible,.component-panel .favorite-remove-btn.ant-btn:hover,.component-panel .favorite-remove-btn.ant-btn:focus-visible{color:#f87171}.component-panel .ant-empty-description{color:#94a3b8}.screen-editor .anticon{color:inherit}.screen-editor .ant-btn{color:#e2e8f0}.screen-editor .ant-btn .anticon{color:inherit}.screen-editor .ant-btn-default,.screen-editor .ant-btn-color-default{background:#0f172a;border-color:#334155}.screen-editor .ant-btn-default:hover,.screen-editor .ant-btn-default:focus-visible,.screen-editor .ant-btn-color-default:hover,.screen-editor .ant-btn-color-default:focus-visible,.screen-editor .ant-btn-default:not(:disabled):hover,.screen-editor .ant-btn-color-default:not(:disabled):hover{color:#fff;border-color:#818cf8;background:#6366f126}.screen-editor .ant-btn-text,.screen-editor .ant-btn-link{color:#e2e8f0}.screen-editor .ant-btn-text:hover,.screen-editor .ant-btn-link:hover{color:#fff;background:#94a3b81f}.screen-editor .ant-dropdown-menu{background:#0f172a;border:1px solid #334155}.screen-editor .ant-dropdown-menu-item,.screen-editor .ant-dropdown-menu-submenu-title{color:#e2e8f0}.screen-editor .ant-dropdown-menu-item:hover,.screen-editor .ant-dropdown-menu-submenu-title:hover{background:#94a3b81f}.screen-editor .ant-modal-content,.screen-editor .ant-popover-inner{background:#0f172a;color:#e2e8f0;border:1px solid #334155}.screen-editor .ant-modal-title{color:#f1f5f9}.screen-editor .ant-modal-confirm-title,.screen-editor .ant-modal-confirm-content{color:#e2e8f0}.screen-editor .ant-tabs-tab{color:#94a3b8}.screen-editor .ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff!important}.add-component-modal .ant-modal-content{background:#0f172a;color:#e2e8f0}.add-component-modal .ant-modal-header{background:#0f172a;border-bottom:1px solid #1f2937}.add-component-modal .ant-modal-header .ant-modal-title{color:#e2e8f0}.add-component-modal .ant-modal-close{color:#cbd5e1}.add-component-modal .ant-modal-close:hover{color:#fff}.add-component-modal .ant-modal-body{background:#0b1220}.add-component-modal .ant-btn-text,.add-component-modal .ant-btn-link{color:#e2e8f0}.add-component-modal .ant-btn-text .anticon,.add-component-modal .ant-btn-link .anticon{color:inherit}.add-component-modal .ant-btn-text:hover,.add-component-modal .ant-btn-link:hover{color:#fff;background:#94a3b81f}.layer-panel .layer-list{display:flex;flex-direction:column;gap:4px}.layer-panel .layer-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#1a1a2e;border:1px solid #2d3748;border-radius:6px;cursor:pointer;transition:all .2s}.layer-panel .layer-item:hover{border-color:#6366f1}.layer-panel .layer-item.selected{border-color:#6366f1;background:#6366f126}.layer-panel .layer-item .layer-info{display:flex;align-items:center;gap:8px}.layer-panel .layer-item .layer-info .layer-icon{color:#6366f1}.layer-panel .layer-item .layer-info .layer-name{color:#e2e8f0;font-size:13px}.layer-panel .layer-item .layer-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.layer-panel .layer-item .layer-actions .ant-btn{color:#94a3b8}.layer-panel .layer-item .layer-actions .ant-btn:hover{color:#fff}.layer-panel .layer-item .layer-actions .ant-btn.delete-btn:hover{color:#ef4444}.layer-panel .layer-item:hover .layer-actions{opacity:1}.properties-panel{padding-right:8px}.properties-panel .prop-section{margin-bottom:24px}.properties-panel .prop-section .section-title{color:#e2e8f0;font-size:13px;font-weight:600;margin-bottom:16px;padding-left:8px;border-left:3px solid #6366f1;line-height:1}.properties-panel .prop-section .prop-row{display:flex;align-items:center;margin-bottom:12px}.properties-panel .prop-section .prop-row .prop-label{width:80px;color:#94a3b8;font-size:13px;padding-right:8px}.properties-panel .prop-section .prop-row .prop-value{flex:1}.properties-panel .prop-section .prop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.properties-panel .prop-section .prop-grid .prop-grid-item{display:flex;flex-direction:column;gap:4px}.properties-panel .prop-section .prop-grid .prop-grid-item .prop-grid-label{color:#94a3b8;font-size:12px}.properties-panel .prop-section .prop-grid .ant-input-number{width:100%}.properties-panel .ant-input,.properties-panel .ant-input-number,.properties-panel .ant-select-selector,.properties-panel .ant-input-number-input{background:#0f172a!important;border-color:#334155!important;color:#f1f5f9!important;border-radius:4px!important}.properties-panel .ant-input:hover,.properties-panel .ant-input-number:hover,.properties-panel .ant-select-selector:hover,.properties-panel .ant-input-number-input:hover,.properties-panel .ant-input:focus,.properties-panel .ant-input-number:focus,.properties-panel .ant-select-selector:focus,.properties-panel .ant-input-number-input:focus{border-color:#6366f1!important}.properties-panel .ant-input::placeholder,.properties-panel .ant-input-number::placeholder,.properties-panel .ant-select-selector::placeholder,.properties-panel .ant-input-number-input::placeholder{color:#475569}.properties-panel .ant-input-number-group-addon{background:#1e293b!important;border-color:#334155!important;color:#94a3b8!important}.properties-panel .ant-input-number-handler-wrap{background:#1e293b;border-color:#334155}.properties-panel .ant-input-number-handler-wrap .ant-input-number-handler{border-color:#334155}.properties-panel .ant-input-number-handler-wrap .ant-input-number-handler:hover .ant-input-number-handler-up-inner,.properties-panel .ant-input-number-handler-wrap .ant-input-number-handler:hover .ant-input-number-handler-down-inner{color:#6366f1}.properties-panel .ant-select-arrow{color:#94a3b8}.properties-panel .ant-slider-track{background:#6366f1}.properties-panel .ant-slider-rail{background-color:#334155!important}.properties-panel .ant-slider-handle{border-color:#6366f1;background-color:#1a1a2e}.properties-panel .ant-slider-handle:focus{box-shadow:0 0 0 4px #6366f133}.properties-panel .ant-color-picker-trigger{border-color:#334155!important;background:#0f172a!important}.properties-panel .ant-color-picker-trigger .ant-color-picker-color-block{border:1px solid rgba(255,255,255,.1)}.properties-panel .ant-color-picker-trigger .ant-color-picker-trigger-text{color:#f1f5f9}.properties-panel .ant-collapse .ant-collapse-header{color:#e2e8f0!important;padding:12px 0!important}.properties-panel .ant-collapse .ant-collapse-header .ant-collapse-expand-icon{color:#94a3b8}.properties-panel .ant-collapse .ant-collapse-content-box{padding:0 0 16px!important}.page-config-panel .config-section{margin-bottom:24px}.page-config-panel .config-section .section-header{color:#e2e8f0;font-size:14px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #2d3748}.page-config-panel .config-section .config-label{color:#94a3b8;font-size:12px;display:block;margin-bottom:6px}.page-config-panel .size-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.page-config-panel .size-presets .preset-btn{padding:4px 12px;background:#1a1a2e;border:1px solid #2d3748;border-radius:4px;color:#94a3b8;font-size:12px;cursor:pointer;transition:all .2s}.page-config-panel .size-presets .preset-btn:hover{border-color:#6366f1;color:#6366f1}.page-config-panel .size-presets .preset-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.page-config-panel .bg-preview{width:100%;height:120px;border-radius:8px;margin-bottom:12px;border:1px solid #2d3748}.page-config-panel .image-upload-area{border:2px dashed #2d3748;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:all .2s}.page-config-panel .image-upload-area:hover{border-color:#6366f1}.page-config-panel .image-upload-area .upload-icon{font-size:32px;color:#6366f1;margin-bottom:8px}.page-config-panel .image-upload-area .upload-text{color:#94a3b8;font-size:13px}.page-config-panel .image-upload-area .upload-hint{color:#64748b;font-size:12px;margin-top:4px}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.database-design-container{background:#0d1117;min-height:100vh}.database-design-container .ant-btn{border-color:#30363d}.database-design-container .ant-btn:not(.ant-btn-primary):not(.ant-btn-link):not(.ant-btn-text){background:#21262d;color:#e6edf3}.database-design-container .ant-btn:not(.ant-btn-primary):not(.ant-btn-link):not(.ant-btn-text):hover{background:#2d333b;border-color:#58a6ff;color:#58a6ff}.database-design-container .ant-btn.ant-btn-primary{background:#58a6ff;border-color:#58a6ff}.database-design-container .ant-btn.ant-btn-primary:hover{background:#8bc1ff}.database-design-container .ant-btn.ant-btn-text,.database-design-container .ant-btn.ant-btn-link{color:#8b949e}.database-design-container .ant-btn.ant-btn-text:hover,.database-design-container .ant-btn.ant-btn-link:hover{color:#58a6ff;background:#58a6ff1a}.database-design-container .ant-input{background:#21262d;border-color:#30363d;color:#e6edf3}.database-design-container .ant-input::placeholder{color:#6e7681}.database-design-container .ant-input:hover,.database-design-container .ant-input:focus{border-color:#58a6ff}.database-design-container .ant-select .ant-select-selector{background:#21262d!important;border-color:#30363d!important;color:#e6edf3!important}.database-design-container .ant-select:hover .ant-select-selector{border-color:#58a6ff!important}.database-design-container .ant-select .ant-select-selection-placeholder{color:#6e7681}.database-design-container .ant-input-number{background:#21262d;border-color:#30363d;color:#e6edf3}.database-design-container .ant-input-number .ant-input-number-input{color:#e6edf3}.database-design-container .ant-input-number:hover,.database-design-container .ant-input-number:focus-within{border-color:#58a6ff}.database-design-container .ant-form-item-label>label{color:#8b949e}.database-design-container .ant-tabs{color:#e6edf3}.database-design-container .ant-tabs .ant-tabs-tab{color:#8b949e}.database-design-container .ant-tabs .ant-tabs-tab:hover,.database-design-container .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#58a6ff}.database-design-container .ant-tabs .ant-tabs-ink-bar{background:#58a6ff}.database-design-container .ant-tag{background:#2d333b;border-color:#30363d;color:#8b949e}.database-design-container .ant-tooltip .ant-tooltip-inner,.database-design-container .ant-message .ant-message-notice-content{background:#2d333b;color:#e6edf3}.database-design-container .ant-modal .ant-modal-content{background:#161b22}.database-design-container .ant-modal .ant-modal-content .ant-modal-header{background:#161b22;border-color:#30363d}.database-design-container .ant-modal .ant-modal-content .ant-modal-header .ant-modal-title,.database-design-container .ant-modal .ant-modal-content .ant-modal-body{color:#e6edf3}.database-design-container .ant-modal .ant-modal-content .ant-modal-footer{border-color:#30363d}.database-design-container .ant-popconfirm .ant-popover-inner{background:#2d333b}.database-design-container .ant-popconfirm .ant-popover-inner .ant-popconfirm-message-title{color:#e6edf3}.database-design-container .ant-dropdown-menu{background:#2d333b;border:1px solid #30363d}.database-design-container .ant-dropdown-menu .ant-dropdown-menu-item{color:#e6edf3}.database-design-container .ant-dropdown-menu .ant-dropdown-menu-item:hover{background:#21262d}.database-design-container .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#f85149}.database-design-container .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{background:#f851491a}.database-design-container .ant-dropdown-menu .ant-dropdown-menu-item-divider{background:#30363d}.database-design-container .ant-checkbox .ant-checkbox-inner{background:#21262d;border-color:#30363d}.database-design-container .ant-checkbox.ant-checkbox-checked .ant-checkbox-inner{background:#58a6ff;border-color:#58a6ff}.database-design-container .ant-switch{background:#2d333b}.database-design-container .ant-switch.ant-switch-checked{background:#58a6ff}.database-design-container .ant-empty-description{color:#6e7681}.database-design-container .ant-badge-count{background:#58a6ff}.react-flow__node.selected .table-node-header{box-shadow:0 0 0 2px #58a6ff80}.react-flow__edge.selected .react-flow__edge-path{stroke:#58a6ff!important;stroke-width:3px}.react-flow__controls{background:#21262d;border:1px solid #30363d;border-radius:8px;box-shadow:0 4px 12px #0006;overflow:hidden}.react-flow__controls button{border:none!important;background:transparent!important;color:#8b949e!important}.react-flow__controls button:hover{background:#2d333b!important;color:#e6edf3!important}.react-flow__controls button svg{fill:currentColor!important}.react-flow__minimap{background:#161b22!important;border:1px solid #30363d;border-radius:8px;overflow:hidden}.react-flow__minimap .react-flow__minimap-mask{fill:#0d1117cc}.react-flow__background{background:#0d1117}.database-panel{animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.left-panel-dark{background:#161b22;border-right:1px solid #30363d}.left-panel-dark .panel-header{background:#21262d;border-bottom:1px solid #30363d;padding:12px 16px}.left-panel-dark .panel-header h3{color:#e6edf3;margin:0;font-weight:600}.left-panel-dark .search-box{padding:12px 16px;border-bottom:1px solid #30363d}.left-panel-dark .group-header{background:#21262d;border-radius:6px;margin:4px 8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.left-panel-dark .group-header:hover{background:#2d333b;border-color:#30363d}.left-panel-dark .group-header .group-name{color:#e6edf3;font-weight:500}.left-panel-dark .group-header .group-count{color:#6e7681;font-size:12px}.left-panel-dark .table-item{padding:8px 12px 8px 28px;margin:2px 8px;border-radius:4px;cursor:pointer;transition:all .2s ease;color:#8b949e}.left-panel-dark .table-item:hover{background:#21262d;color:#e6edf3}.left-panel-dark .table-item.selected{background:#58a6ff26;color:#58a6ff;border-left:2px solid #58a6ff}.left-panel-dark .table-item .table-name{font-weight:500}.left-panel-dark .table-item .table-desc{font-size:11px;color:#6e7681;margin-top:2px}.right-panel-dark{background:#161b22;border-left:1px solid #30363d}.right-panel-dark .panel-header{background:#21262d;border-bottom:1px solid #30363d;padding:12px 16px}.right-panel-dark .panel-header h3{color:#e6edf3;margin:0}.right-panel-dark .resize-handle{position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;cursor:col-resize;transition:background .2s}.right-panel-dark .resize-handle:hover{background:#58a6ff}.field-editor-dark .field-item{background:#21262d;border:1px solid #30363d;border-radius:8px;margin-bottom:8px;overflow:hidden}.field-editor-dark .field-item.is-primary{border-color:#d29922}.field-editor-dark .field-item.is-dragging{opacity:.5;box-shadow:0 8px 24px #0006}.field-editor-dark .field-item .field-header{padding:12px 16px;cursor:pointer;transition:background .2s}.field-editor-dark .field-item .field-header:hover{background:#2d333b}.field-editor-dark .field-item .field-header .field-name{color:#58a6ff;font-weight:600}.field-editor-dark .field-item .field-header .field-desc{color:#6e7681;font-size:12px}.field-editor-dark .field-item .field-header .field-type-tag{background:#2d333b;border-color:#30363d;color:#8b949e}.field-editor-dark .field-item .field-header .constraint-tag{background:#0d1117;border-color:#30363d;color:#6e7681;font-size:10px}.field-editor-dark .field-item .field-header .drag-handle{color:#6e7681;cursor:grab}.field-editor-dark .field-item .field-header .drag-handle:hover{color:#8b949e}.field-editor-dark .field-item .field-form{padding:16px;border-top:1px solid #30363d;background:#161b22}.field-editor-dark .add-field-btn{background:#21262d;border:1px dashed #30363d;color:#8b949e}.field-editor-dark .add-field-btn:hover{border-color:#58a6ff;color:#58a6ff;background:#58a6ff0d}.table-node-dark{background:#161b22;border-radius:10px;border:2px solid #30363d;box-shadow:0 8px 24px #0006;overflow:visible;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:240px;max-width:320px}.table-node-dark.selected{border-color:#58a6ff;box-shadow:0 0 0 4px #58a6ff33,0 12px 32px #00000080;transform:scale(1.02);z-index:100}.table-node-dark .node-header{padding:12px 14px;border-bottom:1px solid #30363d;cursor:grab}.table-node-dark .node-header .table-code{font-weight:700;font-size:14px;color:#e6edf3;letter-spacing:.025em}.table-node-dark .node-header .table-desc{font-size:11px;color:#6e7681;margin-top:2px}.table-node-dark .node-header .table-badge{background:#2d333b;color:#6e7681;font-size:10px;padding:2px 6px;border-radius:4px}.table-node-dark .node-fields{padding:4px 0}.table-node-dark .node-fields .field-row{padding:6px 10px;display:flex;align-items:center;gap:8px;position:relative;transition:background .2s}.table-node-dark .node-fields .field-row:hover{background:#21262d}.table-node-dark .node-fields .field-row.is-pk{background:#d299221a}.table-node-dark .node-fields .field-row.is-pk .field-name{color:#d29922}.table-node-dark .node-fields .field-row .field-icon{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}.table-node-dark .node-fields .field-row .field-name{color:#e6edf3;font-size:12px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-node-dark .node-fields .field-row .field-type{color:#6e7681;font-size:11px;font-family:JetBrains Mono,Fira Code,monospace}.table-node-dark .node-fields .field-row .field-constraints{display:flex;gap:2px}.table-node-dark .node-fields .field-row .field-constraints .constraint{background:#2d333b;color:#6e7681;font-size:9px;padding:1px 4px;border-radius:2px}.table-node-dark .react-flow__handle{background:#58a6ff;border:2px solid #161b22;opacity:.3;width:10px;height:10px;transition:all .2s ease}.table-node-dark:hover .react-flow__handle,.table-node-dark.selected .react-flow__handle{opacity:.8}.table-node-dark .react-flow__handle:hover{opacity:1!important;transform:translateY(-50%) scale(1.4);box-shadow:0 0 0 4px #58a6ff4d}.toolbar-dark{background:#21262d;border:1px solid #30363d;border-radius:8px;padding:8px 16px;box-shadow:0 4px 12px #0000004d}.toolbar-dark .toolbar-title{color:#e6edf3;font-weight:600}.toolbar-dark .toolbar-divider{width:1px;height:24px;background:#30363d;margin:0 8px}.database-design-container ::-webkit-scrollbar{width:8px;height:8px}.database-design-container ::-webkit-scrollbar-track{background:#0d1117}.database-design-container ::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}.database-design-container ::-webkit-scrollbar-thumb:hover{background:#6e7681}.react-flow__selection{background:#58a6ff1a!important;border:1px solid #58a6ff!important}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}html,body,#root{height:100%;overflow:hidden}body{margin:0;background:linear-gradient(135deg,#667eea,#764ba2);font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{height:100vh;overflow:hidden}.app-sider{display:flex;flex-direction:column;height:100%;min-height:0;position:relative;z-index:10;background:linear-gradient(180deg,#1e1e2d,#1a1a27)!important;box-shadow:4px 0 20px #00000026}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.app-logo{height:64px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);padding:0 20px}.app-logo .logo-icon{width:32px;height:32px;flex-shrink:0}.app-logo .logo-icon svg{width:100%;height:100%}.app-logo .logo-text{color:#fff!important;margin:0!important;font-size:16px;font-weight:600;white-space:nowrap;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-sider-menu{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0 16px}.app-sider-menu::-webkit-scrollbar{width:4px}.app-sider-menu::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.app-sider-menu .ant-menu{background:transparent;border-inline-end:none!important}.app-sider-menu .ant-menu .ant-menu-item,.app-sider-menu .ant-menu .ant-menu-submenu-title{margin:4px 12px;border-radius:8px;color:#ffffffa6}.app-sider-menu .ant-menu .ant-menu-item:hover,.app-sider-menu .ant-menu .ant-menu-submenu-title:hover{background:#6366f126;color:#fff}.app-sider-menu .ant-menu .ant-menu-item-selected{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;box-shadow:0 4px 12px #6366f166}.app-sider-menu .ant-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#a5b4fc}.app-main{display:flex;flex-direction:column;height:100%;background:linear-gradient(180deg,#f0f2f5,#e8ecf3);overflow:hidden;min-height:0}.app-header{background:#fff!important;padding:0 24px!important;display:flex;align-items:center;box-shadow:0 2px 8px #0000000f;position:sticky;top:0;z-index:9;height:64px;line-height:64px}.app-header-inner{display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px}.app-header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.app-header-center{flex:1;min-width:0;display:flex;align-items:center}.app-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-header-brand{display:flex;align-items:center;gap:10px;padding-right:8px;border-right:1px solid rgba(15,23,42,.08)}.app-header-brand .brand-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.app-header-brand .brand-icon svg{width:100%;height:100%;display:block}.app-header-brand .brand-text{font-weight:700;color:#0f172a;white-space:nowrap;line-height:28px}.app-header-menu{flex:1;min-width:0}.app-header-menu .ant-menu{background:transparent!important;border-bottom:none!important;line-height:48px}.app-header-menu .ant-menu-item,.app-header-menu .ant-menu-submenu-title{border-radius:10px;margin:0 6px;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.app-header-menu .ant-menu-item-selected{background:#6366f114!important;color:#3730a3!important;font-weight:600;box-shadow:0 6px 18px #6366f11f}.app-header-menu .ant-menu-horizontal>.ant-menu-item-selected:after,.app-header-menu .ant-menu-horizontal>.ant-menu-submenu-selected:after{border-bottom:3px solid transparent!important;border-image:linear-gradient(90deg,#6366f1,#8b5cf6) 1!important;border-radius:6px}.app-header-menu .ant-menu-item:hover,.app-header-menu .ant-menu-submenu-title:hover{background:#6366f10f!important}.app-header-menu .ant-menu-item-selected:hover,.app-header-menu .ant-menu-submenu-selected>.ant-menu-submenu-title:hover{background:#6366f11a!important;box-shadow:0 10px 24px #6366f129}.app-header-title{font-size:16px;font-weight:600;color:#1e293b}.user-dropdown{height:40px;padding:0 12px;border-radius:20px;transition:all .3s}.user-dropdown:hover{background:#f1f5f9}.app-main-content{flex:1;padding:24px;overflow:hidden;display:flex;min-height:0}.app-content{flex:1;display:flex;flex-direction:column;background:transparent;overflow:hidden;min-height:0}.app-content-scroll{flex:1;overflow:auto;display:flex;flex-direction:column;gap:16px;padding-right:4px}.app-content-scroll::-webkit-scrollbar{width:6px}.app-content-scroll::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.app-content-scroll::-webkit-scrollbar-thumb:hover{background:#0003}.app-footer{text-align:center;background:transparent!important;color:#64748b;padding:12px 24px 20px!important;font-size:13px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.login-bg-shape{position:absolute;border-radius:50%;opacity:.1;background:#fff;animation:float 20s ease-in-out infinite}.login-bg-shape-1{width:600px;height:600px;top:-200px;right:-200px;animation-delay:0s}.login-bg-shape-2{width:400px;height:400px;bottom:-100px;left:-100px;animation-delay:-7s}.login-bg-shape-3{width:300px;height:300px;bottom:20%;right:10%;animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(10px,-20px) scale(1.02)}50%{transform:translate(-5px,10px) scale(.98)}75%{transform:translate(-15px,-10px) scale(1.01)}}.login-card{width:420px;border-radius:16px!important;box-shadow:0 25px 50px -12px #00000040;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2!important;position:relative;z-index:1}.login-card .ant-card-body{padding:40px 40px 32px!important}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:56px;height:56px;margin:0 auto 16px}.login-logo svg{width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(99,102,241,.3))}.login-title{margin:0 0 8px!important;color:#1e293b!important;font-weight:700!important}.login-subtitle{font-size:14px;color:#64748b}.login-form .ant-form-item-label>label{font-weight:500;color:#475569}.login-form .ant-input-affix-wrapper{border-radius:8px;height:44px;display:flex;align-items:center;padding:0 11px}.login-form .ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:8px;display:flex;align-items:center}.login-form .ant-input-affix-wrapper .ant-input{height:auto;padding:0}.login-form .ant-input-affix-wrapper .ant-input-suffix{display:flex;align-items:center}.login-form .ant-input{border-radius:8px;height:44px}.login-form .input-icon{color:#94a3b8;font-size:16px}.login-button{height:44px!important;border-radius:8px!important;font-weight:600!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;box-shadow:0 4px 14px #6366f166;transition:all .3s!important}.login-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f180}.page-container{display:flex;flex-direction:column;gap:16px}.search-card{border-radius:12px;box-shadow:0 1px 3px #0000000d}.search-card .ant-card-body{padding:16px 20px!important}.ant-card{border-radius:12px;box-shadow:0 1px 3px #0000000d}.ant-card .ant-card-head{border-bottom:1px solid #f1f5f9;min-height:auto;padding:16px 20px}.ant-card .ant-card-head .ant-card-head-title{font-weight:600;color:#1e293b}.ant-card .ant-card-body{padding:20px}.stat-card{border-radius:12px;transition:all .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-card .ant-statistic-title{color:#64748b;font-size:13px;margin-bottom:8px}.stat-card .ant-statistic-content .ant-statistic-content-prefix{margin-right:8px}.stat-card-primary{border-left:4px solid #6366f1}.stat-card-success{border-left:4px solid #22c55e}.stat-card-warning{border-left:4px solid #f59e0b}.stat-card-info{border-left:4px solid #3b82f6}.ant-table .ant-table-thead>tr>th{background:#f8fafc;font-weight:600;color:#475569;border-bottom:1px solid #e2e8f0}.ant-table .ant-table-tbody>tr>td{border-bottom:1px solid #f1f5f9}.ant-table .ant-table-tbody>tr:hover>td{background:#f8fafc}.ant-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;box-shadow:0 2px 8px #6366f14d}.ant-btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 12px #6366f166}.ant-modal .ant-modal-content{border-radius:12px;overflow:hidden}.ant-modal .ant-modal-header{border-bottom:1px solid #f1f5f9;padding:16px 24px}.ant-modal .ant-modal-title{font-weight:600}.ant-modal .ant-modal-body{padding:24px}.ant-modal .ant-modal-footer{border-top:1px solid #f1f5f9;padding:12px 24px}.ant-drawer .ant-drawer-header{border-bottom:1px solid #f1f5f9;padding:16px 24px}.ant-drawer .ant-drawer-title{font-weight:600}.ant-drawer .ant-drawer-body{padding:24px}.ant-tag{border-radius:4px;border:none;padding:2px 8px}.ant-pagination{margin-top:16px}.ant-pagination .ant-pagination-item-active{border-color:#6366f1}.ant-pagination .ant-pagination-item-active a{color:#6366f1}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f1f5f9}.ant-tree .ant-tree-node-selected{background-color:#eef2ff!important}.dark-tabs .ant-tabs-nav:before{border-bottom-color:#334155!important}.dark-tabs .ant-tabs-tab{color:#94a3b8!important}.dark-tabs .ant-tabs-tab:hover{color:#e2e8f0!important}.dark-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#6366f1!important}.dark-tabs .ant-tabs-ink-bar{background:#6366f1!important}.dark-table .ant-table{background:transparent!important;color:#e2e8f0}.dark-table .ant-table-thead>tr>th{background:#0f172a!important;color:#94a3b8!important;border-bottom:1px solid #334155!important;font-weight:500;padding:8px 12px!important}.dark-table .ant-table-tbody>tr>td{background:#1e293b!important;border-bottom:1px solid #334155!important;padding:8px 12px!important}.dark-table .ant-table-tbody>tr:hover>td{background:#334155!important}.dark-table .ant-table-cell{color:#e2e8f0!important}.dark-table .ant-empty-description{color:#64748b}
