/* Edition Collective · base compartida
   Tomado de editioncollective.cl: negro cálido, papel, marfil y dorado; títulos en
   Cormorant Garamond y textos en Inter; rótulos en versalita con tracking amplio.
   Nada de azules genéricos, degradados ni sombras de colores. */
:root{
  /* marca */
  --noche:#0E0C0B;        /* fondo oscuro */
  --noche-2:#171310;      /* superficie oscura */
  --marino:#16181D;       /* tinta: texto fuerte y fondos oscuros suaves */
  --oro:#CDA86A;          /* acento sobre oscuro */
  --primario:#8A6A33;     /* acento sobre papel (texto y botones) */
  --celeste:#CDA86A;      /* acento sobre oscuro (nombre heredado) */
  --marfil:#F4ECDD;
  --cuerpo-osc:#C9BCA6;   /* texto secundario sobre oscuro */
  /* Superficies neutras: el beige y el dorado quedan para la marca y el portal
     del cliente; el panel de trabajo es gris y blanco, con color solo donde
     significa algo (canal, estado). */
  --bg:#F6F7F9;
  --card:#FFFFFF;
  --suave:#F2F4F7;   /* zonas sutiles: cabeceras de tabla, hover, zonas de subida */
  --hueso:#FFFFFF;   /* barra lateral */
  --linea:#E6E8EC;
  --linea-2:#EFF1F4; /* separadores internos, más leves */
  --cuerpo:#4A5260;
  --caption:#858D9A;
  /* estados */
  --ok:#3F7A54;--warn:#96701A;--err:#A14343;--acento:#16181D;
  /* color con significado: fondo suave y tinta legible */
  --f-ok:#EDF7F0;--t-ok:#2F6340;
  --f-warn:#FDF6E6;--t-warn:#8A6410;
  --f-err:#FDF0F0;--t-err:#93393A;
  --f-info:#EEF3FB;--t-info:#2E5C8A;
  --f-neutro:#F2F4F7;--t-neutro:#5C6573;
  --f-violeta:#F3F1FC;--t-violeta:#5C4F9E;
  --f-rosa:#FCF1F6;--t-rosa:#94406C;
  /* profundidad */
  --sombra:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);
  --sombra-2:0 2px 4px rgba(16,24,40,.04),0 8px 20px rgba(16,24,40,.07);
  /* formas */
  --r:10px;--r2:14px;--r3:18px;--pill:999px;
  --ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:"Lora",Georgia,"Times New Roman",serif;
  --serif-editorial:"Fraunces",Georgia,"Times New Roman",serif; /* rediseño portal cliente */
  /* La marca del estudio se pinta siempre con esta, aunque los títulos cambien de familia. */
  --marca:"Lora",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--ui);background:var(--bg);color:var(--marino);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,.display{font-family:var(--display);font-weight:600;letter-spacing:-.005em;line-height:1.2}
/* Solo los titulares grandes bajan de peso sin perder cuerpo. */
.display-fino,.cab h1,.acceso h1{font-weight:500}
a{color:var(--primario);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
img,svg,video{max-width:100%}
:focus-visible{outline:2px solid var(--primario);outline-offset:2px}
[hidden]{display:none!important}
/* Salto al contenido: fuera de pantalla hasta que el teclado lo enfoca. */
.saltar{position:absolute;left:-9999px;top:0;background:var(--noche);color:var(--marfil);padding:10px 16px;z-index:300}
.saltar:focus{left:0}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--suave);padding:1px 5px;border-radius:var(--r)}
small{font-size:13px}
.suave{color:var(--caption)}
.vacio{color:var(--caption);font-size:14px;padding:8px 0}
.rojo{color:var(--err)}
.verde{color:var(--ok)}
.ojo{color:#8A5A0B}
.azul{color:var(--primario)}
.cargando{color:var(--caption);padding:30px 0}

/* botones: píldora con versalita, como en el sitio */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 21px;font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;background:var(--marino);color:var(--marfil);border:1px solid var(--marino);
  border-radius:var(--pill);cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.1;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--oro);border-color:var(--oro);color:var(--marino);text-decoration:none}
.btn.sec{background:transparent;color:var(--marino);border-color:#CFC3AE}
.btn.sec:hover{border-color:var(--marino);background:transparent;color:var(--marino)}
.btn.peligro{background:transparent;color:var(--err);border-color:#E3CBC4}
.btn.peligro:hover{background:var(--err);color:#fff;border-color:var(--err)}
.btn.chico{padding:8px 15px;font-size:11.5px;letter-spacing:.1em}
.btn:disabled{opacity:.4;cursor:not-allowed}
.en-linea{display:inline}

/* formularios */
input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=date],input[type=month],input:not([type]),select,textarea{
  width:100%;padding:11px 13px;font-size:14.5px;border:1px solid var(--linea);border-radius:var(--r);background:#fff;color:var(--marino)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primario)}
textarea{resize:vertical;line-height:1.55}
textarea.codigo{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
input[type=color]{width:46px;height:38px;padding:2px;border:1px solid var(--linea);border-radius:var(--r);background:#fff}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--primario)}
label{display:block;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--caption)}
label>input,label>select,label>textarea{margin-top:6px;color:var(--marino);font-weight:400;letter-spacing:0;text-transform:none}
label small{display:block;font-weight:400;margin-top:5px;letter-spacing:0;text-transform:none;font-size:12.5px}
label.chk{display:flex;align-items:center;gap:9px;font-weight:500;color:var(--marino);text-transform:none;letter-spacing:0;font-size:14px}
label.chk input{margin:0}
fieldset{border:1px solid var(--linea);border-radius:var(--r);padding:14px;display:grid;gap:10px}
legend{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:none;padding:0 6px;color:var(--caption)}

/* avisos */
/* Los avisos se distinguen por el tinte del fondo, no por una barra al costado. */
.aviso{background:var(--f-neutro);border:1px solid var(--linea);border-radius:var(--r);padding:14px 17px;margin-bottom:18px;font-size:14px}
.aviso.ok{background:var(--f-ok);border-color:#CFE4D6;color:var(--t-ok)}
.aviso.err{background:var(--f-err);border-color:#EDD3D3;color:var(--t-err)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:200;background:var(--marino);color:#fff;padding:13px 22px;border-radius:var(--pill);font-size:13.5px;font-weight:500;max-width:min(560px,calc(100vw - 32px))}
.toast.err{background:var(--err);color:#fff}

/* barra de avance por estado */
.barra{display:flex;height:5px;background:var(--linea);border-radius:1px;overflow:hidden;gap:1px;min-width:80px}
.barra i{display:block;height:100%}
.barra.vacia{height:auto;background:none;font-size:12px;color:var(--caption)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--caption);margin-top:12px}
.leyenda span{display:inline-flex;align-items:center;gap:6px}
.leyenda i{width:8px;height:8px;display:inline-block;border-radius:50%}

/* subida */
.zona{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed #CFC3AE;background:var(--suave);
  padding:24px;text-align:center;cursor:pointer;border-radius:var(--r);color:var(--marino)}
.zona b{font-family:var(--display);font-size:15px;font-weight:600}
.zona span{font-size:12px;color:var(--caption);font-weight:400}
.zona.sobre{border-color:var(--primario);background:#F3EFE7}
.subidas{list-style:none;display:grid;gap:6px;margin:8px 0}
.subidas li{display:grid;grid-template-columns:1fr 120px;gap:10px;align-items:center;font-size:12px}
.subidas li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.subidas li.ok progress{accent-color:var(--ok)}
.subidas li.error{color:var(--err)}
.subidas li.error progress{display:none}
progress{width:100%;height:5px;accent-color:var(--primario)}

/* páginas de acceso */
body.acceso{background:var(--noche);color:var(--marfil);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.acceso-caja{width:100%;max-width:440px}
.acceso .kick{font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--oro)}
.acceso h1{font-family:var(--display);font-size:34px;font-weight:500;line-height:1.15;margin:20px 0 14px;color:var(--marfil)}
.acceso h1 b{font-weight:600;font-style:italic;color:var(--oro)}
.acceso .lead{font-size:14.5px;line-height:1.65;color:rgba(244,236,221,.8);margin-bottom:28px;max-width:38ch}
.acceso .lead b{color:var(--marfil);font-weight:500}
.acceso-form{display:grid;gap:6px}
.acceso-form label{color:rgba(244,236,221,.55);margin-top:10px}
.acceso-form input{background:rgba(244,236,221,.05);border:1px solid rgba(244,236,221,.18);color:var(--marfil);padding:13px 14px;font-size:15px;border-radius:var(--r)}
.acceso-form input:focus{border-color:var(--oro)}
.acceso-form input.pin{letter-spacing:.3em;text-align:center;font-size:20px}
.acceso-form button{margin-top:20px;padding:14px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:var(--oro);color:var(--noche);border-radius:var(--pill)}
.acceso-form button:hover{background:var(--marfil)}
.acceso .err{margin-top:18px;padding:13px 15px;border-radius:var(--r);font-size:13.5px;line-height:1.5;color:#EBD3A8;background:rgba(185,135,63,.14)}
.acceso-links{margin-top:20px;font-size:12.5px;color:rgba(244,236,221,.5)}
.acceso-links a{color:var(--oro)}
.acceso-pie{margin-top:44px;padding-top:18px;border-top:1px solid rgba(244,236,221,.14);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,236,221,.4)}
.acceso-logo{max-height:44px;max-width:210px;display:block;margin-bottom:30px}

@media (max-width:640px){
  .acceso h1{font-size:27px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Logotipo de Edition Collective, tal como está en editioncollective.cl:
   EDITION en Cormorant con versalita espaciada, Collective en Pinyon Script dorada.
   Se escala con el font-size del contenedor. */
.marca-ec{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1}
.marca-ec .m1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:.72em;
  letter-spacing:.16em;text-transform:uppercase;color:currentColor}
.marca-ec .m2{font-family:"Pinyon Script",cursive;font-weight:400;font-size:1.05em;
  color:var(--oro);margin-left:.06em;line-height:1.3}
.marca-grande{display:inline-block;font-size:.78em}
/* El pie va en versalita, pero la caligráfica en mayúsculas no se lee. */
.acceso-pie .marca-ec{font-size:15px;color:rgba(244,236,221,.55);letter-spacing:0}
.acceso-pie .marca-ec .m2{text-transform:none;font-size:1.15em}

/* Checkbox "Mantener la sesión iniciada" en las pantallas de acceso (fondo oscuro). */
.acceso-recordar{display:flex;align-items:center;gap:9px;margin:4px 2px 2px;font-size:13.5px;font-weight:400;text-transform:none;letter-spacing:0;color:rgba(244,236,221,.72);cursor:pointer}
.acceso-recordar input{width:16px;height:16px;accent-color:var(--marfil);flex:none}
