/* === Lifecycle de roles · Estilos compartidos === */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.toolbar input,.toolbar select,.toolbar textarea{padding:8px 12px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:white}
.toolbar input{flex:1;min-width:220px}

.estado-pill{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:600;text-transform:uppercase;font-family:var(--mono);letter-spacing:0.04em}
.estado-pill.activo{background:#dcfce7;color:#166534}
.estado-pill.fusionado{background:#fef3c7;color:#92400e}
.estado-pill.subdividido{background:#dbeafe;color:#1e40af}
.estado-pill.re_rolado{background:#e0e7ff;color:#4338ca}
.estado-pill.copropiedad_origen{background:#fce7f3;color:#9d174d}
.estado-pill.vendido_holding{background:#fef9c3;color:#854d0e}
.estado-pill.vendido_tercero{background:#fee2e2;color:#991b1b}
.estado-pill.inactivo_otro{background:#f1f5f9;color:#475569}

.pending-pill{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:4px;background:#0369a1;color:white;font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em}

table.std tr.inactive{opacity:0.55;background:#fafafa}
table.std tr.inactive td:first-child{text-decoration:line-through}
table.std tr.pending{background:#eff6ff}
table.std tr.pending td:first-child{font-weight:700}

/* Tabs internos */
.intabs{display:flex;gap:0;background:var(--bg);padding:4px;border-radius:9px;margin-bottom:18px;width:fit-content;flex-wrap:wrap}
.intabs button{padding:8px 14px;background:transparent;border:none;border-radius:7px;font-size:12.5px;cursor:pointer;color:var(--muted);font-weight:500;font-family:inherit}
.intabs button:hover{color:var(--ink)}
.intabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,0.06);font-weight:600}

.dropzone{border:2px dashed var(--line);border-radius:12px;padding:36px 20px;text-align:center;color:var(--muted);transition:border-color 120ms,background 120ms;cursor:pointer}
.dropzone:hover,.dropzone.drag{border-color:var(--brand);background:#f0f9ff;color:var(--brand)}
.dropzone svg{margin-bottom:12px;color:var(--muted-2)}
.dropzone .hint{font-size:11.5px;margin-top:4px;color:var(--muted)}

.preview{background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-top:14px;font-family:var(--mono);font-size:12px;max-height:380px;overflow-y:auto}
.preview .head{display:flex;justify-content:space-between;font-family:-apple-system,sans-serif;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}

textarea.paste-area{width:100%;min-height:200px;padding:12px;border:1px solid var(--line);border-radius:9px;font-family:var(--mono);font-size:12px;resize:vertical;background:white}

.tree{font-family:var(--mono);font-size:12px;padding:14px;background:var(--bg);border-radius:8px;line-height:1.7}
.tree .node{padding:3px 0}
.tree .indent{padding-left:22px;border-left:1px dashed var(--line);margin-left:10px}
.tree .arrow{color:var(--muted);margin:0 6px}
