@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--c-bg: #f6f7fb;--c-bg-card: #ffffff;--c-surface-alt: #eef3f8;--c-surface-muted: #e4eaf2;--c-sidebar-bg: rgba(255, 255, 255, .9);--c-sidebar-border: rgba(20, 28, 45, .08);--c-border: rgba(20, 28, 45, .1);--c-border-light: rgba(20, 28, 45, .06);--c-text-primary: #151b2d;--c-text-secondary: #556174;--c-text-tertiary: #7b8797;--c-accent: #6d5dfc;--c-accent-light: rgba(109, 93, 252, .1);--c-accent-hover: #5948ea;--c-accent-glow: rgba(109, 93, 252, .2);--c-viora-aura: #14b8a6;--c-viora-aura-light: rgba(20, 184, 166, .14);--c-viora-ink: #151b2d;--c-green: #14a47c;--c-green-light: rgba(20, 164, 124, .12);--c-blue: #3b6ef5;--c-blue-light: rgba(59, 110, 245, .12);--c-red: #dc2626;--c-red-light: rgba(220, 38, 38, .1);--c-orange: #d97706;--c-orange-light: rgba(217, 119, 6, .12);--c-cyan: #0891b2;--c-cyan-light: rgba(8, 145, 178, .12);--c-rose: #e11d48;--c-rose-light: rgba(225, 29, 72, .12);--c-divider: rgba(20, 28, 45, .08);--c-glass: rgba(255, 255, 255, .84);--c-glass-border: rgba(255, 255, 255, .65);--c-shadow-sm: 0 8px 24px rgba(20, 28, 45, .06);--c-shadow-md: 0 16px 42px rgba(20, 28, 45, .1);--c-radius-sm: 10px;--c-radius-md: 12px;--c-radius-lg: 14px;--c-radius-xl: 16px}[data-theme=dark]{--c-bg: #0d1018;--c-bg-card: #181c27;--c-surface-alt: #202635;--c-surface-muted: #283143;--c-sidebar-bg: rgba(15, 18, 28, .92);--c-sidebar-border: rgba(255, 255, 255, .08);--c-border: rgba(255, 255, 255, .12);--c-border-light: rgba(255, 255, 255, .08);--c-text-primary: #f6f8ff;--c-text-secondary: #b6c1d4;--c-text-tertiary: #8190a6;--c-accent: #8b7cf6;--c-accent-light: rgba(139, 124, 246, .16);--c-accent-hover: #a99cff;--c-accent-glow: rgba(139, 124, 246, .32);--c-viora-aura: #2dd4bf;--c-viora-aura-light: rgba(45, 212, 191, .16);--c-viora-ink: #f6f8ff;--c-green: #2dd4bf;--c-green-light: rgba(45, 212, 191, .14);--c-blue: #60a5fa;--c-blue-light: rgba(96, 165, 250, .16);--c-red: #ef4444;--c-red-light: rgba(239, 68, 68, .14);--c-orange: #f5a524;--c-orange-light: rgba(245, 165, 36, .16);--c-cyan: #22d3ee;--c-cyan-light: rgba(34, 211, 238, .14);--c-rose: #f43f5e;--c-rose-light: rgba(244, 63, 94, .14);--c-divider: rgba(255, 255, 255, .1);--c-glass: rgba(26, 29, 35, .84);--c-glass-border: rgba(255, 255, 255, .1);--c-shadow-sm: 0 10px 30px rgba(0, 0, 0, .26);--c-shadow-md: 0 18px 52px rgba(0, 0, 0, .34)}.layout-container,.layout-main,.content{background:var(--c-bg)!important;color:var(--c-text-primary)}.sidebar{background:var(--c-sidebar-bg)!important;border-right-color:var(--c-sidebar-border)!important;box-shadow:var(--c-shadow-sm)!important}.header{background:var(--c-bg-card)!important;border-bottom-color:var(--c-border)!important}.sidebar-footer-card{background:var(--c-surface-alt);border:1px solid var(--c-border-light)}.content-container .ant-card,.content-container .ant-table,.content-container .ant-table-container,.content-container .ant-table-content{background:var(--c-bg-card)!important;color:var(--c-text-primary)!important}.content-container .ant-typography,.content-container .ant-form-item-label>label,.content-container .ant-empty-description,.ant-dropdown,.ant-dropdown-menu,.ant-modal,.ant-modal .ant-typography,.ant-modal label{color:var(--c-text-primary)!important}.content-container .ant-input,.content-container .ant-input-affix-wrapper,.content-container .ant-input-textarea textarea,.content-container .ant-select-selector,.ant-modal .ant-input,.ant-modal .ant-input-affix-wrapper,.ant-modal .ant-input-textarea textarea,.ant-modal .ant-select-selector{background:var(--c-bg-card)!important;border-color:var(--c-border)!important;color:var(--c-text-primary)!important}.content-container .ant-input::-moz-placeholder,.content-container .ant-input-textarea textarea::-moz-placeholder,.ant-modal .ant-input::-moz-placeholder,.ant-modal .ant-input-textarea textarea::-moz-placeholder{color:var(--c-text-tertiary)!important}.content-container .ant-input::placeholder,.content-container .ant-input-textarea textarea::placeholder,.ant-modal .ant-input::placeholder,.ant-modal .ant-input-textarea textarea::placeholder{color:var(--c-text-tertiary)!important}.ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown,.ant-modal-content{background:var(--c-bg-card)!important;border:1px solid var(--c-border)!important;box-shadow:var(--c-shadow-md)!important}.ant-dropdown-menu-item,.ant-select-item,.ant-modal-title,.ant-modal-confirm-title,.ant-modal-confirm-content{color:var(--c-text-primary)!important}.ant-dropdown-menu-item:hover,.ant-select-item-option-active{background:var(--c-accent-light)!important}.ant-select-item-option-selected{background:var(--c-accent-light)!important;color:var(--c-accent)!important}.ant-empty-description,.ant-typography-secondary,.ant-typography.ant-typography-secondary{color:var(--c-text-secondary)!important}.ant-btn:not(.ant-btn-primary){background:var(--c-bg-card);border-color:var(--c-border);color:var(--c-text-primary)}.ant-btn:not(.ant-btn-primary):not(:disabled):hover{background:var(--c-surface-alt);border-color:var(--c-accent);color:var(--c-accent)}.layout-container{height:100vh;width:100vw;overflow:hidden;background:var(--c-bg)}.layout-main{background:transparent!important;display:flex;flex-direction:column;overflow:hidden}.sidebar{background:var(--c-sidebar-bg)!important;backdrop-filter:blur(40px)!important;-webkit-backdrop-filter:blur(40px)!important;border-right:1px solid var(--c-sidebar-border)!important;box-shadow:var(--c-shadow-sm)!important}.sidebar-shell{height:100%;padding:16px 12px;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:10px;padding:6px 8px 16px;margin-bottom:4px;border-bottom:1px solid var(--c-border-light)}.logo-mark{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff38,#fff0),linear-gradient(135deg,var(--c-accent) 0%,var(--c-viora-aura) 100%);border:1px solid var(--c-glass-border);box-shadow:0 12px 28px var(--c-accent-glow);flex-shrink:0}.viora-mark{width:17px;height:18px;display:inline-block;position:relative}.viora-mark:before,.viora-mark:after{content:"";position:absolute;top:0;width:3px;height:18px;border-radius:999px;background:#fff;transform-origin:50% 100%}.viora-mark:before{left:3px;transform:rotate(-23deg)}.viora-mark:after{right:3px;transform:rotate(23deg)}.viora-mark--sm{width:12px;height:13px}.viora-mark--sm:before,.viora-mark--sm:after{width:2px;height:13px;background:var(--c-accent)}.logo-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.logo-text{margin:0;color:var(--c-text-primary);font-size:16px;font-weight:760;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-copy span{color:var(--c-viora-aura);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-label{margin:14px 8px 6px;color:var(--c-text-tertiary);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.menu{background:transparent!important;border-inline-end:none!important}.menu.ant-menu .ant-menu-item{height:38px;line-height:38px;margin:1px 0;border-radius:var(--c-radius-sm);color:var(--c-text-secondary);transition:all .15s ease}.menu.ant-menu .ant-menu-item .ant-menu-title-content{font-size:14px;font-weight:500}.menu.ant-menu .ant-menu-item:hover{color:var(--c-text-primary);background:var(--c-bg)!important}.menu.ant-menu .ant-menu-item-selected{color:var(--c-accent);background:linear-gradient(90deg,var(--c-accent-light),var(--c-viora-aura-light))!important;font-weight:600}.menu.ant-menu .ant-menu-item-selected .anticon{color:var(--c-accent)}.sidebar.ant-layout-sider-collapsed .sidebar-shell{align-items:center;padding:16px 12px}.sidebar.ant-layout-sider-collapsed .logo{width:40px;height:40px;justify-content:center;padding:0;margin:0 0 12px;border-bottom:none}.sidebar.ant-layout-sider-collapsed .logo-mark{width:40px;height:40px;border-radius:13px}.sidebar.ant-layout-sider-collapsed .menu{width:40px}.sidebar.ant-layout-sider-collapsed .menu.ant-menu-inline-collapsed>.ant-menu-item{width:40px;height:40px;line-height:40px;display:flex;align-items:center;justify-content:center;margin:4px 0;padding-inline:0!important}.sidebar.ant-layout-sider-collapsed .menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.sidebar.ant-layout-sider-collapsed .menu.ant-menu-inline-collapsed>.ant-menu-item svg{margin:0!important}.sidebar.ant-layout-sider-collapsed .menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-title-content{display:none}.sidebar-footer-card{margin-top:auto;display:flex;gap:10px;padding:12px;border-radius:var(--c-radius-sm);background:linear-gradient(135deg,var(--c-accent-light),var(--c-viora-aura-light)),var(--c-surface-alt);border:1px solid var(--c-border-light)}.sidebar-footer-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:9px;background:var(--c-bg-card);flex-shrink:0}.sidebar-footer-card strong{color:var(--c-text-primary);font-size:13px}.sidebar-footer-card p{margin:3px 0 0;color:var(--c-text-secondary);font-size:12px;line-height:1.45}.header{height:58px;padding:0 24px;background:var(--c-bg-card)!important;border-bottom:1px solid var(--c-border-light);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}.header-left{display:flex;gap:12px;align-items:center}.trigger{width:34px;height:34px;border-radius:var(--c-radius-sm);flex-shrink:0;color:var(--c-text-secondary);background:transparent!important;border:none!important;transition:all .15s ease}.trigger:hover{color:var(--c-text-primary)!important;background:var(--c-bg)!important}.header-copy{display:flex;align-items:center;gap:10px}.header-badge{display:none}.header-copy .ant-typography{margin:0!important;color:var(--c-text-primary)!important}.header-copy h3.ant-typography{font-size:16px!important;font-weight:600!important;letter-spacing:-.01em}.header-copy .ant-typography:not(h3){display:none}.theme-toggle-btn{width:34px;height:34px;border-radius:var(--c-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--c-text-secondary)!important;font-size:16px;transition:all .15s ease}.theme-toggle-btn:hover{color:var(--c-accent)!important;background:var(--c-accent-light)!important}.header-copy:before{content:"";display:block;width:1px;height:18px;background:var(--c-border)}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-online-dot{display:flex;align-items:center;gap:5px}.online-dot{width:7px;height:7px;border-radius:50%;background:var(--c-green);flex-shrink:0}.online-text{font-size:13px;font-weight:500;color:var(--c-text-secondary)}.profile-chip{display:flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border-radius:var(--c-radius-sm);background:transparent;border:1px solid var(--c-accent-light);cursor:pointer;transition:background .15s ease,border-color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-chip:hover{background:var(--c-bg);border-color:var(--c-accent)}.profile-copy{display:flex;flex-direction:column;line-height:1}.username{color:var(--c-text-primary);font-size:13px;font-weight:600}.profile-caret{font-size:10px;color:var(--c-text-tertiary);margin-left:2px}.content{flex:1;display:flex;flex-direction:column;padding:24px;background:var(--c-bg)!important;overflow:auto;min-height:0;position:relative}.content::-webkit-scrollbar{width:5px}.content::-webkit-scrollbar-track{background:transparent}.content::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:999px}.content::-webkit-scrollbar-thumb:hover{background:var(--c-accent)}.content-container{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;background:transparent}.content-container .ant-card{border-radius:var(--c-radius-sm)!important;border:1px solid var(--c-border)!important;box-shadow:var(--c-shadow-sm)!important;background:var(--c-bg-card)}.content-container .ant-table-wrapper .ant-table{background:transparent}.content-container .ant-table-wrapper .ant-table-thead>tr>th{background:var(--c-bg);color:var(--c-text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--c-border-light)}.content-container .ant-table-wrapper .ant-table-tbody>tr>td{border-bottom:1px solid var(--c-border-light)}.content-container .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--c-accent-light)!important}.content-container .ant-input-affix-wrapper,.content-container .ant-input,.content-container .ant-input-textarea textarea,.content-container .ant-select-selector{border-radius:var(--c-radius-sm)!important;border-color:var(--c-border)!important}.content-container .ant-btn{border-radius:var(--c-radius-sm);box-shadow:none;font-weight:500}.content-container .ant-btn-primary{background:var(--c-accent);border-color:var(--c-accent)}.content-container .ant-btn-primary:not(:disabled):hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.page-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-section-title{font-size:20px;font-weight:700;color:var(--c-text-primary);letter-spacing:-.02em;margin:0}.page-section-desc{margin:4px 0 0;color:var(--c-text-secondary);font-size:13px}.page-stats-row{display:flex;gap:12px;margin-bottom:20px}.page-stat-card{padding:16px 20px;border-radius:var(--c-radius-sm);background:var(--c-bg-card);border:1px solid var(--c-accent-light);min-width:130px}.page-stat-label{display:block;font-size:12px;color:var(--c-text-secondary);font-weight:500;margin-bottom:6px}.page-stat-value{display:block;font-size:28px;font-weight:700;color:var(--c-text-primary);line-height:1}@media (max-width: 1024px){.header{height:auto;padding:12px 16px;flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:flex-end}}@media (max-width: 768px){.content{padding:16px}.header{padding:12px 16px}.page-stats-row{flex-wrap:wrap}.page-stat-card{flex:1;min-width:100px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--c-text-primary);background:var(--c-bg)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--c-accent)}.flex-center{display:flex;align-items:center;justify-content:center}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-modal-content{border-radius:12px!important;overflow:hidden;box-shadow:0 8px 32px #7c3aed26!important}.ant-modal-header{padding:18px 24px 14px!important;border-bottom:1px solid var(--c-border-light)}.ant-modal-body{padding:12px 24px 16px!important}.ant-modal-footer{padding:12px 24px 18px!important;border-top:1px solid var(--c-border-light)}.ant-btn{font-weight:500;border-radius:8px!important;transition-duration:.15s!important}.ant-btn-primary{background:var(--c-accent)!important;border-color:var(--c-accent)!important}.ant-btn-primary:not(:disabled):hover{background:var(--c-accent-hover)!important;border-color:var(--c-accent-hover)!important}.ant-input:focus,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:var(--c-accent)!important;box-shadow:none!important}.ant-select-focused .ant-select-selector{border-color:var(--c-accent)!important;box-shadow:none!important}.ant-table-thead>tr>th{background:var(--c-bg)!important}.react-flow__node{border-radius:8px;border:1px solid var(--c-border);background:var(--c-bg-card)}.react-flow__node.selected{border-color:var(--c-accent);background:var(--c-accent-light)}.react-flow__edge-path{stroke:var(--c-border);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--c-accent)}
