:root{
  --bg:#0b0d10;--panel:#12161b;--panel2:#181e25;--line:#2a333e;--text:#f4f7f9;--muted:#9aa7b5;
  --accent:#d7ff45;--accent2:#a8cf18;--danger:#ff6b72;--ok:#65e4a3;--shadow:0 18px 60px rgba(0,0,0,.28);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);min-height:100%}
body{line-height:1.45}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent)}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:#0d1014;display:flex;flex-direction:column}
.brand{font-weight:900;letter-spacing:.14em;font-size:1.15rem}.brand-mark{color:var(--accent)}.brand-sub{color:var(--muted);font-size:.75rem;margin:3px 0 30px 26px}
nav{display:grid;gap:5px}nav a{padding:11px 12px;border-radius:10px;color:#c9d1d9}nav a.active,nav a:hover{background:var(--panel2);color:var(--accent)}
.sidebar-foot{margin-top:auto;padding:16px 12px;border-top:1px solid var(--line);font-size:.9rem}.link-button{background:none;border:0;color:var(--muted);padding:8px 0;cursor:pointer}
.main{padding:34px;max-width:1500px;width:100%;margin:0 auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}
h1{font-size:clamp(2rem,4vw,3.6rem);line-height:.95;margin:.15em 0;letter-spacing:-.045em}h2{margin:0 0 16px;font-size:1.15rem}h3{margin-top:24px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-size:.72rem;font-weight:800}
.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.card,.panel{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}
.card{padding:18px;min-height:112px}.card span{display:block;color:var(--muted);font-size:.82rem}.card strong{display:block;font-size:2rem;margin-top:8px}.card small{color:var(--accent)}.health{border-color:#52631b}
.panel{padding:22px;margin-bottom:16px}.panel-head{display:flex;align-items:center;justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.actions{display:flex;gap:8px}
button,.button{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#151900;font-weight:800;padding:10px 15px;border-radius:9px;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#e5ff79;color:#151900}.secondary{background:transparent;color:var(--text);border-color:var(--line)}.danger{background:transparent;color:var(--danger);border-color:#6b3135}
input,select,textarea{width:100%;margin-top:6px;background:#0d1116;border:1px solid #343f4b;color:var(--text);padding:10px 11px;border-radius:8px;font:inherit}textarea{resize:vertical}label{font-size:.84rem;color:#cbd3dc}
.stack{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span-2{grid-column:1/-1}.check{display:flex;gap:9px;align-items:center}.check input{width:auto;margin:0}
.toolbar{display:grid;grid-template-columns:minmax(200px,1fr) 220px auto;gap:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.pill{display:inline-block;border:1px solid #3a4652;background:#11161c;border-radius:999px;padding:4px 8px;font-size:.75rem}.empty{padding:32px;color:var(--muted);text-align:center}
.flash,.error-box{padding:13px 15px;border-radius:10px;margin-bottom:16px}.flash{background:#173323;border:1px solid #2f6a49}.error-box{background:#391b1f;border:1px solid #74363d}.error-box ul{margin:.5rem 0 0}
.spark{width:100%;height:210px;color:var(--accent);background:#0d1116;border-radius:10px}.chart-foot{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin-top:7px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.facts dt{color:var(--muted)}.facts dd{text-align:right;margin:0}.timeline{list-style:none;padding:0}.timeline li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0}.timeline span{color:var(--muted);font-size:.8rem}
.recommendations{padding-left:1.3rem}.recommendations li{margin-bottom:12px}.notice{border-left:3px solid var(--accent);padding-left:12px}.qr{max-width:240px;background:#fff;padding:12px;border-radius:10px}.qr svg{width:100%;height:auto}.recovery{display:grid;gap:5px;margin:12px 0}.recovery code,pre,code{background:#0d1116;border:1px solid var(--line);border-radius:6px;padding:4px 6px}pre{padding:14px;overflow:auto}
.auth-body{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-card{width:min(460px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow)}.auth-brand{font-size:1.4rem}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}nav{grid-template-columns:repeat(5,1fr)}.sidebar-foot{display:none}.main{padding:22px}}
@media(max-width:680px){nav{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.form-grid,.toolbar{grid-template-columns:1fr}.span-2{grid-column:auto}.main{padding:16px}.page-head{align-items:flex-start;flex-direction:column}}

/* v0.2 relationship intelligence */
.compact-panel{padding:14px 18px}.top-gap{margin-top:16px}.warn-text{color:#ffd36b}.small-strong{font-size:1.25rem!important}
.actions-inline{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.actions-inline .muted{font-size:.85rem}
.relationship-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.relationship-stat{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:13px;min-height:86px}.relationship-stat span{display:block;color:var(--muted);font-size:.74rem;line-height:1.25}.relationship-stat strong{display:block;font-size:1.45rem;margin-top:8px}.relationship-stat.active{border-color:var(--accent);background:#171d18}.relationship-stat.active span,.relationship-stat.active strong{color:var(--accent)}
.relationship-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 210px 150px auto;gap:10px}.add-account-panel summary{cursor:pointer}.add-account-panel summary::marker{color:var(--accent)}
.state{display:inline-block;font-size:.78rem}.state-mutual{color:var(--ok)}.state-oneway{color:#ffd36b}.state-none{color:var(--muted)}.review-badge{display:inline-block;border:1px solid #735b1f;background:#2d260f;color:#ffdf77;border-radius:999px;padding:4px 8px;font-size:.72rem}.review-row{background:rgba(255,211,107,.035)}
.review-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#6b5e22}.review-panel h2{margin:4px 0}.review-panel p{margin-bottom:0}
.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.mini-stats a{border:1px solid var(--line);border-radius:12px;padding:14px;background:#10151a}.mini-stats span{display:block;color:var(--muted);font-size:.76rem}.mini-stats strong{font-size:1.45rem}.baseline-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.baseline-item{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:12px}.baseline-item span{color:var(--muted)}
.snapshot-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.change-added{color:var(--ok);font-weight:800}.change-removed{color:var(--danger);font-weight:800}
@media(max-width:1200px){.relationship-stats{grid-template-columns:repeat(3,1fr)}.relationship-toolbar{grid-template-columns:1fr 1fr}.relationship-toolbar button{grid-column:1/-1}.mini-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.relationship-stats,.mini-stats,.baseline-grid,.snapshot-cards{grid-template-columns:1fr}.relationship-toolbar{grid-template-columns:1fr}.review-panel{align-items:flex-start;flex-direction:column}.baseline-item{flex-direction:column;gap:4px}}
