/* solopdfs — hoja de estilo única. Familia Solo: lienzo común, IBM Plex
   autoalojada, un acento propio (rosa). Sin dependencias externas.
   Criterio: teamdocs/knowledge/DISENO_PERSONALIDAD_FAMILIA_SOLO.md */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(fonts/ibm-plex-sans-latin-var.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-latin-400.woff2) format('woff2')}

:root{
  --canvas-1:#1a1040;--canvas-2:#0f0a26;--canvas-3:#0a0e1a;
  --tinta:#e5e7eb;--tinta-suave:#b4bac6;--tinta-tenue:#8b93a3;
  --linea:rgba(255,255,255,.12);--linea-viva:rgba(255,255,255,.26);
  --vidrio:rgba(255,255,255,.035);
  --acento:#fb7185;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;
  --sans:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
}
/* Como solofactu.es / soloconta.es / menzuri: la familia es oscura, sin variante clara. */

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);font-size:1.05rem;line-height:1.7;color:var(--tinta);
  background:var(--canvas-3);
  background:radial-gradient(120% 120% at 50% 0%,var(--canvas-1) 0%,var(--canvas-2) 45%,var(--canvas-3) 100%);
  background-attachment:fixed;min-height:100vh;
  display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;
}
main{flex:1}
a{color:var(--tinta)}
a:hover{color:var(--acento)}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px;border-radius:3px}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:42rem}
.skip{position:absolute;left:-999px;top:0;background:var(--tinta);color:var(--canvas-3);padding:.5rem 1rem;z-index:10}
.skip:focus{left:0}

/* Cabecera */
.cab{padding:1.1rem 0;border-bottom:1px solid var(--linea)}
.cab .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between}
/* Marca denominativa de familia: "solo" fino y gris, sufijo en peso 600 y blanco */
.logo{font-size:1.5rem;font-weight:300;letter-spacing:-.02em;line-height:1;text-decoration:none;color:#cbd5e1}
.logo span{color:#fff;font-weight:600}
.logo:hover{color:#cbd5e1}
.nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.92rem}
.nav a{color:var(--tinta-suave);text-decoration:none;padding:.2rem 0}
.nav a:hover{color:var(--tinta);text-decoration:underline;text-underline-offset:.25em}
.nav a.appbtn{background:var(--acento);color:#1a1040;font-weight:600;border-radius:.5rem;padding:.25rem .8rem}
.nav a.appbtn:hover{color:#1a1040;filter:brightness(1.1);text-decoration:none}
.nav .lang{display:inline-flex;border:1px solid var(--linea-viva);border-radius:.45rem;overflow:hidden}
.nav .lang a,.nav .lang button{font:inherit;border:0;background:transparent;cursor:pointer;padding:.2rem .6rem;color:var(--tinta-suave);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-decoration:none}
.nav .lang a[aria-current],.nav .lang button[aria-pressed=true]{background:var(--tinta);color:var(--canvas-3)}
.nav .lang a:hover,.nav .lang button:hover{text-decoration:none;color:var(--tinta)}
.nav .lang a[aria-current]:hover,.nav .lang button[aria-pressed=true]:hover{color:var(--canvas-3)}
/* buttons and calls to action (landing pages and the password prompt of the app) */
.btn{font:inherit;color:var(--tinta);background:var(--vidrio);border:1px solid var(--linea-viva);border-radius:.6rem;padding:.6rem 1.1rem;min-height:2.75rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn:hover:not(:disabled){border-color:var(--acento);color:var(--tinta)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-main{background:var(--acento);border-color:var(--acento);color:#1a1040;font-weight:600}
.btn-main:hover:not(:disabled){background:#fda4af;border-color:#fda4af;color:#1a1040}
.btn-lg{font-size:1.15rem;padding:.8rem 1.6rem;min-height:3.2rem}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin:1.4rem 0 1rem}
.cta-hint{color:var(--tinta-tenue);font-size:.95rem}
.faq{border:1px solid var(--linea);border-radius:10px;padding:.7rem 1rem;margin-bottom:.6rem;background:var(--vidrio)}
.faq summary{cursor:pointer;font-weight:600;color:var(--tinta)}
.faq p{margin:.6rem 0 0}
/* the application screen: a compact header, the workspace takes the rest of the viewport */
body.appscreen .cab{padding:.4rem 0}
body.appscreen .cab .wrap{max-width:none;padding:0 .8rem}
body.appscreen .logo{font-size:1.25rem}
body.appscreen .pie{padding:1rem 0}

/* Tipografía */
h1{font-size:clamp(2rem,5.4vw,3.2rem);line-height:1.12;font-weight:500;letter-spacing:.005em;margin-bottom:1.1rem}
h2{font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.25;font-weight:400;margin-bottom:1rem}
h3{font-size:1.15rem;font-weight:600;line-height:1.3}
p{margin-bottom:1.1rem;color:var(--tinta-suave)}
p strong{color:var(--tinta);font-weight:500}
.lead{font-size:1.2rem;color:var(--tinta)}
.mono,.etiqueta{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-tenue)}
.etiqueta{margin-bottom:.9rem;display:block}

/* Portada */
.hero{padding:4.5rem 0 3rem}
.hero h1{max-width:20ch}
.hero .lead{max-width:38rem}
.estado{
  display:inline-block;margin-top:.6rem;padding:.55rem .9rem;border:1px solid rgba(251,113,133,.35);
  border-radius:10px;background:var(--vidrio);font-size:.95rem;color:var(--tinta-suave);max-width:38rem
}
.rule{width:2.5rem;height:2px;background:rgba(251,113,133,.5);border:0;margin:0 0 1.6rem}
.estado b{color:var(--tinta);font-weight:500}
.seccion{padding:3.2rem 0;border-top:1px solid var(--linea)}

/* Rejilla de herramientas */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin-top:1.6rem;list-style:none}
.tarjeta{
  display:flex;flex-direction:column;gap:.55rem;height:100%;padding:1.4rem 1.3rem;text-decoration:none;
  color:var(--tinta);background:var(--vidrio);border:1px solid var(--linea);border-radius:14px;
  transition:border-color .2s ease,transform .2s ease
}
.tarjeta:hover{border-color:var(--linea-viva);transform:translateY(-3px);color:var(--tinta)}
.tarjeta p{margin:0;font-size:.97rem}
.insignia{
  align-self:flex-start;margin-top:auto;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;padding:.28rem .65rem;border:1px solid currentColor;border-radius:999px;color:var(--tinta-tenue)
}
.insignia.listo{color:var(--acento)}

/* Páginas de herramienta */
.miga{font-size:.9rem;padding:1.4rem 0 0;color:var(--tinta-tenue)}
.miga a{color:var(--tinta-suave)}
.herr{padding:2rem 0 2.5rem}
.herr .lead{max-width:40rem}
#tool-root{
  margin:1.8rem 0 0;padding:2rem 1.5rem;border:1px dashed var(--linea-viva);border-radius:14px;
  background:var(--vidrio);text-align:center
}
#tool-root p{margin:0;color:var(--tinta-suave)}
#tool-root .aviso{font-size:1.15rem;color:var(--tinta);margin-bottom:.4rem}
.nota{margin-top:1.6rem;padding:1.2rem 1.3rem;border-left:3px solid var(--acento);background:var(--vidrio);border-radius:0 10px 10px 0}
.nota h2{font-size:1.15rem;font-weight:600;margin-bottom:.5rem}
.nota p:last-child{margin-bottom:0}
.otras{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;margin-top:.8rem}
.otras a{color:var(--tinta-suave)}
.texto ul{margin:0 0 1.1rem 1.3rem;color:var(--tinta-suave)}
.texto li{margin-bottom:.45rem}
.texto h2{margin-top:2.2rem}
.texto ul.licencias{list-style:none;margin:1rem 0 1.4rem}
.lic{padding:1rem 1.1rem;margin-bottom:.8rem;border:1px solid var(--linea);border-radius:12px;background:var(--vidrio)}
.lic h3{margin-bottom:.35rem;overflow-wrap:anywhere}
.lic p{margin-bottom:.6rem;font-size:.97rem}
.lic dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;font-size:.9rem}
.lic dt{color:var(--tinta-tenue)}
.lic dd{color:var(--tinta-suave);margin:0;overflow-wrap:anywhere}
.texto blockquote{margin:0 0 1.1rem;padding:.8rem 1rem;border-left:3px solid var(--acento);background:var(--vidrio);color:var(--tinta)}
.texto ul.limites{margin-bottom:1.4rem}
@media (max-width:30rem){.lic dl{grid-template-columns:1fr}.lic dd{margin-bottom:.4rem}}

/* Pie */
.pie{border-top:1px solid var(--linea);padding:1.8rem 0 2.2rem;font-family:var(--mono);font-size:.78rem;color:var(--tinta-tenue)}
.pie p{margin:0 0 .45rem;color:var(--tinta-tenue)}
.pie a{color:var(--tinta-suave)}
.pie .en{font-size:.85rem}

@media (max-width:30rem){
  body{font-size:1rem}
  .hero{padding-top:3rem}
}
@media (prefers-reduced-motion:reduce){.tarjeta{transition:none}.tarjeta:hover{transform:none}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){
  body.appscreen .nav a:not(.cuenta){display:none}
  body.appscreen .nav .lang a,body.appscreen .nav .lang button{display:inline-block}
  body.appscreen .nav a.cuenta{display:none}
  body.appscreen .cab .wrap{flex-wrap:wrap;row-gap:.15rem}
  /* the open document's name gets a row of its own under the logo and the switch (the account button leaves too little room next to them) */
  body.appscreen .cab .docname{order:3;flex:1 0 100%;padding:0}
}
