@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:#f5f7fa;color:#1f2937}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f0fe,#d4e4fc,#c3d9fa);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 70%);top:-200px;right:-200px;pointer-events:none}.login-container:after{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(96,165,250,.1) 0%,transparent 70%);bottom:-100px;left:-100px;pointer-events:none}.login-card{width:400px;padding:48px 40px;background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(59,130,246,.15);border-radius:16px;box-shadow:0 25px 50px #00000014;z-index:1}.login-card h1{text-align:center;font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#2563eb,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card .subtitle{text-align:center;color:#6b7280;font-size:14px;margin-bottom:36px}.app-layout{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a}.app-header .logo{font-size:20px;font-weight:700;background:linear-gradient(135deg,#2563eb,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-balance{color:#111827}.header-balance .anticon{color:#22c55e}.header-balance.is-empty,.header-balance.is-empty .ant-typography,.header-balance.is-empty .anticon{color:#dc2626}.app-content{padding:24px;max-width:1400px;width:100%;margin:0 auto}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes phase-border-spin{to{--border-angle: 360deg}}.phase-card-wrapper{position:relative;border-radius:12px}.phase-card-wrapper.is-running{padding:2px;border-radius:14px;background:conic-gradient(from var(--border-angle),transparent 40%,#3b82f6 48%,#60a5fa 52%,#93c5fd 56%,transparent 64%);animation:phase-border-spin 3s linear infinite}.phase-card-wrapper.is-running>.ant-card{border:none!important;background:#fff;border-radius:12px}@keyframes asset-progress-pulse{0%,to{opacity:1}50%{opacity:.6}}.asset-generating-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #bfdbfe;animation:asset-progress-pulse 2s ease-in-out infinite;margin-bottom:12px}.asset-generating-bar.is-video{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#bbf7d0}.asset-generating-bar .gen-icon{font-size:18px;animation:gen-icon-bounce 1.5s ease-in-out infinite}@keyframes gen-icon-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes shot-fade-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.shot-image-appear{animation:shot-fade-in .4s ease-out both}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.shot-skeleton{width:80px;height:120px;border-radius:4px;margin:0 auto;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s infinite}.storyboard-table .ant-table{table-layout:fixed}.storyboard-table .ant-table-thead>tr>th{text-align:center!important;vertical-align:middle;padding:12px 10px!important;font-weight:700;color:#111827;background:#fafafa}.storyboard-table .ant-table-tbody>tr>td{text-align:center;vertical-align:middle;line-height:1.65;color:#1f2937}.storyboard-table .ant-space{align-items:center;justify-content:center}.storyboard-table .ant-typography{text-align:center;line-height:1.65}.storyboard-table .ant-tag{line-height:1.5}.storyboard-table .ant-btn-link{height:auto;line-height:1.5;white-space:normal}.storyboard-table .storyboard-action-button.ant-btn-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:22px;line-height:22px;white-space:nowrap}.storyboard-table .storyboard-action-button .ant-btn-icon{display:inline-flex;align-items:center;margin-inline-end:0}.regen-video-layout{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.1fr);gap:20px;align-items:start}.regen-video-preview,.regen-video-editor{min-width:0;display:flex;flex-direction:column;gap:10px}.regen-video-preview{align-items:flex-start}.regen-video-player{width:auto;max-width:100%;height:500px;max-height:70vh;border-radius:8px;background:transparent;object-fit:contain}.regen-video-empty{min-height:260px;border:1px dashed #d1d5db;border-radius:8px;background:#f9fafb;color:#9ca3af;display:flex;align-items:center;justify-content:center}.regen-video-field{display:grid;gap:6px}.regen-video-description{min-height:64px;padding:10px 12px;border-radius:8px;background:#f9fafb;color:#374151;line-height:1.6;white-space:pre-wrap}@media (max-width: 760px){.regen-video-layout{grid-template-columns:1fr}}.billing-page{padding:8px 0 32px}.billing-header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.billing-title{min-width:0;display:flex;align-items:center;gap:14px}.billing-title .ant-typography{margin:0;color:#111827;font-size:32px;line-height:1.2}.billing-title-icon{width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:23px}.billing-balance-card{min-width:220px;padding:16px 22px;border-radius:8px;border:1px solid #dbeafe;background:#eff6ff;text-align:right}.billing-balance-card>div{margin-top:2px;font-size:30px;font-weight:700;line-height:1.15;color:#0f172a}.billing-balance-card.is-empty>div{color:#dc2626}.billing-filter-row{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:18px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.billing-date-range{min-width:300px}.billing-search-input{flex:1;max-width:520px}.billing-task-list{display:flex;flex-direction:column;gap:10px}.billing-task-card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0f172a0f;overflow:hidden}.billing-task-main{width:100%;border:0;background:transparent;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(300px,1.35fr) minmax(170px,.7fr) 120px 18px;align-items:center;gap:18px;padding:18px 20px;cursor:pointer;text-align:left}.billing-task-main:hover{background:#f8fafc}.billing-task-id,.billing-task-name,.billing-task-time,.billing-task-cost{min-width:0;display:flex;flex-direction:column;gap:4px}.billing-field-label{font-size:12px;line-height:1.2}.billing-task-name .ant-typography-strong{font-size:17px;color:#111827}.billing-task-time{color:#475569}.billing-task-cost{align-items:flex-end}.billing-task-cost>span{font-size:24px;font-weight:700;line-height:1.1;color:#d97706}.billing-phase-list{padding:0 20px 18px}.billing-phase-row{display:grid;grid-template-columns:minmax(220px,1fr) 130px 110px;align-items:center;gap:16px;padding:12px 16px;border-radius:8px;background:#f8fafc;border:1px solid #eef2f7}.billing-phase-row+.billing-phase-row{margin-top:8px}.billing-phase-name{min-width:0;display:flex;align-items:center;gap:8px}.billing-phase-duration,.billing-phase-cost{justify-self:end}.billing-pagination{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin-top:18px}@media (max-width: 720px){.app-header{padding:0 12px}.billing-header-row,.billing-filter-row{flex-direction:column;align-items:stretch}.billing-balance-card,.billing-date-range,.billing-search-input{min-width:0;max-width:none;width:100%}.billing-balance-card{text-align:left}.billing-task-main{grid-template-columns:1fr auto;gap:12px;padding:16px}.billing-task-name{grid-column:1 / -1;grid-row:1}.billing-task-id{grid-column:1;grid-row:2}.billing-task-time{grid-column:1;grid-row:3}.billing-task-cost{grid-column:2;grid-row:2 / 4}.billing-task-cost>span{font-size:20px}.billing-phase-row{grid-template-columns:1fr;gap:6px}.billing-phase-duration,.billing-phase-cost{justify-self:start}.billing-pagination{justify-content:space-between}}
