:root{--brand:#4f46e5;--brand2:#7c3aed;--ink:#111827;--muted:#6b7280;--bg:#f5f7fb;--card:#fff;--line:#e5e7eb}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
.navbar-brand{font-weight:900;letter-spacing:-.6px}.brand-dot{color:#f59e0b}.sidebar{min-height:calc(100vh - 64px);background:#111827;color:#d1d5db}.sidebar a{display:flex;gap:.7rem;align-items:center;color:#d1d5db;text-decoration:none;padding:.68rem .85rem;border-radius:.7rem;margin:.15rem 0}.sidebar a:hover,.sidebar a.active{background:#312e81;color:white}.card{border:0;border-radius:1rem;box-shadow:0 8px 28px rgba(17,24,39,.055)}.stat{padding:1.2rem}.stat .label{color:var(--muted);font-size:.86rem}.stat .value{font-size:1.65rem;font-weight:800}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border:0}.badge{font-weight:600}.table>:not(caption)>*>*{padding:.8rem}.login-shell{min-height:100vh;background:radial-gradient(circle at 10% 10%,#e0e7ff,transparent 35%),radial-gradient(circle at 90% 90%,#ede9fe,transparent 35%),#f8fafc}.hero-panel{background:linear-gradient(145deg,#111827,#312e81);color:white;border-radius:1.5rem}.genealogy ul{padding-top:20px;position:relative;display:flex;justify-content:center}.genealogy li{list-style:none;text-align:center;position:relative;padding:20px 8px 0}.genealogy li:before,.genealogy li:after{content:'';position:absolute;top:0;right:50%;border-top:1px solid #c7d2fe;width:50%;height:20px}.genealogy li:after{right:auto;left:50%;border-left:1px solid #c7d2fe}.genealogy li:only-child:after,.genealogy li:only-child:before{display:none}.genealogy li:first-child:before,.genealogy li:last-child:after{border:0}.genealogy li:last-child:before{border-right:1px solid #c7d2fe;border-radius:0 6px 0 0}.genealogy li:first-child:after{border-radius:6px 0 0 0}.genealogy ul ul:before{content:'';position:absolute;top:0;left:50%;border-left:1px solid #c7d2fe;width:0;height:20px}.node{display:inline-block;padding:.6rem .75rem;background:#fff;border:1px solid #c7d2fe;border-radius:.8rem;min-width:130px;box-shadow:0 5px 15px rgba(49,46,129,.08)}.node strong{display:block}.small-muted{font-size:.78rem;color:#6b7280}@media(max-width:991px){.sidebar{min-height:auto}.genealogy{overflow:auto}}

/* Public marketing site & tenant self-registration */
.landing-body,.signup-body{background:#fff;color:#111827}
.landing-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,231,235,.85);min-height:74px}
.landing-nav .nav-link{color:#374151;font-weight:600;padding:.65rem .8rem!important}
.landing-nav .nav-link:hover{color:var(--brand)}
.landing-hero{position:relative;background:linear-gradient(180deg,#f8faff 0%,#fff 100%);padding:46px 0 72px}
.hero-glow{position:absolute;border-radius:999px;filter:blur(10px);opacity:.72;pointer-events:none}
.hero-glow-one{width:360px;height:360px;background:radial-gradient(circle,#c7d2fe 0%,rgba(199,210,254,0) 72%);top:-100px;left:-170px}
.hero-glow-two{width:420px;height:420px;background:radial-gradient(circle,#ddd6fe 0%,rgba(221,214,254,0) 72%);right:-180px;bottom:-120px}
.eyebrow{display:flex;align-items:center;gap:.55rem;color:#4f46e5;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.eyebrow span{width:30px;height:2px;background:currentColor;display:inline-block}
.landing-title{font-size:clamp(2.75rem,6vw,5.35rem);line-height:.98;letter-spacing:-.055em;font-weight:900;max-width:760px}
.landing-title span{background:linear-gradient(120deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-lead{font-size:1.18rem;line-height:1.75;color:#5b6474;max-width:680px;margin-top:1.5rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.5rem 2.25rem}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust strong{font-size:1rem;color:#111827}
.hero-trust span{font-size:.78rem;color:#6b7280}
.product-preview{position:relative;border-radius:1.45rem;background:#0f172a;padding:10px;box-shadow:0 40px 90px rgba(15,23,42,.22);transform:perspective(1200px) rotateY(-3deg) rotateX(1deg)}
.product-preview:after{content:"";position:absolute;inset:12% -5% -7% 15%;z-index:-1;background:linear-gradient(135deg,#818cf8,#c084fc);filter:blur(38px);opacity:.35}
.preview-top{height:38px;border-radius:1rem 1rem 0 0;background:#1e293b;display:flex;align-items:center;gap:7px;padding:0 14px}
.preview-dot{width:8px;height:8px;border-radius:50%;background:#64748b}
.preview-url{margin-left:auto;margin-right:auto;color:#94a3b8;font-size:.68rem;background:#0f172a;padding:.3rem .8rem;border-radius:999px;min-width:45%;text-align:center}
.preview-body{display:grid;grid-template-columns:140px 1fr;background:#f8fafc;border-radius:0 0 1rem 1rem;overflow:hidden;min-height:430px}
.preview-body aside{background:#111827;padding:18px 12px}
.preview-logo{color:#fff;font-weight:900;margin-bottom:22px;padding:0 8px}.preview-logo span{color:#f59e0b}
.preview-menu{color:#94a3b8;font-size:.68rem;padding:.65rem .65rem;border-radius:.55rem;margin-bottom:.25rem;display:flex;gap:.5rem;align-items:center}.preview-menu b{width:7px;height:7px;background:#64748b;border-radius:2px}.preview-menu.on{background:#312e81;color:#fff}.preview-menu.on b{background:#f59e0b}
.preview-body main{padding:20px;min-width:0}
.preview-heading{display:flex;justify-content:space-between;align-items:center}.preview-heading small{color:#64748b;font-size:.65rem}.preview-heading h4{font-size:1rem;margin:.2rem 0 0}.preview-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:grid;place-items:center;color:#fff;font-size:.7rem;font-weight:800}
.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.preview-stats div{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:11px;display:flex;flex-direction:column}.preview-stats small{font-size:.56rem;color:#64748b}.preview-stats strong{font-size:.88rem;margin:.25rem 0}.preview-stats em{font-style:normal;font-size:.52rem;color:#059669}
.preview-chart{height:150px;background:#fff;border:1px solid #e5e7eb;border-radius:.8rem;padding:18px 16px}.chart-bars{height:100%;display:flex;align-items:end;gap:7px}.chart-bars i{flex:1;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#8b5cf6,#4f46e5);min-width:5px;opacity:.88}
.preview-row{display:grid;grid-template-columns:1fr 105px;gap:10px;margin-top:10px}.preview-table,.preview-donut{background:#fff;border:1px solid #e5e7eb;border-radius:.8rem;padding:11px}.preview-table div{display:grid;grid-template-columns:1fr 1fr auto;font-size:.5rem;padding:.35rem 0;border-bottom:1px solid #f1f5f9}.preview-table div:last-child{border-bottom:0}.preview-table span{color:#64748b}.preview-table strong{color:#16a34a}.preview-donut{display:grid;place-items:center;text-align:center}.preview-donut div{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4f46e5 72%,#e5e7eb 0);position:relative;font-size:.58rem;font-weight:800}.preview-donut div:before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}.preview-donut div{isolation:isolate}.preview-donut div:after{content:"72%";position:absolute;z-index:1}.preview-donut small{font-size:.5rem;color:#64748b}
.logo-strip{border-top:1px solid #eef2f7;border-bottom:1px solid #eef2f7;padding:22px 0;background:#fff}.logo-strip strong,.logo-strip span{display:block}.logo-strip strong{font-size:.9rem}.logo-strip span{font-size:.72rem;color:#6b7280}
.landing-section{padding:100px 0}.section-heading{max-width:760px}.section-heading h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.045em;margin:.85rem 0}.section-heading p{font-size:1.1rem;color:#6b7280;line-height:1.7}
.feature-card{position:relative;padding:2rem;border:1px solid #e8ecf4;border-radius:1.25rem;background:#fff;overflow:hidden;transition:.25s ease}.feature-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(15,23,42,.08);border-color:#c7d2fe}.feature-number{font-size:.78rem;font-weight:900;color:#6366f1;letter-spacing:.12em}.feature-card h4{font-size:1.25rem;font-weight:800;margin:1rem 0 .65rem}.feature-card p{color:#6b7280;line-height:1.7;margin:0}.feature-line{position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#4f46e5,#8b5cf6);transform:scaleX(0);transform-origin:left;transition:.25s}.feature-card:hover .feature-line{transform:scaleX(1)}
.process-section{background:#f7f8fc}.process-list{background:#fff;border-radius:1.5rem;padding:1rem 2rem;box-shadow:0 24px 60px rgba(15,23,42,.07)}.process-list>div{display:grid;grid-template-columns:58px 1fr;gap:1.25rem;padding:1.5rem 0;border-bottom:1px solid #edf0f5}.process-list>div:last-child{border-bottom:0}.process-list b{width:44px;height:44px;border-radius:14px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center}.process-list h5{font-weight:800;margin-bottom:.35rem}.process-list p{margin:0;color:#6b7280}
.pricing-section{background:#fff}.price-card{position:relative;padding:2.1rem;border:1px solid #e5e7eb;border-radius:1.35rem;background:#fff}.price-card.popular{border:2px solid #5b5ce2;box-shadow:0 24px 70px rgba(79,70,229,.14);transform:translateY(-8px)}.popular-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:.38rem .85rem;border-radius:999px;font-size:.7rem;font-weight:800;white-space:nowrap}.price-card h4{font-size:1.3rem;font-weight:900}.price{display:flex;align-items:flex-start;margin-top:1.5rem}.price small{font-size:1rem;font-weight:800;margin-top:.75rem}.price strong{font-size:3.65rem;line-height:1;font-weight:900;letter-spacing:-.05em}.price span{align-self:flex-end;color:#6b7280;margin:0 0 .45rem .35rem}.annual-price{font-size:.82rem;color:#6b7280}.price-card ul{list-style:none;padding:0;margin:1.6rem 0}.price-card li{padding:.55rem 0;color:#4b5563}.price-card li:before{content:"✓";color:#16a34a;font-weight:900;margin-right:.65rem}
.compliance-section{padding-top:30px}.compliance-box{background:linear-gradient(135deg,#111827 0%,#312e81 65%,#5b21b6 100%);color:#fff;border-radius:1.7rem;padding:3rem;box-shadow:0 30px 80px rgba(17,24,39,.22)}.compliance-box h2{font-size:clamp(2rem,4vw,3.3rem);font-weight:900;letter-spacing:-.04em;margin:.85rem 0}.compliance-box p{color:#d1d5db;font-size:1.05rem;line-height:1.75;margin:0}.compliance-points{display:grid;gap:.9rem}.compliance-points div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:.9rem 1rem;border-radius:.8rem}.compliance-points b{color:#fbbf24;margin-right:.5rem}
.landing-cta{padding:55px 0 100px}.cta-box{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:1.7rem;color:#fff;padding:4.5rem 2rem}.cta-box>span{font-size:.75rem;letter-spacing:.15em;font-weight:800;color:#ddd6fe}.cta-box h2{font-size:clamp(2rem,4vw,3.6rem);font-weight:900;letter-spacing:-.045em;max-width:850px;margin:1rem auto}.cta-box p{max-width:700px;margin:0 auto 1.8rem;color:#ede9fe;font-size:1.08rem}
.landing-footer{background:#0f172a;color:#94a3b8;padding:42px 0}.landing-footer small{color:#64748b}
.signup-body{background:linear-gradient(180deg,#f8faff,#f5f7fb)}.signup-shell{padding:55px 0 90px}.signup-copy{top:110px}.signup-copy h1{font-size:clamp(2.4rem,4vw,4.2rem);font-weight:900;letter-spacing:-.055em;line-height:1.03;margin:1rem 0}.signup-copy>p{font-size:1.1rem;line-height:1.75;color:#6b7280}.signup-benefits{display:grid;gap:1rem;margin:2rem 0}.signup-benefits>div{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start}.signup-benefits b{width:42px;height:42px;border-radius:13px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:.78rem}.signup-benefits span{display:flex;flex-direction:column}.signup-benefits strong{font-size:.98rem}.signup-benefits small{color:#6b7280;margin-top:.2rem}.signup-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:1rem;padding:1rem;color:#9a3412;font-size:.86rem;line-height:1.6}.signup-card{background:#fff;border:1px solid #e8ecf4;border-radius:1.4rem;padding:2rem;box-shadow:0 28px 70px rgba(15,23,42,.08)}.signup-card h2{font-weight:900;font-size:1.6rem;margin:.25rem 0 0}.step-label{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#6366f1}.form-section-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#4b5563;font-weight:900;padding-bottom:.65rem;border-bottom:1px solid #edf0f5;margin-bottom:1rem}.signup-card .form-control,.signup-card .form-select{min-height:48px;border-color:#dbe1ea}.signup-card textarea.form-control{min-height:96px}.signup-card .form-control:focus,.signup-card .form-select:focus{border-color:#818cf8;box-shadow:0 0 0 .2rem rgba(99,102,241,.12)}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}
@media(max-width:1199px){.preview-body{min-height:390px}.preview-body{grid-template-columns:120px 1fr}.preview-body main{padding:16px}.preview-stats strong{font-size:.78rem}}
@media(max-width:991px){.landing-title{max-width:850px}.product-preview{transform:none;max-width:760px;margin:0 auto}.price-card.popular{transform:none}.signup-copy{position:static!important}.landing-section{padding:78px 0}}
@media(max-width:767px){.landing-hero{padding-top:26px}.landing-title{font-size:2.8rem}.landing-lead{font-size:1.03rem}.product-preview{padding:7px}.preview-body{grid-template-columns:88px 1fr;min-height:330px}.preview-body aside{padding:12px 7px}.preview-logo{font-size:.7rem;padding:0 4px;margin-bottom:14px}.preview-menu{font-size:0;padding:.52rem}.preview-menu b{width:8px;height:8px}.preview-body main{padding:10px}.preview-heading h4{font-size:.78rem}.preview-stats{gap:5px;margin:11px 0}.preview-stats div{padding:7px}.preview-stats small{font-size:.42rem}.preview-stats strong{font-size:.62rem}.preview-stats em{font-size:.4rem}.preview-chart{height:112px;padding:12px 8px}.chart-bars{gap:4px}.preview-row{grid-template-columns:1fr 70px;gap:5px}.preview-table,.preview-donut{padding:7px}.preview-table div{font-size:.38rem}.preview-donut div{width:36px;height:36px}.compliance-box,.cta-box{padding:2rem 1.3rem}.landing-section{padding:62px 0}.signup-shell{padding-top:30px}.signup-card{padding:1.25rem}.hero-trust{gap:1rem 1.5rem}}
.check-list{display:grid;gap:.7rem;color:#4b5563}.check-list div{padding:.7rem .8rem;background:#f8fafc;border:1px solid #eef2f7;border-radius:.7rem}
