@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.40v7iydlhc_yt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.438h7bwt6ldsi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0rg7ym60g9xsl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_10681fd5-module__AZPkyW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_10681fd5-module__AZPkyW__variable{--fuente-titulo:"Fraunces", "Fraunces Fallback"}
:root{--bg:#f5f3ef;--surface:#fff;--surface-2:#faf9f6;--surface-3:#f1eee8;--border:#e6e1d8;--border-strong:#d4cdc0;--text:#1c1917;--text-2:#4a4540;--text-3:#6f6962;--text-inverse:#fbfaf8;--brand:#8a5a2e;--brand-strong:#6b4423;--brand-soft:#f5ece2;--brand-ring:#8a5a2e47;--ink:#1f1a16;--ink-2:#2b241e;--success:#1e7a43;--success-soft:#e7f4ec;--warning:#a35a07;--warning-soft:#fdf1df;--danger:#b42318;--danger-soft:#fdecea;--info:#1f5fbf;--info-soft:#e9f0fb;--neutral-soft:#efedea;--bio:#0e7c74;--bio-strong:#095f59;--bio-soft:#e3f3f1;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-full:999px;--shadow-xs:0 1px 2px #1c19170d;--shadow-sm:0 1px 2px #1c19170d, 0 2px 8px #1c19170a;--shadow-md:0 4px 16px #1c191714;--shadow-lg:0 18px 48px #1c19172e;--font-sans:var(--font-inter), ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.125rem;--fs-kpi:2rem;--sidebar-w:264px;--content-max:1240px;--topbar-h:60px;--bottomnav-h:72px;--tap:48px}@media (min-width:768px){:root{--fs-2xl:2rem;--fs-3xl:2.5rem;--fs-kpi:2.25rem}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}img,svg,video,canvas{max-width:100%;display:block}a{color:var(--brand-strong);text-decoration:none}a:hover{color:var(--brand)}h1,h2,h3,h4{color:var(--text);letter-spacing:-.015em;margin:0;line-height:1.2}h1{font-size:var(--fs-2xl);font-weight:750}h2{font-size:var(--fs-xl);font-weight:700}h3{font-size:var(--fs-lg);font-weight:650}p{margin:0}small{font-size:var(--fs-sm)}strong{font-weight:650}:focus-visible{outline:3px solid var(--brand-ring);outline-offset:2px;border-radius:6px}::selection{background:var(--brand-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{left:var(--s-4);z-index:100;padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);background:var(--ink);color:var(--text-inverse);font-weight:600;position:absolute;top:-60px}.skip-link:focus{top:var(--s-3);color:var(--text-inverse)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-md);appearance:none;padding:10px 14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236f6962' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}textarea{resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:#9a938a}input:hover,select:hover,textarea:hover{border-color:#bfb6a7}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring);outline:none}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--brand)}input[type=file]{width:100%;font-size:var(--fs-sm)}label{font-size:var(--fs-sm);color:var(--text-2);flex-direction:column;gap:6px;font-weight:600;display:flex}.btn,.primary-button,.secondary-button,.danger-button,.import-button,.data-actions button{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);border-radius:var(--r-md);font-size:var(--fs-md);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;padding:10px 20px;font-weight:650;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:active,.primary-button:active,.secondary-button:active{transform:translateY(1px)}.btn:disabled,.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary,.primary-button{background:var(--brand);color:#fff;box-shadow:var(--shadow-xs)}.btn-primary:hover,.primary-button:hover{background:var(--brand-strong);color:#fff}.btn-secondary,.secondary-button,.import-button,.data-actions button{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover,.secondary-button:hover,.import-button:hover,.data-actions button:hover{background:var(--surface-2);color:var(--text);border-color:#bfb6a7}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-bio{background:var(--bio);color:#fff}.btn-bio:hover{background:var(--bio-strong);color:#fff}.btn-danger,.danger-button,.data-actions .danger-button{background:var(--surface);color:var(--danger);border-color:#f0b8b2}.btn-danger:hover,.danger-button:hover{background:var(--danger-soft);color:var(--danger)}.btn-sm{min-height:38px;font-size:var(--fs-sm);border-radius:var(--r-sm);padding:6px 14px}.btn-lg{min-height:56px;font-size:var(--fs-lg);padding:14px 24px}.btn-block{width:100%}.eyebrow,.module-eyebrow,.section-kicker{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--brand);align-items:center;gap:6px;margin:0 0 6px;font-weight:700;display:inline-flex}.lead,.module-lead,.hero-copy{margin-top:var(--s-2);max-width:68ch;font-size:var(--fs-md);color:var(--text-2);line-height:1.55}.muted{color:var(--text-3)}.kpi{font-size:var(--fs-kpi);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:750;line-height:1.05}.back-link{min-height:40px;margin-bottom:var(--s-3);font-size:var(--fs-sm);color:var(--text-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--brand-strong)}.shell{min-height:100dvh}.shell-main{min-width:0}.content{width:100%;max-width:var(--content-max);padding:var(--s-5) var(--s-4) calc(var(--bottomnav-h) + var(--s-8) + env(safe-area-inset-bottom));margin:0 auto}.content>*+*{margin-top:0}.topbar{z-index:30;justify-content:space-between;align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-4);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);background:#ffffffeb;display:flex;position:sticky;top:0}.brand-link{align-items:center;gap:var(--s-3);min-width:0;color:var(--text);display:flex}.brand-link:hover{color:var(--text)}.brand-logo{background:#fff;border-radius:50%;flex-shrink:0}.brand-name{letter-spacing:.04em;white-space:nowrap;font-size:1.05rem;font-weight:800;line-height:1.1;display:block}.brand-name span{color:var(--brand)}.brand-tagline{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;margin-top:2px;display:block}.topbar-actions{align-items:center;gap:var(--s-1);display:flex}.icon-button{border-radius:var(--r-md);width:44px;height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-button:hover{background:var(--surface-3);color:var(--text)}.sidebar{display:none}@media (min-width:1024px){.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);display:grid}.sidebar{height:100dvh;padding:var(--s-5) var(--s-4);background:var(--ink);color:#e9e4dc;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand-link{padding:var(--s-1) var(--s-2) var(--s-5);color:#fff}.sidebar .brand-name{color:#fff;font-size:1.15rem}.sidebar .brand-name span{color:#d9b48a}.sidebar .brand-tagline{color:#a99f93}.topbar,.bottom-nav{display:none!important}.content{padding:var(--s-8) var(--s-10) var(--s-12)}}.sidebar-cta{margin:0 var(--s-1) var(--s-5)}.sidebar-cta .btn{width:100%;color:var(--ink);background:#c99661}.sidebar-cta .btn:hover{color:var(--ink);background:#d8aa78}.nav-group+.nav-group{margin-top:var(--s-5)}.nav-group-title{margin:0 var(--s-3) var(--s-2);letter-spacing:.1em;text-transform:uppercase;color:#8f857a;font-size:.6875rem;font-weight:700}.nav-link{align-items:center;gap:var(--s-3);min-height:42px;padding:8px var(--s-3);border-radius:var(--r-md);color:#d6cfc5;font-size:.9375rem;font-weight:550;display:flex}.nav-link:hover{background:var(--ink-2);color:#fff}.nav-link[aria-current=page]{color:#fff;background:#3a3029;box-shadow:inset 3px 0 #d9b48a}.nav-link svg{opacity:.9;flex-shrink:0}.nav-badge{border-radius:var(--r-full);color:#7fd6cc;letter-spacing:.06em;background:#0e7c7440;margin-left:auto;padding:2px 7px;font-size:.625rem;font-weight:800}.sidebar-footer{padding:var(--s-4) var(--s-2) 0;font-size:var(--fs-sm);border-top:1px solid #3a3029;margin-top:auto}.sidebar-footer .user{color:#d6cfc5;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-footer .user strong,.sidebar-footer .user small{text-overflow:ellipsis;display:block;overflow:hidden}.sidebar-footer .user strong{color:#fff;font-weight:650}.sidebar-footer .user small{color:#a99f93;font-size:var(--fs-xs)}.sidebar-footer a.user:hover strong{text-decoration:underline}.sheet-user{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);display:flex}.sheet-user span{min-width:0}.sheet-user strong,.sheet-user small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sheet-user small{font-size:var(--fs-xs);color:var(--text-3)}.sidebar-footer button{margin-top:var(--s-2);color:#a99f93;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:0}.sidebar-footer button:hover{color:#fff}.bottom-nav{z-index:40;height:calc(var(--bottomnav-h) + env(safe-area-inset-bottom));padding:6px var(--s-2) calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:saturate(1.4)blur(12px);backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--border);background:#fffffff5;grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #1c19170f}.bottom-nav a,.bottom-nav button{border-radius:var(--r-md);min-height:56px;color:var(--text-3);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.6875rem;font-weight:650;display:flex}.bottom-nav a[aria-current=page]{color:var(--brand-strong)}.bottom-nav a[aria-current=page] svg{stroke-width:2.4px}.fab-register{right:var(--s-4);bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom) + var(--s-4));z-index:45;background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:inline-flex;position:fixed;box-shadow:0 10px 24px #6b44236b}.fab-register:hover{background:var(--brand-strong)}@media (min-width:1024px){.fab-register{display:none}}.sheet-backdrop{z-index:60;background:#14100d73;justify-content:center;align-items:flex-end;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;max-height:88dvh;padding:var(--s-3) var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);box-shadow:var(--shadow-lg);animation:.2s ease-out slide-up;overflow-y:auto}@media (min-width:768px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--r-xl)}}.sheet-handle{width:40px;height:4px;margin:0 auto var(--s-4);border-radius:var(--r-full);background:var(--border-strong)}.sheet-header{margin-bottom:var(--s-4);justify-content:space-between;align-items:center;display:flex}.sheet-grid{gap:var(--s-3);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:480px){.sheet-grid{grid-template-columns:repeat(3,1fr)}}.sheet-item{align-items:flex-start;gap:var(--s-2);min-height:92px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);font-weight:650;font-size:var(--fs-sm);flex-direction:column;display:flex}.sheet-item:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--text)}.sheet-item small{color:var(--text-3);font-weight:500;font-size:var(--fs-xs)}.sheet-icon{border-radius:var(--r-md);background:var(--surface);width:40px;height:40px;color:var(--brand);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:inline-flex}.sheet-icon.bio{color:var(--bio)}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-header>div:first-child{min-width:0}.page-header p:not(.eyebrow){margin-top:var(--s-2);color:var(--text-2)}.page-header-actions{gap:var(--s-2);flex-wrap:wrap;display:flex}.subnav{margin:calc(var(--s-2) * -1) 0 var(--s-6);scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav a,.segmented button{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface);min-height:40px;color:var(--text-2);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-weight:650;display:inline-flex}.subnav a:hover,.segmented button:hover{border-color:var(--border-strong);color:var(--text)}.subnav a[aria-current=page],.segmented button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.segmented{margin-bottom:var(--s-4);flex-wrap:wrap;gap:6px;display:flex}.segmented .count{font-size:var(--fs-xs);opacity:.7;font-weight:700}.module-page>h1{margin-bottom:0}.module-page>.module-lead{margin-bottom:var(--s-6)}.module-page>h2,.profile-section>h2,.module-page h2{margin:var(--s-8) 0 var(--s-3)}.module-page h3{margin:var(--s-5) 0 var(--s-2)}.section,.profile-section{margin-top:var(--s-8)}.section-title,.section-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.section-title h2,.section-head h2{margin:0}.section-title a,.section-head a{min-height:40px;font-size:var(--fs-sm);align-items:center;gap:4px;font-weight:650;display:inline-flex}.card,.form-card,.detail-card,.genealogy-card,.management-card,.list-card,.premium-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs)}.card{padding:var(--s-5)}.card-link{color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s;display:block}.card-link:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);color:inherit}.grid-2,.grid-3,.grid-4,.grid-auto{gap:var(--s-4);display:grid}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}@media (min-width:768px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.stats-grid,.stat-grid,.kpi-grid{gap:var(--s-3);margin:var(--s-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:767px){.kpi-grid>:last-child:nth-child(odd){grid-column:1/-1}}@media (min-width:768px){.stats-grid,.stat-grid,.kpi-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}.stat-card,.kpi-card{min-width:0;padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text);flex-direction:column;gap:4px;display:flex}a.kpi-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);color:var(--text)}.stat-card>span:first-child,.stat-label,.kpi-label{font-size:var(--fs-sm);color:var(--text-3);align-items:center;gap:6px;font-weight:600;display:flex}.stat-card strong,.kpi-value{font-size:var(--fs-kpi);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-weight:750;line-height:1.1}.stat-card small,.kpi-hint{font-size:var(--fs-xs);color:var(--text-3)}.accent-card,.kpi-card.accent{background:linear-gradient(160deg, var(--brand-soft), #fff 70%);border-color:#e9cfb2}.kpi-card.warning{background:linear-gradient(160deg, var(--warning-soft), #fff 70%);border-color:#f2d3a6}.kpi-card.danger{background:linear-gradient(160deg, var(--danger-soft), #fff 70%);border-color:#f3c1bb}.kpi-card.bio{background:linear-gradient(160deg, var(--bio-soft), #fff 70%);border-color:#b8e0db}.kpi-icon{border-radius:var(--r-sm);background:var(--surface-3);width:32px;height:32px;color:var(--text-2);justify-content:center;align-items:center;display:inline-flex}.kpi-card.accent .kpi-icon{color:var(--brand);background:#fff}.kpi-card.warning .kpi-icon{color:var(--warning);background:#fff}.kpi-card.danger .kpi-icon{color:var(--danger);background:#fff}.kpi-card.bio .kpi-icon{color:var(--bio);background:#fff}.action-grid,.quick-grid{gap:var(--s-3);margin:var(--s-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:768px){.action-grid,.quick-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}.action-card,.quick-card{min-height:88px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);color:var(--text);flex-direction:column;gap:4px;transition:border-color .15s,box-shadow .15s;display:flex}.action-card:hover,.quick-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);color:var(--text)}.action-card b,.action-card strong,.quick-card strong{align-items:center;gap:var(--s-2);font-size:var(--fs-md);color:var(--text);font-weight:700;display:flex}.action-card span,.action-card small,.quick-card small{font-size:var(--fs-sm);color:var(--text-3);line-height:1.4}.accent-outline{background:var(--brand-soft);border-color:#e0c4a4}.badge,.status,.chip{border-radius:var(--r-full);background:var(--neutral-soft);color:var(--text-2);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-weight:650;line-height:1.4;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand-strong)}.badge-bio{background:var(--bio-soft);color:var(--bio-strong)}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.notice-box,.callout{margin:var(--s-4) 0;padding:var(--s-4) var(--s-5);border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:var(--r-md);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);flex-direction:column;gap:4px;line-height:1.5;display:flex}button.notice-box{text-align:left;cursor:pointer;width:100%}.notice-box strong,.callout strong{font-size:var(--fs-md);color:var(--text)}.callout.info,.notice-box.info{border-left-color:var(--info);background:var(--info-soft)}.callout.warning,.notice-box.warning{border-left-color:var(--warning);background:var(--warning-soft)}.callout.danger,.notice-box.danger{border-left-color:var(--danger);background:var(--danger-soft)}.callout.success,.notice-box.success{border-left-color:var(--success);background:var(--success-soft)}.callout.bio,.notice-box.bio{border-left-color:var(--bio);background:var(--bio-soft)}.empty-state{align-items:center;gap:var(--s-2);padding:var(--s-8) var(--s-5);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text-3);text-align:center;flex-direction:column;display:flex}.empty-state strong{font-size:var(--fs-md);color:var(--text)}.empty-state p{max-width:46ch;font-size:var(--fs-sm)}.empty-state .btn,.empty-state a.btn{margin-top:var(--s-2)}.empty-icon{width:48px;height:48px;margin-bottom:var(--s-1);border-radius:var(--r-lg);background:var(--surface);color:var(--brand);box-shadow:var(--shadow-xs);justify-content:center;align-items:center;display:inline-flex}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,#ece8e1 25%,#f5f2ed 50%,#ece8e1 75%) 0 0/200% 100%;animation:1.2s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.form-page,.field-form{max-width:760px}.field-form,.form-card{gap:var(--s-4);padding:var(--s-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}@media (min-width:768px){.field-form,.form-card{padding:var(--s-6)}}.form-grid{gap:var(--s-4);display:grid}@media (min-width:768px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.full-field{grid-column:1/-1}.form-actions{gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.form-actions>*{flex:180px}.confirm-field{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);flex-direction:row}.form-success,.form-error,.form-message{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:550}.form-success{background:var(--success-soft);color:var(--success)}.form-error{background:var(--danger-soft);color:var(--danger)}.form-message{background:var(--surface-2);color:var(--text-2)}.table-wrap{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.module-table,.data-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.module-table th,.data-table th{padding:10px var(--s-4);background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text-3);font-size:var(--fs-xs);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;font-weight:700}.module-table td,.data-table td{padding:12px var(--s-4);border-bottom:1px solid var(--border);color:var(--text)}.module-table tr:last-child td,.data-table tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.list{gap:var(--s-2);flex-direction:column;display:flex}.list-card{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);color:var(--text);display:flex}.list-card:hover{border-color:var(--border-strong);color:var(--text)}.row-main{align-items:center;gap:var(--s-3);min-width:0;display:flex}.row-main p{font-size:var(--fs-sm);color:var(--text-3)}.mini-mark{border-radius:var(--r-md);background:var(--brand-soft);min-width:44px;height:44px;color:var(--brand-strong);font-size:var(--fs-xs);justify-content:center;align-items:center;padding:0 6px;font-weight:750;display:inline-flex}.detail-grid,.genealogy-grid,.management-grid,.finance-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:768px){.detail-grid,.genealogy-grid,.management-grid,.finance-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.detail-card,.genealogy-card,.management-card{min-width:0;padding:var(--s-4);flex-direction:column;gap:4px;display:flex}.detail-card span,.genealogy-card span,.management-card span{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);font-weight:650}.detail-card strong,.genealogy-card strong,.management-card strong{font-size:var(--fs-md);overflow-wrap:anywhere;font-weight:650}.management-card small{color:var(--text-3)}.cost-card{background:var(--brand-soft);border-color:#e9cfb2}.timeline{gap:var(--s-3);flex-direction:column;display:flex}.timeline-item{gap:var(--s-3);grid-template-columns:14px minmax(0,1fr);display:grid}.timeline-dot{background:var(--brand);width:12px;height:12px;box-shadow:0 0 0 4px var(--brand-soft);border-radius:50%;margin-top:18px}.timeline-content{padding:var(--s-3) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.timeline-top{justify-content:space-between;gap:var(--s-3);display:flex}.timeline-top span,.timeline-content small{font-size:var(--fs-xs);color:var(--text-3)}.timeline-content p{font-size:var(--fs-sm);color:var(--text-2);margin-top:4px}.data-actions{gap:var(--s-3);margin:var(--s-4) 0;flex-wrap:wrap;display:flex}.data-warning{text-align:left;align-items:flex-start}.gate{min-height:60dvh;padding:var(--s-6) 0;place-items:center;display:grid}.gate-card{width:100%;max-width:440px;padding:var(--s-8) var(--s-6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-md);text-align:center}.gate-card img{margin:0 auto var(--s-4)}.gate-card h1{font-size:var(--fs-xl)}.gate-card p{margin:var(--s-2) 0 var(--s-6);color:var(--text-2)}.stack-2>*+*{margin-top:var(--s-2)}.stack-3>*+*{margin-top:var(--s-3)}.stack-4>*+*{margin-top:var(--s-4)}.row{align-items:center;gap:var(--s-2);display:flex}.row-wrap{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.spacer{flex:1}.mt-2{margin-top:var(--s-2)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.mt-8{margin-top:var(--s-8)}
