/* ============================================================
   CHIMI · Capa de rediseño 2026
   Sistema de movimiento, ritmo de pasos, tipografía de precisión,
   iconos SVG y edición in-situ. Se carga DESPUÉS de estilo.css
   para sobreescribir sin tocar la base.
   ============================================================ */

:root{
  /* Acento único periwinkle (colapsa el antiguo azul+morado) */
  --accent:#6f7cf5;
  --accent-strong:#5a67e8;
  --accent-soft:#8b96f8;
  --accent-bg:#1a1f3d;
  --accent-line:#2f3670;
  --ink-on-accent:#0b1030;

  /* Superficies con tinte frío consistente */
  --bg:#0f1014;
  --surface:#17181f;
  --surface-2:#1e1f28;
  --surface-3:#282a35;
  --border:#2c2e3c;
  --text:#eceef5;
  --muted:#a7abbd;
  --faint:#71768c;

  /* Tipografía: mono de precisión para display y etiquetas */
  --font-display:"JetBrains Mono","DM Sans",monospace;
  --font-technical:"JetBrains Mono",monospace;
  --font-mono:"JetBrains Mono",monospace;

  /* Radios y sombra tintada */
  --radius:10px;
  --radius-lg:14px;
  --shadow-1:0 1px 2px rgba(8,10,25,.4);
  --shadow-2:0 8px 24px -8px rgba(10,12,40,.55);
  --shadow-pop:0 16px 40px -12px rgba(10,12,40,.7);

  /* Motion */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --dur:.22s;
  --dur-slow:.42s;
}

*{ -webkit-tap-highlight-color:transparent; }
.skip-link{ position:fixed; left:12px; top:-60px; z-index:400; padding:9px 14px; border-radius:8px;
  background:var(--accent); color:var(--ink-on-accent); font:600 12px var(--font-mono);
  transition:top var(--dur) var(--ease); }
.skip-link:focus{ top:12px; }
html{ scroll-behavior:smooth; }
::selection{ background:var(--accent); color:#fff; }
body{ background:
  radial-gradient(1100px 620px at 82% -8%, #1a1e3a55, transparent 60%),
  radial-gradient(900px 500px at -6% 100%, #14162b66, transparent 55%),
  var(--bg); }

/* Foco accesible y consistente */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,
[contenteditable]:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:6px;
}

/* ---------- Iconos SVG ---------- */
.ico{ width:18px; height:18px; flex:none; display:inline-block; vertical-align:-.22em;
  fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ico.ok{ stroke:var(--ok); }
.top-actions > a .ico, .top-actions > button .ico{ width:20px; height:20px; }
.audio-breadcrumb .ico{ width:14px; height:14px; }
.empty-task .ico,.media-empty .ico,.source-drop .ico,.media-drop .ico{ width:30px; height:30px; stroke-width:1.5; }
.logo .ico{ width:18px; height:18px; stroke:var(--ink-on-accent); }
.nav-new .ico,.primary-action .ico{ stroke:var(--ink-on-accent); }
.nav-item.activo .ico{ stroke:var(--ink-on-accent); }

/* ---------- Tipografía ---------- */
h1,h2,h3{ font-family:var(--font-display); letter-spacing:-.02em; text-wrap:balance; }
h1{ font-weight:700; }
.brand b,.project-current b{ font-family:var(--font-display); letter-spacing:-.01em; }
.nav-seccion,.workflow-label,.section-heading > strong,.overview-metrics span,
.metrica .lbl,.status-badge,.stepper__meta{
  font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.overview-metrics b,.metrica .val,.metrica .val small{ font-variant-numeric:tabular-nums; letter-spacing:-.02em; }

/* ---------- Superficies / tarjetas ---------- */
.tarjeta,.overview-card,.input-card,.pipeline-panel,.activity-log,
.active-tasks,.stage-list,.media-card,.recommended,.source-import,
.extracted-list,.clean-preview{
  border-color:var(--border); box-shadow:var(--shadow-1);
  transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.input-card:hover,.media-card:hover,.overview-card:hover{
  border-color:#3a3d55; box-shadow:var(--shadow-2); transform:translateY(-2px); }
.overview-metrics > div{ transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.overview-metrics > div:hover{ border-color:var(--accent-line); transform:translateY(-2px); }

/* ---------- Navegación ---------- */
.nav-item{ position:relative; transition:color var(--dur) var(--ease), background var(--dur) var(--ease); }
.nav-item::before{ content:""; position:absolute; left:-14px; top:50%; width:3px; height:0;
  border-radius:0 3px 3px 0; background:var(--accent); transform:translateY(-50%);
  transition:height var(--dur) var(--spring); }
.nav-item:hover::before{ height:16px; }
.nav-item.activo{ background:var(--accent); color:var(--ink-on-accent); }
.nav-item.activo::before{ height:26px; }
.nav-new,.primary-action,.continue-action,.btn-primario{ transition:transform var(--dur) var(--spring), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.nav-new:hover,.btn-primario:hover,.primary-action:hover{ transform:translateY(-1px); box-shadow:0 6px 18px -6px var(--accent); }
.nav-new:active,.btn-primario:active,.primary-action:active,.continue-action:active,.boton:active{ transform:translateY(1px) scale(.99); }
.continue-action{ background:var(--accent); color:var(--ink-on-accent); font-weight:600; }
.continue-action:hover{ background:var(--accent-strong); transform:translateY(-1px); }

/* ---------- Entrada por pasos (stagger) ---------- */
@media (prefers-reduced-motion:no-preference){
  .reveal{ opacity:0; transform:translateY(10px); }
  .reveal.in{ opacity:1; transform:none; transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
}

/* ============================================================
   RITMO DE PASOS — barra persistente bajo el topbar
   ============================================================ */
.stepper{ position:sticky; top:64px; z-index:12; display:flex; align-items:center; gap:16px;
  padding:10px 24px; background:color-mix(in srgb, var(--bg) 86%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.stepper__bar{ position:relative; flex:1; height:4px; border-radius:4px; background:var(--surface-3); overflow:hidden; }
.stepper__fill{ position:absolute; inset:0 auto 0 0; border-radius:4px;
  background:linear-gradient(90deg,var(--accent-soft),var(--accent));
  transition:width var(--dur-slow) var(--ease-out); }
.stepper__meta{ color:var(--muted); font-size:11px; white-space:nowrap; }
.stepper__meta b{ color:var(--text); }
.stepper__dots{ display:flex; gap:5px; }
.stepper__dot{ width:7px; height:7px; border-radius:50%; background:var(--surface-3);
  transition:background var(--dur) var(--ease), transform var(--dur) var(--spring); }
.stepper__dot.done{ background:var(--ok); }
.stepper__dot.now{ background:var(--accent); transform:scale(1.5); box-shadow:0 0 0 4px var(--accent-bg); }
.stepper__nav{ display:flex; gap:6px; }
.stepper__nav a{ display:grid; place-items:center; width:30px; height:30px; border-radius:8px;
  border:1px solid var(--border); color:var(--muted); transition:all var(--dur) var(--ease); }
.stepper__nav a:hover{ border-color:var(--accent); color:var(--text); background:var(--surface-2); }
.stepper__nav a[aria-disabled]{ opacity:.35; pointer-events:none; }
@media(max-width:720px){ .stepper__meta,.stepper__dots{ display:none; } }

/* ============================================================
   SPINNER + ESTADO "EJECUTANDO"
   ============================================================ */
@keyframes chimi-spin{ to{ transform:rotate(360deg); } }
@keyframes chimi-dash{ 0%{ stroke-dashoffset:60; } 100%{ stroke-dashoffset:-60; } }
@keyframes chimi-indeterminate{ 0%{ left:-40%; width:40%; } 50%{ width:55%; } 100%{ left:100%; width:40%; } }
@keyframes chimi-pulse-ring{ 0%{ box-shadow:0 0 0 0 var(--accent-bg); } 70%{ box-shadow:0 0 0 8px transparent; } 100%{ box-shadow:0 0 0 0 transparent; } }
@keyframes chimi-pop{ 0%{ transform:scale(.9); opacity:0; } 100%{ transform:scale(1); opacity:1; } }
@keyframes chimi-fade-up{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

.spinner{ width:16px; height:16px; border-radius:50%;
  border:2px solid color-mix(in srgb,currentColor 25%,transparent);
  border-top-color:currentColor; animation:chimi-spin .7s linear infinite; display:inline-block; }
.spinner--lg{ width:34px; height:34px; border-width:3px; }

/* Cualquier botón/acción en carga */
.is-loading{ position:relative; pointer-events:none; color:transparent !important; }
.is-loading > *{ visibility:hidden; }
.is-loading::after{ content:""; position:absolute; inset:0; margin:auto;
  width:16px; height:16px; border-radius:50%;
  border:2px solid color-mix(in srgb,var(--ink-on-accent) 40%,transparent);
  border-top-color:var(--ink-on-accent); animation:chimi-spin .7s linear infinite; }
.is-loading.ghost::after,.is-loading.boton::after{ border-color:color-mix(in srgb,var(--text) 30%,transparent); border-top-color:var(--text); }

/* Overlay de ejecución de una etapa */
.run-overlay{ position:fixed; inset:0; z-index:200; display:grid; place-items:center;
  background:color-mix(in srgb,var(--bg) 74%,transparent); backdrop-filter:blur(6px);
  animation:chimi-fade-up .2s var(--ease-out); }
.run-overlay[hidden]{ display:none; }
.run-card{ width:min(360px,86vw); padding:26px; text-align:center; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-pop);
  animation:chimi-pop .28s var(--spring); }
.run-card .ring{ width:52px; height:52px; margin:0 auto 16px; }
.run-card .ring circle{ fill:none; stroke:var(--surface-3); stroke-width:4; }
.run-card .ring .arc{ stroke:var(--accent); stroke-width:4; stroke-linecap:round;
  stroke-dasharray:60 140; animation:chimi-spin .9s linear infinite; transform-origin:center; }
.run-card b{ display:block; font-family:var(--font-display); font-size:15px; }
.run-card small{ display:block; margin-top:6px; color:var(--muted); font:11px/1.5 var(--font-mono); }
.run-progress-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:var(--faint);font:500 10px/1 var(--font-mono);letter-spacing:.08em}.run-progress-head strong{color:var(--accent);font:600 12px/1 var(--font-mono);letter-spacing:0}
.run-progress-head>span{width:auto!important;height:auto!important;background:transparent!important;color:var(--faint)!important}
.run-track{ position:relative; height:6px; margin-top:8px; border-radius:4px; background:var(--surface-3); overflow:hidden; }
.run-track>span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));transition:width .55s var(--ease-out)}
.run-track.indeterminate>span{width:36%!important;animation:run-indeterminate 1.15s ease-in-out infinite;transition:none}@keyframes run-indeterminate{from{transform:translateX(-110%)}to{transform:translateX(310%)}}

/* Etapa "procesando" en el track del pipeline */
.pipe-step.corriendo i,.stage-state.corriendo{ border-color:var(--accent); color:var(--accent);
  animation:chimi-pulse-ring 1.4s ease-out infinite; }

/* ============================================================
   EDICIÓN IN-SITU (click-to-edit + autoguardado)
   ============================================================ */
.edit{ position:relative; cursor:text; border-radius:6px; padding:1px 5px; margin:-1px -5px;
  outline:1px solid transparent; transition:background var(--dur) var(--ease), outline-color var(--dur) var(--ease); }
.edit:hover{ background:var(--surface-2); outline-color:var(--border); }
.edit:hover::after{ content:""; position:absolute; right:-16px; top:50%; width:12px; height:12px;
  transform:translateY(-50%); opacity:.6;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.edit:focus{ background:var(--surface-2); outline:2px solid var(--accent); outline-offset:1px; }
.edit.saving{ outline-color:var(--accent); }
.edit.saved{ animation:edit-saved 1s var(--ease); }
@keyframes edit-saved{ 0%{ background:var(--ok-bg); } 100%{ background:transparent; } }

/* ============================================================
   CAMPO EDITABLE: bloqueado por defecto → lápiz activa edición →
   "Guardar texto" guarda y vuelve a bloquear.
   ============================================================ */
.field-inline{ position:relative; }
.field-inline .editor-narr{ width:100%; border-radius:10px;
  transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
/* Estado bloqueado: se ve como texto, con lápiz al costado */
.field-inline.locked .editor-narr{ padding-right:48px; background:transparent; border-color:transparent;
  color:var(--text); resize:none; cursor:default; }
.field-inline.locked:hover .editor-narr{ border-color:var(--border); background:#ffffff05; }
/* Estado edición: caja activa clara */
.field-inline:not(.locked) .editor-narr{ background:var(--bg); border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-bg); resize:vertical; }
.field-inline__pen{ position:absolute; top:8px; right:8px; width:32px; height:32px; display:grid; place-items:center;
  border:1px solid var(--border); border-radius:9px; background:var(--surface-2); color:var(--muted); cursor:pointer;
  opacity:0; transition:opacity var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--spring); }
.field-inline.locked:hover .field-inline__pen,.field-inline__pen:focus-visible{ opacity:1; }
.field-inline__pen:hover{ border-color:var(--accent); color:var(--text); transform:translateY(-1px); }
.field-inline__pen .ico{ width:16px; height:16px; }
.field-inline:not(.locked) .field-inline__pen{ display:none; }
.field-inline__actions{ display:flex; justify-content:flex-end; align-items:center; gap:8px; margin-top:10px;
  animation:chimi-fade-up .18s var(--ease-out); }
.field-inline.locked .field-inline__actions{ display:none; }
.field-cancel{ padding:8px 14px; border:1px solid var(--border); border-radius:9px; background:transparent;
  color:var(--muted); font:600 12px var(--font-mono); cursor:pointer; transition:all var(--dur) var(--ease); }
.field-cancel:hover{ color:var(--text); border-color:#3a3d55; }
.field-save{ display:inline-flex; align-items:center; gap:7px; }

/* ============================================================
   TRANSCRIPCIÓN: botón Transcribir contextual + orador editable
   ============================================================ */
#form-transcribir{ margin:0 0 0 auto; }
.transcribe-btn{ display:inline-flex; align-items:center; gap:7px; padding:8px 14px;
  border:1px solid var(--accent); border-radius:9px; background:var(--accent); color:var(--ink-on-accent);
  font:600 12px var(--font-mono); cursor:pointer;
  transition:transform var(--dur) var(--spring), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.transcribe-btn:hover{ background:var(--accent-strong); transform:translateY(-1px); box-shadow:0 6px 16px -6px var(--accent); }
.transcribe-btn .ico{ width:16px; height:16px; stroke:var(--ink-on-accent); }
.transcribe-btn.done{ background:var(--surface-2); border-color:var(--border); color:var(--faint);
  cursor:not-allowed; transform:none; box-shadow:none; opacity:.75; }
.transcribe-btn.done .ico{ stroke:var(--ok); }

.transcript-segment{ cursor:pointer; }
.seg-speaker{ display:inline-flex; align-items:center; gap:5px; }
.speaker-chip{ cursor:pointer; }
.speaker-chip.editing{ outline:2px solid var(--accent); outline-offset:1px;
  background:var(--surface-2)!important; color:var(--text)!important; cursor:text; }
.speaker-chip.saving{ opacity:.55; }
.speaker-chip.saved{ animation:edit-saved 1s var(--ease); }
.speaker-edit{ display:inline-grid; place-items:center; width:22px; height:22px; padding:0; border:0; border-radius:6px;
  background:transparent; color:var(--faint); opacity:0; cursor:pointer;
  transition:opacity var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease); }
.transcript-segment:hover .speaker-edit,.speaker-chip.editing ~ .speaker-edit{ opacity:1; }
.speaker-edit:hover{ color:var(--accent); background:var(--surface-2); }
.speaker-edit .ico{ width:13px; height:13px; }

/* ============================================================
   BLOQUES DE REVISIÓN — tarjetas 2026
   ============================================================ */
.script-list{ display:grid; gap:14px; }
.rev-block{ display:grid; grid-template-columns:auto 1fr; gap:16px; padding:16px 18px;
  border:1px solid var(--border); border-left:3px solid transparent; border-radius:16px;
  background:var(--surface); box-shadow:var(--shadow-1);
  transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.rev-block:hover{ box-shadow:var(--shadow-2); }
.rev-block.narr{ border-left-color:var(--accent); }
.rev-block.ret{ border-left-color:var(--retazo); }
.rev-block.is-ok{ border-left-color:var(--ok); }
.rev-block.is-off{ opacity:.55; }
.rev-badge{ width:42px; height:42px; display:grid; place-items:center; border-radius:12px; }
.rev-badge .ico{ width:20px; height:20px; }
.rev-badge.narr{ background:var(--accent-bg); color:var(--accent-soft); }
.rev-badge.ret{ background:var(--retazo-bg); color:var(--retazo); }
.rev-main{ min-width:0; display:grid; gap:12px; }
.rev-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.rev-title{ display:flex; align-items:baseline; gap:10px; }
.rev-type{ font:600 12px var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--text); }
.rev-range{ font:11px var(--font-mono); color:var(--faint); }
.rev-tools{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ok); font-style:normal; }
.rev-chip{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:8px;
  border:1px solid var(--border); background:var(--surface-2); color:var(--muted); font:11px var(--font-mono); }
.rev-chip.dur{ color:var(--text); }
.rev-state{ padding:4px 10px; border-radius:8px; font:600 10px var(--font-mono); text-transform:uppercase; letter-spacing:.06em; }
.rev-state.ok{ background:var(--ok-bg); color:var(--ok); }
.rev-state.warn{ background:var(--warn-bg); color:var(--warn); }
.rev-state.err{ background:var(--err-bg); color:var(--err); }
.rev-state.idle{ background:var(--surface-2); color:var(--faint); }
.rev-textbox .editor-narr{ border-radius:12px; }
.rev-textbox.locked .editor-narr{ background:var(--bg); border-color:var(--border); color:var(--text); }
.rev-textbox.locked:hover .editor-narr{ border-color:#3a3d55; }
.rev-foot{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.rev-flag{ display:inline-flex; align-items:center; gap:6px; font:11px var(--font-mono); color:var(--muted); }
.rev-flag .ico{ width:15px; height:15px; }
.rev-flag.ok{ color:var(--ok); }
.rev-flag.ok .ico{ stroke:var(--ok); }
.rev-audio{ height:34px; flex:1; min-width:180px; max-width:340px; }
.rev-pron{ font:11px var(--font-mono); color:var(--muted); }
.rev-clip{ display:grid; grid-template-columns:150px 1fr; gap:14px; }
.rev-thumb{ position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:10px;
  background:#000; border:1px solid var(--border); }
.rev-thumb video{ width:100%; height:100%; object-fit:cover; }
.rev-thumb-src{ position:absolute; left:6px; bottom:6px; padding:2px 6px; border-radius:5px;
  background:#000a; color:#fff; font:9px var(--font-mono); }
.rev-clip-body{ min-width:0; display:grid; gap:8px; align-content:start; }
.rev-speaker{ display:inline-flex; align-items:center; gap:7px; font:600 12px var(--font-ui); color:var(--text); }
.rev-clip-body blockquote{ margin:0; padding-left:12px; border-left:2px solid var(--border);
  color:var(--muted); font-style:italic; line-height:1.5; }
.rev-inout{ display:flex; gap:8px; }
.rev-inout span{ padding:3px 8px; border-radius:6px; background:var(--surface-2); color:var(--faint); font:10px var(--font-mono); }
.acts__btn.icon{ width:34px; height:34px; padding:0; justify-content:center; }
.acts__btn.icon .ico{ width:18px; height:18px; }
.ghost-primary{ background:transparent; color:var(--accent); border-color:var(--accent-line); }
.ghost-primary:hover{ background:var(--accent-bg); box-shadow:none; }
.ghost-primary .ico{ stroke:var(--accent); }
@media(max-width:660px){ .rev-block{ grid-template-columns:1fr; } .rev-badge{ display:none; } .rev-clip{ grid-template-columns:1fr; } }

/* ============================================================
   MEDIA LIBRARY + EDITOR 2026
   ============================================================ */
.ml{ display:grid; gap:20px; }
.ml-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ml-head h1{ font-size:30px; }
.ml-actions{ display:flex; gap:10px; }
.ml-btn{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:10px;
  border:1px solid var(--border); background:var(--surface-2); color:var(--text);
  font:600 13px var(--font-ui); cursor:pointer; transition:all var(--dur) var(--ease); }
.ml-btn:hover{ border-color:#3a3d55; transform:translateY(-1px); }
.ml-btn .ico{ width:17px; height:17px; }
.ml-btn.primary{ background:var(--accent); border-color:var(--accent); color:var(--ink-on-accent); }
.ml-btn.primary:hover{ background:var(--accent-strong); box-shadow:0 6px 18px -6px var(--accent); }
.ml-btn.primary .ico{ stroke:var(--ink-on-accent); }

.ml-url{ padding:18px 20px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.ml-label{ display:block; margin-bottom:10px; font:600 11px var(--font-mono); text-transform:uppercase; letter-spacing:.12em; color:var(--faint); }
.ml-url-row{ display:flex; gap:10px; }
.ml-input{ flex:1; display:flex; align-items:center; gap:8px; padding:0 12px; border:1px solid var(--border);
  border-radius:10px; background:var(--bg); transition:border-color var(--dur) var(--ease); }
.ml-input:focus-within{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg); }
.ml-input .ico{ width:16px; height:16px; color:var(--faint); }
.ml-input input{ flex:1; border:0; background:transparent; padding:12px 0; font-family:var(--font-mono); }
.ml-input input:focus{ outline:none; }
.ml-analyze{ display:inline-flex; align-items:center; gap:8px; padding:0 20px; border-radius:10px;
  border:1px solid #2f8f66; background:#1f8a5e; color:#eafff5; font:600 13px var(--font-ui); cursor:pointer;
  transition:transform var(--dur) var(--spring), background var(--dur) var(--ease); }
.ml-analyze:hover{ background:#22a06e; transform:translateY(-1px); }
.ml-analyze .ico{ width:16px; height:16px; stroke:#eafff5; }
.ml-note{ margin:12px 0 0; font:11px var(--font-mono); color:var(--muted); }
.ml-note.err{ color:var(--err); }

.ml-editor[hidden],.ml-timeline[hidden]{ display:none; }
.ml-editor{ display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:16px; }
.ml-player{ border:1px solid var(--border); border-radius:14px; overflow:hidden; background:#0a0b10; }
.ml-video-wrap{ position:relative; aspect-ratio:16/9; background:#000; display:grid; place-items:center; }
.ml-video-wrap video,.ml-poster{ width:100%; height:100%; object-fit:contain; }
.ml-playbtn{ position:absolute; inset:0; margin:auto; width:64px; height:64px; display:grid; place-items:center;
  border:0; border-radius:18px; background:color-mix(in srgb, var(--accent) 88%, #fff); color:var(--ink-on-accent);
  cursor:pointer; box-shadow:0 10px 30px -8px #000a; transition:transform var(--dur) var(--spring), opacity var(--dur) var(--ease); }
.ml-playbtn:hover{ transform:scale(1.06); }
.ml-playbtn.playing{ opacity:0; pointer-events:none; }
.ml-playbtn .ico{ width:26px; height:26px; stroke:none; fill:var(--ink-on-accent); }
.ml-transport{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; }
.ml-tname{ overflow:hidden; color:var(--muted); font:12px var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.ml-time{ color:var(--faint); font:12px var(--font-mono); white-space:nowrap; }

.ml-trim{ display:flex; flex-direction:column; gap:16px; padding:18px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.ml-trim-head{ display:flex; align-items:center; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid var(--border); }
.ml-trim-head span:first-child{ display:inline-flex; align-items:center; gap:8px; font:600 13px var(--font-mono); }
.ml-trim-head .ico{ width:16px; height:16px; color:var(--accent); }
.ml-badge{ padding:3px 9px; border-radius:6px; background:var(--retazo-bg); color:var(--retazo); font:700 9px var(--font-mono); letter-spacing:.1em; }
.ml-inout{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ml-field label{ display:block; margin-bottom:6px; font:10px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--faint); }
.ml-field input{ width:100%; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--bg);
  color:var(--text); font:600 14px var(--font-mono); text-align:center; }
.ml-fstep{ display:flex; gap:4px; margin-top:6px; }
.ml-fstep button{ flex:1; padding:5px 0; border:1px solid var(--border); border-radius:6px; background:var(--surface-2);
  color:var(--muted); font:10px var(--font-mono); cursor:pointer; transition:all var(--dur) var(--ease); }
.ml-fstep button:hover{ border-color:var(--accent); color:var(--text); }
.ml-fstep .ml-mark{ flex:none; width:28px; color:var(--accent); }
.ml-dur{ padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--bg); }
.ml-dur > div:first-child{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.ml-dur span{ font:11px var(--font-mono); color:var(--muted); }
.ml-dur b{ font:600 15px var(--font-mono); color:var(--accent-soft); }
.ml-bar{ height:5px; border-radius:5px; background:var(--surface-3); overflow:hidden; }
.ml-bar span{ display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--accent-soft),var(--accent)); transition:width var(--dur) var(--ease); }
.ml-add[hidden],.ml-hint[hidden],.ml-playbtn[hidden],.ml-poster[hidden],#ml-video[hidden],#ml-tira[hidden]{ display:none; }
.ml-add{ display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:auto; padding:12px; border-radius:10px;
  border:1px solid var(--accent); background:var(--accent); color:var(--ink-on-accent); font:600 13px var(--font-ui); cursor:pointer;
  transition:transform var(--dur) var(--spring), background var(--dur) var(--ease); }
.ml-add:hover{ background:var(--accent-strong); transform:translateY(-1px); box-shadow:0 8px 20px -8px var(--accent); }
.ml-add .ico{ width:17px; height:17px; stroke:var(--ink-on-accent); }
.ml-hint{ margin:0; text-align:center; color:var(--faint); font:11px var(--font-mono); }

.ml-timeline{ padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.ml-ruler{ display:flex; justify-content:space-between; margin-bottom:8px; color:var(--faint); font:10px var(--font-mono); }
.ml-strip{ position:relative; height:76px; border-radius:10px; overflow:hidden; background:#000; cursor:pointer; user-select:none; }
.ml-strip img{ width:100%; height:100%; object-fit:cover; }
.ml-strip-fallback{ position:absolute; inset:0; background:repeating-linear-gradient(90deg,#15161d,#15161d 2px,#0e0f14 2px,#0e0f14 46px); }
.ml-out-mask{ position:absolute; top:0; bottom:0; background:#0b0c10cc; }
.ml-out-mask.left{ left:0; } .ml-out-mask.right{ right:0; }
.ml-sel{ position:absolute; top:0; bottom:0; border:2px solid var(--accent); border-radius:4px; box-shadow:0 0 0 1px #0006 inset; pointer-events:none; }
.ml-handle{ position:absolute; top:0; bottom:0; width:12px; margin-left:-6px; display:grid; place-items:center; cursor:ew-resize; touch-action:none; }
.ml-handle::before{ content:""; width:6px; height:60%; border-radius:3px; background:var(--accent); box-shadow:0 1px 4px #000a; }
.ml-playhead{ position:absolute; top:0; bottom:0; width:2px; margin-left:-1px; background:#fff; pointer-events:none; opacity:.85; }

.ml-lib h2{ display:flex; align-items:center; gap:9px; margin:0 0 14px; }
.ml-lib h2 .ico{ width:18px; height:18px; color:var(--accent); }
.ml-frags{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.frag-card{ position:relative; border:1px solid var(--border); border-radius:14px; overflow:hidden; background:var(--surface);
  box-shadow:var(--shadow-1); transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease); }
.frag-card:hover{ border-color:#3a3d55; box-shadow:var(--shadow-2); transform:translateY(-2px); }
.frag-thumb{ position:relative; aspect-ratio:16/9; background:#000; }
.frag-thumb video,.frag-thumb>img{ width:100%; height:100%; object-fit:cover; }
.frag-dur{ position:absolute; right:8px; top:8px; padding:3px 7px; border-radius:6px; background:#000b; color:#fff; font:10px var(--font-mono); }
.frag-body{ padding:12px 14px 14px; }
.frag-body b{ display:block; overflow:hidden; font:500 12px var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.frag-meta{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.frag-chip{ display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border-radius:6px; background:var(--surface-2); color:var(--muted); font:10px var(--font-mono); }
.frag-chip.ok{ background:var(--ok-bg); color:var(--ok); }
.frag-chip .ico{ width:12px; height:12px; }
.frag-chip.ok .ico{ stroke:var(--ok); }
.frag-res{ color:var(--faint); font:10px var(--font-mono); }
.frag-menu{ position:absolute; right:8px; bottom:56px; }
.frag-menu .acts__btn.icon{ width:30px; height:30px; background:#000a; border-color:transparent; color:#fff; }
.frag-menu .acts__btn.icon:hover{ background:#000d; }
.frag-add{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:150px;
  border:1.5px dashed var(--border); border-radius:14px; background:transparent; color:var(--faint);
  font:12px var(--font-mono); cursor:pointer; transition:all var(--dur) var(--ease); }
.frag-add:hover{ border-color:var(--accent); color:var(--accent-soft); background:var(--accent-bg); }
.frag-add .ico{ width:26px; height:26px; }
@media(max-width:820px){ .ml-editor{ grid-template-columns:1fr; } }

/* Chip de autoguardado en cabeceras */
.autosave-chip{ display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:20px;
  border:1px solid var(--border); background:var(--surface-2); color:var(--muted);
  font:600 11px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.autosave-chip .ico{ stroke:var(--ok); width:15px; height:15px; }

/* Campo en proceso de autoguardado + pulso al confirmar (cualquier scope) */
[data-autosave-url].saving{ border-color:var(--accent)!important; box-shadow:0 0 0 3px var(--accent-bg); }
.saved{ animation:edit-saved 1s var(--ease); }

/* Resalte de "vuelve a donde estabas" tras ejecutar una acción */
@keyframes flash-done{
  0%{ box-shadow:0 0 0 0 var(--accent), 0 0 0 0 var(--accent-bg); }
  30%{ box-shadow:0 0 0 2px var(--accent), 0 0 0 8px var(--accent-bg); }
  100%{ box-shadow:0 0 0 0 transparent, 0 0 0 0 transparent; }
}
.flash-done{ animation:flash-done 1.6s var(--ease-out); border-radius:var(--radius); }

/* Estado aprobado, claro y con confirmación animada */
.pronunciation-card.approved{ border-color:#2f6b4a; }
.pronunciation-card.approved > header em{ color:var(--ok); }
.pronunciation-card.approved.flash-done{ animation:flash-done 1.6s var(--ease-out); }

/* ============================================================
   MENÚ DE ACCIONES (agrupa botones dispersos en un desplegable)
   ============================================================ */
.acts{ position:relative; display:inline-block; }
.acts__btn{ display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:9px;
  border:1px solid var(--border); background:var(--surface-2); color:var(--muted);
  font:600 12px var(--font-mono); cursor:pointer;
  transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease); }
.acts__btn:hover{ border-color:var(--accent); color:var(--text); background:var(--surface-3); }
.acts__btn[aria-expanded="true"]{ border-color:var(--accent); color:var(--text); }
.acts__btn .ico{ width:16px; height:16px; }
.acts__pop{ position:absolute; right:0; top:calc(100% + 6px); z-index:30; min-width:210px;
  display:grid; gap:2px; padding:6px; border-radius:12px;
  background:var(--surface); border:1px solid var(--border); box-shadow:var(--shadow-pop);
  animation:chimi-pop .16s var(--ease-out); transform-origin:top right; }
.acts__pop[hidden]{ display:none; }
.acts__pop form{ margin:0; }
.acts__item{ width:100%; display:flex; align-items:center; gap:10px; padding:9px 11px; border:0;
  border-radius:8px; background:transparent; color:var(--text); text-align:left;
  font:500 13px var(--font-ui); cursor:pointer; transition:background var(--dur) var(--ease); }
.acts__item:hover{ background:var(--surface-2); }
.acts__item .ico{ width:17px; height:17px; stroke:var(--muted); }
.acts__item.ok .ico{ stroke:var(--ok); }
.acts__item.err .ico{ stroke:var(--err); }
.acts__item.accent .ico{ stroke:var(--accent); }
.acts__sep{ height:1px; margin:4px 6px; background:var(--border); }

/* Acción primaria evidente (p.ej. "Generar audio" cuando falta) */
.act-primary{ display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:10px;
  border:1px solid var(--accent); background:var(--accent); color:var(--ink-on-accent);
  font:600 13px var(--font-ui); cursor:pointer;
  transition:transform var(--dur) var(--spring), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.act-primary:hover{ background:var(--accent-strong); transform:translateY(-1px); box-shadow:0 6px 18px -6px var(--accent); }
.act-primary:active{ transform:translateY(1px) scale(.99); }
.act-primary .ico{ width:17px; height:17px; stroke:var(--ink-on-accent); }

/* Fila de acciones del bloque: alinea a la derecha, sin amontonar */
.block-actions{ display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:12px; flex-wrap:wrap; }
.block-actions .save-text{ margin-right:auto; }

/* Toast de guardado */
.toast{ position:fixed; right:20px; bottom:20px; z-index:300; display:flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:10px; background:var(--surface); border:1px solid var(--border);
  box-shadow:var(--shadow-pop); color:var(--text); font:12px/1 var(--font-mono);
  animation:chimi-fade-up .24s var(--ease-out); }
.toast .ico{ stroke:var(--ok); }
.toast.err .ico{ stroke:var(--err); }
.toast.out{ opacity:0; transform:translateY(8px); transition:all .3s var(--ease); }

/* ============================================================
   ESTÉTICA SIN ESQUINAS REDONDEADAS (global)
   Se quitan todos los radios salvo los elementos circulares.
   ============================================================ */
*,*::before,*::after{ border-radius:0 !important; }
:root{ --radius:0; --radius-lg:0; }
.dot,.spinner,.spinner--lg,.is-loading::after,.stepper__dot,
.estado-local > span,.system-status i,.system-status span i,
[class*="speaker-color"],.speaker-avatar,.recommend-icon > *,
.preview-play,.media-preview .preview-play,.muestra-orador,
input[type=radio]{ border-radius:50% !important; }

/* Respeta preferencia de menos movimiento */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .spinner,.is-loading::after,.run-card .arc,.run-track::after{ animation-duration:.9s !important; animation-iteration-count:infinite !important; }
}

/* Media: jerarquía editorial y adaptación del editor */
.ml{ max-width:1480px; margin-inline:auto; gap:16px; }
.ml-head{ align-items:flex-end; margin-top:4px; }
.ml-heading-copy{ display:grid; gap:4px; }
.ml-heading-copy h1{ margin:0; letter-spacing:-.025em; }
.ml-heading-copy p{ margin:0; color:var(--muted); font-size:13px; }
.ml-heading-copy strong{ color:var(--text); font-weight:500; }
.ml-eyebrow{ margin-bottom:2px; color:var(--faint); font:600 9px var(--font-mono); letter-spacing:.16em; text-transform:uppercase; }
.ml-source-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px; }
.ml-source-head .ml-label{ margin:0; }
.ml-source-head > span{ color:var(--faint); font:10px var(--font-mono); }
.ml-url,.ml-trim,.ml-timeline,.frag-card{ background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 72%,var(--bg))); }
.ml-stage{ position:relative; display:grid; place-items:center; min-height:340px; aspect-ratio:16/9; overflow:hidden; background:#090a0d; }
.ml-stage video,.ml-stage .ml-poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.ml-stage .ml-empty{ position:relative; z-index:1; max-width:280px; color:var(--faint); font:11px/1.6 var(--font-mono); text-align:center; }
.ml-top{ position:absolute; z-index:4; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:12px; background:linear-gradient(#000b,transparent); }
.ml-chips span{ display:inline-flex; padding:4px 7px; background:#08090cbf; color:#d8dae5; font:10px var(--font-mono); }
.ml-icobtn,.ml-tctl{ display:grid; place-items:center; border:0; background:transparent; color:#f2f3f7; }
.ml-icobtn{ width:32px; height:32px; background:#08090cbf; }
.ml-icobtn .ico,.ml-tctl .ico{ width:18px; height:18px; stroke:currentColor; }
.ml-player .ml-playbtn{ z-index:3; }
.ml-player.playing .ml-playbtn{ opacity:0; pointer-events:none; }
.ml-transport{ position:absolute; z-index:4; inset:auto 0 0; justify-content:flex-start; background:linear-gradient(transparent,#050609e8 45%); padding-top:34px; }
.ml-tctl{ flex:0 0 28px; height:28px; }
.ml-progress{ position:relative; flex:1; height:4px; background:#ffffff2b; cursor:pointer; }
.ml-progress-fill{ position:absolute; inset:0 auto 0 0; width:0; background:var(--accent-soft); }
.ml-progress-knob{ position:absolute; top:50%; left:0; width:10px; height:10px; background:#fff; opacity:0; transform:translate(-50%,-50%); }
.ml-progress:hover .ml-progress-knob{ opacity:1; }
.ml-tname{ padding:10px 14px; border-top:1px solid var(--border); }
.ml-lib-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.ml-lib-head h2{ margin:0; }
.ml-lib-head h2 > span{ padding:3px 8px; background:var(--surface-2); color:var(--muted); font:600 9px var(--font-mono); }
.ml-lib-head p{ margin:5px 0 0; color:var(--faint); font-size:12px; }
.ml-filters{ display:flex; padding:3px; border:1px solid var(--border); background:var(--bg); }
.ml-filters button{ padding:7px 11px; border:0; background:transparent; color:var(--muted); font:600 10px var(--font-mono); cursor:pointer; }
.ml-filters button.active{ background:var(--surface-3); color:var(--text); }
.frag-card[hidden]{ display:none; }
.frag-thumb{ overflow:hidden; }
.frag-thumb video,.frag-thumb>img{ transition:transform .35s var(--ease),opacity .2s var(--ease); opacity:.82; }
.frag-card:hover .frag-thumb video,.frag-card:hover .frag-thumb>img{ transform:scale(1.025); opacity:1; }
.frag-title{display:flex;align-items:center;gap:8px}.frag-title>b{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frag-delete{width:28px;height:28px;padding:0;display:grid;place-items:center;flex:0 0 auto;border:0!important;border-radius:5px!important;background:transparent!important;color:#8c909f!important}.frag-delete .ico{width:17px;height:17px}.frag-delete:hover{background:rgba(255,180,171,.09)!important;color:#ffb4ab!important}.frag-delete.is-loading{opacity:.45;cursor:progress}
.ml .frag-thumb{ isolation:isolate; }
.ml .frag-thumb video,.ml .frag-thumb>img{ position:relative; z-index:0; }
.ml .frag-dur{position:absolute!important;z-index:10!important;inset:10px 10px auto auto!important;width:auto!important;max-width:none!important;min-width:52px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 8px!important;overflow:visible!important;white-space:nowrap!important;background:rgba(12,12,14,.9)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font:600 11px/24px "JetBrains Mono",monospace!important;font-variant-numeric:tabular-nums;letter-spacing:0!important;box-sizing:border-box!important;transform:translateZ(0)!important;text-indent:0!important;pointer-events:none!important}

/* El editor conserva radios sutiles aunque el resto del sistema use geometría recta. */
.ml .ml-btn,.ml .ml-url,.ml .ml-input,.ml .ml-analyze,.ml .ml-player,.ml .ml-stage,
.ml .ml-trim,.ml .ml-field input,.ml .ml-fstep button,.ml .ml-dur,.ml .ml-add,
.ml .ml-timeline,.ml .ml-strip,.ml .frag-card,.ml .frag-add,.ml .ml-filters,
.ml .ml-filters button,.ml .ml-icobtn{ border-radius:10px !important; }
.ml .ml-badge,.ml .frag-chip,.ml .frag-dur,.ml .ml-lib-head h2 > span{ border-radius:6px !important; }
.ml .ml-progress,.ml .ml-progress-fill,.ml .ml-progress-knob,.ml .ml-bar,.ml .ml-bar span{ border-radius:99px !important; }

@media(max-width:1180px){
  .ml-editor{ grid-template-columns:minmax(0,1fr) 300px; }
  .ml-stage{ min-height:310px; }
  .ml-inout{ grid-template-columns:1fr; }
}
@media(max-width:900px){
  .ml-editor{ grid-template-columns:1fr; }
  .ml-stage{ min-height:300px; }
}

/* Media · correcciones finales de interacción (mantener al final) */
.ml-editor[hidden],.ml-timeline[hidden]{ display:none !important; }
.ml-add.is-loading::before{ display:none !important; }
.ml-add.is-loading::after{
  display:block !important; content:"" !important; width:20px; height:20px;
  border:2px solid rgba(229,226,227,.3); border-top-color:#e5e2e3;
  border-radius:50% !important; animation:chimi-spin .75s linear infinite !important;
}
.ml-analyze.is-loading{ opacity:.72; cursor:progress; pointer-events:none; }
.ml-analyze.is-loading::before{ position:static !important; inset:auto !important; width:19px !important; height:19px !important; transform:none !important; animation:none !important; background:#00311f !important; }
.ml-analyze.is-loading::after{ display:none !important; content:none !important; animation:none !important; }
.ml-playbtn,.ml-playbtn:hover,.ml-playbtn:active,.ml-playbtn:focus-visible{
  inset:0 !important; margin:auto !important; transform:none !important; transform-origin:center !important;
  outline:0 !important; border:0 !important;
}
.ml-playbtn:hover{ box-shadow:0 0 0 4px rgba(173,198,255,.22),0 10px 28px rgba(0,0,0,.42) !important; }
.ml-playbtn:focus-visible{ box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(173,198,255,.3) !important; }
.ml-playhead{ width:14px !important; margin-left:-7px !important; background:transparent !important; cursor:ew-resize; pointer-events:auto !important; touch-action:none; }
.ml-playhead::before{ content:""; position:absolute; top:0; bottom:0; left:6px; width:2px; background:#fff; box-shadow:0 0 7px rgba(255,255,255,.6); }
.ml-playhead-tip{ position:absolute; top:0; left:2px; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid #fff; }
.frag-menu{ display:none !important; }

/* Revisión · editor de recorte v2 (prototipo Stitch) */
.rv-cut{width:min(900px,calc(100vw - 32px));border-radius:8px!important}.rv-cuthead{height:54px}.rv-cutcontent{gap:14px}.rv-cutplayer{aspect-ratio:16/9;border-radius:7px}.rv-cutcontrols{padding:54px 12px 10px;gap:8px}.rv-cuttimeline{height:96px;overflow:hidden;border:1px solid rgba(66,71,84,.45);border-radius:5px;background:rgba(42,42,43,.75);cursor:crosshair}.rv-ruler{position:absolute;inset:0 0 auto;height:22px;border-bottom:1px solid rgba(66,71,84,.6);z-index:5}.rv-ruler i,.rv-ruler em{position:absolute;bottom:0;transform:translateX(-50%)}.rv-ruler i>b{display:block;width:1px;height:8px;margin:auto;background:#8c909f}.rv-ruler i>span{display:block;margin-top:-1px;color:#9ca0ad;font:8px/10px var(--font-mono);white-space:nowrap}.rv-ruler em{width:1px;height:4px;background:rgba(140,144,159,.4)}.rv-waveform{position:absolute;left:8px;right:8px;top:28px;bottom:7px;display:flex;align-items:center;gap:1px;opacity:.42}.rv-waveform i{flex:1;min-width:1px;max-width:6px;border-radius:99px;background:#adc6ff}.rv-cutselection{top:22px;height:auto;bottom:0;border-left:1px solid rgba(173,198,255,.65);border-right:1px solid rgba(173,198,255,.65);border-radius:0;background:rgba(173,198,255,.1);z-index:8}.rv-cutmark{top:22px;height:74px;width:2px;z-index:18;background:#adc6ff;box-shadow:0 0 9px rgba(173,198,255,.45)}.rv-cutmark::before{top:0;left:-7px;width:16px;height:17px;border-radius:3px;background:#adc6ff}.rv-cutmark b{position:absolute;top:1px;left:50%;z-index:2;transform:translateX(-50%);color:#002e6a;font:700 7px/14px var(--font-mono)}.rv-cutheadpos{top:0;height:96px;width:2px;z-index:24;background:#e5e2e3}.rv-cutheadpos::before{top:0;left:-7px;width:16px;height:8px}.rv-cutheadpos b{position:absolute;left:50%;top:-31px;padding:4px 7px;transform:translateX(-50%);border:1px solid #424754;border-radius:4px;background:#3a393a;color:#e5e2e3;font:9px var(--font-mono);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .14s}.rv-cutheadpos:hover b,.rv-cutheadpos:active b{opacity:1}.rv-cutexcluded{top:34px;height:50px;z-index:12}.rv-controlrow{min-height:30px;display:grid!important;grid-template-columns:1fr auto 1fr;gap:12px}.rv-controlrow>.rv-transport{justify-self:center}.rv-controlrow>#rv-fullscreen{justify-self:end}.rv-controlrow .rv-zoom{justify-self:start;padding:2px 5px;border:1px solid rgba(66,71,84,.45);border-radius:5px;background:rgba(14,14,15,.55)}.rv-zoom input[type=range]{width:100px;height:3px;min-height:0;padding:0;border:0!important;background:transparent!important;accent-color:#adc6ff}.rv-zoom span{min-width:25px}.rv-transport{display:flex;align-items:center;gap:7px}.rv-controlrow time{font-size:10px}.rv-timefields input{font-size:13px!important;letter-spacing:.03em}.rv-transcript textarea{min-height:102px}.rv-cutactions{min-height:66px}.rv-cutactions .rv-cutsave{min-width:160px;justify-content:center}@media(max-width:720px){.rv-cut{width:calc(100vw - 16px)}.rv-cuttimeline{height:82px}.rv-cutmark{height:60px}.rv-cutheadpos{height:82px}.rv-controlrow{grid-template-columns:1fr auto}.rv-controlrow>.rv-transport{grid-column:1/-1;grid-row:1;justify-self:center}.rv-controlrow .rv-zoom{grid-column:1;grid-row:2}.rv-controlrow>#rv-fullscreen{grid-column:2;grid-row:2}.rv-zoom input[type=range]{width:72px}.rv-controlrow time{font-size:9px}.rv-timefields{grid-template-columns:1fr!important}}
.rv-waveform{right:auto!important;bottom:auto!important;display:block!important;width:calc(100% - 16px)!important;height:61px!important;opacity:.68!important}.rv-waveform.loading{opacity:.22!important}
@media(max-width:720px){.rv-waveform{height:47px!important}}
.pj-card[hidden]{display:none!important}

/* Visuales · biblioteca, cobertura y preparación para Premiere */
.envoltura:has(.vs-page){padding:0!important;height:calc(100vh - 48px);overflow:hidden}.vs-page{--vs-line:#303034;--vs-low:#1c1b1c;--vs-high:#2a2a2b;height:100%;display:grid;grid-template-columns:300px minmax(420px,1fr) 320px;background:#131314;color:#e5e2e3}.vs-blocks,.vs-inspector{min-height:0;display:flex;flex-direction:column;background:var(--vs-low)}.vs-blocks{border-right:1px solid var(--vs-line)}.vs-inspector{border-left:1px solid var(--vs-line)}
.vs-blocks>header{height:72px;padding:14px 16px;display:grid;gap:9px;border-bottom:1px solid var(--vs-line)}.vs-blocks>header>div{display:flex;align-items:center;justify-content:space-between;color:#aeb1bd;font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.vs-blocks>header b{color:#adc6ff;font-size:13px}.vs-blocks>header>i{height:5px;overflow:hidden;background:#353436}.vs-blocks>header em{display:block;width:0;height:100%;background:#adc6ff;transition:width .3s}
.vs-search{position:relative;margin:10px}.vs-search .ico{position:absolute;left:10px;top:9px;width:17px;height:17px;color:#858995}.vs-search input{width:100%;height:35px;padding-left:35px!important}.vs-block-list{flex:1;min-height:0;overflow:auto;padding:0 8px 12px}.vs-block{position:relative;width:100%;padding:12px;display:grid;grid-template-columns:43px 1fr;gap:7px 10px;border:1px solid transparent!important;background:transparent!important;color:#d5d3d6!important;text-align:left}.vs-block:hover{background:#242426!important}.vs-block.active{border-color:rgba(173,198,255,.32)!important;background:rgba(77,142,255,.1)!important}.vs-block.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;background:#adc6ff}.vs-block>span{grid-row:1/3;display:grid;align-content:start;gap:4px}.vs-block>span b{width:26px;height:23px;display:grid;place-items:center;background:#353436;color:#adc6ff;font:10px var(--font-mono)}.vs-block time{color:#777b87;font:9px var(--font-mono)}.vs-block p{margin:0;display:-webkit-box;overflow:hidden;color:#d5d3d6;font-size:12px;line-height:17px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.vs-block small{display:flex;align-items:center;gap:5px;color:#777b87;font:9px var(--font-mono)}.vs-block small i{width:5px;height:5px;border-radius:50%!important;background:#4edea3}.vs-block small em{margin-left:auto}.vs-block[hidden]{display:none!important}.vs-no-blocks{padding:30px 14px;text-align:center;color:#858995;font-size:12px}
.vs-block.is-clip{opacity:.48}.vs-block.is-clip:hover,.vs-block.is-clip.active{opacity:.72}.vs-block.is-clip small i{background:#858995}.vs-block.is-clip.active:before{background:#858995}.vs-clip-covered{opacity:.72}.vs-clip-covered>span{padding:7px 10px;border:1px solid #3a3a40;color:#999da9;font:10px var(--font-mono);letter-spacing:.03em}.vs-tabs button:disabled{opacity:.3;cursor:not-allowed}
.vs-workspace{min-width:0;min-height:0;display:grid;grid-template-rows:70px 43px minmax(0,1fr)}.vs-head{padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vs-line)}.vs-head>div:first-child{min-width:0;display:grid;gap:3px}.vs-head span{color:#858995;font:500 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.vs-head h1{max-width:630px;overflow:hidden;color:#e5e2e3;font-size:14px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.vs-head>div:last-child{display:flex;gap:8px}.vs-head button,.vs-empty button,.vs-generate-grid button{height:34px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid #424754!important;background:#242426!important;color:#c2c6d6!important;font-size:11px}.vs-head button:hover,.vs-empty button:hover,.vs-generate-grid button:hover:not(:disabled){border-color:#777b87!important;background:#353436!important;color:#fff!important}.vs-head button.primary,.vs-dialog .primary{border-color:#adc6ff!important;background:#adc6ff!important;color:#002e6a!important}.vs-head .ico{width:17px;height:17px}
.vs-tabs{padding:0 20px;display:flex;align-items:end;gap:24px;border-bottom:1px solid var(--vs-line)}.vs-tabs button{height:42px;padding:0 2px;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;color:#858995!important;font-size:11px}.vs-tabs button.active{border-bottom-color:#adc6ff!important;color:#adc6ff!important}.vs-pane{display:none;min-height:0;overflow:auto;padding:18px 20px}.vs-pane.active{display:block}.vs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vs-card{min-width:0;padding:0;border:1px solid #353436!important;background:#1c1b1c!important;color:#e5e2e3!important;text-align:left;overflow:hidden}.vs-card:hover,.vs-card.active{border-color:rgba(173,198,255,.5)!important}.vs-card-media{position:relative;height:132px;display:block;background:#0e0e0f}.vs-card-media img,.vs-card-media video{width:100%;height:100%;display:block;object-fit:cover}.vs-card-media em{position:absolute;left:7px;top:7px;padding:3px 6px;background:#131314dc;color:#c2c6d6;font:500 8px var(--font-mono)}.vs-card-media em.ia{color:#adc6ff}.vs-card-media em.recreacion{color:#ffb2b7}.vs-card-media>i{position:absolute;right:7px;top:7px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%!important;background:#4edea3;color:#003824;font:700 10px sans-serif}.vs-card>span:last-child{padding:9px;display:grid;gap:3px}.vs-card b,.vs-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vs-card b{font-size:11px}.vs-card small{color:#858995;font:9px var(--font-mono)}
.vs-empty{height:100%;min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#858995}.vs-empty[hidden]{display:none!important}.vs-empty>.ico{width:42px;height:42px;margin-bottom:12px}.vs-empty h2{color:#d5d3d6;font-size:18px}.vs-empty p{max-width:430px;margin:7px 0 17px;font-size:12px}.vs-empty button{background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}
.vs-provider-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.vs-provider-head h2{font-size:18px}.vs-provider-head p{margin-top:4px;color:#858995;font-size:12px}.vs-provider-head label{position:relative;width:min(360px,45%)}.vs-provider-head .ico{position:absolute;left:10px;top:10px;width:17px;height:17px}.vs-provider-head input{width:100%;height:38px;padding-left:36px!important}.vs-providers{margin-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vs-providers a{min-height:165px;padding:17px;display:flex;flex-direction:column;border:1px solid #353436;background:#1c1b1c;color:#d5d3d6;text-decoration:none}.vs-providers a:hover{border-color:rgba(173,198,255,.45);background:#202023}.vs-providers b{font-size:15px}.vs-providers span{margin-top:8px;color:#9296a2;font-size:12px;line-height:18px}.vs-providers em{margin-top:auto;color:#adc6ff;font-size:11px}.vs-search-note{margin-top:15px;padding:13px;display:flex;gap:10px;border:1px solid rgba(173,198,255,.18);background:rgba(77,142,255,.06);color:#aeb1bd}.vs-search-note .ico{flex:none;width:18px;height:18px;color:#adc6ff}.vs-search-note p{margin:0;font-size:11px;line-height:17px}
.vs-generate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vs-generate-grid article{min-height:210px;padding:17px;display:flex;flex-direction:column;border:1px solid #353436;background:#1c1b1c}.vs-generate-grid article>span{color:#adc6ff;font:500 10px var(--font-mono)}.vs-generate-grid h2{margin-top:15px;font-size:16px}.vs-generate-grid p{margin:7px 0;color:#9296a2;font-size:12px;line-height:18px}.vs-generate-grid button{margin-top:auto;justify-content:center}.vs-generate-grid button:disabled{opacity:.4}.vs-clone{border-style:dashed!important}.vs-prompt-box{margin-top:16px;display:grid;gap:8px;color:#aeb1bd;font:500 10px var(--font-mono);letter-spacing:.08em}.vs-prompt-box textarea{width:100%;padding:13px!important;font:12px/19px var(--font-display)}.vs-prompt-box>div{display:flex;align-items:center;gap:12px}.vs-prompt-box button{height:32px;padding:0 12px;border:1px solid #424754!important;background:#2a2a2b!important;color:#e5e2e3!important}.vs-prompt-box small{color:#777b87;letter-spacing:0}
.vs-inspector>header{height:56px;flex:none;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vs-line);color:#aeb1bd;font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.vs-inspector>header b{color:#4edea3;font-size:9px}.vs-inspector-empty{padding:40px 20px;color:#777b87;text-align:center;font-size:12px}.vs-inspector-empty[hidden],#vs-form[hidden],.vs-disclosure[hidden]{display:none!important}#vs-form{min-height:0;padding:13px;display:grid;gap:12px;overflow-y:auto}.vs-preview{height:170px;background:#0e0e0f}.vs-preview img,.vs-preview video{width:100%;height:100%;object-fit:contain}.vs-inspector label{display:grid;gap:6px;color:#9296a2;font:500 9px var(--font-mono);letter-spacing:.07em}.vs-inspector input,.vs-inspector select,.vs-inspector textarea{width:100%;padding:7px!important;font-size:11px!important}.vs-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vs-disclosure{padding:9px;display:flex;gap:8px;border:1px solid rgba(255,178,183,.25);background:rgba(255,81,106,.07);color:#ffb2b7;font-size:10px;line-height:14px}.vs-disclosure .ico{flex:none;width:17px;height:17px}.vs-approve,.vs-remove{height:36px;display:flex;align-items:center;justify-content:center;gap:7px}.vs-approve{border:1px solid #4edea3!important;background:rgba(78,222,163,.09)!important;color:#4edea3!important}.vs-approve.approved{background:#4edea3!important;color:#003824!important}.vs-remove{border:0!important;background:transparent!important;color:#ffb4ab!important}.vs-approve .ico,.vs-remove .ico{width:17px;height:17px}
.vs-dialog{width:min(590px,calc(100vw - 30px));padding:0;border:1px solid #424754!important;background:#1c1b1c!important;color:#e5e2e3}.vs-dialog::backdrop{background:#09090ad9;backdrop-filter:blur(5px)}.vs-dialog header,.vs-dialog footer{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #353436}.vs-dialog header h2{font-size:17px}.vs-dialog header p{max-width:470px;margin-top:3px;overflow:hidden;color:#858995;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.vs-dialog header button{border:0!important;background:transparent!important;color:#c2c6d6!important;font-size:23px}.vs-upload-body{padding:17px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.vs-upload-body>label{display:grid;gap:6px;color:#aeb1bd;font:500 9px var(--font-mono);letter-spacing:.08em}.vs-upload-body>label:nth-last-child(-n+2){grid-column:1/-1}.vs-file{position:relative;grid-column:1/-1;min-height:125px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #555965;background:#131314;cursor:pointer}.vs-file .ico{width:30px;height:30px;margin-bottom:7px;color:#adc6ff}.vs-file span{margin-top:4px;color:#777b87;font-size:10px}.vs-file input{position:absolute;opacity:0;pointer-events:none}.vs-dialog input,.vs-dialog select,.vs-dialog textarea{width:100%;padding:8px!important}.vs-dialog footer{justify-content:flex-end;gap:8px;border-top:1px solid #353436;border-bottom:0}.vs-dialog footer button{height:35px;padding:0 13px;display:flex;align-items:center;gap:7px}.vs-dialog footer .ico{width:17px;height:17px}
@media(max-width:1150px){.vs-page{grid-template-columns:260px minmax(400px,1fr)}.vs-inspector{position:fixed;z-index:80;right:0;top:48px;bottom:0;width:320px;box-shadow:-18px 0 45px #0008}.vs-inspector:has(#vs-form[hidden]){display:none}.vs-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.envoltura:has(.vs-page){height:auto;overflow:visible}.vs-page{min-height:calc(100vh - 48px);display:block}.vs-blocks{height:300px}.vs-workspace{min-height:720px}.vs-head{gap:8px}.vs-head #vs-prompt{display:none}.vs-providers,.vs-generate-grid{grid-template-columns:1fr}.vs-provider-head{align-items:stretch;flex-direction:column}.vs-provider-head label{width:100%}.vs-inspector{top:0}.vs-upload-body{grid-template-columns:1fr}.vs-upload-body>label{grid-column:1!important}}
.pj-new{height:44px!important;padding:0 18px!important;border:1px solid rgba(173,198,255,.55)!important;border-radius:4px!important;box-shadow:0 8px 20px rgba(0,0,0,.35)!important;font-size:14px!important;transition:background .16s,border-color .16s,box-shadow .16s!important}.pj-new:hover{transform:none!important;border-color:#d8e2ff!important;box-shadow:0 10px 24px rgba(0,0,0,.45)!important}.pj-new:hover .ico{transform:none!important}

/* Fuentes · editor documental */
.envoltura:has(.fs-page){padding:0!important;height:calc(100vh - 48px);overflow:hidden}
.fs-page{height:100%;display:grid;grid-template-columns:288px minmax(0,1fr);background:#131314;color:#e5e2e3}
.fs-sidebar{min-height:0;display:flex;flex-direction:column;background:#1c1b1c;border-right:1px solid #303034}
.fs-sidebar>header{height:57px;flex:none;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303034;color:#aeb1bd;font:500 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase}
.fs-sidebar>header button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#2a2a2b;color:#c2c6d6;transition:.16s}
.fs-sidebar>header button:hover{background:#353436;color:#adc6ff}.fs-sidebar>header .ico{width:17px;height:17px}
.fs-list{flex:1;min-height:0;overflow-y:auto;padding:8px}.fs-list-empty{padding:28px 12px;text-align:center;color:#777b87;font-size:12px}
.fs-item{position:relative;width:100%;display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#e5e2e3;text-align:left;transition:.16s}
.fs-item:hover{background:#2a2a2b}.fs-item.active{padding-left:16px;background:rgba(77,142,255,.1);border-color:rgba(173,198,255,.3)}
.fs-item.active:before{content:"";position:absolute;left:-1px;top:50%;width:4px;height:32px;transform:translateY(-50%);border-radius:0 3px 3px 0;background:#adc6ff}
.fs-item-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1px solid #424754;border-radius:4px;background:#353436;color:#adc6ff}.fs-item-icon .ico{width:18px;height:18px}
.fs-item>span:last-child{min-width:0;display:grid;gap:4px}.fs-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.fs-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858995;font:400 10px/1.3 var(--font-mono)}
.fs-sidebar>footer{flex:none;padding:12px;background:#0e0e0f;border-top:1px solid #303034;display:grid;grid-template-columns:1fr auto;gap:7px;color:#888c98;font:400 10px/1 var(--font-mono);text-transform:uppercase}.fs-sidebar>footer>div{grid-column:1/-1;height:4px;overflow:hidden;border-radius:4px;background:#2a2a2b}.fs-sidebar>footer i{display:block;height:100%;background:#6f86b8}
.fs-editor{min-width:0;min-height:0;display:grid;grid-template-rows:57px minmax(0,1fr) 36px;background:#131314}
.fs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #303034;background:rgba(19,19,20,.96)}.fs-toolbar>div{display:flex;align-items:center;gap:12px}
.fs-kind{height:30px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #424754;border-radius:4px;background:#2a2a2b;color:#c2c6d6;font:500 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.fs-kind .ico{width:16px;height:16px}
.fs-save-state{display:flex;align-items:center;gap:6px;color:#888c98;font-size:11px}.fs-save-state:before{content:"";width:6px;height:6px;border-radius:50%;background:#777b87}.fs-save-state.ok{color:#4edea3}.fs-save-state.ok:before{background:#4edea3}.fs-save-state.dirty{color:#ffcf70}.fs-save-state.dirty:before{background:#ffcf70}.fs-save-state.error{color:#ffb4ab}.fs-save-state.error:before{background:#ffb4ab}
.fs-toolbar button,.fs-status button{height:34px;display:flex;align-items:center;gap:7px;padding:0 14px;border:1px solid #424754;border-radius:4px;background:#2a2a2b;color:#e5e2e3;font-weight:500}.fs-toolbar button:hover,.fs-status button:hover{border-color:#626775;background:#353436}.fs-toolbar .ico,.fs-status .ico{width:17px;height:17px}.fs-toolbar .fs-ai{color:#adc6ff;border-color:rgba(173,198,255,.35);background:rgba(173,198,255,.08)}.fs-toolbar .fs-ai:hover{background:#adc6ff;color:#002e6a}.fs-toolbar button:disabled,.fs-status button:disabled{opacity:.35;pointer-events:none}
.fs-canvas{min-height:0;overflow-y:auto}.fs-document{max-width:900px;margin:0 auto;padding:44px 42px 70px}.fs-label{display:flex;gap:7px;align-items:center;margin:0 0 8px 4px;color:#adc6ff;font:500 10px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.fs-label:before{content:"";width:4px;height:4px;border-radius:50%;background:#adc6ff}
.fs-title{display:block;width:100%;min-height:52px;max-height:180px;padding:0 3px 8px!important;overflow-y:auto;border:0!important;background:transparent!important;color:#e5e2e3!important;font:600 38px/1.15 var(--font-display)!important;letter-spacing:-.03em;resize:none}.fs-title:focus{box-shadow:none!important}.fs-medium-row{display:flex;align-items:center;gap:10px;margin-top:9px;padding:0 8px;color:#858995;font:500 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.fs-medium-row input{width:min(280px,60%);padding:5px 8px!important;border:1px solid transparent!important;background:#201f20!important;color:#c9c7ca!important;font:500 11px/1 var(--font-mono)!important}.fs-medium-row input:focus{border-color:#555965!important;box-shadow:none!important}.fs-url-row{position:relative;display:flex;align-items:center;gap:10px;margin-top:9px;padding:7px 8px;border-radius:7px}.fs-url-row:hover{background:#201f20}.fs-url-row>.ico{width:18px;height:18px;color:#6e727e}.fs-url-row input{flex:1;min-width:0;border:0!important;background:transparent!important;font:400 12px/1 var(--font-mono)!important}.fs-url-row input:focus{box-shadow:none!important}.fs-url-row a{padding:5px 8px;border-radius:4px;color:#9da1ad;font-size:11px;text-decoration:none}.fs-url-row a:hover{background:#353436;color:#fff}.fs-rule{height:1px;margin:26px 0 38px;background:linear-gradient(90deg,#424754,transparent)}
.fs-text-wrap{position:relative}.fs-format{position:sticky;top:10px;z-index:2;width:max-content;margin:-30px auto 14px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid #424754;border-radius:7px;background:#2a2a2b;box-shadow:0 12px 32px rgba(0,0,0,.35);opacity:0;transform:translateY(7px);pointer-events:none;transition:.18s}.fs-text-wrap:focus-within .fs-format{opacity:1;transform:none;pointer-events:auto}.fs-format button{width:32px;height:30px;padding:0;border:0;border-radius:4px;background:transparent;color:#e5e2e3}.fs-format button:hover{background:#353436}.fs-format>span{width:1px;height:19px;margin:0 4px;background:#424754}
.fs-text-wrap textarea{display:block;width:100%;min-height:480px;padding:4px 8px!important;border:0!important;background:transparent!important;color:#dedde0!important;font:400 15px/1.8 var(--font-display)!important;resize:none}.fs-text-wrap textarea:focus{box-shadow:none!important}
.fs-empty-editor{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777b87;text-align:center}.fs-empty-editor[hidden],.fs-document[hidden],.fs-insight[hidden]{display:none!important}.fs-empty-editor>.ico{width:48px;height:48px;margin-bottom:14px}.fs-empty-editor h2{margin:0;color:#d5d3d6}.fs-empty-editor p{margin:7px 0 18px}.fs-empty-editor button{height:36px;padding:0 15px;border:1px solid #adc6ff;border-radius:4px;background:#adc6ff;color:#002e6a;font-weight:600}
.fs-status{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-top:1px solid #303034;background:#0e0e0f}.fs-status>div{display:flex;align-items:center;gap:12px;color:#888c98;font:400 10px/1 var(--font-mono)}.fs-status>div i{width:3px;height:3px;border-radius:50%;background:#555965}.fs-status button{height:28px;padding:0 10px;font-size:11px;color:#adc6ff}
.fs-dialog{width:min(600px,calc(100vw - 30px));padding:0;border:1px solid #424754;border-radius:8px;background:#1c1b1c;color:#e5e2e3;box-shadow:0 24px 80px #000}.fs-dialog::backdrop{background:rgba(6,6,7,.72);backdrop-filter:blur(5px)}.fs-dialog-card>header,.fs-dialog-card>footer{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #353436}.fs-dialog-card>header h2{margin:0;font-size:18px}.fs-dialog-card>header p{margin:4px 0 0;color:#9296a2;font-size:12px}.fs-dialog-card>header button{border:0;background:transparent;color:#c2c6d6;font-size:25px}.fs-dialog-card nav{display:flex;padding:10px 20px 0;border-bottom:1px solid #353436}.fs-dialog-card nav button{padding:10px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9296a2}.fs-dialog-card nav button.active{border-color:#adc6ff;color:#adc6ff}.fs-dialog-card section{display:none;padding:22px 20px}.fs-dialog-card section.active{display:grid;gap:9px}.fs-dialog-card section label{font:500 10px/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.fs-dialog-card textarea,.fs-dialog-card input{width:100%;padding:10px!important}.fs-dialog-card small{color:#777b87}.fs-dialog-card>footer{border-top:1px solid #353436;border-bottom:0;justify-content:flex-end;gap:9px}.fs-dialog-card>footer button{height:34px;padding:0 14px;border:1px solid #424754;border-radius:4px;background:transparent;color:#d8d6d9}.fs-dialog-card>footer .fs-import-go{display:flex;align-items:center;gap:7px;background:#adc6ff;color:#002e6a;border-color:#adc6ff}.fs-dialog-card .fs-drop{min-height:150px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #555965;border-radius:6px;background:#131314;cursor:pointer}.fs-drop .ico{width:30px;height:30px;margin-bottom:9px;color:#adc6ff}.fs-drop span{margin-top:5px;color:#777b87}.fs-drop input{position:absolute;opacity:0;pointer-events:none}
.fs-insight{position:fixed;z-index:100;right:24px;bottom:24px;width:min(380px,calc(100vw - 48px));padding:17px 42px 17px 17px;border:1px solid rgba(173,198,255,.4);border-radius:6px;background:#242428;box-shadow:0 18px 45px rgba(0,0,0,.5)}.fs-insight button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#aaa;font-size:20px}.fs-insight b{color:#adc6ff}.fs-insight p{margin:7px 0 0;color:#c2c6d6;font-size:12px;line-height:1.55}
.pj-card-menu>div button{width:100%;padding:9px 12px;border:0;background:transparent;color:inherit;text-align:left;font:inherit}.pj-card-menu>div button:hover{background:#353436}.pj-card-menu>div button.danger{color:#ffb4ab}
.pj-new{height:44px!important;padding:0 18px!important;border:1px solid rgba(173,198,255,.55)!important;border-radius:4px!important;box-shadow:0 8px 20px rgba(0,0,0,.35)!important;font-size:14px!important;transition:background .16s,border-color .16s,box-shadow .16s!important}.pj-new:hover{transform:none!important;border-color:#d8e2ff!important;box-shadow:0 10px 24px rgba(0,0,0,.45)!important}.pj-new:hover .ico{transform:none!important}
@media(max-width:800px){.envoltura:has(.fs-page){height:auto;overflow:visible}.fs-page{min-height:calc(100vh - 48px);grid-template-columns:1fr}.fs-sidebar{max-height:290px}.fs-editor{min-height:680px}.fs-document{padding:32px 20px}.fs-toolbar{padding:0 12px}.fs-more{font-size:0}.fs-title{font-size:28px!important}}

/* Revisión editorial */
.app-shell:has(.rv-studio) .stepper{display:none}.envoltura:has(.rv-studio){padding:0 20px 54px;max-width:none}.rv-studio{color:#d9d9e2;font:14px/1.45 var(--font-display);max-width:1500px;margin:auto}.rv-summary{position:sticky;top:59px;z-index:20;margin:0 -20px 20px;padding:14px 20px 16px;background:rgba(18,18,20,.96);backdrop-filter:blur(12px);border-bottom:1px solid #29292e;display:grid;grid-template-columns:1.35fr 1fr 1fr .65fr 2fr;align-items:center}.rv-summary>div{min-height:46px;padding:0 30px;border-right:1px solid #303035}.rv-summary>div:first-child{padding-left:0}.rv-summary>div:last-child{padding:0;border:0}.rv-summary span,.rv-compare label,.rv-clipbody label{display:block;color:#a9a9b5;font:600 12px/1.3 var(--font-mono);letter-spacing:.06em}.rv-summary b{font-size:17px}.rv-green{color:#4ee1a0}.rv-red{color:#ffaaa5}.rv-progress>div{display:flex;align-items:center;gap:14px;margin-top:5px}.rv-progress i{display:block;width:160px;height:8px;border-radius:10px;background:#3d3d43;overflow:hidden}.rv-progress em{display:block;height:100%;background:#a9c5ff}.rv-filters{display:grid;grid-template-columns:repeat(4,1fr);height:58px;background:#262629;border:1px solid #303035!important}.rv-filters button{border:0!important;border-radius:2px!important;background:transparent!important;color:#d2d2dc!important;font-weight:600}.rv-filters button.active{background:#3b3b3f!important;color:#fff!important}.rv-filters i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#a9c5ff}.rv-filters button:nth-child(3) i{background:#ffaaa5}.rv-list{display:grid;gap:8px}.rv-card{border:1px solid #303035;border-left:5px solid #a9c5ff;border-radius:5px;background:#1b1b1d;overflow:hidden}.rv-card.rv-clip{border-left-color:#43d69a}.rv-card>header{height:53px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2c2c31}.rv-card>header>div{display:flex;align-items:center;gap:12px}.rv-card>header .ico{width:20px;height:20px;color:#a9c5ff}.rv-card header time{padding:3px 10px;background:#3a3a3f;color:#c7c7d1;border-radius:3px;font:15px var(--font-mono)}.rv-status,.rv-match{padding:6px 10px;border-radius:3px;font:12px var(--font-mono);letter-spacing:.08em}.rv-status.pending{color:#bad0ff;background:#263550}.rv-status.approved{color:#46dda1;background:#103a2e}.rv-status.error,.rv-match{color:#ffb3ae;background:#451d22}.rv-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:24px 16px 20px}.rv-compare label>div{margin-top:12px;padding:16px;min-height:104px;background:#0c0c0d;border:1px solid #25252a;color:#eee;font:17px/1.55 var(--font-display);letter-spacing:0}.rv-card>footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px 18px;border-top:1px solid #29292e}.rv-player,.rv-actions{display:flex;align-items:center;gap:10px}.rv-play{width:42px;height:42px;padding:0!important;display:grid;place-items:center;background:#a9c5ff!important;color:#06285a!important;border:0!important}.rv-play .ico{width:24px;height:24px}.rv-play.playing{background:#d7e3ff!important}.rv-wave{font-size:22px;color:#aaa;letter-spacing:2px}.rv-player time{font:15px var(--font-mono)}.rv-noaudio{font:11px var(--font-mono);color:#7d7d88}.rv-actions form{margin:0}.rv-actions button{min-height:40px;padding:0 16px;display:flex;gap:8px;align-items:center;border:1px solid #303035!important;background:transparent!important;color:#ddd!important;border-radius:3px!important}.rv-actions button:hover{background:#2b2b2f!important;border-color:#565660!important}.rv-actions .rv-approve,.rv-approve{background:#4cdda2!important;color:#062c20!important;border-color:#4cdda2!important}.rv-actions .rv-reject{color:#ffaaa5!important}.rv-actions .ico{width:17px;height:17px}.rv-editor{margin:0 16px 18px;padding:14px;background:#111113;border:1px solid #34343a}.rv-editor textarea{width:100%;min-height:92px}.rv-editor>div{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.rv-clipbody{display:grid;grid-template-columns:240px 1fr auto;gap:20px;align-items:center;padding:20px 16px}.rv-thumb{position:relative;height:140px;background:#080809;overflow:hidden;border:1px solid #38383e}.rv-thumb video{width:100%;height:100%;object-fit:cover}.rv-thumb span{position:absolute;right:8px;bottom:6px;background:#19191ccc;padding:3px 6px}.rv-clipbody blockquote{margin:12px 0 18px;color:#c2c2cc;font-size:16px;font-style:italic}.rv-metrics{display:flex;gap:10px}.rv-metrics span{padding:9px 12px;background:#343438;color:#bfc0ca;font:12px var(--font-mono)}.rv-clipbody>.rv-actions{align-self:end}.rv-finish{padding:28px 0 0;margin-top:26px;border-top:1px solid #29292e;text-align:center}.rv-finish button{width:min(560px,100%);height:62px;background:#a9c5ff!important;color:#082b61!important;border:0!important;font-size:19px}.rv-finish .ico{width:25px;height:25px;vertical-align:middle;margin-right:12px}.rv-empty{padding:80px;text-align:center;border:1px dashed #414149;color:#8c8c98}.rv-cut{width:min(760px,90vw);padding:0;border:1px solid #44444b;background:#18181b;color:#eee}.rv-cut::backdrop{background:#000b}.rv-cuthead{padding:14px 18px;display:flex;justify-content:space-between;border-bottom:1px solid #333}.rv-cuthead button{border:0!important;background:transparent!important;font-size:25px}.rv-cut video{display:block;width:100%;max-height:390px;background:#000}.rv-cut-form{padding:18px}.rv-cut-form>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rv-cut-form input{width:100%;margin-top:6px}.rv-cutactions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:1100px){.rv-summary{grid-template-columns:repeat(4,1fr)}.rv-filters{grid-column:1/-1;margin-top:12px}.rv-compare{grid-template-columns:1fr}.rv-clipbody{grid-template-columns:200px 1fr}.rv-clipbody>.rv-actions{grid-column:1/-1;justify-content:flex-end}.rv-card>footer{align-items:flex-start;gap:14px;flex-direction:column}.rv-actions{flex-wrap:wrap}}@media(max-width:700px){.rv-summary{position:static;grid-template-columns:1fr 1fr}.rv-summary>div{padding:10px;border:0}.rv-clipbody{grid-template-columns:1fr}.rv-thumb{height:220px}.rv-clipbody>.rv-actions{grid-column:auto}.rv-card>header{height:auto;min-height:58px;gap:8px;flex-wrap:wrap}.rv-compare{padding:14px}}
#rv-cut-form{padding:18px}#rv-cut-form>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}#rv-cut-form input{width:100%;margin-top:6px}

/* Revisión · proporciones exactas del prototipo */
.rv-summary{padding-top:12px;padding-bottom:12px}.rv-summary>div{min-height:32px}.rv-card>header{height:40px;padding:0 16px}.rv-card>header .ico{width:18px;height:18px}.rv-card header time{padding:2px 8px;font-size:11px}.rv-status,.rv-match{padding:3px 8px;font-size:11px}.rv-compare{gap:16px;padding:16px}.rv-compare label>div{margin-top:8px;padding:12px;min-height:80px;font-size:14px;line-height:20px}.rv-card>footer{padding:8px 16px 16px}.rv-player{min-width:440px;padding:4px;background:#353436;border-radius:4px}.rv-player:focus-visible{outline:2px solid #adc6ff;outline-offset:3px}.rv-play{width:32px;height:32px;flex:none}.rv-play .ico{width:18px;height:18px}.rv-skip{height:32px;min-width:40px;padding:0 7px!important;border:0!important;background:transparent!important;color:#c7cad5!important;font:600 10px var(--font-mono)}.rv-skip:hover{background:#45454b!important;color:#fff!important}.rv-actions button{min-height:32px;height:32px;padding:0 12px;font-size:12px}.rv-wave{width:180px;height:32px;padding:0;display:block;cursor:pointer;touch-action:none}.rv-wave:focus-visible{outline:2px solid #adc6ff;outline-offset:2px}.rv-player time{min-width:76px;padding-right:6px;font:11px var(--font-mono);font-variant-numeric:tabular-nums}.rv-clipbody{grid-template-columns:192px 1fr auto;gap:16px;padding:16px}.rv-thumb{height:112px}.rv-clipbody blockquote{margin:8px 0 14px;font-size:14px}.rv-metrics span{padding:6px 8px;font-size:11px}.rv-card[data-rv-state="approved"]{opacity:.75;transition:opacity .18s,border-color .18s}.rv-card[data-rv-state="approved"]:hover{opacity:1}.rv-finish{margin-top:16px;padding-top:16px}.rv-finish button{height:48px;max-width:448px;font-size:16px}.rv-finish .ico{width:20px;height:20px}@media(max-width:900px){.rv-card>footer{align-items:flex-start;flex-direction:column}.rv-player{width:100%;min-width:0}.rv-wave{flex:1;min-width:100px}.rv-actions{align-self:flex-end;flex-wrap:wrap}}

/* Revisión · hover de aprobación */
.rv-summary .rv-progress>span{background:transparent!important;width:auto;height:auto}
.rv-actions .rv-approve,.rv-cutactions .rv-approve{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,filter .16s ease}.rv-actions .rv-approve:hover:not(:disabled),.rv-cutactions .rv-approve:hover:not(:disabled){background:#6ffbbe!important;border-color:#6ffbbe!important;color:#002113!important;box-shadow:0 5px 14px rgba(78,222,163,.22)!important;transform:translateY(-1px);filter:none}.rv-actions .rv-approve:active:not(:disabled),.rv-cutactions .rv-approve:active:not(:disabled){background:#45d79c!important;transform:translateY(0);box-shadow:0 2px 6px rgba(78,222,163,.16)!important}.rv-actions .rv-approve:focus-visible,.rv-cutactions .rv-approve:focus-visible{outline:2px solid #d8ffe9!important;outline-offset:2px}.rv-actions .rv-approve:disabled,.rv-cutactions .rv-approve:disabled{opacity:.42;cursor:not-allowed;box-shadow:none!important;transform:none}
.rv-actions .rv-approve.is-approved:disabled{background:#17352b!important;border-color:#285443!important;color:#72a994!important;opacity:1;cursor:default;filter:saturate(.55)}
.rv-rewrite{margin:0 16px 16px;border:1px solid #3b465d;border-radius:8px;background:#15171c;overflow:hidden}.rv-rewrite[hidden]{display:none}.rv-rewrite>header{min-height:62px;padding:12px 14px 12px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303746;background:#1d2330}.rv-rewrite>header>div{display:flex;align-items:center;gap:12px}.rv-rewrite>header .ico{width:21px;height:21px;color:#adc6ff}.rv-rewrite>header strong{display:block;color:#f1f2f8;font-size:14px}.rv-rewrite>header p{margin:2px 0 0;color:#9da4b5;font-size:11px}.rv-rewrite-close{width:32px;height:32px;padding:0!important;display:grid!important;place-items:center;border:0!important;background:transparent!important}.rv-rewrite-close:hover{background:#303746!important}.rv-rewrite form{padding:16px}.rv-rewrite fieldset{padding:0;margin:0;border:0}.rv-rewrite legend,.rv-rewrite-instruction>span,.rv-rewrite-result label>span{display:block;margin-bottom:8px;color:#aeb4c4;font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.rv-tones{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.rv-tones label{min-width:0;cursor:pointer}.rv-tones input{position:absolute;opacity:0;pointer-events:none}.rv-tones span{min-height:62px;padding:10px;display:flex;flex-direction:column;justify-content:center;border:1px solid #363b47;border-radius:5px;background:#202126;transition:background-color .16s,border-color .16s,box-shadow .16s}.rv-tones b{color:#e5e6ed;font-size:12px}.rv-tones small{margin-top:3px;color:#8f94a2;font-size:10px;line-height:1.25}.rv-tones input:checked+span{border-color:#82a9f5;background:#27354f;box-shadow:0 5px 14px rgba(77,142,255,.14)}.rv-tones input:focus-visible+span{outline:2px solid #d7e4ff;outline-offset:2px}.rv-rewrite-instruction{display:block;margin-top:14px}.rv-rewrite-instruction input{width:100%;height:40px;padding:0 12px;background:#0e0f12!important;border:1px solid #363b47!important;color:#eee!important}.rv-rewrite-command{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.rv-rewrite-command p{margin:0;color:#858b99;font-size:10px}.rv-rewrite-command button,.rv-rewrite-result footer button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px}.rv-rewrite-command button{background:#adc6ff!important;border-color:#adc6ff!important;color:#062a61!important}.rv-rewrite-command .ico,.rv-rewrite-result .ico{width:16px;height:16px}.rv-rewrite-result{padding:0 16px 16px}.rv-rewrite-result[hidden]{display:none}.rv-rewrite-result label{display:block;padding-top:14px;border-top:1px solid #303746}.rv-rewrite-result textarea{width:100%;min-height:112px;padding:12px 14px;resize:vertical;background:#0d0e11!important;border:1px solid #414756!important;color:#f1f1f4!important;font:15px/1.55 var(--font-display)}.rv-rewrite-result footer{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.rv-rewrite-apply{background:#4edea3!important;border-color:#4edea3!important;color:#062c20!important}@media(max-width:900px){.rv-tones{grid-template-columns:repeat(2,1fr)}.rv-rewrite-command{align-items:stretch;flex-direction:column}.rv-rewrite-command button{width:100%}}@media(max-width:540px){.rv-tones{grid-template-columns:1fr}.rv-rewrite{margin:0 10px 12px}.rv-rewrite-result footer{flex-direction:column}.rv-rewrite-result footer button{width:100%}}
.rv-collapse{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0!important;background:transparent!important;color:#8c909f!important}.rv-collapse:hover{background:#2a2a2b!important;color:#adc6ff!important}.rv-collapse .ico{width:18px!important;height:18px!important}.rv-card.collapsed>:not(header){display:none!important}.rv-card.collapsed>header{border-bottom:0}.rv-card.collapsed{opacity:.72}.rv-card.collapsed:hover{opacity:1}.rv-card.collapsed .rv-collapse{color:#4edea3!important}.rv-finish button.is-reviewed:disabled{background:#17352b!important;color:#72a994!important;opacity:1;cursor:default}

/* Revisión · editor de recorte */
.rv-summary{top:48px}
.rv-cut{width:min(768px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #424754!important;border-radius:8px!important;background:#1c1b1c!important;color:#e5e2e3;overflow:auto;box-shadow:0 24px 80px #000b!important}.rv-cut::backdrop{background:rgba(14,14,15,.82);backdrop-filter:blur(5px)}.rv-cuthead{height:56px;padding:0 16px;display:flex;align-items:center;gap:18px;background:#2a2a2b;border-bottom:1px solid #424754}.rv-cuthead strong{font-size:14px;white-space:nowrap}.rv-cuttools{display:flex;align-items:center;gap:8px;margin-right:auto}.rv-cuttools>span{color:#c2c6d6;font:11px var(--font-mono);letter-spacing:.05em}.rv-cuttools button{height:30px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid #424754!important;border-radius:4px!important;background:#353436!important;color:#e5e2e3!important;font-size:11px}.rv-cuttools button:hover,.rv-cuttools button.active{background:#3a465b!important;border-color:#6682b2!important}.rv-cuttools .ico{width:17px;height:17px}.rv-cuthead>#rv-close{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0!important;border-radius:50%!important;background:transparent!important;color:#c2c6d6!important}.rv-cuthead>#rv-close:hover{background:#353436!important;color:#fff!important}.rv-cuthead>#rv-close .ico{width:20px;height:20px}.rv-cutcontent{padding:16px;display:grid;gap:16px}.rv-cutplayer{position:relative;aspect-ratio:16/9;background:#0e0e0f;border:1px solid #424754;border-radius:4px;overflow:hidden}.rv-cutplayer video{display:block;width:100%;height:100%;object-fit:contain;background:#0e0e0f}.rv-big-play{position:absolute;inset:0;margin:auto;width:58px;height:58px;padding:0;border:0!important;background:transparent!important;color:rgba(173,198,255,.55)!important}.rv-big-play:hover{color:#adc6ff!important;transform:scale(1.06)}.rv-big-play .ico{width:58px;height:58px}.rv-cutcontrols{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(14,14,15,.96));display:grid;gap:6px}.rv-cuttimeline{position:relative;height:24px;cursor:pointer;touch-action:none}.rv-cuttrack,.rv-cutselection{position:absolute;left:0;right:0;top:10px;height:6px;border-radius:999px;background:rgba(66,71,84,.7)}.rv-cutselection{right:auto;background:rgba(173,198,255,.52)}.rv-cutmark{position:absolute;top:3px;width:2px;height:18px;background:#4edea3;z-index:2;transform:translateX(-1px);box-shadow:0 0 8px rgba(78,222,163,.55)}.rv-cutmark::before{content:"";position:absolute;top:-3px;left:-4px;width:10px;height:10px;border-radius:50%;background:#4edea3}.rv-cutheadpos{position:absolute;top:0;width:4px;height:24px;background:#e5e2e3;z-index:3;transform:translateX(-2px);box-shadow:0 2px 8px #000}.rv-cutheadpos::before{content:"";position:absolute;top:-3px;left:-6px;width:16px;height:8px;border-radius:3px 3px 0 0;background:#e5e2e3}.rv-controlrow,.rv-controlrow>div{display:flex;align-items:center;justify-content:space-between}.rv-controlrow>div{gap:8px}.rv-controlrow button{width:26px;height:26px;padding:0;display:grid;place-items:center;border:0!important;background:transparent!important;color:#e5e2e3!important}.rv-controlrow button:hover{color:#adc6ff!important}.rv-controlrow button.muted{color:#ffb4ab!important}.rv-controlrow .ico{width:20px;height:20px}.rv-controlrow time{color:#c2c6d6;font:11px var(--font-mono)}#rv-cut-form{padding:0!important;display:grid;gap:16px}.rv-timefields{display:grid!important;grid-template-columns:1fr 1fr;gap:16px}.rv-timefields label,.rv-transcript{color:#c2c6d6;font:11px var(--font-mono);letter-spacing:.05em}.rv-timefields input{display:block;width:100%;height:42px;margin-top:7px;padding:0 12px;background:#0e0e0f!important;border-color:#424754!important;color:#e5e2e3!important;font:13px var(--font-mono)}.rv-transcript{display:grid;gap:7px}.rv-transcript textarea{width:100%;min-height:84px;padding:14px 16px;resize:vertical;background:#0e0e0f!important;border:1px solid #424754!important;border-radius:8px!important;color:#e5e2e3!important;font:16px/1.55 var(--font-display)}.rv-cutactions{min-height:68px;padding:12px 16px;margin:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #424754;background:rgba(32,31,32,.65)}.rv-cutactions>div{display:flex;gap:8px}.rv-cutactions button{height:38px;padding:0 14px;display:flex;align-items:center;gap:9px;border:1px solid #424754!important;border-radius:4px!important;background:transparent!important;color:#c2c6d6!important}.rv-cutactions button:hover{background:#2a2a2b!important;color:#fff!important}.rv-cutactions .rv-cutsave{padding:0 22px;background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}.rv-cutactions .rv-cutsave:hover{background:#c5d6ff!important;box-shadow:0 5px 16px rgba(173,198,255,.22)!important;transform:translateY(-1px)}.rv-cutsave .ico{width:18px;height:18px}@media(max-width:680px){.rv-cuttools>span,.rv-cuttools button:nth-of-type(2){display:none}.rv-cutcontent{padding:10px}.rv-cutactions{align-items:stretch;gap:10px;flex-direction:column}.rv-cutactions>div{display:grid;grid-template-columns:1fr 1fr}.rv-cutactions button{justify-content:center}.rv-cutactions .rv-cutsave{width:100%;justify-content:center}}

.rv-source-tabs{display:flex;padding:0 16px;border-bottom:1px solid #353436}.rv-source-tabs button{height:42px;padding:0 14px;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;color:#9296a2!important}.rv-source-tabs button.active{border-bottom-color:#adc6ff!important;color:#e5e2e3!important}.rv-freecut{padding:16px!important;display:grid;gap:12px}.rv-freecut>label{display:grid;gap:7px;color:#aeb1bd;font:500 10px var(--font-mono);text-transform:uppercase}.rv-freecut select{width:100%;padding:9px!important}.rv-freecut video{width:100%;max-height:300px;background:#09090a;border:1px solid #353436}.rv-freecut-times{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:8px}.rv-freecut-times label{display:grid;gap:6px;color:#aeb1bd;font:500 10px var(--font-mono);text-transform:uppercase}.rv-freecut-times input{width:100%;padding:9px!important;font-variant-numeric:tabular-nums}.rv-freecut-times button{height:36px;white-space:nowrap}.rv-freecut>p{margin:0;color:#8c909f;font-size:11px}.rv-freecut footer{margin-top:0}.rv-freecut footer button{min-width:170px}@media(max-width:650px){.rv-freecut-times{grid-template-columns:1fr auto}.rv-freecut video{max-height:220px}}

/* Media Library · estados hover consistentes (las bases usan !important). */
.rv-textwrap{position:relative}.rv-texttools{position:absolute;z-index:12;height:52px;padding:5px;display:flex;align-items:center;gap:3px;background:#353436;border:1px solid rgba(173,198,255,.45);border-radius:6px;box-shadow:0 12px 28px #0009;transform:translateY(-100%)}.rv-texttools[hidden]{display:none}.rv-texttools::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:#353436;border-right:1px solid rgba(173,198,255,.45);border-bottom:1px solid rgba(173,198,255,.45);transform:translateX(-50%) rotate(45deg)}.rv-texttools button{position:relative;z-index:1;width:39px;height:39px;padding:0;display:grid;place-items:center;border:0!important;border-radius:4px!important;background:transparent!important;color:#e5e2e3!important}.rv-texttools button:hover{background:rgba(173,198,255,.14)!important;color:#adc6ff!important}.rv-texttools #rv-text-delete{color:#ffb4ab!important}.rv-texttools #rv-text-delete:hover{background:rgba(255,180,171,.12)!important}.rv-texttools i{width:1px;height:26px;margin:0 3px;background:#4b4b50}.rv-texttools .ico{width:22px;height:22px}.rv-transcript textarea::selection{background:rgba(173,198,255,.32);color:#fff}
.rv-cutexcluded{position:absolute;top:8px;height:10px;z-index:2;background:repeating-linear-gradient(135deg,rgba(255,180,171,.9) 0 4px,rgba(147,0,10,.9) 4px 8px);border:1px solid #ffb4ab;border-radius:2px;pointer-events:none}
.rv-cutmark{cursor:ew-resize;touch-action:none}.rv-cutheadpos{cursor:grab;touch-action:none}.rv-cutheadpos:active{cursor:grabbing}.rv-zoom{display:flex!important;align-items:center;gap:3px!important}.rv-zoom button{width:28px!important}.rv-zoom span{min-width:30px;text-align:center;color:#adc6ff;font:10px var(--font-mono)}

/* Proyectos */
.workspace:has(.pj-page)>.topbar{display:none}.envoltura:has(.pj-page){padding:0;max-width:none}.pj-page{min-height:100vh;padding:0 16px 92px;background:#131314;color:#e5e2e3}.pj-toolbar{position:sticky;top:0;z-index:30;height:48px;margin:0 -16px;padding:0 16px;display:flex;align-items:center;gap:24px;background:rgba(19,19,20,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(66,71,84,.25)}.pj-toolbar h1{font-size:20px;font-weight:500}.pj-search{position:relative;width:min(420px,38vw)}.pj-search .ico{position:absolute;left:11px;top:8px;width:19px;height:19px;color:#8c909f}.pj-search input{width:100%;height:34px;padding-left:39px!important;background:#2a2a2b!important;border:0!important}.pj-toolbar-actions{margin-left:auto;display:flex;gap:10px}.pj-toolbar-actions>button,.pj-view-top{height:32px;border:1px solid #424754!important;background:transparent!important;color:#c2c6d6!important}.pj-toolbar-actions>button{display:flex;align-items:center;gap:7px}.pj-toolbar-actions .ico,.pj-view-top .ico{width:19px;height:19px}.pj-view-top{display:flex;padding:2px}.pj-view-top button{width:27px;padding:0;border:0!important;background:transparent!important}.pj-view-top button.active{background:#353436!important;color:#adc6ff!important}.pj-processing,.pj-controls,.pj-grid,.pj-no-results{width:min(1400px,100%);margin-left:auto;margin-right:auto}.pj-processing{padding-top:18px}.pj-processing h2{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:18px}.pj-processing h2 .ico{width:18px;height:18px;color:#4edea3}.pj-processing>div{display:grid;gap:8px}.pj-processing article{position:relative;min-height:66px;padding:12px;display:flex;align-items:center;gap:14px;overflow:hidden;border-radius:4px;background:#201f20}.pj-processing article>i{position:absolute;inset:0 auto 0 0;background:rgba(77,142,255,.1)}.pj-job-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;background:#2a2a2b}.pj-job-icon .ico{width:20px;height:20px;color:#adc6ff}.pj-processing article>div{position:relative;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;flex:1}.pj-processing article b{font-weight:500}.pj-processing article small{color:#8c909f;font:10px var(--font-mono)}.pj-processing article em{grid-column:1/-1;display:flex;align-items:center;gap:5px;color:#4edea3;font-size:12px}.pj-processing article em .ico{width:14px;height:14px;animation:rv-save-spin 1s linear infinite}.pj-processing time{position:relative;display:grid;text-align:right;color:#c2c6d6;font:13px var(--font-mono)}.pj-processing time small{font-size:10px}.pj-controls{padding:24px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.pj-chips{display:flex;gap:8px;overflow:auto}.pj-chips button{height:32px;padding:0 16px;border:1px solid rgba(66,71,84,.5)!important;border-radius:999px!important;background:#201f20!important;color:#c2c6d6!important;white-space:nowrap}.pj-chips button:hover{background:#2a2a2b!important;color:#fff!important}.pj-chips button.active{background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}.pj-chips i{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:#4edea3}.pj-controls>div:last-child{display:flex;gap:10px}.pj-controls select{height:32px}.pj-view{display:flex;padding:2px;border:1px solid rgba(66,71,84,.5);background:#201f20}.pj-view button{width:29px;padding:0;border:0!important;background:transparent!important}.pj-view button.active{background:#353436!important;color:#adc6ff!important}.pj-view .ico{width:18px;height:18px}.pj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pj-card{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(66,71,84,.35);border-radius:8px;background:#201f20;box-shadow:0 4px 12px #0003;transition:border-color .2s,box-shadow .2s,transform .2s}.pj-card:hover{border-color:rgba(173,198,255,.4);box-shadow:0 10px 25px #0006;transform:translateY(-2px)}.pj-cover{position:relative;height:128px;display:block;overflow:hidden;background:#353436}.pj-cover video,.pj-pattern{width:100%;height:100%;object-fit:cover;transition:transform .5s}.pj-card:hover .pj-cover video{transform:scale(1.05)}.pj-pattern{display:grid;place-items:center;background-image:radial-gradient(circle at 2px 2px,#8c909f22 1px,transparent 0);background-size:16px 16px}.pj-pattern .ico{width:48px;height:48px;color:#666b78}.pj-cover>i{position:absolute;inset:0;background:linear-gradient(transparent,#201f20)}.pj-badge{position:absolute;left:12px;top:12px;padding:4px 8px;border:1px solid #424754;border-radius:3px;background:#131314cc;color:#c2c6d6;font:10px var(--font-mono);backdrop-filter:blur(6px)}.pj-badge b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4edea3}.pj-badge.listo,.pj-badge.produccion{color:#4edea3}.pj-badge.revision,.pj-badge.error{color:#ffb2b7}.pj-card-menu{position:absolute;right:10px;top:10px;display:flex;align-items:center;gap:4px;z-index:3}.pj-card-menu>span,.pj-card-menu>button{height:25px;padding:0 7px;border:0!important;background:#131314cc!important;color:#8c909f!important;font:10px var(--font-mono);backdrop-filter:blur(6px)}.pj-card-menu>button{width:25px;padding:0;font-size:18px}.pj-card-menu>button:hover{color:#fff!important}.pj-card-menu>div{position:absolute;right:0;top:30px;width:145px;padding:5px;display:grid;background:#2a2a2b;border:1px solid #424754;box-shadow:0 10px 25px #0008}.pj-card-menu>div[hidden]{display:none}.pj-card-menu a{padding:7px 9px;color:#c2c6d6;font-size:12px}.pj-card-menu a:hover{background:#353436;color:#fff}.pj-body{padding:16px;display:flex;flex:1;flex-direction:column;gap:15px}.pj-body h3{overflow:hidden;color:#e5e2e3;font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.pj-card:hover h3{color:#adc6ff}.pj-body p{margin:4px 0 0;display:flex;align-items:center;gap:6px;color:#8c909f;font-size:12px}.pj-body p .ico{width:14px;height:14px}.pj-meta{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.pj-meta label{display:grid;gap:3px;color:#8c909f;font:10px var(--font-mono)}.pj-meta label:last-child{grid-column:1/-1}.pj-meta span{display:flex;align-items:center;gap:5px;color:#c2c6d6;font:12px var(--font-display)}.pj-meta .ico{width:14px;height:14px}.pj-action{padding-top:12px;border-top:1px solid rgba(66,71,84,.35)}.pj-action>a{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #424754;color:#e5e2e3;font-size:12px}.pj-action>a:hover{background:#353436}.pj-action>a.continue{background:#adc6ff;color:#002e6a;border-color:#adc6ff}.pj-action>a.warning,.pj-action>a.error{color:#ffb2b7;background:rgba(255,178,183,.08);border-color:rgba(255,178,183,.25)}.pj-action .ico{width:16px;height:16px}.pj-action>div{display:flex;justify-content:space-between;color:#c2c6d6;font-size:12px}.pj-action>div b{color:#4edea3;font:12px var(--font-mono)}.pj-action>i{display:block;height:6px;margin-top:8px;overflow:hidden;border-radius:6px;background:#353436}.pj-action>i em{display:block;height:100%;background:#4edea3}.pj-grid.list{grid-template-columns:1fr}.pj-grid.list .pj-card{min-height:128px;display:grid;grid-template-columns:220px 1fr}.pj-grid.list .pj-cover{height:100%}.pj-grid.list .pj-body{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center}.pj-grid.list .pj-action{padding:0;border:0}.pj-empty,.pj-no-results{grid-column:1/-1;padding:80px;text-align:center;color:#8c909f}.pj-empty .ico{width:50px;height:50px}.pj-new{position:fixed;right:30px;bottom:28px;z-index:25;height:56px;padding:0 24px;display:flex;align-items:center;gap:9px;border:0!important;border-radius:999px!important;background:#adc6ff!important;color:#002e6a!important;box-shadow:0 12px 28px #0008;font-size:16px}.pj-new:hover{background:#d8e2ff!important;transform:scale(1.04)}.pj-new .ico{width:23px;height:23px;transition:transform .25s}.pj-new:hover .ico{transform:rotate(90deg)}.pj-create{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid #424754!important;background:#1c1b1c!important;color:#e5e2e3}.pj-create::backdrop{background:#0e0e0fd9;backdrop-filter:blur(4px)}.pj-create header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#2a2a2b;border-bottom:1px solid #424754}.pj-create header button{width:30px;padding:0;border:0!important;background:transparent!important;font-size:22px}.pj-create form{padding:18px;display:grid;gap:14px}.pj-create label{display:grid;gap:7px;font:11px var(--font-mono)}.pj-create footer{display:flex;justify-content:flex-end;gap:8px}.pj-create footer button{height:38px}.pj-create-primary{background:#adc6ff!important;color:#002e6a!important;border-color:#adc6ff!important}@media(max-width:1150px){.pj-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.pj-grid{grid-template-columns:repeat(2,1fr)}.pj-controls{align-items:flex-start;flex-direction:column}.pj-toolbar-actions{display:none}.pj-grid.list .pj-card{grid-template-columns:150px 1fr}.pj-grid.list .pj-body{grid-template-columns:1fr}.pj-grid.list .pj-meta{display:none}}@media(max-width:560px){.pj-grid{grid-template-columns:1fr}.pj-toolbar{gap:10px}.pj-search{width:auto;flex:1}.pj-new{right:16px;bottom:16px}.pj-new{width:56px;padding:0;justify-content:center;font-size:0}}

/* Nuevo proyecto */
.workspace:has(.np-page)>.topbar{display:none}.envoltura:has(.np-page){padding:0;max-width:none}.np-page{width:min(1024px,100%);min-height:100vh;margin:auto;padding:32px 40px 80px;color:#e5e2e3}.np-page>header{margin-bottom:44px}.np-page h1{font-size:30px;line-height:38px}.np-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.np-steps span{display:grid;gap:8px;color:#8c909f;font:11px var(--font-mono);letter-spacing:.05em}.np-steps i{height:4px;overflow:hidden;border-radius:4px;background:#353436}.np-steps em{display:block;width:0;height:100%;background:#adc6ff}.np-steps .done em{width:100%}.np-steps .current{color:#adc6ff}.np-steps .current em{width:50%;position:relative;overflow:hidden}.np-steps .current em::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff5,transparent);animation:professional-shimmer 1.8s linear infinite}.np-page form{display:grid;gap:38px}.np-page section>h2,.np-section-head h2{font-size:20px;font-weight:500}.np-page section>p,.np-section-head p{margin:4px 0 14px;color:#c2c6d6}.np-title{width:100%;height:48px;padding:0 16px!important;border-radius:8px!important;background:#1c1b1c!important}.np-providers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.np-providers label{position:relative;min-height:150px;padding:16px;display:grid;align-content:start;gap:8px;border:1px solid #424754;border-radius:8px;background:#1c1b1c;cursor:pointer}.np-providers label:hover{background:#201f20;border-color:#8c909f}.np-providers label:has(input:checked){border-color:#4d8eff;box-shadow:0 0 0 1px #4d8eff;background:rgba(77,142,255,.06)}.np-providers input{position:absolute;opacity:0}.np-providers label>i{position:absolute;right:15px;top:15px;width:20px;height:20px;display:grid;place-items:center;border:1px solid #8c909f;border-radius:50%;color:transparent}.np-providers label:has(input:checked)>i{background:#adc6ff;border-color:#adc6ff;color:#002e6a}.np-ai-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;background:#201f20;color:#adc6ff;font-size:25px}.np-ai-icon.claude{color:#d97757}.np-providers b{font-weight:500}.np-providers small{color:#c2c6d6;line-height:18px}.np-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:12px}.np-section-head>label{position:relative;width:255px}.np-section-head .ico{position:absolute;left:10px;top:8px;width:18px;height:18px;color:#8c909f}.np-section-head input{width:100%;height:34px;padding-left:36px!important;background:#201f20!important}.np-voice-list{max-height:300px;padding-right:5px;display:grid;gap:7px;overflow:auto}.np-voice{min-height:66px;padding:10px 12px;display:grid;grid-template-columns:42px 1fr auto auto;align-items:center;gap:12px;border:1px solid transparent;border-radius:6px;background:#1c1b1c}.np-voice:hover{background:#201f20;border-color:#424754}.np-voice.selected{background:rgba(77,142,255,.08);border-color:rgba(173,198,255,.35)}.np-preview{width:40px;height:40px;padding:0;display:grid;place-items:center;border:0!important;border-radius:50%!important;background:#353436!important}.np-voice:hover .np-preview,.np-voice.selected .np-preview{background:#adc6ff!important;color:#002e6a!important}.np-preview .ico{width:20px;height:20px}.np-voice>div{display:grid;gap:3px}.np-voice b{font-weight:500}.np-voice.selected b{color:#adc6ff}.np-voice small{color:#8c909f}.np-select{height:30px;padding:0 14px;border:1px solid #8c909f!important;border-radius:999px!important;background:transparent!important;color:#e5e2e3!important;opacity:0}.np-voice:hover .np-select,.np-voice.selected .np-select{opacity:1}.np-voice.selected .np-select{background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}.np-wave{display:flex;align-items:center;gap:3px;opacity:0}.np-voice.playing .np-wave{opacity:1}.np-wave i{width:3px;height:12px;border-radius:3px;background:#adc6ff;animation:rv-wave-pulse .7s ease-in-out infinite alternate}.np-wave i:nth-child(2){height:20px;animation-delay:-.2s}.np-wave i:nth-child(3){height:8px;animation-delay:-.4s}.np-wave i:nth-child(4){height:16px;animation-delay:-.1s}.np-voice-loading{padding:45px;text-align:center;color:#8c909f;border:1px dashed #424754}.np-voice-loading.error{color:#ffb4ab}.np-speed h2{font-size:14px!important}.np-speed>div{display:flex;align-items:center;gap:12px;margin-top:15px;color:#c2c6d6;font:11px var(--font-mono)}.np-speed label{position:relative;flex:1;padding:0 12px}.np-speed input{width:100%;accent-color:#adc6ff}.np-speed output{position:absolute;left:50%;top:-28px;transform:translateX(-50%);padding:3px 7px;background:#2a2a2b;color:#e5e2e3}.np-page form>footer{padding-top:22px;display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid rgba(66,71,84,.35)}.np-page form>footer a{padding:10px 20px;color:#c2c6d6}.np-page form>footer button{height:46px;padding:0 28px;display:flex;align-items:center;gap:8px;border:0!important;border-radius:8px!important;background:#adc6ff!important;color:#002e6a!important}.np-page form>footer button:hover{background:#d8e2ff!important;box-shadow:0 8px 20px rgba(173,198,255,.18)}.np-page form>footer .ico{width:20px;height:20px}@media(max-width:700px){.np-page{padding:24px 16px 60px}.np-providers{grid-template-columns:1fr}.np-section-head{align-items:stretch;flex-direction:column}.np-section-head>label{width:100%}.np-voice{grid-template-columns:42px 1fr auto}.np-wave{display:none}}

/* Configuración · Gestión de APIs */
.workspace:has(.cf-page)>.topbar{display:none}.envoltura:has(.cf-page){padding:0;max-width:none}.cf-page{min-height:100vh;padding:32px;color:#e5e2e3}.cf-page>header{margin-bottom:28px}.cf-page>header h1{font-size:30px}.cf-page>header p{max-width:780px;margin-top:8px;color:#c2c6d6;line-height:21px}.cf-default{margin-bottom:22px;padding:14px 16px;display:flex;align-items:end;gap:18px;border:1px solid rgba(66,71,84,.45);border-radius:6px;background:#1c1b1c}.cf-default label{display:grid;gap:6px;color:#c2c6d6;font:11px var(--font-mono)}.cf-default select{min-width:250px;height:38px}.cf-default>span{padding-bottom:8px;color:#8c909f;font-size:12px}.cf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cf-card{position:relative;min-height:440px;padding:22px;display:flex;flex-direction:column;gap:20px;overflow:hidden;border:1px solid rgba(66,71,84,.35);border-radius:8px;background:#201f20;box-shadow:0 5px 16px #0003;transition:border-color .18s,box-shadow .18s}.cf-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(173,198,255,.05),transparent 55%);pointer-events:none}.cf-card.rose::before{background:linear-gradient(135deg,rgba(255,81,106,.05),transparent 55%)}.cf-card.green::before{background:linear-gradient(135deg,rgba(78,222,163,.05),transparent 55%)}.cf-card.yellow::before{background:linear-gradient(135deg,rgba(255,210,90,.05),transparent 55%)}.cf-card:hover{border-color:rgba(173,198,255,.35);box-shadow:0 12px 28px #0005}.cf-card>header{position:relative;display:flex;justify-content:space-between}.cf-card>header>div{display:flex;gap:12px}.cf-card>header>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;background:#353436;color:#adc6ff}.cf-card.rose>header>div>span{color:#ff516a}.cf-card.green>header>div>span{color:#4edea3}.cf-card.yellow>header>div>span{color:#ffd25a}.cf-card>header .ico{width:24px;height:24px}.cf-card h2{font-size:20px;font-weight:500}.cf-card header em{margin-top:3px;display:flex;align-items:center;gap:6px;font:11px var(--font-mono)}.cf-card header em i{width:8px;height:8px;border-radius:50%}.cf-card header em.connected{color:#4edea3}.cf-card header em.connected i{background:#4edea3;animation:pulse 1.8s infinite}.cf-card header em.missing{color:#8c909f}.cf-card header em.missing i{background:#8c909f}.cf-more{width:32px;height:32px;padding:0;border:0!important;border-radius:50%!important;background:#353436!important;color:#c2c6d6!important;font-size:18px}.cf-more:hover{background:#3a393a!important;color:#fff!important}.cf-fields{position:relative;display:grid;gap:15px}.cf-fields>label:not(.cf-remove){display:grid;gap:6px;color:#c2c6d6;font:11px var(--font-mono)}.cf-fields select,.cf-fields input[type=password],.cf-fields input[type=text]{width:100%;height:40px;background:#0e0e0f!important;border-color:#424754!important}.cf-key{position:relative}.cf-key input{padding-right:42px!important}.cf-eye{position:absolute;right:4px;top:4px;width:32px;height:32px;padding:0;border:0!important;background:transparent!important;color:#8c909f!important}.cf-eye:hover,.cf-eye.active{color:#adc6ff!important}.cf-eye .ico{width:18px;height:18px}.cf-fields label>small{color:#696d78;font:10px var(--font-display)}.cf-remove{display:flex;align-items:center;gap:8px;color:#ffb4ab;font-size:11px}.cf-remove input{width:auto!important;min-height:0}.cf-local{padding:13px;display:grid;grid-template-columns:1fr auto;gap:7px;background:#0e0e0f;border-radius:6px}.cf-local span{color:#8c909f;font:10px var(--font-mono)}.cf-local b{color:#c2c6d6;font-size:11px}.cf-local>i{grid-column:1/-1;height:6px;overflow:hidden;border-radius:5px;background:#353436}.cf-local em{display:block;height:100%;background:#adc6ff}.cf-card>footer{position:relative;margin-top:auto;padding-top:12px}.cf-test{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #424754!important;background:#353436!important;color:#e5e2e3!important}.cf-test:hover:not(:disabled){background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}.cf-test.testing .ico{animation:rv-save-spin .7s linear infinite}.cf-test .ico{width:18px;height:18px}.cf-card.test-ok{border-color:rgba(78,222,163,.5)}.cf-card.test-error{border-color:rgba(255,180,171,.55)}.cf-save{position:sticky;bottom:12px;z-index:10;margin-top:20px;padding:10px 12px;display:flex;align-items:center;justify-content:flex-end;gap:15px;border:1px solid rgba(66,71,84,.5);background:rgba(32,31,32,.92);backdrop-filter:blur(10px)}.cf-save span{color:#ffb2b7;font-size:12px}.cf-save button{height:40px;padding:0 18px;display:flex;align-items:center;gap:8px;border:0!important;background:#adc6ff!important;color:#002e6a!important}.cf-save button:hover{background:#d8e2ff!important}.cf-save .ico{width:18px;height:18px}.cf-logs{margin-top:32px;overflow:hidden;border:1px solid rgba(66,71,84,.5);border-radius:8px;background:#201f20}.cf-logs>header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;background:#353436;border-bottom:1px solid #424754}.cf-logs h3{display:flex;align-items:center;gap:8px;font-size:14px}.cf-logs h3 .ico{width:20px;height:20px}.cf-logs header button{width:30px;height:30px;padding:0;border:0!important;background:transparent!important}.cf-logs header .ico{width:19px;height:19px}.cf-log,#cf-log{height:230px;padding:14px;overflow:auto;background:#131314;font:12px/18px var(--font-mono)}#cf-log p{margin:0 0 4px;display:grid;grid-template-columns:90px 75px 1fr;gap:8px}#cf-log time{color:#666b78}#cf-log b.info{color:#4edea3}#cf-log b.error{color:#ffb4ab}#cf-log b.debug{color:#adc6ff}#cf-log span{color:#c2c6d6}@media(max-width:1200px){.cf-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.cf-page{padding:22px 14px}.cf-grid{grid-template-columns:1fr}.cf-default{align-items:stretch;flex-direction:column}.cf-default select{min-width:0}.cf-save{bottom:5px}}

/* Revisión · montaje y creación de bloques */
.rv-blockunit{display:grid;gap:8px}.rv-blockunit[hidden]{display:none!important}.rv-autosave{position:fixed;top:58px;right:22px;z-index:60;height:34px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid rgba(173,198,255,.35);border-radius:4px;background:rgba(32,31,32,.96);color:#adc6ff;font:11px var(--font-mono);box-shadow:0 8px 24px #0008}.rv-autosave[hidden]{display:none}.rv-autosave i{width:12px;height:12px;border:2px solid rgba(173,198,255,.35);border-top-color:#adc6ff;border-radius:50%;animation:rv-save-spin .7s linear infinite}.rv-autosave.done{border-color:rgba(78,222,163,.35);color:#4edea3}.rv-autosave.done i{border:0;background:#4edea3;animation:none}.rv-autosave.done i::after{content:"✓";position:relative;top:-4px;left:2px;color:#003824;font:bold 9px sans-serif}@keyframes rv-save-spin{to{transform:rotate(360deg)}}
.rv-card>header>div:last-child{display:flex;align-items:center;gap:10px}.rv-drag,.rv-delete{width:28px;height:28px;padding:0;display:grid;place-items:center;border:0!important;background:transparent!important;color:#8c909f!important}.rv-drag{margin-left:-8px;cursor:grab}.rv-drag:active{cursor:grabbing}.rv-drag:hover{color:#e5e2e3!important}.rv-delete:hover{background:rgba(255,180,171,.09)!important;color:#ffb4ab!important}.rv-drag .ico,.rv-delete .ico{width:19px!important;height:19px!important}.rv-card.is-dragging{opacity:.35!important;border-color:#adc6ff!important}.rv-insert{position:relative;height:22px;margin:-7px 0;display:flex;align-items:center;justify-content:center;z-index:5}.rv-insert>i{position:absolute;left:0;right:0;height:1px;background:#424754;transition:background .16s}.rv-insert>div{position:relative;display:flex;gap:7px;opacity:0;transform:translateY(3px);pointer-events:none;transition:opacity .16s,transform .16s}.rv-insert:hover>i{background:rgba(173,198,255,.4)}.rv-insert:hover>div{opacity:1;transform:none;pointer-events:auto}.rv-insert button{height:28px;padding:0 12px;display:flex;align-items:center;gap:6px;border:1px solid #424754!important;border-radius:999px!important;background:#2a2a2b!important;color:#e5e2e3!important;font-size:11px;box-shadow:0 6px 18px #0008}.rv-insert button:hover{background:#adc6ff!important;border-color:#adc6ff!important;color:#002e6a!important}.rv-insert button small{font-size:9px;opacity:.7}.rv-missing{margin-top:10px;padding:24px;display:grid;justify-items:center;gap:12px;border:2px dashed rgba(66,71,84,.45);border-radius:6px;background:rgba(14,14,15,.45);color:#c2c6d6}.rv-missing>div{display:flex;gap:12px}.rv-missing button{height:38px;padding:0 16px;display:flex;align-items:center;gap:8px;border:1px solid #424754!important;background:#2a2a2b!important;color:#e5e2e3!important}.rv-missing button:hover{border-color:rgba(173,198,255,.6)!important;background:#30333a!important}.rv-missing button small{color:#8c909f}.rv-missing .ico{width:18px;height:18px;color:#adc6ff}.rv-create{width:min(560px,calc(100vw - 32px));padding:0;border:1px solid #424754!important;border-radius:8px!important;background:#1c1b1c!important;color:#e5e2e3;box-shadow:0 24px 80px #000c!important}.rv-create::backdrop{background:#0e0e0fd9;backdrop-filter:blur(4px)}.rv-create>header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #424754;background:#2a2a2b}.rv-create>header button{width:30px;height:30px;padding:0;border:0!important;background:transparent!important;font-size:22px}.rv-create>form{padding:16px}.rv-create label{display:grid;gap:8px;font:11px var(--font-mono);letter-spacing:.05em}.rv-create textarea{width:100%;padding:12px;font:14px/1.5 var(--font-display)}.rv-create footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.rv-create footer button{height:36px}.rv-create-primary{background:#adc6ff!important;color:#002e6a!important;border-color:#adc6ff!important}.rv-omitted{width:min(720px,calc(100vw - 32px))}.rv-omitted-search{padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #353436}.rv-omitted-search input{flex:1}.rv-omitted-search span{color:#8c909f;font:11px var(--font-mono)}.rv-omitted-list{max-height:55vh;padding:8px;display:grid;gap:5px;overflow:auto}.rv-omitted-list>button{width:100%;padding:11px 12px;display:grid;grid-template-columns:150px 1fr;gap:12px;text-align:left;border:1px solid transparent!important;background:#201f20!important;color:#e5e2e3!important}.rv-omitted-list>button:hover{border-color:rgba(173,198,255,.45)!important;background:#2a2a2b!important}.rv-omitted-list>button span{display:grid;gap:4px}.rv-omitted-list>button b{font:11px var(--font-mono);color:#adc6ff}.rv-omitted-list>button small{color:#4edea3;font-size:10px}.rv-omitted-list>button p{margin:0;color:#c2c6d6;font-size:13px;line-height:18px}.rv-no-omitted{padding:40px;text-align:center;color:#8c909f}@media(max-width:650px){.rv-insert>div{opacity:1;pointer-events:auto}.rv-insert button small,.rv-missing button small{display:none}.rv-omitted-list>button{grid-template-columns:1fr}.rv-missing>div{flex-direction:column}}

/* Media Library · estados hover consistentes (las bases usan !important). */
.ml-analyze:not(.is-loading){
  transition:background-color .16s ease,box-shadow .16s ease,border-color .16s ease !important;
}
.ml-analyze:not(.is-loading):hover{
  background:#18b884 !important; border-color:#18b884 !important;
  box-shadow:0 0 0 3px rgba(0,165,114,.16),0 8px 20px rgba(0,0,0,.22) !important;
  transform:none !important;
}
.ml-analyze:not(.is-loading):active{ background:#009568 !important; box-shadow:none !important; }
.ml-analyze:focus-visible{ outline:0 !important; box-shadow:0 0 0 3px rgba(173,198,255,.38) !important; }

.ml-btn{ transition:background-color .16s ease,color .16s ease,border-color .16s ease !important; }
.ml-btn:hover{ background:#353536 !important; border-color:#4a4a4d !important; color:#fff !important; transform:none !important; box-shadow:none !important; }
.ml-btn.primary:hover{ background:#bed2ff !important; border-color:#bed2ff !important; color:#002e6a !important; }
.ml-btn:active{ background:#202022 !important; }
.ml-btn.primary:active{ background:#96b5fb !important; }

.ml-add:not(.is-loading){ transition:background-color .16s ease,box-shadow .16s ease !important; }
.ml-add:not(.is-loading):hover{ background:#4a494a !important; box-shadow:0 0 0 1px #5d5c5e !important; transform:none !important; }
.ml-add:not(.is-loading):active{ background:#323133 !important; box-shadow:none !important; }

.ml-fstep button:hover,.ml-mark:hover{ background:rgba(173,198,255,.10) !important; color:#adc6ff !important; }
.ml-fstep button:active,.ml-mark:active{ background:rgba(173,198,255,.18) !important; }
.frag-add:hover{ background:#1a191a !important; border-color:#6b7180 !important; color:#adc6ff !important; }
.frag-add:active{ background:#222123 !important; }

/* ============================================================
   NAVEGACIÓN GLOBAL · estado activo del prototipo Stitch
   ============================================================ */
.sidebar{ background:#1c1b1c !important; }
.nav-item{ min-height:40px; border-radius:4px !important; color:#c2c6d6 !important; }
.nav-item:hover{ background:#2a2a2b !important; color:#e5e2e3 !important; }
.nav-item.activo{
  background:#4d8eff !important; color:#00285d !important;
  box-shadow:none !important; font-weight:500;
}
.nav-item.activo .ico{ stroke:#00285d !important; }

/* Papelera de proyectos */
.trash-page{max-width:1120px;margin:0 auto;padding:32px;display:grid;gap:22px}.trash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.trash-head h1{margin:0 0 5px;font:600 30px/38px Geist,sans-serif}.trash-head p,.trash-summary p{margin:0;color:#8c909f}.trash-empty,.trash-actions button{min-height:38px;padding:0 14px;border:1px solid #424754!important;border-radius:4px!important;background:#2a2a2b!important;color:#e5e2e3!important}.trash-empty,.trash-actions .danger{border-color:rgba(255,180,171,.35)!important;color:#ffb4ab!important}.trash-summary{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #353436;border-radius:8px;background:#201f20}.trash-summary div{display:grid;gap:6px}.trash-summary small,.trash-list dt{color:#8c909f;font:10px/14px "JetBrains Mono",monospace;letter-spacing:.1em}.trash-summary strong{font:600 26px/32px Geist,sans-serif;color:#adc6ff}.trash-list{display:grid;gap:10px}.trash-list>article{padding:16px 18px;display:grid;grid-template-columns:44px minmax(220px,1fr) auto auto;align-items:center;gap:18px;border:1px solid #353436;border-radius:7px;background:#1c1b1c}.trash-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:5px;background:#2a2a2b;color:#adc6ff}.trash-icon .ico{width:22px;height:22px}.trash-list h2{margin:0 0 4px;font:500 15px/20px Geist,sans-serif}.trash-list article p{margin:0;color:#8c909f;font:10px/14px "JetBrains Mono",monospace}.trash-list dl{margin:0;display:flex;gap:28px}.trash-list dl div{display:grid;gap:4px}.trash-list dd{margin:0;color:#c2c6d6;font-size:12px;white-space:nowrap}.trash-actions{display:flex;gap:8px}.trash-actions button:hover,.trash-empty:hover{background:#353436!important}.trash-actions button:disabled{opacity:.5}.trash-empty-state{padding:80px 20px;text-align:center;border:1px dashed #353436;border-radius:8px;color:#8c909f}.trash-empty-state .ico{width:40px;height:40px}.trash-empty-state h2{color:#c2c6d6}@media(max-width:900px){.trash-page{padding:20px}.trash-list>article{grid-template-columns:44px 1fr}.trash-list dl,.trash-actions{grid-column:2}.trash-head,.trash-summary{align-items:flex-start;flex-direction:column}}

/* ============================================================
   TRANSCRIPCIÓN · estudio editorial inspirado en el HTML Stitch
   ============================================================ */
.app-shell:has(.ts-studio) .stepper{ display:none !important; }
.envoltura:has(.ts-studio){ padding:0 !important; max-width:none; height:calc(100vh - 48px); overflow:hidden; }
.ts-studio,.ts-studio.reveal{ --ts-line:rgba(66,71,84,.34); display:grid; grid-template-columns:minmax(340px,34%) minmax(0,1fr); height:100%; min-height:0; background:#131314; color:#e5e2e3; opacity:1 !important; transform:none !important; }
.ts-side{ min-width:0; display:flex; flex-direction:column; overflow:hidden; border-right:1px solid var(--ts-line); background:#1c1b1c; }
.ts-player{ position:relative; flex:0 0 auto; aspect-ratio:16/9; overflow:hidden; background:#0e0e0f; }
.ts-player video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ts-player-shade{ position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(14,14,15,.56),transparent 44%,rgba(14,14,15,.9)); }
.ts-format{ position:absolute; top:16px; left:16px; padding:5px 9px; border:1px solid var(--ts-line); border-radius:3px !important; background:rgba(19,19,20,.78); color:#e5e2e3; font:500 11px/15px "JetBrains Mono",monospace; letter-spacing:.06em; }
.ts-fit{ position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; border-radius:4px !important; background:rgba(19,19,20,.46); color:#e5e2e3; }
.ts-fit:hover{ background:#2a2a2b; }.ts-fit .ico{ width:18px; height:18px; }
.ts-transport{ position:absolute; left:0; right:0; bottom:0; padding:0 18px 16px; }
.ts-progress{ position:relative; height:4px; margin-bottom:10px; border-radius:99px !important; background:#353436; cursor:pointer; }
.ts-progress span{ position:absolute; inset:0 auto 0 0; width:0; border-radius:99px !important; background:#adc6ff; }
.ts-progress i{ position:absolute; left:0; top:50%; width:10px; height:10px; border-radius:50% !important; background:#adc6ff; opacity:0; transform:translate(-50%,-50%); }
.ts-progress:hover i{ opacity:1; }
.ts-controls{ display:flex; align-items:center; min-width:0; gap:7px; }
.ts-controls button{ display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:4px !important; background:transparent; color:#e5e2e3; }
.ts-controls button:hover{ background:rgba(255,255,255,.08); color:#adc6ff; }.ts-controls .ico{ width:19px; height:19px; }
.ts-controls span{ font:400 12px/18px "JetBrains Mono",monospace; white-space:nowrap; }.ts-current{ color:#adc6ff; }.ts-total{ color:#777b88; }.ts-total b{ font-weight:400; }.ts-control-spacer{ flex:1; }

.ts-tools{ flex:1; min-height:0; overflow-y:auto; padding:20px; }
.ts-tools,.sidebar,.nav-global,.project-navigation{ scrollbar-width:none; -ms-overflow-style:none; }
.ts-tools::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.nav-global::-webkit-scrollbar,.project-navigation::-webkit-scrollbar{ display:none; width:0; height:0; }
.ts-status,.ts-glossary{ display:grid; gap:14px; }.ts-status{ padding-bottom:24px; border-bottom:1px solid var(--ts-line); }
.ts-status header,.ts-glossary header{ display:flex; align-items:center; justify-content:space-between; gap:12px; color:#c2c6d6; font:500 11px/14px "JetBrains Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.ts-status header b{ display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid rgba(78,222,163,.25); border-radius:3px !important; background:rgba(0,165,114,.08); color:#4edea3; font:500 10px/13px "JetBrains Mono",monospace; }
.ts-status header b i{ width:7px; height:7px; border-radius:50% !important; background:#4edea3; box-shadow:0 0 7px #4edea3; }
.ts-settings{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }.ts-settings label{ display:grid; gap:7px; color:#c2c6d6; font:500 11px/14px "JetBrains Mono",monospace; }
.ts-settings select{ width:100%; height:40px; padding:0 28px 0 10px; border:1px solid var(--ts-line) !important; border-radius:3px !important; background:#201f20 !important; color:#e5e2e3; font:400 12px/16px Geist,sans-serif; }
#form-transcribir{ margin:0; }.transcribe-btn{ width:100%; min-height:40px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid #4d8eff !important; border-radius:4px !important; background:#4d8eff !important; color:#fff !important; }
.retranscribe-btn{width:100%;min-height:38px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #424754!important;border-radius:4px!important;background:#2a2a2b!important;color:#c2c6d6!important}.retranscribe-btn[hidden]{display:none!important}.retranscribe-btn:hover:not(:disabled){border-color:#6682b2!important;background:#30333a!important;color:#adc6ff!important}.retranscribe-btn:disabled{opacity:.55;cursor:progress}.retranscribe-btn .ico{width:17px;height:17px}
.transcribe-btn:hover:not(:disabled){ background:#609aff !important; }.transcribe-btn:disabled{ border-color:rgba(78,222,163,.24) !important; background:rgba(0,165,114,.09) !important; color:#4edea3 !important; opacity:1; }
.transcribe-btn.is-loading{ position:relative; color:#fff !important; opacity:1 !important; }
.transcribe-btn.is-loading::before{ display:none !important; }
.transcribe-btn.is-loading::after{ content:"" !important; position:static !important; display:block !important; width:17px !important; height:17px !important; margin:0 !important; border:2px solid rgba(255,255,255,.32) !important; border-top-color:#fff !important; border-radius:50% !important; animation:chimi-spin .75s linear infinite !important; }
.transcribe-btn.is-loading .ico{ display:none; }.transcribe-btn.is-loading .txt{ visibility:visible !important; }
.ts-job{ display:flex; align-items:flex-start; gap:9px; padding:10px 11px; border:1px solid var(--ts-line); border-radius:4px !important; background:#201f20; color:#c2c6d6; font:400 11px/16px Geist,sans-serif; }
.ts-job[hidden]{ display:none !important; }.ts-job i{ flex:0 0 8px; width:8px; height:8px; margin-top:4px; border-radius:50% !important; background:#8c909f; }
.ts-job.en_cola i{ background:#adc6ff; }.ts-job.procesando i{ background:#4edea3; box-shadow:0 0 7px rgba(78,222,163,.7); animation:chimi-pulse-ring 1.4s infinite; }.ts-job.error{ border-color:rgba(255,180,171,.25); color:#ffb4ab; }.ts-job.error i{ background:#ffb4ab; }
.ts-glossary{ padding-top:24px; }.ts-glossary header button{ display:flex; align-items:center; gap:5px; padding:4px; border:0; background:transparent; color:#adc6ff; text-transform:none; }.ts-glossary header button:hover{ color:#d8e2ff; }
.ts-glossary header .ico{ width:15px; height:15px; }.ts-glossary>div{ padding:14px; border:1px solid var(--ts-line); border-radius:3px !important; background:#201f20; }
.ts-glossary p{ margin:0; color:#c2c6d6; font:400 12px/1.6 Geist,sans-serif; }.ts-tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }.ts-tags span{ padding:4px 7px; border-radius:3px !important; background:#353436; color:#e5e2e3; font:400 10px/14px "JetBrains Mono",monospace; }

.ts-editor{ min-width:0; display:grid; grid-template-rows:56px minmax(0,1fr); overflow:hidden; background:#131314; }
.ts-toolbar{ display:flex; align-items:center; gap:14px; padding:0 24px; border-bottom:1px solid var(--ts-line); background:rgba(19,19,20,.94); }
.ts-search{ position:relative; width:min(320px,38%); }.ts-search .ico{ position:absolute; left:11px; top:50%; width:18px; height:18px; transform:translateY(-50%); stroke:#c2c6d6; }.ts-search input{ width:100%; height:34px; padding:0 12px 0 38px !important; border-color:var(--ts-line) !important; background:#201f20 !important; font-size:12px; }
.ts-speakers-label{ color:#c2c6d6; font:500 10px/14px "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
#speaker-filters{ display:flex; gap:6px; }.ts-toolbar #speaker-filters button{ height:26px; display:flex; align-items:center; gap:6px; padding:0 10px; border:1px solid var(--ts-line); border-radius:14px !important; background:#353436; color:#c2c6d6; font:500 10px/14px Geist,sans-serif; }.ts-toolbar #speaker-filters button:hover,.ts-toolbar #speaker-filters button.active{ border-color:rgba(173,198,255,.36); background:rgba(77,142,255,.16); color:#adc6ff; }
.ts-toolbar-spacer{ flex:1; }.ts-undo,.ts-export{ height:34px; border-radius:3px !important; color:#c2c6d6; }.ts-undo{ width:34px; border:0; background:transparent; font-size:22px; }.ts-undo:hover{ background:#2a2a2b; color:#e5e2e3; }.ts-divider{ width:1px; height:18px; background:var(--ts-line); }.ts-export{ display:flex; align-items:center; gap:8px; padding:0 14px; border:1px solid var(--ts-line); background:#201f20; font:500 11px/15px Geist,sans-serif; }.ts-export:hover{ background:#353436; color:#fff; }.ts-export .ico{ width:16px; height:16px; }
.ts-undo:disabled{ opacity:.32; cursor:not-allowed; }.ts-undo:disabled:hover{ background:transparent; color:#c2c6d6; }

.ts-segments{ min-height:0; overflow-y:auto; padding:34px 28px 100px; scroll-behavior:smooth; }.ts-segments .transcript-panel{ display:none; width:min(100%,900px); margin:0 auto; padding:0; }.ts-segments .transcript-panel.active{ display:grid; gap:6px; }
.ts-segments .transcript-segment{ position:relative; display:grid; grid-template-columns:122px minmax(0,1fr); gap:18px; padding:14px 16px; border:1px solid transparent !important; border-left:4px solid transparent !important; border-radius:5px !important; background:transparent; cursor:pointer; transition:background-color .15s ease,border-color .15s ease; }
.ts-segments .transcript-segment:hover{ border-color:var(--ts-line) !important; background:#1c1b1c; }.ts-segments .transcript-segment.playing{ margin:8px 0; padding-top:20px; padding-bottom:20px; border-color:rgba(173,198,255,.28) !important; border-left-color:#adc6ff !important; background:#1a1a1c; box-shadow:0 8px 28px rgba(0,0,0,.15); }
.segment-meta{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }.segment-time{ padding:0; border:0; background:transparent; color:#c2c6d6; font:400 12px/18px "JetBrains Mono",monospace; }.playing .segment-time{ color:#adc6ff; font-weight:500; }
.seg-speaker{ position:relative; display:flex; align-items:center; gap:4px; }.speaker-chip{ display:flex !important; align-items:center; gap:6px; max-width:110px; padding:5px 8px !important; border:1px solid rgba(255,178,183,.22); border-radius:3px !important; background:rgba(255,81,106,.08) !important; color:#ffb2b7 !important; font:400 10px/15px "JetBrains Mono",monospace !important; font-style:normal !important; }.speaker-chip i{ flex:0 0 7px; width:7px; height:7px; border-radius:50% !important; background:currentColor; }.playing .speaker-chip{ border-color:rgba(78,222,163,.32); background:rgba(0,165,114,.1) !important; color:#4edea3 !important; }
.speaker-edit{ width:24px; height:24px; padding:0; border:0; background:transparent; color:#8c909f; opacity:0; }.seg-speaker:hover .speaker-edit{ opacity:1; }.speaker-edit .ico{ width:13px; height:13px; }
.ts-wave{ display:none; width:104px; height:28px; overflow:hidden; }.playing .ts-wave{ display:block; }.ts-wave canvas{ display:block; width:104px; height:28px; }
.ts-segments .transcript-segment p{ margin:1px 0 0; color:#c2c6d6; font:400 14px/1.62 Geist,sans-serif; outline:0; }.ts-segments .transcript-segment.playing p{ color:#e5e2e3; font-size:20px; line-height:1.35; font-weight:500; }.ts-segments .transcript-segment p:focus{ padding:8px; margin:-7px -8px; border-radius:3px !important; background:#201f20; box-shadow:0 0 0 1px rgba(173,198,255,.5); }
.ts-segments .no-transcript{ padding:80px 20px; color:#8c909f; text-align:center; }

@media(max-width:1050px){.ts-studio{grid-template-columns:360px minmax(0,1fr)}.ts-settings{grid-template-columns:1fr}.ts-toolbar{padding:0 14px;gap:8px}.ts-speakers-label{display:none}.ts-segments{padding-inline:18px}.ts-segments .transcript-segment{grid-template-columns:108px minmax(0,1fr)}}
@media(max-width:760px){.envoltura:has(.ts-studio){height:auto;overflow:visible}.ts-studio{display:block}.ts-side{border-right:0}.ts-player{max-height:55vh}.ts-tools{overflow:visible}.ts-editor{height:720px}.ts-toolbar #speaker-filters{display:none}.ts-search{width:100%}.ts-segments .transcript-segment{grid-template-columns:1fr}.segment-meta{flex-direction:row;align-items:center}.ts-segments .transcript-segment.playing p{font-size:17px}}
.ml-tctl,.ml-icobtn,.ml-tctl:hover,.ml-icobtn:hover,.ml-tctl:active,.ml-icobtn:active{
  padding:0 !important; border:0 !important; border-radius:4px !important; transform:none !important;
  background:transparent !important; box-shadow:none !important;
}
.ml-tctl:hover,.ml-icobtn:hover{ background:rgba(255,255,255,.1) !important; }
.ml-tctl:focus-visible,.ml-icobtn:focus-visible{ outline:0 !important; box-shadow:inset 0 0 0 1px #adc6ff !important; }
.ml-tctl::before,.ml-icobtn::before{ margin:auto; }
#ml-mute[data-icon="close"]::before{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4zm11.2 1.2l1.4-1.4 2.2 2.2L21 8.8l1.4 1.4-2.2 2.2 2.2 2.2-1.4 1.4-2.2-2.2-2.2 2.2-1.4-1.4 2.2-2.2-2.2-2.2z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4zm11.2 1.2l1.4-1.4 2.2 2.2L21 8.8l1.4 1.4-2.2 2.2 2.2 2.2-1.4 1.4-2.2-2.2-2.2 2.2-1.4-1.4 2.2-2.2-2.2-2.2z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Controles compatibles con Safari/Chromium: sin máscaras para Play/Pausa. */
.ml-playbtn,.ml-playbtn:hover,.ml-playbtn:active,.ml-playbtn:focus-visible{
  top:50% !important; left:50% !important; right:auto !important; bottom:auto !important;
  margin:0 !important; transform:translate(-50%,-50%) !important;
}
#ml-toggle[data-icon="play_arrow"]::before{
  width:0 !important; height:0 !important; background:transparent !important;
  -webkit-mask:none !important; mask:none !important; clip-path:none !important;
  border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:14px solid #e5e2e3;
}
#ml-toggle[data-icon="pause"]::before{
  box-sizing:border-box !important;
  width:13px !important; height:16px !important; background:transparent !important;
  -webkit-mask:none !important; mask:none !important; clip-path:none !important;
  border-left:3px solid #e5e2e3; border-right:3px solid #e5e2e3;
}
#ml-toggle:focus,#ml-toggle:focus-visible{
  outline:0 !important;
  box-shadow:none !important;
}

/* ============================================================
   MEDIA LIBRARY · réplica del HTML entregado (solo contenido)
   ============================================================ */
.ml{ max-width:none; gap:28px; color:#e5e2e3; }
.ml-head{ align-items:center; margin:0; }
.ml-head h1{ margin:0; font:600 30px/38px "Geist",sans-serif; letter-spacing:-.02em; }
.ml-actions{ gap:10px; }
.ml-btn{ min-height:50px; padding:0 22px; border:0 !important; border-radius:4px !important; background:#2a2a2b !important; color:#e5e2e3 !important; font:500 16px/20px "Geist",sans-serif; }
.ml-btn.primary{ background:#adc6ff !important; color:#002e6a !important; }
.ml-btn.primary .ico{ stroke:#002e6a; }
.ml-url{ padding:22px; border:0 !important; border-radius:8px !important; background:#201f20 !important; }
.ml-source-head{ margin-bottom:10px; }
.ml-label{ color:#8c909f; font:500 11px/14px "JetBrains Mono",monospace; letter-spacing:.13em; }
.ml-url-row{ gap:22px; }
.ml-input{ min-height:50px; padding:0 18px; border:0 !important; border-radius:4px !important; background:#131314 !important; }
.ml-input input{ min-height:48px !important; border:0 !important; background:transparent !important; font:400 13px/18px "JetBrains Mono",monospace; }
.ml-analyze{ min-width:184px; min-height:56px; border:0 !important; border-radius:4px !important; background:#00a572 !important; color:#00311f !important; font:500 16px/20px "Geist",sans-serif; }
.ml-analyze::before{ background:#00311f; }
.ml-editor{ grid-template-columns:minmax(0,1fr) 440px; gap:16px; min-height:625px; }
.ml-player{ border:0 !important; border-radius:8px !important; background:#09090a !important; }
.ml-stage{ min-height:625px; border-radius:8px !important; background:#050506; }
.ml-stage video,.ml-stage .ml-poster{ object-fit:contain; }
.ml-top{ padding:18px; }
.ml-playbtn{ z-index:8; width:90px; height:90px; border:0 !important; border-radius:14px !important; background:#adc6ff !important; color:#002e6a !important; opacity:1; }
.ml-playbtn > *{ display:none !important; }
.ml-playbtn::before{ content:""; display:block; width:31px; height:31px; margin-left:5px; background:#002e6a; clip-path:polygon(18% 5%,92% 50%,18% 95%); }
.ml-player:not(.playing) .ml-playbtn{ opacity:1 !important; pointer-events:auto !important; }
.ml-player.playing .ml-playbtn{ opacity:0; pointer-events:none; }
.ml-transport{ padding:48px 24px 22px; gap:20px; }
.ml-tctl{ flex:0 0 30px; width:30px; height:30px; color:#e5e2e3; }
.ml-tctl > *,.ml-icobtn > *{ display:none !important; }
.ml-tctl::before,.ml-icobtn::before{ content:""; display:block; width:22px; height:22px; background:#e5e2e3; }
#ml-prev::before{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 5v14h2V5H6zm12 0L9 12l9 7V5z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 5v14h2V5H6zm12 0L9 12l9 7V5z'/%3E%3C/svg%3E") center/contain no-repeat; }
#ml-next::before{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 5v14h2V5h-2zM6 5v14l9-7-9-7z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 5v14h2V5h-2zM6 5v14l9-7-9-7z'/%3E%3C/svg%3E") center/contain no-repeat; }
#ml-toggle[data-icon="play_arrow"]::before{ clip-path:polygon(20% 5%,92% 50%,20% 95%); }
#ml-toggle[data-icon="pause"]::before{ -webkit-mask:linear-gradient(90deg,#000 0 34%,transparent 34% 66%,#000 66% 100%); mask:linear-gradient(90deg,#000 0 34%,transparent 34% 66%,#000 66% 100%); }
#ml-mute::before{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4zm11.5-.5a5 5 0 010 7l1.4 1.4a7 7 0 000-9.8l-1.4 1.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9v6h4l5 4V5L8 9H4zm11.5-.5a5 5 0 010 7l1.4 1.4a7 7 0 000-9.8l-1.4 1.4z'/%3E%3C/svg%3E") center/contain no-repeat; }
#ml-fs::before{ -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5v2H6v3H4zm11-5h5v5h-2V6h-3V4zm3 11h2v5h-5v-2h3v-3zM9 18v2H4v-5h2v3h3z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5v2H6v3H4zm11-5h5v5h-2V6h-3V4zm3 11h2v5h-5v-2h3v-3zM9 18v2H4v-5h2v3h3z'/%3E%3C/svg%3E") center/contain no-repeat; }
.ml-progress{ height:5px; background:#3a393a; }.ml-progress-fill{ background:#adc6ff; }
.ml-time{ color:#c2c6d6; font:400 13px/18px "JetBrains Mono",monospace; }
.ml-trim{ padding:22px; gap:28px; border:0 !important; border-radius:8px !important; background:#201f20 !important; }
.ml-trim-head{ padding-bottom:18px; border-color:#424754; }
.ml-trim-head span:first-child{ font:600 16px/22px "Geist",sans-serif; }
.ml-badge{ padding:4px 10px; border-radius:2px !important; background:#4b3837; color:#ffb4ab; font:500 11px/14px "JetBrains Mono",monospace; }
.ml-inout{ grid-template-columns:1fr 1fr; gap:20px; }
.ml-field label{ color:#8c909f; font:500 11px/14px "JetBrains Mono",monospace; }
.ml-field input{ height:48px; border:0 !important; border-radius:2px !important; background:#131314 !important; font:400 15px/20px "JetBrains Mono",monospace; }
.ml-fstep button{ min-height:28px; border:0 !important; background:transparent !important; color:#6c707d !important; }
.ml-dur{ padding:22px; border:0 !important; border-radius:4px !important; background:#131314 !important; }
.ml-dur span{ color:#c2c6d6; font:400 14px/20px "Geist",sans-serif; }.ml-dur b{ color:#adc6ff; font:400 14px/20px "JetBrains Mono",monospace; }
.ml-bar{ height:6px; background:#3a393a; }.ml-bar span{ background:linear-gradient(90deg,#3a393a,#adc6ff,#3a393a); }
.ml-add{ min-height:62px; border:0 !important; border-radius:4px !important; background:#3a393a !important; color:#e5e2e3 !important; font:500 16px/20px "Geist",sans-serif; }
.ml-timeline{ padding:24px 22px; border:0 !important; border-radius:8px !important; background:#201f20 !important; }
.ml-ruler{ height:34px; padding:0 22px; color:#8c909f; font:400 11px/14px "JetBrains Mono",monospace; }
.ml-strip{ height:110px; border-radius:4px !important; background:#0e0e0f; }
.ml-strip-fallback{ background-size:20% 100%; background-position:center; }
.ml-sel{ border:2px solid #adc6ff; background:rgba(173,198,255,.18); pointer-events:none; }
.ml-handle{ z-index:8; width:16px; margin-left:-8px; pointer-events:auto; }
.ml-handle.in{ left:0; }.ml-handle.out{ left:100%; }
.ml-handle::before{ width:12px; height:48px; border-radius:3px !important; background:#adc6ff; }
.ml-playhead{ z-index:10; background:#fff; }
.ml-lib{ margin-top:8px; }.ml-lib > h2{ display:flex; align-items:center; gap:10px; margin:0 0 18px; font:600 18px/26px "Geist",sans-serif; }
.ml-frags{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }
.frag-card{ border:0 !important; border-radius:8px !important; background:#201f20 !important; }
.frag-thumb{ min-height:175px; }.frag-body{ padding:16px; }.frag-body b{ font:400 16px/22px "Geist",sans-serif; }
.frag-play{
  position:absolute; inset:0; margin:auto; width:48px; height:48px;
  display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.12);
  border-radius:50% !important; background:rgba(12,14,18,.88); opacity:1;
  box-shadow:0 5px 16px rgba(0,0,0,.35);
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.frag-card:hover .frag-play,.frag-play:hover,.frag-play:focus-visible{
  opacity:1; background:#adc6ff; border-color:#adc6ff;
  box-shadow:0 6px 18px rgba(0,0,0,.38),0 0 0 3px rgba(173,198,255,.16);
  outline:0; transform:none;
}
.frag-play > *{ display:none !important; }
.frag-play::before{
  content:""; display:block; width:18px; height:18px; margin-left:2px;
  background:#e5e2e3; clip-path:polygon(15% 5%,92% 50%,15% 95%);
  transition:background-color .16s ease;
}
.frag-card:hover .frag-play::before,.frag-play:hover::before,.frag-play:focus-visible::before{ background:#002e6a; }
.frag-add{ min-height:240px; border:1px dashed #424754 !important; border-radius:8px !important; background:transparent !important; }
@media(max-width:1350px){ .ml-editor{ grid-template-columns:minmax(0,1fr) 360px; min-height:520px; }.ml-stage{ min-height:520px; } }
@media(max-width:1050px){ .ml-editor{ grid-template-columns:1fr; }.ml-stage{ min-height:420px; }.ml-trim{ min-height:380px; } }
@media(max-width:660px){
  .ml-head,.ml-lib-head{ align-items:stretch; flex-direction:column; }
  .ml-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .ml-actions .ml-btn{ justify-content:center; }
  .ml-url-row{ flex-direction:column; }
  .ml-analyze{ min-height:42px; justify-content:center; }
  .ml-source-head > span{ display:none; }
  .ml-stage{ min-height:230px; }
  .ml-time{ display:none; }
  .ml-lib-tools,.ml-filters{ width:100%; }
  .ml-filters button{ flex:1; }
}

/* ============================================================
   MEDIA — réplica fiel del HTML de referencia
   Este bloque es deliberadamente final: reemplaza el rediseño anterior
   únicamente cuando la pantalla Media está presente.
   ============================================================ */
.ml{
  --ml-bg:#131314; --ml-lowest:#0e0e0f; --ml-low:#1c1b1c; --ml-surface:#201f20;
  --ml-high:#2a2a2b; --ml-highest:#353436; --ml-border:#424754;
  --ml-text:#e5e2e3; --ml-muted:#c2c6d6; --ml-faint:#8c909f;
  --ml-primary:#adc6ff; --ml-primary-ink:#002e6a; --ml-green:#00a572; --ml-green-ink:#00311f;
  width:100%; max-width:1480px; margin:0 auto; gap:12px; color:var(--ml-text);
  font-family:"Geist","DM Sans",sans-serif;
}
.ml-head{ align-items:flex-end; margin:12px 0 12px; }
.ml-heading-copy{ gap:2px; }
.ml-eyebrow{ margin:0 0 6px; color:var(--ml-faint); font:500 10px/14px "JetBrains Mono",monospace; letter-spacing:.14em; }
.ml-heading-copy h1{ color:var(--ml-text); font:600 30px/38px "Geist","DM Sans",sans-serif; letter-spacing:-.02em; }
.ml-heading-copy p{ color:var(--ml-muted); font:400 14px/20px "Geist","DM Sans",sans-serif; }
.ml-actions{ gap:8px; }
.ml-btn{ min-height:40px; padding:8px 16px; border:1px solid #27272a; border-radius:4px !important; background:transparent; color:var(--ml-text); box-shadow:none; font:500 14px/20px "Geist","DM Sans",sans-serif; }
.ml-btn:hover{ background:var(--ml-highest); transform:none; }
.ml-btn.primary{ background:#4d8eff; border-color:#4d8eff; color:#fff; }
.ml-btn.primary:hover{ background:#609aff; box-shadow:none; }
.ml-btn.primary .ico{ stroke:#fff; }

.ml-url{ padding:16px; border:1px solid #27272a; border-radius:4px !important; background:#161618; box-shadow:none; }
.ml-source-head{ margin-bottom:8px; }
.ml-label{ color:var(--ml-faint); font:500 11px/14px "JetBrains Mono",monospace; letter-spacing:.12em; }
.ml-source-head > span{ color:var(--ml-faint); font:400 11px/14px "JetBrains Mono",monospace; }
.ml-url-row{ gap:16px; }
.ml-input{ min-height:36px; padding:0 12px; border:1px solid #27272a; border-radius:4px !important; background:#0b0b0c; box-shadow:none; }
.ml-input input{ color:var(--ml-text); font:400 13px/18px "JetBrains Mono",monospace; }
.ml-input input::placeholder{ color:var(--ml-border); }
.ml-input:focus-within{ border-color:var(--ml-primary); box-shadow:none; }
.ml-analyze{ min-width:165px; justify-content:center; gap:8px; border:1px solid #00a572; border-radius:4px !important; background:#00a572; color:#fff; font:600 14px/20px "Geist","DM Sans",sans-serif; }
.ml-analyze::before{ content:""; display:block; width:19px; height:19px; flex:0 0 19px; background:#fff; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 17v-4m4 4V7m4 10v-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 17v-4m4 4V7m4 10v-7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ml-analyze .ml-analyze-icon,.ml-analyze > .ico{ display:none; }
.ml-analyze:hover{ background:#16b682; border-color:#16b682; transform:none; }

.ml-editor{ grid-template-columns:minmax(0,1fr) 340px; gap:12px; min-height:450px; }
.ml-player{ position:relative; border:1px solid #27272a; border-radius:4px !important; background:var(--ml-lowest); box-shadow:none; }
.ml-stage{ height:100%; min-height:450px; aspect-ratio:auto; border-radius:4px !important; }
.ml-stage video,.ml-stage .ml-poster{ object-fit:contain; background:#050506; }
.ml-top{ padding:16px; }
.ml-playbtn{ width:64px; height:64px; border-radius:4px !important; background:#4d8eff; color:#fff; }
.ml-transport{ padding:38px 16px 16px; gap:16px; }
.ml-progress{ height:4px; background:#3a393a; }
.ml-progress-fill{ background:var(--ml-primary); }
.ml-time{ color:var(--ml-muted); font:400 13px/18px "JetBrains Mono",monospace; }
.ml-tname{ display:none; }
.ml-trim{ min-width:0; padding:16px; gap:22px; border:1px solid #27272a; border-radius:4px !important; background:#161618; box-shadow:none; }
.ml-trim-head{ padding-bottom:13px; border-color:#3a393a; }
.ml-trim-head span:first-child{ font:600 14px/20px "Geist","DM Sans",sans-serif; }
.ml-trim-head .ico{ color:var(--ml-primary); }
.ml-badge{ padding:3px 8px; background:#4b3837; color:#ffb4ab; font:500 10px/14px "JetBrains Mono",monospace; letter-spacing:.1em; }
.ml-inout{ grid-template-columns:1fr 1fr; gap:16px; }
.ml-field label{ color:var(--ml-faint); font:500 11px/14px "JetBrains Mono",monospace; }
.ml-field input{ height:36px; padding:8px; border:1px solid #27272a; border-radius:4px !important; background:#0b0b0c; color:var(--ml-text); font:400 13px/18px "JetBrains Mono",monospace; }
.ml-fstep button{ border:0; background:transparent; color:var(--ml-border); }
.ml-fstep button:hover{ color:var(--ml-text); }
.ml-dur{ flex:1; display:flex; flex-direction:column; justify-content:center; padding:16px; border:1px solid #27272a; border-radius:4px !important; background:#0b0b0c; }
.ml-dur span{ color:var(--ml-muted); font:400 12px/16px "Geist","DM Sans",sans-serif; }
.ml-dur b{ color:var(--ml-primary); font:500 13px/18px "JetBrains Mono",monospace; }
.ml-add{ margin-top:0; padding:12px; border:1px solid #4d8eff; border-radius:4px !important; background:#4d8eff; color:#fff; font:500 14px/20px "Geist","DM Sans",sans-serif; }
.ml-add:hover{ background:#609aff; transform:none; box-shadow:none; }

.ml-timeline{ padding:16px; border:1px solid #27272a; border-radius:4px !important; background:#161618; box-shadow:none; }
.ml-ruler{ height:22px; margin:0; padding:0 16px; color:var(--ml-faint); font:500 10px/14px "JetBrains Mono",monospace; }
.ml-strip{ height:80px; border-radius:4px !important; background:var(--ml-bg); }
.ml-sel{ border-color:var(--ml-primary); background:rgba(173,198,255,.18); }
.ml-handle::before{ width:8px; background:var(--ml-primary); }

.ml-lib{ margin-top:14px; }
.ml-lib-head{ margin-bottom:12px; }
.ml-lib-head h2{ color:var(--ml-text); font:600 20px/28px "Geist","DM Sans",sans-serif; }
.ml-lib-head h2 > span{ background:var(--ml-high); color:var(--ml-muted); font:500 10px/14px "JetBrains Mono",monospace; }
.ml-lib-head p{ color:var(--ml-faint); font:400 12px/16px "Geist","DM Sans",sans-serif; }
.ml-filters{ padding:4px; border:1px solid rgba(140,144,159,.16); border-radius:6px !important; background:var(--ml-low); }
.ml-filters button{ border-radius:4px !important; color:var(--ml-muted); font:400 12px/16px "Geist","DM Sans",sans-serif; }
.ml-filters button.active{ background:var(--ml-highest); color:var(--ml-text); }
.ml-frags{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.frag-card{ border:1px solid #27272a; border-radius:4px !important; background:#161618; box-shadow:none; }
.frag-card:hover{ border-color:#424754; transform:translateY(-1px); box-shadow:none; }
.frag-thumb{ aspect-ratio:16/9; }
.frag-body{ padding:12px; }
.frag-body b{ color:var(--ml-text); font:400 14px/20px "Geist","DM Sans",sans-serif; }
.frag-chip{ border-radius:4px !important; font:500 10px/14px "JetBrains Mono",monospace; }
.frag-add{ min-height:160px; border-color:#27272a; border-radius:4px !important; color:var(--ml-border); font:400 12px/16px "Geist","DM Sans",sans-serif; }
.frag-add:hover{ border-color:var(--ml-faint); background:var(--ml-low); color:var(--ml-muted); }

@media(max-width:1200px){ .ml-editor{ grid-template-columns:minmax(0,1fr) 300px; } }
@media(max-width:1050px){ .ml-editor{ grid-template-columns:1fr; } .ml-stage{ min-height:390px; } }
@media(max-width:1000px){ .ml-frags{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); } }
@media(max-width:800px){ .ml-head{ align-items:flex-start; } }
@media(max-width:600px){ .ml-head{ flex-direction:column; } .ml-actions{ width:100%; } .ml-btn{ flex:1; justify-content:center; } .ml-editor{ min-height:0; } .ml-stage{ min-height:280px; } }

/* Visuales · progreso real de subida */
.vs-upload-progress{padding:0 17px 15px}.vs-upload-progress[hidden]{display:none}.vs-upload-progress>div{display:flex;justify-content:space-between;margin-bottom:7px;color:#c2c6d6;font:10px var(--font-mono)}.vs-upload-progress strong{color:#adc6ff}.vs-upload-progress>i{display:block;height:6px;overflow:hidden;border-radius:99px;background:#353436}.vs-upload-progress em{display:block;width:0;height:100%;border-radius:inherit;background:#adc6ff;transition:width .12s linear}
.vs-file.selected{min-height:150px;padding:10px;justify-content:stretch}.vs-file.selected>.ico,.vs-file.selected>b,.vs-file.selected>span{display:none}.vs-file-preview[hidden]{display:none!important}.vs-file-preview{width:100%;height:128px;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:14px}.vs-file-preview>img,.vs-file-preview>video{width:180px;height:112px;display:block;object-fit:contain;background:#0e0e0f;border:1px solid #353436}.vs-file-preview>img[hidden],.vs-file-preview>video[hidden]{display:none}.vs-file-preview p{min-width:0;margin:0;display:grid;gap:5px}.vs-file-preview strong{overflow:hidden;color:#e5e2e3;font:500 12px/17px Geist,sans-serif;text-overflow:ellipsis;white-space:nowrap}.vs-file-preview small{color:#adc6ff;font:10px var(--font-mono)}.vs-file-preview em{color:#8c909f;font:10px/15px Geist,sans-serif;font-style:normal}@media(max-width:520px){.vs-file-preview{grid-template-columns:110px 1fr}.vs-file-preview>img,.vs-file-preview>video{width:110px;height:90px}}

/* Guion · trabajo real en segundo plano */
.generator-job{padding:12px;border:1px solid rgba(173,198,255,.32);background:#15171b}.generator-job[hidden]{display:none}.generator-job>div{display:flex;justify-content:space-between;color:#d8e2ff;font:11px var(--font-mono)}.generator-job>i{display:block;height:5px;margin:9px 0;overflow:hidden;background:#353436}.generator-job>i::after{content:"";display:block;width:38%;height:100%;background:#adc6ff;animation:generator-indeterminate 1.2s ease-in-out infinite}.generator-job small{color:#8c909f!important}.generator-job.done{border-color:rgba(78,222,163,.4)}.generator-job.done>i::after{width:100%;background:#4edea3;animation:none}.generator-job.error{border-color:rgba(255,180,171,.45)}.generator-job.error>div{color:#ffb4ab}@keyframes generator-indeterminate{from{transform:translateX(-110%)}to{transform:translateX(290%)}}

/* ============================================================
   SISTEMA VISUAL GLOBAL · Chimi Professional Audio-Visual
   Fuente: DESIGN.md. Esta capa final normaliza toda la aplicación.
   ============================================================ */
:root{
  --bg:#131314; --surface:#201f20; --surface-2:#2a2a2b; --surface-3:#353436;
  --surface-lowest:#0e0e0f; --surface-low:#1c1b1c; --surface-bright:#3a393a;
  --text:#e5e2e3; --muted:#c2c6d6; --faint:#8c909f; --border:#424754;
  --line:#27272a; --accent:#4d8eff; --accent-strong:#609aff; --accent-soft:#adc6ff;
  --accent-bg:rgba(77,142,255,.14); --accent-line:rgba(77,142,255,.38);
  --ink-on-accent:#fff; --ok:#4edea3; --ok-bg:rgba(78,222,163,.12);
  --err:#ffb4ab; --err-bg:rgba(255,180,171,.12); --warn:#ffbd59; --warn-bg:rgba(255,189,89,.12);
  --retazo:#ffb2b7; --retazo-bg:rgba(255,178,183,.12);
  --font-ui:"Geist","DM Sans",sans-serif; --font-display:"Geist","DM Sans",sans-serif;
  --font-mono:"JetBrains Mono",monospace; --font-technical:"JetBrains Mono",monospace;
  --radius:4px; --radius-lg:8px; --shadow-1:none; --shadow-2:none;
  --shadow-pop:0 18px 48px rgba(0,0,0,.42);
}
html{ color-scheme:dark; }
body{ background:#0b0b0c; color:var(--text); font:400 14px/20px var(--font-ui); }
h1{ font:600 30px/38px var(--font-display); letter-spacing:-.02em; }
h2{ font:500 20px/28px var(--font-display); letter-spacing:-.01em; }
h3{ font-family:var(--font-display); }
p,label,button,a,input,select,textarea{ font-family:var(--font-ui); }
code,kbd,time,.tech,.tc,[class*="time"],[class*="duration"],[class*="count"],.metrica .val{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }

.app-shell,.unified-shell{ grid-template-columns:260px minmax(0,1fr); background:#0b0b0c; }
.sidebar{ width:260px; padding:12px 8px 16px; background:var(--surface-lowest); border-right:1px solid var(--line); }
.brand{ min-height:48px; padding:0 12px 24px; gap:10px; color:var(--text); }
.brand b{ font:600 20px/28px var(--font-display); }
.brand small{ color:var(--faint); font:400 10px/14px var(--font-mono); }
.logo{ width:32px; height:32px; border-radius:4px !important; background:var(--accent); color:#00285d; }
.nav-global,.project-navigation{ gap:2px; }
.nav-item{ min-height:40px; padding:9px 12px; border-radius:4px !important; color:var(--muted); font:400 13px/20px var(--font-ui); }
.nav-item::before{ display:none; }
.nav-item:hover{ background:var(--surface-low); color:var(--text); }
.nav-item.activo{ background:var(--surface-3); color:var(--accent-soft); box-shadow:inset 2px 0 var(--accent); }
.nav-item.activo .ico{ stroke:var(--accent-soft); }
.system-status{ padding:14px 10px 0; border-top:1px solid var(--line); color:var(--faint); font:400 10px/14px var(--font-mono); }

.topbar,.compact-topbar{ height:48px; min-height:48px; padding:0 16px; background:rgba(19,19,20,.9); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.top-context b{ font:600 14px/20px var(--font-ui); }
.top-context small,.save-state{ color:var(--faint); font:400 10px/14px var(--font-mono); }
.continue-action,.primary-action,.act-primary,.btn-primario,.generate-button,.transcribe-btn{
  min-height:36px; border:1px solid var(--accent) !important; border-radius:4px !important;
  background:var(--accent) !important; color:#fff !important; box-shadow:none !important;
  font:600 13px/18px var(--font-ui); transform:none !important;
}
.continue-action:hover,.primary-action:hover,.act-primary:hover,.btn-primario:hover,.generate-button:hover,.transcribe-btn:hover{ background:var(--accent-strong) !important; }
.source-import-footer button,.source-drop button,.file-drop button{
  min-height:36px; border:1px solid var(--accent) !important; border-radius:4px !important;
  background:var(--accent) !important; color:#fff !important; box-shadow:none !important;
}
.source-import-footer button:hover,.source-drop button:hover,.file-drop button:hover{ background:var(--accent-strong) !important; }
.icon-link,.mobile-menu{ border-radius:4px !important; color:var(--muted); }
.top-logout-form{ margin:0; }
.top-logout{ min-height:32px; padding:0 11px; display:flex; align-items:center; gap:6px; border:1px solid var(--line) !important; border-radius:4px !important; background:transparent !important; color:var(--muted) !important; font:500 11px/16px var(--font-ui); }
.top-logout:hover{ border-color:#6682b2 !important; background:var(--surface-low) !important; color:var(--text) !important; }
.top-logout .ico{ width:16px; height:16px; }

.stepper{ top:48px; gap:12px; padding:8px 16px; background:rgba(14,14,15,.9); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.stepper__bar{ height:4px; border-radius:999px !important; background:var(--surface-3); }
.stepper__fill{ border-radius:999px !important; background:var(--accent); }
.stepper__meta{ color:var(--faint); font:500 10px/14px var(--font-mono); }
.stepper__dot{ border-radius:999px !important; }
.stepper__dot.done{ background:var(--ok); }
.stepper__dot.now{ background:var(--accent); box-shadow:0 0 0 4px var(--accent-bg); }
.stepper__nav a{ border:1px solid var(--line); border-radius:4px !important; background:transparent; }

.envoltura{ padding:24px 24px 64px; }
.stitch-page-head,.sources-head,.speakers-head,.export-head{ margin-bottom:20px; }
.stitch-page-head h1,.sources-head h1,.speakers-head h1,.export-head h1{ font:600 30px/38px var(--font-display); }
.audio-last-run{max-width:72ch;color:#aeb4c4!important;font:11px/17px var(--font-mono)!important}.audio-last-run b{color:#4edea3;font-weight:600}
.sub,.generation-note{ color:var(--faint); }

/* Superficies y paneles */
.tarjeta,.overview-card,.pipeline-panel,.activity-log,.active-tasks,.input-card,.recommended,
.source-import,.source-pane,.clean-preview,.generator-card,.generator-main,.generator-side,
.speaker-stitch-card,.voice-panel,.pronunciation-panel,.audio-summary,.audio-table,.audio-tasks,
.export-card,.integrity-card,.xml-config,.transcription-video,.transcription-queue,.transcript-panel,
.review-summary,.rev-block,.speaker-panel,.editor-dialog{
  border:1px solid var(--line) !important; border-radius:4px !important;
  background:#161618 !important; box-shadow:none !important;
}
.tarjeta:hover,.overview-card:hover,.input-card:hover,.speaker-stitch-card:hover{ border-color:var(--border) !important; transform:none !important; box-shadow:none !important; }
.section-heading,.audio-table-head,.dictionary-head,.activity-log header,.active-tasks header{ border-color:var(--line) !important; }

/* Campos densos */
input:not([type="range"]):not([type="radio"]):not([type="checkbox"]),select,textarea{
  min-height:32px; border:1px solid var(--line) !important; border-radius:4px !important;
  background:#0b0b0c !important; color:var(--text) !important; box-shadow:none !important;
}
input:focus,select:focus,textarea:focus,[contenteditable]:focus{ border-color:var(--accent) !important; outline:none; box-shadow:0 0 0 1px var(--accent) !important; }
input::placeholder,textarea::placeholder{ color:#60606a; }
label,.eyebrow,.nav-seccion,.workflow-label{ color:var(--faint); }

/* Botones secundarios y menús */
.btn,.boton,.btn-acc,.btn-ok,.ghost-primary,.acts__btn,.source-tabs button,.view-control button,
.pronunciation-actions button,.voice-actions-top button,.head-actions button,.export-actions button{
  border:1px solid var(--line) !important; border-radius:4px !important; background:transparent !important;
  color:var(--muted) !important; box-shadow:none !important;
}
.btn:hover,.boton:hover,.btn-acc:hover,.ghost-primary:hover,.acts__btn:hover{ border-color:var(--border) !important; background:var(--surface-low) !important; color:var(--text) !important; }
.acts__pop{ border:1px solid var(--line); border-radius:6px !important; background:rgba(28,28,30,.96); backdrop-filter:blur(12px); box-shadow:var(--shadow-pop); }
.acts__item{ border-radius:4px !important; }
.acts__item:hover{ background:var(--surface-3); }

/* Estados, chips y progreso */
.pill,.status-badge,.frag-chip,.speaker-status,.audio-state,.chain-status,.rev-chip,.rev-flag,
.autosave-chip,.ai-badge,.time-badge{ border-radius:4px !important; box-shadow:none !important; }
.ok,.done,.ready,.summary-ok,.frag-chip.ok{ color:var(--ok) !important; }
.error,.err,.problem,.summary-warning{ color:var(--err) !important; }
.project-progress,.ml-bar,.stepper__bar,[class*="progress"]{ overflow:hidden; }
.project-progress span,.ml-bar span,[class*="progress"] > span{ background:var(--accent); }

/* Vistas editoriales específicas */
.overview-metrics{ gap:12px; }
.overview-metrics > div{ border:1px solid var(--line); border-radius:4px !important; background:#161618; }
.pipeline-track::before{ background:var(--line); }
.pipe-step i{ border-radius:999px !important; background:var(--surface); }
.source-item,.queue-item,.transcript-segment,.audio-row,.package-row,.integrity-row,.stage-row{
  border-color:var(--line) !important; background:transparent; }
.source-item.active,.queue-item.active,.transcript-segment.active{ background:var(--accent-bg); border-color:var(--accent-line) !important; }
.speaker-avatar,.muestra-orador,.dot,.system-status i,.estado-local > span{ border-radius:999px !important; }
.pronunciation-card,.speaker-card,.rev-clip,.continue-card,.stitch-project-card{
  border:1px solid var(--line) !important; border-radius:4px !important; background:#161618 !important; box-shadow:none !important;
}
.pronunciation-card:hover,.speaker-card:hover,.stitch-project-card:hover{ border-color:var(--border) !important; transform:none !important; }
.audio-table-head,.audio-row{ grid-template-columns:minmax(180px,1.5fr) minmax(140px,1fr) minmax(120px,.8fr); }

/* Movimiento sobrio */
@keyframes professional-shimmer{ 0%{ transform:translateX(-120%); } 100%{ transform:translateX(260%); } }
.is-loading::before,.processing-panel::after{ content:""; position:absolute; inset:0 auto 0 0; width:32%; background:linear-gradient(90deg,transparent,rgba(173,198,255,.35),transparent); animation:professional-shimmer 1.8s linear infinite; pointer-events:none; }

@media(max-width:900px){
  .app-shell,.unified-shell{ grid-template-columns:1fr; }
  .sidebar{ position:fixed; inset:0 auto 0 0; transform:translateX(-100%); transition:transform .2s ease; }
  .sidebar.open{ transform:none; }
  .envoltura{ padding:20px 16px 48px; }
}

/* Media · interacción final */
.ml-analyze.is-loading{ opacity:.72; cursor:progress; pointer-events:none; }
.ml-analyze.is-loading::before{ position:static !important; inset:auto !important; width:19px !important; height:19px !important; transform:none !important; animation:none !important; background:#00311f !important; }
.ml-analyze.is-loading::after{ display:none !important; content:none !important; animation:none !important; }
.ml-playbtn,.ml-playbtn:hover,.ml-playbtn:active,.ml-playbtn:focus-visible{ inset:0 !important; margin:auto !important; transform:none !important; transform-origin:center !important; outline:0 !important; border:0 !important; }
.ml-playbtn:hover{ box-shadow:0 0 0 4px rgba(173,198,255,.22),0 10px 28px rgba(0,0,0,.42) !important; }
.ml-playbtn:focus-visible{ box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(173,198,255,.3) !important; }
.ml-playhead{ width:14px !important; margin-left:-7px !important; background:transparent !important; cursor:ew-resize; pointer-events:auto !important; touch-action:none; }
.ml-playhead::before{ content:""; position:absolute; top:0; bottom:0; left:6px; width:2px; background:#fff; box-shadow:0 0 7px rgba(255,255,255,.6); }
.ml-playhead-tip{ position:absolute; top:0; left:2px; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:7px solid #fff; }
.frag-menu{ display:none !important; }

/* El editor v2 debe prevalecer sobre las reglas históricas anteriores. */
.rv-cut{width:min(900px,calc(100vw - 32px))!important}.rv-cuthead{height:54px!important}.rv-cutcontent{gap:14px!important}.rv-cutplayer{border-radius:7px!important}.rv-cutcontrols{padding:54px 12px 10px!important;gap:8px!important}.rv-cuttimeline{height:96px!important;overflow:hidden!important;border:1px solid rgba(66,71,84,.45)!important;border-radius:5px!important;background:rgba(42,42,43,.75)!important;cursor:crosshair!important}.rv-cutselection{top:22px!important;bottom:0!important;height:auto!important;border-left:1px solid rgba(173,198,255,.65)!important;border-right:1px solid rgba(173,198,255,.65)!important;border-radius:0!important;background:rgba(173,198,255,.1)!important;z-index:8!important}.rv-cutmark{top:22px!important;height:74px!important;width:2px!important;z-index:18!important;background:#adc6ff!important}.rv-cutmark::before{top:0!important;left:-7px!important;width:16px!important;height:17px!important;border-radius:3px!important;background:#adc6ff!important}.rv-cutheadpos{top:0!important;height:96px!important;width:2px!important;z-index:24!important}.rv-controlrow{display:grid!important;grid-template-columns:1fr auto 1fr!important}.rv-controlrow>.rv-transport{display:flex!important;justify-self:center!important}.rv-controlrow>.rv-zoom{display:flex!important;justify-self:start!important}.rv-timefields input{font-size:13px!important}
@media(max-width:720px){.rv-cuttimeline{height:82px!important}.rv-cutmark{height:60px!important}.rv-cutheadpos{height:82px!important}.rv-controlrow{grid-template-columns:1fr auto!important}}

.cf-transcription{align-items:center}.cf-transcription>div{display:grid;gap:4px;flex:1}.cf-transcription>div b{color:#e5e2e3;font-size:13px}.cf-transcription>div span{color:#8c909f;font-size:11px}.cf-transcription .cf-fallback{display:flex;align-items:center;gap:8px;max-width:225px;line-height:16px}.cf-transcription .cf-fallback input{width:auto;min-height:0}

/* Resumen del proyecto */
.summary-dashboard{max-width:1240px;margin:0 auto;padding-bottom:34px}.summary-dashboard *{box-sizing:border-box}.summary-welcome{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border:1px solid #2d2c2e;border-radius:8px;background:linear-gradient(105deg,#242326 0%,#242326 72%,rgba(77,142,255,.08) 100%)}.summary-kicker{color:#8f93a0;font:600 10px var(--font-mono);letter-spacing:.15em}.summary-welcome h1{margin:5px 0 7px;color:#eeeef0;font-size:29px}.summary-welcome p{max-width:760px;margin:0;color:#a9a8ae;font-size:13px;line-height:1.55}.summary-progress-ring{--p:calc(var(--progress)*1%);width:76px;height:76px;flex:0 0 76px;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle at center,#242326 62%,transparent 64%),conic-gradient(#adc6ff var(--p),#39383b 0)}.summary-progress-ring b{color:#e7e9f1;font:600 16px var(--font-mono)}.summary-progress-ring span{color:#888c98;font-size:9px;text-transform:uppercase}.summary-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.82fr);gap:12px;margin-top:12px}.summary-primary,.summary-secondary{display:grid;gap:12px;align-content:start}.summary-stats-row{display:grid;grid-template-columns:1fr 1.07fr;gap:12px}.summary-card{border:1px solid #2d2c2e;border-radius:8px;background:#201f20;overflow:hidden}.summary-card>header{display:flex;align-items:center;justify-content:space-between}.summary-card h2{margin:0;color:#e6e4e6;font-size:17px}.summary-card>header>.ico{width:21px;height:21px;color:#9298a8}.summary-project-card,.summary-storage-card{min-height:171px;padding:18px}.summary-project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.summary-project-metrics div{border-right:1px solid #333235}.summary-project-metrics div:last-child{border:0}.summary-project-metrics b{display:block;color:#b9cbff;font:600 24px var(--font-mono)}.summary-project-metrics span{color:#818590;font:600 9px var(--font-mono)}.summary-project-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.summary-project-card footer span,.summary-project-card footer a{font-size:10px}.summary-positive{display:flex;align-items:center;gap:5px;color:#4edea3}.summary-positive .ico{width:13px;height:13px}.summary-project-card footer a{color:#adc6ff}.summary-storage-total{display:flex;align-items:baseline;justify-content:space-between;margin:23px 0 9px}.summary-storage-total b{color:#e7e5e7;font:600 23px var(--font-mono)}.summary-storage-total span{color:#858995;font-size:10px}.summary-storage-bar{height:7px;display:flex;overflow:hidden;border-radius:6px;background:#353436}.summary-storage-bar i:nth-child(1){background:#adc6ff}.summary-storage-bar i:nth-child(2){background:#4edea3}.summary-storage-bar i:nth-child(3){background:#ff7f92}.summary-storage-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:13px;color:#9a9da7;font:9px var(--font-mono)}.summary-storage-legend span{display:flex;align-items:center;gap:5px}.summary-storage-legend i{width:6px;height:6px;border-radius:50%;background:#adc6ff}.summary-storage-legend span:nth-child(2) i{background:#4edea3}.summary-storage-legend span:nth-child(3) i{background:#ff7f92}.summary-actions-card{padding:18px}.summary-actions-card>h2{margin-bottom:14px}.summary-actions{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #343336;border-radius:5px;overflow:hidden}.summary-actions a{min-height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;border-right:1px solid #343336;background:#252426;color:inherit;text-align:center;transition:background .18s}.summary-actions a:last-child{border:0}.summary-actions a:hover{background:#2c2b2e}.summary-actions a>i{width:43px;height:43px;display:grid;place-items:center;margin-bottom:12px;border-radius:8px;background:#171719;color:#babdc7;transition:transform .18s}.summary-actions a:hover>i{transform:translateY(-2px)}.summary-actions a>i.primary{background:#4d8eff;color:#0d284f}.summary-actions .ico{width:21px;height:21px}.summary-actions b{color:#e4e2e4;font-size:12px}.summary-actions span{margin-top:3px;color:#858995;font-size:10px}.summary-render-card{position:relative;min-height:162px;display:flex;align-items:flex-end;gap:15px;overflow:hidden;padding:20px;border:1px solid #2d2c2e;border-radius:8px;background:linear-gradient(90deg,rgba(10,14,17,.96),rgba(10,14,17,.56)),radial-gradient(circle at 70% 50%,#205b70,#0e1517 55%);color:inherit}.summary-render-visual{position:absolute;inset:0;display:grid;place-items:center;opacity:.18}.summary-render-visual .ico{width:420px;height:115px;color:#adc6ff}.summary-render-card>div:nth-child(2){position:relative}.summary-render-card span{color:#4edea3;font:600 9px var(--font-mono)}.summary-render-card h2{margin:5px 0 0;color:#f0eef0;font-size:17px}.summary-render-card>b{position:relative;display:flex;align-items:center;gap:5px;margin-left:auto;padding:7px 10px;background:#201f20cc;color:#e6e4e6;font-size:10px}.summary-render-card>b .ico{width:14px;height:14px}.summary-checklist>header{display:block;padding:18px;border-bottom:1px solid #302f31;background:#252426}.summary-checklist>header p{margin:4px 0 0;color:#858995;font-size:10px}.summary-checks{display:grid;gap:16px;padding:20px 17px}.summary-checks>div{display:grid;grid-template-columns:20px 1fr;gap:10px;color:#9b9aa1}.summary-checks>div>i{width:18px;height:18px;display:grid;place-items:center;border:1px solid #44454e;border-radius:50%}.summary-checks>div>i .ico{width:12px;height:12px}.summary-checks>div.done{opacity:.62}.summary-checks>div.done>i{border-color:#4edea380;background:#4edea320;color:#4edea3}.summary-checks>div.active{position:relative;color:#e2e0e2}.summary-checks>div.active:before{content:"";position:absolute;left:-17px;top:4px;width:3px;height:13px;background:#adc6ff}.summary-checks>div.active>i{border:2px solid #adc6ff;box-shadow:inset 0 0 0 4px #201f20;background:#adc6ff}.summary-checks b{display:block;font-size:11px}.summary-checks small{display:block;margin-top:3px;color:#858995;font-size:9px}.summary-checks a{display:inline-block;margin-top:8px;color:#adc6ff;font-size:9px}.summary-checklist footer{padding:14px 17px;background:#171719}.summary-checklist footer>div:first-child{display:flex;justify-content:space-between;color:#8f93a0;font:600 9px var(--font-mono)}.summary-checklist footer>div:first-child b{color:#adc6ff}.summary-checklist footer>div:last-child{height:4px;margin-top:8px;background:#353436}.summary-checklist footer>div:last-child i{display:block;height:100%;background:#adc6ff}.summary-system-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px}.summary-system-card>i{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#313133;color:#4edea3}.summary-system-card>i .ico{width:19px;height:19px}.summary-system-card h3{margin:0;color:#e2e0e2;font-size:11px}.summary-system-card p{margin:3px 0 0;color:#858995;font-size:9px}.summary-system-card>span{position:absolute;right:14px;top:14px;width:7px;height:7px;border-radius:50%;background:#4edea3}@media(max-width:1000px){.summary-layout{grid-template-columns:1fr}.summary-secondary{grid-template-columns:1.3fr 1fr}}@media(max-width:700px){.summary-progress-ring{display:none}.summary-stats-row,.summary-secondary{grid-template-columns:1fr}.summary-actions{grid-template-columns:1fr}.summary-actions a{min-height:86px;border-right:0;border-bottom:1px solid #343336}.summary-render-card>b{font-size:0}}

.summary-welcome{min-height:118px}

/* Visuales · procesamiento automático de imágenes */
.vs-card-process{position:absolute;inset:auto 7px 7px;z-index:2;height:18px;overflow:hidden;background:#131314e8;border:1px solid #424754}.vs-card-process>i{position:absolute;inset:0 auto 0 0;background:rgba(173,198,255,.22);transition:width .25s}.vs-card-process>b{position:relative;height:100%;display:grid;place-items:center;color:#d8e2ff;font:9px var(--font-mono)}.vs-process{padding:10px;background:#242426;border:1px solid #424754}.vs-process>div{display:flex;justify-content:space-between;color:#c2c6d6;font:10px var(--font-mono)}.vs-process>i{height:5px;margin:8px 0 6px;display:block;overflow:hidden;background:#353436}.vs-process>i>em{height:100%;display:block;background:#adc6ff;transition:width .3s}.vs-process>small{color:#858995;font:9px var(--font-mono)}.vs-compare{display:grid;grid-template-columns:auto auto 1fr;gap:5px;align-items:center}.vs-compare button{height:29px;padding:0 9px;border:1px solid #424754!important;background:#242426!important;color:#858995!important;font-size:10px}.vs-compare button.active{border-color:#adc6ff!important;color:#adc6ff!important}.vs-compare button#vs-reprocess{grid-column:1/-1;justify-content:center;color:#d8e2ff!important}.vs-compare button#vs-reprocess .ico{width:15px;height:15px;margin-right:5px}.vs-compare span{text-align:right;color:#858995;font:9px var(--font-mono)}
.auth-page{min-height:100vh;display:grid;place-items:center;background:#0e0e0f;color:#e5e2e3}.auth-card{width:min(420px,calc(100vw - 32px));padding:42px;border:1px solid #424754;border-radius:12px;background:#1c1b1c;box-shadow:0 24px 80px #0009;text-align:center}.auth-logo{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:12px;background:#4d8eff;color:#052b68;font-size:38px;font-weight:800}.auth-card h1{margin:0;font-size:34px}.auth-card>p{margin:4px 0 28px;color:#8c909f}.auth-card form{display:grid;gap:18px;text-align:left}.auth-card label{display:grid;gap:7px;color:#c2c6d6;font-size:13px}.auth-card input{width:100%;height:48px}.auth-card button{height:48px;background:#adc6ff!important;color:#002e6a!important;border:0!important}.auth-error{margin:0 0 18px;padding:12px;border:1px solid #7c3333;background:#351b1b;color:#ffb4ab;text-align:left}
.system-status form{margin-top:9px}.sidebar-logout{width:100%;min-height:30px;border:1px solid #424754!important;background:transparent!important;color:#8c909f!important;font-size:10px!important}.sidebar-logout:hover{color:#e5e2e3!important;border-color:#6682b2!important}

/* Portadas · compositor editorial independiente */
.covers-page{max-width:1440px;margin:0 auto;padding-bottom:50px}.covers-page *{box-sizing:border-box}.covers-head{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.covers-head span,.covers-gallery header span{color:var(--accent-soft);font:600 10px var(--font-mono);letter-spacing:.14em}.covers-head h1{margin:5px 0 4px;font-size:30px}.covers-head p{margin:0;color:var(--muted);font-size:13px}.covers-head>div:last-child{min-width:92px;padding:11px 14px;border:1px solid var(--line);text-align:center}.covers-head>div:last-child b{display:block;color:var(--accent-soft);font:600 22px var(--font-mono)}.covers-head>div:last-child small{color:var(--faint);font-size:10px}.covers-layout{display:grid;grid-template-columns:minmax(600px,1.35fr) minmax(360px,.8fr);gap:14px;margin-top:14px}.covers-builder,.covers-gallery{display:grid;gap:12px;align-content:start}.covers-section,.covers-gallery{border:1px solid var(--line);background:var(--surface)}.covers-section>header{display:flex;gap:13px;padding:17px 19px;border-bottom:1px solid var(--line)}.covers-section>header>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--accent-line);color:var(--accent-soft);font:600 10px var(--font-mono)}.covers-section h2,.covers-gallery h2{margin:0;color:var(--text);font-size:16px}.covers-section header p{margin:3px 0 0;color:var(--faint);font-size:11px}.covers-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:17px}.covers-templates label{position:relative;display:grid;gap:5px;padding:9px;border:1px solid var(--line);cursor:pointer}.covers-templates input{position:absolute;opacity:0}.covers-templates label:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}.covers-templates b{color:var(--text);font-size:11px}.covers-templates small{color:var(--faint);font-size:9px}.cover-wire{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#111}.cover-wire:after{content:"Aa";position:absolute;left:8%;right:8%;bottom:8%;height:23%;display:grid;place-items:center;background:#0a0a0ad9;color:#ffd719;font:700 12px var(--font-ui)}.cover-wire i{position:absolute;bottom:25%;width:38%;height:67%;background:#64656a}.cover-wire i:first-child{left:0}.cover-wire i:nth-child(2){right:0}.cover-wire em{position:absolute;left:37%;top:5%;width:33%;aspect-ratio:1;border:3px solid #eee;border-radius:50%;background:#3c608d}.protagonist i:first-child{width:54%}.protagonist i:nth-child(2){width:28%}.protagonist em{left:48%}.coral i{width:43%}.coral em{left:34%}.covers-files{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:17px}.cover-file{position:relative;display:flex;align-items:center;gap:11px;min-height:76px;padding:12px;border:1px dashed #46464d;cursor:pointer}.cover-file:hover,.cover-file.selected{border-color:var(--accent);background:var(--accent-bg)}.cover-file input{position:absolute;opacity:0;pointer-events:none}.cover-file>span{width:38px;height:38px;display:grid;place-items:center;background:#151517;color:var(--accent-soft)}.cover-file .ico{width:19px;height:19px}.cover-file div{min-width:0}.cover-file b,.cover-file small,.cover-file em{display:block}.cover-file b{color:var(--text);font-size:11px}.cover-file small{margin:2px 0 6px;color:var(--faint);font-size:9px}.cover-file em{max-width:220px;overflow:hidden;color:var(--accent-soft);font:9px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.covers-ai-check{display:flex;gap:20px;padding:0 17px 17px}.covers-ai-check label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.covers-ai-check input{width:auto;min-height:0}.covers-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:17px}.covers-copy label{display:grid;gap:6px;font:600 9px var(--font-mono)}.covers-copy input{width:100%;height:42px;font-weight:700}.covers-render{height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border:0!important;background:var(--accent)!important;color:var(--ink-on-accent)!important;font-weight:700}.covers-render .ico{width:18px;height:18px}.covers-gallery{min-height:600px}.covers-gallery>header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}.covers-gallery>header small{color:var(--faint);font-size:9px}.covers-results{display:grid;gap:12px;padding:13px}.covers-results article{overflow:hidden;border:1px solid var(--line);background:#151517}.covers-results article>a{display:block;aspect-ratio:16/9;background:#09090a}.covers-results img{width:100%;height:100%;display:block;object-fit:cover}.covers-results article>div{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:11px}.covers-results b{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.covers-results span{color:var(--faint);font:9px var(--font-mono);text-transform:capitalize}.covers-results article>div>a{grid-row:1/3;grid-column:2;display:flex;align-items:center;gap:5px;color:var(--accent-soft);font-size:9px}.covers-results .ico{width:14px;height:14px}.covers-empty{min-height:500px;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center}.covers-empty .ico{width:42px;height:42px;color:#555965}.covers-empty h3{margin:14px 0 4px}.covers-empty p{margin:0;color:var(--faint);font-size:11px}@media(max-width:1050px){.covers-layout{grid-template-columns:1fr}.covers-gallery{min-height:300px}.covers-results{grid-template-columns:1fr 1fr}}@media(max-width:700px){.covers-templates,.covers-files,.covers-copy,.covers-results{grid-template-columns:1fr}.covers-ai-check{display:grid;gap:9px}}
.ts-remote-metrics{display:block;margin-top:9px;color:#858995;font:10px var(--font-mono);line-height:1.45}

/* Portadas · encuadre persistente por composición */
@font-face{font-family:PoppinsBlack;src:url('/portadas/kit/Poppins-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}.cover-live{margin:0 17px 17px;border:1px solid var(--line);background:#0b0b0c}.cover-live>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line)}.cover-live>header div{display:grid;gap:3px}.cover-live>header span{color:var(--accent-soft);font:600 9px var(--font-mono);letter-spacing:.1em}.cover-live>header b{color:var(--text);font-size:11px}.cover-live>header small{color:var(--faint);font-size:9px}.cover-live canvas{width:100%;height:auto;display:block;aspect-ratio:16/9;background:#080809}
.cover-confront-options{margin:0 17px 17px;border:1px solid var(--accent-line);background:var(--accent-bg)}.cover-confront-options[hidden]{display:none}.cover-confront-options>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid var(--accent-line)}.cover-confront-options>header div{display:grid;gap:3px}.cover-confront-options>header span{color:var(--accent-soft);font:600 9px var(--font-mono);letter-spacing:.1em}.cover-confront-options>header b{color:var(--text);font-size:11px}.cover-confront-options>header small{color:var(--faint);font-size:9px}.cover-confront-options>div{display:flex;flex-wrap:wrap;gap:18px;padding:12px 13px}.cover-confront-options label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.cover-confront-options input{width:auto;min-height:0;accent-color:var(--accent)}
.cover-contour-choice small{color:var(--ok);font:9px var(--font-mono)}.cover-contour-choice:has(input:disabled){opacity:.72;cursor:progress}
.cover-treatment-options{margin:0 17px 17px;border:1px solid var(--border);background:var(--surface-2)}.cover-treatment-options>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid var(--border)}.cover-treatment-options>header div{display:grid;gap:3px}.cover-treatment-options>header span{color:var(--accent-soft);font:600 9px var(--font-mono);letter-spacing:.1em}.cover-treatment-options>header b{color:var(--text);font-size:11px}.cover-treatment-options>header small{color:var(--faint);font-size:9px}.cover-treatment-options>div{display:flex;gap:22px;padding:12px 13px}.cover-treatment-options label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.cover-treatment-options input{width:auto;min-height:0;accent-color:var(--accent)}
.cover-treatment-options .cover-texture-control{display:grid;grid-template-columns:1fr auto;gap:6px 10px;min-width:190px}.cover-treatment-options .cover-texture-control output{color:var(--accent-soft);font:700 10px var(--font-mono)}.cover-treatment-options .cover-texture-control input{grid-column:1/-1;width:100%}
.cover-framing{margin:0 17px 17px;border:1px solid var(--line);background:#151517}.cover-framing>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line)}.cover-framing>header div{display:grid;gap:3px}.cover-framing>header span{color:var(--accent-soft);font:600 9px var(--font-mono);letter-spacing:.1em}.cover-framing>header b{color:var(--text);font-size:11px}.cover-framing>header small{color:var(--faint);font-size:9px}.cover-framing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.cover-frame{min-width:0;display:grid;grid-template-columns:96px 1fr;gap:12px;padding:12px;background:#19191b}.cover-frame-preview{width:96px;height:96px;overflow:hidden;background:#09090a}.cover-frame-preview img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .12s,object-position .12s}.cover-frame>div:last-child{min-width:0;display:grid;gap:5px}.cover-frame>div>b{color:var(--text);font-size:11px}.cover-frame label{display:grid;grid-template-columns:1fr auto;gap:2px 8px;color:var(--faint);font:8px var(--font-mono)}.cover-frame output{color:var(--accent-soft)}.cover-frame input[type="range"]{grid-column:1/-1;width:100%;height:12px;min-height:0;margin:0;accent-color:var(--accent)}@media(max-width:700px){.cover-framing-grid{grid-template-columns:1fr}.cover-framing>header{align-items:flex-start;flex-direction:column}}

.cover-frame .cover-frame-toggle{display:flex;align-items:center;gap:7px;margin-top:3px;color:var(--muted);font:9px var(--font-mono)}.cover-frame .cover-frame-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent)}

/* Portadas · dirección creativa automática */
.covers-elements button{min-height:28px;padding:0 10px;border:1px solid var(--line);background:#101011;color:var(--muted);font-size:9px}.covers-elements button:hover{border-color:var(--accent-line);color:var(--accent-soft)}
.cover-ai-progress{margin:0 17px 14px;padding:12px 14px;border:1px solid var(--line);background:#151517}.cover-ai-progress[hidden]{display:none}.cover-ai-progress>div{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font:600 10px var(--font-mono)}.cover-ai-progress b{color:var(--accent)}.cover-ai-progress>i{display:block;height:7px;margin:9px 0 7px;overflow:hidden;border-radius:99px;background:#353436}.cover-ai-progress em{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .35s ease}.cover-ai-progress small{color:var(--faint);font:9px var(--font-mono)}
.cover-ai-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:17px}.cover-ai-fields label{display:grid;gap:6px;color:var(--faint);font:600 9px var(--font-mono)}.cover-ai-fields input,.cover-ai-fields select{width:100%;height:42px}.cover-ai-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 17px 17px}.cover-ai-action p{max-width:560px;margin:0;color:var(--muted);font-size:10px}.cover-ai-action button{min-height:44px;padding:0 18px;border:1px solid var(--accent-line)!important;background:var(--accent)!important;color:var(--ink-on-accent)!important;font-weight:700}.cover-ai-generator>p{display:none;margin:0 17px 17px;color:var(--muted);font-size:10px}.cover-ai-generator>p:not(:empty){display:block}.cover-ai-generator>p.ok{color:var(--ok)}.cover-ai-generator>p.error{color:var(--danger)}.cover-ai-proposals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:17px}.cover-ai-proposals label{position:relative;display:grid;gap:7px;padding:8px;border:1px solid var(--line);cursor:pointer;text-transform:capitalize}.cover-ai-proposals input{position:absolute;opacity:0}.cover-ai-proposals label:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}.cover-ai-proposals img{width:100%;aspect-ratio:16/9;display:block;object-fit:cover}.cover-ai-proposals b{font-size:10px}.cover-ai-approval{display:flex;align-items:center;gap:8px;margin:0 17px 17px;color:var(--muted);font-size:10px}.cover-ai-approval input{width:auto;min-height:0;accent-color:var(--accent)}@media(max-width:700px){.cover-ai-fields,.cover-ai-proposals{grid-template-columns:1fr}.cover-ai-action{align-items:stretch;flex-direction:column}}
.cover-context-fields,.cover-expression-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:17px}.cover-context-fields label,.cover-expression-fields label{display:grid;align-content:start;gap:7px;color:var(--faint);font:600 9px var(--font-mono)}.cover-context-fields select,.cover-context-fields textarea,.cover-expression-fields input{width:100%}.cover-context-fields select,.cover-expression-fields input{height:42px}.cover-context-fields textarea{min-height:112px;padding:12px;resize:vertical}.cover-context-help{display:block!important;margin-top:-5px!important}.cover-ai-selection{scroll-margin-top:18px}@media(max-width:700px){.cover-context-fields,.cover-expression-fields{grid-template-columns:1fr}}

/* Portadas · proyectos persistentes y biblioteca reutilizable */
.cover-projects{max-width:1440px;margin:0 auto;padding-bottom:48px}.cover-projects>header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.cover-projects>header span,.cover-new-dialog header span{color:var(--accent-soft);font:600 10px var(--font-mono);letter-spacing:.14em}.cover-projects h1{margin:5px 0 4px;font-size:30px}.cover-projects>header p{margin:0;color:var(--muted);font-size:12px}.cover-projects button,.cover-new-dialog button{min-height:38px;padding:0 16px;border:1px solid var(--accent-line)!important;background:var(--accent)!important;color:var(--ink-on-accent)!important;font-weight:700}.cover-projects button .ico{width:15px;height:15px;margin-right:7px}.cover-project-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:13px;margin-top:16px}.cover-project-grid>a{overflow:hidden;border:1px solid var(--line);background:var(--surface);color:inherit}.cover-project-grid>a:hover{border-color:var(--accent-line)}.cover-project-thumb{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:#0c0c0d}.cover-project-thumb img{width:100%;height:100%;object-fit:cover}.cover-project-thumb .ico{width:42px;height:42px;color:#555965}.cover-project-grid h2{margin:14px 15px 4px;font-size:15px}.cover-project-grid p{margin:0 15px;color:var(--faint);font:10px var(--font-mono)}.cover-project-grid>a>span{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:11px 15px;border-top:1px solid var(--line);color:var(--accent-soft);font-size:10px}.cover-project-grid>a>span .ico{width:14px;height:14px}.cover-project-empty{min-height:520px;display:grid;place-content:center;justify-items:center;text-align:center}.cover-project-empty .ico{width:48px;height:48px;color:#555965}.cover-project-empty h2{margin:14px 0 5px}.cover-project-empty p{margin:0 0 18px;color:var(--faint);font-size:12px}.cover-new-dialog{width:min(520px,calc(100vw - 32px));padding:0;border:1px solid var(--line);background:var(--surface);color:var(--text)}.cover-new-dialog::backdrop{background:#000b}.cover-new-dialog form>header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.cover-new-dialog h2{margin:4px 0 0}.cover-new-dialog header button{width:32px;min-height:32px;padding:0;background:transparent!important;color:var(--muted)!important}.cover-new-dialog form>label{display:grid;gap:7px;padding:22px;font:600 9px var(--font-mono)}.cover-new-dialog input{height:44px}.cover-new-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line)}.cover-new-dialog footer button:first-child{background:transparent!important;color:var(--muted)!important}.covers-head a{display:inline-block;margin-bottom:6px;color:var(--accent-soft);font:10px var(--font-mono)}.cover-library .covers-files{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-file>span{flex:0 0 52px;width:52px;height:52px;overflow:hidden}.cover-file>span img{width:100%;height:100%;object-fit:cover}.covers-ai-check{align-items:center;flex-wrap:wrap}.covers-ai-check button{min-height:34px;margin-left:auto;padding:0 16px;border:1px solid var(--accent-line)!important;background:transparent!important;color:var(--accent-soft)!important}.covers-elements{display:flex;align-items:center;gap:16px;margin:0 17px;padding:11px 13px;border:1px solid var(--line);background:#151517}.covers-elements>span{margin-right:auto;color:var(--faint);font:600 9px var(--font-mono)}.covers-elements label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.covers-elements input{width:auto;min-height:0}.cover-wire.confrontation i:first-child{width:38%}.cover-wire.confrontation i:nth-child(2){width:38%}.cover-wire.confrontation em{left:34%;width:34%;border-radius:50%}.cover-wire.protagonist i:first-child{width:57%}.cover-wire.protagonist i:nth-child(2){width:24%}.cover-wire.protagonist em{left:54%;width:31%;border-radius:50%}.cover-wire.coral i:first-child{width:31%}.cover-wire.coral i:nth-child(2){width:31%}.cover-wire.coral em{left:31%;width:38%;height:60%;border-radius:0}.cover-compose .covers-render{width:100%}@media(max-width:900px){.cover-project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.cover-projects>header{align-items:flex-start;flex-direction:column}.cover-project-grid,.cover-library .covers-files,.cover-copy-suggestions{grid-template-columns:1fr}.cover-copy-ai-action{grid-template-columns:1fr}.covers-elements{align-items:flex-start;flex-wrap:wrap}.covers-elements>span{width:100%}}
/* Proyectos de Portadas y acciones recuperables. */
.cover-project-grid>article{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.cover-project-grid>article>a{display:block;color:inherit}
.cover-project-grid>article:hover{border-color:var(--accent-line)}
.cover-project-grid .cover-trash-action{position:absolute;z-index:2;right:8px;top:8px;width:34px;min-height:34px;padding:0!important;background:#111c!important;color:#fff!important;border-color:#ffffff40!important}
.cover-project-grid .cover-trash-action .ico{margin:0;width:15px;height:15px}
.cover-project-grid>article>a>span{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:11px 15px;border-top:1px solid var(--line);color:var(--accent-soft);font-size:10px}
.cover-project-grid>article>a>span .ico{width:14px;height:14px}
.covers-results [data-delete-cover]{border:0;background:transparent;color:#e49a9a;font-size:10px;cursor:pointer}
.cover-file,.cover-ai-proposals label{position:relative}.cover-resource-trash{position:absolute;z-index:4;right:7px;top:7px;display:grid;place-items:center;width:30px;min-height:30px!important;padding:0!important;border:1px solid #ffffff35!important;background:#111d!important;color:#f2aaaa!important}.cover-resource-trash .ico{width:14px;height:14px}
.rv-thumb img,.pj-cover>img{width:100%;height:100%;object-fit:cover}
.pj-cover>img{transition:transform .5s}.pj-card:hover .pj-cover>img{transform:scale(1.05)}
