:root {
  --charcoal:#41413d;
  --charcoal-deep:#2f302d;
  --sage:#7d8872;
  --sage-soft:#dfe3d9;
  --cream:#f3efe5;
  --paper:#fbf8f1;
  --white:#fff;
  --crimson:#7f2632;
  --crimson-dark:#691e29;
  --muted:#74746e;
  --line:rgba(65,65,61,.14);
  --shadow:0 18px 55px rgba(42,42,38,.12);
  --shadow-soft:0 8px 28px rgba(42,42,38,.08);
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--charcoal);
  background:var(--cream);
  font-family:var(--sans);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  position:relative;
  isolation:isolate;
}

/* Shared Tables page artwork.
   Upload shared-tables-page-bg.png into the same /sharedtables/ folder. */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(243,239,229,.98) 0%,
      rgba(243,239,229,.94) 24%,
      rgba(243,239,229,.78) 43%,
      rgba(243,239,229,.28) 67%,
      rgba(243,239,229,.05) 100%
    ),
    url("shared-tables-page-bg.png") center top / cover no-repeat;
}

/* Soft cream veil keeps text/cards readable while allowing the background to show. */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(243,239,229,.05) 0%,
    rgba(243,239,229,.16) 48%,
    rgba(243,239,229,.50) 78%,
    rgba(243,239,229,.82) 100%
  );
}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
img{max-width:100%}
[hidden]{display:none!important}
body.modal-open{overflow:hidden}

.site-header,main{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none}
.brand-mark{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--charcoal);box-shadow:var(--shadow-soft)}
.brand-mark img{width:34px;height:34px;object-fit:contain}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-size:.84rem;font-weight:800;letter-spacing:.16em}
.brand-subtitle{margin-top:5px;color:var(--muted);font-family:var(--serif);font-size:.92rem;font-style:italic}
.header-link{padding:10px 16px;border-bottom:1px solid var(--charcoal);text-decoration:none;font-size:.86rem;font-weight:700}

.site-header{
  position:relative;
  z-index:2;
}

main{
  position:relative;
  z-index:1;
}

/* The background artwork is strongest on the right, so content remains readable
   while the Acts 2:46 hand-script remains visible in open areas. */
.hero-copy,
.tables-section{
  position:relative;
}


.hero{padding:28px 0 92px}
.hero-video{position:relative;width:100%;min-height:500px;overflow:hidden;display:grid;place-items:center;border:0;border-radius:30px;cursor:pointer;color:var(--white);background:linear-gradient(180deg,rgba(36,35,31,.18),rgba(36,35,31,.62)),linear-gradient(135deg,rgba(125,136,114,.82),rgba(93,70,52,.74)),url("shared-tables-hero.jpg") center/cover no-repeat;box-shadow:var(--shadow);isolation:isolate}
.hero-video::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.18),transparent 28%),radial-gradient(circle at 70% 65%,rgba(255,226,174,.16),transparent 30%);z-index:-1}
.hero-video-copy{position:absolute;left:clamp(24px,6vw,72px);bottom:clamp(28px,6vw,65px);display:flex;flex-direction:column;align-items:flex-start;font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,6vw,5.4rem);line-height:.9;text-shadow:0 4px 25px rgba(0,0,0,.24)}
.play-button{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:rgba(251,248,241,.93);box-shadow:0 10px 35px rgba(0,0,0,.18)}
.play-triangle{width:0;height:0;margin-left:7px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:20px solid var(--charcoal)}
.video-duration{position:absolute;right:22px;bottom:20px;padding:7px 10px;border-radius:999px;background:rgba(38,38,34,.76);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.hero-copy{max-width:830px;padding:54px 6px 0}
.eyebrow{margin:0 0 10px;color:var(--sage);font-size:.72rem;font-weight:850;letter-spacing:.19em}
.hero h1,.section-heading h2,.modal-panel h2{margin:0;color:var(--charcoal-deep);font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.hero h1{font-size:clamp(3.3rem,7vw,6.2rem);line-height:.95}
.hero-tagline{margin:13px 0 24px;font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,2rem);font-style:italic}
.hero-description{max-width:760px;margin:0;color:#575752;font-size:1.03rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;border:1px solid transparent;border-radius:999px;cursor:pointer;text-decoration:none;font-weight:760;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}
.button:hover{transform:translateY(-1px)}
.button-primary{color:var(--white);background:var(--crimson);box-shadow:0 10px 25px rgba(127,38,50,.16)}
.button-primary:hover{background:var(--crimson-dark)}
.button-secondary{border-color:rgba(65,65,61,.18);background:rgba(251,248,241,.68)}
.button-secondary:hover{border-color:rgba(65,65,61,.35);background:var(--paper)}
.full-width{width:100%}

.tables-section{padding:0 0 100px;scroll-margin-top:30px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.section-heading h2{font-size:clamp(2.6rem,5vw,4.3rem)}
.section-heading p:not(.eyebrow){margin:9px 0 0;color:var(--muted)}
.result-count{white-space:nowrap;color:var(--muted);font-size:.84rem;font-weight:750}
.filters{display:flex;flex-wrap:wrap;gap:10px;padding:25px 0 34px}
.filter-control{min-width:165px;display:flex;flex-direction:column;gap:4px;padding:9px 15px;border:1px solid var(--line);border-radius:16px;background:rgba(251,248,241,.88);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.filter-control span{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.filter-control select{border:0;outline:0;background:transparent;cursor:pointer;font-weight:700}
.table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.table-card{position:relative;min-height:330px;display:flex;flex-direction:column;align-items:center;padding:30px 24px 25px;overflow:hidden;border:1px solid rgba(65,65,61,.11);border-radius:26px;cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.18)),rgba(251,248,241,.86);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-soft);text-align:center;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.table-card:hover{transform:translateY(-3px);border-color:rgba(125,136,114,.34);box-shadow:var(--shadow)}
.table-card:focus-visible{outline:3px solid rgba(127,38,50,.28);outline-offset:3px}
.table-photo{position:relative;width:150px;height:150px;flex:0 0 auto;overflow:hidden;border:7px solid rgba(255,255,255,.72);border-radius:50%;background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.45),transparent 24%),linear-gradient(135deg,var(--sage-soft),#b7aa95);box-shadow:0 12px 30px rgba(48,48,43,.12);background-position:center;background-size:cover}
.table-photo.large{width:155px;height:155px;margin:0 auto 18px}
.table-card h3{margin:20px 0 10px;font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1.08}
.table-meta{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.88rem}
.status-pill{position:absolute;top:18px;right:18px;padding:7px 10px;border-radius:999px;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.status-open{color:#4f5c48;background:#e5eadf}.status-closed,.status-full{color:var(--white);background:var(--crimson)}
.card-action{margin-top:auto;padding-top:22px;color:var(--crimson);font-size:.78rem;font-weight:820;letter-spacing:.06em;text-transform:uppercase}
.empty-state{max-width:600px;margin:30px auto 0;padding:50px 28px;border:1px solid var(--line);border-radius:26px;background:rgba(251,248,241,.86);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);text-align:center}
.empty-circle{width:90px;height:90px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:var(--sage-soft);font-family:var(--serif);font-size:2.4rem}
.empty-state h3{margin:0 0 10px;font-family:var(--serif);font-size:2rem;font-weight:500}.empty-state p{max-width:460px;margin:0 auto 24px;color:var(--muted)}

.site-footer{min-height:180px;display:flex;align-items:center;justify-content:center;gap:22px;padding:45px 24px;color:rgba(255,255,255,.82);background:var(--charcoal)}
.site-footer img{width:68px;height:68px;object-fit:contain}.site-footer p{max-width:570px;margin:0;font-family:var(--serif);font-size:1.08rem;font-style:italic}

.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:26px}.modal-backdrop{position:absolute;inset:0;background:rgba(32,32,29,.62);backdrop-filter:blur(5px)}
.modal-panel{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 52px);overflow:auto;padding:38px;border:1px solid rgba(255,255,255,.54);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(125,136,114,.10),transparent 20rem),rgba(251,248,241,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 35px 95px rgba(0,0,0,.27)}
.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:rgba(65,65,61,.08);font-size:1.7rem;line-height:1}
.table-modal-header{padding-right:42px;text-align:center}.table-modal-header h2{font-size:clamp(2.3rem,7vw,3.6rem);line-height:1}.modal-status{margin:10px 0 0;color:var(--muted);font-weight:720}
.detail-list{margin:32px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-row{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:10px 0}.detail-icon{color:var(--sage);text-align:center}.detail-label{display:block;margin-bottom:1px;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-row strong{font-weight:720}
.modal-copy-section h3,.meal-note h3{margin:0 0 8px;font-family:var(--serif);font-size:1.45rem;font-weight:500}.modal-copy-section p,.meal-note p,.host-message p{margin:0;color:#5b5b55}
.meal-note{display:grid;grid-template-columns:38px 1fr;gap:12px;margin:27px 0;padding:20px;border-radius:18px;background:#ecefe7}.meal-icon{color:var(--sage);font-size:1.5rem}.host-message{margin:0 0 24px;padding-left:17px;border-left:3px solid var(--crimson)}.host-message span{display:block;margin-bottom:5px;color:var(--crimson);font-size:.71rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.form-modal-panel h2{margin-bottom:8px;font-size:clamp(2.1rem,6vw,3rem)}.form-intro{margin:0 0 24px;color:var(--muted)}.app-form{display:grid;gap:16px}.app-form label{display:grid;gap:6px}.app-form label>span{font-size:.78rem;font-weight:780}.app-form input,.app-form textarea{width:100%;border:1px solid rgba(65,65,61,.18);border-radius:14px;outline:0;color:var(--charcoal);background:rgba(255,255,255,.66)}.app-form input{height:49px;padding:0 14px}.app-form textarea{min-height:110px;padding:12px 14px;resize:vertical}.app-form input:focus,.app-form textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px rgba(125,136,114,.14)}
.form-message{padding:18px;border-radius:15px;background:var(--sage-soft);color:#495044}.form-message.error{color:#691e29;background:#f1dfe1}
.toast{position:fixed;left:50%;bottom:24px;z-index:1500;transform:translateX(-50%);width:min(520px,calc(100% - 34px));padding:14px 18px;border-radius:999px;color:var(--white);background:var(--charcoal-deep);box-shadow:0 16px 45px rgba(0,0,0,.22);text-align:center;font-size:.88rem;font-weight:700}


@media(max-width:900px){
  body::before{
    background:
      linear-gradient(
        to bottom,
        rgba(243,239,229,.22) 0%,
        rgba(243,239,229,.62) 40%,
        rgba(243,239,229,.92) 72%,
        rgba(243,239,229,1) 100%
      ),
      url("shared-tables-page-bg.png") 68% top / auto 660px no-repeat;
    opacity:.72;
  }

  body::after{
    background:linear-gradient(
      to bottom,
      rgba(243,239,229,.04) 0%,
      rgba(243,239,229,.22) 34%,
      rgba(243,239,229,.72) 68%,
      rgba(243,239,229,.96) 100%
    );
  }
}

@media(max-width:900px){.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-video{min-height:430px}}
@media(max-width:640px){.site-header,main{width:min(100% - 28px,1180px)}.site-header{min-height:78px}.brand-mark{width:43px;height:43px}.brand-mark img{width:30px;height:30px}.brand-subtitle,.header-link{display:none}.hero{padding:12px 0 66px}.hero-video{min-height:320px;border-radius:24px}.hero-video-copy{left:23px;bottom:27px;font-size:clamp(2rem,12vw,3.6rem)}.play-button{width:67px;height:67px}.play-triangle{border-top-width:10px;border-bottom-width:10px;border-left-width:17px}.video-duration{top:16px;right:16px;bottom:auto}.hero-copy{padding-top:36px}.hero h1{font-size:clamp(3rem,17vw,4.6rem)}.hero-description{font-size:.96rem}.hero-actions{display:grid}.button{width:100%}.section-heading{align-items:flex-start;flex-direction:column}.filters{display:grid;grid-template-columns:1fr 1fr}.filter-control:last-child{grid-column:1/-1}.table-grid{grid-template-columns:1fr 1fr;gap:12px}.table-card{min-height:275px;padding:20px 13px 18px;border-radius:22px}.table-photo{width:108px;height:108px;border-width:5px}.table-card h3{margin-top:15px;font-size:1.12rem}.table-meta{font-size:.77rem}.status-pill{top:10px;right:10px;padding:5px 7px;font-size:.57rem}.card-action{padding-top:15px;font-size:.66rem}.site-footer{flex-direction:column;text-align:center}.modal{align-items:end;padding:0}.modal-panel{width:100%;max-height:92vh;padding:32px 22px 28px;border-radius:28px 28px 0 0}.table-modal-header{padding-right:0}.table-photo.large{width:132px;height:132px}}
@media(max-width:390px){.table-grid{grid-template-columns:1fr}.table-card{min-height:300px}.table-photo{width:145px;height:145px}}


/* =========================================================
   SHARED TABLE MEMBER CHAT
   ========================================================= */

.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.header-member-button{
  min-height:40px;
  padding:9px 15px;
  border:1px solid rgba(65,65,61,.17);
  border-radius:999px;
  cursor:pointer;
  color:var(--charcoal);
  background:rgba(251,248,241,.74);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font-weight:800;
  font-size:.82rem;
}
.header-member-button:hover{
  border-color:rgba(127,38,50,.28);
  background:var(--paper);
}
.header-member-button.signed-in::before{
  content:"";
  width:7px;
  height:7px;
  display:inline-block;
  margin-right:7px;
  border-radius:50%;
  background:var(--sage);
  vertical-align:1px;
}

.member-modal-panel{
  width:min(780px,100%);
}
.member-intro{
  max-width:620px;
  margin:12px 0 26px;
  color:var(--muted);
}
.member-login-form{
  max-width:520px;
  display:grid;
  gap:14px;
}
.member-login-form label{
  display:grid;
  gap:7px;
}
.member-login-form label>span{
  font-size:.78rem;
  font-weight:800;
}
.member-login-form input{
  width:100%;
  height:52px;
  padding:0 15px;
  border:1px solid rgba(65,65,61,.18);
  border-radius:14px;
  outline:0;
  color:var(--charcoal);
  background:rgba(255,255,255,.7);
}
.member-login-form input:focus{
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(125,136,114,.14);
}
.member-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-right:44px;
}
.member-toolbar h2{
  font-size:clamp(2.15rem,6vw,3.5rem);
}
.member-account{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.82rem;
}
.text-button{
  border:0;
  padding:8px 0;
  cursor:pointer;
  color:var(--crimson);
  background:transparent;
  font-size:.78rem;
  font-weight:800;
}
.member-table-picker{
  margin:25px 0 18px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.5);
}
.member-table-picker label{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.member-table-picker select{
  width:100%;
  border:0;
  outline:0;
  color:var(--charcoal);
  background:transparent;
  font-weight:750;
}
.member-loading{
  margin-top:26px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:18px;
  color:var(--muted);
  background:rgba(255,255,255,.4);
  text-align:center;
}
.member-no-table{
  margin-top:28px;
  padding:34px 24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.45);
  text-align:center;
}
.member-no-table h3{
  margin:0 0 8px;
  font-family:var(--serif);
  font-size:1.7rem;
  font-weight:500;
}
.member-no-table p{
  max-width:520px;
  margin:0 auto;
  color:var(--muted);
}
.member-table-heading{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:17px;
  align-items:center;
  margin-top:26px;
  padding:18px;
  border:1px solid rgba(65,65,61,.1);
  border-radius:22px;
  background:rgba(255,255,255,.45);
}
.member-table-photo{
  width:86px;
  height:86px;
  border:4px solid rgba(255,255,255,.76);
  border-radius:50%;
  background:linear-gradient(135deg,var(--sage-soft),#b7aa95);
  background-position:center;
  background-size:cover;
  box-shadow:var(--shadow-soft);
}
.member-table-heading h3{
  margin:3px 0 5px;
  font-family:var(--serif);
  font-size:1.75rem;
  font-weight:500;
  line-height:1.06;
}
.member-table-heading p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
}
.member-role{
  color:var(--sage);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.member-note-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:14px 0;
}
.member-note{
  min-height:104px;
  padding:17px 18px;
  border-radius:18px;
}
.member-note p{
  margin:7px 0 0;
  white-space:pre-wrap;
}
.member-note-label{
  display:block;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.member-announcement{
  border-left:4px solid var(--crimson);
  background:#f3e9e9;
}
.member-announcement .member-note-label{
  color:var(--crimson);
}
.member-meal{
  border-left:4px solid var(--sage);
  background:#e9eee5;
}
.member-meal .member-note-label{
  color:#596553;
}
.conversation-card{
  margin-top:14px;
  overflow:hidden;
  border:1px solid rgba(65,65,61,.12);
  border-radius:24px;
  background:rgba(251,248,241,.86);
  box-shadow:var(--shadow-soft);
}
.conversation-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:21px 22px 17px;
  border-bottom:1px solid var(--line);
}
.conversation-heading h3{
  margin:0;
  font-family:var(--serif);
  font-size:1.7rem;
  font-weight:500;
}
.conversation-heading .eyebrow{
  margin-bottom:3px;
}
.conversation-status{
  margin-top:3px;
  padding:6px 9px;
  border-radius:999px;
  color:#596553;
  background:var(--sage-soft);
  font-size:.65rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.chat-messages{
  height:min(390px,48vh);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(243,239,229,.56));
  scroll-behavior:smooth;
}
.chat-empty{
  margin:auto;
  padding:34px 20px;
  color:var(--muted);
  text-align:center;
  font-family:var(--serif);
  font-style:italic;
}
.chat-message{
  max-width:86%;
  align-self:flex-start;
  padding:12px 14px 10px;
  border:1px solid rgba(65,65,61,.11);
  border-radius:5px 17px 17px 17px;
  background:rgba(255,255,255,.82);
  box-shadow:0 5px 16px rgba(42,42,38,.05);
}
.chat-message.mine{
  align-self:flex-end;
  border-color:rgba(125,136,114,.2);
  border-radius:17px 5px 17px 17px;
  background:#e8ede4;
}
.chat-message-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:5px;
}
.chat-identity{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.chat-identity strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
}
.chat-message time{
  flex:0 0 auto;
  color:var(--muted);
  font-size:.65rem;
}
.chat-message p{
  margin:0;
  color:#4b4b46;
  font-size:.92rem;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.chat-role{
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:999px;
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.chat-role-host{
  color:#596553;
  background:var(--sage-soft);
}
.chat-role-admin{
  color:var(--white);
  background:var(--charcoal);
}
.chat-controls{
  margin-top:6px;
  text-align:right;
}
.chat-delete{
  border:0;
  padding:0;
  cursor:pointer;
  color:var(--muted);
  background:transparent;
  font-size:.62rem;
  font-weight:750;
}
.chat-delete:hover{
  color:var(--crimson);
}
.message-composer{
  padding:17px 18px 18px;
  border-top:1px solid var(--line);
  background:rgba(251,248,241,.95);
}
.message-composer label{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.message-composer textarea{
  width:100%;
  min-height:84px;
  padding:12px 13px;
  resize:vertical;
  border:1px solid rgba(65,65,61,.18);
  border-radius:14px;
  outline:0;
  color:var(--charcoal);
  background:rgba(255,255,255,.75);
}
.message-composer textarea:focus{
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(125,136,114,.14);
}
.composer-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:10px;
}
.composer-actions>span{
  color:var(--muted);
  font-size:.68rem;
}
.composer-actions .button{
  min-height:44px;
  padding:10px 17px;
  font-size:.78rem;
}

@media(max-width:640px){
  .header-actions{
    gap:7px;
  }
  .header-member-button{
    min-height:38px;
    padding:8px 13px;
  }
  .member-toolbar{
    padding-right:38px;
  }
  .member-toolbar h2{
    font-size:2.25rem;
  }
  .member-table-heading{
    grid-template-columns:68px 1fr;
    padding:14px;
  }
  .member-table-photo{
    width:68px;
    height:68px;
  }
  .member-table-heading h3{
    font-size:1.4rem;
  }
  .member-note-grid{
    grid-template-columns:1fr;
  }
  .chat-messages{
    height:42vh;
    padding:13px;
  }
  .chat-message{
    max-width:93%;
  }
  .conversation-heading{
    padding:18px 16px 14px;
  }
  .message-composer{
    padding:14px;
  }
  .composer-actions{
    align-items:flex-end;
  }
  .composer-actions .button{
    width:auto;
  }
}

.attendee-section { margin: 24px 0; }
.attendee-section h3 { margin: 0 0 16px; }
.attendee-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 20px 12px; }
.attendee { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: 13px; line-height: 1.35; }
.attendee-portrait { position: relative; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: #e8e1d7; color: #713039; font-weight: 600; }
.attendee-portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Restore the approved hero photograph; retain all page background artwork. */
.hero-video{background:url("/admin/sharedtables/images/table-life-hero.jpg") center/cover no-repeat}
.hero-video::before{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.5))}
.card-view-button{border:0;background:transparent;cursor:pointer;font-family:inherit;color:inherit}
.card-chat-button{margin-top:14px;min-height:44px;padding:10px 14px;border:1px solid var(--sage);border-radius:14px;background:var(--sage-soft);color:var(--charcoal);font-size:.82rem;font-weight:700;cursor:pointer}
.card-chat-button:focus-visible,.card-view-button:focus-visible{outline:3px solid var(--sage);outline-offset:3px}

.member-signin-help{margin:4px 0 0;color:var(--muted);font-size:.88rem;line-height:1.5}

.member-account-links{font-size:.86rem;line-height:1.8;margin:0}.member-account-links a{font-weight:700;text-underline-offset:3px}
