html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}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;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}:root{--color-primary: #1d5fd6;--color-primary-hover: #3d7ae8;--color-primary-active: #1653b3;--color-primary-light: #eaf1ff;--color-primary-light-hover: #d7e7ff;--color-accent: #2aa7e0;--color-accent-hover: #5ac8f2;--color-accent-active: #1f88bd;--color-accent-light: #e6f8ff;--color-success: #1c8a4d;--color-success-hover: #22a45b;--color-success-active: #166f3c;--color-success-light: #e9faf0;--color-warning: #e57a1f;--color-warning-hover: #f09a3e;--color-warning-active: #c16817;--color-warning-light: #fff0db;--color-error: #d63f3f;--color-error-hover: #e05252;--color-error-active: #b93636;--color-error-light: #ffe7e7;--color-info: #1d5fd6;--color-info-hover: #3d7ae8;--color-info-active: #1653b3;--color-info-light: #eaf1ff;--color-bg-page: #f4f6fb;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-bg-spotlight: #f0f6ff;--color-bg-hover: #f0f5fd;--color-border: #e4e9f1;--color-border-light: #eef2f8;--color-border-dark: #d4dcea;--color-fill: #f4f8ff;--color-fill-hover: #e9f0fa;--color-text-primary: #1a2333;--color-text-secondary: #5f6b80;--color-text-tertiary: #9aa7bd;--color-text-disabled: #b6c0d2;--color-text-inverse: #ffffff;--color-sidebar-bg: #0b2b6e;--color-sidebar-bg-end: #071a4d;--color-sidebar-text: #e8f0ff;--color-sidebar-text-hover: #ffffff;--color-sidebar-active: #2aa7e0;--color-sidebar-active-bg: #1657a8;--color-sidebar-icon: #a9c3e8;--color-sidebar-icon-active: #8fd3ff;--color-chart-1: #1d5fd6;--color-chart-2: #e07a5f;--color-chart-3: #10b981;--color-chart-4: #8b5cf6;--color-chart-5: #f59e0b;--color-chart-6: #ec4899;--color-status-draft: #6b7a90;--color-status-pending: #e57a1f;--color-status-active: #22a45b;--color-status-completed: #1d5fd6;--color-status-failed: #d63f3f;--font-heading: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, sans-serif;--text-h1: 28px;--text-h2: 24px;--text-h3: 20px;--text-h4: 16px;--text-body-lg: 16px;--text-body: 14px;--text-body-sm: 13px;--text-caption: 12px;--text-overline: 11px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .05em;--tracking-widest: .1em;--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--header-height: 56px;--content-max-width: none;--content-padding: 24px;--card-padding: 24px;--card-padding-sm: 16px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(31, 64, 150, .05);--shadow-sm: 0 1px 3px rgba(31, 64, 150, .08), 0 1px 2px rgba(31, 64, 150, .06);--shadow-md: 0 4px 6px rgba(31, 64, 150, .07), 0 2px 4px rgba(31, 64, 150, .05);--shadow-lg: 0 10px 15px rgba(31, 64, 150, .1), 0 4px 6px rgba(31, 64, 150, .04);--shadow-xl: 0 20px 25px rgba(31, 64, 150, .1), 0 8px 10px rgba(31, 64, 150, .04);--shadow-focus: 0 0 0 3px rgba(29, 95, 214, .15);--shadow-card-hover: 0 8px 24px rgba(31, 64, 150, .12);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--breakpoint-mobile: 375px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-page);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E");-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-data{font-family:var(--font-body);font-weight:var(--weight-bold);color:var(--color-text-primary);font-variant-numeric:tabular-nums}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full)}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*::-webkit-scrollbar-track{background:transparent}.filter-reset-btn{white-space:nowrap}.ant-table table{table-layout:fixed;width:100%}.ant-table-thead .ant-table-column-sorters{position:relative;display:inline-flex!important;flex:none!important;justify-content:flex-start!important;gap:10px!important}.ant-table-thead .ant-table-column-title{flex:none!important}.ant-table-thead .ant-table-column-sorter{margin-inline-start:0!important}.ant-table-thead .ant-table-filter-column{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important}.ant-table-thead .ant-table-filter-trigger{display:inline-flex!important;align-items:center!important;margin:0!important}.admin-table-card{overflow:visible!important;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-table-card .ant-table{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.admin-table-card .ant-table-thead>tr>th{text-align:center!important;font-size:var(--text-body-sm)!important;font-weight:var(--weight-semibold, 600)!important;color:var(--color-text-secondary)!important;background:var(--color-primary-light)!important}.admin-table-card .ant-table-thead>tr>th:before{display:none!important}.admin-table-card .ant-pagination{padding:0 var(--spacing-md)}.palette-0{--banner-grad: linear-gradient(135deg, #1d5fd6 0%, #0b2b6e 100%);--accent: #1d5fd6}.palette-1{--banner-grad: linear-gradient(135deg, #14b8a6 0%, #0f766e 100%);--accent: #0d9488}.palette-2{--banner-grad: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);--accent: #ea580c}.palette-3{--banner-grad: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 100%);--accent: #7c3aed}.stu-theme{--stu-primary: #1d5fd6;--stu-primary-dark: #0b2b6e;--stu-primary-cyan: #2aa7e0;--stu-primary-soft: #eaf1ff;--stu-bg: #f7f9fc;--stu-surface: #ffffff;--stu-text: #1a2333;--stu-text-muted: #5f6b80;--stu-border: #e4e9f1;--stu-focus: #0b66ff;--stu-grad-header: linear-gradient(135deg, #071a4d 0%, #0b2b6e 42%, #1657a8 78%, #2aa7e0 100%);--stu-grad-brand: linear-gradient(140deg, #0b2b6e 0%, #1d5fd6 62%, #2aa7e0 100%);--stu-grad-btn: linear-gradient(135deg, var(--stu-primary), var(--stu-primary-cyan));--stu-glass: rgba(16, 42, 92, .55);--stu-green: #1d9e5c;--stu-green-line: #45c97a;--stu-green-soft: #e7f7ee;--stu-red: #e0362c;--stu-amber: #e8a13a;--stu-radius-sm: .5rem;--stu-radius-md: .75rem;--stu-radius-lg: 1rem;--stu-radius-pill: 999px;--stu-content-width: 72rem;--stu-shadow-card: 0 4px 16px rgba(12, 40, 100, .05);--stu-shadow-card-hover: 0 14px 34px rgba(12, 40, 100, .14);--stu-shadow-panel: 0 12px 30px -20px rgba(25, 42, 74, .4);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--stu-text);background:var(--color-bg-page, #f8f6f3);line-height:1.6}.stu-theme :focus-visible{outline:3px solid var(--stu-focus);outline-offset:3px}.stu-theme h1,.stu-theme h2,.stu-theme h3,.stu-theme h4{margin:0;font-weight:700}.stu-theme a{color:inherit;text-decoration:none}.stu-theme .stu-container{width:100%;max-width:var(--stu-content-width);margin:0 auto;padding:0 1.4rem}.stu-theme .section{padding:1rem 0 2.4rem}.stu-theme .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}.stu-theme .section-title{display:flex;align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700}.stu-theme .section-title .bar{width:5px;height:1.2em;border-radius:3px;background:linear-gradient(180deg,var(--stu-primary-cyan),var(--stu-primary))}.stu-theme .section-more{font-size:.9rem;color:var(--stu-primary);font-weight:600;display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s;cursor:pointer}.stu-theme .head-sub{margin:.5rem 0 0;font-size:.86rem;color:var(--stu-text-muted)}.stu-theme .back-icon{display:inline-flex;align-items:center;cursor:pointer;color:var(--stu-text-muted);font-size:1.4rem;transition:color .15s}.stu-theme .back-icon:hover{color:var(--stu-primary)}.stu-theme .refresh-link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--stu-primary);font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer}.stu-theme .refresh-link:disabled{opacity:.5;cursor:not-allowed}.stu-theme .section-more:hover{gap:.55rem}.stu-theme .card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.3rem}.stu-theme .btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--stu-grad-btn);color:#fff;border:0;padding:.72rem 1.4rem;border-radius:var(--stu-radius-pill);font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px #1d5fd64d;transition:transform .15s ease,box-shadow .2s ease,filter .2s}.stu-theme .btn-solid:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 10px 24px #1d5fd65c}.stu-theme .btn-solid.sm{padding:.6rem 1.1rem;font-size:.9rem}.stu-theme .btn-solid:disabled{opacity:.55;cursor:not-allowed;transform:none}.stu-theme .btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:#fff;color:var(--stu-primary);border:1.5px solid var(--stu-primary);padding:.72rem 1.4rem;border-radius:var(--stu-radius-pill);font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,color .2s}.stu-theme .btn-outline:hover{background:var(--stu-primary);color:#fff}.stu-theme .btn-outline.sm{padding:.6rem 1.1rem;font-size:.9rem}.stu-theme .course-card{background:var(--stu-surface);border-radius:var(--stu-radius-lg);border:1px solid var(--stu-border);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--stu-shadow-card);transition:transform .2s ease,box-shadow .25s ease}.stu-theme .course-card:hover{transform:translateY(-3px);box-shadow:var(--stu-shadow-card-hover)}.stu-theme .course-cover{position:relative;padding:1.05rem 1.35rem 1.25rem;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.stu-theme .course-cover h3{margin-top:.55rem;font-size:1.2rem;font-weight:700;position:relative;z-index:1;line-height:1.35}.stu-theme .course-tag{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.3rem;background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.76rem;padding:.2rem .55rem;border-radius:var(--stu-radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stu-theme .course-tag.tag-green{background:linear-gradient(135deg,#1f9d55,#45c97a);border-color:#ffffff59}.stu-theme .cover-a{background:linear-gradient(135deg,#0b2b6e,#1d5fd6 65%,#2aa7e0)}.stu-theme .cover-b{background:linear-gradient(135deg,#123c82,#2f6fd0 60%,#55b3ec)}.stu-theme .cover-c{background:linear-gradient(135deg,#0e4f6e,#2088b6 60%,#5cc7e8)}.stu-theme .cover-d{background:linear-gradient(135deg,#1e3f8f,#4060d8 60%,#86a7f0)}.stu-theme .course-body{padding:1.1rem 1.35rem 1.25rem;display:flex;flex-direction:column;flex:1}.stu-theme .course-meta{display:flex;gap:.9rem;margin-bottom:.55rem;color:var(--stu-text-muted);font-size:.82rem}.stu-theme .course-meta span{display:inline-flex;align-items:center;gap:.3rem}.stu-theme .course-desc{margin:0 0 1.1rem;color:var(--stu-text-muted);font-size:.9rem;line-height:1.65;flex:1}.stu-theme .course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.stu-theme .progress{height:8px;border-radius:999px;background:var(--stu-border);overflow:hidden;margin-bottom:.9rem}.stu-theme .progress-bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--stu-primary),var(--stu-primary-cyan))}.stu-theme .myc-label{display:inline-flex;align-items:center;gap:.3rem;background:var(--stu-primary-soft);color:var(--stu-primary);font-size:.78rem;padding:.18rem .55rem;border-radius:var(--stu-radius-pill);font-weight:600}.stu-theme .train-card{background:var(--stu-surface);border-radius:var(--stu-radius-lg);border:1px solid var(--stu-border);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--stu-shadow-card);transition:transform .2s ease,box-shadow .25s ease}.stu-theme .train-card:hover{transform:translateY(-3px);box-shadow:var(--stu-shadow-card-hover)}.stu-theme .train-card-top{position:relative;padding:1.05rem 1.4rem 1.4rem;background:linear-gradient(135deg,#0b2b6e,#1d5fd6 65%,#2aa7e0);color:#fff}.stu-theme .train-card-top.alt{background:linear-gradient(135deg,#123c82,#2f6fd0 60%,#55b3ec)}.stu-theme .train-card-top h3{margin-top:.55rem;font-size:1.18rem;font-weight:700;position:relative;z-index:1;line-height:1.35}.stu-theme .train-status{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.3rem;background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.78rem;padding:.22rem .6rem;border-radius:var(--stu-radius-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stu-theme .train-status .dot{width:7px;height:7px;border-radius:50%;background:#7de8b6;box-shadow:0 0 0 3px #7de8b659}.stu-theme .train-status .dot.done{background:#45c97a;box-shadow:0 0 0 3px #45c97a4d}.stu-theme .train-status .dot.warn{background:#ffd479;box-shadow:0 0 0 3px #ffd47959}.stu-theme .train-status .dot.bad{background:#ff9d94;box-shadow:0 0 0 3px #ff9d9459}.stu-theme .train-body{padding:1.15rem 1.4rem 1.3rem;display:flex;flex-direction:column;flex:1}.stu-theme .train-desc{margin:0 0 1.2rem;color:var(--stu-text-muted);font-size:.92rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.stu-theme .filter-tabs{display:flex;gap:.4rem;background:var(--stu-bg);padding:.28rem;border-radius:999px;border:1px solid var(--stu-border)}.stu-theme .filter-tabs .tab{border:none;background:transparent;padding:.42rem 1rem;border-radius:999px;font-size:.86rem;color:var(--stu-text-muted);cursor:pointer;transition:.2s;font-family:inherit}.stu-theme .filter-tabs .tab:hover{color:var(--stu-primary)}.stu-theme .filter-tabs .tab.is-active{background:var(--stu-primary);color:#fff;font-weight:600;box-shadow:0 6px 14px -8px var(--stu-primary)}.stu-theme .badge{display:inline-block;padding:.22rem .6rem;border-radius:999px;font-size:.76rem;font-weight:600}.stu-theme .badge-ok{background:var(--stu-primary-soft);color:var(--stu-primary)}.stu-theme .badge-warn{background:var(--stu-red);color:#fff}.stu-theme .badge-success{background:#178653;color:#fff}.stu-theme .link-act{color:var(--stu-primary);font-size:.88rem;font-weight:600;cursor:pointer}.stu-theme .link-act:hover{text-decoration:underline}.stu-theme .stat-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--stu-border);border-radius:var(--stu-radius-lg);padding:1.3rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;box-shadow:0 10px 26px -18px #192a4a66}.stu-theme .stat-card .stat-ic{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:42px;height:42px;color:var(--stu-primary-soft)}.stu-theme .stat-num{font-size:2rem;font-weight:800;color:var(--stu-primary)}.stu-theme .stat-label{font-size:.9rem;color:var(--stu-text-muted)}.stu-theme .card-panel{background:#fff;border:1px solid var(--stu-border);border-radius:var(--stu-radius-lg);padding:1.4rem;box-shadow:var(--stu-shadow-panel)}.stu-theme .cert-hero{position:relative;overflow:hidden;border-radius:var(--stu-radius-lg);background:linear-gradient(120deg,#0b2b6e,#1d5fd6 62%,#2aa7e0);padding:2.2rem 1.6rem;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 16px 40px -18px #0d3b8c8c}.stu-theme .cert-hero-eyebrow{display:inline-block;font-size:.72rem;letter-spacing:.2em;color:#ffffffbf;margin-bottom:.5rem;font-weight:600}.stu-theme .cert-hero h2{font-size:1.7rem;margin:0 0 .4rem}.stu-theme .cert-hero p{margin:0;font-size:.92rem;color:#ffffffe0;max-width:34rem;line-height:1.7}.stu-theme .cert-hero-icon{flex:none;width:64px;height:64px;border-radius:18px;background:#ffffff24;display:flex;align-items:center;justify-content:center;color:#fff}.stu-theme .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4.5rem 1.5rem 5rem;border:1.5px dashed var(--stu-border);border-radius:var(--stu-radius-lg);background:#ffffff8c}.stu-theme .empty-state .empty-ico{width:104px;height:104px;border-radius:50%;background:var(--stu-primary-soft);color:var(--stu-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}.stu-theme .empty-state .empty-ico svg{width:52px;height:52px}.stu-theme .empty-state .empty-title{font-size:1.4rem;font-weight:800;margin:0 0 .5rem;color:var(--stu-text)}.stu-theme .empty-state .empty-desc{margin:0 0 1.6rem;color:var(--stu-text-muted);font-size:.95rem;line-height:1.7;max-width:440px}.stu-theme .empty-state .btn-solid{border-radius:10px;font-weight:700;padding:.75rem 1.5rem;box-shadow:0 10px 24px -14px #1d5fd6a6}.stu-theme .is-paid-card{border:1px solid transparent;background:linear-gradient(var(--stu-surface),var(--stu-surface)) padding-box,linear-gradient(135deg,#ffd666,#faad14 50%,#e8900c) border-box;box-shadow:0 8px 22px #d4680829}.stu-theme .is-unlocked-card{border-color:#b7e2cb;box-shadow:0 4px 16px #107c411a}.stu-theme .is-paid-card .pc-badge{background:#fff7e6;color:#d46b08}.stu-theme .is-paid-card .btn-outline{border-color:#ffc53d;background:#fffbe6;color:#d46b08}.stu-theme .is-unlocked-card .pc-badge{background:#ecf7f0;color:#185c37}.stu-theme .is-unlocked-card .btn-outline{border-color:#b7e2cb;background:#ecf7f0;color:#185c37}.stu-theme .is-unlocked-card .btn-solid{background:linear-gradient(135deg,#21a366,#107c41);box-shadow:0 6px 18px #107c4152}.stu-theme .stu-paid-flag{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .7rem;border-radius:999px;background:linear-gradient(135deg,#ffc53d,#d46b08);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;box-shadow:0 3px 10px #d4680859}.stu-theme .stu-unlocked-flag{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .7rem;border-radius:999px;background:#ecf7f0;border:1px solid #b7e2cb;color:#185c37;font-size:.78rem;font-weight:600;white-space:nowrap}.stu-theme .btn-unlock{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:linear-gradient(135deg,#ffc53d,#d46b08);color:#fff;border:0;padding:.72rem 1.4rem;border-radius:var(--stu-radius-pill);font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px #d4680861;transition:filter .2s ease,box-shadow .2s ease}.stu-theme .btn-unlock:hover{filter:brightness(1.06);box-shadow:0 8px 22px #d4680873}.stu-theme .btn-unlock.sm{padding:.6rem 1.1rem;font-size:.9rem}.stu-theme .btn-unlock:disabled{opacity:.55;cursor:not-allowed}.stu-theme .btn-unlock .unlock-price{font-size:1.1em;font-weight:800}@media (max-width: 480px){.stu-theme .stu-container{padding:0 1rem}.stu-theme .card-grid{grid-template-columns:1fr}}.adm-theme{--adm-nav-gradient: linear-gradient(180deg, #071a4d, #0b2b6e 45%, #1657a8 85%, #1f6db0);--adm-grad-btn: linear-gradient(135deg, #1d5fd6, #2aa7e0);--adm-grad-page-title: linear-gradient(105deg, #16306e, #2a6fe0 55%, #45a7ff);--adm-glass-card: linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .55));--adm-glass-border: rgba(255, 255, 255, .95);--adm-glass-line: rgba(226, 234, 247, .85);--adm-glass-blur: blur(20px) saturate(150%);--adm-glass-shadow: 0 14px 40px -12px rgba(31, 64, 150, .22), 0 3px 12px rgba(31, 64, 150, .08), inset 0 1px 0 rgba(255, 255, 255, .9);--adm-glass-shadow-hover: 0 20px 50px -14px rgba(31, 64, 150, .3), 0 5px 16px rgba(31, 64, 150, .1), inset 0 1px 0 rgba(255, 255, 255, .95);--adm-focus-ring: 0 0 0 3px rgba(29, 95, 214, .12);min-height:100dvh;color:#1a2333;background:radial-gradient(1250px 740px at 92% -10%,rgba(96,164,255,.42),transparent 58%),radial-gradient(1100px 660px at -9% 14%,rgba(150,208,255,.4),transparent 55%),radial-gradient(950px 780px at 42% 118%,rgba(120,190,255,.44),transparent 58%),radial-gradient(700px 480px at 22% -6%,rgba(140,205,255,.3),transparent 60%),radial-gradient(540px 420px at 80% 32%,rgba(200,228,255,.55),transparent 62%),linear-gradient(180deg,#f8fbff,#f0f6ff 40%,#e9f2ff);background-attachment:fixed}.adm-theme.adm-theme--flat{background:none;min-height:0}.adm-theme .admin-shell{display:flex;min-height:100dvh}.adm-theme .adm-main{flex:1;min-width:0;display:flex;flex-direction:column;background:transparent}.adm-theme .adm-content{padding:1.4rem 1.6rem 2.4rem;display:flex;flex-direction:column;gap:1.2rem}.adm-theme .adm-card,.adm-theme .admin-table-card{background:var(--adm-glass-card);-webkit-backdrop-filter:var(--adm-glass-blur);backdrop-filter:var(--adm-glass-blur);border:1px solid var(--adm-glass-border);border-radius:1.2rem;box-shadow:var(--adm-glass-shadow);overflow:visible}.adm-theme .adm-card:hover{box-shadow:var(--adm-glass-shadow-hover)}.adm-theme .adm-card-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1.05rem 1.3rem;border-bottom:1px solid var(--adm-glass-line);flex-wrap:wrap}.adm-theme .adm-card-title{display:flex;align-items:center;gap:.55rem;font-weight:700;font-size:.98rem;color:#1a2333}.adm-theme .adm-card-title .tc-ico{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#2aa7e02e,#1d5fd62e);display:grid;place-items:center;color:#1d5fd6}.adm-theme .adm-card-title .tc-ico svg{width:16px;height:16px}.adm-theme .adm-card-counter{font-size:.76rem;color:#5f6b80;background:#edf3ffb3;border-radius:999px;padding:.2rem .7rem;align-self:center}.adm-theme .adm-card-extra{font-size:.78rem;color:#5f6b80;display:flex;align-items:center;gap:.5rem;min-width:0}.adm-theme .adm-card-body{padding:1.05rem 1.3rem 1.3rem}.adm-theme .adm-tbl-shell{border:1px solid rgba(226,234,247,.7);border-radius:.8rem}.adm-theme .adm-table-auto .ant-table table{table-layout:auto!important;width:1px!important;min-width:100%!important}.adm-theme .adm-table-auto .ant-table-tbody>tr>td:not(:last-child),.adm-theme .adm-table-auto .ant-table-thead>tr>th:not(:last-child){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-theme .adm-table-auto .ant-table-tbody>tr>td:last-child,.adm-theme .adm-table-auto .ant-table-thead>tr>th:last-child{width:250px!important;min-width:250px!important;max-width:250px!important;padding-left:.4rem;padding-right:.4rem}.adm-theme .adm-table-auto .ant-table-tbody>tr>td:last-child{position:relative}.adm-theme .adm-table-auto .ant-table-tbody>tr>td:last-child .adm-actions{position:absolute;left:.4rem;right:.4rem;top:50%;transform:translateY(-50%)}.adm-theme .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.adm-theme .page-head h1,.adm-theme .adm-page-title{margin:0;font-size:1.4rem;font-weight:800;background:var(--adm-grad-page-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.adm-theme .page-head .page-sub{margin:.3rem 0 0;color:#5f6b80;font-size:.86rem}.adm-theme .ant-btn-primary{background:linear-gradient(135deg,#1d5fd6,#2aa7e0);border:none;box-shadow:0 4px 12px #1d5fd640}.adm-theme .ant-btn-primary:not(:disabled):hover{background:linear-gradient(135deg,#2a7cf0,#5ac8f2);box-shadow:0 6px 16px #1d5fd652;transform:translateY(-1px)}.adm-theme .ant-btn-primary:not(:disabled):active{transform:translateY(0)}.adm-theme .adm-btn-ghost,.adm-theme .ant-btn-default{background:#fffc;border:1px solid rgba(210,224,245,.95);color:#1a2333}.adm-theme .adm-btn-ghost:hover,.adm-theme .ant-btn-default:not(:disabled):hover{background:#eaf1ff;border-color:#1d5fd64d;color:#1d5fd6}.adm-theme .pill,.pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;border-radius:999px;padding:.2rem .6rem;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.pill.green{background:#e1f6eae6;color:#1c8a4d}.pill.orange{background:#fff0dbe6;color:#e57a1f}.pill.bblue{background:#e5efffe6;color:#1d5fd6}.pill.blue{background:#e2f4ffe6;color:#0f8fc4}.pill.gray{background:#f1f4fae6;color:#5f6b80}.pill.red{background:#ffe7e7e6;color:#d63f3f}.pill.purple{background:#eee8ffe6;color:#7a5af8}.adm-theme .badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;padding:.18rem .6rem;border-radius:999px;font-weight:600}.adm-theme .badge .sw{width:6px;height:6px;border-radius:50%}.adm-theme .b-ok{background:#e9faf0;color:#1c8a4d}.adm-theme .b-ok .sw{background:#22a45b}.adm-theme .b-run{background:#e6f4ff;color:#1d6fc9}.adm-theme .b-run .sw{background:#1d5fd6}.adm-theme .b-wait{background:#fff4e0;color:#cf7a12}.adm-theme .b-wait .sw{background:#f0a020}.adm-theme .b-sus{background:#fdeef0;color:#cf3c3c}.adm-theme .b-sus .sw{background:#e0523c}.adm-theme .op-btns{display:flex;gap:.35rem;flex-wrap:wrap}.adm-theme .op-btn{width:30px;height:30px;border:1px solid rgba(210,224,245,.9);background:#fffc;border-radius:.55rem;cursor:pointer;display:grid;place-items:center;color:#5f6b80;transition:all .15s;padding:0}.adm-theme .op-btn svg{width:15px;height:15px}.adm-theme .op-btn:hover{background:var(--adm-grad-btn);color:#fff;border-color:transparent;box-shadow:0 5px 12px -4px #1d5fd680}.adm-theme .op-btn.danger:hover{background:linear-gradient(135deg,#ff6b6b,#e0523c)}.adm-theme .op-btn-text{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .62rem;font-size:.76rem;font-weight:600;color:#1d5fd6;background:#f5f8ffe6;border:1px solid rgba(29,95,214,.22);border-radius:.5rem;cursor:pointer;transition:all .15s;white-space:nowrap;line-height:1.4}.adm-theme .op-btn-text svg,.adm-theme .op-btn-text .anticon{width:13px;height:13px;font-size:13px}.adm-theme .op-btn-text:hover{background:var(--adm-grad-btn);color:#fff;border-color:transparent;box-shadow:0 5px 12px -4px #1d5fd680}.adm-theme .op-btn-text.danger{color:#d63f3f;background:#ffeeeee6;border-color:#d63f3f40}.adm-theme .op-btn-text.danger:hover{background:linear-gradient(135deg,#ff6b6b,#e0523c);color:#fff;border-color:transparent}.adm-theme .op-links{display:flex;align-items:center;gap:.8rem;white-space:nowrap;flex-wrap:wrap}.adm-theme .op-links .lk{font-size:.84rem;color:#1d5fd6;cursor:pointer;font-weight:500;transition:opacity .2s;background:none;border:none;padding:0}.adm-theme .op-links .lk:hover{opacity:.75;text-decoration:underline}.adm-theme .op-links .lk.danger{color:#e0523c}.adm-theme .t-user{display:flex;align-items:center;gap:.55rem}.adm-theme .t-ava{width:32px;height:32px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:700;font-size:.78rem;flex-shrink:0;background:var(--adm-grad-btn);box-shadow:0 4px 10px -3px #1f409659}.adm-theme .t-order{display:flex;flex-direction:column;line-height:1.3;min-width:0}.adm-theme .t-order b{font-size:.84rem;color:#1a2333}.adm-theme .t-order span{font-size:.7rem;color:#9aa7bd}.adm-theme .t-id{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;color:#5f6b80}.adm-theme .admin-table-card{overflow:hidden}.adm-theme .admin-table-card .ant-table{background:transparent;border-radius:.8rem}.adm-theme .admin-table-card .ant-table-container,.adm-theme .admin-table-card .ant-table-content{overflow-x:auto}.adm-theme .admin-table-card .ant-table-thead>tr>th{background:linear-gradient(180deg,#f4f9fff2,#ebf2fdcc);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#5f6b80!important;font-size:.77rem!important;font-weight:600!important;text-align:center!important;letter-spacing:.01em;border-bottom:1px solid rgba(221,232,246,.9)!important;white-space:nowrap;padding:.72rem .95rem!important}.adm-theme .admin-table-card .ant-table-thead>tr>th:before{display:none!important}.adm-theme .admin-table-card .ant-table-tbody>tr>td{padding:.8rem .95rem;font-size:.85rem;border-bottom:1px solid rgba(233,239,249,.85);color:#1a2333}.adm-theme .admin-table-card .ant-table-tbody>tr:last-child>td{border-bottom:none}.adm-theme .admin-table-card .ant-table-tbody>tr{transition:background .15s}.adm-theme .admin-table-card .ant-table-tbody>tr:hover>td{background:#eef4ffb3}.adm-theme .admin-table-card .ant-table-tbody>tr.ant-table-placeholder:hover>td{background:transparent}.adm-theme .admin-table-card .ant-table-thead>tr>th:first-child{border-top-left-radius:.75rem}.adm-theme .admin-table-card .ant-table-thead>tr>th:last-child{border-top-right-radius:.75rem}.adm-theme .admin-table-card .ant-table-thead>tr>th:first-child .ant-table-filter-column,.adm-theme .admin-table-card .ant-table-thead>tr>th:first-child .ant-table-column-sorters{border-top-left-radius:inherit}.adm-theme .admin-table-card .ant-table-cell-fix-left,.adm-theme .admin-table-card .ant-table-cell-fix-right,.adm-theme .admin-table-card .ant-table-measure-row+tr .ant-table-cell-fix-left,.adm-theme .admin-table-card td.ant-table-cell-fix-right,.adm-theme .admin-table-card td.ant-table-cell-fix-left{background:transparent}.adm-theme .admin-table-card .ant-table-cell-fix-right-first:after,.adm-theme .admin-table-card .ant-table-cell-fix-right-last:after,.adm-theme .admin-table-card .ant-table-cell-fix-left-first:after,.adm-theme .admin-table-card .ant-table-cell-fix-left-last:after{display:none!important}.adm-theme .admin-table-card .ant-table-tbody>tr:not(.ant-table-placeholder)>td:first-child{font-weight:600;color:#1a2333}.adm-theme .ant-table-column-sorter-up.active,.adm-theme .ant-table-column-sorter-down.active,.adm-theme .ant-table-filter-trigger.active{color:#1d5fd6}.adm-theme .ant-pagination{display:flex;justify-content:flex-end;flex-wrap:wrap;padding:1.05rem 1.3rem;margin:0!important;border-top:1px solid var(--adm-glass-line);row-gap:.4rem}.adm-theme .ant-pagination .ant-pagination-total-text{margin-right:auto}.adm-theme .ant-pagination .ant-pagination-item{min-width:30px;height:30px;line-height:28px;border:1px solid rgba(210,224,245,.9);background:#fffc;border-radius:.55rem;font-size:.8rem;color:#1a2333}.adm-theme .ant-pagination .ant-pagination-item a{padding:0 .4rem}.adm-theme .ant-pagination .ant-pagination-item:hover{border-color:#1d5fd6}.adm-theme .ant-pagination .ant-pagination-item:hover a{color:#1d5fd6}.adm-theme .ant-pagination .ant-pagination-item-active{background:var(--adm-grad-btn);border-color:transparent;font-weight:600;box-shadow:0 4px 10px -3px #1d5fd680}.adm-theme .ant-pagination .ant-pagination-item-active a{color:#fff}.adm-theme .ant-pagination .ant-pagination-prev,.adm-theme .ant-pagination .ant-pagination-next{min-width:30px;height:30px;line-height:28px}.adm-theme .ant-pagination .ant-pagination-prev .ant-pagination-item-link,.adm-theme .ant-pagination .ant-pagination-next .ant-pagination-item-link{min-width:30px;height:30px;line-height:28px;border:1px solid rgba(210,224,245,.9);background:#fffc;border-radius:.55rem}.adm-theme .ant-pagination .ant-pagination-disabled .ant-pagination-item-link{opacity:.5}.adm-theme .ant-pagination .ant-pagination-options-size-changer{--ant-color-bg-container: rgba(255, 255, 255, .85)}.adm-theme .seg-ctl{display:inline-flex;background:#e4ecf8b3;border-radius:.6rem;padding:.18rem;gap:.1rem}.adm-theme .seg-ctl button{border:none;background:transparent;font-size:.78rem;padding:.32rem .75rem;border-radius:.5rem;cursor:pointer;color:#5f6b80;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s}.adm-theme .seg-ctl button.on{background:#fff;color:#1d5fd6;box-shadow:0 2px 8px #1f40961a;font-weight:600}.adm-theme .progress{width:90px;height:6px;border-radius:3px;background:#eef2f9;position:relative;overflow:hidden}.adm-theme .progress i{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,#2aa7e0,#1d5fd6)}.adm-theme .bars{display:flex;align-items:flex-end;gap:.55rem;height:150px;padding-top:.4rem}.adm-theme .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem}.adm-theme .bar-track{width:100%;max-width:38px;height:120px;border-radius:.45rem;background:#e7eefacc;position:relative;overflow:hidden}.adm-theme .bar-fill{position:absolute;bottom:0;left:0;right:0;border-radius:.45rem}.adm-theme .bf-blue{background:linear-gradient(180deg,#2aa7e0,#1d5fd6)}.adm-theme .bf-cyan{background:linear-gradient(180deg,#72d6ff,#2aa7e0)}.adm-theme .bf-light{background:linear-gradient(180deg,#bfe6ff,#8fd3ff)}.adm-theme .bar-col span{font-size:.68rem;color:#5f6b80}.adm-theme .chart-legend{display:flex;align-items:center;gap:1rem;font-size:.78rem;color:#5f6b80;margin-bottom:.8rem;flex-wrap:wrap}.adm-theme .chart-legend .lg,.adm-theme .dl-item{display:flex;align-items:center;gap:.35rem}.adm-theme .chart-legend .sw,.adm-theme .dl-item .sw{width:10px;height:10px;border-radius:3px}.adm-theme .dl-item{gap:.55rem;font-size:.82rem}.adm-theme .dl-item .lb{flex:1;color:#1a2333}.adm-theme .dl-item .v{font-weight:700;color:#5f6b80}.adm-theme .feed{display:flex;flex-direction:column}.adm-theme .feed-item{display:flex;gap:.8rem;padding:.62rem 0;border-bottom:1px dashed #eef2f8}.adm-theme .feed-item:last-child{border-bottom:none}.adm-theme .fi-ico{width:34px;height:34px;border-radius:.7rem;display:grid;place-items:center;flex-shrink:0}.adm-theme .fi-ico svg{width:17px;height:17px}.adm-theme .fi-orange{background:#fff0e2;color:#e07a14}.adm-theme .fi-blue{background:#e6f1ff;color:#1d6fc9}.adm-theme .fi-green{background:#e9faf0;color:#1c8a4d}.adm-theme .feed-item .fi-tx{flex:1;min-width:0}.adm-theme .fi-tx p{margin:0;font-size:.83rem;color:#1a2333}.adm-theme .fi-tx time{font-size:.7rem;color:#5f6b80}.adm-theme .upload-card{border:1.5px dashed rgba(160,185,220,.7);border-radius:.95rem;background:#f7faffbf;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.6rem 1rem;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.adm-theme .upload-card:hover{border-color:#1d5fd6;background:#f0f6ff}.adm-theme .upload-ico{width:44px;height:44px;border-radius:.9rem;background:var(--adm-grad-btn);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px -6px #1d5fd666}.adm-theme .upload-ico svg{width:20px;height:20px}.adm-theme .ant-input,body:has(.adm-theme) .ant-input,.adm-theme .ant-input-affix-wrapper,body:has(.adm-theme) .ant-input-affix-wrapper,.adm-theme .ant-select-selector,body:has(.adm-theme) .ant-select-selector,.adm-theme .ant-input-number,body:has(.adm-theme) .ant-input-number,.adm-theme .ant-picker,body:has(.adm-theme) .ant-picker{background:#ffffffd1!important;border-color:#d2e0f5e6!important}.adm-theme .ant-input:focus,.adm-theme .ant-input-focused,.adm-theme .ant-input-affix-wrapper-focused,.adm-theme .ant-select-focused .ant-select-selector,.adm-theme .ant-picker-focused,body:has(.adm-theme) .ant-input:focus,body:has(.adm-theme) .ant-input-focused,body:has(.adm-theme) .ant-input-affix-wrapper-focused,body:has(.adm-theme) .ant-select-focused .ant-select-selector,body:has(.adm-theme) .ant-picker-focused{border-color:#1d5fd6!important;box-shadow:var(--adm-focus-ring, 0 0 0 3px rgba(29, 95, 214, .12))!important}.adm-theme .ant-input-affix-wrapper .ant-input,body:has(.adm-theme) .ant-input-affix-wrapper .ant-input{border:none!important;box-shadow:none!important;background:transparent!important}.adm-theme .ant-modal .ant-modal-content,body:has(.adm-theme) .ant-modal .ant-modal-content{border-radius:1rem;box-shadow:0 24px 60px -12px #1f40964d}.adm-theme .ant-modal .ant-modal-header,body:has(.adm-theme) .ant-modal .ant-modal-header{border-radius:1rem 1rem 0 0}.adm-theme .ant-drawer-content-wrapper .ant-drawer-content,body:has(.adm-theme) .ant-drawer-content-wrapper .ant-drawer-content{border-radius:1rem 0 0 1rem}.adm-theme .ant-dropdown .ant-dropdown-menu,body:has(.adm-theme) .ant-dropdown .ant-dropdown-menu,.adm-theme .ant-select-dropdown,body:has(.adm-theme) .ant-select-dropdown{border-radius:.8rem;box-shadow:0 12px 32px #0f2b5e29}.adm-inner-table,.adm-inner-table .ant-table{background:transparent}.adm-inner-table .ant-table-thead>tr>th{background:linear-gradient(180deg,#f4f9fff2,#ebf2fdcc);color:#5f6b80;font-size:.76rem;font-weight:600;padding:.6rem .8rem;border-bottom:1px solid rgba(221,232,246,.9);white-space:nowrap}.adm-inner-table .ant-table-thead>tr>th:before{display:none}.adm-inner-table .ant-table-tbody>tr>td{padding:.65rem .8rem;font-size:.84rem;border-bottom:1px solid rgba(233,239,249,.85)}.adm-inner-table .ant-table-tbody>tr:last-child>td{border-bottom:none}.adm-inner-table .ant-table-tbody>tr:hover>td{background:#eef4ffb3}.adm-theme .metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 1200px){.adm-theme .quick-grid{grid-template-columns:repeat(3,1fr)}.adm-theme .stat-grid,.adm-theme .metric-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.adm-theme .mid-grid{grid-template-columns:1fr}}@media (max-width: 560px){.adm-theme .stat-grid,.adm-theme .quick-grid,.adm-theme .metric-grid{grid-template-columns:1fr}.adm-theme .adm-content{padding:1rem}}.wizard-steps[data-v-cbac547e]{margin:var(--spacing-sm, 8px) 0 var(--spacing-lg, 24px)}.step-lead[data-v-cbac547e]{margin:0 0 var(--spacing-md, 16px);font-size:var(--text-body, 14px);color:var(--color-text-secondary, #666)}.policy-hint[data-v-cbac547e]{margin-bottom:var(--spacing-md, 16px)}.step-submit[data-v-cbac547e]{margin-top:var(--spacing-sm, 8px)}.wizard-logout[data-v-cbac547e]{margin-top:var(--spacing-md, 16px);text-align:center}.wizard-logout a[data-v-cbac547e]{display:inline-block;padding:6px 12px;font-size:13px;color:var(--color-text-secondary, #999)}.wizard-logout a[data-v-cbac547e]:hover{color:var(--color-error, #e43f3f)}.notes[data-v-cbac547e]{text-align:left;color:var(--color-text-secondary, #666);font-size:13px;line-height:1.9;margin:0 0 var(--spacing-md, 16px);padding-left:18px}.echo[data-v-cbac547e]{display:flex;justify-content:center;margin-bottom:var(--spacing-md, 16px)}.echo img[data-v-cbac547e]{width:160px;height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--color-border-light, #eee)}.preview[data-v-cbac547e]{padding:12px 0}.preview img[data-v-cbac547e]{width:160px;height:200px;object-fit:cover;border-radius:8px}.empty[data-v-cbac547e]{padding:24px 0}.empty-icon[data-v-cbac547e]{font-size:32px;color:var(--color-primary, #1d5fd6);margin:0}.empty-text[data-v-cbac547e]{color:var(--color-text-secondary, #666);margin:8px 0 0}.tip[data-v-356fae4c]{margin-bottom:16px}.submit[data-v-356fae4c]{margin-top:4px}.auth-panel[data-v-c14c7133]{width:100%}.panel-title[data-v-c14c7133]{font-size:1.45rem;font-weight:700;color:var(--stu-text);margin:0 0 .25rem}.panel-sub[data-v-c14c7133]{font-size:.88rem;color:var(--stu-text-muted);margin:0 0 .9rem}.identity-select[data-v-c14c7133]{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1.3rem}.identity-item[data-v-c14c7133]{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .3rem;background:#fff;border:1.5px solid var(--stu-border);border-radius:var(--stu-radius-md);cursor:pointer;font-size:.8rem;font-family:inherit;color:var(--stu-text-muted);transition:border-color .18s,color .18s,background .18s,box-shadow .18s}.identity-item[data-v-c14c7133] .anticon{font-size:22px}.identity-item[data-v-c14c7133]:hover{border-color:var(--stu-primary);color:var(--stu-primary)}.identity-item.is-active[data-v-c14c7133]{border-color:var(--stu-primary);background:var(--stu-primary-soft);color:var(--stu-primary);font-weight:600;box-shadow:0 4px 12px #1d5fd624}.form-options[data-v-c14c7133]{display:flex;align-items:center;justify-content:space-between;margin:.2rem 0 1.4rem;font-size:.88rem}.forgot[data-v-c14c7133]{color:var(--stu-primary);cursor:pointer}.forgot[data-v-c14c7133]:hover{text-decoration:underline}.auth-panel[data-v-c14c7133] .btn-submit.ant-btn-primary{height:48px;font-size:1rem;font-weight:600;border:0;border-radius:var(--stu-radius-md);background:linear-gradient(90deg,var(--stu-primary),var(--stu-primary-cyan));box-shadow:0 8px 20px #1d5fd647;transition:transform .15s,box-shadow .2s}.auth-panel[data-v-c14c7133] .btn-submit.ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px #1d5fd65c}.parsed-chips[data-v-c14c7133]{display:flex;gap:.5rem;margin:-.4rem 0 .9rem}.parsed-chip[data-v-c14c7133]{font-size:.78rem;color:var(--stu-primary);background:var(--stu-primary-soft);border-radius:var(--stu-radius-pill);padding:.18rem .7rem;font-weight:600}.register-hint[data-v-c14c7133]{margin:12px 0 0;font-size:.78rem;color:var(--stu-text-muted);line-height:1.6}.switch-tip[data-v-c14c7133]{display:flex;align-items:center;justify-content:center;gap:.3rem;font-size:.88rem;color:var(--stu-text-muted);margin-top:1.4rem}.switch-link[data-v-c14c7133]{color:var(--stu-primary);font-weight:600;cursor:pointer}.switch-link[data-v-c14c7133]:hover{text-decoration:underline}body .auth-modal-wrap .ant-modal{max-width:calc(100vw - 2rem);padding-bottom:0}body .auth-modal-wrap .ant-modal-content{padding:0!important;background:transparent;border-radius:16px;overflow:hidden;box-shadow:0 30px 60px #143c8240}body .auth-modal-wrap .ant-modal-close{top:14px;right:14px;width:34px;height:34px;border:1px solid var(--stu-border, #e4e9f1);border-radius:50%;background:#f2f5fa;color:var(--stu-text-muted, #5f6b80);transition:background .2s ease,color .2s ease}body .auth-modal-wrap .ant-modal-close:hover{background:var(--stu-primary-soft, #eaf1ff);color:var(--stu-primary, #1d5fd6)}body .auth-modal-wrap .ant-modal-close .ant-modal-close-x{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.login-shell[data-v-d2ee7535]{width:100%;background:#fff;display:grid;grid-template-columns:1.05fr 1fr;min-height:540px}.login-promo[data-v-d2ee7535]{position:relative;overflow:hidden;color:var(--stu-text);background:#fff;padding:3rem 2.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem}.login-promo[data-v-d2ee7535]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(52% 46% at 88% 12%,#4096eb80,#4096eb00 68%),radial-gradient(48% 50% at 10% 92%,#2962d66b,#2962d600 70%);pointer-events:none}.login-promo[data-v-d2ee7535]>*{position:relative;z-index:1}.promo-logo[data-v-d2ee7535]{width:min(300px,100%);height:auto;display:block}.promo-points[data-v-d2ee7535]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.promo-points li[data-v-d2ee7535]{display:flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:500;color:var(--stu-text)}.promo-points li[data-v-d2ee7535]:before{content:"✓";width:20px;height:20px;border-radius:50%;background:var(--stu-primary-soft);color:var(--stu-primary);display:inline-grid;place-items:center;font-size:.78rem;flex:none}.login-form-zone[data-v-d2ee7535]{padding:2.4rem 2.2rem;display:flex;flex-direction:column;justify-content:center;background:#fff}@media (max-width: 760px){.login-shell[data-v-d2ee7535]{grid-template-columns:1fr}.login-promo[data-v-d2ee7535]{display:none}.login-form-zone[data-v-d2ee7535]{padding:1.8rem 1.4rem}}.face-fs-mask[data-v-47aa3c5b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#000000b8;display:flex;align-items:center;justify-content:center}.face-fs-card[data-v-47aa3c5b]{width:420px;background:#fff;border-radius:12px;padding:32px 28px;text-align:center;box-shadow:0 12px 40px #00000040}.face-fs-icon[data-v-47aa3c5b]{font-size:44px;line-height:1;margin-bottom:12px;color:#1677ff}.face-fs-title[data-v-47aa3c5b]{font-size:19px;font-weight:600;margin-bottom:10px;color:#000000e0}.face-fs-desc[data-v-47aa3c5b]{font-size:13px;color:#0000008c;line-height:1.8;margin:0 0 20px}.face-fs-btn[data-v-47aa3c5b]{width:100%;height:44px;font-size:15px;font-weight:600;color:#fff;background:#1677ff;border:none;border-radius:8px;cursor:pointer}.face-fs-btn[data-v-47aa3c5b]:hover{background:#4096ff}.face-fs-cancel[data-v-47aa3c5b]{width:100%;height:38px;margin-top:10px;font-size:13px;color:#0000008c;background:transparent;border:none;cursor:pointer}.face-fs-cancel[data-v-47aa3c5b]:hover{color:#000000e0}body.face-fs-active .sub-app-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;background:#eef1f6;overflow:auto}.face-fs-bar{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:3000;display:flex;align-items:center;gap:14px;background:#1f2329;color:#fff;padding:10px 14px 10px 18px;border-radius:10px;box-shadow:0 8px 28px #0000004d}.face-fs-bar-text{font-size:13px;color:#ffffffd9}.face-fs-bar-btn{height:32px;padding:0 16px;font-size:13px;font-weight:600;color:#fff;background:#1677ff;border:none;border-radius:6px;cursor:pointer}.face-fs-bar-btn:hover{background:#4096ff}.face-fs-bar-close{width:26px;height:26px;font-size:15px;color:#fff9;background:transparent;border:none;cursor:pointer}.face-fs-bar-close:hover{color:#fff}.blank-layout[data-v-33f45ab6]{min-height:100vh}.app-topnav[data-v-f7270039]{width:100%;padding:1.05rem 0;position:relative;z-index:30;border-bottom:1px solid rgba(255,255,255,.14);font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}.topnav-inner[data-v-f7270039]{display:flex;align-items:center;width:100%;padding:0 1.6rem}.no-anim .nav-anim[data-v-f7270039],.no-anim .lux-divider[data-v-f7270039],.no-anim .brand[data-v-f7270039],.no-anim .auth-zone[data-v-f7270039]{transition:none!important}.brand[data-v-f7270039]{display:inline-flex;align-items:center;gap:.75rem;color:#fff;font-weight:600;white-space:nowrap;font-size:1.06rem;cursor:pointer;transition:opacity .3s ease}.brand img[data-v-f7270039]{height:34px;width:auto;display:block}.brand-badge[data-v-f7270039]{display:inline-flex;align-items:center;color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:.12em}.main-nav.desktop[data-v-f7270039]{flex:1;display:flex;justify-content:center;min-width:0}.main-nav ul[data-v-f7270039]{list-style:none;display:flex;align-items:center;margin:0;padding:0}.main-nav li[data-v-f7270039]{position:relative;margin-left:1.45rem}.main-nav li[data-v-f7270039]:first-child,.main-nav li.is-collapsed[data-v-f7270039]{margin-left:0}.main-nav a[data-v-f7270039]{display:inline-block;color:#ffffffe6;font-size:.94rem;transition:color .2s;white-space:nowrap;cursor:pointer;padding-bottom:.55rem}.main-nav a[data-v-f7270039]:hover,.main-nav a.is-active[data-v-f7270039]{color:#fff}.main-nav a.is-active[data-v-f7270039]{position:relative;font-weight:600}.main-nav a.is-active[data-v-f7270039]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--stu-primary-cyan)}.lux-divider[data-v-f7270039]{width:2px;height:1.35rem;flex:none;border-radius:2px;background:linear-gradient(180deg,#fff0,#fffffff2,#fff0);box-shadow:0 0 8px #a0d2ffbf,0 0 2px #ffffffe6;margin:0 -.35rem}.nav-anim[data-v-f7270039]{max-width:150px;overflow:hidden;white-space:nowrap;transition:max-width .7s cubic-bezier(.45,0,.2,1),opacity .6s ease,margin .7s cubic-bezier(.45,0,.2,1)}.nav-anim.is-collapsed[data-v-f7270039]{max-width:0;opacity:0;margin:0;pointer-events:none}.auth-zone[data-v-f7270039]{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:150px;min-height:40px}.nav-spinner[data-v-f7270039]{width:22px;height:22px;flex:none;margin-right:.6rem;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:nav-spin-f7270039 .7s linear infinite}@keyframes nav-spin-f7270039{to{transform:rotate(360deg)}}.fade-enter-active[data-v-f7270039],.fade-leave-active[data-v-f7270039]{transition:opacity .15s ease}.fade-enter-from[data-v-f7270039],.fade-leave-to[data-v-f7270039]{opacity:0}.btn-login-pill[data-v-f7270039]{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#0b2b6e;border-radius:999px;padding:.5rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:box-shadow .2s ease}.btn-login-pill[data-v-f7270039]:hover{box-shadow:0 6px 20px #0003}.user-chip[data-v-f7270039]{position:relative;z-index:300;display:inline-flex;align-items:center}.user-drop-trigger[data-v-f7270039]{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;padding:0;margin:0;color:#fff;font-size:.92rem;cursor:pointer;font-family:inherit}.user-drop-trigger[data-v-f7270039]:after{content:"";width:0;height:0;margin-left:2px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid rgba(255,255,255,.85);transition:transform .18s ease}.user-drop:hover .user-drop-trigger[data-v-f7270039]:after,.user-drop:focus-within .user-drop-trigger[data-v-f7270039]:after{transform:rotate(180deg)}.user-avatar[data-v-f7270039]{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 2px 8px #00000047;border:2px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center}.user-avatar img[data-v-f7270039]{width:100%;height:100%;object-fit:cover;display:block}.user-avatar-text[data-v-f7270039]{color:var(--stu-primary);font-weight:700;font-size:.95rem}.user-dropdown[data-v-f7270039]{position:absolute;top:calc(100% + 10px);right:0;min-width:168px;background:var(--stu-glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:6px;box-shadow:0 18px 40px -18px #0000008c,inset 0 1px #ffffff2e;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:120}.user-drop:hover .user-dropdown[data-v-f7270039],.user-drop:focus-within .user-dropdown[data-v-f7270039]{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.nav-drop[data-v-f7270039]{position:relative}.nav-caret[data-v-f7270039]{font-size:10px;margin-left:3px;opacity:.75;vertical-align:1px}.nav-dropdown[data-v-f7270039]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(8px) scale(.98);min-width:148px;background:var(--stu-glass);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:6px;box-shadow:0 18px 40px -18px #0000008c,inset 0 1px #ffffff2e;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:120}.nav-dropdown[data-v-f7270039]:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.nav-drop:hover .nav-dropdown[data-v-f7270039],.nav-drop:focus-within .nav-dropdown[data-v-f7270039]{opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1)}.nav-drop-item[data-v-f7270039]{display:block;padding:.55rem .9rem;color:#fff;font-size:.9rem;font-weight:600;white-space:nowrap;border-radius:9px;cursor:pointer;transition:background .16s ease}.nav-drop-item[data-v-f7270039]:hover{background:#ffffff29}.user-drop-item[data-v-f7270039]{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;color:#fff;font-size:.9rem;font-weight:600;border-radius:9px;cursor:pointer;transition:background .16s ease}.user-drop-item[data-v-f7270039]:hover{background:#ffffff29}.user-drop-item[data-v-f7270039] .anticon{opacity:.85}.user-logout[data-v-f7270039]{color:#ffaaaaf2}.user-logout[data-v-f7270039]:hover{background:#ff505038}.pop-x-enter-active[data-v-f7270039]{transition:transform .6s cubic-bezier(.3,1.12,.5,1),opacity .42s ease}.pop-x-leave-active[data-v-f7270039]{transition:transform .26s ease,opacity .26s ease}.pop-x-enter-from[data-v-f7270039],.pop-x-leave-to[data-v-f7270039]{transform:scaleX(0);opacity:0}.nav-toggle[data-v-f7270039]{display:none;background:#ffffff24;border:1px solid rgba(255,255,255,.2);color:#fff;width:40px;height:40px;border-radius:10px;cursor:pointer;align-items:center;justify-content:center;transition:background .2s}.nav-toggle[data-v-f7270039]:hover{background:#ffffff3d}@media (max-width: 1050px){.main-nav.desktop[data-v-f7270039]{display:none}.nav-toggle[data-v-f7270039]{display:inline-flex}.auth-zone[data-v-f7270039]{flex:1}.brand-badge[data-v-f7270039]{display:none}.user-drop-trigger[data-v-f7270039]:after{display:none}.user-dropdown[data-v-f7270039]{display:none}}.drawer-overlay[data-v-f7270039]{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e229e;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;z-index:90}.drawer-overlay.open[data-v-f7270039]{opacity:1;visibility:visible}.drawer[data-v-f7270039]{position:fixed;top:0;right:0;bottom:0;width:min(300px,84vw);background:#0a1a38;color:#fff;z-index:120;transform:translate(100%);transition:transform .32s cubic-bezier(.32,.72,.24,1);display:flex;flex-direction:column;box-shadow:-18px 0 48px #040f2880}.drawer.open[data-v-f7270039]{transform:translate(0)}.drawer-head[data-v-f7270039]{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.12)}.drawer-title[data-v-f7270039]{font-size:1rem;font-weight:700;letter-spacing:.03em}.drawer-close[data-v-f7270039]{background:#ffffff1f;border:0;color:#fff;width:34px;height:34px;border-radius:10px;font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}.drawer-close[data-v-f7270039]:hover{background:#ffffff3d}.drawer-menu[data-v-f7270039]{list-style:none;margin:0;padding:.6rem 0;flex:1;overflow-y:auto}.drawer-menu a[data-v-f7270039]{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.3rem;color:#ffffffd1;font-size:1.02rem;cursor:pointer;border-left:3px solid transparent;transition:background .2s,color .2s}.drawer-menu a[data-v-f7270039]:hover{background:#ffffff14;color:#fff}.drawer-submenu[data-v-f7270039]{list-style:none;margin:0;padding:0}.drawer-submenu a[data-v-f7270039]{padding-left:2.4rem;font-size:.94rem;color:#ffffffad}.drawer-menu a.is-active[data-v-f7270039]{background:linear-gradient(90deg,#2aa7e038,#2aa7e000);color:#fff;font-weight:700;border-left:3px solid var(--stu-primary-cyan)}.drawer-divider[data-v-f7270039]{height:1px;margin:.5rem 1.3rem;background:linear-gradient(90deg,#ffffff29,#fff6,#ffffff29)}.drawer-foot[data-v-f7270039]{border-top:1px solid rgba(255,255,255,.12);padding:.9rem 1.3rem}.drawer-foot a[data-v-f7270039]{display:flex;align-items:center;gap:.6rem;color:#ffffffd1;font-size:.95rem;cursor:pointer}.drawer-foot a[data-v-f7270039]:hover{color:#fff}.drawer-foot .drawer-logout[data-v-f7270039]{color:#ffaaaaf2}.welcome[data-v-b7d38e63]{position:relative;overflow:hidden;background:transparent;color:#fff;padding:2.6rem 0}.welcome[data-v-b7d38e63]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(52% 60% at 88% 12%,#78c8f066,#78c8f000 62%),radial-gradient(45% 55% at 12% 82%,#4682e661,#4682e600 68%)}.welcome .stu-container[data-v-b7d38e63]{position:relative;z-index:1}.welcome-title[data-v-b7d38e63]{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}.welcome-sub[data-v-b7d38e63]{margin:.6rem 0 0;color:#ffffffd9;font-size:1rem}.site-footer[data-v-7247e1f8]{background:#0a1a3d;color:#ffffffb8}.site-footer.portal[data-v-7247e1f8]{background:#0a1020}.footer-grid[data-v-7247e1f8]{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.4rem;padding:2.6rem 0 2rem}.footer-name[data-v-7247e1f8]{color:#fff;font-size:1.12rem;font-weight:700}.footer-about[data-v-7247e1f8]{margin:.7rem 0 0;font-size:.9rem;line-height:1.75;color:#ffffff9e}.footer-qr-zone[data-v-7247e1f8]{margin-top:1rem;display:flex;align-items:center;gap:.7rem;font-size:.84rem;color:#ffffff9e}.footer-qr-zone img[data-v-7247e1f8]{width:74px;height:74px;object-fit:cover;border-radius:10px;background:#fff;padding:3px;display:block}.footer-col-title[data-v-7247e1f8]{font-size:.95rem;font-weight:600;color:#fff;margin-bottom:.95rem;padding-left:.6rem;position:relative}.footer-col-title[data-v-7247e1f8]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1em;border-radius:2px;background:var(--stu-primary-cyan)}.footer-links[data-v-7247e1f8]{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.footer-links a[data-v-7247e1f8]{font-size:.88rem;color:#ffffff9e;transition:color .2s;cursor:pointer}.footer-links a[data-v-7247e1f8]:hover{color:#fff}.footer-service[data-v-7247e1f8]{font-size:.88rem;color:#ffffff9e}.footer-bottom[data-v-7247e1f8]{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.84rem;color:#ffffff80}.footer-beian[data-v-7247e1f8]{color:#ffffff73}@media (max-width: 900px){.footer-grid[data-v-7247e1f8]{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.footer-grid[data-v-7247e1f8]{grid-template-columns:1fr}}.student-shell[data-v-425c3168]{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-page, #f8f6f3)}.site-top[data-v-425c3168]{position:relative;overflow-x:clip;overflow-y:visible;background:var(--stu-grad-header);color:#fff}.site-top[data-v-425c3168]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 0%,#ffffff1a,#fff0 48%);pointer-events:none}.shell-content[data-v-425c3168]{flex:1;width:100%}.sidebar[data-v-681ccd7c]{width:248px;flex-shrink:0;background:var(--adm-nav-gradient, linear-gradient(180deg, #071a4d, #0b2b6e 45%, #1657a8 85%, #1f6db0));color:#e8f0ff;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow-y:auto;box-shadow:4px 0 24px #071a4d24}.side-logo[data-v-681ccd7c]{display:flex;align-items:center;gap:.65rem;padding:1.15rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.side-logo-mark[data-v-681ccd7c]{width:38px;height:38px;flex-shrink:0;border-radius:11px;background:linear-gradient(135deg,#2aa7e0f2,#1d5fd6e6);display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.05rem;box-shadow:0 4px 12px #00000038}.side-logo-name[data-v-681ccd7c]{display:flex;flex-direction:column;line-height:1.2;min-width:0}.side-logo-name b[data-v-681ccd7c]{font-size:1.02rem;letter-spacing:.02em;color:#fff;font-weight:700;white-space:nowrap}.side-logo-name span[data-v-681ccd7c]{font-size:.68rem;color:#e8f0ff9e;white-space:nowrap}.side-group-label[data-v-681ccd7c]{padding:1.05rem 1.4rem .4rem;font-size:.68rem;letter-spacing:.08em;color:#e8f0ff73;text-transform:uppercase}.side-nav[data-v-681ccd7c]{flex:1;padding:.2rem .7rem .7rem;display:flex;flex-direction:column;gap:.2rem}.side-item[data-v-681ccd7c]{display:flex;align-items:center;gap:.75rem;padding:.66rem .8rem;border-radius:.7rem;color:#e8f0ffd1;transition:background .2s,color .2s;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.side-item[data-v-681ccd7c]:hover{background:#ffffff1a;color:#fff}.side-item.active[data-v-681ccd7c]{background:linear-gradient(135deg,#2aa7e059,#1d5fd666);color:#fff;box-shadow:inset 3px 0 #2aa7e0}.side-item.active[data-v-681ccd7c]:after{content:"";position:absolute;left:0;top:22%;bottom:22%;width:3px;border-radius:3px;background:linear-gradient(#2aa7e0,#1d5fd6)}.side-ico[data-v-681ccd7c]{width:20px;height:20px;flex-shrink:0;display:grid;place-items:center;opacity:.92}.side-item.active .side-ico[data-v-681ccd7c]{opacity:1}.side-ico[data-v-681ccd7c] svg{width:19px;height:19px}.side-label[data-v-681ccd7c]{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-badge[data-v-681ccd7c]{font-size:.68rem;background:linear-gradient(135deg,#ff6b6b,#ff4757);color:#fff;border-radius:999px;padding:.05rem .45rem;font-weight:600}.side-caret[data-v-681ccd7c]{transition:transform .2s;display:grid;place-items:center;color:#e8f0ff8c}.side-caret[data-v-681ccd7c] svg{width:14px;height:14px}.side-caret.open[data-v-681ccd7c]{transform:rotate(180deg)}.side-sub[data-v-681ccd7c]{padding-left:.35rem;display:flex;flex-direction:column;gap:.15rem}.side-sub-item[data-v-681ccd7c]{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem .5rem 1.9rem;border-radius:.6rem;font-size:.86rem;color:#e8f0ffb3;cursor:pointer;transition:background .2s,color .2s}.side-sub-item[data-v-681ccd7c]:hover{background:#ffffff14;color:#fff}.side-sub-item.active[data-v-681ccd7c]{background:linear-gradient(135deg,#2aa7e066,#1d5fd673);color:#fff}.side-sub-item.active[data-v-681ccd7c]:before{content:"";width:5px;height:5px;border-radius:50%;background:#8fd3ff;flex-shrink:0;margin-left:-.65rem;margin-right:.05rem}.sidebar[data-v-681ccd7c]::-webkit-scrollbar{width:6px}.sidebar[data-v-681ccd7c]::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}@media (max-width: 700px){.sidebar[data-v-681ccd7c]{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .25s}.sidebar.open[data-v-681ccd7c]{transform:translate(0)}}.topbar[data-v-fde4d837]{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;padding:.7rem 1.6rem;background:linear-gradient(180deg,#ffffffb8,#ffffff80);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.85);box-shadow:0 4px 24px -8px #1f409624}.tb-burger[data-v-fde4d837]{display:none;width:34px;height:34px;border:1px solid #e4e9f1;border-radius:.55rem;background:#fff;cursor:pointer;place-items:center;color:#5f6b80;padding:0}.tb-burger[data-v-fde4d837] svg{width:18px;height:18px}.tb-crumb[data-v-fde4d837]{font-size:.86rem;color:#5f6b80;display:flex;align-items:center;gap:.4rem;min-width:0;flex-wrap:wrap}.tb-crumb b[data-v-fde4d837]{color:#1a2333;font-weight:600}.tb-crumb .sep[data-v-fde4d837]{color:#c3cbd8}.tb-search[data-v-fde4d837]{flex:1;max-width:340px;position:relative;margin-left:auto}.tb-actions[data-v-fde4d837]{display:flex;align-items:center;gap:.35rem;margin-left:auto}.tb-search+.tb-actions[data-v-fde4d837]{margin-left:0}.tb-user[data-v-fde4d837]{display:flex;align-items:center;gap:.6rem;padding:.3rem .5rem .3rem .3rem;border-radius:999px;cursor:pointer;transition:background .2s;margin-left:.3rem}.tb-user[data-v-fde4d837]:hover{background:#eaf1ff}.tb-avatar[data-v-fde4d837]{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#1d5fd6,#2aa7e0);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem;flex-shrink:0}.tb-avatar-img[data-v-fde4d837]{width:100%;height:100%;object-fit:cover;border-radius:50%}.tb-user .tu-txt[data-v-fde4d837]{display:flex;flex-direction:column;line-height:1.15}.tb-user .tu-txt b[data-v-fde4d837]{font-size:.85rem;color:#1a2333}.tb-user .tu-txt span[data-v-fde4d837]{font-size:.7rem;color:#5f6b80}.tb-user .chev[data-v-fde4d837]{color:#9aa7bd;display:grid;place-items:center}.tb-user .chev svg[data-v-fde4d837]{width:15px;height:15px}@media (max-width: 700px){.tb-burger[data-v-fde4d837]{display:grid}.tb-search[data-v-fde4d837]{display:none}}.adm-sidebar-mask[data-v-e956a658]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#071a4d73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:adm-mask-in-e956a658 .2s ease}@keyframes adm-mask-in-e956a658{0%{opacity:0}to{opacity:1}}@media (min-width: 701px){.adm-sidebar-mask[data-v-e956a658]{display:none}}.shell-blank[data-v-5bde7e38]{min-height:100vh;background:var(--color-bg-page, #f8f6f3)}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-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:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.hint[data-v-df5af6bb]{display:block;font-size:12px;color:var(--color-text-tertiary, #999);margin-top:4px}.quiz-block[data-v-df5af6bb]{border-top:1px dashed var(--color-border-light, #f0f0f0);padding-top:10px;margin-top:4px}.quiz-title[data-v-df5af6bb]{font-weight:600;font-size:13px;margin-bottom:2px}.quiz-list[data-v-df5af6bb]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.quiz-row[data-v-df5af6bb]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:6px;background:var(--color-bg-page, #fafafa)}.quiz-course-name[data-v-df5af6bb]{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quiz-switches[data-v-df5af6bb]{display:flex;align-items:center;gap:16px;flex-shrink:0}.quiz-switch-item[data-v-df5af6bb]{display:inline-flex;align-items:center;gap:6px}.quiz-label[data-v-df5af6bb]{font-size:12px;color:var(--color-text-secondary, #666)}.quiz-switch-dim[data-v-df5af6bb]{opacity:.45}.quiz-empty[data-v-df5af6bb]{padding:6px 0}.field-editor[data-v-4de16b4a]{width:100%}.empty-row[data-v-4de16b4a]{text-align:center;color:var(--color-text-tertiary);font-size:var(--text-body-sm);padding:var(--spacing-lg) 0;border:1px dashed var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.field-card[data-v-4de16b4a]{border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg-page);transition:border-color var(--transition-fast)}.field-card[data-v-4de16b4a]:hover{border-color:var(--color-border-dark)}.field-card-head[data-v-4de16b4a]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.row-index[data-v-4de16b4a]{flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--color-fill);color:var(--color-text-secondary);font-size:var(--text-caption);font-weight:var(--weight-semibold);font-family:var(--font-body)}.field-card-divider[data-v-4de16b4a]{height:1px;background:var(--color-border-light);margin:var(--spacing-sm) 0}.field-card-body[data-v-4de16b4a]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md) var(--spacing-sm);align-items:start}.cell[data-v-4de16b4a]{min-width:0}.cell-label[data-v-4de16b4a]{display:block;font-size:var(--text-caption);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xs);line-height:var(--leading-tight)}.req[data-v-4de16b4a]{color:var(--color-error);margin-left:2px}.cell-switch[data-v-4de16b4a] .ant-switch{margin-top:5px}.cell-span-2[data-v-4de16b4a],.cell-span-3[data-v-4de16b4a]{grid-column:span 2}.row-actions[data-v-4de16b4a]{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.sort-group[data-v-4de16b4a]{display:inline-flex;align-items:center;gap:2px}.row-actions[data-v-4de16b4a] .ant-btn{padding:0 6px;height:28px}.row-actions[data-v-4de16b4a] .ant-btn-dangerous:hover{background:var(--color-error-light)}.validation-collapse[data-v-4de16b4a] .ant-collapse-header{padding:var(--spacing-2xs) 0!important;font-size:var(--text-caption);color:var(--color-text-secondary)}.validation-grid[data-v-4de16b4a]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.validation-grid .accept-cell[data-v-4de16b4a]{grid-column:1 / -1}.add-row-btn[data-v-4de16b4a]{margin-top:var(--spacing-sm)}@media (max-width: 768px){.field-card-body[data-v-4de16b4a]{grid-template-columns:1fr}.cell-span-2[data-v-4de16b4a],.cell-span-3[data-v-4de16b4a]{grid-column:auto}}.bind-tip[data-v-23331474],.mode-group[data-v-23331474]{margin-bottom:12px}.apply-btn[data-v-23331474]{margin-top:12px}.hint[data-v-dd4bc0ed]{color:var(--color-text-tertiary, #999);font-size:12px}.sec-title[data-v-dd4bc0ed]{font-size:13px;margin:0 0 12px}.search[data-v-dd4bc0ed]{margin-bottom:12px}.course-list[data-v-dd4bc0ed]{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:6px}.course-row[data-v-dd4bc0ed]{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--color-border-light, #eee);border-radius:6px;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none}.course-row[data-v-dd4bc0ed]:hover{border-color:var(--color-primary, #1677ff)}.course-row.checked[data-v-dd4bc0ed]{border-color:var(--color-primary, #1677ff);background:var(--color-primary-light, #e6f4ff)}.course-row .name[data-v-dd4bc0ed]{flex:1}.course-row .hours[data-v-dd4bc0ed]{color:var(--color-text-tertiary, #999)}.apply-btn[data-v-dd4bc0ed]{margin-top:12px}.sell-config[data-v-dd4bc0ed]{display:flex;align-items:center;gap:6px}.rule-row[data-v-f5510740]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mode-hint[data-v-f5510740]{font-size:12px;color:var(--color-text-tertiary, #999);margin-bottom:12px}.lbl[data-v-f5510740]{font-size:12px;color:var(--color-text-tertiary, #999)}.submit[data-v-f5510740]{margin-top:10px}.pick-list[data-v-f5510740]{max-height:400px;overflow:auto;display:flex;flex-direction:column;gap:6px}.pick-row[data-v-f5510740]{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--color-border-light, #eee);border-radius:6px;cursor:pointer;font-size:13px}.pick-row.picked[data-v-f5510740]{border-color:var(--color-primary, #1677ff)}.stem[data-v-f5510740]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip[data-v-dbd590c7],.mode-group[data-v-dbd590c7]{margin-bottom:12px}.vm-row[data-v-b4677297]{display:flex;gap:8px;align-items:center}.vm-list[data-v-b4677297]{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.vm-arrow[data-v-b4677297]{color:var(--color-text-secondary)}.vm-tip[data-v-b4677297]{color:var(--color-text-secondary);font-size:13px}.seg-list[data-v-22ea6b0a]{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.seg-card[data-v-22ea6b0a]{border:1px solid var(--color-border-light, #eee);border-radius:8px;padding:10px 12px}.seg-head[data-v-22ea6b0a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.seg-ops[data-v-22ea6b0a]{display:flex;gap:4px}.seg-body[data-v-22ea6b0a]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.seg-label[data-v-22ea6b0a]{color:var(--color-text-secondary);font-size:13px}.vm-row[data-v-22ea6b0a]{display:flex;gap:8px;align-items:center}.vm-list[data-v-22ea6b0a]{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.vm-arrow[data-v-22ea6b0a]{color:var(--color-text-secondary)}.vm-tip[data-v-22ea6b0a]{color:var(--color-text-secondary);font-size:13px}.mode-group[data-v-96abc537],.steps[data-v-96abc537]{margin-bottom:12px}.apply-btn[data-v-96abc537]{margin-top:12px}.lock-hint[data-v-96abc537]{margin-top:8px;font-size:12px;line-height:1.5;color:var(--color-text-tertiary, #999)}.nb-config[data-v-ed26b3ed]{display:flex;flex-direction:column;gap:12px}.nb-head[data-v-ed26b3ed]{display:flex;align-items:center;gap:8px}.nb-hint[data-v-ed26b3ed]{font-size:12px;color:var(--color-text-tertiary, #999)}.designer[data-v-8b26f58e]{display:flex;flex-direction:column;gap:var(--spacing-sm);height:100%;min-height:420px}.designer-form[data-v-8b26f58e]{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.designer-form .spacer[data-v-8b26f58e]{flex:1}.ctx-item[data-v-8b26f58e]{font-size:14px}.ctx-label[data-v-8b26f58e]{color:var(--color-text-tertiary);margin-right:8px}.designer-body[data-v-8b26f58e]{display:flex;gap:var(--spacing-sm);height:clamp(380px,calc(100vh - 460px),720px)}.palette[data-v-8b26f58e]{width:180px;flex-shrink:0;background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--spacing-sm)}.palette-title[data-v-8b26f58e]{font-weight:600;margin-bottom:8px}.palette-item[data-v-8b26f58e]{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:8px;border:1px solid var(--color-border-light);border-left:3px solid var(--color-primary);background:var(--color-bg-card);border-radius:var(--radius-sm);cursor:grab;font-size:13px;color:var(--color-text-primary);transition:box-shadow .15s ease,transform .15s ease}.palette-item[data-v-8b26f58e]:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.palette-dot[data-v-8b26f58e]{width:8px;height:8px;border-radius:50%}.palette-hint[data-v-8b26f58e]{margin-top:12px;font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.canvas[data-v-8b26f58e]{flex:1;border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-card)}.canvas[data-v-8b26f58e] .vue-flow__edge-path{stroke:#cec8c0;stroke-width:2}.canvas[data-v-8b26f58e] .vue-flow__edge.selected .vue-flow__edge-path{stroke:var(--color-primary)}.dag-node[data-v-8b26f58e]{min-width:168px;padding:10px 12px 9px;background:var(--color-bg-card);border:1px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.dag-node[data-v-8b26f58e]:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.dag-node.selected[data-v-8b26f58e]{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.dag-node[data-v-8b26f58e] .vue-flow__handle{width:9px;height:9px;background:var(--color-primary);border:2px solid var(--color-bg-card);box-shadow:0 0 0 1px var(--color-border)}.dag-node-head[data-v-8b26f58e]{display:flex;align-items:center;gap:6px}.dag-node-dot[data-v-8b26f58e]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dag-node-type[data-v-8b26f58e]{font-weight:600;font-size:13px;color:var(--color-text-primary)}.dag-node-badges[data-v-8b26f58e]{margin-left:auto;display:flex;gap:4px}.node-badge[data-v-8b26f58e]{font-size:11px;line-height:1;padding:3px 7px;border-radius:var(--radius-full);font-weight:600}.badge-start[data-v-8b26f58e]{background:var(--color-success-light);color:var(--color-success-active)}.badge-end[data-v-8b26f58e]{background:var(--color-border-light);color:var(--color-text-secondary)}.dag-node-code[data-v-8b26f58e]{font-family:monospace;font-size:12px;color:var(--color-text-secondary);margin-top:4px}.dag-node-sub[data-v-8b26f58e]{font-size:12px;color:var(--color-text-tertiary);margin-top:2px}.dag-node-sub.unbound[data-v-8b26f58e]{color:var(--color-warning)}.node-config-form[data-v-8b26f58e] .ant-form-item,.biz-config[data-v-8b26f58e]{margin-bottom:12px}.designer-spin[data-v-2ec9ad01],.designer-spin[data-v-2ec9ad01] .ant-spin-nested-loading,.designer-spin[data-v-2ec9ad01] .ant-spin-container{height:100%}
