    :root{
      --bg:#f4f1f8;
      --ink:#20182c;
      --muted:#6d5f7d;
      --line:#ddd2ea;
      --card:#ffffff;
      --brand:#c8175a;
      --brand-dark:#7b3a9e;
      --brand-soft:#fbe8f0;
      --ok:#157347;
      --warn:#b45309;
      --err:#b42318;
      --shadow:0 20px 48px rgba(34,20,50,.08);
      --ff:'Sora',sans-serif;
      --fd:'Fraunces',serif;
      --body:var(--ff);
    }
    *{box-sizing:border-box}
    body.member-shell{
      margin:0;
      font-family:var(--body);
      color:var(--ink);
      background:linear-gradient(180deg,#faf8fd 0%, var(--bg) 100%);
      min-height:100vh;
    }
    body.member-shell .shell{max-width:1120px;margin:0 auto;padding:1.5rem 1.2rem 2.5rem}
    body.member-shell .brand{
      display:flex;align-items:center;gap:.8rem;margin-bottom:1.1rem;
      color:var(--ink);padding:.2rem .1rem;
    }
    body.member-shell .brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));display:grid;place-items:center;font-weight:800;color:#fff}
    body.member-shell .brand-copy small{display:block;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem}
    body.member-shell .brand-copy strong{font-size:1.04rem}
    body.member-shell .layout{display:grid;grid-template-columns:1fr 1.1fr;gap:1rem}
    body.member-shell .hero,body.member-shell .panel{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
    body.member-shell .hero{padding:2rem 2rem 2.2rem;display:flex;flex-direction:column;justify-content:center;min-height:420px}
    body.member-shell .hero h1{font:700 clamp(1.9rem,4vw,2.7rem)/1.1 var(--fd);margin:0 0 .75rem}
    body.member-shell .hero p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:44ch;margin:0}
    body.member-shell .panel{padding:1.3rem 1.3rem 1.2rem}
    body.member-shell .panel h2{margin:0 0 .35rem;font:700 1.45rem/1.1 var(--fd)}
    body.member-shell .panel .sub{margin:0 0 1rem;color:var(--muted);line-height:1.6}
    body.member-shell .field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}
    body.member-shell .field label{font-size:.82rem;font-weight:700;color:#5c4d69}
    body.member-shell .field input,body.member-shell .field select{
      width:100%;padding:.9rem 1rem;border-radius:14px;border:1.5px solid var(--line);outline:none;font:500 .96rem var(--body);
      background:#fff;color:var(--ink)
    }
    body.member-shell .field input:focus,body.member-shell .field select:focus{border-color:#c495d8;box-shadow:0 0 0 4px rgba(180,116,210,.14)}
    body.member-shell .actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.3rem}
    body.member-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:none;border-radius:16px;padding:.92rem 1.1rem;cursor:pointer;font:700 .93rem var(--body)}
    body.member-shell .btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 18px 34px rgba(200,23,90,.22)}
    body.member-shell .btn.secondary{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
    body.member-shell .btn.ghost{background:transparent;color:var(--muted)}
    body.member-shell .btn:disabled{opacity:.6;cursor:not-allowed}
    body.member-shell .msg{display:none;margin-top:.9rem;padding:.8rem .95rem;border-radius:14px;font-size:.9rem}
    body.member-shell .msg.ok{display:block;background:#eefbf3;color:var(--ok);border:1px solid rgba(21,115,71,.18)}
    body.member-shell .msg.err{display:block;background:#fff1f1;color:var(--err);border:1px solid rgba(180,35,24,.14)}
    body.member-shell .state{display:none}
    body.member-shell .state.show{display:block}
    body.member-shell .state-card{padding:1.1rem;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbf8fd)}
    body.member-shell .kicker{display:inline-flex;padding:.32rem .66rem;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
    body.member-shell .state-card h3{margin:.8rem 0 .4rem;font:700 1.7rem/1.1 var(--fd)}
    body.member-shell .state-card p{margin:0 0 1rem;color:var(--muted);line-height:1.6}
    body.member-shell .list{display:grid;gap:.7rem}
    body.member-shell .row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 0;border-bottom:1px solid #efe7f6}
    body.member-shell .row:last-child{border-bottom:none}
    body.member-shell .row .meta{font-size:.82rem;color:var(--muted)}
    body.member-shell .status{display:inline-flex;padding:.28rem .62rem;border-radius:999px;background:#f7f1fb;border:1px solid var(--line);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#5b4b68}
    body.member-shell .status.approved,body.member-shell .status.member{background:#ecfdf3;color:var(--ok);border-color:rgba(21,115,71,.16)}
    body.member-shell .status.rejected{background:#fff1f1;color:var(--err);border-color:rgba(180,35,24,.16)}
    body.member-shell .status.docs_needed{background:#fff7ed;color:var(--warn);border-color:rgba(180,83,9,.18)}
    body.member-shell .loading{display:flex;align-items:center;gap:.7rem;color:var(--muted);font-size:.92rem}
    body.member-shell .spinner{width:18px;height:18px;border:2px solid rgba(123,58,158,.18);border-top-color:var(--brand-dark);border-radius:50%;animation:spin .8s linear infinite}
    body.member-shell .hidden{display:none!important}
    body.member-shell .auth-links{margin-top:1rem;padding-top:1rem;border-top:1px solid #ece2f4;display:grid;gap:.45rem}
    body.member-shell .auth-links a{color:#6a3f87;text-decoration:none;font-weight:600;font-size:.92rem}
    body.member-shell .auth-links a:hover{text-decoration:underline}
    @keyframes spin{to{transform:rotate(360deg)}}
    @media (max-width: 920px){
      body.member-shell .layout{grid-template-columns:1fr}
      body.member-shell .hero{min-height:unset}
    }
