@font-face {
  font-family: "Lato";
  src: url("/assets/fonts/Lato-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Lato";
  src: url("/assets/fonts/Lato-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
:root {
  --brand:#b02028;
  --brand-hover:#971b22;
  --brand-deep:#7d171c;
  --brand-accent:#cd5157;
  --brand-text:#861920;
  --brand-border:#dda8ab;
  --brand-soft:#f5e5e6;
  --brand-pale:#fbf4f4;
  --ink:#111111;
  --muted:#5f6673;
  --line:#d8dee8;
  --soft:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#fbfcfe;
  --blue:#0d4a7c;
  --ok:#0a7d49;
  --ready:#1da962;
  --ready-soft:rgba(29, 169, 98, 0.18);
  --page-accent:rgba(176, 32, 40, 0.08);
  --shadow:0 14px 36px rgba(17, 24, 39, 0.06);
  --page-gutter:clamp(16px,2vw,28px);
  --review-gutter:clamp(12px,1.55vw,20px);
}
* { box-sizing:border-box; }
html { min-height:100%; scrollbar-gutter:stable; }
body { min-height:100%; }
@view-transition { navigation:auto; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration:.14s; animation-timing-function:ease-out; }
body {
  margin:0;
  font-family:"Lato", Arial, sans-serif;
  color:var(--ink);
  background:#f6f7f9;
}
@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation-duration:.001ms; }
  *, *::before, *::after { scroll-behavior:auto !important; }
}
body.app-ready {
  --page-accent:rgba(29, 169, 98, 0.08);
}
a { color:inherit; cursor:pointer; }
.page {
  max-width:1280px;
  margin:0 auto;
  padding:24px 24px 40px;
}
.topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(216,222,232,.78);
}
.compact-topbar { margin-bottom:28px; }
.brand {
  display:flex;
  align-items:center;
  gap:16px;
}
.brand-mark {
  position:relative;
  width:86px;
  height:86px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(216, 222, 232, 0.9);
  box-shadow:var(--shadow);
}
.brand-mark::after {
  content:"";
  position:absolute;
  inset:16px 18px 12px;
  border-radius:26px;
  background:var(--ready-soft);
  filter:blur(18px);
  z-index:0;
}
.brand-mark img {
  width:62px;
  max-width:100%;
  height:auto;
  display:block;
  position:relative;
  z-index:1;
}
.brand .brand-mark img {
  width:72px;
}
.brand-logo {
  position:relative;
  width:96px;
  height:82px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.brand-logo::after {
  content:"";
  position:absolute;
  inset:18px 14px 12px;
  border-radius:999px;
  filter:blur(20px);
  z-index:0;
  transition:background .2s ease;
}
.brand-logo.is-idle::after {
  background:rgba(176, 32, 40, 0.18);
}
.brand-logo.is-ready::after {
  background:rgba(29, 169, 98, 0.18);
}
.brand-logo img {
  width:84px;
  height:auto;
  display:block;
  position:relative;
  z-index:1;
}
.brand-copy h1 {
  margin:0;
  font-size:28px;
  line-height:1.08;
  letter-spacing:0;
}
.brand-copy p {
  margin:7px 0 0;
  color:var(--muted);
  font-size:14px;
}
.pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.82);
  padding:10px 14px;
  border-radius:999px;
  color:var(--muted);
  font-size:13px;
}
.pill strong { color:var(--ink); }
.layout {
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
.panel {
  background:rgba(255,255,255,0.96);
  border:1px solid rgba(216, 222, 232, 1);
  border-radius:8px;
  box-shadow:0 10px 30px rgba(17,24,39,.045);
}
.main-panel {
  min-width:0;
  padding:24px;
}
.guide {
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fbfcfe;
}
.guide[hidden] {
  display:none;
}
.guide-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.guide-head h2 {
  margin:0;
  font-size:20px;
}
.guide-head p {
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  max-width:760px;
}
.guide-steps {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.guide-step {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:14px;
}
.guide-step b {
  display:block;
  margin-bottom:6px;
  font-size:14px;
}
.guide-step p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.uploader {
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:20px;
}
.uploader-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.uploader-head h2 {
  margin:0;
  font-size:24px;
  letter-spacing:0;
}
.uploader-head p {
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.drop {
  display:block;
  position:relative;
  overflow:hidden;
  border:2px dashed rgba(17, 17, 17, 0.14);
  border-radius:8px;
  padding:38px 28px;
  cursor:pointer;
  background:#fbfcfe;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.drop:hover {
  border-color:rgba(176, 32, 40, 0.38);
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(17, 24, 39, 0.08);
}
.drop.drag {
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(176, 32, 40, 0.10);
}
.drop-badge {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(216, 222, 232, 0.9);
  background:#fff;
  color:var(--muted);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  margin-bottom:16px;
}
.drop strong {
  display:block;
  font-size:27px;
  line-height:1.15;
  letter-spacing:0;
  margin-bottom:12px;
  max-width:720px;
}
.drop p {
  margin:0 0 14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}
.drop .caption {
  color:var(--muted);
  font-size:13px;
}
.drop-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.drop-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:156px;
  padding:12px 18px;
  border-radius:8px;
  background:var(--brand);
  color:#fff;
  font-weight:700;
  box-shadow:0 12px 28px rgba(176, 32, 40, 0.22);
}
.drop-support {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:10px 12px;
  border:1px solid rgba(216, 222, 232, 0.92);
  background:rgba(255,255,255,0.9);
  color:var(--muted);
  font-size:13px;
}
input[type=file] { display:none; }
.file-list {
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}
.file-list li {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  background:rgba(248,250,253,0.88);
  font-size:14px;
}
.file-name {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  flex-wrap:wrap;
}
.action-group {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.primary {
  appearance:none;
  border:0;
  background:var(--brand);
  color:#fff;
  border-radius:8px;
  padding:14px 22px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(176,32,40,.18);
  text-decoration:none;
}
.primary:disabled {
  opacity:.45;
  cursor:default;
  box-shadow:none;
}
.ghost {
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:8px;
  padding:12px 16px;
  font:inherit;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.ghost:disabled {
  opacity:.45;
  cursor:default;
}
.hint {
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.progress-panel {
  margin:0 0 18px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
  background:rgba(255,255,255,0.98);
}
.progress-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.progress-head h2 {
  margin:0;
  font-size:22px;
}
.progress-head p {
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.progress-metrics {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin:14px 0 16px;
}
.metric {
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:12px 14px;
}
.metric b {
  display:block;
  margin-bottom:6px;
  font-size:12px;
  color:var(--muted);
}
.metric span {
  display:block;
  font-size:18px;
  font-weight:700;
}
.progress-track {
  height:12px;
  border-radius:999px;
  background:#edf2f7;
  overflow:hidden;
}
.progress-fill {
  height:100%;
  width:0%;
  border-radius:999px;
  background:var(--brand);
  transition:width .35s ease;
}
.progress-files {
  margin-top:16px;
  display:grid;
  gap:10px;
}
.progress-row {
  display:grid;
  grid-template-columns:minmax(0, 2.2fr) 120px 110px 110px;
  gap:12px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  padding:12px 14px;
}
.progress-file {
  min-width:0;
}
.progress-file-name {
  display:block;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.progress-file-note {
  display:block;
  margin-top:4px;
  margin-bottom:8px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.progress-mini-track {
  height:8px;
  border-radius:999px;
  background:#edf2f7;
  overflow:hidden;
}
.progress-mini-fill {
  height:100%;
  width:0%;
  border-radius:999px;
  background:var(--brand);
  transition:width .35s ease;
}
.progress-status {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  border-radius:999px;
  padding:8px 10px;
  font-size:12px;
  font-weight:700;
  background:#f5f7fb;
  color:var(--ink);
}
.progress-status.is-running {
  background:rgba(13, 74, 124, 0.10);
  color:var(--blue);
}
.progress-status.is-done {
  background:rgba(29, 169, 98, 0.12);
  color:var(--ok);
}
.progress-status.is-error {
  background:rgba(176, 32, 40, 0.10);
  color:var(--brand);
}
.progress-time {
  text-align:right;
}
.progress-time b {
  display:block;
  margin-bottom:4px;
  font-size:11px;
  color:var(--muted);
}
.progress-time span {
  display:block;
  font-size:14px;
  font-weight:700;
}
.results-top {
  margin:0 0 18px;
}
.results {
  min-width:0;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px;
  background:rgba(255,255,255,0.98);
}
.results-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
}
.results-head h2 {
  margin:0;
  font-size:22px;
}
table {
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
th {
  background:#111111;
  color:#ffffff;
  text-align:left;
  font-size:13px;
  padding:12px;
}
td {
  border-top:1px solid var(--line);
  padding:12px;
  font-size:14px;
  vertical-align:top;
}
.results-table > tbody > tr,
.repository-table > tbody > tr {
  transition:background .18s ease;
}
.results-table > tbody > tr:hover,
.repository-table > tbody > tr:hover {
  background:#f7fafc;
}
.ok {
  color:var(--ok);
  font-weight:700;
}
.bad {
  color:var(--brand);
  font-weight:700;
}
.review-status { color:var(--blue); font-weight:700; }
.verification-head { align-items:flex-start; margin-bottom:14px; padding:0 0 16px; }
.verification-head-copy { display:grid; gap:5px; min-width:0; }
.verification-head-copy .eyebrow { color:var(--brand); font-size:9px; font-weight:800; text-transform:uppercase; }
.verification-head-copy p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.verification-overview { display:flex; align-items:stretch; gap:7px; margin:0 0 12px; flex-wrap:wrap; }
.verification-stats { display:flex; align-items:stretch; gap:7px; flex-wrap:wrap; }
.verification-stat { display:grid; min-width:104px; gap:2px; padding:9px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.verification-stat b { color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; }
.verification-stat span { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.verification-stat.is-review b { color:var(--blue); }
.verification-stat.is-ready b { color:var(--ok); }
.verification-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.results-table { width:100%; table-layout:fixed; border:0; border-collapse:separate; border-spacing:0; border-radius:8px; background:transparent; overflow:visible; }
.results-table th,.results-table td { overflow-wrap:anywhere; }
.results-table th:nth-child(1) { width:34%; }
.results-table th:nth-child(2) { width:18%; }
.results-table th:nth-child(3) { width:20%; }
.results-table th:nth-child(4) { width:28%; }
.results-table > thead > tr > th { padding:10px 14px; border:0; border-bottom:1px solid #d9dfe7; background:#eef1f5; color:#5f6875; font-size:9px; font-weight:800; letter-spacing:0; text-transform:uppercase; }
.results-table > thead > tr > th:first-child { border-radius:7px 0 0 0; }
.results-table > thead > tr > th:last-child { border-radius:0 7px 0 0; }
.results-table > tbody > .result-row > td { padding:14px; border-top:0; border-bottom:1px solid #dde3ea; background:#fff; vertical-align:middle; }
.results-table > tbody > .result-row > td:first-child { box-shadow:inset 4px 0 0 #1f63cf; }
.results-table > tbody > .result-row.is-ready > td { background:#f6fbf8; }
.results-table > tbody > .result-row.is-ready > td:first-child { box-shadow:inset 4px 0 0 var(--ok); }
.results-table > tbody > .result-row.is-error > td { background:var(--brand-pale); }
.results-table > tbody > .result-row.is-error > td:first-child { box-shadow:inset 4px 0 0 var(--brand); }
.result-file { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; min-width:0; }
.result-sequence { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:#eaf1fb; color:var(--blue); font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; }
.result-row.is-ready .result-sequence { background:#e5f5ec; color:var(--ok); }
.result-row.is-error .result-sequence { background:var(--brand-soft); color:var(--brand); }
.result-file-copy { display:grid; min-width:0; gap:3px; }
.result-file-copy b { overflow:hidden; color:var(--ink); font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.result-file-copy small { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.result-index { display:inline-flex; align-items:center; min-height:28px; max-width:100%; padding:5px 8px; border:1px solid #dbe1e8; border-radius:6px; background:#f8fafc; color:#313943; font-size:11px; font-weight:800; line-height:1.25; }
.verification-status { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:center; min-width:0; }
.verification-status-icon { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#eaf1fb; color:var(--blue); font-size:12px; font-weight:900; }
.verification-status-copy { display:grid; min-width:0; gap:2px; }
.verification-status-copy b { color:var(--blue); font-size:11px; line-height:1.25; }
.verification-status-copy small { color:var(--muted); font-size:9px; line-height:1.3; }
.verification-status.is-ready .verification-status-icon { background:#dff3e8; color:var(--ok); }
.verification-status.is-ready .verification-status-copy b { color:var(--ok); }
.verification-status.is-error .verification-status-icon { background:var(--brand-soft); color:var(--brand); }
.verification-status.is-error .verification-status-copy b { color:var(--brand); }
.result-output { display:grid; min-width:0; gap:6px; }
.result-output-label { color:#858e9a; font-size:9px; font-weight:800; text-transform:uppercase; }
.result-output-note { color:#505966; font-size:11px; line-height:1.35; }
.review-row > td { padding:0 0 12px; border:0; background:transparent; }
.review-box { min-width:0; max-width:100%; padding:0; border:1px solid #dce3eb; border-top:0; border-radius:0 0 8px 8px; background:#fbfcfe; overflow:hidden; }
.review-box summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:12px 16px;
  cursor:pointer;
  color:var(--blue);
  font-weight:700;
  list-style:none;
}
.review-box summary:hover { background:#f2f6fa; }
.review-box summary::-webkit-details-marker { display:none; }
.review-box summary::after { content:'+'; display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border:1px solid #cdd6e1; border-radius:50%; background:#fff; color:var(--blue); font-size:15px; line-height:1; }
.review-box[open] summary::after { content:'−'; }
.review-box[open] summary { border-bottom:1px solid #e0e5ec; background:#f6f9fc; }
.review-summary-copy { display:grid; min-width:0; gap:2px; }
.review-summary-copy b { color:var(--blue); font-size:12px; }
.review-summary-copy small { color:var(--muted); font-size:9px; font-weight:600; line-height:1.35; }
.review-box > .review-toolbar,.review-box > .review-warning,.review-box > .review-approval-form { width:auto; min-width:0; max-width:none; margin-right:var(--review-gutter); margin-left:var(--review-gutter); }
.review-copy { margin:10px 0 16px; color:var(--muted); font-size:13px; }
.review-warning { margin:0 0 14px; padding:11px 13px; border-left:3px solid #d78a16; background:#fff8e8; color:#65430f; font-size:13px; line-height:1.45; }
.review-approval-form,.review-language-panels,.review-language-panel { min-width:0; max-width:100%; }
.review-approval-form { width:auto; }
.review-language-panels,.review-language-panel { width:100%; }
.translation-card { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,auto); align-items:center; gap:14px 18px; min-width:0; margin:0 0 18px; padding:14px 16px; border:1px solid #dce1e8; border-radius:8px; background:#f7f9fb; }
.translation-card-copy { display:grid; gap:3px; }
.translation-card-copy b { font-size:13px; }
.translation-card-copy span { color:var(--muted); font-size:11px; line-height:1.4; }
.translation-card-controls { display:grid; grid-template-columns:auto minmax(170px,205px) minmax(150px,auto); align-items:center; justify-content:end; gap:10px; min-width:0; max-width:100%; }
.translation-toggle { position:relative; display:flex; min-width:0; min-height:44px; align-items:center; gap:8px; color:var(--ink); font-size:12px; cursor:pointer; white-space:nowrap; }
.translation-toggle input { position:absolute; opacity:0; pointer-events:none; }
.translation-toggle > span { position:relative; width:34px; height:20px; flex:0 0 34px; border-radius:10px; background:#c8ced7; transition:background .18s ease; }
.translation-toggle > span::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(17,24,39,.22); transition:transform .18s ease; }
.translation-toggle input:checked + span { background:var(--blue); }
.translation-toggle input:checked + span::after { transform:translateX(14px); }
.translation-toggle input:focus-visible + span { outline:3px solid rgba(31,99,207,.16); outline-offset:2px; }
.translation-preview-action { min-height:42px; padding:9px 12px; font-size:11px; white-space:nowrap; }
.translation-preview-action:disabled { opacity:.42; cursor:not-allowed; }
.translation-preview-action.is-complete { border-color:#a9d4bc; background:#f0faf4; color:#197047; }
.translation-progress { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; padding:13px 14px; border:1px solid #d5dfec; border-radius:7px; background:#fff; }
.translation-progress[hidden],.translation-inline-error[hidden] { display:none; }
.translation-progress-copy { display:grid; gap:2px; }
.translation-progress-copy b { font-size:12px; }
.translation-progress-copy span { color:var(--muted); font-size:10px; line-height:1.4; }
.translation-progress-track { grid-column:1 / -1; height:7px; overflow:hidden; border-radius:4px; background:#e8edf3; }
.translation-progress-track > span { display:block; width:0; height:100%; border-radius:inherit; background:var(--blue); transition:width .35s ease; }
.translation-progress.is-running .translation-progress-track > span { animation:translation-pulse 1.2s ease-in-out infinite; }
.translation-progress.is-complete { border-color:#b9dcc8; background:#f4fbf7; }
.translation-progress.is-complete .translation-progress-track { background:#dcefe4; }
.translation-progress.is-complete .translation-progress-track > span { background:var(--ok); animation:none; }
.translation-progress.is-complete .translation-progress-copy b,.translation-progress.is-complete .translation-progress-meta [data-translation-progress-percent] { color:var(--ok); }
.translation-progress-meta { grid-column:2; grid-row:1; display:flex; align-items:center; gap:10px; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.translation-progress-meta [data-translation-progress-percent] { color:var(--blue); font-weight:700; }
.translation-inline-error { grid-column:1 / -1; padding:10px 12px; border-left:3px solid var(--brand); background:var(--brand-pale); color:var(--brand-text); font-size:11px; line-height:1.45; }
@keyframes translation-pulse { 0%,100% { opacity:.68; } 50% { opacity:1; } }
.language-select { position:relative; display:grid; min-width:0; }
.language-select > span { position:absolute; z-index:1; top:6px; left:11px; color:#7b838f; font-size:8px; font-weight:700; text-transform:uppercase; pointer-events:none; }
.language-select select { width:100%; min-height:44px; padding:17px 30px 5px 10px; appearance:none; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.language-select::after { content:"⌄"; position:absolute; right:11px; top:13px; color:#737b87; font-size:14px; pointer-events:none; }
.language-select select:focus { outline:0; border-color:rgba(31,99,207,.45); box-shadow:0 0 0 3px rgba(31,99,207,.07); }
.language-select.is-disabled { opacity:.48; }
.language-version-switch { display:inline-flex; align-items:center; gap:3px; margin:0 0 14px; padding:3px; border:1px solid var(--line); border-radius:8px; background:#eef1f5; }
.language-version-switch button { min-height:34px; padding:7px 12px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.language-version-switch button.is-active { background:#fff; color:var(--ink); box-shadow:0 1px 4px rgba(17,24,39,.1); }
.review-language-panels { min-width:0; max-width:100%; overflow:visible; }
.review-language-panel[hidden] { display:none; }
.review-language-panel { width:100%; min-width:0; max-width:100%; contain:inline-size; }
.review-table-preview { width:100%; min-width:0; max-width:100%; margin:0 0 18px; padding:18px; overflow:visible; border:1px solid #dce2ea; border-radius:8px; background:#fff; box-shadow:0 1px 2px rgba(17,24,39,.025); }
.review-table-preview-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; }
.review-table-preview-head b { color:#171a1f; font-size:15px; }
.review-table-preview-head span { display:grid; min-width:25px; height:25px; padding:0 7px; place-items:center; border-radius:13px; background:#eef2f6; color:#5d6673; font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; }
.review-table-hint { margin:2px 0 16px; color:#6f7885; font-size:12px; line-height:1.5; }
.review-table-card { min-width:0; max-width:100%; content-visibility:auto; contain-intrinsic-size:auto 480px; }
.review-table-card + .review-table-card { margin-top:17px; padding-top:16px; border-top:1px solid #e4e8ee; }
.review-table-number { display:inline-flex; align-items:center; min-height:22px; margin-bottom:7px; padding:0 7px; border-radius:4px; background:#f2f5f8; color:#66707d; font-size:9px; font-weight:800; text-transform:uppercase; }
.review-table-scroll { width:100%; min-width:0; max-width:100%; overflow-x:auto; overflow-y:hidden; border:1px solid #d3dae4; border-radius:7px; background:#fff; box-shadow:0 1px 2px rgba(17,24,39,.035); overscroll-behavior-inline:contain; overflow-anchor:none; scroll-padding-inline:1px; scrollbar-color:#b9c2ce #f2f5f8; scrollbar-width:thin; }
.review-table-scroll::-webkit-scrollbar { height:9px; }
.review-table-scroll::-webkit-scrollbar-track { background:#f2f5f8; }
.review-table-scroll::-webkit-scrollbar-thumb { border:2px solid #f2f5f8; border-radius:5px; background:#b9c2ce; }
.review-table-scroll table { width:100%; min-width:var(--review-table-min-width, 700px); table-layout:fixed; border-collapse:separate; border-spacing:0; border:0; border-radius:0; }
.review-table-scroll tr { height:auto; }
.review-table-scroll th,.review-table-scroll td { position:relative; height:44px; padding:0; box-sizing:border-box; border:0; border-right:1px solid #d8dee7; border-bottom:1px solid #d8dee7; overflow-wrap:anywhere; word-break:normal; white-space:pre-wrap; font-size:14px; line-height:1.5; vertical-align:top; }
.review-table-scroll tr > :last-child { border-right:0; }
.review-table-scroll tr:last-child > * { border-bottom:0; }
.review-table-scroll th { background:#f0f3f7; color:#20242a; font-weight:800; }
.review-table-scroll td { background:#fff; color:var(--ink); }
.review-table-scroll tr:nth-child(even) td { background:#fbfcfd; }
.review-table-scroll tr:hover td { background:#f6f9fc; }
.review-table-scroll .is-editable-cell { cursor:text; }
.review-table-scroll .is-editable-cell:hover { background:#f4f8fc; }
.review-table-scroll .is-editable-cell:focus-within { z-index:2; background:#fff; box-shadow:inset 0 0 0 2px rgba(31,99,207,.68); }
.review-cell-shell,.translation-reset-shell { position:relative; display:block; min-width:0; width:100%; }
.review-cell-shell { display:flex; min-height:44px; height:100%; flex-direction:column; align-items:stretch; }
.review-cell-value { display:block; width:100%; min-width:0; min-height:44px; height:auto; flex:1 1 auto; padding:11px 12px; box-sizing:border-box; border:0; background:transparent; color:inherit; caret-color:#1f63cf; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-cell-shell.has-restore .review-cell-value { padding-right:46px; }
.review-cell-value:empty::before { content:attr(data-placeholder); color:#8d97a4; font-weight:400; opacity:0; pointer-events:none; transition:opacity .14s ease; }
.review-table-scroll .is-editable-cell:hover .review-cell-value:empty::before,.review-table-scroll .is-editable-cell:focus-within .review-cell-value:empty::before { opacity:1; }
.review-cell-integrity { display:flex; align-items:flex-start; gap:7px; margin:0 11px 10px; padding-top:8px; border-top:1px solid rgba(190,124,20,.24); color:#8b590d; font-size:11px; font-weight:700; line-height:1.42; pointer-events:none; }
.review-cell-integrity-mark { display:grid; width:16px; height:16px; flex:0 0 16px; place-items:center; border-radius:50%; background:#d77b08; color:#fff; font-size:10px; line-height:1; }
.review-protected-value { padding:0 1px; border-radius:2px; background:rgba(176,32,40,.08); color:inherit; text-decoration:underline; text-decoration-color:var(--brand); text-decoration-thickness:2px; text-underline-offset:3px; }
.translation-reset-shell > input,.translation-reset-shell > textarea { padding-right:36px; }
.translation-source-reset {
  position:absolute; z-index:4; top:7px; right:7px; display:grid; width:25px; height:25px;
  place-items:center; padding:0; border:1px solid #ccd4de; border-radius:50%; background:#fff;
  color:#596472; font:700 15px/1 Lato,Arial,sans-serif; cursor:pointer; opacity:0;
  pointer-events:none; transform:scale(.94); box-shadow:0 1px 3px rgba(17,24,39,.08); transition:opacity .14s ease,transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease;
}
.review-cell-shell:hover .translation-source-reset,.review-cell-shell:focus-within .translation-source-reset,.translation-reset-shell:hover .translation-source-reset,.translation-reset-shell:focus-within .translation-source-reset { opacity:1; pointer-events:auto; transform:scale(1); }
.translation-source-reset:hover,.translation-source-reset:focus-visible { outline:0; border-color:#d99225; background:#fff2da; color:#975800; }
.translation-source-kept { box-shadow:inset 3px 0 0 #718096 !important; background:#f5f7f9 !important; }
.review-table-preview.is-editable [contenteditable] { min-width:0; cursor:text; transition:background .14s ease, box-shadow .14s ease; }
.review-table-preview.is-editable [contenteditable]:hover { background:transparent; }
.review-table-preview.is-editable [contenteditable]:focus { outline:0; background:transparent; box-shadow:none; }
.review-structure-editor { min-width:0; margin-top:18px; }
.review-block-list { display:grid; gap:9px; margin:0 0 18px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.review-block-list-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:2px; }
.review-block-list-head b { font-size:13px; }
.review-block-list-head span { color:var(--muted); font-size:10px; }
.review-block-editor { display:grid; gap:5px; }
.review-block-editor > span { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.review-block-editor textarea { width:100%; min-height:68px; padding:11px 12px; resize:vertical; border:1px solid #d8dee7; border-radius:6px; background:#fbfcfd; color:var(--ink); font:inherit; font-size:15px; line-height:1.55; }
.review-block-editor textarea:focus { outline:0; border-color:rgba(31,99,207,.48); background:#fff; box-shadow:0 0 0 3px rgba(31,99,207,.06); }
.review-block-editor.is-heading { position:relative; padding-left:9px; }
.review-block-editor.is-heading::before { content:""; position:absolute; left:0; top:20px; width:3px; height:28px; border-radius:2px; background:var(--red); }
.review-block-editor.is-heading > span { color:var(--brand-text); }
.review-block-editor.is-heading textarea { min-height:48px; background:#fff; font-weight:700; }
.translation-review-alert { display:grid; grid-template-columns:30px minmax(0,1fr); gap:11px; margin:0 0 15px; padding:13px 14px; border:1px solid #efc37b; border-radius:7px; background:#fff7e8; color:#69430c; }
.translation-review-alert.is-service-fallback { border-color:#e4a848; background:#fff5df; }
.translation-review-alert b { display:block; color:#4d330d; font-size:12px; }
.translation-review-alert p { margin:3px 0 0; font-size:11px; line-height:1.45; }
.translation-review-mark { display:grid; width:27px; height:27px; place-items:center; border-radius:50%; background:#d77b08; color:#fff; font-size:13px; font-weight:700; }
.translation-value-warning,.review-field.is-translation-warning input,.review-field.is-translation-warning textarea,.review-block-editor.is-translation-warning textarea,.translation-correction-field.is-translation-warning textarea { border-color:#dda13e !important; background:#fff8e9 !important; box-shadow:inset 3px 0 0 #d77b08; }
.review-table-scroll td.translation-value-warning { color:#25211a !important; font-weight:400; }
.review-table-scroll th.translation-value-warning { color:#59380a !important; font-weight:800; }
.review-table-scroll .translation-value-warning:hover,.review-table-scroll tr:hover .translation-value-warning { background:#fff3d8 !important; }
.review-table-scroll .translation-value-warning:focus-within { background:#fffaf0 !important; box-shadow:inset 3px 0 0 #d77b08,inset 0 0 0 2px rgba(31,99,207,.68) !important; }
.review-table-scroll .translation-warning-translation_service_unavailable { background:#fffcf6 !important; box-shadow:inset 2px 0 0 #e0b15e; }
.review-table-scroll .translation-warning-translation_service_unavailable:hover,.review-table-scroll tr:hover .translation-warning-translation_service_unavailable { background:#fff9ec !important; }
.review-table-scroll .translation-warning-translation_service_unavailable:focus-within { background:#fffdf8 !important; box-shadow:inset 2px 0 0 #e0b15e,inset 0 0 0 2px rgba(31,99,207,.68) !important; }
.translation-value-note { display:block; margin-top:2px; color:#8a550b; font-size:11px; line-height:1.45; }
.translation-value-note b { margin-right:4px; }
.translation-value-note strong { color:#59380a; font-weight:800; }
.translation-responsibility { display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; margin:12px 0 16px; padding:13px 14px; border:1px solid #dfac55; border-radius:7px; background:#fff9ed; color:#62420e; cursor:pointer; }
.translation-responsibility input { width:17px; height:17px; margin:2px 0 0; accent-color:#b76500; cursor:pointer; }
.translation-responsibility span { display:grid; gap:3px; }
.translation-responsibility b { color:#4f350d; font-size:12px; }
.translation-responsibility small { font-size:10px; line-height:1.45; }
.translation-responsibility:has(input:checked) { border-color:#7bad91; background:#f1faf5; color:#245b3b; }
.translation-responsibility:has(input:checked) b { color:#17482e; }
.translation-correction-list { display:grid; gap:10px; margin:14px 0 18px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.translation-correction-field { display:grid; gap:5px; }
.translation-correction-field > span { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.translation-correction-field textarea { width:100%; min-height:64px; padding:9px 10px; resize:vertical; border:1px solid var(--line); border-radius:6px; color:var(--ink); font:inherit; font-size:12px; line-height:1.45; }
.translation-warning-reviewed { border-color:#b8c3d0 !important; background:#fff !important; box-shadow:none !important; }
.translation-warning-reviewed .review-cell-integrity { display:none; }
.translation-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.translation-summary.is-full { grid-template-columns:repeat(2,minmax(0,1fr)); }
.translation-summary p { display:grid; gap:6px; margin:0; padding:14px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--muted); font-size:14px; line-height:1.55; }
.translation-summary b { color:var(--ink); font-size:12px; text-transform:uppercase; }
.result-downloads { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.review-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px; }
.review-field { display:flex; flex-direction:column; gap:6px; grid-column:span 3; }
.review-field.span-6 { grid-column:span 6; }
.review-field.span-12 { grid-column:span 12; }
.review-field label { color:var(--muted); font-size:11px; font-weight:700; }
.review-field input,.review-field textarea {
  width:100%; min-height:42px; padding:10px 11px; border:1px solid var(--line);
  border-radius:6px; background:#fff; color:var(--ink); font:inherit; font-size:15px; line-height:1.5;
}
.review-field textarea { min-height:76px; resize:vertical; line-height:1.45; }
.review-field textarea.review-longform-text { min-height:420px; font-size:13px; line-height:1.55; }
.review-actions { display:flex; min-width:0; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; padding-bottom:2px; }
.review-actions > span { flex:1 1 260px; }
.review-actions span { color:var(--muted); font-size:12px; }
.download-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  padding:10px 14px;
  border-radius:8px;
  background:#fff;
  border:1px solid rgba(176, 32, 40, 0.2);
  color:var(--brand);
  font-weight:700;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.download-btn:hover {
  transform:translateY(-1px);
  border-color:rgba(176, 32, 40, 0.35);
  box-shadow:0 10px 24px rgba(176, 32, 40, 0.12);
  background:#fff9fa;
}
.small {
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.alert {
  margin-bottom:18px;
  border:1px solid rgba(176, 32, 40, 0.18);
  background:rgba(255,255,255,0.96);
  border-left:4px solid var(--brand);
  border-radius:8px;
  padding:14px 16px;
  font-size:14px;
  line-height:1.45;
}
.login-shell {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:32px 20px;
}
.login-panel {
  width:min(460px, 100%);
  display:block;
  background:rgba(255,255,255,0.94);
  border:1px solid rgba(216, 222, 232, 0.92);
  border-radius:10px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.login-form {
  padding:34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.login-logo {
  width:96px;
  height:82px;
  margin:0 auto 18px;
}
.login-logo::after {
  inset:16px 16px 12px;
  filter:blur(18px);
}
.login-form h2 {
  margin:0;
  font-size:28px;
  text-align:center;
}
.login-form p {
  margin:10px 0 22px;
  color:var(--muted);
  line-height:1.5;
  text-align:center;
}
.field {
  display:grid;
  gap:8px;
  margin-bottom:16px;
}
.field label {
  font-size:13px;
  font-weight:700;
  color:var(--muted);
}
.field input {
  width:100%;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:8px;
  font:inherit;
  background:#fff;
}
.meta {
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
.header-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.workspace {
  min-width:0;
  padding:28px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 10px 30px rgba(17,24,39,.045);
}
.workspace-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.workspace-head h2 { margin:5px 0 8px; font-size:28px; line-height:1.15; }
.workspace-head p { max-width:720px; margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.eyebrow { color:var(--brand); font-size:11px; font-weight:700; text-transform:uppercase; }
.success-alert {
  margin-bottom:18px; padding:13px 16px; border:1px solid rgba(29,169,98,.25);
  border-radius:7px; background:rgba(29,169,98,.07); color:var(--ok); font-size:14px; font-weight:700;
}
.profile-list { display:grid; gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--line); }
.profile-row {
  display:grid; grid-template-columns:10px minmax(200px,1.4fr) minmax(180px,1fr) 120px auto;
  align-items:center; gap:16px; padding:17px 18px; background:#fff;
}
.profile-row b,.profile-row span { display:block; }
.profile-row > div > span { margin-top:4px; color:var(--muted); font-size:13px; }
.profile-status { width:8px; height:8px; border-radius:50%; background:var(--ready); }
.profile-signature { color:var(--ink); font-size:13px; }
.profile-signature small { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:700; text-transform:uppercase; }
.profile-ready { color:var(--ok); font-size:12px; font-weight:700; }
.empty-state { padding:44px 24px; background:#fff; text-align:center; }
.empty-state b { font-size:18px; }
.empty-state p { margin:8px auto 0; max-width:520px; color:var(--muted); font-size:14px; line-height:1.55; }
.wizard-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:30px; }
.wizard-progress span { padding:10px 12px; border-bottom:2px solid var(--line); color:var(--muted); font-size:12px; font-weight:700; }
.wizard-progress span.is-current { border-color:var(--brand); color:var(--ink); }
.profile-form { padding-top:4px; }
.profile-upload {
  padding:22px; border:1.5px dashed rgba(17,17,17,.18); border-radius:8px; background:#fbfcfe;
}
.profile-upload input[type=file] {
  display:block; min-height:auto; padding:8px; border:1px solid var(--line); border-radius:7px;
  background:#fff; color:var(--muted); cursor:pointer;
}
.profile-upload input[type=file]::file-selector-button {
  margin-right:12px; padding:10px 14px; border:0; border-radius:6px; background:var(--ink);
  color:#fff; font:inherit; font-weight:700; cursor:pointer;
}
.profile-upload small { color:var(--muted); font-size:12px; }
.check-row {
  display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid var(--line); border-radius:8px; cursor:pointer;
}
.check-row.span-12 { grid-column:span 12; }
.check-row input { margin-top:3px; accent-color:var(--brand); }
.check-row b,.check-row small { display:block; }
.check-row small { margin-top:5px; color:var(--muted); line-height:1.45; }
.wizard-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.help-tip {
  position:relative; display:inline-grid; place-items:center; width:17px; height:17px; margin-left:4px;
  border:1px solid #bcc4cf; border-radius:50%; color:var(--muted); font-size:10px; font-weight:700; cursor:help;
}
.help-tip::after {
  content:attr(data-tip); position:absolute; z-index:20; left:50%; bottom:calc(100% + 9px); width:230px;
  padding:9px 10px; border-radius:6px; background:#111; color:#fff; font-size:11px; font-weight:400; line-height:1.4;
  opacity:0; pointer-events:none; transform:translate(-50%,4px); transition:opacity .15s ease,transform .15s ease;
}
.help-tip:hover::after,.help-tip:focus::after { opacity:1; transform:translate(-50%,0); }
.mapping-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
.mapping-table { border:0; border-radius:0; }
.mapping-table th { background:#f3f5f7; color:var(--ink); }
.mapping-table td { vertical-align:middle; }
.mapping-table th:first-child,.mapping-table td:first-child { width:24%; }
.mapping-table th:nth-child(2),.mapping-table td:nth-child(2) { width:46%; }
.mapping-table select { width:100%; min-width:190px; padding:10px; border:1px solid var(--line); border-radius:6px; background:#fff; font:inherit; }
.source-example { max-height:110px; overflow:auto; white-space:pre-wrap; color:var(--muted); font-size:12px; line-height:1.45; }
.manual-intro {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:4px 0 24px;
  border-bottom:1px solid var(--line);
}
.manual-intro h2 {
  margin:0;
  font-size:26px;
}
.manual-intro p {
  max-width:760px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.manual-form {
  display:grid;
}
.manual-section {
  padding:26px 0;
  border-bottom:1px solid var(--line);
}
.manual-section:last-of-type { border-bottom:0; }
.manual-section-head {
  display:grid;
  grid-template-columns:220px minmax(0, 1fr);
  gap:24px;
  margin-bottom:18px;
}
.manual-section-head h3 {
  margin:0;
  font-size:18px;
}
.manual-section-head p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.manual-grid {
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:14px;
}
.manual-field {
  grid-column:span 4;
  display:grid;
  align-content:start;
  gap:7px;
}
.manual-field.span-2 { grid-column:span 2; }
.manual-field.span-3 { grid-column:span 3; }
.manual-field.span-4 { grid-column:span 4; }
.manual-field.span-6 { grid-column:span 6; }
.manual-field.span-8 { grid-column:span 8; }
.manual-field.span-10 { grid-column:span 10; }
.manual-field.span-12 { grid-column:span 12; }
.manual-field label {
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.manual-field label .required { color:var(--brand); }
.manual-field input,
.manual-field textarea,
.manual-field select {
  width:100%;
  min-height:43px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:14px;
}
.manual-field textarea {
  min-height:92px;
  resize:vertical;
  line-height:1.5;
}
.manual-field input:focus,
.manual-field textarea:focus,
.manual-field select:focus {
  outline:0;
  border-color:rgba(176,32,40,.55);
  box-shadow:0 0 0 3px rgba(176,32,40,.08);
}
.manual-field input[type=date],.review-field input[type=date] { cursor:pointer; color-scheme:light; }
.manual-field input[type=date]::-webkit-calendar-picker-indicator,
.review-field input[type=date]::-webkit-calendar-picker-indicator {
  cursor:pointer; opacity:.72;
}
.manual-file {
  grid-column:span 6;
  padding:14px;
  border:1px dashed rgba(17,17,17,.2);
  border-radius:8px;
  background:var(--surface-2);
}
.manual-file input[type=file] {
  display:block;
  min-height:auto;
  padding:8px;
  background:#fff;
}
.manual-file small {
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}
.manual-visual-manager {
  grid-column:span 12;
  display:grid;
  gap:14px;
}
.manual-visual-upload {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:18px;
  border:1.5px dashed #aeb7c5;
  border-radius:8px;
  background:#fafbfd;
}
.manual-visual-upload-copy b,.manual-visual-upload-copy small { display:block; }
.manual-visual-upload-copy b { font-size:14px; }
.manual-visual-upload-copy small { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.45; }
.manual-visual-picker {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid var(--ink);
  border-radius:7px;
  background:var(--ink);
  color:#fff;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.manual-visual-picker input {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}
.manual-visual-picker.is-disabled { border-color:#c9ced6; background:#c9ced6; cursor:not-allowed; }
.manual-visual-status { min-height:18px; color:var(--muted); font-size:11px; }
.manual-visual-status.is-error { color:var(--brand); }
.manual-visual-status.is-success { color:var(--ok); }
.manual-visual-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.manual-visual-list:empty { display:none; }
.manual-visual-item {
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.manual-visual-thumb {
  width:72px;
  height:54px;
  object-fit:contain;
  border:1px solid #e2e6ec;
  border-radius:5px;
  background:#f7f8fa;
}
.manual-visual-meta { min-width:0; }
.manual-visual-meta b {
  display:block;
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.manual-visual-meta small { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.manual-visual-remove {
  border:0;
  padding:7px;
  background:transparent;
  color:var(--brand);
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.manual-visual-empty {
  grid-column:1 / -1;
  padding:13px 0;
  color:var(--muted);
  font-size:12px;
}
.manual-row-label {
  grid-column:span 12;
  margin-top:4px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}
.manual-actions {
  position:sticky;
  bottom:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 -24px -24px;
  padding:16px 24px;
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
}
.manual-generation-progress {
  position:fixed;
  z-index:120;
  right:24px;
  bottom:24px;
  display:grid;
  width:min(440px,calc(100vw - 32px));
  gap:12px;
  padding:18px;
  border:1px solid #d7dde6;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 48px rgba(17,24,39,.18);
}
.manual-generation-progress[hidden] { display:none; }
.manual-generation-progress-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.manual-generation-progress-copy { display:grid; gap:4px; }
.manual-generation-progress-copy b { font-size:14px; }
.manual-generation-progress-copy span { color:var(--muted); font-size:11px; line-height:1.45; }
.manual-generation-progress-time { flex:none; color:var(--blue); font-size:11px; font-variant-numeric:tabular-nums; font-weight:700; }
.manual-generation-progress-track { height:7px; overflow:hidden; border-radius:4px; background:#e8edf3; }
.manual-generation-progress-fill { display:block; width:6%; height:100%; border-radius:inherit; background:var(--blue); transition:width .45s ease; }
.manual-generation-progress-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:10px; }
.manual-generation-progress-percent { color:var(--blue); font-weight:700; }
.manual-result {
  margin-bottom:20px;
}
.manual-result-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px;
  border:1px solid rgba(29,169,98,.28);
  border-radius:8px;
  background:rgba(29,169,98,.06);
}
.manual-result-row b { display:block; margin-bottom:5px; }
.manual-result-row span { color:var(--muted); font-size:13px; }
.app-footer {
  display:grid;
  gap:4px;
  width:100%;
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  text-align:start;
  justify-items:stretch;
}
.app-footer-main { display:grid; gap:4px; min-width:0; }
.app-footer-copyright { flex:0 0 auto; }
.app-footer-authorship { font-size:10px; }
.app-footer-authorship[lang="en"] { color:#7a818c; }
.app-footer-authorship a { color:inherit; font-weight:700; text-underline-offset:2px; }
.app-footer-authorship a:hover { color:var(--ink); }
@media (max-width: 980px) {
  .layout { grid-template-columns:1fr; }
  .profile-row { grid-template-columns:10px minmax(180px,1fr) 110px auto; }
  .profile-row .profile-signature:first-of-type { display:none; }
}
@media (max-width: 720px) {
  .page { padding:20px 16px 36px; }
  .topbar { flex-direction:column; align-items:flex-start; }
  .header-actions { width:100%; justify-content:flex-start; }
  .guide-steps { grid-template-columns:1fr; }
  .main-panel { padding:20px; }
  .progress-metrics { grid-template-columns:1fr; }
  .progress-row { grid-template-columns:1fr; }
  .progress-time { text-align:left; }
  .drop { padding:28px 18px; }
  .drop strong { font-size:21px; }
  .actions { align-items:flex-start; }
  .action-group { width:100%; }
  .download-btn { width:100%; }
  .verification-head { align-items:stretch; }
  .verification-head-copy,.verification-stats,.verification-actions { width:100%; }
  .verification-stat { flex:1 1 92px; min-width:0; }
  .verification-actions > * { flex:1 1 auto; text-align:center; }
  .resume-review { align-items:stretch; flex-direction:column; }
  .resume-review .ghost { width:100%; text-align:center; }
  .results { overflow:hidden; }
  table { display:block; width:100%; max-width:100%; min-width:0; overflow-x:auto; white-space:nowrap; }
  .results-table { display:block; overflow:visible; table-layout:auto; white-space:normal; }
  .results-table > thead { display:none; }
  .results-table > tbody { display:block; }
  .results-table > tbody > tr:not(.review-row) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid var(--line); border-bottom:0; background:#fff; }
  .results-table > tbody > tr:not(.review-row) > td { display:block; min-width:0; padding:10px; border:0; overflow-wrap:anywhere; }
  .results-table > tbody > tr:not(.review-row) > td:first-child,.results-table > tbody > tr:not(.review-row) > td:nth-child(4) { grid-column:1 / -1; }
  .results-table > tbody > tr:not(.review-row) > td:nth-child(2) { text-align:left; }
  .results-table > tbody > tr:not(.review-row) > td:nth-child(3),
  .results-table > tbody > tr:not(.review-row) > td:nth-child(4) { padding-top:3px; color:var(--muted); font-size:12px; }
  .result-file-copy b { white-space:normal; }
  .review-row,.review-row > td { display:block; width:100%; max-width:100%; min-width:0; }
  .review-row > td { border:1px solid var(--line); }
  .review-box,.review-approval-form,.review-language-panels,.review-language-panel,.review-structure-editor { width:100%; min-width:0; max-width:100%; }
  .review-box > .review-toolbar,.review-box > .review-warning,.review-box > .review-approval-form { width:auto; margin-right:12px; margin-left:12px; }
  .review-table-preview { padding:12px; }
  .review-table-scroll { display:block; max-width:100%; overflow:auto; }
  .review-table-scroll table { display:table; width:100%; min-width:var(--review-table-min-width, 700px); max-width:none; table-layout:fixed; overflow:visible; white-space:normal; }
  .results-head,.action-group,.review-box,.review-grid { min-width:0; max-width:100%; }
  .manual-intro { flex-direction:column; }
  .manual-section-head { grid-template-columns:1fr; gap:8px; }
  .manual-field,
  .manual-field.span-2,
  .manual-field.span-3,
  .manual-field.span-4,
  .manual-field.span-6,
  .manual-field.span-8,
  .manual-field.span-10,
  .manual-field.span-12,
  .manual-file { grid-column:span 12; }
  .review-field,
  .review-field.span-6,
  .review-field.span-12 { grid-column:span 12; }
  .manual-actions { align-items:flex-start; flex-direction:column; }
  .manual-actions .action-group { width:100%; }
  .manual-actions .primary { width:100%; }
  .manual-result-row { align-items:flex-start; flex-direction:column; }
  .manual-visual-upload { grid-template-columns:1fr; }
  .manual-visual-picker { width:100%; }
  .manual-visual-list { grid-template-columns:1fr; }
  .workspace { padding:20px; }
  .workspace-head { flex-direction:column; gap:16px; }
  .workspace-head h2 { font-size:24px; }
  .workspace-head .primary { width:100%; text-align:center; }
  .profile-row { grid-template-columns:10px minmax(0,1fr) auto; gap:12px; }
  .profile-row .profile-signature { display:none; }
  .wizard-progress span { padding:9px 4px; font-size:10px; text-align:center; }
  .wizard-actions { align-items:stretch; flex-direction:column-reverse; }
  .wizard-actions .primary,.wizard-actions .ghost { width:100%; text-align:center; }
  .mapping-wrap { overflow:visible; border:0; }
  .mapping-table { display:block; overflow:visible; white-space:normal; border:0; }
  .mapping-table thead { display:none; }
  .mapping-table tbody,.mapping-table tr,.mapping-table td { display:block; width:100%; }
  .mapping-table tr { margin-bottom:12px; padding:14px; border:1px solid var(--line); border-radius:8px; background:#fff; }
  .mapping-table td { padding:8px 0; border:0; white-space:normal; }
  .mapping-table td::before {
    content:attr(data-label); display:block; margin-bottom:6px; color:var(--muted);
    font-size:10px; font-weight:700; text-transform:uppercase;
  }
  .mapping-table select { width:100%; }
  .help-tip::after { left:auto; right:-10px; transform:translateY(4px); }
  .help-tip:hover::after,.help-tip:focus::after { transform:translateY(0); }
}

/* 2026 workspace refresh: lighter surfaces and navigation separated from actions. */
body {
  border-top:3px solid var(--brand);
  background:#f8f9fb;
}
.page { max-width:1400px; padding:18px var(--page-gutter) 44px; }
.topbar {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px 24px;
  margin:0 0 28px;
  padding:14px 0 0;
  border:0;
}
.compact-topbar { margin-bottom:28px; }
.brand-logo { width:74px; height:64px; }
.brand-logo img { width:66px; }
.brand,.brand-copy { min-width:0; }
.brand-copy h1,.workspace-head h2,.repository-admin h2 { overflow-wrap:anywhere; }
.brand-copy h1 { font-size:25px; }
.brand-copy p { margin-top:5px; }
.topbar .header-actions { display:contents; }
.topbar .header-actions > .ghost { grid-column:2; grid-row:1; justify-self:end; }
.session-action { color:#4f5661; }
.layout { gap:24px; }
.panel,.workspace {
  border:0;
  background:transparent;
  box-shadow:none;
}
.main-panel,.workspace { padding:0; }
.guide { padding:24px 0; border:0; border-bottom:1px solid var(--line); background:transparent; }
.guide-step { border:0; border-left:2px solid var(--line); border-radius:0; padding:4px 18px; background:transparent; }
.workspace-shortcuts {
  display:grid;
  grid-template-columns:minmax(170px,.42fr) minmax(0,1.58fr);
  gap:18px;
  align-items:start;
  margin:28px 0 0;
  padding:22px;
  border:1px solid #e0e3e7;
  border-radius:15px;
  background:rgba(255,255,255,.72);
}
.workspace-shortcuts-copy > span { color:var(--brand); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.workspace-shortcuts-copy p { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.workspace-shortcut-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.workspace-shortcut { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; min-height:64px; padding:11px 12px; border:1px solid #e1e4e8; border-radius:10px; background:#fff; text-decoration:none; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.workspace-shortcut:hover { border-color:#c9cdd3; box-shadow:0 8px 22px rgba(17,24,39,.07); transform:translateY(-1px); }
.workspace-shortcut-mark { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; background:#17191c; color:#fff; font-size:15px; font-weight:700; }
.workspace-shortcut b { display:block; font-size:11px; }
.workspace-shortcut small { display:block; margin-top:3px; color:var(--muted); font-size:8.5px; line-height:1.35; }
.repository-space .workspace-shortcuts { margin-bottom:24px; }
.workflow-guide {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:0 0 18px;
  padding:4px 2px 18px;
  border-bottom:1px solid var(--line);
}
.workflow-guide p {
  display:flex;
  align-items:center;
  gap:9px;
  margin:5px 0 0;
  font-size:13px;
  line-height:1.45;
}
.workflow-guide p span { color:#a2a8b1; }
.workflow-guide small {
  max-width:470px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
  text-align:right;
}
.settings-context {
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:18px;
  margin-bottom:28px;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.settings-context span { color:#59616d; font-size:10px; font-weight:700; text-transform:uppercase; }
.settings-context p { margin:0; max-width:900px; color:var(--muted); font-size:13px; line-height:1.55; }
.uploader { padding:28px; border:1px solid var(--line); background:#fff; }
.drop {
  min-height:225px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:36px 38px;
  border-color:#c8ced7;
  background:#f8fafc;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);
}
.drop:hover { border-color:var(--brand); background:#fff; box-shadow:0 12px 30px rgba(17,24,39,.06); }
.drop-badge,.drop-support,.pill { border-radius:6px; }
.drop-upload-mark {
  display:grid;
  width:42px;
  height:42px;
  margin-bottom:18px;
  place-items:center;
  border:1px solid #e0e4ea;
  border-radius:8px;
  background:#fff;
  color:var(--brand);
  font-size:24px;
  font-weight:500;
  box-shadow:0 5px 14px rgba(17,24,39,.06);
}
.results,.progress-panel { border-radius:8px; box-shadow:none; }
.results { padding:0; border:0; background:transparent; }
.results-head { padding:0 0 12px; border-bottom:1px solid var(--line); }
table { border-radius:6px; background:#fff; }
th { background:#242629; }
.review-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:10px 0 16px; }
.review-toolbar .review-copy { margin:0; }
.source-preview {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  padding:9px 12px;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.magnifier { position:relative; display:block; width:16px; height:16px; flex:0 0 16px; box-sizing:border-box; border:2px solid currentColor; border-radius:50%; }
.magnifier::after { content:""; position:absolute; width:6px; height:2px; right:-5px; bottom:-2px; background:currentColor; transform:rotate(45deg); transform-origin:left center; }
.repository-admin {
  position:relative;
  margin-bottom:24px;
  padding:8px 0 18px;
  border-bottom:1px solid var(--line);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,padding .18s ease;
}
.repository-admin-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0; }
.repository-admin h2 { margin:2px 0 0; font-size:20px; }
.repository-admin p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.new-document-menu { position:relative; z-index:20; }
.new-document-menu > summary {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:10px 15px;
  list-style:none;
  cursor:pointer;
}
.new-document-menu > summary::-webkit-details-marker { display:none; }
.new-document-menu > summary span { transition:transform .18s ease; }
.new-document-menu[open] > summary span { transform:rotate(180deg); }
.new-document-menu > div {
  position:absolute;
  top:calc(100% + 7px);
  right:0;
  display:grid;
  width:310px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 45px rgba(20,28,42,.16);
}
.new-document-menu > div button,.new-document-menu > div a {
  display:grid;
  gap:3px;
  width:100%;
  padding:12px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--ink);
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.new-document-menu > div button:hover,.new-document-menu > div a:hover { background:#f2f5f7; }
.new-document-menu > div b { font-size:12px; }
.new-document-menu > div span { color:var(--muted); font-size:10px; line-height:1.35; }
.repository-admin.is-open {
  position:sticky;
  top:12px;
  z-index:30;
  max-height:calc(100vh - 24px);
  margin:0 0 24px;
  padding:16px 18px 18px;
  overflow:auto;
  border:1px solid #d8dee7;
  border-radius:8px;
  background:rgba(255,255,255,.98);
  box-shadow:0 16px 38px rgba(31,38,51,.14);
  backdrop-filter:blur(12px);
}
.repository-admin.is-open h2 { font-size:19px; }
.repository-admin.is-open .repository-admin-head p { display:none; }
.repository-admin.is-open .new-document-menu { display:none; }
.repository-manage-panel { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.repository-manage-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.repository-manage-head b { font-size:13px; }
.repository-manage-head button {
  display:grid;
  width:32px;
  height:32px;
  padding:0;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--muted);
  font:inherit;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.repository-manage-head button:hover { color:var(--ink); background:#f5f7f9; }
.repository-upload { display:grid; gap:12px; }
.repository-upload [hidden] { display:none !important; }
.repository-upload-fields { display:grid; grid-template-columns:minmax(130px,.72fr) minmax(220px,1.25fr) minmax(170px,.92fr) minmax(140px,.72fr) minmax(170px,.9fr); gap:12px; align-items:start; }
.repository-upload-fields.is-without-validity { grid-template-columns:minmax(140px,.75fr) minmax(260px,1.5fr) minmax(190px,1fr) minmax(150px,.78fr); }
.repository-upload .manual-field { grid-column:auto; min-width:0; }
.repository-upload .manual-field label { margin-bottom:6px; }
.repository-upload .manual-field input,.repository-upload .manual-field select { min-height:44px; }
.select-control { position:relative; display:block; min-width:0; }
.select-control::after {
  content:"";
  position:absolute;
  top:50%;
  right:15px;
  width:7px;
  height:7px;
  margin-top:-5px;
  border-right:1.5px solid #69717d;
  border-bottom:1.5px solid #69717d;
  transform:rotate(45deg);
  pointer-events:none;
}
.select-control select { appearance:none; padding-right:42px !important; background:#fff; cursor:pointer; }
.select-field > label,.select-field > span:not(.select-control) { color:var(--muted); font-size:12px; font-weight:700; }
.select-field.is-disabled { opacity:.48; }
.repository-validity-help { display:block; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.35; }
.repository-upload-actions-row { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:12px; align-items:stretch; }
.repository-file input[type=file] { display:block; padding:8px; }
.repository-upload .repository-drop { min-width:0; }
.repository-upload-submit { width:100%; min-height:68px; padding:10px 18px; }
.section-kicker { color:var(--brand); font-size:10px; font-weight:700; text-transform:uppercase; }
.table-scroll { overflow-x:auto; }
.text-danger {
  border:0;
  padding:8px 0;
  background:transparent;
  color:var(--brand);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.declaration-result {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  padding:20px;
  border:1px solid rgba(29,169,98,.28);
  border-radius:8px;
  background:rgba(29,169,98,.06);
}
.declaration-result h2 { margin:4px 0 5px; font-size:21px; }
.declaration-result p { margin:0; color:var(--muted); font-size:13px; }
.declaration-form .manual-field textarea[name="legal_bases_custom"] { min-height:110px; }
.manual-translation-box { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,320px); align-items:center; gap:18px; padding:16px 18px; border:1px solid #d9e1ea; border-radius:8px; background:#f7fafc; }
.manual-translation-box .check-row { padding:0; border:0; background:transparent; }
.manual-translation-box .manual-field { grid-column:auto; }
.legal-bases { grid-column:span 12; min-width:0; margin:0; padding:0; border:0; }
.legal-bases legend { margin-bottom:10px; color:var(--muted); font-size:12px; font-weight:700; }
.legal-bases-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:8px; }
.legal-bases-toolbar p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.legal-basis-add { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; min-height:36px; padding:8px 11px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.legal-basis-add:hover { border-color:#aeb6c2; background:#f7f9fb; }
.legal-basis-list { display:grid; }
.legal-basis-option { display:grid; grid-template-columns:22px minmax(0,1fr) auto; align-items:start; gap:12px; padding:13px 4px; border-bottom:1px solid var(--line); }
.legal-basis-option:first-of-type { border-top:1px solid var(--line); }
.legal-basis-option input[type="checkbox"] { width:17px; height:17px; margin:9px 0 0; accent-color:var(--brand); cursor:pointer; }
.legal-basis-option textarea { width:100%; min-height:52px; padding:8px 10px; resize:vertical; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--ink); font:inherit; font-size:13px; line-height:1.5; }
.legal-basis-option textarea:hover { border-color:var(--line); background:#fff; }
.legal-basis-option textarea:focus { outline:0; border-color:rgba(176,32,40,.42); background:#fff; box-shadow:0 0 0 3px rgba(176,32,40,.06); }
.legal-basis-actions { display:flex; align-items:center; gap:3px; padding-top:5px; }
.legal-basis-icon { display:grid; width:30px; height:30px; padding:0; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--muted); font:inherit; font-size:16px; cursor:pointer; }
.legal-basis-icon:hover { background:#eef1f5; color:var(--ink); }
.legal-basis-icon.is-delete:hover { background:var(--brand-pale); color:var(--brand); }
.legal-basis-icon:disabled { opacity:.28; cursor:default; background:transparent; }
.legal-basis-save-status { min-height:18px; margin-top:8px; color:var(--muted); font-size:11px; }
.legal-basis-save-status.is-saved { color:var(--ok); }
.legal-basis-save-status.is-error { color:var(--brand); }
.manual-section { padding:30px 0; }
.manual-actions { margin:0; padding:16px 0; background:rgba(248,249,251,.94); }
.login-panel { border-radius:8px; box-shadow:0 18px 54px rgba(17,24,39,.08); }
.download-btn:hover { transform:translateY(-1px); border-color:rgba(176,32,40,.45); box-shadow:0 8px 18px rgba(176,32,40,.10); background:var(--brand-pale); }
.sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
body.repository-space,body.library-space {
  --repository-accent:#174f66;
  --repository-soft:#edf4f6;
  border-top-color:var(--repository-accent);
  background:var(--app-canvas-background);
}
body.repository-space .page,body.library-space .page { max-width:1580px; }
body.repository-space .brand-logo.is-ready::after,
body.library-space .brand-logo.is-ready::after { background:rgba(23,79,102,.16); }
body.repository-space .section-kicker,
body.library-space .section-kicker { color:var(--repository-accent); }
body.repository-space .repository-admin .primary {
  border-color:var(--repository-accent);
  background:var(--repository-accent);
  box-shadow:0 8px 20px rgba(23,79,102,.16);
}
body.repository-space .repository-admin .primary:hover { background:#103f53; }
body.settings-space { border-top-color:#68717d; background:var(--app-canvas-background); }
.repository-results { margin-top:0; }
.repository-toolbar { display:grid; grid-template-columns:minmax(320px,1fr) auto auto; align-items:center; gap:12px; margin-bottom:12px; }
.repository-toolbar.is-external { grid-template-columns:minmax(280px,1fr) auto; }
.repository-search { display:grid; grid-template-columns:minmax(220px,1fr) 174px; gap:8px; min-width:0; }
.repository-search-field { position:relative; min-width:0; }
.repository-search input { width:100%; min-height:44px; padding:10px 48px 10px 14px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font:inherit; }
.repository-search input:focus { outline:0; border-color:rgba(23,79,102,.5); box-shadow:0 0 0 3px rgba(23,79,102,.07); }
.repository-search-field button { position:absolute; top:0; right:0; bottom:0; display:grid; width:44px; place-items:center; border:0; background:transparent; color:var(--muted); cursor:pointer; }
.repository-language-menu { position:relative; min-width:0; }
.repository-language-menu summary {
  position:relative;
  display:grid;
  min-height:44px;
  padding:6px 34px 5px 11px;
  align-content:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  list-style:none;
}
.repository-language-menu summary::-webkit-details-marker { display:none; }
.repository-language-menu summary::after {
  position:absolute;
  top:15px;
  right:13px;
  width:8px;
  height:8px;
  border-right:2px solid #6f7783;
  border-bottom:2px solid #6f7783;
  content:"";
  transform:rotate(45deg);
  transition:transform .16s ease,top .16s ease;
}
.repository-language-menu[open] summary::after { top:19px; transform:rotate(225deg); }
.repository-language-menu summary:hover { border-color:#aab7c4; background:#fbfcfd; }
.repository-language-menu summary:focus-visible { outline:0; border-color:rgba(23,79,102,.55); box-shadow:0 0 0 3px rgba(23,79,102,.08); }
.repository-language-caption { color:#7b838f; font-size:8px; font-weight:700; line-height:1.1; text-transform:uppercase; }
.repository-language-current { overflow:hidden; margin-top:2px; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.repository-language-menu > div {
  position:absolute;
  z-index:40;
  top:calc(100% + 6px);
  right:0;
  left:0;
  display:grid;
  gap:2px;
  min-width:190px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(17,24,39,.14);
}
.repository-language-option {
  display:flex;
  min-height:36px;
  padding:8px 9px;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-radius:6px;
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.repository-language-option:hover { background:var(--repository-soft); color:var(--repository-accent); }
.repository-language-option.is-active { background:#eef2f4; color:var(--repository-accent); }
.repository-language-option-check { width:14px; color:var(--repository-accent); text-align:center; }
.repository-filters { display:inline-flex; align-items:center; padding:3px; border:1px solid var(--line); border-radius:8px; background:#eef1f5; }
.repository-filter { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:8px 11px; border-radius:6px; color:var(--muted); font-size:12px; font-weight:700; text-decoration:none; white-space:nowrap; }
.repository-filter.is-active { background:#fff; color:var(--ink); box-shadow:0 1px 3px rgba(17,24,39,.08); }
.filter-count { display:inline-grid; min-width:20px; height:20px; padding:0 5px; place-items:center; border-radius:10px; background:#d87f18; color:#fff; font-size:10px; }
.repository-toolbar-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.repository-toolbar-actions .ghost { min-height:42px; padding:10px 12px; font-size:12px; white-space:nowrap; }
.repository-selection-bar {
  position:sticky;
  top:12px;
  z-index:18;
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid #cbd9df;
  border-radius:8px;
  background:rgba(245,250,252,.97);
  box-shadow:0 10px 28px rgba(23,79,102,.12);
  backdrop-filter:blur(12px);
}
.repository-selection-bar[hidden] { display:none; }
.repository-selection-bar > b { color:var(--repository-accent); font-size:12px; white-space:nowrap; }
.repository-selection-bar > span { flex:1 1 auto; color:var(--muted); font-size:10px; }
.repository-selection-bar .primary { min-height:38px; padding:8px 12px; border-color:var(--repository-accent); background:var(--repository-accent); box-shadow:none; font-size:11px; }
.repository-result-count { display:block; margin-top:4px; color:var(--muted); font-size:12px; }
.repository-table { min-width:1260px; table-layout:fixed; border-color:var(--line); }
.repository-table.is-admin { min-width:1100px; }
.repository-table th { padding:11px 10px; background:#f0f2f5; color:#3f4651; font-size:11px; text-transform:uppercase; }
.repository-table th:nth-child(1) { width:42px; }
.repository-table th:nth-child(2) { width:115px; }
.repository-table th:nth-child(3) { width:230px; }
.repository-table th:nth-child(4),.repository-table th:nth-child(5),.repository-table th:nth-child(6) { width:155px; }
.repository-table th:nth-child(7) { width:145px; }
.repository-table th:nth-child(8) { width:95px; }
.repository-table.is-admin th { padding:10px 7px; font-size:10px; }
.repository-table.is-admin th:nth-child(1) { width:38px; }
.repository-table.is-admin th:nth-child(2) { width:86px; }
.repository-table.is-admin th:nth-child(3) { width:198px; }
.repository-table.is-admin th:nth-child(4),
.repository-table.is-admin th:nth-child(5),
.repository-table.is-admin th:nth-child(6) { width:132px; }
.repository-table.is-admin th:nth-child(7) { width:138px; }
.repository-table.is-admin th:nth-child(8) { width:112px; }
.repository-table.is-admin th:nth-child(9) { width:70px; }
.repository-table.is-admin th.source-column { color:#737a85; }
.repository-table td { padding:15px 10px; vertical-align:middle; background:transparent; }
.repository-table.is-admin td { padding:13px 7px; }
.repository-table tbody tr { background:#fff; }
.repository-table tbody tr:hover { background:#f8fafc; }
.repository-table tbody tr.repository-row-expiring { background:#fff8ea; }
.repository-table tbody tr.repository-row-expiring:hover { background:#fff3d9; }
.repository-table tbody tr.repository-row-expired { background:var(--brand-pale); }
.repository-table tbody tr.repository-row-expired:hover { background:var(--brand-soft); }
.repository-index b { font-size:13px; }
.repository-name { color:#262a31; font-size:13px; line-height:1.42; overflow-wrap:anywhere; }
.repository-name > span:first-child { display:block; }
.repository-language-summary { display:flex; align-items:center; gap:4px; margin-top:7px; }
.repository-language-badge {
  display:inline-grid;
  width:23px;
  height:18px;
  place-items:center;
  border:1px solid #dde2e8;
  border-radius:4px;
  background:#fff;
  font-size:12px;
  line-height:1;
}
.selection-cell { width:42px; text-align:center; }
.selection-cell input,.repository-select { width:17px; height:17px; accent-color:var(--brand); cursor:pointer; }
.repository-document { display:grid; gap:6px; }
.repository-language-version {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 27px;
  align-items:start;
  gap:5px;
}
.document-split-action { display:flex; align-items:stretch; gap:0; width:100%; }
.document-split-action .repository-doc-download { flex:1 1 auto; min-width:0; border-radius:7px 0 0 7px; }
.document-split-action .document-action-menu { flex:0 0 31px; margin:0; opacity:1; }
.document-split-action .document-action-menu > summary {
  width:31px;
  min-height:39px;
  height:100%;
  border:1px solid var(--line);
  border-left:0;
  border-radius:0 7px 7px 0;
  background:#fff;
}
.more-icon { display:block; width:3px; height:3px; border-radius:50%; background:currentColor; box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor; }
.document-language-flag { flex:0 0 auto; font-size:15px; line-height:1; }
.repository-doc-download,.document-add { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:39px; padding:9px 10px; border:1px solid currentColor; border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-size:12px; font-weight:700; text-decoration:none; cursor:pointer; transition:background .16s ease,box-shadow .16s ease,transform .16s ease; }
.repository-doc-download:hover,.document-add:hover { transform:translateY(-1px); box-shadow:0 5px 13px rgba(17,24,39,.08); }
.repository-doc-download.doc-specification,.document-add.doc-specification { color:var(--brand-text); background:var(--brand-pale); border-color:var(--brand-border); }
.repository-doc-download.doc-declaration,.document-add.doc-declaration { color:#12649a; background:#f3f8fc; border-color:#c8dfed; }
.repository-doc-download.doc-quality,.document-add.doc-quality { color:#16704a; background:#f3f9f6; border-color:#cae2d5; }
.repository-doc-download.doc-source,.document-add.doc-source { color:#59616d; background:#f6f7f9; border-color:#d5dae1; }
.document-add-language { width:30px; min-height:30px; padding:0; justify-self:end; justify-content:center; border-style:dashed; background:#fff !important; font-size:17px; line-height:1; opacity:.82; }
.repository-table.is-admin .repository-doc-download,
.repository-table.is-admin .document-add { min-height:36px; padding:8px; font-size:11px; }
.repository-source-cell { text-align:center; }
.repository-source-cell .repository-document { gap:4px; }
.repository-source-cell .repository-doc-download,
.repository-source-cell .document-add {
  width:auto;
  min-width:0;
  min-height:32px;
  padding:6px 8px;
  justify-content:center;
  gap:5px;
  font-size:10px;
}
.repository-source-cell .repository-doc-download > span:nth-child(2) { display:none; }
.repository-source-cell .repository-language-version { grid-template-columns:minmax(0,1fr) 24px; gap:3px; }
.repository-source-cell .document-split-action .document-action-menu { flex-basis:24px; }
.repository-source-cell .document-action-menu > summary { width:24px; min-height:32px; }
.repository-source-cell .document-cell-actions { justify-content:center; gap:6px; }
.repository-source-cell .document-replace,
.repository-source-cell .document-delete { font-size:9px; }
.document-add { justify-content:center; border-style:dashed; }
.download-arrow { flex:0 0 auto; font-size:13px; line-height:1; }
.document-action-menu,.row-action-menu { position:relative; z-index:4; }
.document-action-menu[open],.row-action-menu[open] { z-index:14; }
.document-action-menu > summary,.row-action-menu > summary {
  display:grid;
  width:27px;
  min-height:36px;
  padding:0;
  place-items:center;
  border:1px solid transparent;
  border-radius:6px;
  color:#7b838e;
  font-size:14px;
  font-weight:800;
  letter-spacing:0;
  line-height:1;
  list-style:none;
  cursor:pointer;
}
.document-action-menu > summary::-webkit-details-marker,.row-action-menu > summary::-webkit-details-marker { display:none; }
.document-action-menu > summary:hover,.document-action-menu[open] > summary,
.row-action-menu > summary:hover,.row-action-menu[open] > summary { border-color:var(--line); background:#fff; color:var(--ink); }
@media (hover:hover) {
  .document-action-menu { opacity:1; }
}
.document-action-popover,.row-action-menu > div {
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  display:grid;
  min-width:142px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#fff;
  box-shadow:0 12px 30px rgba(17,24,39,.16);
}
.document-action-popover .document-replace,
.document-action-popover .document-delete,
.row-action-menu .repository-delete-row {
  width:100%;
  padding:8px 9px;
  border:0;
  border-radius:5px;
  background:transparent;
  font-size:10px;
  text-align:left;
  white-space:nowrap;
}
.document-action-popover .document-replace:hover { background:#f2f5f7; color:var(--ink); }
.document-action-popover .document-delete:hover,
.row-action-menu .repository-delete-row:hover { background:var(--brand-pale); color:var(--brand); }
.row-action-menu { display:inline-block; }
.row-action-menu > summary { width:32px; }
.repository-table tbody tr:last-child .document-action-popover,
.repository-table tbody tr:last-child .row-action-menu > div { top:auto; bottom:calc(100% + 4px); }
.document-cell-actions { display:flex; align-items:center; gap:10px; min-height:22px; }
.document-cell-actions form { display:inline-flex; }
.document-replace,.document-delete { border:0; padding:3px 0; background:transparent; color:var(--muted); font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.document-replace:hover { color:var(--ink); }
.document-delete { color:var(--brand); }
.document-missing { color:#949aa5; font-size:12px; }
.complete-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-size:11px; font-weight:700; text-decoration:none; }
.complete-btn:hover { border-color:#aeb6c2; background:#f5f7fa; }
.complete-btn.is-disabled { color:#979da7; background:#f7f8fa; cursor:default; }
.bundle-split-action { display:flex; align-items:stretch; width:100%; }
.bundle-split-action .complete-btn { flex:1 1 auto; min-width:0; border-radius:7px 0 0 7px; }
.bundle-split-action .row-action-menu { flex:0 0 31px; margin:0; }
.bundle-split-action .row-action-menu > summary { width:31px; min-height:36px; height:100%; border:1px solid var(--line); border-left:0; border-radius:0 7px 7px 0; background:#fff; }
.repository-delete-row { border:0; padding:6px 0; background:transparent; color:var(--brand); font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.bundle-language-menu { position:relative; z-index:4; }
.bundle-language-menu[open] { z-index:15; }
.bundle-language-menu summary,.complete-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:8px 10px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-size:11px; font-weight:700; text-decoration:none; cursor:pointer; list-style:none; white-space:nowrap; }
.bundle-language-menu summary::-webkit-details-marker { display:none; }
.bundle-language-menu > div { position:absolute; z-index:10; top:calc(100% + 5px); right:0; display:grid; min-width:150px; padding:5px; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 10px 28px rgba(17,24,39,.14); }
.repository-table tbody tr:nth-last-child(-n+2) .bundle-language-menu > div { top:auto; bottom:calc(100% + 5px); }
.bundle-language-menu > div a { padding:8px 9px; border-radius:5px; color:var(--ink); font-size:11px; font-weight:700; text-decoration:none; }
.bundle-language-menu > div a:hover { background:#f2f5f8; }
.row-action-menu > div a { display:block; padding:8px 9px; border-radius:5px; color:var(--ink); font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap; }
.row-action-menu > div a:hover { background:#f2f5f8; }
.bulk-language { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; font-weight:700; white-space:nowrap; }
.bulk-language select { min-height:38px; padding:7px 28px 7px 8px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-size:11px; }
.validity-status { display:grid; gap:4px; padding-left:9px; border-left:3px solid #9aa1ab; }
.validity-status b { font-size:12px; }
.validity-status span { color:var(--muted); font-size:10px; line-height:1.35; }
.validity-status.is-current { border-color:#1b8a58; }
.validity-status.is-current span { color:#197047; }
.validity-status.is-expiring { border-color:#d87f18; }
.validity-status.is-expiring span { color:#a95d08; }
.validity-status.is-expired { border-color:var(--brand); }
.validity-status.is-expired span { color:var(--brand-text); }
.validity-empty { color:#969da8; font-size:11px; }
.validity-date-only { font-size:12px; font-weight:700; }
.repository-empty { padding:38px 18px !important; color:var(--muted); text-align:center; }
.repository-drop { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto; column-gap:12px; min-height:68px; padding:10px 14px; align-content:center; border:1.5px dashed #aeb7c5; border-radius:8px; background:#fafbfd; cursor:pointer; transition:border-color .16s ease,background .16s ease; }
.repository-drop:hover,.repository-drop.is-dragging { border-color:var(--brand); background:var(--brand-pale); }
.repository-drop-mark { grid-row:1 / 3; display:grid; width:34px; height:34px; place-items:center; align-self:center; border-radius:7px; background:#fff; color:var(--brand); font-size:20px; font-weight:700; box-shadow:inset 0 0 0 1px #e0e4eb; }
.repository-drop b { min-width:0; overflow:hidden; font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.repository-drop small { min-width:0; overflow:hidden; color:var(--muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.repository-drop input[type=file] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.batch-warning { margin:0 0 14px; padding:11px 13px; border-left:3px solid #d68b18; background:#fff8ec; color:#725018; font-size:12px; line-height:1.45; }
.resume-review { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 18px; padding:13px 15px; border:1px solid #cbd9ea; border-left:4px solid var(--blue); border-radius:7px; background:#f4f8fd; }
.resume-review[hidden] { display:none; }
.resume-review-copy { display:grid; min-width:0; gap:2px; }
.resume-review-copy b { color:#174b86; font-size:12px; }
.resume-review-copy span { color:#5c6877; font-size:10px; line-height:1.4; }
.file-list li { grid-template-columns:minmax(0,1fr) auto auto; }
.file-remove { border:0; padding:6px 8px; background:transparent; color:var(--brand); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.danger-action { color:var(--brand); border-color:rgba(176,32,40,.22); }
.manual-collapsible { padding:0; }
.manual-collapsible > summary { position:relative; margin:0; padding:24px 44px 24px 0; cursor:pointer; list-style:none; }
.manual-collapsible > summary::-webkit-details-marker { display:none; }
.manual-collapsible > summary:focus { outline:0; }
.manual-collapsible > summary:focus-visible {
  background:#f8f9fb;
  box-shadow:inset 3px 0 0 var(--brand);
}
.manual-collapsible .manual-section-head { grid-template-columns:220px minmax(0,1fr); margin:0; }
.manual-section-body { padding:0 0 28px; }
.section-chevron { position:absolute; right:5px; top:29px; width:10px; height:10px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg); transition:transform .18s ease; }
.manual-collapsible[open] .section-chevron { transform:rotate(225deg); top:35px; }
.custom-field-zone { display:grid; gap:10px; margin-top:16px; }
.custom-field-row { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(240px,1.5fr) auto; gap:10px; align-items:end; padding:14px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.custom-field-row label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.custom-field-row input,.custom-field-row textarea { width:100%; min-height:40px; padding:9px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; font:inherit; }
.custom-field-row textarea { min-height:40px; resize:vertical; }
.add-custom-field { margin-top:14px; border:0; padding:8px 0; background:transparent; color:var(--blue); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.profile-row { grid-template-columns:10px minmax(180px,1.2fr) minmax(150px,1fr) 100px auto auto; }
.profile-row.is-disabled { background:#f7f8fa; opacity:.72; }
.profile-status.is-disabled { background:#9aa1ab; }
.profile-actions { display:flex; align-items:center; gap:8px; }
.profile-actions form { display:inline-flex; }
.compact-action { min-height:34px; padding:7px 10px; font-size:11px; }
.profile-example-section { margin-bottom:22px; padding:20px; border:1px solid var(--line); border-radius:8px; background:#f8fafc; }
.profile-example-section h3 { margin:5px 0 7px; font-size:18px; }
.profile-example-section p { margin:0 0 16px; color:var(--muted); font-size:13px; }
.profile-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.profile-example { display:grid; gap:8px; padding:10px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; }
.profile-example img,.preview-unavailable { width:100%; aspect-ratio:3/4; object-fit:contain; border:1px solid #e5e8ed; background:#fff; }
.preview-unavailable { display:grid; place-items:center; color:var(--muted); font-size:12px; }
.profile-example span { font-size:12px; font-weight:700; }
.profile-example input { accent-color:var(--brand); }
.profile-example small { overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }

body.v2-space {
  --v2-teal:var(--brand);
  --v2-teal-deep:#111;
  --v2-sand:#f2f3f5;
  --v2-paper:#fff;
  background:var(--app-canvas-background);
}
body.v2-space .page { max-width:1500px; }
.v2-kicker { display:block; margin-bottom:7px; color:var(--v2-teal); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.v2-hero {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);
  gap:28px;
  margin-bottom:18px;
  padding:34px;
  border:1px solid rgba(15,91,93,.18);
  border-radius:18px;
  background:linear-gradient(130deg,var(--v2-paper),#f4eee1 72%);
  box-shadow:0 22px 60px rgba(45,52,52,.09);
}
.v2-hero::after { content:""; position:absolute; right:-80px; bottom:-110px; width:280px; height:280px; border:48px solid rgba(176,32,40,.07); border-radius:50%; }
.v2-hero-copy { position:relative; z-index:1; }
.v2-hero h2 { max-width:780px; margin:0; font-size:clamp(30px,4.2vw,58px); line-height:.98; letter-spacing:-.045em; }
.v2-hero p { max-width:720px; margin:18px 0 0; color:#4f5858; font-size:15px; line-height:1.65; }
.v2-metrics { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; align-self:end; }
.v2-metric { padding:16px; border:1px solid rgba(15,91,93,.14); border-radius:11px; background:rgba(255,255,255,.72); backdrop-filter:blur(7px); }
.v2-metric b { display:block; color:var(--v2-teal-deep); font-size:27px; line-height:1; }
.v2-metric span { display:block; margin-top:5px; color:#687071; font-size:10px; font-weight:700; text-transform:uppercase; }
.v2-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr); gap:18px; align-items:start; }
.v2-panel { border:1px solid rgba(25,42,44,.12); border-radius:14px; background:rgba(255,255,255,.88); box-shadow:0 12px 34px rgba(24,35,36,.055); }
.v2-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:22px 23px 15px; }
.v2-panel-head h3 { margin:0; font-size:20px; letter-spacing:-.02em; }
.v2-panel-head p { margin:6px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.v2-panel-body { padding:0 23px 23px; }
.v2-create-stack { display:grid; gap:18px; }
.v2-form { display:grid; gap:12px; }
.v2-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.v2-field { display:grid; gap:6px; min-width:0; }
.v2-field > span { color:#596061; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.v2-field input,.v2-field textarea,.v2-field select { width:100%; min-height:43px; padding:10px 11px; border:1px solid #cdd4d5; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:13px; }
.v2-field textarea { min-height:82px; resize:vertical; }
.v2-field input:focus,.v2-field textarea:focus,.v2-field select:focus { outline:0; border-color:rgba(15,91,93,.6); box-shadow:0 0 0 3px rgba(15,91,93,.09); }
.v2-primary { border-color:var(--v2-teal) !important; background:var(--v2-teal) !important; box-shadow:none !important; }
.v2-primary:hover { background:var(--v2-teal-deep) !important; }
.v2-product-list { display:grid; gap:1px; overflow:hidden; border:1px solid #dfe3e2; border-radius:10px; background:#dfe3e2; }
.v2-product-row { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px; background:#fff; text-decoration:none; transition:background .16s ease,transform .16s ease; }
.v2-product-row:hover { position:relative; z-index:1; background:#f6faf8; transform:translateX(3px); }
.v2-index-code { color:var(--v2-teal-deep); font-size:14px; font-weight:800; letter-spacing:.03em; }
.v2-product-name b { display:block; font-size:14px; }
.v2-product-name small { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.v2-row-arrow { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#eef5f3; color:var(--v2-teal); font-size:18px; }
.v2-empty { padding:35px 20px; border:1px dashed #c9cecc; border-radius:10px; color:var(--muted); text-align:center; }
.v2-index-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:14px; padding:28px 30px; border-radius:16px; background:linear-gradient(125deg,#0d4f52,#143f42); color:#fff; box-shadow:0 18px 45px rgba(9,63,66,.2); }
.v2-index-hero h2 { margin:4px 0 0; font-size:clamp(28px,4vw,49px); letter-spacing:-.04em; line-height:1; }
.v2-index-hero p { margin:10px 0 0; color:rgba(255,255,255,.72); font-size:13px; }
.v2-index-mark { min-width:160px; padding-left:20px; border-left:1px solid rgba(255,255,255,.23); text-align:right; }
.v2-index-mark b { display:block; font-size:18px; }
.v2-index-mark span { color:rgba(255,255,255,.66); font-size:10px; text-transform:uppercase; }
.v2-stepper { position:sticky; z-index:18; top:0; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-bottom:18px; overflow:hidden; border:1px solid #d7dddc; border-radius:11px; background:#d7dddc; box-shadow:0 8px 24px rgba(21,39,40,.08); }
.v2-step-link { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; padding:13px 16px; background:rgba(255,255,255,.96); text-decoration:none; }
.v2-step-link:hover { background:#f2f8f6; }
.v2-step-number { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; background:var(--v2-teal); color:#fff; font-size:11px; font-weight:800; }
.v2-step-link b { display:block; font-size:12px; }
.v2-step-link small { display:block; margin-top:2px; color:var(--muted); font-size:9px; }
.v2-workspace { display:grid; gap:18px; }
.v2-stage { scroll-margin-top:86px; }
.v2-stage-head { display:grid; grid-template-columns:48px minmax(0,1fr); gap:14px; align-items:center; margin-bottom:12px; }
.v2-stage-head > span { display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(15,91,93,.25); border-radius:12px; background:#eaf3f0; color:var(--v2-teal); font-size:16px; font-weight:800; }
.v2-stage-head h3 { margin:0; font-size:21px; }
.v2-stage-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.v2-stage-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,.65fr); gap:16px; align-items:start; }
.v2-source-list,.v2-version-list { display:grid; gap:8px; }
.v2-source-item,.v2-version-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 14px; border:1px solid #dfe4e3; border-radius:9px; background:#fff; }
.v2-source-item b,.v2-version-item b { display:block; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.v2-source-item small,.v2-version-item small { display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.v2-document-list { display:grid; gap:15px; }
.v2-document-card { overflow:hidden; border:1px solid #d9dfde; border-radius:13px; background:#fff; box-shadow:0 9px 28px rgba(26,40,41,.05); }
.v2-document-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:19px 20px; border-bottom:1px solid #e4e8e7; background:linear-gradient(110deg,#fff,#f6f8f6); }
.v2-document-head h4 { margin:4px 0 0; font-size:18px; }
.v2-document-head p { margin:6px 0 0; color:var(--muted); font-size:10px; }
.v2-status { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; background:#fff0d8; color:#875510; font-size:9px; font-weight:800; text-transform:uppercase; }
.v2-status.is-approved { background:#e4f4ea; color:#116c42; }
.v2-status.is-archived { background:#eceeef; color:#686f75; }
.v2-document-body { padding:20px; }
.v2-field-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.v2-data-field { position:relative; display:grid; gap:6px; }
.v2-data-field.is-wide { grid-column:span 3; }
.v2-data-field > label { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#596061; font-size:9px; font-weight:800; text-transform:uppercase; }
.v2-data-field input,.v2-data-field textarea { width:100%; min-height:42px; padding:10px; border:1px solid #d4dada; border-radius:7px; background:#fbfcfb; color:var(--ink); font:inherit; font-size:12px; }
.v2-data-field textarea { min-height:76px; resize:vertical; }
.v2-data-field.is-corrected input,.v2-data-field.is-corrected textarea { border-color:#d69c2c; background:#fffbef; }
.v2-field-origin { color:#8b9292; font-size:8px; font-weight:700; text-transform:none; }
.v2-field-origin.is-corrected { color:#a36b00; }
.v2-document-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding-top:15px; border-top:1px solid #e7e9e8; }
.v2-document-actions > div { display:flex; gap:8px; flex-wrap:wrap; }
.v2-document-actions form { display:inline-flex; gap:8px; align-items:center; }
.v2-confirm { display:flex; align-items:flex-start; gap:8px; max-width:430px; color:var(--muted); font-size:10px; line-height:1.4; }
.v2-confirm input { margin-top:2px; accent-color:var(--v2-teal); }
.v2-layouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:13px 0; }
.v2-layout-option { position:relative; display:grid; gap:5px; min-height:108px; padding:13px; border:1px solid #d8dedd; border-radius:9px; background:#fafbf9; cursor:pointer; }
.v2-layout-option:has(input:checked) { border-color:var(--v2-teal); background:#edf6f3; box-shadow:inset 0 0 0 1px var(--v2-teal); }
.v2-layout-option input { position:absolute; top:12px; right:12px; accent-color:var(--v2-teal); }
.v2-layout-option b { padding-right:22px; font-size:12px; }
.v2-layout-option small { color:var(--muted); font-size:9px; line-height:1.45; }
.v2-layout-option em { margin-top:auto; color:var(--v2-teal); font-size:8px; font-style:normal; font-weight:800; text-transform:uppercase; }
.v2-publication-meta { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.v2-tag { display:inline-flex; padding:5px 7px; border:1px solid #dbe1df; border-radius:6px; background:#f7f9f8; color:#66706f; font-size:9px; font-weight:700; }
.v2-control-report { display:grid; gap:12px; margin:14px 0; padding:15px; border:1px solid #dce2e0; border-radius:10px; background:#f8faf9; }
.v2-control-report h4 { margin:3px 0 0; font-size:14px; }
.v2-control-report ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; padding:0; list-style:none; }
.v2-control-report li { display:grid; grid-template-columns:22px minmax(0,1fr); gap:1px 8px; align-items:center; padding:8px; border:1px solid #dfe5e2; border-radius:8px; background:#fff; }
.v2-control-report li > span { grid-row:span 2; display:grid; width:21px; height:21px; place-items:center; border-radius:50%; font-size:10px; font-weight:900; }
.v2-control-report li b { font-size:9px; }
.v2-control-report li small { color:var(--muted); font-size:8px; line-height:1.35; }
.v2-control-report li.is-passed > span { background:#e3f3e9; color:#176842; }
.v2-control-report li.is-blocked { border-color:var(--brand-border); background:var(--brand-pale); }
.v2-control-report li.is-blocked > span { background:var(--brand-soft); color:var(--brand-text); }
.v2-longform-note { margin-bottom:14px; padding:11px 12px; border-left:3px solid var(--v2-teal); background:#f0f7f5; color:#4f5e5c; font-size:10px; line-height:1.5; }
body.v2-space .alert.is-success { border-color:#b9ddcc; background:#edf8f2; color:#176842; }

.v2-catalog-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:16px 0 24px; }
.v2-catalog-head h2 { margin:0; font-size:clamp(34px,4vw,58px); line-height:1; letter-spacing:-.045em; }
.v2-catalog-head p { max-width:650px; margin:12px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }
.v2-create-menu { position:relative; flex:0 0 auto; }
.v2-create-menu > summary { list-style:none; cursor:pointer; }
.v2-create-menu > summary::-webkit-details-marker { display:none; }
.v2-create-popover { position:absolute; z-index:60; top:calc(100% + 10px); right:0; width:min(410px,calc(100vw - 32px)); padding:22px; border:1px solid #dcdfe4; border-radius:15px; background:#fff; box-shadow:0 24px 70px rgba(17,24,39,.18); }
.v2-create-popover h3 { margin:0 0 16px; font-size:21px; }
.v2-catalog-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:18px; align-items:start; }
.v2-catalog-side { position:sticky; top:18px; display:grid; gap:3px; padding:10px; border:1px solid #e0e2e6; border-radius:15px; background:rgba(255,255,255,.78); backdrop-filter:blur(18px); }
.v2-side-title { padding:8px 10px 11px; color:#8b8f96; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.v2-catalog-side > a,.v2-catalog-side > span { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:10px 11px; border-radius:9px; color:#4d5158; font-size:11px; font-weight:700; text-decoration:none; }
.v2-catalog-side > a.is-active { background:#eceef1; color:#111; }
.v2-catalog-side b { color:#8b8f96; font-size:9px; }
.v2-group-settings { margin-top:7px; border-top:1px solid #e5e7ea; }
.v2-group-settings > summary { padding:13px 10px 8px; color:#62666d; font-size:10px; font-weight:700; cursor:pointer; }
.v2-group-settings > div { padding:6px 10px 10px; }
.v2-file-panel { overflow:hidden; min-width:0; border:1px solid #dde0e4; border-radius:17px; background:#fff; box-shadow:0 18px 50px rgba(17,24,39,.055); }
.v2-file-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid #e5e7ea; }
.v2-file-toolbar h3 { display:inline; margin:0; font-size:19px; }
.v2-file-toolbar > div span { margin-left:8px; color:#91959b; font-size:10px; }
.v2-search { display:grid; grid-template-columns:minmax(200px,330px) auto; }
.v2-search input { min-height:40px; padding:9px 12px; border:1px solid #d7dade; border-right:0; border-radius:9px 0 0 9px; background:#f8f9fa; color:var(--ink); font:inherit; font-size:11px; }
.v2-search input:focus { outline:0; border-color:#b5bac1; background:#fff; }
.v2-search button { padding:8px 13px; border:1px solid #d7dade; border-radius:0 9px 9px 0; background:#fff; color:#333; font:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.v2-file-panel .v2-product-list { gap:0; border:0; border-radius:0; background:#fff; }
.v2-file-panel .v2-product-row { grid-template-columns:32px minmax(170px,1fr) minmax(260px,.9fr) minmax(170px,.65fr) 25px; gap:16px; padding:16px 20px; border-bottom:1px solid #eceef0; transform:none; }
.v2-file-panel .v2-product-row:last-child { border-bottom:0; }
.v2-file-panel .v2-product-row:hover { background:#f7f8fa; transform:none; }
.v2-file-mark { position:relative; width:25px; height:29px; border-radius:4px; background:#17191c; }
.v2-file-mark::after { content:""; position:absolute; top:0; right:0; border-width:0 0 7px 7px; border-style:solid; border-color:transparent transparent #fff transparent; opacity:.75; }
.v2-row-summary { display:grid; grid-template-columns:repeat(4,minmax(48px,1fr)); gap:7px; }
.v2-row-summary > span { display:grid; gap:3px; padding:7px 8px; border:1px solid rgba(43,48,50,.075); border-radius:10px; background:rgba(255,255,255,.62); text-align:center; }
.v2-row-summary b { overflow:hidden; color:#202326; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.v2-row-summary small,.v2-row-state small { color:#8b8f96; font-size:8px; line-height:1.2; }
.v2-row-state { display:grid; gap:4px; min-width:0; }
.v2-row-state b { overflow:hidden; color:#4e5358; font-size:9px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.v2-file-panel .v2-row-arrow { width:24px; height:24px; background:transparent; color:#8b8f96; font-size:20px; }

.v2-product-bar { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:15px; align-items:center; margin:14px 0 16px; padding:18px 20px; border:1px solid #dfe1e5; border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(17,24,39,.045); }
.v2-product-bar h2 { margin:0; font-size:clamp(24px,3vw,38px); line-height:1; letter-spacing:-.035em; }
.v2-product-bar p { margin:7px 0 0; color:var(--muted); font-size:10px; }
.v2-product-bar .v2-kicker { margin-bottom:5px; }
.v2-back { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; background:#f0f1f3; color:#202226; font-size:27px; line-height:1; text-decoration:none; }
.v2-back:hover { background:#e4e6e9; }
.v2-progress-label { padding:7px 10px; border-radius:999px; background:#f0f1f3; color:#656970; font-size:9px; font-weight:800; text-transform:uppercase; }
.v2-stepper { position:relative; top:auto; margin-bottom:24px; border-color:#e0e2e5; background:#e0e2e5; box-shadow:none; }
.v2-step-link { opacity:.68; padding:12px 15px; }
.v2-step-link:hover { background:#f8f8f9; opacity:1; }
.v2-step-link.is-active { position:relative; z-index:1; background:#fff; opacity:1; box-shadow:inset 0 -3px 0 var(--brand); }
.v2-step-link.is-complete { opacity:1; }
.v2-step-number { background:#dfe1e4; color:#666a70; }
.v2-step-link.is-active .v2-step-number { background:var(--brand); color:#fff; }
.v2-step-link.is-complete:not(.is-active) .v2-step-number { background:#16181b; color:#fff; }
.v2-workspace { min-height:520px; }
.v2-active-stage { animation:v2-stage-enter .26s ease-out both; }
@keyframes v2-stage-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
.v2-stage-title { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 15px; }
.v2-stage-title > div > span { display:block; margin-bottom:5px; color:var(--brand); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.v2-stage-title h3 { margin:0; font-size:25px; letter-spacing:-.025em; }
.v2-stage-title p { max-width:720px; margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.v2-source-workspace { display:grid; grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:16px; align-items:start; }
.v2-upload-card { display:grid; gap:10px; padding:28px; border:1px dashed #bdc1c7; border-radius:17px; background:rgba(255,255,255,.75); text-align:center; cursor:pointer; }
.v2-upload-card:hover { border-color:var(--brand); background:#fff; }
.v2-upload-icon { display:grid; width:48px; height:48px; margin:0 auto 3px; place-items:center; border-radius:50%; background:#17191c; color:#fff; font-size:27px; font-weight:400; }
.v2-upload-card > b { font-size:16px; }
.v2-upload-card > small { max-width:380px; margin:0 auto; color:var(--muted); font-size:10px; line-height:1.5; }
.v2-upload-card form { margin-top:8px; }
.v2-upload-card input[type=file] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.v2-file-choice { overflow:hidden; padding:11px 12px; border:1px solid #d8dbe0; border-radius:8px; background:#fff; color:#5d6167; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.v2-source-panel { box-shadow:none; }
.v2-more-fields { margin-top:14px; border:1px solid #e2e4e7; border-radius:10px; }
.v2-more-fields > summary { display:flex; align-items:center; justify-content:space-between; padding:13px 14px; color:#555a60; font-size:10px; font-weight:800; cursor:pointer; }
.v2-more-fields > summary span { display:grid; min-width:23px; height:23px; place-items:center; border-radius:12px; background:#eff0f2; color:#777b81; font-size:8px; }
.v2-more-fields > div { padding:0 14px 14px; }

.v2-publication-workbench { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(460px,1.28fr); gap:18px; align-items:start; }
.v2-publish-controls { min-width:0; }
.v2-layouts { grid-template-columns:1fr; }
.v2-layout-option { min-height:86px; }
.v2-safety-note { margin:14px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }
.v2-publish-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; }
.v2-publish-actions > * { display:grid; min-height:44px; place-items:center; text-align:center; }
.v2-history-head { margin:24px 0 10px; padding-top:18px; border-top:1px solid #e5e7e9; }
.v2-history-head h3 { margin:0; font-size:16px; }
.v2-history-head p { margin:4px 0 0; color:var(--muted); font-size:9px; }
.v2-preview-shell { overflow:hidden; min-height:620px; border:1px solid #d8dade; border-radius:13px; background:#292b2e; box-shadow:0 18px 48px rgba(17,24,39,.14); }
.v2-preview-head { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:43px; padding:10px 13px; background:#1a1c1f; color:#fff; }
.v2-preview-head span { font-size:10px; font-weight:800; }
.v2-preview-head small { color:#9da1a8; font-size:8px; }
.v2-preview-shell iframe { display:block; width:100%; height:650px; border:0; background:#45484c; }

/* 6G visual system: warm paper, cool depth and light contextual navigation. */
:root {
  --brand:#b02028;
  --brand-hover:#971b22;
  --brand-deep:#7d171c;
  --brand-accent:#cd5157;
  --brand-text:#861920;
  --brand-border:#dda8ab;
  --brand-soft:#f5e5e6;
  --brand-pale:#fbf4f4;
  --ink:#151515;
  --muted:#62676d;
  --line:rgba(31,36,40,.14);
  --soft:#f3f1ed;
  --surface:#fffdf9;
  --surface-2:#f8f7f4;
  --canvas-warm:#f2ede5;
  --canvas-cool:#e8eeee;
  --canvas-blush:#f0d9db;
  --shadow:0 22px 60px rgba(43,48,50,.10);
  --shadow-high:0 34px 90px rgba(43,48,50,.15);
  --app-canvas-background:
    radial-gradient(circle at 8% 3%,rgba(176,32,40,.16) 0,rgba(176,32,40,.07) 15rem,transparent 31rem),
    radial-gradient(circle at 92% 9%,rgba(76,126,132,.15) 0,rgba(76,126,132,.055) 17rem,transparent 34rem),
    radial-gradient(circle at 48% 106%,rgba(232,198,148,.18),transparent 36rem),
    linear-gradient(135deg,var(--canvas-warm) 0,#f8f7f4 43%,var(--canvas-cool) 100%);
}
body {
  position:relative;
  min-height:100vh;
  border-top:0;
  background:var(--app-canvas-background);
  background-attachment:fixed;
}
body::before {
  content:"";
  position:fixed;
  z-index:1000;
  top:0;
  right:0;
  left:0;
  height:4px;
  background:linear-gradient(90deg,var(--brand-deep) 0%,var(--brand) 45%,var(--brand-accent) 100%);
  pointer-events:none;
}
body::after {
  content:"";
  position:fixed;
  z-index:0;
  inset:0;
  background-image:linear-gradient(rgba(50,58,60,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(50,58,60,.035) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 58%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 58%);
  opacity:.38;
  pointer-events:none;
}
.page {
  position:relative;
  z-index:1;
  max-width:1460px;
  padding:clamp(18px,2.1vw,34px) clamp(18px,2.5vw,40px) 54px;
}
.topbar {
  min-height:82px;
  margin-bottom:30px;
  padding:8px 2px 6px;
  animation:sixg-rise .36s cubic-bezier(.2,.72,.2,1) both;
}
.brand { gap:15px; }
.brand-logo {
  width:70px;
  height:70px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.brand-logo::before {
  content:none;
}
.brand-logo::after { inset:18px 10px 8px; filter:blur(17px); }
.brand-logo img { width:62px; }
.brand-copy h1 { font-size:clamp(23px,2.2vw,31px); line-height:1.02; letter-spacing:-.035em; }
.brand-copy p { max-width:660px; margin-top:7px; font-size:13px; }
.topbar .header-actions > .ghost {
  min-height:46px;
  padding:11px 17px;
  border-color:rgba(255,255,255,.78);
  border-radius:14px;
  background:rgba(255,255,255,.62);
  box-shadow:0 10px 28px rgba(43,48,50,.08),inset 0 0 0 1px rgba(25,28,30,.06);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.topbar .header-actions > .ghost:hover { background:#fff; border-color:#fff; transform:translateY(-2px); }
.alert,.resume-review { border-radius:16px; box-shadow:0 14px 34px rgba(43,48,50,.08); }
.source-start-panel {
  position:relative;
  animation:sixg-rise .4s .025s cubic-bezier(.2,.72,.2,1) both;
}
.generator-space .uploader {
  position:relative;
  overflow:hidden;
  padding:clamp(26px,3vw,48px);
  border:1px solid rgba(52,58,59,.13);
  border-radius:28px;
  background:linear-gradient(128deg,rgba(255,253,248,.98) 0,rgba(249,245,237,.97) 59%,rgba(245,229,230,.94) 100%);
  box-shadow:var(--shadow-high),inset 0 1px 0 rgba(255,255,255,.92);
}
.generator-space .uploader::before {
  content:"";
  position:absolute;
  z-index:0;
  width:500px;
  height:500px;
  top:-315px;
  right:-150px;
  border:72px solid rgba(176,32,40,.075);
  border-radius:50%;
}
.generator-space .uploader::after {
  content:"";
  position:absolute;
  z-index:0;
  width:270px;
  height:270px;
  bottom:-205px;
  left:8%;
  border-radius:50%;
  background:rgba(110,151,153,.10);
  filter:blur(2px);
}
.generator-space .uploader > * { position:relative; z-index:1; }
.uploader-head { align-items:flex-end; gap:28px; margin-bottom:26px; }
.uploader-kicker {
  display:block;
  margin-bottom:12px;
  color:var(--brand);
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.uploader-head h2 { font-size:clamp(38px,4.8vw,64px); line-height:.94; letter-spacing:-.052em; }
.uploader-head p { max-width:690px; margin-top:15px; color:#545a5e; font-size:15px; line-height:1.58; }
.uploader-head .pill {
  flex:0 0 auto;
  margin-bottom:4px;
  border-color:rgba(255,255,255,.86);
  border-radius:13px;
  background:rgba(255,255,255,.68);
  box-shadow:0 9px 25px rgba(43,48,50,.07),inset 0 0 0 1px rgba(41,45,47,.05);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.drop {
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  grid-template-rows:auto auto auto;
  column-gap:24px;
  row-gap:7px;
  min-height:260px;
  align-items:center;
  padding:40px 44px;
  border:1.5px dashed rgba(38,44,46,.25);
  border-radius:21px;
  background:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 18px 45px rgba(45,49,50,.055);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.drop:hover {
  border-color:rgba(176,32,40,.55);
  background:rgba(255,255,255,.94);
  box-shadow:0 24px 60px rgba(45,49,50,.11),inset 0 0 0 1px rgba(176,32,40,.04);
  transform:translateY(-2px);
}
.drop-upload-mark {
  grid-column:1;
  grid-row:1 / 4;
  width:68px;
  height:68px;
  margin:0;
  border:0;
  border-radius:18px;
  background:#191b1d;
  color:#fff;
  font-size:31px;
  box-shadow:0 16px 32px rgba(20,22,23,.20),inset 0 -3px 0 rgba(176,32,40,.75);
}
.drop strong { grid-column:2; grid-row:1; align-self:end; max-width:none; margin:0; font-size:clamp(24px,2.4vw,34px); letter-spacing:-.035em; }
.drop p { grid-column:2; grid-row:2; align-self:start; max-width:640px; margin:0; font-size:14px; line-height:1.55; }
.drop-actions { grid-column:3; grid-row:1 / 3; align-self:center; margin:0; }
.drop-cta {
  min-width:164px;
  min-height:54px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 15px 32px rgba(125,23,28,.24),inset 0 1px 0 rgba(255,255,255,.2);
}
.drop .caption { grid-column:2; grid-row:3; align-self:start; margin-top:2px; font-size:11px; }
.generator-space .uploader .actions { justify-content:flex-end; margin-top:18px; }
.primary,.ghost,.download-btn,.drop-cta,.v2-search button {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  font-weight:700;
  line-height:1.15;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.primary { background:linear-gradient(135deg,var(--brand),var(--brand-deep)); box-shadow:0 13px 28px rgba(125,23,28,.20); }
.ghost,.download-btn { border-color:rgba(41,46,48,.15); background:rgba(255,255,255,.86); box-shadow:0 8px 20px rgba(43,48,50,.055); }
.compact-action { min-height:36px; border-radius:11px; }
.primary:not(:disabled):hover { transform:translateY(-2px); box-shadow:0 17px 34px rgba(125,23,28,.26); }
.workspace-shortcuts {
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  overflow:hidden;
  margin-top:24px;
  padding:25px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:rgba(255,255,255,.52);
  box-shadow:0 20px 55px rgba(43,48,50,.085),inset 0 0 0 1px rgba(37,41,42,.045);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  animation:none;
}
.workspace-shortcuts-copy { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.workspace-shortcuts-copy > span { font-size:10px; letter-spacing:.18em; }
.workspace-shortcuts-copy p { max-width:520px; margin:0; font-size:11px; text-align:right; }
.workspace-shortcut-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.workspace-shortcut {
  --shortcut-bg:#f4f1eb;
  --shortcut-line:rgba(38,43,45,.09);
  position:relative;
  grid-template-columns:44px minmax(0,1fr);
  gap:13px;
  min-height:102px;
  overflow:hidden;
  padding:17px;
  border-color:var(--shortcut-line);
  border-radius:18px;
  background:var(--shortcut-bg);
  box-shadow:0 12px 28px rgba(45,49,50,.065),inset 0 1px 0 rgba(255,255,255,.72);
}
.workspace-shortcut::after {
  content:"";
  position:absolute;
  right:-35px;
  bottom:-52px;
  width:108px;
  height:108px;
  border:22px solid rgba(255,255,255,.24);
  border-radius:50%;
  filter:blur(9px);
  opacity:.84;
  pointer-events:none;
}
.workspace-shortcut-manual { --shortcut-bg:var(--brand-soft); --shortcut-line:rgba(176,32,40,.13); }
.workspace-shortcut-declaration { --shortcut-bg:#f4ead7; --shortcut-line:rgba(122,91,37,.13); }
.workspace-shortcut-repository { --shortcut-bg:#dfe9ec; --shortcut-line:rgba(39,88,96,.13); }
.workspace-shortcut-products { --shortcut-bg:#e2ebe5; --shortcut-line:rgba(42,91,66,.13); }
.workspace-shortcut-pdf { --shortcut-bg:var(--brand-soft); --shortcut-line:rgba(176,32,40,.14); }
.workspace-shortcut:hover { border-color:rgba(25,29,30,.16); box-shadow:0 18px 38px rgba(42,47,49,.13); transform:translateY(-3px); }
.workspace-shortcut-mark {
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#191b1d;
  box-shadow:0 10px 22px rgba(20,22,23,.16);
  transition:background .18s ease,transform .18s ease;
}
.workspace-shortcut:hover .workspace-shortcut-mark { background:var(--brand); transform:rotate(-3deg); }
.workspace-shortcut b { position:relative; z-index:1; font-size:12px; line-height:1.25; }
.workspace-shortcut small { position:relative; z-index:1; margin-top:5px; font-size:9px; line-height:1.45; }
.workspace-shortcuts.is-contextual { padding:21px; border-radius:21px; }
.workspace-shortcuts.is-contextual .workspace-shortcut { min-height:88px; padding:14px; }
.repository-space .workspace-shortcuts { margin-bottom:28px; }
.repository-space .repository-results {
  padding:clamp(20px,2.5vw,34px);
  border:1px solid rgba(50,56,58,.11);
  border-radius:26px;
  background:rgba(255,255,255,.86);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.repository-toolbar { border-radius:17px; background:rgba(239,239,235,.82); box-shadow:inset 0 0 0 1px rgba(42,47,49,.055); }
.repository-search-field,.repository-language-menu summary { border-radius:12px; background:rgba(255,255,255,.9); }
.table-scroll { border-radius:14px; }
.manual-workspace-panel,.declaration-workspace,.settings-space .workspace {
  padding:clamp(24px,3vw,42px);
  border:1px solid rgba(50,56,58,.11);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.manual-workspace-panel .manual-intro,.declaration-workspace .workspace-head {
  margin:-2px 0 12px;
  padding:6px 0 27px;
}
.manual-intro h2,.workspace-head h2 { font-size:clamp(28px,3.2vw,43px); letter-spacing:-.04em; }
.manual-collapsible { margin-top:10px; padding:0; border:1px solid rgba(44,49,51,.10); border-radius:16px; background:rgba(249,248,245,.75); }
.manual-collapsible .manual-section-head { margin:0; padding:18px 20px; }
.manual-collapsible .manual-section-body { padding:0 20px 24px; }
.manual-field input,.manual-field textarea,.manual-field select,.v2-field input,.v2-field textarea,.v2-field select { border-radius:11px; background:rgba(255,255,255,.92); }
.v2-space { background:var(--app-canvas-background); }
.v2-catalog-head {
  position:relative;
  overflow:hidden;
  padding:clamp(28px,4vw,54px);
  border:1px solid rgba(52,58,59,.12);
  border-radius:28px;
  background:linear-gradient(128deg,rgba(255,253,248,.97),rgba(249,244,234,.96) 63%,rgba(245,229,230,.93));
  box-shadow:var(--shadow-high);
}
.v2-catalog-head::after {
  content:"";
  position:absolute;
  right:-120px;
  bottom:-250px;
  width:430px;
  height:430px;
  border:62px solid rgba(176,32,40,.07);
  border-radius:50%;
  filter:blur(7px);
  pointer-events:none;
}
.v2-catalog-head > * { position:relative; z-index:1; }
.v2-catalog-head h2 { max-width:780px; font-size:clamp(40px,5vw,70px); line-height:.94; letter-spacing:-.055em; }
.v2-catalog-side,.v2-file-panel {
  border-color:rgba(45,51,53,.11);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
.v2-catalog-side { background:linear-gradient(155deg,rgba(230,238,239,.92),rgba(255,255,255,.76)); }
.v2-file-toolbar { background:rgba(248,247,244,.82); }
.v2-product-row:hover { background:var(--brand-soft); }
.v2-index-hero {
  border:1px solid rgba(52,58,59,.12);
  background:linear-gradient(128deg,#fffdf8,#f7efe2 63%,var(--brand-soft));
  color:var(--ink);
  box-shadow:var(--shadow-high);
}
.v2-index-mark { border-color:rgba(34,39,40,.12); }
.v2-kicker,.v2-index-eyebrow { color:var(--brand); }
.v2-panel,.v2-document-card,.v2-product-bar { border-color:rgba(45,51,53,.11); background:rgba(255,255,255,.86); box-shadow:var(--shadow); }
.v2-repository-filters { grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(118px,.7fr)) auto; width:min(100%,920px); }
.v2-repository-filters select { min-width:0; border:1px solid var(--line); border-radius:10px; background:#fff; padding:9px 10px; color:var(--ink); }
.v2-structure-section { margin-top:14px; }
.v2-structure-editor { padding:16px; border-top:1px solid rgba(45,51,53,.08); background:rgba(247,248,246,.72); }
.v2-structure-editor .review-structure-editor { margin:0; }
.v2-translation-workspace { margin-top:24px; padding-top:24px; border-top:1px solid rgba(45,51,53,.12); }
.v2-translation-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.v2-translation-head h4 { margin:3px 0 4px; font-size:23px; letter-spacing:-.035em; }
.v2-translation-head p { margin:0; color:var(--muted); font-size:12px; }
.v2-translation-create { display:flex; align-items:end; gap:9px; }
.v2-translation-create label,.v2-publication-language { display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.v2-translation-create select,.v2-publication-language select { min-height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:8px 34px 8px 11px; color:var(--ink); text-transform:none; }
.v2-translation-list { display:grid; gap:14px; }
.v2-translation-card { overflow:hidden; border:1px solid rgba(55,82,78,.13); border-radius:18px; background:linear-gradient(145deg,rgba(243,248,245,.94),rgba(255,255,255,.98)); box-shadow:0 16px 40px rgba(40,52,49,.07); content-visibility:auto; contain-intrinsic-size:auto 900px; }
.v2-translation-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 20px; border-bottom:1px solid rgba(45,51,53,.08); }
.v2-translation-card-head h5 { margin:3px 0; font-size:18px; }
.v2-translation-card-head p { margin:0; color:var(--muted); font-size:10px; }
.v2-translation-review-form { padding:18px 20px; }
.v2-translation-comparison { display:grid; gap:8px; }
.v2-translation-compare-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:10px; border:1px solid rgba(45,51,53,.08); border-radius:12px; background:rgba(255,255,255,.72); }
.v2-translation-compare-row > div,.v2-translation-compare-row > label { display:grid; align-content:start; gap:6px; min-width:0; }
.v2-translation-compare-row span { color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.v2-translation-compare-row p { min-height:38px; margin:0; padding:9px 10px; border-radius:9px; background:#f0f1ef; color:#555b5d; font-size:11px; line-height:1.45; white-space:pre-wrap; }
.v2-translation-compare-row input,.v2-translation-compare-row textarea { width:100%; min-height:38px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:9px 10px; color:var(--ink); font:inherit; font-size:11px; }
.v2-translation-compare-row textarea { min-height:74px; resize:vertical; }
.v2-translation-warning { color:var(--brand)!important; font-size:9px!important; text-transform:none!important; }
.v2-translation-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 20px; border-top:1px solid rgba(45,51,53,.08); background:rgba(234,241,237,.58); }
.v2-translation-actions > form:last-child { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.v2-publication-language { margin:16px 0 4px; }
.v2-publication-parties { margin-top:12px; border:1px solid rgba(45,51,53,.10); border-radius:13px; background:rgba(248,248,245,.78); }
.v2-publication-parties summary { display:flex; justify-content:space-between; padding:13px 14px; cursor:pointer; font-size:11px; font-weight:700; }
.v2-publication-parties summary span { color:var(--muted); font-size:9px; font-weight:500; text-transform:uppercase; }
.v2-party-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 14px 14px; }
.v2-party-grid label { display:grid; gap:5px; color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; }
.v2-party-grid input { width:100%; min-height:40px; border:1px solid var(--line); border-radius:9px; background:#fff; padding:8px 10px; color:var(--ink); font:inherit; text-transform:none; }
.v2-publication-check { display:grid; gap:4px; margin-top:13px; padding:11px 12px; border-radius:11px; background:#edf4ef; color:#315349; font-size:10px; }
.v2-publication-confirm { margin:12px 0; }
.v2-archive-form { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:12px; padding:11px 12px; border:1px solid rgba(176,32,40,.10); border-radius:11px; background:var(--brand-pale); color:var(--brand-text); font-size:9px; }
.v2-share-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:24px; align-items:start; }
.v2-share-form > label,.v2-delivery-form > label,.v2-delivery-editor label { display:grid; gap:6px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.v2-share-form input,.v2-share-form textarea,.v2-delivery-form input,.v2-delivery-form textarea,.v2-delivery-form select,.v2-delivery-editor input,.v2-delivery-editor textarea,.v2-delivery-editor select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:9px 11px; color:var(--ink); font:inherit; font-size:12px; text-transform:none; }
.v2-share-form textarea,.v2-delivery-form textarea,.v2-delivery-editor textarea { resize:vertical; }
.v2-share-versions,.v2-share-history { display:grid; gap:7px; }
.v2-share-version { display:grid; grid-template-columns:20px minmax(0,1fr); gap:9px; align-items:start; padding:11px 12px; border:1px solid rgba(45,51,53,.10); border-radius:11px; background:rgba(248,248,245,.82); cursor:pointer; }
.v2-share-version input { width:15px; min-height:15px; margin-top:2px; accent-color:var(--brand); }
.v2-share-version b,.v2-share-version small { display:block; }
.v2-share-version b { font-size:11px; }
.v2-share-version small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.4; }
.v2-share-history-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid rgba(45,51,53,.09); }
.v2-share-history-row:last-child { border-bottom:0; }
.v2-share-history-row b,.v2-share-history-row small { display:block; }
.v2-share-history-row b { font-size:11px; }
.v2-share-history-row small { margin-top:3px; color:var(--muted); font-size:9px; line-height:1.4; }
.v2-share-error { color:var(--brand)!important; }
.v2-share-state { padding:6px 8px; border-radius:999px; background:#edf4ef; color:#315349; font-size:8px; font-weight:800; text-transform:uppercase; }
.v2-history-head h3 { margin:0; font-size:15px; }
.v2-history-head p { margin:4px 0 10px; color:var(--muted); font-size:10px; }
.v2-delivery-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; padding:13px 0; border-bottom:1px solid rgba(45,51,53,.09); color:var(--ink); text-decoration:none; }
.v2-delivery-row:last-child { border-bottom:0; }
.v2-delivery-row b,.v2-delivery-row small { display:block; }
.v2-delivery-row b { font-size:12px; }
.v2-delivery-row small { margin-top:3px; color:var(--muted); font-size:9px; }
.v2-delivery-row > span:last-child { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.v2-delivery-layout { display:grid; grid-template-columns:minmax(310px,.62fr) minmax(0,1.38fr); gap:18px; align-items:start; }
.v2-delivery-form,.v2-delivery-editor { display:grid; gap:12px; }
.v2-delivery-editor { padding:20px; }
.v2-delivery-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.v2-delivery-meta > div { padding:13px; border:1px solid rgba(45,51,53,.10); border-radius:11px; background:rgba(248,248,245,.82); }
.v2-delivery-meta b,.v2-delivery-meta small { display:block; }
.v2-delivery-meta b { font-size:12px; }
.v2-delivery-meta small { margin-top:4px; color:var(--muted); font-size:9px; }
.v2-product-checks { display:grid; max-height:290px; overflow:auto; border:1px solid rgba(45,51,53,.11); border-radius:12px; background:#fff; }
.v2-product-check { display:grid; grid-template-columns:20px minmax(0,1fr); gap:9px; align-items:start; padding:11px 12px; border-bottom:1px solid rgba(45,51,53,.08); cursor:pointer; }
.v2-product-check:last-child { border-bottom:0; }
.v2-product-check input { width:15px; min-height:15px; margin-top:1px; accent-color:var(--brand); }
.v2-product-check b,.v2-product-check small { display:inline; }
.v2-product-check b { font-size:11px; }
.v2-product-check small { margin-left:6px; color:var(--muted); font-size:9px; }
.v2-product-check > span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v2-delivery-block { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1.58fr); gap:10px; padding:12px; border:1px solid rgba(45,51,53,.10); border-radius:12px; background:rgba(248,248,245,.72); }
.v2-delivery-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; flex-wrap:wrap; }
.v2-delivery-versions { display:flex; gap:8px; flex-wrap:wrap; }
.v2-empty.compact { padding:18px 14px; font-size:10px; }
.login-panel {
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:rgba(255,255,255,.80);
  box-shadow:var(--shadow-high),inset 0 0 0 1px rgba(38,43,45,.04);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}
@keyframes sixg-rise {
  from { opacity:.72; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}

@media (max-width:1180px) {
  .workspace-shortcut-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1100px) {
  .v2-hero,.v2-grid,.v2-stage-grid { grid-template-columns:1fr; }
  .v2-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .v2-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-data-field.is-wide { grid-column:span 2; }
  .v2-publication-workbench { grid-template-columns:1fr; }
  .v2-preview-shell { min-height:540px; }
  .v2-preview-shell iframe { height:560px; }
  .v2-repository-filters { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .v2-repository-filters input { grid-column:1 / -1; }
  .v2-share-grid,.v2-delivery-layout { grid-template-columns:1fr; }
  .v2-file-panel .v2-product-row { grid-template-columns:32px minmax(160px,1fr) minmax(230px,.9fr) 25px; }
  .v2-row-state { display:none; }
}

@media (max-width: 980px) {
  .repository-upload-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .repository-toolbar { grid-template-columns:1fr auto; }
  .repository-search { grid-column:1 / -1; }
  .profile-row { grid-template-columns:10px minmax(0,1fr) auto; }
  .profile-row .profile-signature { display:none; }
  .translation-card { grid-template-columns:1fr; align-items:stretch; }
  .translation-card-copy { grid-column:auto; }
  .translation-card-controls { width:100%; grid-template-columns:auto minmax(170px,1fr) minmax(150px,auto); justify-content:stretch; }
  .v2-layouts { grid-template-columns:1fr; }
  .v2-source-workspace { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .page { padding:14px 16px 34px; }
  .topbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
  .topbar .brand { min-width:0; }
  .brand-copy h1 { font-size:19px; }
  .brand-copy p { display:none; }
  .brand-logo { width:54px; height:50px; }
  .brand-logo img { width:48px; }
  .topbar .header-actions > .ghost { padding:10px 12px; font-size:12px; }
  .topbar .header-actions > .ghost { max-width:88px; white-space:normal; text-align:center; line-height:1.2; }
  .workspace-shortcuts { grid-template-columns:1fr; padding:16px; }
  .workspace-shortcut-list { grid-template-columns:1fr; }
  .workflow-guide { align-items:flex-start; flex-direction:column; gap:8px; }
  .workflow-guide p { flex-wrap:wrap; }
  .workflow-guide small { max-width:none; text-align:left; }
  .settings-context { grid-template-columns:1fr; gap:7px; }
  .uploader { padding:18px; }
  .uploader-head { align-items:flex-start; flex-direction:column; }
  .uploader-head .pill { align-self:flex-start; }
  .drop { padding:30px 18px; }
  .review-toolbar,.repository-admin-head,.declaration-result { align-items:flex-start; flex-direction:column; }
  .repository-admin-head .action-group { width:100%; }
  .source-preview { width:100%; justify-content:center; }
  .repository-admin.is-open { position:relative; top:auto; max-height:none; padding:16px; overflow:visible; }
  .repository-admin.is-open .repository-admin-head p { display:block; }
  .repository-upload-fields,.repository-upload-actions-row { grid-template-columns:1fr; }
  .repository-upload-submit { min-height:48px; }
  .repository-toolbar { grid-template-columns:1fr; align-items:stretch; }
  .repository-toolbar.is-external { grid-template-columns:1fr; }
  .repository-search { grid-column:auto; grid-template-columns:1fr; }
  .repository-filters { justify-self:start; max-width:100%; overflow-x:auto; }
  .repository-toolbar-actions { justify-content:flex-start; flex-wrap:wrap; }
  .repository-toolbar-actions .ghost { flex:1 1 auto; }
  .repository-selection-bar { align-items:stretch; flex-wrap:wrap; }
  .repository-selection-bar > span { display:none; }
  .repository-selection-bar .bulk-language { flex:1 1 auto; }
  .new-document-menu > div { position:fixed; top:auto; right:16px; bottom:16px; left:16px; width:auto; }
  .profile-examples { grid-template-columns:1fr; }
  .custom-field-row { grid-template-columns:1fr; }
  .review-actions { align-items:stretch; flex-direction:column; }
  .review-actions .primary,.review-actions .ghost { width:100%; }
  .translation-card { grid-template-columns:1fr; align-items:stretch; padding:13px; }
  .translation-card-copy { grid-column:auto; }
  .translation-card-controls { grid-template-columns:1fr; align-items:stretch; }
  .translation-toggle { justify-content:flex-start; }
  .translation-target { width:100%; }
  .translation-preview-action { width:100%; }
  .translation-progress { grid-template-columns:1fr; }
  .translation-progress-meta { grid-column:1; grid-row:auto; justify-content:space-between; }
  .language-version-switch { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .translation-summary { grid-template-columns:1fr; }
  .translation-summary.is-full { grid-template-columns:1fr; }
  .review-block-list-head { align-items:flex-start; flex-direction:column; gap:3px; }
  .manual-collapsible .manual-section-head { grid-template-columns:1fr; gap:8px; }
  .manual-generation-progress { right:16px; bottom:16px; left:16px; width:auto; }
  .legal-bases-toolbar { align-items:flex-start; flex-direction:column; }
  .legal-basis-option { grid-template-columns:22px minmax(0,1fr); }
  .legal-basis-actions { grid-column:2; justify-content:flex-end; padding-top:0; }
  .manual-translation-box { grid-template-columns:1fr; align-items:stretch; }
  .v2-catalog-head { align-items:stretch; flex-direction:column; }
  .v2-catalog-head .v2-create-menu,.v2-create-menu > summary { width:100%; text-align:center; }
  .v2-create-popover { position:relative; top:8px; width:100%; }
  .v2-catalog-layout { grid-template-columns:1fr; }
  .v2-catalog-side { position:relative; top:auto; grid-template-columns:1fr 1fr; }
  .v2-side-title,.v2-group-settings { grid-column:1 / -1; }
  .v2-catalog-side > span:nth-of-type(2) { display:none; }
  .v2-file-toolbar { align-items:stretch; flex-direction:column; }
  .v2-search { grid-template-columns:minmax(0,1fr) auto; }
  .v2-file-panel .v2-product-row { grid-template-columns:28px minmax(0,1fr) 22px; padding:13px 14px; }
  .v2-row-summary,.v2-row-state { display:none; }
  .v2-product-bar { grid-template-columns:38px minmax(0,1fr); padding:15px; }
  .v2-progress-label { display:none; }
  .v2-stage-title { align-items:stretch; flex-direction:column; }
  .v2-hero { padding:24px 20px; }
  .v2-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-product-row { grid-template-columns:1fr auto; gap:8px; }
  .v2-product-row .v2-index-code { grid-column:1 / -1; }
  .v2-index-hero { align-items:flex-start; flex-direction:column; padding:23px 20px; }
  .v2-index-mark { padding:0; border:0; text-align:left; }
  .v2-stepper { position:relative; grid-template-columns:1fr; }
  .v2-step-link small { display:none; }
  .v2-field-grid { grid-template-columns:1fr; }
  .v2-data-field.is-wide { grid-column:auto; }
  .v2-document-actions { align-items:stretch; flex-direction:column; }
  .v2-document-actions > div,.v2-document-actions form { width:100%; }
  .v2-document-actions .primary,.v2-document-actions .ghost { flex:1 1 auto; }
  .v2-form-row { grid-template-columns:1fr; }
  .v2-preview-shell { min-height:470px; border-radius:10px; }
  .v2-preview-shell iframe { height:500px; }
  .v2-publish-actions { grid-template-columns:1fr; }
  .v2-repository-filters { grid-template-columns:1fr; }
  .v2-repository-filters input { grid-column:auto; }
  .v2-translation-head,.v2-translation-actions,.v2-translation-actions > form:last-child,.v2-archive-form { align-items:stretch; flex-direction:column; }
  .v2-translation-create { align-items:stretch; flex-direction:column; width:100%; }
  .v2-translation-compare-row,.v2-party-grid { grid-template-columns:1fr; }
  .v2-control-report ul { grid-template-columns:1fr; }
  .v2-share-history-row { grid-template-columns:minmax(0,1fr) auto; }
  .v2-share-history-row form { grid-column:1 / -1; }
  .v2-delivery-meta,.v2-delivery-block { grid-template-columns:1fr; }
  .v2-delivery-actions { align-items:stretch; flex-direction:column; }
  .v2-delivery-actions .primary,.v2-delivery-actions .ghost { width:100%; }
}
@media (max-width:900px) and (min-width:721px) {
  .drop { grid-template-columns:64px minmax(0,1fr); grid-template-rows:auto auto auto auto; padding:34px; }
  .drop-upload-mark { width:60px; height:60px; }
  .drop-actions { grid-column:2; grid-row:3; margin-top:10px; }
  .drop .caption { grid-column:2; grid-row:4; }
}
@media (max-width:720px) {
  body { background-attachment:scroll; }
  body::after { background-size:48px 48px; opacity:.24; }
  .page { padding:16px 16px 38px; }
  .topbar { min-height:64px; margin-bottom:20px; padding-top:7px; }
  .brand { gap:10px; }
  .brand-logo { width:54px; height:54px; border-radius:16px; }
  .brand-logo img { width:49px; }
  .brand-copy h1 { font-size:19px; line-height:1.05; }
  .topbar .header-actions > .ghost { min-height:42px; border-radius:12px; }
  .generator-space .uploader { padding:22px 18px 18px; border-radius:23px; }
  .generator-space .uploader::before { width:280px; height:280px; top:-205px; right:-120px; border-width:42px; }
  .uploader-head { gap:14px; margin-bottom:20px; }
  .uploader-kicker { margin-bottom:9px; font-size:9px; }
  .uploader-head h2 { font-size:42px; }
  .uploader-head p { margin-top:12px; font-size:14px; line-height:1.55; }
  .uploader-head .pill { margin:0; }
  .drop { display:flex; min-height:0; align-items:flex-start; gap:0; padding:28px 20px; border-radius:18px; }
  .drop-upload-mark { width:58px; height:58px; margin:0 0 23px; border-radius:16px; font-size:28px; }
  .drop strong { margin:0 0 12px; font-size:27px; line-height:1.05; }
  .drop p { margin:0 0 18px; font-size:14px; }
  .drop-actions { width:100%; margin:0 0 12px; }
  .drop-cta { width:100%; min-height:52px; }
  .drop .caption { margin:0; }
  .generator-space .uploader .actions { justify-content:stretch; }
  .generator-space .uploader .action-group { display:grid; width:100%; grid-template-columns:1fr; }
  .generator-space .uploader .primary,.generator-space .uploader .ghost { width:100%; }
  .workspace-shortcuts { gap:17px; margin-top:18px; padding:19px; border-radius:21px; }
  .workspace-shortcuts-copy { align-items:flex-start; flex-direction:column; gap:7px; }
  .workspace-shortcuts-copy p { max-width:none; text-align:left; }
  .workspace-shortcut { min-height:88px; padding:14px; border-radius:16px; }
  .workspace-shortcuts.is-contextual { padding:16px; }
  .workspace-shortcuts.is-contextual .workspace-shortcuts-copy p { display:none; }
  .workspace-shortcuts.is-contextual .workspace-shortcut-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .workspace-shortcuts.is-contextual .workspace-shortcut { grid-template-columns:34px minmax(0,1fr); gap:8px; min-height:70px; padding:10px; border-radius:14px; }
  .workspace-shortcuts.is-contextual .workspace-shortcut-mark { width:33px; height:33px; border-radius:10px; font-size:13px; }
  .workspace-shortcuts.is-contextual .workspace-shortcut b { font-size:10px; }
  .workspace-shortcuts.is-contextual .workspace-shortcut small { display:none; }
  .manual-workspace-panel,.declaration-workspace,.settings-space .workspace { padding:20px; border-radius:22px; }
  .manual-intro h2,.workspace-head h2 { font-size:31px; }
  .repository-space .repository-results { padding:17px; border-radius:21px; }
  .v2-catalog-head { padding:27px 22px; border-radius:23px; }
  .v2-catalog-head h2 { font-size:43px; }
  .v2-catalog-side,.v2-file-panel { border-radius:19px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
