:root{color-scheme:light;--background:#f8fafc;--foreground:#0f172a;--card:#ffffff;--card-foreground:#0f172a;--muted:#f1f5f9;--muted-foreground:#64748b;--border:#e2e8f0;--input:#e2e8f0;--primary:#18181b;--primary-foreground:#fafafa;--ring:#94a3b8;--destructive:#dc2626;--success:#15803d;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;overflow-x:clip;background:var(--background);color:var(--foreground)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}.ui-button{display:inline-flex;height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:0 14px;font-size:14px;font-weight:600;line-height:1;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.ui-button-default{background:var(--primary);color:var(--primary-foreground)}.ui-button-outline{border-color:var(--border);background:var(--card);color:var(--foreground)}.ui-button-ghost{background:transparent;color:var(--muted-foreground)}.ui-button-destructive{background:var(--destructive);color:#ffffff}.ui-button-sm{height:32px;padding:0 10px;font-size:12px}.ui-button-icon{width:36px;height:36px;padding:0}.ui-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 1px 2px rgb(15 23 42/5%)}.ui-card-header{display:grid;gap:6px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.ui-card-title{margin:0;color:var(--card-foreground);font-size:16px;line-height:1.35}.ui-card-description{margin:0;color:var(--muted-foreground);font-size:13px;line-height:1.6}.ui-card-content{display:grid;gap:16px;padding:18px 20px 20px}.ui-card-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:40px;border:1px solid var(--input);border-radius:6px;outline:none;background:#ffffff;color:var(--foreground);font-size:14px}.ui-input,.ui-select{padding:0 12px}.ui-textarea{min-height:112px;resize:vertical;padding:10px 12px;line-height:1.6}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px rgb(148 163 184/18%)}.ui-label{color:var(--foreground);font-size:13px;font-weight:600}.ui-badge{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:0 10px;font-size:12px;font-weight:600;white-space:nowrap}.ui-badge-default{background:var(--primary);color:var(--primary-foreground)}.ui-badge-secondary{background:var(--muted);color:var(--muted-foreground)}.ui-badge-success{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.ui-badge-destructive{border-color:#fecaca;background:#fef2f2;color:var(--destructive)}.ui-alert{border:1px solid var(--border);border-radius:8px;padding:12px 14px;background:#ffffff;color:var(--foreground);font-size:13px;line-height:1.6}.ui-alert-destructive{border-color:#fecaca;background:#fef2f2;color:#991b1b}.ui-alert-success{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.ui-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}.ui-table{width:100%;min-width:760px;border-collapse:collapse;background:#ffffff}.ui-table td,.ui-table th{border-bottom:1px solid var(--border);padding:12px 14px;font-size:13px;text-align:left;vertical-align:middle}.ui-table th{background:var(--muted);color:var(--muted-foreground);font-weight:700}.ui-table tr:last-child td{border-bottom:0}.admin-auth-page{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:48px;padding:48px}.admin-auth-brand{display:grid;justify-items:start;gap:12px;max-width:620px}.admin-auth-logo{display:block;width:58px;height:58px;border:1px solid var(--border);border-radius:14px;object-fit:cover;box-shadow:0 8px 24px rgb(15 23 42/12%)}.admin-login-card{width:100%}.admin-dashboard{display:grid;height:100vh;min-height:0;grid-template-columns:280px minmax(0,1fr);overflow:hidden}.admin-sidebar{min-height:0;border-right:1px solid var(--border);background:#ffffff;padding:20px 16px;overflow:hidden auto}.admin-sidebar-brand{display:flex;align-items:center;gap:12px;padding:6px 8px 20px}.admin-sidebar-logo{width:38px;height:38px;flex:0 0 auto;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#ffffff;box-shadow:0 4px 12px rgb(15 23 42/10%)}.admin-sidebar-logo img{display:block;width:100%;height:100%;object-fit:cover}.admin-sidebar-brand-copy{min-width:0}.admin-sidebar-brand-title{display:flex;align-items:center;gap:8px;min-width:0}.admin-sidebar-brand strong{font-size:14px}.admin-version-badge{height:20px;padding:0 8px;background:var(--muted);color:var(--muted-foreground);font-size:11px;font-weight:700;line-height:1}.admin-header-brand,.admin-version-badge{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px}.admin-header-brand{min-height:36px;gap:8px;padding:3px 10px 3px 4px;background:#ffffff;color:var(--foreground);font-size:13px;font-weight:800;white-space:nowrap}.admin-header-brand img{display:block;width:28px;height:28px;border-radius:999px;object-fit:cover}.admin-nav{display:grid;gap:6px}.admin-nav-item{display:grid;gap:4px;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;padding:11px 12px;color:var(--foreground);text-align:left}.admin-nav-item span{font-size:13px;font-weight:700}.admin-nav-item small{color:var(--muted-foreground);font-size:12px;line-height:1.4}.admin-nav-item.is-active{border-color:var(--border);background:var(--muted)}.admin-main{height:100vh;min-width:0;min-height:0;overflow:auto;padding:28px}.admin-main-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 auto 20px;max-width:1180px}.admin-card-title-row,.admin-form-actions,.admin-header-actions,.admin-table-actions{display:flex;align-items:center;gap:10px}.admin-card-title-row{justify-content:space-between}.admin-section-content{display:grid;gap:16px;max-width:1180px;margin:0 auto}.admin-overview-grid,.admin-user-grid{display:grid;gap:16px}.admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-stack{display:grid;gap:16px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-form-field{display:grid;gap:8px}.admin-form-actions{justify-content:flex-end}.admin-table-actions{flex-wrap:wrap}.admin-inline-edit{display:flex;min-width:240px;align-items:center;gap:8px}.admin-inline-select{min-height:32px;min-width:160px;padding:0 8px;font-size:12px}.admin-inline-code{display:inline-flex;align-items:center;border-radius:6px;background:var(--muted);padding:4px 7px;color:var(--foreground);font-size:12px;font-weight:700;letter-spacing:0}.admin-system-list{gap:0;padding:0}.admin-system-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-top:1px solid var(--border)}.admin-system-list>div:first-child{border-top:0}.admin-shell{min-height:100vh;padding:32px}.admin-page{display:grid;gap:24px;max-width:1180px;margin:0 auto}.admin-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-kicker{margin:0 0 8px;color:var(--muted-foreground);font-size:13px;font-weight:500}.admin-title{margin:0;letter-spacing:0;font-size:30px;line-height:1.2}.admin-subtitle{max-width:640px;margin:10px 0 0;font-size:14px;line-height:1.7}.admin-badge,.admin-subtitle{color:var(--muted-foreground)}.admin-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--card);font-size:13px;white-space:nowrap}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.admin-card{border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 1px 2px rgb(15 23 42/5%)}.admin-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.provider-heading{display:flex;align-items:center;gap:12px}.provider-mark{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--foreground);font-weight:700}.provider-title{margin:0;font-size:16px;line-height:1.35}.provider-description{margin:4px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.6}.provider-status{min-width:84px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--muted);color:var(--muted-foreground);font-size:12px;text-align:center;white-space:nowrap}.template-header-actions{display:grid;min-width:220px;flex:0 0 auto;grid-template-columns:minmax(112px,auto) 72px;align-items:center;justify-content:end;gap:10px}.template-header-actions .provider-status{display:inline-flex;height:32px;align-items:center;justify-content:center}.button-compact{width:72px;min-height:32px;padding:0 10px;font-size:12px}.admin-card-body{display:grid;gap:16px;padding:18px 20px 20px}.admin-vidu-log-dashboard .admin-card-header{align-items:center}.admin-vidu-log-actions{display:grid;min-width:min(680px,100%);justify-items:end;gap:10px}.admin-vidu-log-buttons,.admin-vidu-log-quicklinks{flex-wrap:wrap;justify-content:flex-end}.admin-vidu-log-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--muted)}.admin-vidu-log-metrics>div{display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;padding:12px 14px;border-left:1px solid var(--border);text-align:center}.admin-vidu-log-metrics>div:first-child{border-left:0}.admin-vidu-log-metrics span{color:var(--muted-foreground);font-size:12px;text-align:center}.admin-vidu-log-metrics strong{color:var(--foreground);font-size:22px;line-height:1.1;text-align:center}.admin-vidu-filter-bar{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.65fr) minmax(140px,.65fr) auto;align-items:end;gap:12px}.admin-vidu-filter-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-vidu-project-priority-control{display:inline-flex;align-items:center;gap:6px;color:var(--muted-foreground);font-size:12px}.admin-vidu-project-priority-control .field-input{width:76px;min-height:36px;text-align:center}.admin-vidu-project-overview{display:grid;align-content:start;gap:14px;min-width:0}.admin-vidu-project-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.admin-vidu-project-list-toolbar>div{display:grid;min-width:0;gap:3px}.admin-vidu-project-list-toolbar strong{color:var(--foreground);font-size:14px}.admin-vidu-project-list-toolbar span{color:var(--muted-foreground);font-size:12px}.admin-vidu-project-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.admin-vidu-project-archive-tabs{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#ffffff}.admin-vidu-project-archive-tabs button{min-height:36px;border:0;border-right:1px solid var(--border);padding:0 12px;background:transparent;color:var(--muted-foreground);cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap}.admin-vidu-project-archive-tabs button:last-child{border-right:0}.admin-vidu-project-archive-tabs button:hover{background:var(--muted);color:var(--foreground)}.admin-vidu-project-archive-tabs button.is-active{background:var(--foreground);color:var(--background)}.admin-vidu-project-list{display:grid;gap:10px;min-width:0}.admin-vidu-project-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,.85fr) minmax(230px,auto);align-items:center;gap:14px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:14px;background:#ffffff;color:inherit;text-align:left;box-shadow:0 1px 2px rgb(15 23 42/4%);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.admin-vidu-project-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.admin-vidu-project-card:focus-visible,.admin-vidu-project-card:hover{border-color:var(--ring);box-shadow:0 8px 24px rgb(15 23 42/8%);outline:none;transform:translateY(-1px)}.admin-vidu-project-main{display:grid;min-width:0;gap:7px}.admin-vidu-project-title-row{display:flex;align-items:center;gap:10px;min-width:0}.admin-vidu-project-title-row strong{overflow:hidden;color:var(--foreground);font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-project-stats span,.admin-vidu-project-title-row span{display:inline-flex;min-height:26px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;padding:0 9px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:700;white-space:nowrap}.admin-vidu-project-main small{overflow:hidden;color:var(--muted-foreground);font-size:12px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-project-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0}.admin-vidu-project-progress{grid-column:1/-1;display:flex;overflow:hidden;width:100%;height:8px;border-radius:999px;background:var(--muted)}.admin-vidu-project-progress i{min-width:0}.admin-vidu-project-progress .is-completed{background:#22c55e}.admin-vidu-project-progress .is-running{background:#3b82f6}.admin-vidu-project-progress .is-queued{background:#94a3b8}.admin-vidu-project-progress .is-stopped{background:#ef4444}.admin-vidu-project-detail{display:grid;align-content:start;gap:12px;min-width:0}.admin-vidu-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px;background:#ffffff}.admin-vidu-detail-title{display:grid;min-width:0;gap:3px}.admin-vidu-detail-title small,.admin-vidu-detail-title span,.admin-vidu-element-sync-grid span,.admin-vidu-element-sync-note span{overflow:hidden;color:var(--muted-foreground);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-detail-title strong{overflow:hidden;color:var(--foreground);font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-element-sync-card{min-width:0;background:#ffffff}.admin-vidu-element-sync-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 10px}.admin-vidu-element-sync-card-header .ui-card-title{font-size:20px;line-height:1.1}.admin-vidu-element-sync-formula{display:block;margin-top:5px;color:var(--muted-foreground);font-size:12px;line-height:1.4}.admin-vidu-element-sync-card-content{grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);align-items:stretch;gap:10px;padding:12px}.admin-vidu-element-sync-main{display:grid;min-width:0;align-content:stretch;gap:10px}.admin-vidu-element-sync-progress{overflow:hidden;height:8px;border-radius:999px;background:var(--muted)}.admin-vidu-element-sync-progress i{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .16s ease}.admin-vidu-element-sync-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.admin-vidu-element-sync-grid div{display:grid;min-width:0;align-content:center;gap:3px;border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--muted);text-align:center}.admin-vidu-element-sync-grid strong{overflow:hidden;color:var(--foreground);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-element-sync-note{display:grid;min-width:0;align-content:center;gap:3px;border-radius:8px;padding:10px;background:color-mix(in srgb,var(--primary) 8%,#ffffff)}.admin-vidu-element-sync-note strong{min-width:0;color:var(--primary);font-size:12px;line-height:1.45}.admin-vidu-task-table{display:grid;gap:8px}.admin-vidu-task-row{display:grid;grid-template-columns:minmax(56px,.35fr) minmax(240px,1.45fr) minmax(160px,.95fr) minmax(112px,.7fr) minmax(150px,.8fr) minmax(104px,.6fr);align-items:center;gap:12px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:12px;background:#ffffff;text-align:center}.admin-vidu-task-row>*{width:100%;min-width:0;justify-self:center;text-align:center}.admin-vidu-task-head{padding:9px 12px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:700}.admin-vidu-task-head>span{justify-self:center;margin-top:0;text-align:center}.admin-vidu-task-row small,.admin-vidu-task-row span,.admin-vidu-task-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-vidu-task-row strong{color:var(--foreground);font-size:13px}.admin-vidu-task-row small,.admin-vidu-task-row span{margin-top:4px;color:var(--muted-foreground);font-size:12px;line-height:1.4}.admin-vidu-task-index strong{font-size:18px}.admin-vidu-task-index{display:grid;place-items:center;min-width:0}.admin-vidu-select-cell{display:flex!important;align-items:center;justify-content:center;gap:8px;min-width:0;margin:0;color:inherit;font-size:inherit;font-weight:inherit;line-height:1.4}.admin-vidu-select-cell input{width:16px;height:16px;flex:0 0 auto;accent-color:var(--foreground)}.admin-vidu-select-cell>span{min-width:0}.admin-vidu-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--border);padding-top:12px;color:var(--muted-foreground);font-size:13px}.admin-vidu-pagination>div{display:flex;align-items:center;gap:8px}.admin-vidu-page-size{display:inline-flex;align-items:center;gap:6px;color:var(--muted-foreground);font-size:13px}.admin-vidu-page-size .field-input{width:78px;min-height:34px;padding:0 28px 0 10px}.admin-vidu-status{display:inline-flex;width:fit-content;max-width:100%;min-height:26px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 9px;font-size:12px;font-weight:700;white-space:nowrap}.admin-vidu-status.muted{background:var(--muted);color:var(--muted-foreground)}.admin-vidu-status.running{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.admin-vidu-status.success{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.admin-vidu-status.danger{border-color:#fecaca;background:#fef2f2;color:var(--destructive)}.admin-vidu-log-detail{display:grid;min-width:0;gap:8px}.admin-vidu-log-detail p{display:-webkit-box;overflow:hidden;margin:0;color:var(--foreground);font-size:13px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-vidu-task-prompt p{display:block;overflow:visible;width:100%;margin:0;color:var(--foreground);font-size:13px;line-height:1.55;text-align:center;white-space:normal}.admin-vidu-task-account,.admin-vidu-task-actions,.admin-vidu-task-status-cell,.admin-vidu-video-cell{display:grid;place-items:center;min-width:0;gap:6px;text-align:center}.admin-vidu-video-cell video{width:min(120px,100%);aspect-ratio:9/16;border:1px solid var(--border);border-radius:8px;background:#0f172a;object-fit:contain}.admin-vidu-task-status-cell small,.admin-vidu-task-wait-reason{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3}.admin-vidu-task-wait-reason{width:100%;border:1px solid #bfdbfe;border-radius:8px;padding:6px 8px;background:#eff6ff;color:#1d4ed8;font-weight:700;text-align:center}.admin-vidu-status-meta{display:grid;justify-items:center;gap:5px}.admin-vidu-status-meta span{display:inline-flex;width:fit-content;min-height:22px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 7px;background:var(--muted);color:var(--muted-foreground);font-size:12px;line-height:1;white-space:nowrap}.admin-vidu-task-actions{justify-items:center}.admin-vidu-task-actions .ui-button{width:100%}.admin-vidu-log-meta{display:flex;flex-wrap:wrap;gap:6px}.admin-vidu-log-meta a,.admin-vidu-log-meta span{display:inline-flex;min-height:24px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 8px;background:var(--muted);color:var(--muted-foreground);font-size:12px;text-decoration:none;white-space:nowrap}.admin-vidu-log-meta a{color:var(--foreground);font-weight:700}.admin-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label{color:var(--foreground);font-size:13px;font-weight:600}.field-saved{color:var(--muted-foreground);font-size:12px}.field-input{padding:0 12px}.field-input,.field-textarea{width:100%;min-height:40px;border:1px solid var(--input);border-radius:6px;outline:none;background:#ffffff;color:var(--foreground)}.field-textarea{resize:vertical;padding:10px 12px;line-height:1.6}.field-textarea.code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.field-input:focus,.field-textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px rgb(148 163 184/18%)}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.action-message{min-height:20px;color:var(--muted-foreground);font-size:13px;line-height:1.5}.action-message.success{color:var(--success)}.action-message.error{color:var(--destructive)}.button-row{display:flex;align-items:center;gap:10px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:600}.button-primary{background:var(--primary);color:var(--primary-foreground)}.button-secondary{border-color:var(--border);background:var(--card);color:var(--foreground)}.admin-alert{border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b}.admin-alert,.admin-notice{padding:14px 16px;font-size:14px;line-height:1.6}.admin-notice{border:1px solid #bbf7d0;border-radius:8px;background:#f0fdf4;color:#166534}.admin-modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px;background:rgb(15 23 42/48%)}.admin-modal{width:min(640px,100%);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 24px 64px rgb(15 23 42/28%)}.admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--border)}.admin-modal-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}.admin-modal-close{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted-foreground);font-size:13px;font-weight:700}.admin-modal-body{padding:20px}.admin-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px}.admin-vidu-prompt-modal{width:min(760px,100%)}.admin-vidu-prompt-edit{display:grid;gap:14px}.admin-vidu-prompt-textarea{min-height:220px;font-size:13px}.vidu-login-controls{display:grid;gap:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.vidu-login-controls-compact{max-width:560px}.vidu-login-inline{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px}.vidu-login-feedback{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--muted);color:var(--foreground);font-size:13px;font-weight:600;line-height:1.5}.vidu-login-feedback.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.vidu-login-feedback.success{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.vidu-login-feedback.error{border-color:#fecaca;background:#fef2f2;color:var(--destructive)}.vidu-login-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vidu-login-manual{border-top:1px solid var(--border);padding-top:12px}.vidu-login-manual summary{cursor:pointer;color:var(--muted-foreground);font-size:13px;font-weight:600}.vidu-login-manual .button-row{margin-top:12px;flex-wrap:wrap}.vidu-element-library-modal{width:min(920px,100%)}.vidu-element-library-list{display:grid;max-height:min(64vh,620px);overflow:auto;gap:10px;padding-right:2px}.vidu-element-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;border:1px solid var(--border);border-radius:8px;padding:12px;background:#ffffff}.vidu-element-thumb{display:grid;overflow:hidden;width:72px;height:72px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:600}.vidu-element-thumb-button{cursor:zoom-in;padding:0}.vidu-element-thumb-button:hover{border-color:#94a3b8;box-shadow:0 0 0 3px rgb(148 163 184/18%)}.vidu-element-thumb span{grid-area:1/1}.vidu-element-thumb img{grid-area:1/1;width:100%;height:100%;object-fit:cover;background:#ffffff}.vidu-image-preview-backdrop{z-index:70}.vidu-image-preview-modal{width:min(820px,100%)}.vidu-image-preview-body{display:grid;max-height:min(78vh,760px);place-items:center;overflow:auto;padding:20px;background:#f8fafc}.vidu-image-preview-body img{display:block;max-width:100%;max-height:min(72vh,700px);border:1px solid var(--border);border-radius:8px;background:#ffffff;object-fit:contain}.vidu-element-content{display:grid;min-width:0;align-content:start;gap:6px}.vidu-element-title-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.vidu-element-content small,.vidu-element-title-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vidu-element-title-row strong{min-width:0;color:var(--foreground);font-size:14px}.vidu-element-content small{color:var(--muted-foreground);font-size:12px}.vidu-element-status{display:inline-flex;min-height:24px;flex:0 0 auto;align-items:center;border:1px solid #bbf7d0;border-radius:999px;padding:0 8px;background:#f0fdf4;color:#166534;font-size:12px;white-space:nowrap}.vidu-element-meta{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.vidu-element-meta span{display:inline-flex;max-width:100%;min-height:24px;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:999px;padding:0 8px;background:var(--muted);color:var(--muted-foreground);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-empty,.vidu-login-placeholder{display:grid;min-height:160px;place-items:center;border-radius:8px;background:#ffffff;color:var(--muted-foreground);font-size:13px}.vidu-account-list-card-header{align-items:center}.vidu-account-list-heading{gap:12px}.vidu-account-header-actions,.vidu-account-list-heading{display:flex;min-width:0;flex-wrap:wrap;align-items:center}.vidu-account-header-actions,.vidu-account-toolbar{justify-content:flex-end;gap:8px}.vidu-account-toolbar{flex-wrap:wrap}.vidu-queue-strip{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:8px}.vidu-queue-strip>span{display:inline-flex;min-height:30px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 10px;background:var(--muted);color:var(--muted-foreground);font-size:12px;white-space:nowrap}.vidu-pool-quota-chip{gap:7px}.vidu-pool-quota-chip strong{color:var(--foreground);font-size:12px;line-height:1}.vidu-pool-quota-meter{overflow:hidden;width:58px;height:6px;border-radius:999px;background:#d8e0ea}.vidu-pool-quota-meter i{display:block;height:100%;border-radius:inherit;background:#0f766e;transition:width .18s ease}.vidu-runner-settings-card .admin-card-body{display:grid;gap:14px}.vidu-runner-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vidu-runner-settings-strip{display:flex;min-width:0;flex-wrap:wrap;gap:8px}.vidu-runner-settings-strip>span{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 10px;background:#ffffff;color:var(--muted-foreground);font-size:12px;white-space:nowrap}.vidu-account-header-actions .vidu-account-toolbar{margin-left:auto}.vidu-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vidu-account-grid .admin-empty{grid-column:1/-1}.vidu-account-card{display:grid;gap:12px;border:1px solid var(--border);border-radius:8px;padding:14px;background:#ffffff}.vidu-account-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vidu-account-card-header strong,.vidu-account-metrics strong{display:block;min-width:0;overflow:hidden;color:var(--foreground);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.vidu-account-card-header small{display:block;min-width:0;overflow:hidden;margin-top:4px;color:var(--muted-foreground);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vidu-account-status{display:inline-flex;min-height:26px;flex:0 0 auto;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 9px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:700}.vidu-account-status.active{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.vidu-account-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--muted)}.vidu-account-metrics>div{display:grid;gap:4px;min-width:0;padding:10px;border-left:1px solid var(--border)}.vidu-account-metrics>div:first-child{border-left:0}.vidu-account-metrics span{overflow:hidden;color:var(--muted-foreground);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vidu-account-proxy-field,.vidu-account-remark-field{gap:6px}.vidu-account-proxy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.vidu-account-error{overflow:hidden;color:var(--muted-foreground);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vidu-account-actions{flex-wrap:wrap}@media (max-width:960px){.vidu-account-grid,.vidu-account-metrics,.vidu-account-proxy-row,.vidu-login-inline{grid-template-columns:1fr}.vidu-account-metrics>div{border-top:1px solid var(--border);border-left:0}.vidu-account-metrics>div:first-child{border-top:0}}.admin-table-like{display:grid;gap:10px}.admin-table-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(150px,.9fr) minmax(96px,.7fr) minmax(128px,.8fr) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#ffffff}.admin-table-row span,.admin-table-row strong{color:var(--foreground);font-size:13px}.admin-table-row small,.admin-table-row span,.admin-table-row strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-table-row small{margin-top:4px;color:var(--muted-foreground);font-size:12px}.vidu-account-remark{min-height:34px;padding:0 10px;font-size:12px}.workflow-card{overflow:hidden}.workflow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.workflow-section,.workflow-summary>div{border:1px solid var(--border);border-radius:8px;background:#ffffff}.workflow-summary>div{padding:14px}.workflow-label{margin:0;color:var(--muted-foreground);font-size:12px}.workflow-value{margin:6px 0 0;color:var(--foreground);font-size:14px;font-weight:700}.workflow-section{overflow:hidden}.workflow-section.compact{min-height:100%}.workflow-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--muted)}.workflow-section-heading h3{margin:0;font-size:14px}.workflow-section-heading span{color:var(--muted-foreground);font-size:12px}.workflow-steps{display:grid}.workflow-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:16px;border-top:1px solid var(--border)}.workflow-step:first-child{border-top:0}.workflow-step-index{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:700}.workflow-step-body{min-width:0}.workflow-step-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.workflow-step-title-row h4{margin:0;font-size:15px}.workflow-step-title-row span{padding:4px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:12px}.workflow-step-purpose{margin:6px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.6}.workflow-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0}.workflow-step-grid div{min-width:0}.workflow-step-grid dt{color:var(--foreground);font-size:12px;font-weight:700}.workflow-step-grid dd{margin:5px 0 0;color:var(--muted-foreground);font-size:12px;line-height:1.6}.workflow-prompt{margin-top:14px;border:1px solid var(--border);border-radius:8px;background:#fafafa}.workflow-prompt summary{padding:10px 12px;color:var(--foreground);font-size:12px;font-weight:700;cursor:pointer}.workflow-prompt-grid{display:grid;gap:10px;padding:0 12px 12px}.workflow-prompt-block{overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#ffffff}.workflow-prompt-block p{margin:0;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--muted);color:var(--foreground);font-size:12px;font-weight:700}.workflow-prompt-block pre{max-height:260px;margin:0;overflow:auto;padding:10px;color:var(--muted-foreground);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap}.workflow-two-column{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px}.workflow-list{display:grid;gap:10px;margin:0;padding:16px 16px 16px 34px;color:var(--muted-foreground);font-size:13px;line-height:1.6}.workflow-tags{display:flex;flex-wrap:wrap;gap:8px;padding:16px}.workflow-tags span{display:inline-flex;min-height:28px;align-items:center;border:1px solid var(--border);border-radius:999px;padding:0 10px;background:var(--muted);color:var(--foreground);font-size:12px}.template-card{overflow:hidden}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.template-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.template-prompts{display:grid}.template-prompt{border-top:1px solid var(--border)}.template-prompt:first-child{border-top:0}.template-prompt summary{padding:13px 16px;color:var(--foreground);font-size:13px;font-weight:700;cursor:pointer}.template-prompt-fields{display:grid;gap:12px;padding:0 16px 16px}.legacy-template-card{overflow:hidden}.legacy-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.legacy-template-item,.novel-workflow-step{border:1px solid var(--border);border-radius:8px;background:#ffffff}.legacy-template-item{padding:14px}.legacy-template-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.legacy-template-title-row h4,.novel-workflow-step h4{margin:0;font-size:14px}.legacy-template-title-row span,.novel-run-status{border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted-foreground);font-size:12px;white-space:nowrap}.legacy-template-title-row span.is-active,.novel-run-status.completed{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.novel-run-status.running{border-color:#d4d4d8;background:#18181b;color:#ffffff}.novel-run-status.failed{border-color:#fecaca;background:#fef2f2;color:#dc2626}.legacy-template-item p,.novel-workflow-step p{margin:8px 0 0;color:var(--muted-foreground);font-size:13px;line-height:1.6}.legacy-template-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.legacy-template-meta span{border:1px solid var(--border);border-radius:999px;background:var(--muted);padding:3px 8px;color:var(--muted-foreground);font-size:11px}.novel-workflow-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.novel-workflow-step{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:14px}.novel-step-index{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--muted);color:var(--muted-foreground);font-size:12px;font-weight:700}.novel-run-list{display:grid}.novel-run-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:12px 16px}.novel-run-item:first-child{border-top:0}.novel-run-item p{margin:0;font-size:13px;font-weight:700}.novel-run-item span{display:block;margin-top:4px;color:var(--muted-foreground);font-size:12px;line-height:1.5}.novel-empty{padding:18px 16px;color:var(--muted-foreground);font-size:13px}@media (max-width:880px){.admin-auth-page,.admin-dashboard,.admin-form-grid,.admin-overview-grid{grid-template-columns:1fr}.admin-auth-page,.admin-main{padding:20px}.admin-sidebar{position:sticky;z-index:30;top:0;min-height:auto;border-right:0;border-bottom:1px solid var(--border);padding:12px 14px;overflow:hidden}.admin-sidebar-brand{padding:0 2px 10px}.admin-nav{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;scroll-snap-type:x proximity;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-item{width:auto;flex:0 0 min(168px,44vw);scroll-snap-align:start}.admin-dashboard{height:auto;min-height:100vh;overflow:visible}.admin-main{height:auto;min-height:0;overflow:visible}.admin-header-actions,.admin-main-header{align-items:stretch;flex-direction:column}.admin-main-header{gap:14px;margin-bottom:16px}.admin-header-actions{gap:8px}.admin-shell{padding:20px}.admin-card-header,.admin-header,.card-actions{align-items:stretch;flex-direction:column}.admin-vidu-log-actions,.admin-vidu-log-buttons,.admin-vidu-log-quicklinks{min-width:0;width:100%;justify-items:start;justify-content:flex-start}.admin-vidu-filter-bar{grid-template-columns:1fr}.admin-vidu-filter-actions{justify-content:flex-start}.admin-vidu-project-list-toolbar,.admin-vidu-project-toolbar-actions{align-items:stretch;flex-direction:column}.admin-vidu-filter-actions .ui-button,.admin-vidu-project-archive-tabs,.admin-vidu-project-toolbar-actions .field-input,.admin-vidu-project-toolbar-actions .ui-button{width:100%}.admin-vidu-project-archive-tabs button{flex:1 1}.admin-vidu-detail-header{align-items:stretch;grid-template-columns:1fr}.admin-vidu-project-card{grid-template-columns:1fr}.admin-vidu-project-actions{justify-content:flex-start;flex-wrap:wrap}.admin-vidu-project-actions>*{min-width:min(100%,160px)}.admin-vidu-project-stats,.admin-vidu-project-title-row{grid-template-columns:1fr 1fr;align-items:stretch}.admin-vidu-project-title-row{display:grid}.admin-vidu-element-sync-card-content,.admin-vidu-element-sync-grid,.admin-vidu-log-metrics,.admin-vidu-task-row{grid-template-columns:1fr}.admin-vidu-log-metrics>div{border-top:1px solid var(--border);border-left:0}.admin-vidu-log-metrics>div:first-child{border-top:0}.admin-vidu-task-head{display:none}.admin-vidu-pagination{align-items:stretch;flex-direction:column}.admin-vidu-page-size,.admin-vidu-pagination>div{width:100%;justify-content:space-between}.admin-fields,.admin-table-row,.legacy-template-grid,.novel-workflow-strip,.template-grid,.template-grid.two,.workflow-step-grid,.workflow-summary,.workflow-two-column{grid-template-columns:1fr}.button-row,.provider-status{align-self:flex-start}.admin-form-actions,.admin-header-actions,.admin-table-actions,.button-row,.card-actions{min-width:0;flex-wrap:wrap}.vidu-account-header-actions{width:100%;justify-content:flex-start}.vidu-account-toolbar,.vidu-queue-strip{justify-content:flex-start}.vidu-runner-settings-grid{grid-template-columns:1fr}.vidu-account-header-actions .vidu-account-toolbar{margin-left:0}.vidu-element-card{grid-template-columns:56px minmax(0,1fr)}.vidu-element-thumb{width:56px;height:56px}.template-header-actions{min-width:0;grid-template-columns:auto auto;justify-content:start}}@media (max-width:640px){.admin-card-body,.admin-card-header,.admin-modal-body,.admin-modal-header,.ui-card-content,.ui-card-header{padding-right:14px;padding-left:14px}.admin-auth-page,.admin-main,.admin-shell{padding:12px}.admin-sidebar{padding:10px 12px}.admin-sidebar-brand{align-items:center;padding-bottom:8px}.admin-sidebar-logo{width:32px;height:32px}.admin-sidebar-brand strong{font-size:13px}.admin-header-brand span,.admin-nav-item small,.admin-subtitle,.admin-version-badge{display:none}.admin-nav-item{width:auto;flex-basis:auto;min-width:max-content;padding:9px 12px}.admin-nav-item span{font-size:13px;white-space:nowrap}.admin-title{font-size:24px}.admin-header-actions{flex-direction:row;align-items:center}.admin-header-brand{min-height:34px;padding:2px}.admin-card-header,.admin-modal-header,.legacy-template-title-row,.novel-run-item,.vidu-account-card-header,.vidu-element-title-row,.workflow-section-heading,.workflow-step-title-row{align-items:stretch;flex-direction:column}.provider-heading{align-items:flex-start}.provider-mark{width:32px;height:32px}.provider-title{font-size:15px}.provider-description{font-size:12px}.button,.provider-status,.ui-button{min-width:0;max-width:100%}.admin-card-title-row,.field-label-row{align-items:flex-start;flex-direction:column}.admin-form-actions,.admin-modal-footer,.admin-table-actions,.button-row,.card-actions,.vidu-account-actions,.vidu-login-actions{width:100%}.admin-form-actions .button,.admin-form-actions .ui-button,.admin-modal-footer .button,.admin-modal-footer .ui-button,.button-row .button,.button-row .ui-button,.card-actions .button,.card-actions .ui-button{flex:1 1 128px}.button-compact{width:auto}.admin-inline-edit,.admin-inline-select,.template-header-actions,.vidu-login-controls-compact{width:100%;min-width:0}.admin-inline-edit,.template-header-actions,.vidu-login-actions{grid-template-columns:1fr}.admin-inline-edit{display:grid}.admin-system-list>div,.admin-vidu-element-sync-card-header,.admin-vidu-log-meta,.admin-vidu-project-actions,.admin-vidu-project-list-toolbar,.admin-vidu-project-title-row,.vidu-account-header-actions,.vidu-account-list-heading,.vidu-account-toolbar,.vidu-element-meta,.vidu-queue-strip,.vidu-runner-settings-strip{align-items:stretch;flex-direction:column}.admin-system-list>div{padding:12px 14px}.admin-vidu-log-metrics,.admin-vidu-project-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-vidu-log-metrics>div,.vidu-account-metrics>div{border-left:0}.admin-vidu-project-title-row{grid-template-columns:1fr}.admin-vidu-detail-title small,.admin-vidu-detail-title strong,.admin-vidu-project-main small,.admin-vidu-project-title-row strong,.vidu-account-card-header small,.vidu-account-card-header strong,.vidu-account-error{white-space:normal}.admin-vidu-filter-actions .ui-button,.admin-vidu-project-actions>*,.admin-vidu-project-priority-control,.admin-vidu-project-priority-control .field-input,.admin-vidu-task-actions .ui-button,.vidu-account-proxy-row .button,.vidu-account-proxy-row .ui-button{width:100%}.admin-vidu-project-priority-control{justify-content:space-between}.admin-vidu-element-sync-card-header .admin-vidu-status,.admin-vidu-element-sync-card-header .ui-badge,.admin-vidu-element-sync-grid div,.admin-vidu-log-meta a,.admin-vidu-log-meta span,.vidu-element-meta span,.vidu-queue-strip>span,.vidu-runner-settings-strip>span{width:100%;justify-content:center}.admin-vidu-task-row{gap:10px;padding:10px;text-align:left}.admin-vidu-task-row>*{justify-self:stretch;text-align:left}.admin-vidu-status-meta,.admin-vidu-task-account,.admin-vidu-task-actions,.admin-vidu-task-prompt p,.admin-vidu-task-status-cell,.admin-vidu-task-wait-reason,.admin-vidu-video-cell{justify-items:stretch;text-align:left}.admin-vidu-status-meta span{justify-content:flex-start}.admin-vidu-video-cell video{width:min(150px,52vw);justify-self:start}.admin-vidu-pagination>div{flex-wrap:wrap}.admin-vidu-prompt-modal,.vidu-element-library-modal,.vidu-image-preview-modal{width:100%;max-width:100%}.admin-modal-backdrop{align-items:start;overflow-y:auto;padding:12px}.vidu-element-card{grid-template-columns:1fr}.vidu-element-thumb{width:100%;height:auto;aspect-ratio:1/1;max-height:180px}.novel-workflow-step,.workflow-step{grid-template-columns:1fr}}