
:root{
  --ink:#151515;
  --paper:#f4f0e8;
  --line:#b9b2a7;
  --muted:#6c675f;
  --soft:#e8e2d8;
}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body{margin:0}
a{color:inherit}
.top{
  height:72px;padding:0 5vw;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between
}
.brand{
  font-family:Georgia,serif;font-size:25px;letter-spacing:.12em;text-decoration:none
}
.top nav{display:flex;gap:18px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.top nav a{text-decoration:none}
main{min-height:calc(100vh - 150px)}
.hero,.screen,.editorial{max-width:900px;margin:auto;padding:9vh 5vw}
.screen.narrow{max-width:620px}
.screen.wide{max-width:1280px}
.seal img{width:106px;height:106px;object-fit:contain;margin-bottom:30px}
.eyebrow,.section-mark{
  font-size:11px;letter-spacing:.19em;text-transform:uppercase
}
.section-mark{margin-bottom:30px}
.hero h1,.screen h1,.editorial h2{
  font:400 clamp(38px,7vw,78px)/.98 Georgia,serif;
  margin:18px 0 24px;letter-spacing:-.035em
}
.editorial h2,.screen h2{font:400 32px/1.06 Georgia,serif}
.screen h3{font:400 23px/1.2 Georgia,serif;margin:8px 0}
.lead{font:400 20px/1.5 Georgia,serif;max-width:680px}
.hero .lead{max-width:620px}
.button{
  display:inline-block;border:1px solid var(--ink);padding:16px 22px;
  margin:26px 10px 0 0;text-decoration:none;background:var(--ink);
  color:var(--paper);font-size:11px;letter-spacing:.12em;cursor:pointer
}
.text-link{margin-left:12px;font-size:12px}
.editorial{border-top:1px solid var(--line)}
.choice-grid{
  display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:55px
}
.choice{
  padding:30px 25px 30px 0;border-bottom:1px solid var(--line);text-decoration:none
}
.choice:nth-child(2){padding-left:25px;border-left:1px solid var(--line)}
.choice span{font-size:11px;letter-spacing:.15em}
.choice p{font:400 21px/1.3 Georgia,serif}
form{margin-top:30px}
label{
  display:block;border-top:1px solid var(--line);padding:14px 0 8px;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase
}
label em{font-style:normal;color:var(--muted);text-transform:none;letter-spacing:0}
input,textarea,select{
  display:block;width:100%;padding:10px 0 7px;border:0;background:transparent;
  color:var(--ink);font:400 20px/1.25 Georgia,serif;outline:none
}
textarea{resize:vertical}
select{font-family:Arial,Helvetica,sans-serif;font-size:13px}
.legal,.small{font-size:11px;line-height:1.5}
.muted{color:var(--muted)}
.flash{
  max-width:1180px;margin:25px auto 0;padding:15px 5vw;
  border-bottom:1px solid var(--line);font-size:13px
}
.metric{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:25px 0;margin:35px 0;display:flex;align-items:baseline;gap:18px
}
.metric strong{font:400 58px Georgia,serif}
.metric span{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.progress-copy{font:400 19px/1.5 Georgia,serif;max-width:650px}
.level-description{
  margin:-8px 0 26px;color:var(--muted);font:400 15px/1.45 Georgia,serif
}
.rule{border-top:1px solid var(--line);margin:48px 0}
.history div,.history-row{
  display:flex;justify-content:space-between;border-top:1px solid var(--line);
  padding:12px 0;font-size:12px
}
.history time{color:var(--muted)}
.levels{margin:45px 0}
.levels div{
  border-top:1px solid var(--line);padding:17px 0;
  display:grid;grid-template-columns:220px 1fr
}
.levels p{margin:0;color:var(--muted)}
.invite{
  border-top:1px solid var(--line);padding:22px 0;max-width:720px
}
.stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);margin:35px 0
}
.stats div{background:var(--paper);padding:24px}
.stats strong{display:block;font:400 34px Georgia,serif}
.stats span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.table-wrap{overflow:auto;border-top:1px solid var(--line);margin-bottom:50px}
table{border-collapse:collapse;width:100%;font-size:12px}
th,td{
  padding:12px 15px 12px 0;text-align:left;border-bottom:1px solid var(--line);
  white-space:nowrap;vertical-align:top
}
th{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
th.sortable{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
footer{
  border-top:1px solid var(--line);padding:25px 5vw;font-size:10px;
  display:flex;justify-content:space-between;gap:20px
}
.admin-nav{
  display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px;
  border-bottom:1px solid var(--line);padding-bottom:12px
}
.admin-nav a{
  text-decoration:none;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--line);padding:8px 10px
}
.segment-box{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  margin:35px 0 42px;padding:26px 0 24px
}
.segment-box h2{font:400 30px/1.1 Georgia,serif;margin:8px 0 18px}
.admin-filters{
  display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(5,minmax(140px,.8fr));
  gap:10px;margin:18px 0
}
.admin-filters input,.admin-filters select,.code-filters input,.code-filters select{
  border:1px solid var(--line);background:transparent;padding:10px 11px;
  font:12px Arial,Helvetica,sans-serif
}
.selection-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.check-inline{
  display:flex;align-items:center;gap:7px;border:0;padding:0;margin:0;
  font-size:11px;text-transform:uppercase;letter-spacing:.06em
}
.check-inline input{width:auto}
.small-button,.table-action{
  border:1px solid var(--ink);background:var(--ink);color:var(--paper);
  padding:8px 10px;font-size:10px;letter-spacing:.06em;cursor:pointer
}
.small-button.ghost,.table-action{background:transparent;color:var(--ink)}
.table-action{padding:5px 7px}
#selectionCount{font-size:11px;color:var(--muted);margin-right:auto}
.member-select{width:auto}
.contact-actions{display:flex;gap:6px}
.mail-link,.copy-email{
  border:1px solid var(--line);padding:5px 7px;background:transparent;
  text-decoration:none;font-size:10px;cursor:pointer
}
.member-link{font-weight:bold;text-underline-offset:3px}
.table-help{font-size:11px;color:var(--muted)}
.back-link{display:inline-block;margin-bottom:25px;font-size:11px;text-decoration:none}
.member-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start}
.member-head form{margin:20px 0 0}
.level-line{font:400 18px/1.4 Georgia,serif;color:var(--muted)}
.member-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line);margin:35px 0
}
.member-grid div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.member-grid span{display:block;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.member-grid b{font:400 16px/1.35 Georgia,serif}
.member-stats{grid-template-columns:repeat(4,1fr)}
.date-stat{font-size:22px!important}
.inline-form{
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;max-width:700px;margin:10px 0 38px
}
.inline-form select,.code-filters select{
  border:1px solid var(--line);padding:10px
}
.inline-form .small-button{margin-bottom:0}
.lot-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:35px 0
}
.lot-card{background:var(--paper);padding:22px}
.lot-card strong{display:block;font:400 36px Georgia,serif;margin:8px 0}
.lot-card span{font-size:11px;color:var(--muted)}
.import-form{max-width:720px}
.code-filters{
  display:grid;grid-template-columns:1fr 1fr 220px auto;
  gap:10px;align-items:end;margin:18px 0 25px
}
.experience-create{max-width:820px}
.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.target-grid label select{border:1px solid var(--line);padding:10px;margin-top:8px}
@media(max-width:1050px){
  .admin-filters{grid-template-columns:1fr 1fr 1fr}
  .member-grid{grid-template-columns:1fr 1fr}
  .lot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .top nav a:nth-child(-n+2){display:none}
  .hero,.screen,.editorial{padding-top:7vh}
  .choice-grid{grid-template-columns:1fr}
  .choice:nth-child(2){padding-left:0;border-left:0}
  .text-link{display:block;margin:18px 0 0}
  .levels div{grid-template-columns:1fr;gap:6px}
  .stats,.member-stats{grid-template-columns:1fr 1fr}
  footer{flex-direction:column}
  .admin-filters,.member-grid,.lot-grid,.target-grid,.code-filters{grid-template-columns:1fr}
  .member-head{display:block}
  .inline-form{grid-template-columns:1fr}
  #selectionCount{width:100%;margin:0}
}

.consent-block{margin-top:26px;border-top:1px solid var(--line)}
.consent-line{
  display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;
  font-size:12px;line-height:1.5;padding:14px 0;border-bottom:1px solid var(--line)
}
.consent-line input{width:auto;flex:0 0 auto;margin-top:3px}
.consent-line span{display:block}
.consent-line em{font-style:normal;color:var(--muted)}
.legal-page h2{margin-top:42px}
.legal-page p{max-width:760px;line-height:1.65}
.legal-page a{text-underline-offset:3px}

.brand-logo{display:flex;align-items:center;height:62px}
.brand-logo img{width:48px;height:48px;object-fit:contain;display:block}
.status-badge{display:inline-block;padding:4px 7px;border:1px solid var(--line);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.status-badge.done{border-color:var(--ink)}
.status-badge.pending{color:var(--muted)}
.compact-form{margin:0}
.invite-status{margin-top:14px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

.mail-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:22px 0 34px;display:flex;gap:16px;align-items:baseline}
.mail-status span{font-size:12px;color:var(--muted)}
.mail-status.warn b{font-weight:normal}
.recipient-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:18px 0 30px}
.recipient-details summary{cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.recipient-list{margin-top:12px;font-size:12px;line-height:1.8}
.email-body-preview{white-space:pre-wrap;max-width:760px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font:400 16px/1.6 Georgia,serif}
button[disabled]{opacity:.35;cursor:not-allowed}
.no-margin{margin-left:0}
code{font-size:11px}


/* v6.4.2 — destructive admin actions */
.small-button.danger{
  background:transparent;
  border-color:#7a2f2f;
  color:#7a2f2f;
}
.small-button.danger:hover{
  background:#7a2f2f;
  color:#fff;
}
.danger-zone{
  max-width:760px;
  padding-bottom:18px;
}
