/* Shared styling for the members/admin app pages (matches the marketing site) */
:root{
  --ink:#2a2320; --ink-soft:#5c534c; --paper:#f6f1e7; --paper-2:#fffdf8;
  --line:#e0d6c4; --oxblood:#7c2d2d; --oxblood-dark:#5f2121; --forest:#3c4a3e;
  --gold:#b08642; --serif:"Fraunces",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2}
h1{font-size:1.9rem;margin-bottom:.3rem}
h2{font-size:1.4rem;margin:0 0 .6rem}
h3{font-size:1.1rem}
p{color:var(--ink-soft)}
a{color:var(--oxblood);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.narrow{max-width:460px}

/* top bar */
.appbar{background:var(--paper-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.appbar .row{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-family:var(--serif);font-weight:600;font-size:1.15rem;color:var(--ink)}
.brand span{color:var(--oxblood)}
.appbar nav{display:flex;gap:18px;align-items:center;font-size:.9rem}
.appbar nav a{color:var(--ink-soft);font-weight:500}
.logout{background:none;border:1px solid var(--line);padding:7px 14px;border-radius:999px;cursor:pointer;font:inherit;font-size:.85rem;color:var(--ink-soft)}
.logout:hover{border-color:var(--ink)}

main{padding:40px 0 80px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:600;color:var(--gold);margin-bottom:10px}

/* cards / grid */
.grid{display:grid;gap:18px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.card .when{color:var(--gold);font-weight:600;font-size:.82rem;margin:.2rem 0 .6rem}
.card .tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--oxblood);font-weight:600}
.muted{color:var(--ink-soft);font-size:.9rem}
.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px}
.pill.active{background:#e6efe6;color:var(--forest)}
.pill.pending{background:#f7ead6;color:#9a6a1a}

/* forms */
label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin:14px 0 5px}
input,textarea,select{width:100%;font:inherit;font-size:.95rem;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--oxblood);border-color:transparent}
textarea{min-height:90px;resize:vertical}

/* buttons */
.btn{display:inline-block;background:var(--oxblood);color:#fff;border:0;padding:12px 22px;border-radius:999px;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--oxblood-dark);text-decoration:none}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{background:var(--paper)}
.btn-sm{padding:8px 14px;font-size:.82rem}
.btn-block{width:100%;text-align:center}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}

.error{background:#fbe9e7;border:1px solid #e7b8b2;color:#7c2d2d;padding:11px 14px;border-radius:10px;font-size:.9rem;margin-bottom:14px}
.notice{background:#eef3ee;border:1px solid #cfe0cf;color:var(--forest);padding:11px 14px;border-radius:10px;font-size:.9rem;margin-bottom:14px}

/* tables */
table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:8px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}

/* circle area layout */
.circle-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:start}
.video-wrap{aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#111}
#jitsi{width:100%;height:100%}
.materials li{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.materials li:last-child{border-bottom:0}

/* chat */
.chat{display:flex;flex-direction:column;height:460px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2)}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:85%;padding:8px 12px;border-radius:12px;background:#efe7d8;font-size:.9rem}
.msg .who{font-size:.72rem;font-weight:600;color:var(--oxblood);margin-bottom:2px}
.msg.mine{align-self:flex-end;background:var(--forest);color:#f3efe4}
.msg.mine .who{color:#cfe0cf}
.msg .t{font-size:.65rem;opacity:.6;margin-top:3px}
.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-form input{flex:1}

/* ── avatars ─────────────────────────────────────────────────────── */
.avatar{border-radius:50%;object-fit:cover;flex-shrink:0;display:inline-block;vertical-align:middle}
.avatar-initials{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-family:var(--sans);line-height:1}
.avatar-xs{width:26px;height:26px;font-size:.7rem}
.avatar-sm{width:40px;height:40px;font-size:.85rem}
.avatar-md{width:56px;height:56px;font-size:1rem}
.avatar-lg{width:76px;height:76px;font-size:1.4rem}
.nav-me{display:inline-flex;align-items:center;gap:7px;color:var(--ink-soft)!important}
.nav-me:hover{text-decoration:none;color:var(--oxblood)!important}

/* ── dashboard welcome ───────────────────────────────────────────── */
.dash-welcome{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.dash-welcome-text{flex:1;min-width:200px}
.dash-complete{align-self:center}

/* ── circle clubhouse: banner ────────────────────────────────────── */
.club-banner{border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--oxblood),var(--forest));background-size:cover;background-position:center;color:#fff;margin-bottom:20px}
.club-banner-inner{padding:38px 30px}
.club-banner h1{color:#fff;margin:0}
.club-when{color:#f0d9b8;font-weight:600;font-size:.92rem;margin:8px 0 0}

/* live session card */
.live-card{margin-bottom:18px}
.live-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.video-wrap{margin-top:16px}

/* ── book tabs ───────────────────────────────────────────────────── */
.book-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0}
.book-tab{padding:9px 16px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);font-size:.86rem;font-weight:500;color:var(--ink-soft)}
.book-tab:hover{text-decoration:none;border-color:var(--ink);color:var(--ink)}
.book-tab.on{background:var(--oxblood);border-color:var(--oxblood);color:#fff}
.now-dot{color:#7bc47b;font-size:.6em;vertical-align:middle}
.book-tab.on .now-dot{color:#d8f0d8}

/* ── clubhouse layout ────────────────────────────────────────────── */
.club-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start;margin-top:20px}
.part-head{margin-bottom:14px}

/* composer */
.composer{padding:16px}
.composer-top{display:flex;gap:12px;align-items:flex-start}
.composer-top textarea{flex:1;min-height:46px;border-radius:12px}
.composer-extra{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.composer-extra input[type=url]{flex:1;min-width:160px;font-size:.88rem}
.file-pill{display:inline-block;cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;color:var(--ink-soft);width:auto;margin:0}
.file-pill:hover{border-color:var(--ink);color:var(--ink)}
.file-name{font-size:.8rem}

/* posts */
.empty-feed{text-align:center;color:var(--ink-soft);padding:30px}
.post{margin-top:16px;padding:18px}
.post-head{display:flex;align-items:center;gap:10px}
.post-author{font-weight:600;color:var(--ink);font-size:.92rem}
.post-time{font-size:.72rem;color:var(--ink-soft)}
.post-del{margin-left:auto}
.post-del button{background:none;border:0;color:var(--ink-soft);cursor:pointer;font-size:.9rem;padding:4px 6px;border-radius:6px;line-height:1}
.post-del button:hover{background:#fbe9e7;color:var(--oxblood)}
.post-body{margin-top:10px;color:var(--ink);white-space:pre-wrap;word-wrap:break-word}
.post-img{margin-top:12px;max-width:100%;border-radius:12px;border:1px solid var(--line);display:block}
.post-link{display:inline-block;margin-top:10px;font-size:.85rem;word-break:break-all}

/* comments */
.comments{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.comment{display:flex;gap:8px;align-items:flex-start}
.comment-bubble{background:var(--paper);border-radius:12px;padding:8px 12px;font-size:.88rem}
.comment-author{font-weight:600;color:var(--ink);margin-right:6px}
.comment-body{color:var(--ink-soft)}
.comment .post-time{margin-top:2px}
.comment-form{display:flex;gap:8px}
.comment-form input{flex:1;font-size:.88rem}

/* documents / reading list side */
.book-line{padding:6px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}
.book-line:last-child{border-bottom:0}
.book-line.on{color:var(--ink);font-weight:600}
.book-line.on::before{content:"📖 "}

/* profile */
.profile-photo-row{display:flex;gap:18px;align-items:flex-start;margin-bottom:8px}
.check-row{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.85rem;color:var(--ink-soft);margin-top:10px}
.check-row input{width:auto}

@media(max-width:760px){
  .cols-2,.cols-3,.circle-grid,.club-grid{grid-template-columns:1fr}
  .appbar nav{gap:12px;font-size:.82rem}
  .nav-me span{display:none}
  .club-banner-inner{padding:26px 22px}
}
