:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202622;background:#f6f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid #d9ddd7;border-radius:7px;background:white;color:inherit;padding:10px 15px;font-size:13px;font-weight:550}button:hover{background:#f0f3ef}button:disabled{cursor:not-allowed;opacity:.45}.preview{background:#edf2e7;color:#50613c;display:flex;justify-content:space-between;align-items:center;padding:9px 34px;font-size:12px}.preview button{border:0;background:none;padding:5px;color:inherit}header{height:76px;background:white;border-bottom:1px solid #e0e4de;display:flex;justify-content:space-between;align-items:center;padding:0 48px}.brand{text-decoration:none;font-size:20px;font-weight:650;letter-spacing:-.7px;color:inherit}.brand span{font-size:12px;color:#73806b;letter-spacing:0;margin-left:9px;padding-left:12px;border-left:1px solid #d9ddd7}.owner{font-size:12px;color:#73806b}main{max-width:1232px;margin:0 auto;padding:48px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#7a8574;font-weight:650;margin:0 0 10px}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.1;margin:0 0 12px}p{color:#70786b;font-size:13px;line-height:1.6;margin:0}.primary{color:white;background:#283c28;border-color:#283c28;padding:12px 17px}.primary:hover{background:#334c33}.primary span{margin-left:18px}.stats{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:12px;margin-bottom:25px}.stat{border:1px solid #e0e4da;border-radius:10px;background:#fff;padding:21px 24px}.stat:first-child{background:#eef3e8;border-color:#dbe5d3}.stat-label{font-size:12px;color:#65725d;margin-bottom:12px}.stat-value{font-size:33px;letter-spacing:-1px;font-weight:600}.stat-note{font-size:11px;color:#7c8575;margin-top:5px}.directory{background:#fff;border:1px solid #e0e4da;border-radius:10px;overflow:hidden}.filters{padding:22px;display:flex;gap:14px;align-items:end;flex-wrap:wrap}label{display:grid;gap:7px;font-size:11px;font-weight:550;color:#687160}.search{flex:1;min-width:200px}input,select{border:1px solid #dce1d7;background:white;color:#2a3327;border-radius:6px;height:38px;padding:0 11px;min-width:130px;font-size:13px}input::placeholder{color:#8d9488}.date-filters{width:100%;display:flex;align-items:end;gap:14px;padding-top:5px}.date-filters[hidden],*[hidden]{display:none!important}.list-meta{display:flex;justify-content:space-between;border-top:1px solid #edf0e9;padding:14px 22px;font-size:11px;color:#7c8575}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{background:#f9faf7;font-size:10px;font-weight:500;color:#7c8575;padding:13px 22px;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;white-space:nowrap}td{padding:19px 22px;border-bottom:1px solid #edf0e9;vertical-align:middle}tr:last-child td{border-bottom:0}.member-id{display:block;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;letter-spacing:-.25px;color:#30392b}.admin-label{color:#8a9480;font-size:10px;display:block;margin-top:4px}.services{display:flex;gap:6px;flex-wrap:wrap}.service-chip{background:#f1f4ed;border-radius:4px;padding:4px 7px;color:#626e57;font-size:10px}.service-chip.revoked{background:#f4f4f2;color:#9a9e95;text-decoration:line-through}.status{display:inline-flex;align-items:center;gap:5px;font-size:11px;text-transform:capitalize}.status:before{content:"";width:5px;height:5px;border-radius:100%;background:#78925d}.status.disabled:before,.status.revoked:before{background:#c29c56}.status.deleted:before{background:#a9ada4}.joined{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;color:#70786b}.view{font-size:11px;border:0;background:none;color:#4e6840;padding:8px}.footnote{font-size:11px;margin-top:15px;color:#8b9383}.empty{padding:52px 20px;text-align:center;color:#7c8575;font-size:13px}#error{margin:0 22px 20px;border:1px solid #ecd8d0;border-radius:6px;padding:16px;color:#8b4c39;background:#fff8f3;font-size:13px}.review{border-top:1px solid #e0e4da;margin-top:38px;padding-top:18px;font-size:11px;color:#8b9383}.review summary{cursor:pointer}.review label{max-width:270px;margin:18px 0 10px}.review p{font-size:11px}dialog{border:1px solid #dfe4d9;border-radius:12px;box-shadow:0 22px 90px #17231626;color:inherit;padding:28px}dialog::backdrop{background:#1a26194a}.detail{width:470px;max-width:calc(100vw - 32px);max-height:90vh}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{font-size:24px;padding:0 8px;border:0;background:none;color:#8b9383}.detail h2{font-size:18px;margin:9px 0 18px;letter-spacing:-.5px;overflow-wrap:anywhere}.info{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:12px;margin:20px 0 26px}.info dt{color:#86907c}.info dd{margin:0;font-size:11px}.detail h3{font-size:12px;margin:25px 0 14px}.service-card{border-top:1px solid #e7ebe2;padding:16px 0}.service-top{display:flex;justify-content:space-between;align-items:center}.service-top strong{font-size:13px;margin-right:10px}.service-card p{font-size:11px;margin-top:6px;font-variant-numeric:tabular-nums}.service-card button{font-size:10px;padding:6px 9px}.danger-zone{border-top:1px solid #e7ebe2;padding-top:22px;margin-top:12px}.danger{border-color:#e5d0c8;color:#a24831;background:#fff7f3}.danger:hover{background:#ffede5}.danger-zone p{font-size:11px;margin-top:10px}.confirm{width:425px;max-width:calc(100vw - 32px)}.confirm h2{font-size:20px;letter-spacing:-.5px;margin:0 0 14px}.confirm p{margin:10px 0;font-size:12px}.confirm .target{font-family:ui-monospace,SFMono-Regular,monospace;color:#3b4734;font-size:12px}.confirm label{margin-top:22px}.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:26px}#action-error{color:#a24831;font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#293c28;color:white;padding:13px 24px;max-width:90vw;border-radius:8px;box-shadow:0 5px 30px #27372226;z-index:5;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.heading h1{margin:0}.filters{gap:10px;align-items:center}.search{flex:0 1 180px;min-width:140px}.search input{width:100%;min-width:0}.filter-dates{display:flex;align-items:center;gap:8px}.filter-dates>span{color:#8b9383;font-size:12px}.filter-dates input{min-width:0;width:139px}.service-chip.revoked{text-decoration:none}.service-filter{border:0;padding:0;margin:0;min-width:0;display:flex;gap:5px;flex-wrap:wrap}.service-filter label{display:block;cursor:pointer}.service-filter label span,.service-filter button{display:block;border:1px solid #dce1d7;border-radius:6px;padding:10px 11px;font-size:12px;color:#687160;background:#fff;line-height:16px}.service-filter input:checked+span,.service-filter button[aria-pressed="true"]{background:#eef3e8;border-color:#91a782;color:#334c33}.service-filter input:focus-visible+span{outline:2px solid #334c33;outline-offset:3px}.list-meta{align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px}#result-count{display:flex;align-items:baseline;gap:8px;color:#30392b;font-size:13px}.match-number{font-size:28px;line-height:1;letter-spacing:-1px}#result-scope{margin-left:auto;color:#687160}
@media(max-width:760px){header{height:60px;padding:0 20px}.preview{padding:8px 18px;gap:12px;font-size:10px}.owner{display:none}main{padding:30px 18px}.heading{gap:15px;align-items:center}h1{font-size:29px}.heading .primary{font-size:11px;padding:10px 12px;white-space:nowrap}.primary span{margin-left:6px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:16px}.stat-value{font-size:27px}.stat-label{font-size:11px}.stat-note{font-size:10px}.filters{padding:17px;gap:10px}.search{flex:1 1 160px;min-width:0}.filters>label:not(.search){flex:1 1 120px;min-width:0}.filters input,.filters select{width:100%;min-width:0}.filter-dates{flex:1 1 260px;min-width:0}.filter-dates label{flex:1;min-width:0}.list-meta{padding:14px 17px;font-size:10px}th,td{padding:14px 17px}table{min-width:700px}.detail{padding:22px}.info{grid-template-columns:90px 1fr}.review{margin-top:27px}.dialog-actions button{padding:10px 12px}}
.service-filter{flex-basis:100%;width:100%}
.account{display:flex;align-items:center;gap:18px}.account button{padding:8px 12px}.login{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:32px 18px}.login-card{width:360px;max-width:100%;background:white;border:1px solid #e0e4da;border-radius:10px;padding:32px}.login-card h1{font-size:28px;margin-bottom:12px}.login-card form{margin:26px 0 18px}.login-card .primary{width:100%}.login-card .demo-note{font-size:11px;color:#7c8575}#login-error{color:#a24831;font-size:12px;margin:14px 0}

/* Common-local visual adaptation of the Wealth precision-joints system.
   Reference: ryoi/wealth@112ec14bfc35c81dc13eae5b39eb3d6d19b75413,
   prototype/issue-55/styles.css and prototype/issue-75/shell-navigation.css.
   Appearance only: no Wealth branding, account data, navigation or runtime.
   The preceding layout remains the retrievable pre-Wealth baseline. */
:root {
  --bg: #f0ede6;
  --surface: #f0ede6;
  --surface-2: #f6f3ec;
  --surface-3: #e8e4dc;
  --ink: #1c1b20;
  --muted: #5e5b61;
  --faint: #66636a;
  --line: rgba(28, 27, 32, .11);
  --line-strong: rgba(28, 27, 32, .18);
  --line-active: rgba(28, 27, 32, .29);
  --junction: rgba(28, 27, 32, .38);
  --accent: #252429;
  --accent-soft: #e7e3db;
  --safe: #216846;
  --warning: #76520e;
  --danger: #9b3838;
  --focus: #2c7ff0;
  --mono: SFMono-Regular, Menlo, Consolas, monospace;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--ink);
  background: var(--bg);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #15141a;
  --surface: #15141a;
  --surface-2: #19181e;
  --surface-3: #242329;
  --ink: #f0eee7;
  --muted: #aaa7ad;
  --faint: #918e94;
  --line: rgba(240, 238, 231, .11);
  --line-strong: rgba(240, 238, 231, .17);
  --line-active: rgba(240, 238, 231, .25);
  --junction: rgba(240, 238, 231, .27);
  --accent: #dedbd2;
  --accent-soft: #2c2b31;
  --safe: #74c497;
  --warning: #e2b568;
  --danger: #ee9895;
  --focus: #8dc4ff;
  color: var(--ink);
  background: var(--bg);
}
body { min-height: 100vh; color: var(--ink); background: var(--bg); }
::selection { background: var(--accent); color: var(--surface); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
button, input, select, .service-filter label span, .service-filter button,
.stat, .directory, dialog, .login-card, .service-chip, #error, .toast {
  border-radius: 0;
  box-shadow: none;
}
button { border-color: var(--line-strong); background: transparent; color: var(--ink); }
button:hover { border-color: var(--line-active); background: var(--surface-3); }
.preview {
  padding-inline: clamp(18px, 4vw, 56px);
  border-bottom: 1px solid var(--line);
  background: var(--surface-2);
  color: var(--muted);
  font: 10px var(--mono);
}
.preview button { color: var(--ink); }
header {
  height: 68px;
  padding-inline: clamp(18px, 4vw, 56px);
  border-color: var(--line);
  background: var(--bg);
}
.brand { font-size: 20px; font-weight: 650; letter-spacing: -.6px; }
.brand span { border-color: var(--line-strong); color: var(--muted); font: 10px var(--mono); }
.owner { color: var(--muted); font: 10px var(--mono); }
main { width: 100%; max-width: none; margin: 0; padding: 32px clamp(18px, 4vw, 56px) 64px; }
.heading { margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
h1 { font-size: 32px; font-weight: 600; letter-spacing: -.02em; }
p { color: var(--muted); }
.eyebrow { color: var(--muted); font: 9px var(--mono); letter-spacing: .1em; }
.primary { background: var(--accent); border-color: var(--accent); color: var(--surface); }
.primary:hover { background: var(--ink); border-color: var(--ink); }
.stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
  margin-bottom: 24px;
}
.stat, .stat:first-child { min-height: 116px; padding: 24px; border: 0; background: var(--surface-2); }
.stat-label { color: var(--muted); font: 9px var(--mono); text-transform: uppercase; letter-spacing: .06em; }
.stat-value { color: var(--ink); font-size: 30px; font-weight: 600; font-variant-numeric: tabular-nums; }
.stat-note { color: var(--faint); font: 9px var(--mono); margin-top: 8px; }
.directory { border-color: var(--line); background: var(--surface-2); }
label { color: var(--muted); }
input, select { border-color: var(--line-strong); background: var(--surface); color: var(--ink); }
input::placeholder { color: var(--faint); opacity: 1; }
.search { flex: 1 1 380px; min-width: 350px; }
.search input { font-family: var(--mono); font-size: 12px; }
.time-zone select { min-width: 72px; }
@media(max-width:760px) { .search { flex: 1 1 100%; min-width: 0; } }
.filter-dates > span { color: var(--faint); }
.service-filter label span, .service-filter button {
  border-color: var(--line);
  background: transparent;
  color: var(--muted);
  font-family: var(--mono);
  font-size: 10px;
}
.service-filter label:hover span { border-color: var(--line-active); color: var(--ink); }
.service-filter input:checked + span, .service-filter button[aria-pressed="true"] {
  border-color: var(--line-active); background: var(--accent-soft); color: var(--ink);
}
.service-filter input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 3px; }
.list-meta { border-color: var(--line); color: var(--muted); font-family: var(--mono); }
#result-count { color: var(--ink); font-size: 11px; }
.match-number { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 30px; font-weight: 600; }
#result-scope { color: var(--muted); font-size: 10px; }
th {
  border-color: var(--line);
  background: var(--surface);
  color: var(--muted);
  font: 9px var(--mono);
  text-transform: uppercase;
  letter-spacing: .06em;
}
td { border-color: var(--line); }
tbody tr:hover { background: var(--surface-3); }
.member-id { font-family: var(--mono); color: var(--ink); }
.admin-label { color: var(--faint); font: 9px var(--mono); margin-top: 6px; }
.service-chip { border: 1px solid var(--line); background: transparent; color: var(--muted); font: 9px var(--mono); }
.service-chip.revoked { background: transparent; color: var(--faint); }
.status { font: 10px var(--mono); text-transform: capitalize; }
.status::before { background: var(--safe); }
.status.disabled::before, .status.revoked::before { background: var(--warning); }
.status.deleted::before { background: var(--faint); }
.joined { color: var(--muted); font: 10px var(--mono); }
.view { color: var(--ink); font: 10px var(--mono); }
.view:hover { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.empty { color: var(--muted); }
#error { border-color: var(--line); border-left: 3px solid var(--danger); background: transparent; color: var(--danger); }
.review { border-color: var(--line); color: var(--faint); font: 10px var(--mono); }
dialog { background: var(--surface-2); border-color: var(--line-strong); color: var(--ink); }
dialog::backdrop { background: rgba(5, 5, 8, .72); }
.dialog-top button { color: var(--muted); }
.detail h2 { font-size: 17px; }
.info dt { color: var(--muted); }
.info dd { color: var(--ink); }
.service-card, .danger-zone { border-color: var(--line); }
.danger { border-color: var(--line-strong); border-left: 3px solid var(--danger); background: transparent; color: var(--danger); }
.danger:hover { background: var(--surface-3); border-color: var(--danger); }
.confirm .target { color: var(--ink); font-family: var(--mono); }
#action-error, #login-error { color: var(--danger); }
.toast { border: 1px solid var(--line-active); background: var(--surface-2); color: var(--ink); }
.login { min-height: 100vh; grid-template-columns: minmax(0, 1fr); }
.login-card { width: min(400px, 100%); min-width: 0; background: var(--surface-2); border-color: var(--line); padding: 36px; }
.login-card h1 { font-size: 28px; }
.login-card .demo-note { color: var(--faint); }
#mfa-label { margin-bottom: 18px; }
#mfa-code { width: 100%; min-width: 0; letter-spacing: .3em; }
#apple-login, #cancel-login { width: 100%; margin-top: 10px; }
.stat, .directory, .login-card, dialog { position: relative; }
.stat::before, .directory::before, .login-card::before, dialog::before,
.stat::after, .directory::after, .login-card::after, dialog::after {
  content: ""; position: absolute; width: 10px; height: 10px; pointer-events: none;
  border-style: solid; border-color: var(--junction); z-index: 2;
}
.stat::before, .directory::before, .login-card::before, dialog::before { top: 0; left: 0; border-width: 1px 0 0 1px; }
.stat::after, .directory::after, .login-card::after, dialog::after { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
@media (max-width: 760px) {
  header { height: 60px; }
  main { padding: 28px 18px 48px; }
  .heading { padding-bottom: 20px; margin-bottom: 20px; }
  h1 { font-size: 28px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; }
  .stat, .stat:first-child { min-height: 108px; padding: 18px; }
  .stat-value { font-size: 27px; }
  #result-scope { font-size: 9px; }
  .login-card { padding: 28px; }
}
@media (forced-colors: active) {
  .stat, .stat:first-child, .directory, .login-card, dialog,
  .service-chip, button, input, select, .service-filter label span {
    border: 1px solid CanvasText;
  }
  .service-filter input:checked + span { outline: 2px solid Highlight; outline-offset: -3px; }
}
/* Common authenticator enrollment is displayed only as an inert private image. */
#enrollment-qr { display:block; width:220px; height:220px; background:white; margin:16px auto; }
#enrollment-qr:not([src]) { display:none; }
#setup-pending { overflow-wrap:anywhere; }
