:root{--ink:#26312d;--muted:#6f7772;--paper:#fbfaf7;--warm:#f2eee4;--line:#ddd7ca;--accent:#8a7a4f;--accent2:#64756a;--danger:#a04444;--shadow:0 18px 50px rgba(49,43,31,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.5}a{color:inherit}h1,h2,h3{margin:0 0 .5rem;line-height:1.12}h1,h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400}h1{font-size:clamp(2.2rem,7vw,4.8rem)}h2{font-size:clamp(1.8rem,5vw,3rem)}h3{font-size:1.1rem}.hero{background:linear-gradient(180deg,#f7f3e9 0%,#fbfaf7 100%);border-bottom:1px solid var(--line);padding:48px 20px 72px}.hero-inner{max-width:920px;margin:auto;text-align:center}.seal,.brand-mark{width:72px;height:72px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-family:Georgia,serif;font-size:1.35rem;color:var(--accent);background:rgba(255,255,255,.65)}.seal.small{width:52px;height:52px;margin:0;font-size:1rem}.eyebrow,.section-kicker{font-size:.72rem;letter-spacing:.19em;font-weight:700;color:var(--accent2);margin:0 0 .7rem}.lede{max-width:620px;margin:14px auto 0;color:var(--muted);font-size:1.05rem}.page-shell{width:min(1080px,calc(100% - 28px));margin:-38px auto 60px}.page-shell.narrow{width:min(760px,calc(100% - 28px));margin:28px auto 60px}.card,.admin-card,.update-card,.setup-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.program-card{padding:clamp(22px,5vw,42px)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.section-head p{margin:.2rem 0 0;color:var(--muted)}.pill,.org-tag,.pin{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .7rem;font-size:.72rem;font-weight:700;background:var(--warm);color:var(--accent2)}.pin{background:#f3e7c7;color:#765e26}.program-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.program-meta>div{background:var(--warm);border-radius:16px;padding:15px}.program-meta span,.order-item span,.leader-row small{display:block;color:var(--muted);font-size:.76rem;margin-bottom:3px}.program-meta strong{font-size:.95rem}.order-list{border-top:1px solid var(--line)}.order-item{padding:16px 2px;border-bottom:1px solid var(--line)}.order-item strong{font-size:1.02rem}.order-item small{display:block;color:var(--muted);margin-top:4px}.section-block{padding:52px 2px 0}.announcement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.announcement-card,.empty-card,.simple-card,.quick-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.announcement-card p{margin:.55rem 0}.announcement-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.eventline{font-size:.93rem}.muted{color:var(--muted)}.org-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.org-card{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:16px;text-decoration:none;font-weight:650}.org-card b{font-size:1.6rem;font-weight:400;color:var(--muted)}.org-icon{width:38px;height:38px;border-radius:50%;background:var(--warm);display:grid;place-items:center;font-size:.75rem;font-weight:800;color:var(--accent2)}.org-icon.big{width:58px;height:58px;margin-bottom:16px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.quick-card{text-decoration:none}.quick-card span{font-weight:700;display:block;margin-bottom:6px}.quick-card small{color:var(--muted)}.site-footer{text-align:center;padding:24px;color:var(--muted);font-size:.85rem}.backlink{display:inline-block;margin:10px 0 30px;color:var(--muted);text-decoration:none}.page-title{margin-bottom:25px}.stack{display:grid;gap:12px}.simple-card h3{margin-bottom:5px}.leader-row{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}.leader-row strong{display:block}.leader-row a{text-decoration:none;font-weight:600}.setup-shell,.update-shell{min-height:100vh;padding:28px 14px;background:linear-gradient(180deg,var(--warm),var(--paper))}.setup-card{width:min(620px,100%);margin:20px auto;padding:clamp(22px,5vw,40px)}.setup-card h1{text-align:center}.form-grid{display:grid;gap:14px;margin-top:20px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.form-grid hr{width:100%;border:0;border-top:1px solid var(--line);margin:5px 0}.form-grid label{display:grid;gap:6px;font-size:.83rem;font-weight:700}.form-grid input,.form-grid textarea,.form-grid select,.token-box input{width:100%;border:1px solid #cfc9bc;background:#fff;border-radius:12px;padding:12px 13px;font:inherit;color:var(--ink);outline:none}.form-grid textarea{min-height:95px;resize:vertical}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(100,117,106,.12)}.form-grid small{font-weight:400;color:var(--muted)}.split{display:grid;grid-template-columns:120px 1fr;gap:10px}.btn{border:0;border-radius:12px;padding:11px 15px;font:inherit;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.btn.primary{background:var(--ink);color:white}.btn.soft{background:var(--warm);color:var(--ink)}.btn.big{padding:14px 18px}.success-box,.error-box,.token-box{padding:14px 16px;border-radius:14px;margin:14px 0}.success-box{background:#eaf3ed;border:1px solid #bfd6c6}.error-box{background:#f7e9e9;border:1px solid #e2c1c1}.token-box{background:#fff7df;border:1px solid #e3d39f}.token-box input{margin:8px 0}.adminbar{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 18px}.adminbar strong,.adminbar small{display:block}.adminbar nav{display:flex;gap:14px}.adminbar a{text-decoration:none;font-size:.9rem}.admin-shell{width:min(980px,calc(100% - 24px));margin:22px auto 60px;display:grid;gap:18px}.admin-card{padding:22px}.admin-list{margin-top:22px;border-top:1px solid var(--line)}.admin-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.admin-list span strong,.admin-list span small{display:block}.link-danger{border:0;background:none;color:var(--danger);font-weight:700;cursor:pointer}.speaker-row{display:grid;grid-template-columns:140px 1fr;gap:8px;margin-bottom:8px}.update-shell{padding-bottom:70px}.update-brand{width:min(680px,100%);margin:0 auto 18px;display:flex;align-items:center;gap:12px}.update-brand small,.update-brand strong{display:block}.update-card{width:min(680px,100%);margin:auto;padding:clamp(20px,5vw,34px)}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.checkbox input{width:auto!important}.sticky-notice{position:relative}@media(max-width:720px){.hero{padding-top:34px;padding-bottom:60px}.page-shell{margin-top:-28px}.program-meta{grid-template-columns:1fr}.announcement-grid,.org-grid,.quick-grid,.form-grid.two{grid-template-columns:1fr}.section-head{align-items:flex-start}.pill{display:none}.quick-grid{margin-top:32px}.adminbar{align-items:flex-start}.adminbar nav{flex-direction:column;gap:2px;text-align:right}.speaker-row{grid-template-columns:110px 1fr}.split{grid-template-columns:105px 1fr}}@media(max-width:420px){.page-shell,.page-shell.narrow{width:min(100% - 18px,1080px)}.program-card{border-radius:20px;padding:20px 17px}.announcement-card,.org-card,.quick-card{border-radius:15px}.section-block{padding-top:42px}.speaker-row,.split{grid-template-columns:1fr}.admin-card{padding:17px}.setup-shell,.update-shell{padding-left:9px;padding-right:9px}}

/* Program editor v3 */
.program-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0 2px}.program-tools label{min-width:220px}.past-program-select{min-width:260px}.program-items-editor{display:grid;gap:12px;margin-top:8px}.program-item-editor{border:1px solid var(--line);border-radius:16px;background:#fcfbf8;padding:14px}.program-item-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.program-item-head>div:first-child{display:flex;align-items:center;gap:8px}.item-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--warm);font-size:.72rem;color:var(--muted);font-weight:700}.item-actions{display:flex;gap:5px}.move-btn,.remove-btn{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:34px;height:34px;padding:0 9px;font:inherit;font-weight:700;cursor:pointer}.remove-btn{color:var(--danger);font-size:.76rem}.program-item-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.program-item-fields .wide{grid-column:1/-1}.custom-hymn-fields{grid-template-columns:1.3fr .7fr 2fr}.musical-fields{grid-template-columns:1.2fr .6fr 1.6fr 1.3fr}.speaker-fields{grid-template-columns:160px 1fr}.add-item-row{display:flex;gap:8px;align-items:center;margin-top:12px}.add-item-row select{max-width:280px}.past-select-wrap{margin-top:10px;padding-top:14px;border-top:1px solid var(--line)}.past-select-wrap label{max-width:420px}.locked-fields-note{font-size:.78rem;color:var(--muted);margin:4px 0 0}.new-program-link{white-space:nowrap}.program-meta:has(>div:only-child){grid-template-columns:1fr}.program-meta:has(>div:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
@media(max-width:720px){.program-item-fields,.custom-hymn-fields,.musical-fields,.speaker-fields{grid-template-columns:1fr}.program-item-head{align-items:flex-start}.program-tools{display:grid;grid-template-columns:1fr;width:100%}.program-tools label,.past-program-select{min-width:0;width:100%}.add-item-row{display:grid;grid-template-columns:1fr}.add-item-row select{max-width:none}.item-actions{flex-wrap:wrap;justify-content:flex-end}}

/* v4: modern form controls + Church symbol */
.church-symbol-wrap{
  width:92px;height:92px;margin:0 auto 22px;display:grid;place-items:center;
  border-radius:50%;overflow:hidden;background:#fff;border:1px solid rgba(145,125,80,.28);
  box-shadow:0 8px 28px rgba(44,52,47,.08);
}
.church-symbol-wrap.small{width:54px;height:54px;margin:0;flex:0 0 auto}
.church-symbol{width:100%;height:100%;object-fit:cover;display:block}

/* Make every select feel like the same 2026 control, including Add Item and speaker type. */
select,
.form-grid select,
.add-item-row select,
.past-program-select{
  -webkit-appearance:none;
  appearance:none;
  min-height:48px;
  border:1px solid #cfc9bc;
  border-radius:14px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.75 7.5 10 11.75 14.25 7.5' stroke='%2354635b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:20px 20px;
  padding:12px 46px 12px 14px;
  color:var(--ink);
  font:inherit;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(44,52,47,.03);
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
}
select:hover,.form-grid select:hover,.add-item-row select:hover,.past-program-select:hover{border-color:#a9a294}
select:focus,.form-grid select:focus,.add-item-row select:focus,.past-program-select:focus{
  outline:none;border-color:var(--accent2);box-shadow:0 0 0 4px rgba(100,117,106,.12)
}
.add-item-row{margin-top:16px}
.add-item-row select{
  max-width:none;width:100%;
  border:1px dashed #aaa28f;
  background-color:#f6f2e8;
  min-height:54px;
  font-weight:750;
  color:#34433b;
}
.add-item-row select:hover{background-color:#f1ecdf;border-style:solid}
.program-item-editor{box-shadow:0 2px 8px rgba(44,52,47,.025)}
.move-btn,.remove-btn{transition:transform .12s ease,background .12s ease,border-color .12s ease}
.move-btn:hover,.remove-btn:hover{transform:translateY(-1px);background:var(--warm);border-color:#b9b19f}
@media(max-width:720px){
  .church-symbol-wrap{width:82px;height:82px;margin-bottom:20px}
  .add-item-row select{min-height:56px;font-size:1rem}
}

/* v5: full Church symbol/wordmark + recurring meeting assignment defaults */
.church-symbol-wrap.home-logo{
  width:min(230px,58vw);
  height:auto;
  margin:0 auto 24px;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
.church-symbol-wrap.home-logo .church-symbol{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}
@media(max-width:720px){
  .church-symbol-wrap.home-logo{width:min(205px,54vw);height:auto;margin-bottom:22px}
}

/* v6: quieter, program-like public sacrament meeting layout */
.program-card{padding:clamp(26px,5vw,46px);overflow:hidden}
.program-card .section-head{padding-bottom:22px}
.program-card .section-head p{font-size:1rem}
.program-meta{
  display:flex;
  align-items:flex-start;
  gap:0;
  margin:0 -2px 30px;
  padding:15px 0;
  border-top:1px solid rgba(138,122,79,.2);
  border-bottom:1px solid rgba(138,122,79,.2);
}
.program-meta>div{
  flex:1 1 0;
  min-width:0;
  padding:2px 18px;
  background:transparent;
  border-radius:0;
}
.program-meta>div+div{border-left:1px solid rgba(138,122,79,.18)}
.program-meta span{
  margin:0 0 2px;
  color:#7c827e;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.program-meta strong{font-size:.88rem;font-weight:650;line-height:1.3}
.order-list{
  display:grid;
  gap:2px;
  padding:4px 0 2px;
  border:0;
}
.order-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(112px,31%) minmax(0,1fr);
  align-items:baseline;
  gap:18px;
  padding:13px 12px 13px 22px;
  border:0;
  border-radius:12px;
}
.order-item::before{
  content:"";
  position:absolute;
  left:4px;
  top:1.25rem;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#b7ad94;
}
.order-item span{
  margin:0;
  color:#777f7a;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.045em;
  line-height:1.35;
  text-transform:uppercase;
}
.order-item strong{font-size:1rem;font-weight:650;line-height:1.4}
.order-item-content strong,.order-item-content small{display:block}
.order-item-content small{margin-top:3px;color:var(--muted);font-size:.82rem}
.order-item--ordinance{
  margin:7px 0;
  padding-top:17px;
  padding-bottom:17px;
  background:#f6f3eb;
}
.order-item--ordinance::before{background:var(--accent);top:1.5rem}
@media(max-width:720px){
  .program-card{padding:24px 20px 28px}
  .program-card .section-head{padding-bottom:18px}
  .program-meta{margin-bottom:24px;padding:12px 0}
  .program-meta>div{padding:1px 10px}
  .program-meta>div:first-child{padding-left:2px}
  .program-meta>div:last-child{padding-right:2px}
  .program-meta span{font-size:.58rem;letter-spacing:.06em}
  .program-meta strong{font-size:.76rem}
  .order-item{grid-template-columns:minmax(94px,30%) minmax(0,1fr);gap:12px;padding:11px 4px 11px 18px}
  .order-item::before{left:1px;top:1.12rem;width:4px;height:4px}
  .order-item span{font-size:.65rem}
  .order-item strong{font-size:.94rem}
  .order-item--ordinance{margin:6px -5px;padding:15px 9px 15px 23px}
  .order-item--ordinance::before{left:7px;top:1.35rem}
}
@media(max-width:380px){
  .program-meta{flex-wrap:wrap;row-gap:10px}
  .program-meta>div{flex-basis:50%}
  .program-meta>div:nth-child(3){border-left:0;padding-left:2px}
}

/* v8: traditional single-column program flow */
.order-list{max-width:680px;margin:0 auto;gap:0;padding:5px 2px}
.order-item{
  display:block;
  padding:13px 4px 14px;
  border:0;
  border-radius:0;
}
.order-item::before{display:none}
.order-item span{
  display:block;
  margin:0 0 4px;
  color:#727b76;
  font-size:.68rem;
  line-height:1.25;
  letter-spacing:.105em;
}
.order-item strong{
  display:block;
  color:var(--ink);
  font-size:1.05rem;
  font-weight:650;
  line-height:1.35;
}
.order-item-content small{margin-top:3px}
.order-item--single{padding-top:16px;padding-bottom:16px}
.order-item--single strong{
  color:#616b65;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.105em;
  text-transform:uppercase;
}
.order-item--ordinance{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  margin:12px 0;
  padding:18px 20px;
  border-radius:16px;
  background:#f3efe5;
  text-align:center;
}
.order-item--ordinance strong{
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:1.08rem;
  font-weight:400;
  letter-spacing:.015em;
}
@media(max-width:720px){
  .order-list{padding-left:1px;padding-right:1px}
  .order-item{display:block;padding:12px 2px 13px}
  .order-item span{font-size:.64rem;margin-bottom:3px}
  .order-item strong{font-size:1rem}
  .order-item--single{padding-top:15px;padding-bottom:15px}
  .order-item--single strong{font-size:.73rem}
  .order-item--ordinance{display:flex;margin:11px 0;padding:17px 16px;border-radius:14px}
  .order-item--ordinance strong{font-size:1rem}
}

/* v9: linked hymns and a quieter centered Ward Business moment */
.order-item--single{
  margin:8px 0;
  padding:14px 18px;
  border:1px solid rgba(138,122,79,.14);
  border-radius:12px;
  background:rgba(242,238,228,.42);
  text-align:center;
}
.order-item--single strong{color:#69726d}
.order-item--single strong{
  font-family:"Libre Caslon Display",Georgia,serif;
  font-size:1rem;
  font-weight:400;
  letter-spacing:.015em;
  text-transform:none;
}
.hymn-link{
  display:block;
  width:fit-content;
  max-width:100%;
  color:inherit;
  text-decoration:none;
}
.hymn-link strong{transition:color .15s ease}
.hymn-link small{
  display:block;
  margin-top:4px;
  color:#7b765f;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.78;
}
.hymn-link:hover strong,.hymn-link:focus-visible strong{color:#665a39}
.hymn-link:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}

/* v11: public-style homepage header editor */
.home-header-editor{padding:0;overflow:hidden}
.home-header-editor>.section-kicker,.home-header-editor>h2,.home-header-editor>.muted{margin-left:24px;margin-right:24px}
.home-header-editor>.section-kicker{margin-top:24px}
.home-header-editor .form-grid{margin-top:18px;padding:0 24px 26px}
.home-header-preview{
  margin:0 -24px 8px;
  padding:34px 24px 38px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#f7f3e9 0%,#fbfaf7 100%);
  text-align:center;
}
.home-header-preview .home-logo{width:min(190px,48vw);margin-bottom:22px}
.home-header-preview h1{font-size:clamp(2rem,5vw,3.5rem)}
.home-header-preview .lede{white-space:pre-wrap}
.section-item-fields{grid-template-columns:1fr}
@media(max-width:720px){
  .home-header-editor>.section-kicker,.home-header-editor>h2,.home-header-editor>.muted{margin-left:18px;margin-right:18px}
  .home-header-editor .form-grid{padding-left:18px;padding-right:18px}
  .home-header-preview{margin-left:-18px;margin-right:-18px;padding-top:28px}
}

/* v12: private program access matches the admin Sacrament Program editor */
.update-card.program-access-card{width:min(980px,100%);padding:22px}
.program-access-card .section-head{align-items:flex-start}
.program-access-card .form-grid{margin-top:20px}
@media(max-width:720px){
  .update-card.program-access-card{padding:17px}
}

/* v13: shared person icon and iPhone-safe program editor sizing */
.people-icon-wrap{
  width:58px;
  height:58px;
  margin:0;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(15,55,86,.18);
  border-radius:50%;
  background:#0d3a5d;
  box-shadow:0 5px 16px rgba(25,50,68,.1);
}
.people-icon-wrap img{display:block;width:100%;height:100%;object-fit:cover}
.form-grid>*{min-width:0}
.form-grid label{min-width:0}
.form-grid input[type="date"],.form-grid input[type="datetime-local"]{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
}
@media(max-width:720px){
  .program-editor-card .section-head{display:flex;flex-direction:column;width:100%;gap:14px}
  .program-editor-card .section-head>div{width:100%;min-width:0}
  .program-editor-card .locked-fields-note{width:100%;max-width:none}
  .program-editor-card .new-program-link{align-self:flex-start}
  .program-editor-card .form-grid{width:100%;min-width:0}
  .program-editor-card .form-grid label{width:100%;overflow:visible}
  .program-editor-card input[type="date"],.program-editor-card input[type="datetime-local"]{
    box-sizing:border-box;
    inline-size:100%;
    min-inline-size:0;
    max-inline-size:100%;
  }
}

/* v14: contain iOS Safari's intrinsically wide native date controls */
.date-control{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  border:1px solid #cfc9bc;
  border-radius:12px;
  background:#fff;
}
.form-grid .date-control input[type="date"],
.form-grid .date-control input[type="datetime-local"]{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.date-control:focus-within{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(100,117,106,.12)}
.form-grid .date-control input:focus{box-shadow:none}
.date-control input::-webkit-date-and-time-value{text-align:left}
.program-editor-card .date-control{height:52px}.program-editor-card .date-control input[type="date"],.program-editor-card .date-control input[type="datetime-local"]{height:50px;padding-top:12px;padding-bottom:12px}

/* v15: optional Bro./Sis. title paired with recurring assignment names */
.person-name-control{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:8px;
  width:100%;
  min-width:0;
}
.person-name-control select,.person-name-control input{min-width:0;width:100%}
@media(max-width:420px){
  .person-name-control{grid-template-columns:104px minmax(0,1fr)}
}

/* v17: Zoom access before weekly announcements */
.zoom-section{padding-top:38px}
.zoom-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px 26px;
  border:1px solid #d8d2c4;
  border-radius:20px;
  background:linear-gradient(135deg,#f3efe5,#fff);
}
.zoom-card h2{font-size:clamp(1.65rem,4vw,2.25rem)}
.zoom-card p{margin:0;color:var(--muted);font-size:1.05rem}
.zoom-button{flex:0 0 auto;min-height:48px}
@media(max-width:600px){
  .zoom-card{display:grid;padding:21px}
  .zoom-button{width:100%}
}

/* v20: reusable named sacrament program templates */
.program-head-actions,.program-save-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.program-save-actions .primary{flex:1 1 320px}.program-save-actions .soft{flex:1 1 210px}
.template-picker{position:relative}.template-picker summary{list-style:none}.template-picker summary::-webkit-details-marker{display:none}
.template-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:20;width:240px;max-height:280px;overflow:auto;padding:7px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.template-menu a{display:block;padding:10px 11px;border-radius:9px;text-decoration:none;font-size:.88rem;font-weight:650}.template-menu a:hover{background:var(--warm)}
.template-empty{display:block;padding:10px 11px;color:var(--muted);font-size:.83rem}
.template-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px;border-radius:10px}.template-entry+.template-entry{border-top:1px solid #eee9df}
.template-entry>a{min-width:0;padding:8px 7px}.template-entry>div{display:flex;gap:5px;padding:0 4px 0 0}
.template-entry button{border:0;background:transparent;padding:3px 0;margin-right:10px;color:var(--accent2);font:inherit;font-size:.72rem;font-weight:750;cursor:pointer}
.template-entry button.delete{color:var(--danger)}
@media(max-width:720px){
  .program-head-actions{width:100%}
  .template-picker{flex:1 1 150px}.template-picker summary,.program-head-actions>.btn{width:100%}
  .template-menu{left:0;right:auto;width:min(280px,82vw)}
}

/* v23: true public-layout preview for unsaved program edits */
.preview-btn{border:1px solid #b9b19f;background:#fff;color:var(--ink)}
.preview-btn:hover{background:var(--warm)}
.program-preview-dialog{width:min(780px,calc(100% - 24px));height:min(90dvh,900px);max-height:90vh;margin:auto;padding:0;border:0;border-radius:22px;background:var(--paper);box-shadow:0 28px 90px rgba(25,31,28,.28);overflow:hidden}
.program-preview-dialog[open]{display:flex;flex-direction:column}
.program-preview-dialog::backdrop{background:rgba(25,31,28,.56);backdrop-filter:blur(3px)}
.preview-dialog-head{position:relative;z-index:2;display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);backdrop-filter:blur(10px)}
.preview-dialog-head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--warm);color:var(--ink);font:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
#program-preview-content{flex:1 1 auto;min-height:0;padding:18px 18px max(24px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#program-preview-content .program-card{box-shadow:none}
body.preview-open{position:fixed;width:100%;overflow:hidden}
@media(max-width:600px){
  #program-preview-content{padding:10px 10px max(28px,env(safe-area-inset-bottom))}
  .program-preview-dialog{position:fixed;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;height:auto;max-height:none;margin:0;border-radius:18px}
}

/* v21: balanced side-by-side template actions on desktop */
@media(min-width:721px){
  .program-editor-card .section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
  }
  .program-editor-card .section-head>div:first-child{max-width:680px}
  .program-head-actions{flex-wrap:nowrap;align-self:start}
  .program-head-actions>.btn,.program-head-actions summary{white-space:nowrap}
  .program-save-actions{display:grid;grid-template-columns:1fr 1fr}
  .program-save-actions .btn{width:100%}
}

/* v25: recoverable encrypted private-link management */
.private-link-list{display:grid;gap:12px;margin-top:22px}
.private-link-row{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fcfbf8}
.private-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.private-link-head strong,.private-link-head small{display:block}.private-link-head small{margin-top:2px;color:var(--muted)}
.private-link-value{width:100%;margin-top:12px;border:1px solid #cfc9bc;border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;font-size:.82rem}
.private-link-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.private-link-actions .btn{padding:8px 12px;font-size:.8rem}
.legacy-link-note{margin:12px 0 9px;padding:11px 12px;border-radius:10px;background:#fff7df;color:#6d5d32;font-size:.83rem}
@media(max-width:600px){.private-link-head{display:grid}.private-link-head form{justify-self:start}.private-link-actions{display:grid;grid-template-columns:repeat(2,1fr)}.private-link-actions .btn{width:100%}}

/* v27: compact, expandable Coming Up cards */
details.announcement-card{display:block}
.announcement-card summary{position:relative;list-style:none;cursor:pointer;padding-right:30px}
.announcement-card summary::-webkit-details-marker{display:none}
.announcement-card summary::after{content:'+';position:absolute;right:1px;top:50%;transform:translateY(-50%);color:var(--accent2);font-size:1.5rem;font-weight:500}
.announcement-card[open] summary::after{content:'−'}
.announcement-card summary h3{margin-top:14px}
.announcement-card summary .eventline{margin-bottom:0}
.announcement-card summary:focus-visible{outline:3px solid rgba(100,117,106,.28);outline-offset:5px;border-radius:8px}
.announcement-details{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}
.announcement-details .pin{margin-bottom:5px}

/* v28: chronological one-line announcements with expandable details */
.announcement-grid{grid-template-columns:1fr;gap:9px}
details.announcement-card{padding:0}
.announcement-card summary{padding:14px 48px 14px 17px}
.announcement-card summary::after{right:17px}
.announcement-line{display:flex;align-items:baseline;gap:7px;min-width:0;white-space:nowrap;font-size:.92rem}
.announcement-org{color:var(--accent2)}
.announcement-title{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:650}
.announcement-details{margin:0;padding:16px 17px 18px}
.calendar-btn{margin-top:8px}
@media(max-width:600px){.announcement-line{gap:5px;font-size:.78rem}.announcement-card summary{padding-left:14px;padding-right:40px}.announcement-card summary::after{right:14px}.announcement-details{padding:14px}}

/* v29: event/announcement composer and grouped history */
.post-type-fields{display:grid;gap:14px}
.post-type-fields[hidden],[data-event-fields][hidden],[data-announcement-fields][hidden],[data-lesson-fields][hidden],[data-lesson-end][hidden],[data-schedule-field][hidden]{display:none!important}
[data-event-fields]{display:grid;grid-template-columns:1fr 1fr;gap:14px}
[data-announcement-fields]{display:grid;gap:14px}
.time-selects{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.post-history{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.post-history>h2{font-size:clamp(1.55rem,4vw,2.15rem)}
.post-history-group{margin-top:22px}.post-history-group>h3{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent2)}
.history-list{border-top:1px solid var(--line)}
.history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.history-row strong,.history-row small{display:block}.history-row small{color:var(--muted);margin-top:2px}
@media(max-width:600px){[data-event-fields]{grid-template-columns:1fr}.time-selects{grid-template-columns:repeat(3,minmax(0,1fr))}.history-row{align-items:flex-start}.history-row small{font-size:.75rem}}

.lesson-post-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lesson-post-fields>label:not(.checkbox){display:grid;gap:6px}.lesson-post-fields>label:nth-last-child(-n+2){grid-column:1/-1}.lesson-range-toggle{align-self:end}@media(max-width:600px){.lesson-post-fields{grid-template-columns:1fr}.lesson-post-fields>*{grid-column:1!important}}

/* v30: subtle confirmation when public content updates in place */
.live-content-updated{animation:liveContentUpdate 1.2s ease-out}
@keyframes liveContentUpdate{0%{opacity:.55}100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.live-content-updated{animation:none}}

/* v31: collapsible post history and management actions */
.post-history-group{margin-top:10px;border:1px solid var(--line);border-radius:13px;background:#fcfbf8;overflow:hidden}
.post-history-group>summary{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;list-style:none;cursor:pointer;color:var(--accent2);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase}
.post-history-group>summary::-webkit-details-marker{display:none}
.post-history-group>summary span{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:var(--warm);letter-spacing:0}
.post-history-content{padding:0 14px 12px}
.history-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.history-actions a,.history-actions button{font-size:.75rem;font-weight:750}.history-actions a{color:var(--accent2)}
.editor-mode-note{padding:10px 12px;border-radius:10px;background:var(--warm);color:var(--muted)}
@media(max-width:600px){.history-row{display:grid}.history-actions{justify-content:flex-start}}

/* v34: temporary confirmation messages */
.success-box{
  position:fixed!important;
  top:18px;
  right:18px;
  z-index:1000;
  width:auto!important;
  max-width:min(340px,calc(100vw - 28px));
  margin:0!important;
  padding:9px 13px;
  border-radius:10px;
  box-shadow:0 10px 28px rgba(38,49,45,.14);
  font-size:.82rem;
  line-height:1.35;
  transition:opacity .35s ease,transform .35s ease;
  animation:noticeArrive .25s ease-out;
}
.success-box.notice-dismissed{opacity:0;transform:translateY(-5px)}
@keyframes noticeArrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.success-box{top:10px;right:10px;left:10px;max-width:none;text-align:center}}
@media(prefers-reduced-motion:reduce){.success-box{transition:none}}
.editor-lock-message{padding:10px 12px;border-radius:10px;background:#f3eee2;color:#615d53;font-size:.88rem;border:1px solid #ddd4c2}.editor-lock-message.is-ready{background:#eef5f0;color:#50675a;border-color:#cadbce}.editor-lock-message.is-blocked{background:#fff0ed;color:#8c3f38;border-color:#e8c2bc}
.editor-mode-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px 7px 11px!important;font-size:.78rem}.editor-cancel{display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;border-radius:50%;background:rgba(35,51,45,.08);color:var(--ink);font-size:1.15rem;line-height:1;cursor:pointer}.editor-cancel:hover{background:rgba(35,51,45,.15)}
.new-program-link{display:flex!important;flex-direction:column;align-items:center;justify-content:center;line-height:1.05}.new-program-link small{display:block;margin-top:4px;font-size:.59rem;font-weight:500;color:var(--muted)}.program-head-actions.has-past-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;width:300px}.program-head-actions.has-past-programs>.new-program-link,.program-head-actions.has-past-programs>.template-picker,.program-head-actions.has-past-programs>.template-picker>summary{width:100%;height:100%;min-height:52px}.program-head-actions.has-past-programs>.template-picker>summary{display:flex;align-items:center;justify-content:center}.program-head-actions.has-past-programs .past-select-wrap{grid-column:1/-1;margin:0;padding:0;border:0}.program-head-actions.has-past-programs .past-select-wrap label{font-size:.68rem;color:var(--muted)}.program-head-actions.has-past-programs .past-program-select{display:block;min-width:0;width:100%;margin-top:4px;padding:8px 30px 8px 10px;font-size:.76rem}.past-preview-source{position:fixed!important;left:-10000px!important;top:0!important;width:700px!important}.past-program-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:14px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}
@media(max-width:520px){.program-head-actions.has-past-programs{width:100%}}
.system-template-badge{font-size:.62rem;color:var(--muted);font-style:italic}.conference-intro-fields{grid-template-columns:1fr}.conference-intro-fields textarea{min-height:100px}.conference-locked-copy{padding:12px;border-radius:12px;background:var(--cream)}.conference-locked-copy p{margin:6px 0;font-size:.8rem;color:var(--muted)}.conference-locked-copy small{font-size:.64rem;color:var(--muted);font-style:italic}.conference-session-name{display:flex;flex-direction:column;gap:3px;padding-bottom:3px}.conference-session-name small{color:var(--muted)}.conference-public-intro{padding:18px;border-radius:16px;background:var(--cream);text-align:left}.conference-public-intro h3{font-family:var(--serif);font-size:1.55rem;margin:0 0 8px}.conference-public-intro p{color:var(--muted);line-height:1.55}.conference-public-intro .btn{display:inline-flex;margin-top:8px}.conference-public-session{display:grid;grid-template-columns:minmax(145px,.7fr) 1.2fr auto;gap:8px 16px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}.conference-public-session>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.conference-public-session>b{font-size:.83rem}.conference-public-session>small{grid-column:2/-1;color:var(--muted)}@media(max-width:650px){.conference-public-session{grid-template-columns:1fr}.conference-public-session>small{grid-column:auto}}
.conference-program-form label[hidden],.conference-program-form [hidden]{display:none!important}.conference-program-form>.program-save-actions{display:flex!important}
.program-head-actions.has-past-programs .program-library{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.program-library .current-program-button,.program-library>.disabled{grid-column:1/-1;justify-content:center;padding:8px;font-size:.73rem}.program-library label{font-size:.62rem;color:var(--muted)}.program-library select{display:block;width:100%;min-width:0;margin-top:3px;padding:7px 27px 7px 8px;font-size:.69rem}.program-library .disabled{opacity:.55;pointer-events:none}@media(max-width:520px){.program-head-actions.has-past-programs .program-library{grid-template-columns:1fr}}
.program-head-actions.has-past-programs .program-library{grid-template-columns:1fr;gap:7px}.program-library-group{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.program-library-group>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;cursor:pointer;list-style:none}.program-library-group>summary::-webkit-details-marker{display:none}.program-library-group>summary strong{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sage)}.program-library-group>summary span{font-size:.66rem;border-radius:999px;background:var(--cream);padding:2px 7px}.program-library-list{padding:0 10px 6px}.program-library-list>p{font-size:.7rem;color:var(--muted)}.program-library-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 1px;border-top:1px solid var(--line)}.program-library-row>a{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);font-size:.75rem}.program-library-row>a small{font-size:.62rem;color:var(--muted);margin-top:2px}.program-library-row form{margin:0}.program-library-row button{border:0;background:none;font-size:.65rem;cursor:pointer}.save-choice-dialog{width:min(440px,calc(100% - 30px));border:0;border-radius:18px;padding:24px;box-shadow:0 25px 80px rgba(20,30,25,.3)}.save-choice-dialog::backdrop{background:rgba(25,31,28,.5)}.save-choice-dialog h3{font-family:var(--serif);font-size:1.65rem;margin:0 0 8px}.save-choice-dialog p{color:var(--muted);line-height:1.5}.save-choice-dialog>div{display:grid;gap:10px;margin-top:22px}.save-choice-dialog [data-save-cancel]{margin-top:8px}
.access-use-note{margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line);color:#7d8079;font-size:.64rem;font-style:italic;line-height:1.5}.access-use-note strong{color:#696e67;font-weight:600}
.past-archive{display:grid;gap:8px}.past-month-group,.past-year-group{border:1px solid var(--line);border-radius:10px;background:#fff}.past-month-group>summary,.past-year-group>summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;list-style:none;text-transform:none}.past-month-group>summary::-webkit-details-marker,.past-year-group>summary::-webkit-details-marker{display:none}.past-month-group>summary span,.past-year-group>summary span{font-size:.72rem;color:var(--muted);background:var(--cream);border-radius:999px;padding:2px 7px}.past-month-group .history-list{padding:0 12px 6px}.past-year-group>div{display:grid;gap:7px;padding:0 9px 9px}.past-year-group .past-month-group{background:#fdfcf9}
.access-choice-group{border:0;padding:0;margin:0;min-width:0}.access-choice-group legend{font-weight:700;margin-bottom:8px}.access-choice-group legend small{font-weight:400;color:var(--muted)}.access-choice-list{display:grid;gap:8px}.access-choice-list .checkbox{min-height:0;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fbfaf6}.announcement-expiry.is-disabled{opacity:.55}.indefinite-toggle small{font-weight:400;color:var(--muted)}
.admin-legacy-program-editor{display:none}.organization-page{max-width:1100px}.organization-title{max-width:none}.organization-president,.contact-name-row{display:flex;align-items:center;gap:12px}.organization-president{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:16px;max-width:620px}.organization-president img,.contact-name-row img,.leader-row>img{width:42px;height:42px;border-radius:50%;object-fit:cover}.organization-president span{display:grid}.contact-actions{display:flex;gap:10px;margin-left:auto}.contact-actions a{font-weight:700}.organization-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.organization-columns h2{font-family:'Libre Caslon Display',serif;font-size:2rem}.organization-group{border:1px solid var(--line);border-radius:16px;background:#fff;margin-bottom:16px}.organization-group>summary{display:flex;justify-content:space-between;padding:15px 17px;font-weight:700;cursor:pointer}.organization-group .announcement-grid{padding:0 14px 14px}.organization-past{margin-top:24px}.directory-editor{width:min(980px,calc(100% - 32px));margin:24px auto}.directory-edit-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.directory-edit-card{display:grid;gap:10px;border:1px solid var(--line);border-radius:16px;padding:16px}.directory-edit-card input,.directory-edit-card select,.directory-edit-card textarea,.leadership-edit-row input{width:100%}.contact-name-row{display:grid;grid-template-columns:42px 110px 1fr}.ward-missionary-form .contact-name-row{grid-template-columns:42px 90px 1fr 90px 1fr}.directory-actions{display:flex;justify-content:space-between;align-items:center}.leadership-editor-form{display:grid;gap:10px}.leadership-edit-row{display:grid;grid-template-columns:minmax(190px,1fr) 1fr 180px;gap:10px;align-items:center}.coordinator-note{margin-top:24px;padding:14px 16px;background:var(--soft);border-radius:14px}.admin-user-list{display:grid;gap:10px;margin:18px 0}.admin-user-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.admin-user-row span{display:grid;gap:4px}.admin-add-user{margin-top:24px}@media(max-width:760px){.organization-columns,.directory-edit-list{grid-template-columns:1fr}.leadership-edit-row{grid-template-columns:1fr}.ward-missionary-form .contact-name-row,.contact-name-row{grid-template-columns:42px 1fr}.contact-name-row select{grid-column:2}.contact-actions{margin-left:0}.organization-president{align-items:flex-start;flex-wrap:wrap}}
.update-shell>.update-card,.update-shell+.update-card{width:min(980px,calc(100% - 32px));margin:0 auto 28px}.update-shell>.update-card+ .update-card{margin-top:28px}.access-multi-select{position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:56px}.access-multi-select summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;font-weight:700;list-style:none}.access-multi-select summary::-webkit-details-marker{display:none}.access-multi-select summary small{font-weight:400;color:var(--muted)}.access-multi-select .access-choice-list{padding:0 10px 10px}.form-grid.two>.access-multi-select,.form-grid.two>label{width:100%}.form-grid.two>label.is-inactive{opacity:.55}.current-program-preview{border:1px solid var(--line);border-radius:14px;margin:18px 0}.current-program-preview>summary{padding:14px 16px;font-weight:700;cursor:pointer}.program-preview-inline{border-top:1px solid var(--line);padding:18px}.directory-edit-card select{font-size:14px;padding-left:12px;padding-right:34px;min-width:132px}.directory-edit-card textarea[name="mailing_address"]{min-height:84px;resize:vertical}.directory-save-status{color:var(--muted);font-style:italic}.directory-edit-card .directory-save-status{margin-top:2px}.directory-edit-card .directory-actions:has(.btn[hidden]){justify-content:flex-end}@media(max-width:760px){.update-shell>.update-card,.update-shell+.update-card{width:calc(100% - 24px);margin-bottom:22px}.directory-edit-card select{min-width:0;width:100%}}
.directory-editor{margin:28px auto}.update-shell+.directory-editor{margin-top:-62px}.contact-name-row{grid-template-columns:42px 96px minmax(0,1fr)}.contact-name-row select[name="title"]{min-width:0;width:96px;height:42px;padding:8px 28px 8px 9px;font-size:12px}.contact-name-row select[name^="title_"]{min-width:0;width:88px;height:42px;padding:8px 26px 8px 8px;font-size:12px}.contact-name-row input{min-width:0}.structured-address{display:grid;grid-template-columns:1fr 1fr;gap:9px}.structured-address [name="address_line1"],.structured-address [name="address_line2"],.structured-address [name="address_country"]{grid-column:1/-1}.compact-organization-list .announcement-card{padding:0}.compact-organization-list .announcement-card>summary{padding:15px 17px}.compact-organization-list .announcement-details{padding:0 17px 17px}@media(max-width:760px){.update-shell+.directory-editor{margin-top:-28px}.structured-address{grid-template-columns:1fr}.structured-address>*{grid-column:1!important}}
.home-directory-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-contact-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 16px}.home-contact-card img{width:42px;height:42px;border-radius:50%;object-fit:cover}.home-contact-card>span:not(.contact-actions){display:grid;gap:3px;min-width:0}.home-contact-card>a,.home-contact-card .contact-actions{margin-left:auto}.home-directory-section h2{margin-bottom:16px}@media(max-width:760px){.home-directory-grid{grid-template-columns:1fr}.home-contact-card{align-items:flex-start;flex-wrap:wrap}.home-contact-card>a,.home-contact-card .contact-actions{margin-left:54px}}
.directory-edit-card:has([name="missionary_id"]) .btn.primary,.directory-edit-card:has([name="companionship_id"]) .btn.primary{display:none!important}.home-contact-open{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer;min-width:0}.home-contact-open span{display:grid;gap:3px}.missionary-dialog{width:min(520px,calc(100% - 28px));border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.missionary-dialog::backdrop{background:rgba(30,35,32,.45)}.missionary-dialog .preview-dialog-head{margin:-4px 0 18px}.missionary-dialog p{line-height:1.6}.compact-leadership .home-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compact-leadership .home-contact-card{padding:9px 11px;border-radius:12px;gap:8px;min-height:54px}.compact-leadership .home-contact-card img{width:32px;height:32px}.compact-leadership .home-contact-card small{font-size:10px}.compact-leadership .home-contact-card strong{font-size:13px}.compact-leadership .contact-actions{gap:6px;font-size:11px}.compact-leadership .coordinator-note{font-size:13px;padding:10px 12px;margin-top:14px}@media(max-width:850px){.compact-leadership .home-directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.compact-leadership .home-directory-grid{grid-template-columns:1fr}}
html,body{max-width:100%;overflow-x:hidden}.page-shell,.section-block,.announcement-grid,.announcement-card,.announcement-card summary,.announcement-line,.announcement-details{min-width:0;max-width:100%}.coming-up-section .announcement-grid{grid-template-columns:1fr}.announcement-line{white-space:normal!important;flex-wrap:wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.announcement-line>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.announcement-details,.announcement-details p,.announcement-details strong{font-size:clamp(.88rem,3.8vw,1rem)!important;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.home-contact-card{display:grid;grid-template-columns:42px minmax(0,1fr) 92px;align-items:center;width:100%;min-height:76px}.home-contact-open{display:contents;font:inherit}.home-contact-open img,.home-contact-card>img{grid-column:1}.home-contact-open span,.home-contact-card>span:not(.contact-actions){grid-column:2;font:inherit;min-width:0}.home-contact-card strong,.home-contact-open strong{font-size:1rem!important;line-height:1.3}.home-contact-card small,.home-contact-open small{font-size:.82rem!important}.home-contact-card>a,.home-contact-card>.contact-actions{grid-column:3;margin:0!important;justify-self:end;white-space:nowrap}.home-contact-card>.contact-actions{display:flex;gap:10px}.missionary-dialog{max-width:calc(100vw - 28px);overflow-wrap:anywhere}@media(max-width:600px){.announcement-card summary{width:100%;padding-top:14px;padding-bottom:14px}.announcement-line{font-size:.86rem!important}.home-directory-grid{grid-template-columns:1fr}.home-contact-card{grid-template-columns:42px minmax(0,1fr) 82px;padding:14px 14px}.home-contact-card strong,.home-contact-open strong{font-size:1rem!important}.home-contact-card small,.home-contact-open small{font-size:.8rem!important}.compact-leadership .home-contact-card{grid-template-columns:32px minmax(0,1fr) 72px}}

/* v57: secure admin password setup and recovery */
.auth-links{text-align:center;margin:18px 0 0}.auth-links a,.link-button{color:var(--ink);font-weight:700;text-decoration:underline}.password-rules,.success-message{padding:12px 14px;border-radius:12px;background:var(--cream);color:var(--muted);font-size:.82rem;line-height:1.5}.success-message{margin:0 0 18px;color:var(--ink)}.auth-code-input{font-size:1.5rem!important;font-weight:700;letter-spacing:.3em;text-align:center}.resend-code-form{text-align:center;margin-top:14px}.link-button{border:0;background:none;padding:6px;cursor:pointer}.admin-user-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}.admin-user-actions form{margin:0}.admin-user-actions .btn{padding:8px 11px;font-size:.72rem}@media(max-width:680px){.admin-user-row{align-items:flex-start;gap:12px;flex-direction:column}.admin-user-actions{width:100%;justify-content:flex-end}}

/* v58: temporary-password sizing and live permanent-password checklist */
.admin-add-user>label:not(.checkbox)>input{height:58px}.password-checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:4px 0 0;padding:0;list-style:none;font-size:.76rem;font-weight:500;color:var(--muted)}.password-checklist li{display:flex;align-items:center;gap:7px}.password-checklist li::before{content:'○';font-size:.95rem;line-height:1}.password-checklist li.is-met{color:#39734d}.password-checklist li.is-met::before{content:'✓';font-weight:800}.password-checklist li.is-missing{color:#ad3e3e}.password-checklist li.is-missing::before{content:'!';display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ad3e3e;color:#fff;font-size:.66rem;font-weight:800}@media(max-width:420px){.password-checklist{grid-template-columns:1fr}}

/* v61: contained conference controls and true leadership autosave */
.leadership-editor-form>button[type="submit"]{display:none!important}.conference-session-fields,.conference-session-fields>label,.conference-session-fields .date-control{min-width:0;max-width:100%}.conference-session-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.conference-session-fields .wide{grid-column:1/-1}.form-grid .date-control input[type="time"]{-webkit-appearance:none;appearance:none;display:block;box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;height:50px;margin:0;padding:12px 13px;border:0;border-radius:0;box-shadow:none;background:transparent}.conference-session-fields input::-webkit-date-and-time-value{text-align:left}@media(max-width:720px){.conference-session-fields{grid-template-columns:1fr}.conference-session-fields>label{width:100%;overflow:hidden}.program-item-editor{min-width:0;max-width:100%;overflow:hidden}}

/* v62: organization image circles, pop-up directory, and missionary spacing */
#missionary-editor>h3{margin:28px 0 12px}.ward-missionary-form+.ward-missionary-form{margin-top:16px}.org-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.org-card .org-icon,.organization-dialog .org-icon,.organization-icon-row>img{display:block;border-radius:50%;object-fit:contain;background:#f2eee4}.org-card .org-icon{width:38px;height:38px}.organization-dialog{width:min(920px,calc(100% - 28px));max-height:min(820px,calc(100vh - 28px));padding:0;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 25px 80px rgba(20,30,25,.3);overflow:auto}.organization-dialog::backdrop{background:rgba(30,35,32,.48)}.organization-dialog-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:58px minmax(0,1fr) 42px;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);backdrop-filter:blur(10px)}.organization-dialog-head .org-icon{width:58px;height:58px}.organization-dialog-head small{font-size:.65rem;letter-spacing:.16em;color:var(--accent2);font-weight:700}.organization-dialog-head h2{font-size:clamp(1.8rem,5vw,2.8rem);margin:2px 0 0}.organization-dialog-head>button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.5rem;cursor:pointer}.organization-dialog>.organization-president{margin:20px 22px 0}.organization-dialog-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px}.organization-dialog-columns h3{font-family:var(--serif);font-size:1.65rem;font-weight:400}.organization-dialog-columns .compact-organization-list{display:grid;gap:10px}.organization-dialog-columns .announcement-card{padding:0}.organization-dialog-columns .announcement-card>summary{padding:14px 15px}.organization-dialog-columns .announcement-details{padding:0 15px 15px}.organization-dialog-close{margin:0 22px 22px}.organization-icon-admin{display:grid;gap:10px;margin-top:20px}.organization-icon-row{display:grid;grid-template-columns:48px minmax(150px,1fr) minmax(180px,1.3fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.organization-icon-row>img{width:44px;height:44px}.organization-icon-row input[type="file"]{min-width:0;font-size:.75rem}.organization-icon-reset{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--muted)}@media(max-width:720px){.organization-dialog-columns{grid-template-columns:1fr}.organization-dialog>.organization-president{margin:16px}.organization-dialog-columns{padding:16px}.organization-icon-row{grid-template-columns:48px 1fr}.organization-icon-row input[type="file"],.organization-icon-row .btn,.organization-icon-reset{grid-column:2;width:100%}}

/* v64: distinct symbols and calling-first leadership typography */
.compact-leadership .home-contact-card small{font-size:13px!important;line-height:1.25;color:var(--ink);font-weight:700}.compact-leadership .home-contact-card strong{font-size:11px!important;line-height:1.25;color:var(--muted);font-weight:400}

/* v66: non-interactive sacrament-program dividers */
.order-item--single,.order-item--ordinance{display:flex;align-items:center;justify-content:center;gap:14px;min-height:0;margin:17px 0;padding:8px 0;border:0;border-radius:0;background:transparent;text-align:center}.order-item--single::before,.order-item--single::after,.order-item--ordinance::before,.order-item--ordinance::after{content:"";position:static;display:block;flex:1 1 auto;width:auto;height:1px;border-radius:0;background:rgba(100,117,106,.42)}.order-item--single strong,.order-item--ordinance strong{flex:0 1 auto;margin:0;color:#616b65;font-family:Inter,system-ui,sans-serif;font-size:.73rem;font-weight:700;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}@media(max-width:420px){.order-item--single,.order-item--ordinance{gap:9px}.order-item--single strong,.order-item--ordinance strong{font-size:.64rem;letter-spacing:.055em}}

/* v67: Bishopric-only program presentation workspace */
.bishopric-program-card{width:min(760px,100%);margin:0 auto}.bishopric-program-meta{display:flex;justify-content:space-between;gap:12px;margin:18px 0 10px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.84rem}.bishopric-order-list{display:grid;gap:0}.bishopric-program-row{display:grid;gap:3px;padding:13px 3px;border-bottom:1px solid rgba(221,215,202,.65)}.bishopric-program-row small{color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.bishopric-program-row strong{font-size:1rem}.bishopric-divider{display:flex;align-items:center;gap:12px;margin:17px 0 10px;color:#616b65;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-align:center;text-transform:uppercase}.bishopric-divider::before,.bishopric-divider::after{content:"";height:1px;background:rgba(100,117,106,.42);flex:1}.bishopric-notes{display:grid;gap:12px}.bishopric-note{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.bishopric-note textarea{display:block;width:100%;min-height:78px;padding:12px;border:1px solid #d4cdbf;border-radius:10px;background:#fff;font:inherit;line-height:1.5;resize:none;overflow:hidden}.bishopric-note>div{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:7px}.bishopric-note small,.bishopric-prayer .save-state{color:var(--muted);font-size:.7rem}.bishopric-note button{border:0;background:transparent;color:var(--danger);font-size:.72rem;font-weight:700;cursor:pointer}.bishopric-add-note{width:100%;margin:12px 0 8px}.bishopric-prayer{grid-template-columns:minmax(110px,.35fr) minmax(0,1fr) auto;align-items:center}.bishopric-prayer small{grid-column:1}.bishopric-prayer input{grid-column:2;width:100%;padding:9px 11px;border:1px solid #d4cdbf;border-radius:9px;font:inherit}.bishopric-prayer .save-state{grid-column:3;white-space:nowrap}.bishopric-private-note{margin:20px 0 0;color:var(--muted);font-size:.76rem;font-style:italic}@media(max-width:560px){.bishopric-program-meta{display:grid}.bishopric-prayer{grid-template-columns:1fr auto}.bishopric-prayer small{grid-column:1/-1}.bishopric-prayer input{grid-column:1}.bishopric-prayer .save-state{grid-column:2}.bishopric-divider{font-size:.62rem;letter-spacing:.05em}}

/* v68: never clip expanding Bishopric notes on mobile */
.bishopric-note textarea{max-height:none!important;overflow:hidden!important;box-sizing:border-box}

/* v70: admin activity, view tracking, compact footer, collapsible editing, and booklet printing */
.page-shell{margin-bottom:22px}.site-footer{padding-top:14px}.adminbar nav{flex-wrap:wrap;justify-content:flex-end}.admin-collapsible>h2,.admin-collapsible>.section-head h2{cursor:pointer}.admin-collapsible>h2::after,.admin-collapsible>.section-head h2::after{content:'⌄';float:right;margin-left:14px;font-family:Inter,sans-serif;font-size:1rem;color:var(--muted)}.admin-collapsible.is-collapsed>h2::after,.admin-collapsible.is-collapsed>.section-head h2::after{content:'›'}.admin-collapsible.is-collapsed>*{display:none!important}.admin-collapsible.is-collapsed>.section-kicker,.admin-collapsible.is-collapsed>h2,.admin-collapsible.is-collapsed>.section-head{display:block!important}.admin-collapsible.is-collapsed>.section-head>:not(:first-child),.admin-collapsible.is-collapsed>.section-head>div>:not(h2):not(.section-kicker){display:none!important}.activity-list{display:grid;margin-top:20px}.activity-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.activity-list article>div{display:grid}.activity-list small{color:var(--muted)}.tracker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.tracker-grid article{display:grid;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.tracker-grid b{font-size:1.25rem}.tracker-grid small{color:var(--muted)}.heat-list,.hour-grid{display:grid;gap:8px;margin-top:18px}.heat-list article{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:10px;background:rgba(100,117,106,var(--heat))}.hour-grid{grid-template-columns:repeat(4,1fr)}.hour-grid span{display:flex;justify-content:space-between;padding:9px;border-radius:9px;background:var(--warm);font-size:.75rem}.print-toolbar{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:10px;padding:12px;background:#fff;border-bottom:1px solid var(--line)}.print-booklet{padding:20px}.print-sheet{width:11in;height:8.5in;margin:0 auto 20px;display:grid;grid-template-columns:1fr 1fr;background:#fff;box-shadow:var(--shadow);overflow:hidden;page-break-after:always}.print-half{padding:.38in;overflow:hidden;border-right:1px dashed #bbb}.print-half:last-child{border-right:0}.print-half h1{font-size:28pt}.print-half h2{font-size:18pt;margin:0 0 9px}.print-half article{display:grid;margin-bottom:7px;font-size:8pt;line-height:1.25}.print-half article small,.print-half article span{color:#59615d}.print-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.print-cover img{width:2.2in;height:2.2in;object-fit:contain;margin-bottom:.25in}.print-cover h2{font-family:Inter,sans-serif;font-weight:600}.print-order .order-item{padding:8px 2px;font-size:9pt}.print-order .hymn-link small{display:none}.print-updates article{padding-bottom:5px;border-bottom:1px solid #eee}.print-updates h2:not(:first-child){margin-top:15px}@media(max-width:760px){.tracker-grid{grid-template-columns:1fr}.hour-grid{grid-template-columns:repeat(2,1fr)}}@media print{@page{size:letter landscape;margin:0}.print-toolbar{display:none}.print-booklet{padding:0}.print-sheet{margin:0;box-shadow:none}.print-sheet:last-child{page-break-after:auto}a{text-decoration:none}}

/* v72 print refinements and modal background lock */
body:has(.organization-dialog[open]){overflow:hidden}.print-half{padding:.32in;border-right:0!important}.print-directory{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;column-gap:14px}.print-directory h2{grid-column:1/-1}.print-directory article{grid-column:span 3}.print-directory h2:nth-of-type(2)~article{grid-column:span 2}.print-cover img{width:min(4.25in,90%);height:4.25in;margin-bottom:.18in}.print-order .order-item{padding:7px 2px;font-size:8.5pt}.print-order:has(.order-item:nth-child(9)) .order-item{padding:4px 2px;font-size:7.5pt}.print-order:has(.order-item:nth-child(12)) .order-item{padding:2px;font-size:6.8pt}.print-order:has(.order-item:nth-child(12)) h1{font-size:23pt;margin-bottom:2px}

/* v73 safe two-page print area and clearer directory groupings */
.print-sheet{width:10.25in;height:7.7in}.print-directory .ward-missionary-heading{margin-top:10px}.print-directory .leadership-heading{margin-top:18px}.print-directory .ward-missionary-print{grid-column:span 3;padding:0 0 6px;border-bottom:1px solid #ddd}.print-directory .leadership-print{grid-column:span 2;padding:0 0 7px;margin-bottom:8px;border-bottom:1px solid #d8d8d8}.print-directory .leadership-print span{display:block;margin-top:1px}.print-cover img{width:min(4.5in,94%);height:4.5in}@media print{@page{size:11in 8.5in;margin:.35in}.print-booklet{padding:0}.print-sheet{width:10.25in;height:7.7in;margin:0;overflow:hidden;break-after:page;page-break-after:always}.print-sheet:last-child{break-after:auto;page-break-after:auto}}

/* v74 Safari print: let the browser supply the landscape printable width */
@media print{@page{size:landscape;margin:.25in}html,body{width:auto!important;height:auto!important;max-width:none!important;overflow:visible!important;background:#fff!important}.print-booklet{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}.print-sheet{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;max-width:none!important;height:7.75in!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:page!important;page-break-after:always!important}.print-sheet:last-child{break-after:auto!important;page-break-after:auto!important}.print-half{min-width:0!important;height:100%!important;overflow:hidden!important}}

/* v75 Safari: flex prints without Grid's extra blank pages */
@media print{@page{size:landscape;margin:.3in}html,body{margin:0!important;padding:0!important}.print-sheet{display:flex!important;grid-template-columns:none!important;width:100%!important;height:auto!important;min-height:7in!important;margin:0!important;overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;break-after:auto!important;page-break-after:auto!important}.print-sheet+.print-sheet{break-before:page!important;page-break-before:always!important}.print-half{display:block;flex:0 0 50%!important;width:50%!important;max-width:50%!important;height:auto!important;min-height:7in!important;overflow:hidden!important}.print-directory{display:grid!important}.print-cover{display:flex!important}.print-sheet:last-child{break-after:auto!important;page-break-after:auto!important}}
