:root {
  --tsc-navy: #080d5f;
  --tsc-purple: #7437ff;
  --tsc-pink: #d92d86;
  --tsc-red: #ef4b4b;
  --tsc-soft: #fbf8ff;
  --tsc-line: #e8e2f4;
  --tsc-muted: #777a91;
  --tsc-card: rgba(255,255,255,.86);
  --tsc-grad: linear-gradient(90deg, #ef4b4b 0%, #d92d86 55%, #7437ff 100%);
}
.tsccuw-wrap, .tsccuw-wrap * { box-sizing: border-box; }
.tsccuw-wrap {
  max-width: 1480px;
  margin: 0 auto;
  padding: 28px 28px 56px;
  color: var(--tsc-navy);
  font-family: inherit;
}
.tsccuw-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:24px; }
.tsccuw-head h1 { margin:0; font-size:32px; line-height:1.1; color:var(--tsc-navy); }
.tsccuw-head p { margin:6px 0 0; color:#636780; }
.tsccuw-back { display:inline-flex; width:42px; height:42px; border-radius:50%; align-items:center; justify-content:center; background:#fff; color:var(--tsc-navy); text-decoration:none; box-shadow:0 12px 30px rgba(8,13,95,.08); margin-right:12px; }
.tsccuw-account-note { background:#f4efff; border:1px solid #ded3ff; padding:12px 18px; border-radius:18px; font-size:14px; white-space:nowrap; }
.tsccuw-progress { display:flex; align-items:center; background:rgba(255,255,255,.72); border:1px solid var(--tsc-line); border-radius:22px; padding:18px 24px; margin-bottom:22px; box-shadow:0 16px 42px rgba(8,13,95,.05); }
.tsccuw-step { display:grid; grid-template-columns:52px 1fr; column-gap:10px; align-items:center; min-width:250px; opacity:.58; }
.tsccuw-step span { grid-row:1 / span 2; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#cfd0da; color:#fff; font-weight:800; font-size:19px; }
.tsccuw-step strong { color:var(--tsc-navy); font-size:17px; }
.tsccuw-step em { font-style:normal; color:#6b6f8a; font-size:13px; }
.tsccuw-step.is-active, .tsccuw-step.is-done { opacity:1; }
.tsccuw-step.is-active span { background:linear-gradient(135deg, #3e39ff, #933bff); box-shadow:0 10px 25px rgba(94,57,255,.3); }
.tsccuw-step.is-done span { background:#22a64a; font-size:0; }
.tsccuw-step.is-done span:before { content:'✓'; font-size:22px; }
.tsccuw-line { height:2px; flex:1; background:linear-gradient(90deg, #ded8ef, #efeaf8); margin:0 20px; }
.tsccuw-panel { background:var(--tsc-card); border:1px solid var(--tsc-line); border-radius:24px; box-shadow:0 18px 55px rgba(8,13,95,.06); padding:28px; }
.tsccuw-screen { display:none; }
.tsccuw-screen.is-active { display:block; }
.tsccuw-panel-title { display:flex; gap:18px; align-items:flex-start; margin-bottom:28px; }
.tsccuw-panel-title h2, .tsccuw-final-grid h2 { margin:0 0 8px; color:var(--tsc-navy); font-size:24px; }
.tsccuw-panel-title p, .tsccuw-final-grid p { margin:0; color:#666a84; }
.tsccuw-icon { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f1e7ff; color:#7437ff; font-size:24px; }
.tsccuw-field { margin-bottom:18px; }
.tsccuw-field label, .tsccuw-label { display:block; font-weight:800; color:var(--tsc-navy); margin-bottom:8px; text-transform:none; }
.tsccuw-field b, .tsccuw-label b { color:var(--tsc-pink); }
.tsccuw-field input, .tsccuw-field select, .tsccuw-field textarea, .tsccuw-category-select {
  width:100%; border:1px solid #ddd7eb; background:#fff; color:var(--tsc-navy); border-radius:14px; padding:15px 16px; min-height:54px; outline:none; font:inherit;
}
.tsccuw-field input:focus, .tsccuw-field select:focus, .tsccuw-field textarea:focus, .tsccuw-category-select:focus { border-color:#a986ff; box-shadow:0 0 0 4px rgba(116,55,255,.1); }
.tsccuw-field small, .tsccuw-wrap small { color:#777a91; font-size:13px; }
.tsccuw-readonly input { background:#f7f5fa; color:#8a8da0; }
.tsccuw-category-chain { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:16px; align-items:end; }
.tsccuw-breadcrumb { margin:10px 0 22px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.tsccuw-breadcrumb span { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; background:#f0e9ff; color:#6534d7; border-radius:999px; font-weight:700; font-size:13px; }
.tsccuw-breadcrumb span:after { content:'›'; color:#8e76ca; }
.tsccuw-breadcrumb span:last-child:after { content:''; }
.tsccuw-grid-two { display:grid; grid-template-columns:1fr 360px; gap:24px; }
.tsccuw-media-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:34px; margin:18px 0 24px; }
.tsccuw-dropzone { position:relative; display:flex; min-height:188px; border:2px dashed #c9b8ff; border-radius:18px; background:linear-gradient(180deg, #fff 0%, #fbf8ff 100%); align-items:center; justify-content:center; flex-direction:column; text-align:center; cursor:pointer; padding:20px; overflow:hidden; }
.tsccuw-dropzone input, .tsccuw-gallery-tile input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.tsccuw-upload-icon { font-size:46px; color:#a582ee; margin-bottom:6px; }
.tsccuw-dropzone strong { color:#737791; font-weight:700; }
.tsccuw-dropzone em { color:#737791; font-style:normal; margin:5px 0 10px; }
.tsccuw-dropzone button, .tsccuw-primary { background:var(--tsc-grad); color:#fff; border:0; }
.tsccuw-dropzone button { border-radius:999px; padding:10px 24px; font-weight:800; }
.tsccuw-dropzone img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tsccuw-gallery-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:14px; }
.tsccuw-gallery-tile { position:relative; aspect-ratio:1/1; border:2px dashed #d4c7fb; border-radius:14px; display:flex; align-items:center; justify-content:center; background:#fff; overflow:hidden; cursor:pointer; }
.tsccuw-gallery-tile span { color:#6a64a8; font-weight:800; }
.tsccuw-gallery-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tsccuw-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.tsccuw-choice { position:relative; border:1px solid #e1dced; border-radius:16px; padding:18px 20px 18px 54px; cursor:pointer; background:#fff; min-height:108px; }
.tsccuw-choice input { position:absolute; left:18px; top:22px; width:18px; height:18px; accent-color:#7437ff; }
.tsccuw-choice strong { display:block; color:var(--tsc-navy); margin-bottom:6px; }
.tsccuw-choice span { display:block; color:#686d86; line-height:1.35; }
.tsccuw-choice em { display:inline-block; margin-top:8px; background:#e2f7e8; color:#138a37; border:1px solid #b8e7c5; border-radius:999px; padding:3px 9px; font-style:normal; font-size:12px; font-weight:800; }
.tsccuw-choice.is-selected { border-color:#7437ff; box-shadow:0 0 0 3px rgba(116,55,255,.08); background:linear-gradient(180deg, #fff, #fbf8ff); }
.tsccuw-download-section { margin-top:18px; }
.tsccuw-file-drop { min-height:120px; }
.tsccuw-file-name { margin-top:8px; font-weight:800; color:var(--tsc-navy); }
.tsccuw-final-grid { display:grid; grid-template-columns:1fr 0.9fr; gap:34px; }
#tsccuw-description { min-height:300px; resize:vertical; }
.tsccuw-count { text-align:right; color:#697087; margin-top:8px; }
.tsccuw-ai-box { border:1px solid #dc99f0; background:linear-gradient(180deg, #fff, #fff8ff); border-radius:18px; padding:22px; align-self:start; }
.tsccuw-ai-head { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#792bcb; font-size:18px; }
.tsccuw-ai-head span { background:#f0d8ff; color:#8b2cc4; border-radius:999px; padding:5px 12px; font-size:13px; }
.tsccuw-ai-result { margin-top:22px; padding:18px; border:1px solid #b7e5c0; background:#f3fff5; border-radius:15px; color:#174e25; }
.tsccuw-ai-result-title { font-weight:800; margin-bottom:10px; }
.tsccuw-ai-actions { margin-top:16px; display:flex; gap:10px; }
.tsccuw-actions { display:flex; gap:18px; align-items:center; margin-top:28px; }
.tsccuw-actions-spread { justify-content:space-between; }
.tsccuw-button { border-radius:16px; padding:15px 30px; min-width:170px; min-height:52px; font-weight:900; cursor:pointer; border:1px solid #d6d1e4; box-shadow:0 12px 24px rgba(8,13,95,.06); }
.tsccuw-secondary { background:#fff; color:var(--tsc-navy); }
.tsccuw-button[disabled] { opacity:.6; cursor:wait; }
.tsccuw-message { margin-top:18px; padding:16px 20px; border-radius:16px; font-weight:800; }
.tsccuw-message.is-success { background:#ecfff1; border:1px solid #b7e5c0; color:#136a2a; }
.tsccuw-message.is-error { background:#fff0f4; border:1px solid #ffc8d9; color:#9b1744; }
.tsccuw-terms { text-align:right; color:#666a84; font-size:13px; }
.tsccuw-login-required, .tsccuw-error { background:#fff; border:1px solid var(--tsc-line); border-radius:18px; padding:24px; color:var(--tsc-navy); }
@media (max-width: 1100px) {
  .tsccuw-head, .tsccuw-final-grid, .tsccuw-media-grid, .tsccuw-grid-two { grid-template-columns:1fr; display:grid; }
  .tsccuw-progress { overflow:auto; }
  .tsccuw-step { min-width:220px; }
  .tsccuw-account-note { white-space:normal; }
}
@media (max-width: 700px) {
  .tsccuw-wrap { padding:18px 12px 36px; }
  .tsccuw-panel { padding:18px; }
  .tsccuw-choice-grid, .tsccuw-category-chain { grid-template-columns:1fr; }
  .tsccuw-gallery-grid { grid-template-columns:repeat(2, 1fr); }
  .tsccuw-actions, .tsccuw-actions-spread { flex-direction:column; align-items:stretch; }
  .tsccuw-button { width:100%; }
}
.tsccuw-choice-grid-compact .tsccuw-choice { min-height:86px; }
.tsccuw-access-section { margin-top:18px; }
.tsccuw-button i { margin-right:8px; }
.tsccuw-button i.fa-arrow-right { margin-right:0; margin-left:8px; }
.tsccuw-back i, .tsccuw-icon i, .tsccuw-upload-icon i { margin:0; }
.tsccuw-gallery-tile span { display:flex; gap:6px; align-items:center; justify-content:center; }
.tsccuw-account-note i { margin-right:8px; color:#7437ff; }
.tsccuw-ai-head i { margin-right:8px; }


.tsccuw-gallery-tile.is-existing { border-style:solid; cursor:default; }
.tsccuw-gallery-tile.is-existing input { pointer-events:none; cursor:default; }
.tsccuw-gallery-tile.is-existing span { opacity:0; }
