:root{
  --ta-v2-ink:#102022;
  --ta-v2-muted:#71817e;
  --ta-v2-line:rgba(74,105,104,.15);
  --ta-v2-surface:rgba(255,255,255,.88);
  --ta-v2-soft:#edf6f4;
  --ta-v2-brand:#0f8a7d;
  --ta-v2-brand-dark:#102d2e;
  --ta-v2-shadow:0 18px 55px rgba(9,35,36,.08);
}

html,body,#root{width:100%!important;min-width:0!important;min-height:100%!important}
html{overflow-x:hidden!important}
body.ta-ui-v2{min-height:100dvh!important;overflow-x:hidden!important}
body.ta-ui-v2 #root{min-height:100dvh!important;overflow-x:hidden!important}
body.ta-ui-v2 *,body.ta-ui-v2 *:before,body.ta-ui-v2 *:after{box-sizing:border-box}
body.ta-ui-v2 img,body.ta-ui-v2 video,body.ta-ui-v2 canvas,body.ta-ui-v2 svg{max-width:100%}

html body.ta-ui-v2{
  color:var(--ta-v2-ink)!important;
  background:
    radial-gradient(circle at 8% 0%,rgba(35,188,167,.09),transparent 26%),
    radial-gradient(circle at 92% 12%,rgba(46,109,246,.06),transparent 24%),
    #f2f7f6!important;
}

body.ta-ui-v2 .appHeader,
body.ta-ui-v2 header.appHeader{
  height:66px!important;
  min-height:66px!important;
  padding:0 24px!important;
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid var(--ta-v2-line)!important;
  box-shadow:0 10px 34px rgba(9,35,36,.055)!important;
  backdrop-filter:blur(20px) saturate(1.15)!important;
}

body.ta-ui-v2 .topNav{
  padding:4px!important;
  border:1px solid var(--ta-v2-line)!important;
  border-radius:13px!important;
  background:#eef5f3!important;
  box-shadow:none!important;
}

body.ta-ui-v2 .topNav button{
  min-height:34px!important;
  border-radius:9px!important;
  color:#71817e!important;
  font-weight:800!important;
}

body.ta-ui-v2 .topNav button.active{
  color:#0d746b!important;
  background:#fff!important;
  box-shadow:0 7px 18px rgba(11,97,91,.11)!important;
}

body.ta-ui-v2 .pointsButton,
body.ta-ui-v2 [data-sf-points-button]{
  border:1px solid rgba(15,138,125,.17)!important;
  background:#e8f8f4!important;
  color:#0b766c!important;
  border-radius:999px!important;
  font-weight:850!important;
}

body.ta-ui-v2 main.workspace,
body.ta-ui-v2 main.sfVideoCompactPage,
body.ta-ui-v2 main.sfAssetLibraryShell{
  max-width:1480px!important;
  margin-inline:auto!important;
}

body.ta-ui-v2 .projectCard,
body.ta-ui-v2 .panel,
body.ta-ui-v2 .creatorPanel,
body.ta-ui-v2 .sfVideoCompactPage section,
body.ta-ui-v2 .sfVideoCompactPage aside{
  border-color:var(--ta-v2-line)!important;
  background:var(--ta-v2-surface)!important;
  box-shadow:var(--ta-v2-shadow)!important;
}

body.ta-ui-v2 .projectCard{
  border-radius:18px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}

body.ta-ui-v2 .projectCard:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(15,138,125,.3)!important;
  box-shadow:0 24px 68px rgba(9,35,36,.13)!important;
}

body.ta-ui-v2 button.primary,
body.ta-ui-v2 .primary,
body.ta-ui-v2 .createVideoButton{
  border-color:transparent!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,var(--ta-v2-brand-dark),var(--ta-v2-brand))!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(15,138,125,.2)!important;
}

body.ta-ui-v2 input,
body.ta-ui-v2 textarea,
body.ta-ui-v2 select{
  border-color:rgba(75,105,103,.18)!important;
  border-radius:10px!important;
  background:rgba(252,254,253,.9)!important;
}

body.ta-ui-v2 input:focus,
body.ta-ui-v2 textarea:focus,
body.ta-ui-v2 select:focus{
  border-color:rgba(15,138,125,.5)!important;
  box-shadow:0 0 0 4px rgba(15,138,125,.1)!important;
}

.ta-v2-cost-panel{
  margin:14px 0 10px;
  padding:14px;
  border:1px solid rgba(15,138,125,.2);
  border-radius:14px;
  background:linear-gradient(135deg,#edf9f5,#fbfdfc);
  box-shadow:0 12px 34px rgba(9,64,60,.07);
}

.ta-v2-cost-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}

.ta-v2-cost-panel__head b{font-size:13px;color:#15312e}
.ta-v2-cost-panel__head span{font-size:12px;font-weight:900;color:var(--ta-v2-brand)}

.ta-v2-cost-panel__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.ta-v2-cost-panel__item{
  padding:9px 10px;
  border:1px solid rgba(69,104,100,.11);
  border-radius:10px;
  background:rgba(255,255,255,.72);
}

.ta-v2-cost-panel__item small{display:block;color:#788783;font-size:10px;margin-bottom:4px}
.ta-v2-cost-panel__item strong{font-size:13px;color:#17302d}
.ta-v2-cost-panel__note{margin:9px 1px 0;color:#677975;font-size:10px;line-height:1.5}
.ta-v2-cost-panel[data-state="error"]{border-color:rgba(220,90,72,.2);background:#fff7f5}
.ta-v2-cost-panel[data-state="insufficient"]{border-color:rgba(220,90,72,.25);background:linear-gradient(135deg,#fff2ef,#fffafa)}
.ta-v2-cost-panel[data-state="insufficient"] .ta-v2-cost-panel__head span,
.ta-v2-cost-panel[data-state="insufficient"] [data-ta-after]{color:#c24134}
.ta-v2-cost-panel[data-state="loading"]{opacity:.72}

body.ta-ui-v2 .sfVideoCompactPage button[data-ta-balance-blocked="1"]{
  cursor:not-allowed!important;
  opacity:.48!important;
  filter:saturate(.4)!important;
  box-shadow:none!important;
}

body.ta-ui-v2 .sfVideoCompactPage .createVideoButton,
body.ta-ui-v2 .sfVideoCompactPage button[data-action="generate"]{
  min-height:46px!important;
  font-size:14px!important;
}

@media(max-width:760px){
  body.ta-ui-v2 .appHeader,body.ta-ui-v2 header.appHeader{padding:0 12px!important}
  .ta-v2-cost-panel__grid{grid-template-columns:1fr}
  .ta-v2-cost-panel{padding:12px}
}

body.ta-ui-v2 main.sfProjectCompactPage .detail{
  gap:14px!important;
  padding:18px 20px 24px!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .projectCrumb{
  min-height:38px!important;
  padding:0 4px!important;
  color:#17302d!important;
  font-size:15px!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .projectActionBar{
  padding:8px!important;
  border:1px solid var(--ta-v2-line)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.8)!important;
  box-shadow:0 10px 30px rgba(9,35,36,.055)!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .projectActionBar button,
body.ta-ui-v2 main.sfProjectCompactPage .sfPanelActions button,
body.ta-ui-v2 main.sfProjectCompactPage .sfStoryUnifiedRight button{
  border-radius:9px!important;
  font-weight:750!important;
}

.ta-v2-project-flow{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(480px,2fr);
  gap:18px;
  align-items:center;
  padding:15px 17px;
  border:1px solid rgba(15,138,125,.17);
  border-radius:16px;
  background:linear-gradient(120deg,rgba(230,248,243,.94),rgba(255,255,255,.88));
  box-shadow:0 16px 44px rgba(9,55,52,.07);
}

.ta-v2-project-flow__summary b{display:block;font-size:13px;color:#17312e}
.ta-v2-project-flow__summary span{display:block;margin-top:5px;color:#71817d;font-size:10px}
.ta-v2-project-flow__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.ta-v2-project-flow__step{position:relative;padding:10px;border:1px solid rgba(72,106,101,.12);border-radius:11px;background:rgba(255,255,255,.68)}
.ta-v2-project-flow__step small{display:block;color:#7b8b87;font-size:9px}.ta-v2-project-flow__step strong{display:block;margin-top:4px;font-size:11px;color:#263936}
.ta-v2-project-flow__step[data-ready="1"]{border-color:rgba(15,138,125,.23);background:#f0faf7}
.ta-v2-project-flow__step[data-ready="1"]:after{content:"✓";position:absolute;right:8px;top:8px;color:#0f8a7d;font-size:10px;font-weight:950}

body.ta-ui-v2 main.sfProjectCompactPage .sfScriptColumnPanel,
body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewElementPanel,
body.ta-ui-v2 main.sfProjectCompactPage .detail>.panel{
  border:1px solid var(--ta-v2-line)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 14px 40px rgba(9,35,36,.065)!important;
  overflow:hidden!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfScriptColumnPanel>header,
body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewElementPanel>header{
  min-height:47px!important;
  padding:0 14px!important;
  border-bottom:1px solid rgba(74,105,104,.1)!important;
  background:linear-gradient(180deg,#fbfdfc,#f4f9f7)!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewElementGrid{
  gap:10px!important;
  padding:12px!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewElementGrid article,
body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewAddCard{
  border-radius:13px!important;
  border-color:rgba(74,105,104,.13)!important;
  background:#f8fbfa!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewElementGrid article:hover,
body.ta-ui-v2 main.sfProjectCompactPage .sfOverviewAddCard:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(15,138,125,.3)!important;
  box-shadow:0 12px 28px rgba(9,58,54,.08)!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfProjectVerticalSplitter{
  height:8px!important;
  border-radius:999px!important;
  background:rgba(73,110,105,.08)!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfEpisodeRailHead,
body.ta-ui-v2 main.sfProjectCompactPage .sfStoryUnifiedTitle{
  background:#f6faf9!important;
  border-color:rgba(74,105,104,.1)!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfEpisodeSwitch{
  border-radius:11px!important;
}

body.ta-ui-v2 main.sfProjectCompactPage .sfEpisodeSwitch.active{
  color:#0d776c!important;
  border-color:rgba(15,138,125,.25)!important;
  background:#eaf8f4!important;
}

body.ta-ui-v2 main.sfProjectCompactPage [aria-label="双击编辑分镜"],
body.ta-ui-v2 main.sfProjectCompactPage .sfStoryCard{
  border-radius:14px!important;
  border-color:rgba(74,105,104,.14)!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(9,35,36,.055)!important;
}

body.ta-ui-v2 .sfRoleModalMask{
  background:rgba(4,16,17,.64)!important;
  backdrop-filter:blur(12px) saturate(1.08)!important;
}

body.ta-ui-v2 .sfRoleModal.sfRoleEditorClean{
  width:min(1120px,calc(100vw - 42px))!important;
  max-height:calc(100vh - 42px)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:20px!important;
  background:#f7fbfa!important;
  box-shadow:0 34px 110px rgba(0,0,0,.32)!important;
  overflow:hidden!important;
}

body.ta-ui-v2 .sfRoleModal.sfRoleEditorClean>span:first-child{
  display:flex!important;
  align-items:center!important;
  min-height:58px!important;
  padding:0 20px!important;
  border-bottom:1px solid var(--ta-v2-line)!important;
  background:#fff!important;
  color:#15302d!important;
  font-size:15px!important;
  font-weight:900!important;
}

body.ta-ui-v2 .sfRoleModal.sfRoleEditorClean form{
  padding:18px!important;
  overflow:auto!important;
}

body.ta-ui-v2 .sfRoleModal.sfRoleEditorClean label{
  color:#536864!important;
  font-size:11px!important;
  font-weight:750!important;
}

@media(max-width:900px){
  .ta-v2-project-flow{grid-template-columns:1fr}.ta-v2-project-flow__steps{grid-template-columns:1fr 1fr}
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  .ta-v2-project-flow__steps{grid-template-columns:1fr}
  body.ta-ui-v2 main.sfProjectCompactPage .detail{padding:12px!important}
}

/* V3 application shell: a real workspace hierarchy around the live business UI. */
@media(min-width:961px){
  body.ta-ui-v2:not(:has(.loginPage)):not(:has([aria-label="StudioFlow 登录页"])){
    --ta-v3-side:208px;
    padding-left:var(--ta-v3-side)!important;
  }

  body.ta-ui-v2:not(:has(.loginPage)):not(:has([aria-label="StudioFlow 登录页"])):before{
    content:"";
    position:fixed;
    inset:0 auto 0 0;
    z-index:88;
    width:var(--ta-v3-side);
    background:
      radial-gradient(circle at 30% 8%,rgba(91,225,205,.15),transparent 25%),
      linear-gradient(180deg,#071414,#091b1d 55%,#071113);
    border-right:1px solid rgba(125,224,210,.13);
    box-shadow:18px 0 54px rgba(0,0,0,.12);
    pointer-events:none;
  }

  body.ta-ui-v2 .appHeader,body.ta-ui-v2 header.appHeader{
    padding-left:22px!important;
    background:rgba(9,21,23,.93)!important;
    border-bottom-color:rgba(115,222,207,.12)!important;
  }

  body.ta-ui-v2 .appHeader .brand,body.ta-ui-v2 header.appHeader .brand{
    position:fixed!important;
    left:18px!important;
    top:12px!important;
    z-index:92!important;
    width:172px!important;
    height:42px!important;
    color:#f3fffd!important;
  }

  body.ta-ui-v2 .appHeader .topNav,body.ta-ui-v2 header.appHeader .topNav{
    position:fixed!important;
    left:14px!important;
    top:86px!important;
    z-index:92!important;
    width:180px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    padding:6px!important;
    border:0!important;
    background:transparent!important;
  }

  body.ta-ui-v2 .appHeader .topNav button,body.ta-ui-v2 header.appHeader .topNav button{
    width:100%!important;
    min-height:43px!important;
    justify-content:flex-start!important;
    padding:0 14px!important;
    border:1px solid transparent!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#88a49f!important;
    box-shadow:none!important;
  }

  body.ta-ui-v2 .appHeader .topNav button.active,body.ta-ui-v2 header.appHeader .topNav button.active{
    border-color:rgba(110,229,211,.17)!important;
    background:linear-gradient(90deg,rgba(95,224,205,.18),rgba(95,224,205,.04))!important;
    color:#dffff9!important;
    box-shadow:inset 2px 0 #67ddcb,0 12px 28px rgba(0,0,0,.15)!important;
  }

  body.ta-ui-v2 .appHeader .headerRight,body.ta-ui-v2 header.appHeader .headerRight{
    margin-left:auto!important;
  }

  body.ta-ui-v2 main.ta-v3-main,
  body.ta-ui-v2 .settingsLayout{
    max-width:none!important;
  }
}

.ta-v3-dashboard-head{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(430px,1.35fr);
  gap:18px;
  align-items:stretch;
  margin:0 0 16px;
}

.ta-v3-dashboard-copy{
  padding:20px 22px;
  border:1px solid rgba(15,138,125,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#102d2e,#0c766d);
  color:#fff;
  box-shadow:0 20px 54px rgba(9,55,52,.16);
}

.ta-v3-dashboard-copy>span{font-size:9px;font-weight:900;letter-spacing:.18em;color:#8de7d9}
.ta-v3-dashboard-copy h1{margin:9px 0 6px!important;color:#fff!important;font-size:24px!important;line-height:1.15!important}
.ta-v3-dashboard-copy p{margin:0!important;color:rgba(234,255,251,.66)!important;font-size:11px!important;line-height:1.6!important}

.ta-v3-dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ta-v3-dashboard-stats article{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:17px;
  border:1px solid var(--ta-v2-line);
  border-radius:16px;
  background:rgba(255,255,255,.9);
  box-shadow:0 14px 40px rgba(9,35,36,.06);
}
.ta-v3-dashboard-stats small{color:#72827e;font-size:10px;font-weight:750}
.ta-v3-dashboard-stats strong{margin:5px 0 2px;color:#163633;font-size:25px;line-height:1}
.ta-v3-dashboard-stats em{color:#8a9895;font-size:9px;font-style:normal}

body.ta-ui-v2 main.ta-v3-project-list{padding-top:18px!important}
body.ta-ui-v2 main.ta-v3-project-list>.topbar{border:1px solid var(--ta-v2-line)!important;border-radius:15px!important;padding:10px 12px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 12px 34px rgba(9,35,36,.05)!important}
body.ta-ui-v2 main.ta-v3-project-list>.topbar h1,
body.ta-ui-v2 main.ta-v3-project-list>.topbar>div:first-child{display:none!important}

@media(max-width:960px){
  .ta-v3-dashboard-head{grid-template-columns:1fr}
}

@media(max-width:620px){
  .ta-v3-dashboard-head{gap:9px;margin-bottom:11px}
  .ta-v3-dashboard-copy{padding:16px;border-radius:15px}
  .ta-v3-dashboard-copy h1{font-size:20px!important}
  .ta-v3-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .ta-v3-dashboard-stats article{padding:11px 9px;border-radius:12px}
  .ta-v3-dashboard-stats strong{font-size:20px}
  .ta-v3-dashboard-stats em{display:none}
}

/* V3 shell rollback: the legacy header owns runtime transforms and cannot be repositioned safely. */
body.ta-ui-v2{padding-left:0!important}
body.ta-ui-v2:before{display:none!important}
body.ta-ui-v2 .ta-v3-dashboard-head{display:none!important}
@media(min-width:961px){
  body.ta-ui-v2 .appHeader,body.ta-ui-v2 header.appHeader{
    padding:0 24px!important;
  }
  body.ta-ui-v2 .appHeader .brand,body.ta-ui-v2 header.appHeader .brand,
  body.ta-ui-v2 .appHeader .topNav,body.ta-ui-v2 header.appHeader .topNav{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    z-index:auto!important;
  }
  body.ta-ui-v2 .appHeader .topNav,body.ta-ui-v2 header.appHeader .topNav{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:0!important;
    padding:4px!important;
    border:1px solid var(--ta-v2-line)!important;
    background:#eef5f3!important;
  }
  body.ta-ui-v2 .appHeader .topNav button,body.ta-ui-v2 header.appHeader .topNav button{
    width:auto!important;
    min-height:34px!important;
    padding:0 12px!important;
    justify-content:center!important;
    border:0!important;
    background:transparent!important;
    color:#71817e!important;
    box-shadow:none!important;
  }
  body.ta-ui-v2 .appHeader .topNav button.active,body.ta-ui-v2 header.appHeader .topNav button.active{
    background:#fff!important;
    color:#0d746b!important;
    box-shadow:0 7px 18px rgba(11,97,91,.11)!important;
  }
}

/* Phase 2: secondary workflows, managers, data tables and system feedback. */
body.ta-ui-v2 .sfManagerPage,
body.ta-ui-v2 .sfTaskPage{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:18px 22px 24px!important;
  background:transparent!important;
}

body.ta-ui-v2 .sfManagerPage>header,
body.ta-ui-v2 .sfTaskPage>header,
body.ta-ui-v2 .sfManagerPage .sfManagerToolbar,
body.ta-ui-v2 .sfTaskPage .sfTaskToolbar{
  min-height:58px!important;
  padding:10px 14px!important;
  border:1px solid var(--ta-v2-line)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 12px 36px rgba(9,35,36,.055)!important;
}

body.ta-ui-v2 .sfStoryboardTableWrap,
body.ta-ui-v2 .sfTaskTableWrap,
body.ta-ui-v2 .sfTeamTable,
body.ta-ui-v2 .sfElementManagerGrid,
body.ta-ui-v2 .sfStoryboardGrid{
  border:1px solid var(--ta-v2-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 16px 46px rgba(9,35,36,.065)!important;
}

body.ta-ui-v2 .sfStoryboardTable,
body.ta-ui-v2 .sfTaskTable,
body.ta-ui-v2 .sfTeamTable{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  color:#29403d!important;
}

body.ta-ui-v2 .sfStoryboardTable th,
body.ta-ui-v2 .sfTaskTable th,
body.ta-ui-v2 .sfTeamTable th{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  height:42px!important;
  padding:9px 12px!important;
  border-bottom:1px solid rgba(74,105,104,.13)!important;
  background:#eff6f4!important;
  color:#657873!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.025em!important;
}

body.ta-ui-v2 .sfStoryboardTable td,
body.ta-ui-v2 .sfTaskTable td,
body.ta-ui-v2 .sfTeamTable td{
  padding:11px 12px!important;
  border-bottom:1px solid rgba(74,105,104,.09)!important;
  background:rgba(255,255,255,.72)!important;
  vertical-align:middle!important;
}

body.ta-ui-v2 .sfStoryboardTable tbody tr:hover td,
body.ta-ui-v2 .sfTaskTable tbody tr:hover td,
body.ta-ui-v2 .sfTeamTable tbody tr:hover td{
  background:#eef9f6!important;
}

body.ta-ui-v2 .sfTabs,
body.ta-ui-v2 .sfCacheTabs{
  display:flex!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid rgba(74,105,104,.13)!important;
  border-radius:12px!important;
  background:#edf4f2!important;
  overflow-x:auto!important;
}

body.ta-ui-v2 .sfTabs button,
body.ta-ui-v2 .sfCacheTabs button{
  min-height:34px!important;
  padding:0 13px!important;
  border-radius:8px!important;
  color:#687a76!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

body.ta-ui-v2 .sfTabs button.active,
body.ta-ui-v2 .sfCacheTabs button.active,
body.ta-ui-v2 .sfTabs button[aria-selected="true"],
body.ta-ui-v2 .sfCacheTabs button[aria-selected="true"]{
  background:#fff!important;
  color:#0d776c!important;
  box-shadow:0 7px 18px rgba(11,97,91,.1)!important;
}

body.ta-ui-v2 .sfCacheOverlay,
body.ta-ui-v2 .sfTeamOverlay,
body.ta-ui-v2 .sfStoryEditMask,
body.ta-ui-v2 .sfRoleModalMask{
  padding:clamp(10px,2vw,24px)!important;
  background:rgba(4,16,17,.66)!important;
  backdrop-filter:blur(14px) saturate(1.08)!important;
}

body.ta-ui-v2 .sfCacheModal,
body.ta-ui-v2 .sfTeamPanel,
body.ta-ui-v2 .sfStoryEditModal{
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:20px!important;
  background:#f7fbfa!important;
  box-shadow:0 34px 110px rgba(0,0,0,.3)!important;
  overflow:hidden!important;
}

body.ta-ui-v2 .sfCacheHead,
body.ta-ui-v2 .sfTeamPanel>header,
body.ta-ui-v2 .sfStoryEditModal>header,
body.ta-ui-v2 .sfStoryEditModal>.modalHeader{
  min-height:58px!important;
  padding:0 18px!important;
  border-bottom:1px solid var(--ta-v2-line)!important;
  background:rgba(255,255,255,.94)!important;
}

body.ta-ui-v2 .sfCacheFoot,
body.ta-ui-v2 .sfStoryEditModal>footer,
body.ta-ui-v2 .sfStoryEditModal>.modalFooter{
  position:sticky!important;
  bottom:0!important;
  z-index:3!important;
  min-height:62px!important;
  padding:10px 18px!important;
  border-top:1px solid var(--ta-v2-line)!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px)!important;
}

body.ta-ui-v2 .sfCacheList,
body.ta-ui-v2 .sfTeamPanel [data-sf-team-grid],
body.ta-ui-v2 .sfTeamPanel [data-sf-member-grid]{
  padding:14px!important;
  gap:10px!important;
  background:#f3f8f7!important;
}

body.ta-ui-v2 .sfCacheItem,
body.ta-ui-v2 .sfElementManagerGrid>*,
body.ta-ui-v2 .sfStoryboardGrid>*{
  border:1px solid rgba(74,105,104,.13)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(9,35,36,.05)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}

body.ta-ui-v2 .sfCacheItem:hover,
body.ta-ui-v2 .sfElementManagerGrid>*:hover,
body.ta-ui-v2 .sfStoryboardGrid>*:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(15,138,125,.28)!important;
  box-shadow:0 18px 42px rgba(9,52,49,.1)!important;
}

body.ta-ui-v2 .sfCacheDelete,
body.ta-ui-v2 button.danger,
body.ta-ui-v2 button[aria-label*="删除"]{
  border-color:rgba(211,73,62,.16)!important;
  border-radius:9px!important;
  background:#fff2f0!important;
  color:#c34438!important;
}

body.ta-ui-v2 .toast,
body.ta-ui-v2 .sfToast,
body.ta-ui-v2 [role="status"]{
  border:1px solid rgba(15,138,125,.18)!important;
  border-radius:12px!important;
  background:rgba(15,45,44,.94)!important;
  color:#fff!important;
  box-shadow:0 18px 46px rgba(2,20,20,.24)!important;
  backdrop-filter:blur(14px)!important;
}

body.ta-ui-v2 .empty,
body.ta-ui-v2 .emptyState,
body.ta-ui-v2 .sfEmpty,
body.ta-ui-v2 [data-empty="true"]{
  min-height:180px!important;
  display:grid!important;
  place-items:center!important;
  padding:28px!important;
  border:1px dashed rgba(74,105,104,.22)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#f7fbfa,#edf6f4)!important;
  color:#71817e!important;
  text-align:center!important;
}

body.ta-ui-v2 button:not(:disabled){transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease!important}
body.ta-ui-v2 button:not(:disabled):active{transform:translateY(1px) scale(.985)!important}
body.ta-ui-v2 button:focus-visible,body.ta-ui-v2 a:focus-visible{outline:3px solid rgba(15,138,125,.23)!important;outline-offset:2px!important}

@media(max-width:760px){
  body.ta-ui-v2 .sfManagerPage,body.ta-ui-v2 .sfTaskPage{padding:12px!important}
  body.ta-ui-v2 .sfManagerPage>header,body.ta-ui-v2 .sfTaskPage>header,
  body.ta-ui-v2 .sfManagerPage .sfManagerToolbar,body.ta-ui-v2 .sfTaskPage .sfTaskToolbar{height:auto!important;flex-wrap:wrap!important;gap:8px!important}
  body.ta-ui-v2 .sfElementManagerGrid,body.ta-ui-v2 .sfStoryboardGrid{grid-template-columns:1fr!important}
  body.ta-ui-v2 .sfCacheHead,body.ta-ui-v2 .sfTeamPanel>header,body.ta-ui-v2 .sfStoryEditModal>header{min-height:52px!important;padding:0 14px!important}
  body.ta-ui-v2 .sfCacheFoot,body.ta-ui-v2 .sfStoryEditModal>footer{padding:9px 14px!important}
}

@media(prefers-reduced-motion:reduce){
  body.ta-ui-v2 *,body.ta-ui-v2 *:before,body.ta-ui-v2 *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Project element manager follows the dark creation-workspace visual language. */
body.ta-ui-v2 .sfElementManagerPage{
  width:100%!important;
  min-height:calc(100dvh - 92px)!important;
  padding:18px!important;
  border:1px solid rgba(104,237,222,.13)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(12,25,29,.96),rgba(13,18,32,.96))!important;
  box-shadow:0 24px 80px rgba(0,0,0,.22)!important;
  color:#eaf9f6!important;
}

body.ta-ui-v2 .sfElementManagerPage>nav,
body.ta-ui-v2 .sfElementManagerPage>.sfElementManagerToolbar,
body.ta-ui-v2 .sfElementManagerPage>div:first-child{
  border-color:rgba(127,237,224,.15)!important;
  background:rgba(18,32,39,.9)!important;
}

body.ta-ui-v2 .sfElementManagerPage input,
body.ta-ui-v2 .sfElementManagerPage select{
  border-color:rgba(156,220,212,.2)!important;
  background:rgba(28,44,50,.88)!important;
  color:#edf9f7!important;
}

body.ta-ui-v2 .sfElementManagerPage input::placeholder{color:rgba(220,239,235,.48)!important}

body.ta-ui-v2 .sfElementManagerPage .sfElementManagerGrid{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.ta-ui-v2 .sfElementManagerPage .sfRoleCard,
body.ta-ui-v2 .sfElementManagerPage .sfElementManagerAddCard{
  min-height:238px!important;
  border:1px solid rgba(139,221,211,.15)!important;
  border-radius:17px!important;
  background:linear-gradient(155deg,rgba(24,43,48,.96),rgba(17,23,34,.96))!important;
  color:#eaf8f5!important;
  box-shadow:0 16px 40px rgba(0,0,0,.19)!important;
}

body.ta-ui-v2 .sfElementManagerPage .sfRoleCard p,
body.ta-ui-v2 .sfElementManagerPage .sfRoleCard small{color:rgba(221,239,235,.68)!important}

body.ta-ui-v2 .sfElementManagerPage .sfElementManagerAddCard{
  border-style:dashed!important;
  background:linear-gradient(145deg,rgba(20,62,60,.48),rgba(22,29,44,.9))!important;
}

body.ta-ui-v2 .sfElementManagerPage .sfRoleCard:hover,
body.ta-ui-v2 .sfElementManagerPage .sfElementManagerAddCard:hover{
  border-color:rgba(93,238,218,.4)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.28),0 0 0 1px rgba(76,230,210,.08)!important;
}

@media(max-width:560px){
  body.ta-ui-v2 .sfElementManagerPage{padding:12px!important;border-radius:16px!important}
  body.ta-ui-v2 .sfElementManagerPage .sfRoleCard,
  body.ta-ui-v2 .sfElementManagerPage .sfElementManagerAddCard{min-height:210px!important}
}

body.ta-ui-v2 main.sfAssetLibraryShell{
  padding:18px 22px 26px!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetPage{
  border:1px solid var(--ta-v2-line)!important;
  border-radius:19px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 18px 55px rgba(9,35,36,.075)!important;
  overflow:hidden!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetToolbar,
body.ta-ui-v2 main.sfAssetLibraryShell .assetFilters,
body.ta-ui-v2 main.sfAssetLibraryShell .assetTabs{
  border-color:rgba(74,105,104,.1)!important;
  background:linear-gradient(180deg,#fbfdfc,#f3f8f7)!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetTabs button{
  border-radius:10px!important;
  color:#6e807c!important;
  font-weight:800!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetTabs button.active{
  color:#0d776c!important;
  background:#e9f8f4!important;
  box-shadow:inset 0 0 0 1px rgba(15,138,125,.18)!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetTile,
body.ta-ui-v2 main.sfAssetLibraryShell .assetCard{
  border-radius:15px!important;
  border-color:rgba(74,105,104,.14)!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(9,35,36,.06)!important;
}

body.ta-ui-v2 main.sfAssetLibraryShell .assetTile:hover,
body.ta-ui-v2 main.sfAssetLibraryShell .assetCard:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(15,138,125,.3)!important;
  box-shadow:0 20px 48px rgba(9,52,49,.11)!important;
}

body.ta-ui-v2 .settingsLayout{
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:14px!important;
  padding:18px 22px 24px!important;
}

body.ta-ui-v2 .settingsLayout .settingsNav{
  border:1px solid var(--ta-v2-line)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 14px 42px rgba(9,35,36,.065)!important;
}

body.ta-ui-v2 .settingsLayout .settingsNav button{
  min-height:40px!important;
  border-radius:10px!important;
  color:#6d7f7b!important;
  font-weight:780!important;
}

body.ta-ui-v2 .settingsLayout .settingsNav button.active,
body.ta-ui-v2 .settingsLayout .settingsNav button:hover{
  color:#0c786e!important;
  background:#eaf8f4!important;
  box-shadow:inset 0 0 0 1px rgba(15,138,125,.15)!important;
}

body.ta-ui-v2 .settingsLayout>.panel,
body.ta-ui-v2 .settingsLayout .sfSettingsPanel{
  border:1px solid var(--ta-v2-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 18px 55px rgba(9,35,36,.075)!important;
}

body.ta-ui-v2 .sfProfileHero,
body.ta-ui-v2 .profileBlock{
  border:1px solid rgba(15,138,125,.16)!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#eaf8f4,#f8fbfa)!important;
}

body.ta-ui-v2 .sfSettingsCards{
  gap:12px!important;
}

body.ta-ui-v2 .sfSettingCard{
  border:1px solid rgba(74,105,104,.13)!important;
  border-radius:14px!important;
  background:#f9fcfb!important;
  box-shadow:0 10px 30px rgba(9,35,36,.045)!important;
}

@media(max-width:760px){
  body.ta-ui-v2 main.sfAssetLibraryShell{padding:12px!important}
  body.ta-ui-v2 .settingsLayout{grid-template-columns:1fr!important;padding:12px!important;overflow:auto!important}
  body.ta-ui-v2 .settingsLayout .settingsNav{height:auto!important;display:flex!important;overflow-x:auto!important;gap:6px!important}
  body.ta-ui-v2 .settingsLayout .settingsNav button{width:auto!important;min-width:max-content!important;margin:0!important}
}

/* Full-screen responsive contract shared by every primary application page. */
body.ta-ui-v2 main,body.ta-ui-v2 main.workspace,body.ta-ui-v2 main.sfAssetLibraryShell,
body.ta-ui-v2 main.sfVideoCompactPage,body.ta-ui-v2 .settingsLayout{
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important
}
body.ta-ui-v2 main.workspace,body.ta-ui-v2 main.sfAssetLibraryShell,
body.ta-ui-v2 main.sfVideoCompactPage,body.ta-ui-v2 .settingsLayout{min-height:calc(100dvh - 66px)!important}
body.ta-ui-v2 main>*,body.ta-ui-v2 main section,body.ta-ui-v2 main aside,
body.ta-ui-v2 main form,body.ta-ui-v2 .settingsLayout>*{min-width:0!important;max-width:100%!important}
body.ta-ui-v2 main.sfProjectCompactPage .detail,body.ta-ui-v2 main.sfProjectCompactPage .threeCols,
body.ta-ui-v2 main.sfProjectCompactPage .sfProjectStoryFixedLayout,
body.ta-ui-v2 main.sfProjectCompactPage .sfStoryUnifiedBody,
body.ta-ui-v2 main.sfProjectCompactPage .sfStoryUnifiedMain{width:100%!important;max-width:100%!important;min-width:0!important}
body.ta-ui-v2 .sfTaskTableWrap,body.ta-ui-v2 .sfStoryboardTableWrap,body.ta-ui-v2 .sfStoryTableWrap,
body.ta-ui-v2 .sfTeamPanel [data-sf-team-grid],body.ta-ui-v2 .sfTeamPanel [data-sf-member-grid]{max-width:100%!important;overflow:auto!important;overscroll-behavior:contain!important}
body.ta-ui-v2 main.sfVideoCompactPage{overflow:auto!important;overscroll-behavior:contain!important}
body.ta-ui-v2 .sfRoleModalMask,body.ta-ui-v2 .sfStoryEditMask,
body.ta-ui-v2 .sfCacheOverlay,body.ta-ui-v2 .sfTeamOverlay{
  width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;overflow:auto!important
}
body.ta-ui-v2 .sfRoleModal,body.ta-ui-v2 .sfStoryEditModal,
body.ta-ui-v2 .sfCacheModal,body.ta-ui-v2 .sfTeamPanel{max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important}
@supports(height:100svh){
  body.ta-ui-v2,body.ta-ui-v2 #root{min-height:100svh!important}
  body.ta-ui-v2 main.workspace,body.ta-ui-v2 main.sfAssetLibraryShell,body.ta-ui-v2 main.sfVideoCompactPage,body.ta-ui-v2 .settingsLayout{min-height:calc(100svh - 66px)!important}
  body.ta-ui-v2 .sfRoleModalMask,body.ta-ui-v2 .sfStoryEditMask,body.ta-ui-v2 .sfCacheOverlay,body.ta-ui-v2 .sfTeamOverlay{height:100svh!important;max-height:100svh!important}
}
@media(min-width:1600px){
  body.ta-ui-v2 main.workspace,body.ta-ui-v2 main.sfAssetLibraryShell,body.ta-ui-v2 main.sfVideoCompactPage{padding-left:clamp(24px,2vw,42px)!important;padding-right:clamp(24px,2vw,42px)!important}
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.ta-ui-v2 main.sfAssetLibraryShell .assetWall,body.ta-ui-v2 main.sfAssetLibraryShell .assetGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
}
@media(max-width:1180px){
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols>.sfOverviewElementPanel:last-child{grid-column:1/-1!important}
  body.ta-ui-v2 main.sfVideoCompactPage{padding-left:14px!important;padding-right:14px!important}
}
@media(max-width:760px){
  body.ta-ui-v2 main.workspace,body.ta-ui-v2 main.sfAssetLibraryShell,body.ta-ui-v2 main.sfVideoCompactPage,body.ta-ui-v2 .settingsLayout{min-height:calc(100dvh - 60px)!important}
  body.ta-ui-v2 main.sfProjectCompactPage .projectActionBar{align-items:stretch!important;gap:7px!important}
  body.ta-ui-v2 main.sfProjectCompactPage .sfProjectActionGroup{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  body.ta-ui-v2 main.sfProjectCompactPage .sfProjectActionGroup button{flex:1 1 auto!important;min-width:max-content!important}
  body.ta-ui-v2 main.sfProjectCompactPage .sfProjectStoryFixedLayout{grid-template-columns:1fr!important;height:auto!important;max-height:none!important}
  body.ta-ui-v2 main.sfProjectCompactPage .sfEpisodeRail,body.ta-ui-v2 main.sfProjectCompactPage .sfProjectEpisodeStrip{width:100%!important;max-width:100%!important}
  body.ta-ui-v2 main.sfProjectCompactPage .sfStoryUnifiedRight{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
}
@media(max-width:560px){
  body.ta-ui-v2 .appHeader,body.ta-ui-v2 header.appHeader{width:100%!important;max-width:100vw!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
  body.ta-ui-v2 .appHeader .topNav,body.ta-ui-v2 header.appHeader .topNav{max-width:54vw!important;overflow-x:auto!important;scrollbar-width:none!important}
  body.ta-ui-v2 .appHeader .headerRight,body.ta-ui-v2 header.appHeader .headerRight{gap:5px!important}
  body.ta-ui-v2 .pointsButton,body.ta-ui-v2 [data-sf-points-button]{min-width:48px!important;padding-inline:8px!important}
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols{grid-template-columns:1fr!important}
  body.ta-ui-v2 main.sfProjectCompactPage .threeCols>.sfOverviewElementPanel:last-child{grid-column:auto!important}
  body.ta-ui-v2 .sfRoleModal,body.ta-ui-v2 .sfStoryEditModal,body.ta-ui-v2 .sfCacheModal,body.ta-ui-v2 .sfTeamPanel{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100svh - 20px)!important;border-radius:15px!important}
}
