.meeting-view-tabs{display:flex;gap:7px}.meeting-tab{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:10px 14px;font-size:11px;font-weight:900}.meeting-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.meeting-top-card{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:25px;padding:24px 27px;color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:var(--shadow)}.meeting-top-card input{margin-top:8px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff;font-weight:900;max-width:210px}.meeting-top-card input::-webkit-calendar-picker-indicator{filter:invert(1)}.meeting-save-state{font-size:11px;color:#bcd1dd;margin:8px 0 0}.meeting-top-actions{display:flex;gap:8px;flex-wrap:wrap}.meeting-top-actions .outline-btn{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.meeting-prayer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0}.meeting-mini-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow)}.meeting-mini-card span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.meeting-agenda-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.meeting-section-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:38px 1fr;gap:0 10px}.meeting-section-card.wide{grid-column:1/-1}.meeting-section-number{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:#e8f2f8;color:var(--blue);display:grid;place-items:center;font-weight:900}.meeting-section-card h3{margin:2px 0 12px;font-size:17px}.meeting-section-card textarea{grid-column:1/-1;background:#f8fbfc;line-height:1.5}.decision-card{border-top:4px solid var(--green)}
.meeting-focus-panel,.meeting-assignment-panel{margin:12px 0}.meeting-focus-row{display:grid;grid-template-columns:1.2fr 1fr 2fr 1fr auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #eef2f4}.meeting-focus-name{font-weight:900;font-size:13px}.meeting-focus-row input,.meeting-focus-row select{padding:9px 10px}.focus-add-btn.saved{background:#e9f7ee;color:#307c4c}
.meeting-assignment-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr 2fr 1fr auto auto;gap:7px;padding:9px 0;border-top:1px solid #eef2f4}.meeting-assignment-row input,.meeting-assignment-row select{padding:9px 10px}
.meeting-archive-filters{grid-template-columns:1fr}.meeting-archive-list{display:grid;gap:10px}.meeting-archive-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px 18px;box-shadow:var(--shadow);cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:12px}.meeting-archive-card:hover{border-color:#b8ced8}.meeting-archive-card h3{margin:0 0 5px}.meeting-archive-card p{margin:0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meeting-history-shell{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.meeting-history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.meeting-history-head h2{margin:3px 0}.history-section{padding:14px 0;border-top:1px solid #edf2f4}.history-section h4{margin:0 0 7px}.history-section p{white-space:pre-wrap;color:#526a7a;line-height:1.5;font-size:12px;margin:0}.history-focus-grid{display:grid;gap:7px}.history-focus-row{background:#f7fafb;border-radius:12px;padding:10px;font-size:12px}
@media(max-width:1150px){.meeting-focus-row{grid-template-columns:1fr 1fr}.meeting-focus-name{grid-column:1/-1}.meeting-assignment-row{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.meeting-prayer-grid,.meeting-agenda-grid{grid-template-columns:1fr}.meeting-section-card.wide{grid-column:1}.meeting-top-card{align-items:flex-start;flex-direction:column}.meeting-focus-row,.meeting-assignment-row{grid-template-columns:1fr}.meeting-view-tabs{width:100%;overflow-x:auto}.meeting-tab{white-space:nowrap}}

/* Multiple contact plans per Focus Name */
.meeting-focus-row.multi-plan{
  display:block;
  padding:14px 0;
}
.meeting-focus-row.multi-plan .meeting-focus-name{
  margin-bottom:8px;
}
.focus-plan-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:8px;
}
.focus-plan-saved{
  display:grid;
  grid-template-columns:minmax(90px,.7fr) minmax(180px,2fr) auto auto;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border:1px solid #e7ecef;
  border-radius:12px;
  background:#f8fafb;
}
.focus-plan-owner{font-weight:800;font-size:12px}
.focus-plan-action{font-size:12px}
.focus-plan-due{font-size:11px;color:#68777f;white-space:nowrap}
.focus-plan-editor{
  display:grid;
  grid-template-columns:1fr 2fr 1fr auto;
  gap:8px;
  align-items:center;
}
.focus-plan-editor input,.focus-plan-editor select{padding:9px 10px}
@media(max-width:900px){
  .focus-plan-saved{grid-template-columns:1fr 2fr}
  .focus-plan-due,.focus-plan-saved .chip{justify-self:start}
  .focus-plan-editor{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .focus-plan-saved,.focus-plan-editor{grid-template-columns:1fr}
}

.focus-plan-saved{position:relative;padding-right:42px}
.focus-plan-remove{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:999px;background:transparent;font-size:20px;line-height:1;color:#6d7b82;cursor:pointer}
.focus-plan-remove:hover{background:#eef2f4;color:#26343b}
.focus-plan-remove:disabled{opacity:.45;cursor:default}


/* ============================================================
   MEETING — WEEKLY VISITS + NEW MOVE-INS
   ============================================================ */
.meeting-weekly-visits-panel,.meeting-moveins-panel{margin-top:18px}
.meeting-helper-copy{margin:-4px 0 14px}
.weekly-visit-row{border:1px solid #e5ebee;border-radius:16px;padding:12px;margin-top:10px;background:#fbfcfd}
.weekly-visit-top{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto;gap:8px;align-items:center}
.weekly-visit-top select,.visit-target-field select{width:100%}
.weekly-visit-remove{align-self:center}
.visit-targets{margin-top:10px;padding-top:10px;border-top:1px solid #edf1f3}
.visit-targets-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px}
.text-action-btn{border:0;background:transparent;padding:4px 0;font-weight:800;font-size:12px;cursor:pointer;color:#256b83}
.visit-target-list{display:flex;flex-wrap:wrap;gap:7px}
.visit-target-field{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:5px;align-items:center;min-width:230px;flex:1 1 260px}
.compact-empty{padding:14px}
#meeting-new-moveins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.movein-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr) auto;gap:12px;align-items:center;border:1px solid #e3eaed;border-radius:15px;padding:12px;background:#fff}
.movein-card.overdue{border-color:#efc8c8}
.movein-card.urgent{border-color:#efd8ae}
.movein-main{display:flex;flex-direction:column;gap:3px}
.movein-name{border:0;background:transparent;padding:0;text-align:left;font:inherit;font-weight:850;cursor:pointer;color:#173b50}
.movein-name:hover{text-decoration:underline}
.movein-age{font-size:11px;color:#74838a}
.movein-timing strong{font-size:12px}
.movein-progress{height:6px;margin-top:5px;border-radius:999px;background:#edf1f2;overflow:hidden}
.movein-progress span{display:block;height:100%;background:currentColor;opacity:.55;border-radius:inherit}
.movein-card.good .movein-timing{color:#39755f}
.movein-card.urgent .movein-timing{color:#a66d17}
.movein-card.overdue .movein-timing{color:#a64242}
@media(max-width:900px){
  #meeting-new-moveins{grid-template-columns:1fr}
}
@media(max-width:720px){
  .weekly-visit-top{grid-template-columns:1fr}
  .weekly-visit-remove{justify-self:end}
  .movein-card{grid-template-columns:1fr}
  .movein-assign{justify-self:start}
}

/* Conditional New Move-In field */
.conditional-field small{
  display:block;
  margin-top:5px;
  font-size:11px;
  line-height:1.35;
  color:#718087;
}

/* People category filter */
.filters-panel{
  align-items:center;
}
@media(max-width:980px){
  .filters-panel{
    grid-template-columns:1fr 1fr;
  }
  .filters-panel .search-field{
    grid-column:1 / -1;
  }
}
@media(max-width:620px){
  .filters-panel{
    grid-template-columns:1fr;
  }
  .filters-panel .search-field{
    grid-column:auto;
  }
}

/* My Dashboard assignment controls */
.member-action-row{
  position:relative;
  padding-right:38px;
}
.member-action-remove{
  position:absolute;
  top:9px;
  right:9px;
  width:25px;
  height:25px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#87969d;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.member-action-remove:hover{
  background:#f2e8e8;
  color:#a94747;
}
.member-action-person{
  padding:0;
  border:0;
  background:transparent;
  color:#173b50;
  font:inherit;
  font-weight:850;
  text-align:left;
  cursor:pointer;
}
.member-action-person:hover{
  text-decoration:underline;
}
.member-action-description{
  display:block;
  margin:4px 0 8px;
  color:#65757d;
  line-height:1.35;
}
.member-add-contact{
  margin-top:10px;
}


/* My Dashboard — planned weekly visits */
.member-planned-visits-panel{
  margin-top:18px;
}
#member-planned-visits{
  display:grid;
  gap:10px;
}
.planned-visit-card{
  border:1px solid #e3eaed;
  border-radius:15px;
  padding:13px 14px;
  background:#fbfcfd;
}
.planned-visit-route{
  display:grid;
  grid-template-columns:minmax(160px,.7fr) minmax(220px,1.3fr);
  gap:18px;
  align-items:start;
}
.planned-visit-label{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7b8b92;
}
.planned-visit-people{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.planned-visit-person{
  border:1px solid #d9e5e9;
  border-radius:999px;
  background:#fff;
  padding:6px 10px;
  font:inherit;
  font-size:12px;
  font-weight:750;
  color:#173b50;
  cursor:pointer;
}
.planned-visit-person:hover{
  background:#edf5f7;
}
@media(max-width:650px){
  .planned-visit-route{
    grid-template-columns:1fr;
    gap:10px;
  }
}

/* Meeting callings — live Callings pipeline */
.meeting-callings-card{align-content:start}
.meeting-calling-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:2px}
.meeting-calling-form input{min-width:0}
.meeting-callings-list{grid-column:2/-1;width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;margin-top:14px}
.meeting-calling-row{position:relative;min-width:0;padding:13px 14px 12px;border:1px solid #e5ecee;border-radius:13px;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%);box-shadow:0 2px 8px rgba(18,42,52,.045)}
.meeting-calling-row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:#2fa36b}
.meeting-calling-row strong{display:block;padding-left:2px;font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.meeting-calling-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.meeting-calling-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#eaf7f0;color:#247a51;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.meeting-calling-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#2fa36b;box-shadow:0 0 0 3px rgba(47,163,107,.12)}
.meeting-calling-priority{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}
.meeting-callings-list>.empty-state{grid-column:1/-1}
.compact-empty{padding:12px 2px}
@media(max-width:760px){.meeting-callings-list{grid-column:1/-1;grid-template-columns:1fr}}
@media(max-width:520px){.meeting-calling-form{grid-template-columns:1fr}.meeting-calling-form button{width:100%}}


/* ============================================================
   MEETING BATCH UPDATE — FOLLOW-THROUGH, ACTIVITIES, FOCUS HIERARCHY
   ============================================================ */
.section-helper{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.previous-week-card{align-items:start}
.previous-week-heading{min-width:0}
.previous-week-report,.meeting-carry-forward,.meeting-followthrough-notes{grid-column:2/-1}
.meeting-carry-forward{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;margin:4px 0 12px;border:1px solid #cce7d8;border-radius:14px;background:#f1faf5}
.carry-forward-icon{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;background:#dff3e8;color:#23764d;font-weight:900}
.meeting-carry-forward span,.meeting-followthrough-notes>span{display:block;font-size:9px;font-weight:900;letter-spacing:.075em;text-transform:uppercase;color:#5b7168;margin-bottom:4px}
.meeting-carry-forward p{margin:0;white-space:pre-wrap;color:#385849;font-size:12px;line-height:1.5}
.previous-week-report{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:1px 0 12px}
.followthrough-group{border:1px solid #e5ebee;border-radius:14px;padding:12px;background:#fbfcfd;min-width:0}
.followthrough-group h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#60747f}
.followthrough-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 0;border-top:1px solid #edf2f4}.followthrough-item:first-of-type{border-top:0;padding-top:0}
.followthrough-item strong{display:block;font-size:12px}.followthrough-item>div>span{display:block;margin-top:2px;font-size:10px;color:var(--muted);line-height:1.35}
.followthrough-result{text-align:right}.followthrough-result b{display:inline-flex;border-radius:999px;padding:3px 7px;background:#eef3f5;color:#586d77;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.followthrough-result.done b{background:#e8f7ee;color:#26764d}.followthrough-result.cancelled b{background:#f3f3f3;color:#777}.followthrough-result small{display:block;max-width:160px;margin-top:4px;color:#667981;font-size:9px;line-height:1.35}
.followthrough-visit{padding:8px 0;border-top:1px solid #edf2f4}.followthrough-visit:first-of-type{border-top:0;padding-top:0}.followthrough-visit>strong{display:block;font-size:11px;margin-bottom:5px}.followthrough-visit>span{display:block;font-size:10px;color:#5e717b;margin:3px 0}
.meeting-followthrough-notes textarea{width:100%}

/* Focus names now read person -> saved plans -> new plan */
.meeting-focus-panel{background:linear-gradient(180deg,#fff 0%,#fcfdfd 100%)}
#meeting-focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.meeting-focus-row.multi-plan.focus-person-card{display:block;border:1px solid #e3eaed;border-radius:18px;padding:0;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(18,42,52,.04)}
.focus-person-head{display:flex;align-items:center;gap:10px;padding:14px 15px 12px;background:#f7fafb;border-bottom:1px solid #eaf0f2}.focus-avatar{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#16394b;color:#fff;font-weight:900;font-size:14px}.focus-person-head span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#7a8c95;font-weight:900}.focus-person-head h3{font-size:15px;margin:1px 0 0;color:#17384a}
.focus-plan-list{padding:8px 14px 2px}.focus-plan-saved{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;padding:10px 34px 10px 0;border-bottom:1px solid #edf2f4;background:transparent;border-radius:0}.focus-plan-saved:last-child{border-bottom:0}.focus-plan-main{min-width:0}.focus-plan-owner{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#70818a}.focus-plan-action{display:block;font-size:12px;font-weight:800;color:#263e4b;margin-top:2px}.focus-plan-end{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.focus-plan-due{font-size:9px;color:#75858d}.focus-no-plans{padding:13px 15px 0;color:#84939a;font-size:10px;font-style:italic}
.focus-plan-editor{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 12px 12px;padding:11px;background:#f6f9fa;border-radius:13px;border:1px solid #edf1f3}.focus-plan-editor input,.focus-plan-editor select{min-width:0;padding:8px 9px;font-size:10px}.focus-plan-editor [data-focus-field="action"]{grid-column:1/-1}.focus-plan-editor .focus-add-btn{grid-column:1/-1;justify-self:start}

/* Internal activity calendar */
.meeting-activity-form,.meeting-activities-list,.meeting-events-card>.form-message{grid-column:2/-1}
.meeting-activity-form{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr auto;gap:8px;margin:4px 0 13px}.meeting-activity-form input{min-width:0}
.meeting-activities-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.meeting-activity-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid #e3eaed;border-radius:15px;padding:10px 11px;background:#fbfdfd}
.activity-date-tile{height:48px;border-radius:11px;background:#eaf3f8;color:#23546c;display:grid;place-items:center;align-content:center;line-height:1}.activity-date-tile strong{font-size:8px;letter-spacing:.08em}.activity-date-tile span{font-size:19px;font-weight:900;margin-top:3px}.activity-copy h4{font-size:13px;margin:0 0 3px}.activity-copy p{margin:0;color:var(--muted);font-size:10px}.activity-status{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#27764e}.activity-status i{width:6px;height:6px;border-radius:50%;background:#2fa36b;box-shadow:0 0 0 3px rgba(47,163,107,.12)}.activity-complete{white-space:nowrap}

/* Quick assignment plan */
.meeting-assignment-row{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1.4fr 1.8fr 1fr auto auto}.assignment-activity-select.hidden{display:none}

@media(max-width:1150px){.previous-week-report{grid-template-columns:1fr 1fr}.meeting-activity-form{grid-template-columns:1fr 1fr}.meeting-activity-form button{justify-self:start}.meeting-activities-list{grid-template-columns:1fr}.meeting-assignment-row{grid-template-columns:1fr 1fr}.assignment-activity-select.hidden{display:none}#meeting-focus-list{grid-template-columns:1fr}}
@media(max-width:720px){.previous-week-report,.meeting-carry-forward,.meeting-followthrough-notes,.meeting-activity-form,.meeting-activities-list,.meeting-events-card>.form-message{grid-column:1/-1}.previous-week-report{grid-template-columns:1fr}.meeting-activity-form{grid-template-columns:1fr}.meeting-activity-row{grid-template-columns:42px 1fr}.activity-complete{grid-column:2;justify-self:start}.focus-plan-editor{grid-template-columns:1fr}.focus-plan-editor [data-focus-field="action"],.focus-plan-editor .focus-add-btn{grid-column:1}.focus-plan-saved{align-items:flex-start;flex-direction:column}.focus-plan-end{justify-content:flex-start}}

/* ==========================================================
   MEETING REVIEW + COMPACT FOCUS NAMES — V2
   ========================================================== */
.meeting-carry-forward-panel{display:flex;align-items:flex-start;gap:14px;margin:0 0 14px;padding:15px 17px;border:1px solid #cde8d9;border-radius:17px;background:#f3faf6;box-shadow:0 3px 10px rgba(30,82,57,.04)}
.meeting-carry-forward-panel.hidden{display:none}.carry-forward-mark{width:34px;height:34px;flex:0 0 34px;border-radius:11px;display:grid;place-items:center;background:#dff3e8;color:#23764d;font-weight:950;font-size:17px}.carry-forward-copy{min-width:0}.carry-forward-copy h3{margin:2px 0 5px;font-size:15px;color:#244c38}.carry-forward-copy>p:last-child{margin:0;white-space:pre-wrap;color:#456455;font-size:12px;line-height:1.5}
.previous-week-report,.meeting-followthrough-notes{grid-column:2/-1}.previous-week-report{display:block;margin:3px 0 10px}.previous-review-list{border:1px solid #e4eaed;border-radius:14px;overflow:hidden;background:#fff}.previous-review-line{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:9px;align-items:center;border:0;border-top:1px solid #edf2f4;background:#fff;padding:9px 11px;text-align:left;cursor:pointer;color:var(--ink)}.previous-review-line:first-child{border-top:0}.previous-review-line:hover{background:#f8fbfc}.review-line-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:950}.review-line-icon.assignment{background:#eef2f8;color:#496580}.review-line-icon.visit{background:#eaf5f8;color:#27758a}.review-line-icon.contact{background:#edf7ef;color:#337a4c}.review-line-copy{min-width:0}.review-line-copy strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-line-copy small{display:block;margin-top:2px;font-size:9px;color:#73848c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-line-chevron{font-size:19px;color:#9aa8ae;text-align:right}.meeting-followthrough-notes>span{display:block;font-size:9px;font-weight:900;letter-spacing:.075em;text-transform:uppercase;color:#647980;margin-bottom:4px}.meeting-followthrough-notes textarea{min-height:62px}
.meeting-review-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}.meeting-review-modal.hidden{display:none}.meeting-review-backdrop{position:absolute;inset:0;background:rgba(10,28,38,.42);backdrop-filter:blur(2px)}.meeting-review-dialog{position:relative;width:min(560px,100%);max-height:min(78vh,720px);overflow:auto;background:#fff;border:1px solid #dce5e9;border-radius:22px;box-shadow:0 22px 70px rgba(9,30,42,.22);padding:20px}.meeting-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:13px;border-bottom:1px solid #edf2f4}.meeting-review-head h2{margin:3px 0 0;font-size:19px}.review-close-btn{width:34px;height:34px;border:1px solid #e1e7ea;border-radius:11px;background:#f7f9fa;color:#50626b;font-size:21px;line-height:1;cursor:pointer}.review-detail-grid{display:grid;margin-top:4px}.review-detail-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid #eef2f4}.review-detail-row:first-child{border-top:0}.review-detail-row span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#7b8b92}.review-detail-row p{margin:0;font-size:12px;line-height:1.5;color:#354d59;white-space:pre-wrap}
#meeting-focus-list{display:grid;grid-template-columns:1fr;gap:6px}.meeting-focus-row.compact-focus-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e4eaed;border-radius:12px;background:#fff;box-shadow:none}.compact-focus-main{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:12px;align-items:center;min-width:0}.compact-focus-main strong{font-size:12px;color:#183a4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-focus-main span{font-size:10px;color:#6d7f88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-focus-actions{display:flex;align-items:center;gap:7px}.focus-toggle-btn{padding:6px 9px;font-size:10px}.focus-compact-editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.7fr 1fr auto;gap:7px;align-items:center;padding:9px;margin-top:1px;border-top:1px solid #edf2f4;background:#f8fafb;border-radius:0 0 9px 9px}.focus-compact-editor.hidden{display:none}.focus-compact-editor input,.focus-compact-editor select{padding:8px 9px;font-size:10px;min-width:0}.focus-existing-remove{grid-column:1/-1;justify-self:start;border:0;background:transparent;color:#8a6267;font-size:9px;text-decoration:underline;cursor:pointer;padding:2px 0}.meeting-focus-panel .panel-heading{margin-bottom:9px}
@media(max-width:900px){.compact-focus-main{grid-template-columns:1fr}.focus-compact-editor{grid-template-columns:1fr 1fr}.focus-compact-editor [data-focus-field="action"]{grid-column:1/-1}.previous-week-report,.meeting-followthrough-notes{grid-column:1/-1}}
@media(max-width:620px){.meeting-focus-row.compact-focus-row{grid-template-columns:1fr}.compact-focus-actions{justify-content:flex-start}.focus-compact-editor{grid-template-columns:1fr}.focus-compact-editor [data-focus-field="action"]{grid-column:1}.review-detail-row{grid-template-columns:1fr;gap:3px}.meeting-review-modal{padding:12px}.meeting-carry-forward-panel{padding:13px}.previous-review-line{grid-template-columns:26px minmax(0,1fr) 16px}}
.review-line-icon.focus{background:#f5edf2;color:#8a536a}


/* V3 grouped previous-week review */
.previous-review-groups{border:1px solid #e2e9ec;border-radius:15px;overflow:hidden;background:#fff}
.previous-review-group{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 105px 16px;gap:10px;align-items:center;border:0;border-top:1px solid #edf2f4;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;color:var(--ink)}
.previous-review-group:first-child{border-top:0}.previous-review-group:hover{background:#f8fbfc}.review-group-copy{min-width:0}.review-group-copy strong{display:block;font-size:11px}.review-group-copy small{display:block;margin-top:2px;font-size:9px;color:#74858d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-group-count{text-align:right}.review-group-count b{display:block;font-size:14px;color:#294756}.review-group-count small{display:block;font-size:8px;color:#819098;white-space:nowrap}.review-group-list{display:grid;margin-top:5px;border:1px solid #e6ecef;border-radius:14px;overflow:hidden}.review-group-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:0;border-top:1px solid #edf2f4;background:#fff;text-align:left;cursor:pointer}.review-group-item:first-child{border-top:0}.review-group-item:hover{background:#f8fbfc}.review-group-item span{min-width:0}.review-group-item strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-group-item small{display:block;margin-top:2px;font-size:9px;color:#73848c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-group-item b{font-size:19px;color:#9aa8ae}.review-group-back{border:0;background:transparent;color:#3a7184;font-size:10px;font-weight:850;padding:4px 0 9px;cursor:pointer}

/* V3 editable archive workspace */
.archive-editor-shell{max-width:1100px;margin:0 auto}.archive-editor-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.archive-editor-top label{display:grid;gap:5px}.archive-editor-top label span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#71838b}.archive-editor-top input{width:100%;min-width:0}.archive-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive-editor-card{border:1px solid #e1e8eb;border-radius:17px;background:#fff;padding:14px;box-shadow:0 4px 14px rgba(24,54,70,.035)}.archive-editor-card.wide{grid-column:1/-1}.archive-editor-card h3{margin:0 0 8px;font-size:14px}.archive-editor-card textarea{width:100%;resize:vertical;min-height:88px}.archive-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.archive-edit-row{display:grid;grid-template-columns:1fr 150px 1.4fr 135px auto;gap:7px;align-items:center;padding:7px 0;border-top:1px solid #eef2f4}.archive-edit-row:first-child{border-top:0}.archive-edit-row.visit{grid-template-columns:160px 1fr 1.6fr auto}.archive-edit-row input,.archive-edit-row select{width:100%;min-width:0}.archive-editor-card.carry{border-left:4px solid #55a875;background:#fbfefc}.archive-editor-actions{position:sticky;bottom:10px;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:15px;padding:10px 12px;border:1px solid #dfe7ea;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(19,49,64,.1);backdrop-filter:blur(8px)}.archive-editor-actions .form-message{margin-right:auto}
@media(max-width:760px){.previous-review-group{grid-template-columns:28px minmax(0,1fr) 65px 14px}.review-group-count small{display:none}.archive-editor-top{grid-template-columns:1fr 1fr}.archive-editor-grid{grid-template-columns:1fr}.archive-editor-card.wide{grid-column:1}.archive-edit-row,.archive-edit-row.visit{grid-template-columns:1fr}.archive-editor-actions{flex-wrap:wrap}.archive-editor-actions .form-message{width:100%;margin:0}}

/* ============================================================
   v8.3.2 — MOBILE MEETING WIDTH GUARD
   Prevents meeting-only grids/cards from nudging past the iPhone viewport.
   ============================================================ */
@media(max-width:720px){
  #meeting-view,
  #meeting-current-view,
  #meeting-history-view,
  .meeting-top-card,
  .meeting-prayer-grid,
  .meeting-agenda-grid,
  .meeting-section-card,
  .meeting-focus-panel,
  .meeting-assignment-panel,
  .meeting-weekly-visits-panel,
  .meeting-moveins-panel,
  .meeting-callings-list,
  .meeting-history-shell,
  .archive-editor-shell,
  .archive-editor-grid,
  .archive-editor-card{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .meeting-section-card{
    grid-template-columns:34px minmax(0,1fr);
    padding:16px;
    overflow:hidden;
  }

  .meeting-section-card > *,
  .meeting-top-card > *,
  .meeting-history-shell > *,
  .archive-editor-card > *{
    min-width:0;
    max-width:100%;
  }

  .meeting-section-card input,
  .meeting-section-card select,
  .meeting-section-card textarea,
  .meeting-top-card input,
  .meeting-top-card select,
  .meeting-top-card textarea{
    min-width:0;
    max-width:100%;
  }

  .visit-target-field{
    min-width:0;
    flex-basis:100%;
  }

  .meeting-view-tabs{
    max-width:100%;
  }
}

/* ============================================================
   v8.3.3 — MOBILE MEETING EDGE FIX
   Extra containment for Meeting content on narrow phone screens.
   ============================================================ */
@media(max-width:720px){
  #view-meeting,
  #view-meeting > *,
  #meeting-view,
  #meeting-current-view,
  #meeting-history-view{
    min-width:0;
    max-width:100%;
  }

  #view-meeting .panel,
  #view-meeting .meeting-top-card,
  #view-meeting .meeting-section-card,
  #view-meeting .meeting-history-shell,
  #view-meeting .archive-editor-shell,
  #view-meeting .archive-editor-card{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  #view-meeting input,
  #view-meeting select,
  #view-meeting textarea,
  #view-meeting button{
    max-width:100%;
    min-width:0;
  }

  .meeting-top-actions,
  .archive-editor-actions,
  .compact-focus-actions{
    max-width:100%;
    flex-wrap:wrap;
  }

  .meeting-callings-list{
    grid-template-columns:minmax(0,1fr);
  }

  .meeting-calling-form{
    grid-template-columns:minmax(0,1fr);
  }

  .previous-review-group{
    width:100%;
    max-width:100%;
    min-width:0;
  }
}
