/* ── ConLupa · espacio de trabajo tipo canvas (oscuro, grilla de puntos, paneles translúcidos) ── */
body.ws{min-height:100dvh;overflow:hidden;background-color:#08110F;background-image:radial-gradient(rgba(230,239,236,.085) 1px,transparent 1.2px);background-size:22px 22px}
body.ws .top{position:relative}
.ws-shell{display:grid;grid-template-columns:268px minmax(0,1fr) 360px;gap:12px;padding:12px;height:calc(100dvh - 64px);box-sizing:border-box}
.ws-side,.ws-clara,.ws-main{min-height:0;border-radius:18px}
.ws-side,.ws-clara{background:rgba(17,31,28,.62);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(230,239,236,.09);box-shadow:0 24px 60px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.05)}
.ws-side{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.ws-main{overflow:auto;scroll-behavior:smooth}
.ws-main section.block{padding:18px 6px 40px!important;background:transparent!important}
.ws-main .wrap{max-width:62rem!important;padding:0 8px!important}
.ws-main #result{margin-top:0}
.ws-clara{overflow:hidden;display:flex;flex-direction:column}
/* barra lateral: Mis proyectos */
.ws-k{font:500 .68rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#7FA79B;margin:6px 4px 0}
.ws-new{display:flex;align-items:center;justify-content:center;gap:.4rem}
.ws-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ws-list a,.ws-list button{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;text-decoration:none;color:var(--text);background:transparent;border:0;border-radius:12px;padding:9px 10px;cursor:pointer;font:inherit}
.ws-list a:hover,.ws-list button:hover{background:rgba(230,239,236,.06)}
.ws-list .cur{background:rgba(52,211,153,.1);box-shadow:inset 0 0 0 1px rgba(52,211,153,.25)}
.ws-list b{display:block;font-size:.9rem;font-weight:600;line-height:1.3}
.ws-list small{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.ws-dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:6px;background:#7FA79B}
.ws-dot.c{background:#F2C14E}.ws-dot.m{background:#34D399}.ws-dot.d{background:#9DB2AC}
.ws-mini{height:3px;border-radius:9px;background:rgba(230,239,236,.1);margin-top:6px;overflow:hidden}.ws-mini i{display:block;height:100%;background:#34D399}
.ws-saved{margin-top:auto;font:400 .7rem var(--mono);color:#34D399;letter-spacing:.02em;padding:4px}
.ws-empty{color:var(--muted);font-size:.85rem;padding:6px 4px}
/* el documento como una hoja sobre la mesa */
body.ws .card{background:rgba(20,36,33,.72);backdrop-filter:blur(14px);border:1px solid rgba(230,239,236,.09)}
body.ws .rhead,body.ws .fixbox{background:rgba(20,36,33,.78)}
body.ws #txt,body.ws .quote,body.ws .alt{font-family:var(--serif)}
/* estado "LEYENDO CONTRATO…" en monoespaciada, con cursor y barrido */
body.ws #proc{position:relative;overflow:hidden}
body.ws #proc .bubble{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body.ws #bubbleTxt{font:500 1.05rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#34D399}
body.ws #bubbleTxt::after{content:"▍";display:inline-block;margin-left:.15em;color:#34D399}
@media (prefers-reduced-motion:no-preference){
  body.ws #bubbleTxt::after{animation:wsBlink 1s steps(1) infinite}
  body.ws #proc::before{content:"";position:absolute;left:0;right:0;height:90px;top:-90px;background:linear-gradient(180deg,transparent,rgba(52,211,153,.12),transparent);animation:wsScan 2.4s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
}
body.ws #proc .dots{display:none!important}
body.ws .stages li{font:400 .82rem var(--mono);letter-spacing:.02em}
@keyframes wsBlink{50%{opacity:0}}
@keyframes wsScan{to{top:100%}}
/* Clara fija en la columna derecha */
.ws-clara .cl-panel{position:static!important;inset:auto!important;width:auto!important;height:100%!important;border-radius:18px!important;box-shadow:none!important;background:transparent!important;animation:none!important}
.ws-clara .cl-head{background:transparent!important;border-bottom:1px solid rgba(230,239,236,.08)}
.ws-clara .cl-head .x{display:none}
.ws-clara .cl-msgs,.ws-clara .cl-form,.ws-clara .cl-note,.ws-clara .cl-prev{background:transparent!important}
.ws-clara .cl-handle{display:none}
body.ws .cl-fab{display:none!important}
/* pestañas del celular */
.ws-tabs{display:none}
@media (max-width:1180px){.ws-shell{grid-template-columns:230px minmax(0,1fr) 320px}}
@media (max-width:900px){
  body.ws{overflow:auto}
  .ws-shell{display:block;height:auto;min-height:calc(100dvh - 64px - 64px);padding:8px 8px 76px}
  .ws-side,.ws-main,.ws-clara{display:none}
  .ws-shell[data-vista="proyectos"] .ws-side,.ws-shell[data-vista="documento"] .ws-main,.ws-shell[data-vista="clara"] .ws-clara{display:flex;flex-direction:column}
  .ws-shell[data-vista="clara"] .ws-clara{height:calc(100dvh - 64px - 92px)}
  .ws-main{overflow:visible}
  .ws-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:40;background:rgba(17,31,28,.82);backdrop-filter:blur(16px);border:1px solid rgba(230,239,236,.1);border-radius:16px;padding:4px}
  .ws-tabs button{background:none;border:0;color:var(--muted);font:600 .8rem var(--body);padding:.7rem .4rem;border-radius:12px;cursor:pointer;min-height:44px}
  .ws-tabs button[aria-pressed="true"]{background:rgba(52,211,153,.14);color:#34D399}
}

body.ws .appgrid{grid-template-columns:1fr!important}
.ws-shell.ws-two{grid-template-columns:minmax(0,1fr) 340px}
.ws-shell.ws-two .ws-side{display:none}
@media (max-width:900px){.ws-shell.ws-two[data-vista="proyectos"] .ws-side{display:flex}}
body.ws .ws-main>main,body.ws main.ws-main{max-width:none}
body.ws main.ws-main{padding:18px 14px 40px!important;margin:0!important}
body.ws .doc,body.ws #doc{background:#FBFAF6!important;color:#1B2523!important;box-shadow:0 30px 70px -28px rgba(0,0,0,.6)}
body.ws .qcard,body.ws .sitem{background:rgba(20,36,33,.78)!important;backdrop-filter:blur(14px)}
@media print{body.ws{background:#fff!important}}
.ws-side .linkbtn{background:none!important;border:0;color:#34D399;font:600 .85rem var(--body);text-decoration:underline;cursor:pointer;padding:0}
