:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-text:#1d2433;--color-muted:#6b7385;--color-border:#dde1e8;--color-primary:#2457d6;--color-primary-hover:#1c46ad;--color-danger:#c62f2f;--color-danger-bg:#fdecec;--color-hover:#eef1f6;--badge-founder:#8a5a00;--badge-founder-bg:#fff3d6;--badge-heir:#1f7a43;--badge-heir-bg:#e2f5e9;--badge-marriage:#7b3fb5;--badge-marriage-bg:#f1e7fb;--radius:8px;--space:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--color-bg:#12151c;--color-surface:#1b2029;--color-text:#e6e9ef;--color-muted:#9aa3b5;--color-border:#2c3340;--color-primary:#5b8cff;--color-primary-hover:#7aa2ff;--color-danger:#ff6b6b;--color-danger-bg:#3a1f22;--color-hover:#232a35;--badge-founder:#ffcf6b;--badge-founder-bg:#3a3020;--badge-heir:#6fdc9b;--badge-heir-bg:#1d3427;--badge-marriage:#cfa3ff;--badge-marriage-bg:#2f2340}}*{box-sizing:border-box}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);margin:0}h1,h2{margin:0 0 var(--space)}.muted{color:var(--color-muted)}.center{text-align:center;margin-top:20vh}.topbar{align-items:center;gap:calc(var(--space) * 2);padding:12px calc(var(--space) * 1.5);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.topbar nav{gap:var(--space);flex:1;display:flex}.topbar nav a{color:var(--color-muted);text-decoration:none}.topbar nav a.active{color:var(--color-primary);font-weight:600}.user{align-items:center;gap:8px;display:flex}.content{max-width:1100px;padding:calc(var(--space) * 2) var(--space);margin:0 auto}.page-header{margin-bottom:var(--space);justify-content:space-between;align-items:center;display:flex}.page-header h1{margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:calc(var(--space) * 1.5);margin-bottom:var(--space)}.auth-page{min-height:100vh;padding:var(--space);place-items:center;display:grid}.auth-card{width:100%;max-width:380px}.auth-card h1{margin-bottom:4px}.link{color:var(--color-primary);cursor:pointer;margin-top:var(--space);background:0 0;border:0;padding:0}.form{gap:var(--space);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:500}.field input,.field textarea{font:inherit;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.field input:focus,.field textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.field.has-error input,.field.has-error textarea{border-color:var(--color-danger)}.field-error{color:var(--color-danger)}.form-actions{justify-content:flex-end;gap:8px;display:flex}.btn{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:8px 14px;font-size:14px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-ghost{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.alert{border-radius:var(--radius);margin-bottom:var(--space);padding:10px 12px}.alert-error{background:var(--color-danger-bg);color:var(--color-danger)}.table-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px}.table th{color:var(--color-muted);font-size:13px;font-weight:600}.table tr:last-child td{border-bottom:0}.table .empty{text-align:center;color:var(--color-muted);padding:calc(var(--space) * 2)}.actions-col{text-align:right;white-space:nowrap}.actions-col .btn+.btn{margin-left:8px}.pagination{justify-content:center;align-items:center;gap:var(--space);margin-top:var(--space);display:flex}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--color-hover)}.entity-link{color:var(--color-primary);text-decoration:none}.entity-link:hover{text-decoration:underline}.back-link{color:var(--color-muted);margin-bottom:12px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--color-primary)}h3{margin:0 0 var(--space);font-size:16px}.subtitle{margin:4px 0 0}.header-actions{gap:8px;display:flex}.section{margin-top:calc(var(--space) * 2.5)}.section .page-header h2{margin:0;font-size:20px}.card h2{font-size:18px}.grid-2{gap:var(--space);margin-top:var(--space);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.badge{background:var(--color-hover);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-fundador{background:var(--badge-founder-bg);color:var(--badge-founder)}.badge-heranca{background:var(--badge-heir-bg);color:var(--badge-heir)}.badge-matrimonio{background:var(--badge-marriage-bg);color:var(--badge-marriage)}.badge-ok{background:var(--badge-heir-bg);color:var(--badge-heir)}.badge-pending{background:var(--badge-founder-bg);color:var(--badge-founder)}.field select{font:inherit;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);padding:10px 12px}.field.has-error select{border-color:var(--color-danger)}.field input:disabled,.field select:disabled{opacity:.6}.required{color:var(--color-danger)}.checkboxes{flex-wrap:wrap;gap:8px 20px;display:flex}.checkbox{align-items:center;gap:6px;display:flex;font-weight:400!important}.family{gap:10px;margin:0;display:grid}.family-row{grid-template-columns:90px 1fr;gap:8px;display:grid}.family-row dt{color:var(--color-muted);font-size:14px}.family-row dd{margin:0}.plain-list{gap:6px;margin:0;padding-left:18px;display:grid}.kinship-answer{font-size:17px}.kinship-path{gap:4px;margin:0;padding-left:22px;display:grid}
