/* Tandem Legal — sobre la base de Tandem PM (app.css). Acento propio del abogado: oro sobrio. */
:root{ --oro:#d9b26a; --oro-soft:rgba(217,178,106,.14); --serif:'Source Serif 4',Georgia,serif; }
:root[data-theme="light"]{ --oro:#9a7428; --oro-soft:rgba(154,116,40,.10); }
.navi .badge{margin-left:auto;background:var(--crit);color:#fff;border-radius:999px;font-size:10.5px;font-weight:700;padding:0 6px;line-height:17px;font-family:var(--f-mono)}
.brand .balanza{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#d9b26a,#8a6a2c);color:#0B1F2D}
.brand .balanza svg{width:18px;height:18px}
.abogado-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#d9b26a,#8a6a2c);color:#0B1F2D}
.abogado-av svg{width:16px;height:16px}
.abogado-av[style*="width:4"] svg,.abogado-av[style*="width:5"] svg,.abogado-av[style*="width:6"] svg{width:55%;height:55%}
.sem{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.sem .salud{width:9px;height:9px}
.sem.gris .salud{background:var(--faint)}
.nivel{display:inline-flex;align-items:center;border-radius:6px;padding:1px 7px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.nivel.critica,.nivel.alto,.nivel.vencido{color:#fff;background:var(--crit)}
.nivel.alta,.nivel.d7{color:var(--crit-path);background:color-mix(in srgb,var(--crit-path) 16%,transparent)}
.nivel.media,.nivel.medio,.nivel.d30{color:var(--warn);background:var(--warn-bg)}
.nivel.baja,.nivel.bajo,.nivel.futuro{color:var(--info);background:var(--info-bg)}
.nivel.cumplido,.nivel.hecha{color:var(--good);background:var(--good-bg)}
.lista{display:flex;flex-direction:column}
.item{display:flex;gap:12px;align-items:flex-start;padding:11px 16px;border-top:1px solid var(--line)}
.item:first-child{border-top:0}
.item.click{cursor:pointer}.item.click:hover{background:var(--hover)}
.item .f{font-family:var(--f-mono);font-size:12px;white-space:nowrap;min-width:78px;color:var(--ink-2)}
.item .f.rojo{color:var(--crit)} .item .f.nar{color:var(--crit-path)}
.item .cuerpo{flex:1;min-width:0}
.item .cuerpo b{display:block;font-weight:600}
.item .cuerpo small{color:var(--muted);font-size:12px}
.pchip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);max-width:200px}
.pchip i{width:8px;height:8px;border-radius:3px;flex:none}
.informe{padding:18px 20px;border-left:3px solid var(--oro);background:linear-gradient(90deg,var(--oro-soft),transparent 60%)}
.informe h2{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:0}
.informe p{margin:6px 0 0;color:var(--ink-2)}
.prosa{font-family:var(--serif);font-size:15.5px;line-height:1.65}
.prosa p{margin:0 0 10px}.prosa ul{margin:0 0 10px;padding-left:20px}
.prosa table{border-collapse:collapse;font-family:var(--f-body);font-size:12.5px;margin:8px 0;width:100%}
.prosa td,.prosa th{border:1px solid var(--line-2);padding:5px 7px;vertical-align:top;text-align:left}
.prosa code{font-family:var(--f-mono);font-size:12.5px}
.contrato{background:#fdfcf8;color:#1d1a14;border-radius:6px;padding:48px 56px;max-width:820px;margin:0 auto;box-shadow:0 10px 40px rgba(0,0,0,.35);font-family:var(--serif);font-size:15px;line-height:1.7}
.contrato p{margin:0 0 12px;text-align:justify}
.contrato .h1{text-align:center;font-weight:700;font-size:19px;margin:0 0 22px;letter-spacing:.02em}
.contrato .h2{font-weight:700;font-size:15.5px;margin:22px 0 10px;text-transform:uppercase}
.contrato hr{border:0;border-top:1px solid #c9c2b2;margin:26px 0}
.contrato table{border-collapse:collapse;width:100%;font-size:13px}.contrato td,.contrato th{border:1px solid #c9c2b2;padding:5px 7px}
.contrato .falta{background:#ffe9a8;border-radius:3px;padding:0 2px}
@media (max-width:700px){.contrato{padding:26px 18px}}
.soltar{border:1.5px dashed var(--line-2);border-radius:14px;padding:22px;text-align:center;color:var(--muted);transition:border-color .15s,background .15s;cursor:pointer}
.soltar.sobre,.soltar:hover{border-color:var(--oro);background:var(--oro-soft);color:var(--ink)}
.soltar svg{width:26px;height:26px;opacity:.7}
.girando{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:gira .8s linear infinite;vertical-align:-2px}
@keyframes gira{to{transform:rotate(360deg)}}
/* consultas */
.hilos{display:grid;grid-template-columns:320px 1fr;height:100%;min-height:0}
.hilos .izq{border-right:1px solid var(--line);overflow:auto;min-height:0}
.hilos .der{display:flex;flex-direction:column;min-height:0;min-width:0}
.hilo-item{padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.hilo-item:hover{background:var(--hover)} .hilo-item.on{background:var(--acc-soft);box-shadow:inset 3px 0 0 var(--acc)}
.hilo-item b{display:block;font-size:13.5px} .hilo-item small{color:var(--muted);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hilo-item .nuevo{width:8px;height:8px;border-radius:50%;background:var(--acc);display:inline-block;margin-right:6px}
.conv{flex:1;overflow:auto;padding:18px 22px;display:flex;flex-direction:column;gap:16px;min-height:0}
.burbuja{display:flex;gap:10px;max-width:860px}
.burbuja.mia{align-self:flex-end;flex-direction:row-reverse}
.burbuja .txt{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px;min-width:0}
.burbuja.mia .txt{background:var(--acc-soft);border-color:transparent}
.burbuja.abogado .txt{border-color:color-mix(in srgb,var(--oro) 40%,var(--line));background:linear-gradient(180deg,var(--oro-soft),var(--panel) 120px)}
.burbuja .quien{font-size:11.5px;color:var(--muted);margin-bottom:3px}
.burbuja .quien b{color:var(--ink-2)}
.burbuja .acc{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.redactar{border-top:1px solid var(--line);padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:var(--bg-2)}
.redactar textarea{min-height:64px;max-height:240px}
.redactar .row{flex-wrap:wrap}
.sw{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);cursor:pointer;user-select:none}
.sw input{accent-color:var(--oro)}
@media (max-width:860px){.hilos{grid-template-columns:1fr}.hilos.abierto .izq{display:none}.hilos:not(.abierto) .der{display:none}.conv{padding:14px}}
.ficha h4{margin:16px 0 6px;font-family:var(--f-label);text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--muted)}
.ficha ul{margin:0;padding-left:18px}.ficha li{margin-bottom:4px}
.tabla td.ac{white-space:nowrap;text-align:right}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.cols3{grid-template-columns:1fr}}
.tcard{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);cursor:pointer;display:flex;flex-direction:column;gap:6px}
.tcard:hover{border-color:var(--acc)}
.tcard .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.equipo-fila{display:grid;grid-template-columns:1.4fr 1fr 1fr 120px 32px;gap:8px;align-items:center}
@media (max-width:760px){.equipo-fila{grid-template-columns:1fr 1fr}}
.aviso-ia{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.aviso-ia svg{width:14px;height:14px;flex:none;margin-top:2px}
.correo-prev{width:100%;height:520px;border:1px solid var(--line);border-radius:10px;background:#fff}
.vacio-pro{padding:56px 24px;text-align:center}
.vacio-pro h2{font-family:var(--serif);font-weight:600;font-size:24px;margin-bottom:8px}
.contenido .pad{max-width:1500px}
@media (max-width:640px){.top .acciones .btn{font-size:0;padding:7px 9px;gap:0}.top .titulo{max-width:none;flex:1}}
