:root {
  --wine: #0b4f9c;
  --wine-dark: #082f63;
  --wine-soft: #e8f2ff;
  --gold: #c19a3e;
  --gold-soft: #f8efd9;
  --cream: #f5f9ff;
  --paper: #ffffff;
  --ink: #17324d;
  --muted: #62758a;
  --line: #dbe7f3;
  --green: #28765b;
  --shadow: 0 14px 40px rgba(8, 61, 118, 0.10);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.auth-shell { background: var(--paper); }
.login-page { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 0.9fr; }
.login-visual {
  min-height: 100vh;
  padding: clamp(40px, 7vw, 100px);
  display: flex;
  align-items: center;
  color: white;
  background:
    radial-gradient(circle at 78% 16%, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 20% 82%, rgba(193,154,62,.26), transparent 28%),
    linear-gradient(145deg, var(--wine-dark), var(--wine));
  position: relative;
  overflow: hidden;
}
.login-visual::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  right: -180px;
  bottom: -100px;
  box-shadow: 0 0 0 55px rgba(255,255,255,.03), 0 0 0 110px rgba(255,255,255,.02);
}
.login-visual-content { position: relative; z-index: 1; max-width: 720px; }
.login-visual h1 { font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1.04; margin: 18px 0 20px; font-weight: 600; }
.login-visual p { font-size: 1.15rem; max-width: 600px; color: rgba(255,255,255,.82); }
.motto-card { margin-top: 48px; display: inline-flex; gap: 14px; align-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 12px 20px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.motto-card b { color: #f0d9a9; }
.login-panel { display: grid; place-items: center; padding: 40px; background: linear-gradient(180deg, #fff, #f5f9ff); }
.login-card { width: min(440px, 100%); background: white; border: 1px solid var(--line); border-radius: 28px; padding: clamp(28px, 5vw, 48px); box-shadow: var(--shadow); }
.login-logo { width: 74px; height: 74px; border-radius: 22px; display: grid; place-items: center; background: var(--wine); color: white; font-family: Georgia, serif; font-weight: 700; letter-spacing: .08em; margin-bottom: 24px; }
.login-card h2 { margin: 0 0 6px; font-family: Georgia, serif; font-size: 2rem; }
.login-card > p { margin: 0 0 24px; color: var(--muted); }
.login-card label { display: grid; gap: 8px; font-weight: 700; margin: 18px 0; }
input[type="email"], input[type="password"], input[type="search"], input[type="text"] {
  width: 100%;
  border: 1px solid #c9d9e8;
  border-radius: 14px;
  padding: 14px 16px;
  background: white;
  color: var(--ink);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
input:focus { border-color: var(--wine); box-shadow: 0 0 0 4px rgba(11,79,156,.12); }
.privacy-note { display: block; text-align: center; color: var(--muted); margin-top: 18px; }
.alert { border-radius: 14px; padding: 12px 14px; font-size: .92rem; margin: 16px 0; }
.alert-error { background: #fff0f1; color: #8b2439; border: 1px solid #f0c8cf; }
.alert-info { background: #f5f0e6; color: #69532d; border: 1px solid #ead9b7; }
.alert code { background: rgba(0,0,0,.06); padding: 2px 5px; border-radius: 5px; }

.button { border: 0; border-radius: 13px; padding: 12px 18px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.button-primary { background: var(--wine); color: white; box-shadow: 0 7px 18px rgba(11,79,156,.22); }
.button-primary:hover { background: var(--wine-dark); }
.button-secondary { background: var(--wine-soft); color: var(--wine); }
.button-quiet { background: transparent; color: var(--muted); border: 1px solid var(--line); }
.button-full { width: 100%; }

.app-shell { min-height: 100vh; }
.topbar {
  height: 82px;
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 13px; }
.brand-mark { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--wine); color: white; font-family: Georgia, serif; font-size: .9rem; letter-spacing: .08em; }
.brand strong, .brand small { display: block; }
.brand strong { font-family: Georgia, serif; font-size: 1.15rem; }
.brand small { color: var(--muted); font-size: .75rem; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.demo-badge { padding: 6px 10px; border-radius: 999px; background: var(--gold-soft); color: #76561e; font-size: .75rem; font-weight: 800; }
.user-chip { display: flex; align-items: center; gap: 10px; }
.avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--wine-soft); color: var(--wine); font-weight: 900; }
.user-chip-text strong, .user-chip-text small { display: block; }
.user-chip-text strong { font-size: .88rem; }
.user-chip-text small { color: var(--muted); text-transform: capitalize; font-size: .72rem; }

.app-grid { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: calc(100vh - 82px); }
.sidebar { position: sticky; overflow-y: auto; top: 82px; height: calc(100vh - 82px); padding: 24px 16px; background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.nav-link { display: flex; align-items: center; gap: 12px; border-radius: 13px; padding: 12px 14px; color: #62585d; font-weight: 750; }
.nav-link span { width: 24px; color: var(--wine); font-size: 1.2rem; }
.nav-link:hover { background: #f0f6ff; color: var(--wine); }
.nav-link.active { background: var(--wine-soft); color: var(--wine); }
.sidebar-note { margin-top: auto; padding: 18px; border-radius: 17px; background: linear-gradient(145deg, var(--wine-dark), var(--wine)); color: white; }
.sidebar-note strong { font-family: Georgia, serif; }
.sidebar-note p { margin: 8px 0 0; font-size: .82rem; color: rgba(255,255,255,.78); }
.mobile-nav { display: none; }
.main-content { min-width: 0; padding: 34px; max-width: 1600px; width: 100%; margin: 0 auto; }

.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 900; color: var(--gold); }
.hero-card { background: linear-gradient(135deg, #ffffff, #eef6ff); border: 1px solid var(--line); border-radius: 28px; padding: clamp(26px, 4vw, 48px); display: grid; grid-template-columns: 1fr minmax(320px, 520px); gap: 36px; align-items: center; box-shadow: var(--shadow); }
.hero-card h1 { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.05; margin: 8px 0 12px; color: var(--wine-dark); }
.hero-card p { margin: 0; color: var(--muted); }
.hero-search { display: flex; gap: 10px; background: white; border: 1px solid var(--line); padding: 9px; border-radius: 18px; box-shadow: 0 12px 30px rgba(8,61,118,.09); }
.hero-search input { border: 0; box-shadow: none; }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.stat-card { background: white; border: 1px solid var(--line); border-radius: 18px; padding: 20px; transition: transform .18s, box-shadow .18s; }
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.stat-card span, .stat-card small, .stat-card strong { display: block; }
.stat-card span { color: var(--muted); font-weight: 800; font-size: .82rem; }
.stat-card strong { color: var(--wine); font-family: Georgia, serif; font-size: 2.2rem; margin: 6px 0 2px; }
.stat-card small { color: #8d8589; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; }
.panel { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: 0 8px 28px rgba(8,61,118,.05); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.panel h2 { font-family: Georgia, serif; margin: 4px 0 0; }
.date-pill { background: var(--gold-soft); color: #76561e; border-radius: 999px; padding: 7px 12px; font-weight: 900; font-size: .78rem; }
.today-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.today-section { background: #f7fbff; border: 1px solid #dce9f5; border-radius: 16px; padding: 16px; }
.today-section h3 { margin: 0 0 12px; font-size: .86rem; color: var(--wine); }
.mini-person { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.mini-icon { width: 34px; height: 34px; border-radius: 12px; background: var(--wine-soft); color: var(--wine); display: grid; place-items: center; font-weight: 900; }
.mini-person strong, .mini-person small { display: block; }
.mini-person strong { font-size: .83rem; }
.mini-person small { color: var(--muted); font-size: .74rem; }
.quick-panel { display: flex; flex-direction: column; }
.quick-panel a { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 800; }
.quick-panel a:last-child { border-bottom: 0; }
.quick-panel a span { color: var(--wine); }
.welcome-strip { margin-top: 22px; padding: 24px; border-radius: var(--radius); background: var(--wine); color: white; display: flex; align-items: center; gap: 18px; }
.quote-mark { font-family: Georgia, serif; font-size: 4rem; line-height: .7; color: #e7c88d; }
.welcome-strip p { margin: 4px 0 0; color: rgba(255,255,255,.76); }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.page-heading h1 { margin: 5px 0 4px; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.2rem); color: var(--wine-dark); }
.page-heading p { margin: 0; color: var(--muted); }
.search-bar { display: flex; gap: 10px; padding: 12px; background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.search-bar input { font-size: 1.02rem; }
.empty-state { text-align: center; padding: 70px 20px; color: var(--muted); }
.empty-symbol { width: 74px; height: 74px; margin: 0 auto 18px; border-radius: 24px; display: grid; place-items: center; background: var(--wine-soft); color: var(--wine); font-size: 2rem; }
.empty-state h2 { color: var(--ink); font-family: Georgia, serif; }
.result-summary { margin: 22px 0; color: var(--muted); }
.result-section { margin: 28px 0; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.section-title h2 { margin: 0; font-family: Georgia, serif; }
.section-title span { min-width: 34px; text-align: center; border-radius: 999px; background: var(--wine-soft); color: var(--wine); font-weight: 900; padding: 5px 9px; }
.card-list { display: grid; gap: 12px; }
.directory-card { display: flex; gap: 16px; align-items: center; background: white; border: 1px solid var(--line); border-radius: 17px; padding: 16px; }
.directory-card:hover { border-color: #9fc2e8; box-shadow: 0 7px 20px rgba(8,61,118,.06); }
.card-main { min-width: 0; }
.card-main h3 { margin: 0 0 3px; }
.card-main p { margin: 0 0 9px; color: var(--muted); }
.meta-row, .tag-row { display: flex; flex-wrap: wrap; gap: 7px; }
.meta-row span, .tag-row span { background: #edf5ff; color: #47637f; border-radius: 999px; padding: 5px 9px; font-size: .75rem; font-weight: 750; }
.profile-circle, .place-icon { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: var(--wine-soft); color: var(--wine); font-weight: 900; }
.profile-circle.large { width: 66px; height: 66px; border-radius: 22px; font-size: 1.05rem; }
.place-icon { background: var(--gold-soft); color: #7c5b22; }
.muted { color: var(--muted); }
.filter-row { margin-bottom: 18px; }
.filter-row input { max-width: 460px; }
.profile-grid, .location-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.profile-card, .location-card { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 22px; box-shadow: 0 8px 25px rgba(8,61,118,.045); }
.profile-card-top, .location-card-head { display: flex; align-items: flex-start; justify-content: space-between; }
.status-dot { color: var(--green); background: #e8f5ef; border-radius: 999px; padding: 5px 9px; font-size: .72rem; font-weight: 900; }
.profile-card h2, .location-card h2 { font-family: Georgia, serif; font-size: 1.25rem; margin: 18px 0 6px; color: var(--wine-dark); }
.role-text, .address { color: var(--muted); min-height: 48px; }
.details-list { margin: 18px 0 0; display: grid; gap: 10px; }
.details-list div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 10px; }
.details-list dt { color: var(--muted); font-size: .77rem; font-weight: 800; }
.details-list dd { margin: 0; font-size: .84rem; font-weight: 750; overflow-wrap: anywhere; }
.details-list.compact div { grid-template-columns: 84px minmax(0,1fr); }
.tag-row { margin: 16px 0; }

.heritage-hero { padding: clamp(30px, 6vw, 70px); border-radius: 30px; color: white; background: linear-gradient(135deg, var(--wine-dark), var(--wine)); box-shadow: var(--shadow); }
.heritage-hero h1 { font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: 1.05; max-width: 1000px; margin: 12px 0 18px; }
.heritage-hero p { max-width: 850px; color: rgba(255,255,255,.8); font-size: 1.05rem; }
.heritage-values { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.heritage-values span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .8rem; font-weight: 800; }
.timeline-panel { margin-top: 22px; }
.timeline { position: relative; display: grid; gap: 0; }
.timeline::before { content: ""; position: absolute; left: 61px; top: 14px; bottom: 14px; width: 2px; background: #c8ddef; }
.timeline-item { position: relative; display: grid; grid-template-columns: 110px 1fr; gap: 24px; padding: 18px 0; }
.timeline-year { position: relative; z-index: 1; justify-self: start; min-width: 72px; text-align: center; background: var(--wine); color: white; border-radius: 999px; padding: 7px 10px; font-weight: 900; }
.timeline-content h3 { margin: 0 0 5px; font-family: Georgia, serif; }
.timeline-content p { margin: 0; color: var(--muted); }
.three-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.three-cards article { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 22px; }
.three-cards h2 { font-family: Georgia, serif; color: var(--wine-dark); }
.three-cards p { color: var(--muted); }

.error-page { min-height: 100vh; display: grid; place-items: center; text-align: center; padding: 30px; }
.error-code { font-family: Georgia, serif; font-size: 5rem; color: var(--wine); font-weight: 700; }
.error-page h1 { font-family: Georgia, serif; }
.error-page p { color: var(--muted); margin-bottom: 24px; }
.site-footer { text-align: center; color: var(--muted); padding: 24px; }

@media (max-width: 1180px) {
  .hero-card { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-columns { grid-template-columns: 1fr; }
  .profile-grid, .location-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .login-page { grid-template-columns: 1fr; }
  .login-visual { min-height: 44vh; }
  .login-panel { padding: 24px; }
  .app-grid { grid-template-columns: 1fr; }
  .sidebar { display: none; }
  .topbar { padding: 0 16px; }
  .user-chip-text, .topbar .button-quiet { display: none; }
  .main-content { padding: 22px 18px 90px; }
  .mobile-nav { position: fixed; z-index: 40; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(5,1fr); background: rgba(255,255,255,.97); border-top: 1px solid var(--line); padding: 8px 5px max(8px, env(safe-area-inset-bottom)); }
  .mobile-nav a { text-align: center; font-size: .68rem; font-weight: 800; color: var(--muted); padding: 8px 2px; }
  .today-grid, .three-cards { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .brand small, .demo-badge { display: none; }
  .brand strong { font-size: 1rem; }
  .hero-card { border-radius: 22px; }
  .hero-search, .search-bar { flex-direction: column; }
  .stat-grid, .profile-grid, .location-grid { grid-template-columns: 1fr; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .directory-card { align-items: flex-start; }
  .timeline::before { left: 35px; }
  .timeline-item { grid-template-columns: 72px 1fr; gap: 14px; }
  .timeline-year { min-width: 68px; font-size: .78rem; }
}

/* FIHM Blue Sisters expansion */
.heading-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.nav-section-label { padding: 14px 14px 4px; color: #7890a8; text-transform: uppercase; letter-spacing: .12em; font-size: .62rem; font-weight: 900; }
.admin-link { border: 1px dashed #91b9e4; }
.blue-hero { position: relative; overflow: hidden; }
.blue-hero::after { content: ""; position: absolute; width: 310px; height: 310px; border-radius: 50%; right: -180px; top: -190px; border: 1px solid rgba(11,79,156,.12); box-shadow: 0 0 0 45px rgba(11,79,156,.035), 0 0 0 90px rgba(11,79,156,.02); pointer-events: none; }
.stat-grid-six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.source-stat { background: linear-gradient(145deg, #0b4f9c, #1976d2); color: white; border-color: transparent; }
.source-stat span, .source-stat small, .source-stat strong { color: white; }
.notice-card { margin: 0 0 20px; padding: 16px 18px; border: 1px solid #cfe0f1; background: #f8fbff; border-radius: 16px; }
.notice-card strong { color: var(--wine-dark); }
.notice-card p { margin: 4px 0 0; color: var(--muted); }
.blue-notice { background: linear-gradient(135deg, #eaf4ff, #f8fbff); border-color: #bbd6f1; }
.alert-success { background: #eaf8f1; color: #226a4d; border: 1px solid #bfe5d2; }
.button-light { background: white; color: var(--wine-dark); border: 1px solid rgba(255,255,255,.5); }
.button-danger { background: #b4233d; color: white; }
.light-eyebrow { color: #f1d99a; }
.heritage-top-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.small-tag { display: inline-flex; margin-top: 10px; border-radius: 999px; padding: 4px 8px; background: var(--wine-soft); color: var(--wine); font-size: .7rem; font-weight: 850; }

.admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.admin-card { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; background: white; border: 1px solid var(--line); border-radius: 20px; padding: 20px; box-shadow: 0 8px 25px rgba(8,61,118,.045); }
.admin-card-icon, .record-icon { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; background: linear-gradient(145deg, var(--wine), #2887dc); color: white; font-family: Georgia, serif; font-weight: 900; }
.admin-card h2 { margin: 2px 0 3px; font-family: Georgia, serif; font-size: 1.25rem; color: var(--wine-dark); }
.admin-card p { margin: 0; color: var(--muted); }
.admin-card-actions { grid-column: 1 / -1; display: flex; gap: 8px; justify-content: flex-end; padding-top: 6px; }
.danger-zone { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-color: #f0c7cf; }
.danger-zone h2 { margin: 4px 0; }
.danger-zone p { margin: 0; color: var(--muted); }

.record-list { display: grid; gap: 12px; }
.record-row { display: flex; align-items: flex-start; gap: 15px; padding: 17px; background: white; border: 1px solid var(--line); border-radius: 17px; }
.record-main { min-width: 0; }
.record-main h2 { margin: 0 0 9px; font-family: Georgia, serif; font-size: 1.15rem; color: var(--wine-dark); }
.record-main .meta-row span { overflow-wrap: anywhere; }
.compact-empty { padding: 45px 20px; background: white; border: 1px dashed #bad0e6; border-radius: 20px; }

.data-form { max-width: 1100px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.form-field { display: grid; gap: 8px; font-weight: 800; color: var(--ink); }
.form-field.field-wide { grid-column: 1 / -1; }
.form-field small { color: var(--muted); font-weight: 500; }
input[type="number"], input[type="date"], input[type="tel"], textarea, select {
  width: 100%; border: 1px solid #c9d9e8; border-radius: 14px; padding: 13px 15px; background: white; color: var(--ink); outline: none; font: inherit;
}
textarea { resize: vertical; min-height: 110px; }
select:focus, textarea:focus, input[type="number"]:focus, input[type="date"]:focus, input[type="tel"]:focus { border-color: var(--wine); box-shadow: 0 0 0 4px rgba(11,79,156,.12); }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }

.source-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(28px, 5vw, 58px); border-radius: 28px; background: linear-gradient(135deg, #072e61, #0b4f9c 55%, #1677c8); color: white; box-shadow: var(--shadow); }
.source-hero h1 { margin: 8px 0 12px; font-family: Georgia, serif; font-size: clamp(2.2rem, 5vw, 4.5rem); line-height: 1.02; }
.source-hero p { margin: 0; max-width: 850px; color: rgba(255,255,255,.82); }
.source-search-bar { margin-top: 22px; }
.source-guide-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.source-guide-grid article { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 23px; }
.source-guide-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; background: var(--wine-soft); color: var(--wine); font-weight: 900; }
.source-guide-grid h2 { font-family: Georgia, serif; color: var(--wine-dark); }
.source-guide-grid p { color: var(--muted); }
.source-heading { margin-top: 28px; }
.source-page-list { display: grid; gap: 12px; }
.source-page-row { display: grid; grid-template-columns: 72px 1fr; gap: 17px; background: white; border: 1px solid var(--line); border-radius: 18px; padding: 17px; transition: transform .16s, border-color .16s; }
.source-page-row:hover, .source-page-card:hover { transform: translateY(-2px); border-color: #86b8e7; }
.page-number { width: 58px; height: 58px; border-radius: 17px; display: grid; place-items: center; flex: 0 0 auto; background: linear-gradient(145deg, var(--wine), #2787db); color: white; font-family: Georgia, serif; font-size: 1.15rem; font-weight: 900; }
.source-page-row h2 { margin: 0 0 6px; font-family: Georgia, serif; color: var(--wine-dark); }
.source-page-row p, .source-page-card p { margin: 0 0 8px; color: var(--muted); }
.source-page-row strong, .source-link { color: var(--wine); font-size: .82rem; }
.source-page-card { align-items: flex-start; }
.source-results { padding-top: 10px; border-top: 1px solid var(--line); }

@media (max-width: 1350px) {
  .stat-grid-six { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .admin-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .source-hero { align-items: flex-start; flex-direction: column; }
  .source-guide-grid, .admin-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.field-wide { grid-column: auto; }
  .danger-zone { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .stat-grid-six { grid-template-columns: 1fr; }
  .heading-actions { justify-content: flex-start; }
  .source-page-row { grid-template-columns: 52px 1fr; }
  .page-number { width: 46px; height: 46px; border-radius: 14px; font-size: .9rem; }
  .admin-card-actions, .form-actions { flex-direction: column; }
  .admin-card-actions .button, .form-actions .button { width: 100%; }
}

/* v0.2.1 answer-first directory */
.answer-hero { align-items: center; }
.answer-panel { margin-top: 28px; background: white; border: 1px solid var(--line); border-radius: 24px; padding: clamp(20px, 3vw, 32px); box-shadow: var(--shadow); }
.answer-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.answer-heading h1 { margin: 5px 0 7px; font-family: Georgia, serif; color: var(--wine-dark); font-size: clamp(1.7rem, 3vw, 2.6rem); }
.answer-heading p { margin: 0; color: var(--muted); }
.answer-list { display: grid; gap: 14px; margin-top: 20px; }
.answer-item { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: flex-start; padding: 17px; border: 1px solid #d6e5f3; border-radius: 17px; background: linear-gradient(135deg, #fbfdff, #f3f8ff); }
.answer-number { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: var(--wine); color: white; font-weight: 900; }
.answer-item p { margin: 0 0 8px; white-space: normal; color: var(--ink); }
.answer-item small { color: var(--muted); font-size: .75rem; font-weight: 750; }
.answer-footnote { margin: 18px 0 0; color: var(--muted); font-size: .82rem; }
.compact-answer-list { margin-top: 0; }
.answer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.directory-answer-section { padding-top: 22px; border-top: 1px solid var(--line); }
.admin-reference-row { display: flex; align-items: center; gap: 12px; margin: -6px 0 20px; }
.admin-reference-row span { color: var(--muted); font-size: .78rem; }
.reference-book-panel { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 20px; align-items: start; }
.reference-book-icon { width: 70px; height: 70px; border-radius: 20px; display: grid; place-items: center; background: linear-gradient(145deg, var(--wine), #2887dc); color: white; font-size: 2rem; }
.reference-book-panel h2 { margin: 0 0 7px; }
.reference-book-panel p { margin: 0 0 18px; color: var(--muted); }
.reference-actions { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 620px) {
  .answer-heading { flex-direction: column; }
  .answer-heading .button { width: 100%; }
  .answer-item { grid-template-columns: 34px minmax(0, 1fr); padding: 14px; }
  .answer-number { width: 30px; height: 30px; border-radius: 10px; }
  .reference-book-panel { grid-template-columns: 1fr; }
  .admin-reference-row { align-items: flex-start; flex-direction: column; }
}

/* v0.3.0 - Generalate Sisters focus module */
.button-small { padding: 9px 13px; border-radius: 11px; font-size: .78rem; }
.sisters-focus-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  align-items: center;
  gap: 28px;
  margin-bottom: 30px;
  padding: clamp(30px, 5vw, 58px);
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.17), transparent 24%),
    radial-gradient(circle at 20% 110%, rgba(151,205,255,.28), transparent 34%),
    linear-gradient(135deg, #063469, #0b5caf 58%, #4a9de2);
  box-shadow: 0 22px 55px rgba(7, 64, 123, .2);
}
.sisters-focus-hero::before,
.sisters-focus-hero::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  pointer-events: none;
}
.sisters-focus-hero::before { width: 360px; height: 360px; right: -120px; bottom: -220px; box-shadow: 0 0 0 42px rgba(255,255,255,.03), 0 0 0 84px rgba(255,255,255,.02); }
.sisters-focus-hero::after { width: 110px; height: 110px; left: 46%; top: -65px; box-shadow: 0 0 0 26px rgba(255,255,255,.025); }
.sisters-hero-copy { position: relative; z-index: 2; }
.sisters-hero-copy h1 { margin: 8px 0 14px; font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1; }
.sisters-hero-copy > p { max-width: 850px; margin: 0; color: rgba(255,255,255,.83); font-size: 1.05rem; }
.sisters-hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.sisters-hero-badges span { padding: 8px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.09); backdrop-filter: blur(8px); font-size: .78rem; font-weight: 750; }
.sisters-hero-badges strong { color: #ffe9aa; margin-right: 3px; }
.blue-flower { position: relative; z-index: 2; width: 190px; height: 190px; justify-self: center; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); box-shadow: 0 0 0 18px rgba(255,255,255,.04), inset 0 0 40px rgba(255,255,255,.08); text-align: center; }
.blue-flower span { display: block; font-family: Georgia, serif; font-size: 5.6rem; line-height: .8; color: #fff2c8; transform: translateY(9px); }
.blue-flower small { position: absolute; bottom: 34px; font-weight: 800; letter-spacing: .04em; color: rgba(255,255,255,.84); }
.sisters-page-heading { margin-top: 0; align-items: center; }
.sisters-page-heading h2 { margin: 5px 0 4px; font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.8rem); color: var(--wine-dark); }
.sister-toolbar { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(150px, .7fr)); gap: 12px; align-items: end; margin-bottom: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: 0 8px 25px rgba(8,61,118,.045); }
.sister-toolbar label { display: grid; gap: 7px; color: var(--muted); font-size: .73rem; font-weight: 850; }
.sister-toolbar input, .sister-toolbar select { min-height: 48px; }
.gentle-note { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 22px; padding: 16px 18px; border: 1px solid #cbdff3; border-radius: 17px; background: linear-gradient(135deg, #f7fbff, #edf6ff); }
.gentle-note-icon { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px; background: var(--wine); color: white; font-family: Georgia, serif; font-weight: 900; }
.gentle-note strong { color: var(--wine-dark); }
.gentle-note p { margin: 3px 0 0; color: var(--muted); font-size: .85rem; }
.admin-form-note { max-width: 1100px; }
.sister-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sister-card { position: relative; overflow: hidden; min-width: 0; border: 1px solid #d8e7f5; border-radius: 24px; background: white; box-shadow: 0 10px 30px rgba(8,61,118,.065); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.sister-card:hover { transform: translateY(-5px); border-color: #8fc0ec; box-shadow: 0 20px 45px rgba(8,61,118,.13); }
.sister-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -94px; bottom: -100px; border-radius: 50%; border: 1px solid rgba(11,79,156,.08); box-shadow: 0 0 0 22px rgba(11,79,156,.025); pointer-events: none; }
.sister-card-ribbon { min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 10px 16px; background: linear-gradient(135deg, #083e79, #0b67bb); color: white; text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; font-weight: 900; }
.sister-portrait-wrap { position: relative; width: 142px; height: 142px; margin: 24px auto 0; padding: 7px; border-radius: 50%; background: linear-gradient(145deg, #d9ecff, #fff, #ead59e); box-shadow: 0 12px 28px rgba(8,61,118,.16); }
.sister-portrait { width: 100%; height: 100%; object-fit: cover; border: 4px solid white; border-radius: 50%; background: #eef6ff; }
.sister-initials { display: grid; place-items: center; color: var(--wine); font-family: Georgia, serif; font-size: 2rem; font-weight: 900; }
.verification-bubble { position: absolute; right: 2px; bottom: 10px; width: 34px; height: 34px; display: grid; place-items: center; border: 4px solid white; border-radius: 50%; background: #d5e0e9; color: #6f7f8e; font-size: .78rem; font-weight: 900; }
.verification-bubble.is-verified { background: #2d8d69; color: white; }
.sister-card-body { position: relative; z-index: 1; padding: 20px 23px 24px; text-align: center; }
.sister-admission { margin: 0 0 7px; color: var(--gold); text-transform: uppercase; letter-spacing: .09em; font-size: .67rem; font-weight: 900; }
.sister-card h3 { min-height: 58px; display: grid; place-items: center; margin: 0; color: var(--wine-dark); font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.18; }
.sister-role { min-height: 46px; margin: 8px 0 13px; color: var(--muted); font-size: .86rem; }
.sister-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; min-height: 56px; }
.sister-tags span { display: inline-flex; align-items: center; padding: 6px 9px; border-radius: 999px; background: #edf6ff; color: #356486; font-size: .68rem; font-weight: 800; }
.sister-card-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 15px 0; text-align: left; }
.sister-card-facts div { min-width: 0; padding: 11px; border-radius: 13px; background: #f8fbfe; border: 1px solid #e3edf6; }
.sister-card-facts small, .sister-card-facts strong { display: block; }
.sister-card-facts small { color: var(--muted); font-size: .65rem; font-weight: 800; }
.sister-card-facts strong { margin-top: 3px; color: var(--ink); font-size: .76rem; overflow-wrap: anywhere; }
.sister-card-actions { display: flex; justify-content: center; gap: 8px; margin-top: 17px; }
.sister-filter-empty { margin-top: 18px; }
.next-step-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 25px; margin-top: 28px; padding: 28px; border-radius: 24px; background: linear-gradient(135deg, #fff, #eaf5ff); border: 1px solid #cfe2f3; }
.next-step-card h2 { margin: 5px 0 7px; font-family: Georgia, serif; color: var(--wine-dark); }
.next-step-card p { margin: 0; color: var(--muted); }
.next-step-number { font-family: Georgia, serif; font-size: 4rem; font-weight: 900; color: rgba(11,79,156,.18); }

.profile-back-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.sister-profile-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 38px; align-items: center; min-height: 330px; padding: clamp(30px, 5vw, 58px); border-radius: 30px; background: linear-gradient(135deg, #06376f, #0b5ca8 62%, #58a3e0); color: white; box-shadow: 0 20px 55px rgba(8,61,118,.19); }
.sister-profile-hero::after { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; border: 1px solid rgba(255,255,255,.13); right: -150px; top: -190px; box-shadow: 0 0 0 48px rgba(255,255,255,.03), 0 0 0 96px rgba(255,255,255,.02); }
.profile-portrait-column { position: relative; z-index: 2; justify-self: center; }
.profile-main-portrait { width: 220px; height: 220px; object-fit: cover; border-radius: 50%; border: 9px solid rgba(255,255,255,.92); background: white; box-shadow: 0 20px 44px rgba(3,27,54,.3); }
.profile-heart { position: absolute; right: 1px; bottom: 12px; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #f1d494; color: #174c7f; border: 5px solid white; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 900; }
.profile-hero-copy { position: relative; z-index: 2; }
.profile-hero-copy h1 { margin: 7px 0 8px; max-width: 900px; font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: 1.02; }
.profile-lead { margin: 0; color: rgba(255,255,255,.82); font-size: 1.08rem; }
.profile-badge-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.profile-badge-row > span { padding: 7px 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.21); background: rgba(255,255,255,.1); font-size: .76rem; font-weight: 800; }
.verification-pill.is-verified { color: #e7ffef; }
.profile-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.profile-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 22px; }
.profile-info-card { display: grid; grid-template-columns: 52px 1fr; column-gap: 14px; align-content: start; padding: 23px; border-radius: 21px; border: 1px solid var(--line); background: white; box-shadow: 0 8px 26px rgba(8,61,118,.045); }
.profile-info-icon { grid-row: span 2; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; background: var(--wine-soft); color: var(--wine); font-weight: 900; }
.profile-info-card h2 { margin: 3px 0 0; color: var(--wine-dark); font-family: Georgia, serif; }
.profile-detail-list { grid-column: 1 / -1; display: grid; gap: 0; margin: 18px 0 0; }
.profile-detail-list div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 15px; padding: 11px 0; border-top: 1px solid var(--line); }
.profile-detail-list dt { color: var(--muted); font-size: .77rem; font-weight: 850; }
.profile-detail-list dd { margin: 0; color: var(--ink); font-size: .87rem; font-weight: 750; overflow-wrap: anywhere; }
.verification-note { grid-column: 1 / -1; margin: 14px 0 0; padding: 12px 14px; border-radius: 13px; background: #f4f9ff; color: var(--muted); font-size: .78rem; }
.profile-story-card { display: grid; grid-template-columns: 80px 1fr; gap: 22px; align-items: center; margin-top: 22px; padding: 28px; border-radius: 23px; color: white; background: linear-gradient(135deg, #0b4f9c, #297fc5); }
.story-heart { font-family: Georgia, serif; font-size: 4rem; color: #ffe8aa; text-align: center; }
.profile-story-card h2 { margin: 4px 0 7px; font-family: Georgia, serif; }
.profile-story-card p { margin: 0; color: rgba(255,255,255,.82); }
.private-profile-panel { margin-top: 22px; border-style: dashed; }
.private-badge { padding: 6px 10px; border-radius: 999px; background: #fff1dc; color: #74531e; font-size: .7rem; font-weight: 900; }
.private-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.private-field-grid div { padding: 15px; border: 1px solid #e7edf3; border-radius: 15px; background: #fbfcfe; }
.private-field-grid small, .private-field-grid strong { display: block; }
.private-field-grid small { color: var(--muted); font-size: .72rem; font-weight: 850; }
.private-field-grid strong { margin-top: 5px; }
.private-help { margin: 14px 0 0; color: var(--muted); font-size: .78rem; }
.profile-admin-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding: 24px; border-radius: 20px; border: 1px solid #cfe0ef; background: #f6faff; }
.profile-admin-actions h2 { margin: 4px 0; font-family: Georgia, serif; color: var(--wine-dark); }
.profile-admin-actions p { margin: 0; color: var(--muted); }
.profile-admin-actions form { margin: 0; }
.sensitive-help { color: #8d5e20 !important; }
.record-photo { width: 54px; height: 54px; object-fit: cover; border-radius: 50%; border: 3px solid #e1eefb; flex: 0 0 auto; }
.record-row { align-items: center; }
.record-actions { display: flex; gap: 8px; margin-left: auto; }
.transfer-sister-summary { display: flex; align-items: center; gap: 18px; max-width: 1100px; margin-bottom: 20px; padding: 18px; border-radius: 19px; background: linear-gradient(135deg, #e9f5ff, #fff); border: 1px solid #cfe2f3; }
.transfer-sister-summary img { width: 84px; height: 84px; object-fit: cover; border-radius: 50%; border: 5px solid white; box-shadow: 0 7px 20px rgba(8,61,118,.14); }
.transfer-sister-summary h2 { margin: 3px 0; font-family: Georgia, serif; color: var(--wine-dark); }
.transfer-sister-summary p { margin: 0; color: var(--muted); }

@media (max-width: 1180px) {
  .sister-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sister-toolbar { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sister-search-field { grid-column: 1 / -1; }
}
@media (max-width: 860px) {
  .sisters-focus-hero { grid-template-columns: 1fr; }
  .blue-flower { display: none; }
  .profile-back-row, .profile-admin-actions { align-items: flex-start; flex-direction: column; }
  .sister-profile-hero { grid-template-columns: 1fr; text-align: center; }
  .profile-badge-row, .profile-contact-actions { justify-content: center; }
  .profile-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .sister-card-grid, .sister-toolbar, .private-field-grid { grid-template-columns: 1fr; }
  .sister-search-field { grid-column: auto; }
  .sister-card-facts { grid-template-columns: 1fr; }
  .sister-card-actions, .record-actions { flex-direction: column; }
  .sister-card-actions .button, .record-actions .button { width: 100%; }
  .next-step-card { grid-template-columns: 1fr; }
  .next-step-number { display: none; }
  .profile-main-portrait { width: 180px; height: 180px; }
  .profile-detail-list div { grid-template-columns: 1fr; gap: 4px; }
  .profile-story-card { grid-template-columns: 1fr; text-align: center; }
  .record-row { align-items: flex-start; flex-wrap: wrap; }
  .record-actions { width: 100%; margin-left: 69px; }
  .transfer-sister-summary { align-items: flex-start; }
}

/* v0.4 Generalate verification centre */
.verification-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 28px;
  align-items: center;
  padding: clamp(28px, 5vw, 52px);
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 85% 14%, rgba(255,255,255,.16), transparent 23%),
    linear-gradient(135deg, #07356a, #0b5da9 62%, #5ba7e5);
  box-shadow: 0 22px 58px rgba(8,61,118,.19);
}
.verification-hero::after {
  content: "";
  position: absolute;
  width: 310px;
  height: 310px;
  right: -120px;
  bottom: -190px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.02);
}
.verification-hero h1 { margin: 7px 0 10px; font: 600 clamp(2.2rem, 5vw, 4.2rem)/1.04 Georgia, serif; }
.verification-hero p { max-width: 820px; margin: 0; color: rgba(255,255,255,.82); }
.verification-flower { position: relative; z-index: 2; width: 160px; height: 160px; display: grid; place-items: center; justify-self: end; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.09); font: 600 4rem Georgia, serif; color: #ffe9ae; box-shadow: inset 0 0 0 13px rgba(255,255,255,.045); }
.verification-flower small { position: absolute; bottom: 28px; font: 800 .65rem Inter, sans-serif; color: white; letter-spacing: .08em; text-transform: uppercase; }
.verification-progress-row { display: grid; grid-template-columns: minmax(180px, 430px) auto; align-items: center; gap: 12px; margin-top: 24px; }
.verification-progress { height: 12px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.18); }
.verification-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f4d889, #fff1c6); }
.verification-progress-row strong { white-space: nowrap; font-size: .82rem; }
.verification-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.verification-summary-grid article { min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 8px 24px rgba(8,61,118,.045); }
.verification-summary-grid span, .verification-summary-grid strong, .verification-summary-grid small { display: block; }
.verification-summary-grid span { color: var(--muted); font-size: .72rem; font-weight: 850; }
.verification-summary-grid strong { margin: 5px 0 1px; color: var(--wine); font: 700 2rem Georgia, serif; }
.verification-summary-grid small { color: #8796a5; font-size: .69rem; }
.verification-summary-grid article.good { background: #f1fbf6; border-color: #cce8da; }
.verification-summary-grid article.good strong { color: #28765b; }
.verification-summary-grid article.attention { background: #fff8ec; border-color: #ecd9b4; }
.verification-summary-grid article.attention strong { color: #a26e16; }
.compact-heading { margin-top: 10px; }
.verification-list { display: grid; gap: 13px; }
.verification-row { display: grid; grid-template-columns: minmax(340px,1.4fr) minmax(240px,.9fr) auto; gap: 18px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 19px; background: white; box-shadow: 0 7px 22px rgba(8,61,118,.04); }
.verification-row.is-current { border-color: #c9e6d7; background: linear-gradient(90deg, #f5fcf8, #fff); }
.verification-person { display: flex; align-items: center; gap: 14px; min-width: 0; }
.verification-person img, .verification-avatar { width: 68px; height: 68px; flex: 0 0 auto; border-radius: 50%; border: 4px solid #e4f0fb; object-fit: cover; background: #eef6ff; }
.verification-avatar { display: grid; place-items: center; color: var(--wine); font: 700 1.7rem Georgia, serif; }
.verification-person small { color: var(--gold); font-size: .66rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.verification-person h3 { margin: 2px 0; color: var(--wine-dark); font: 700 1.08rem Georgia, serif; }
.verification-person p { margin: 0; color: var(--muted); font-size: .77rem; }
.verification-health { min-width: 0; }
.verification-pill { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border-radius: 999px; background: #eef3f7; color: #667989; font-size: .68rem; font-weight: 900; }
.verification-pill.is-verified { background: #e7f7ef; color: #247456; }
.mini-progress { height: 7px; overflow: hidden; margin: 8px 0 4px; border-radius: 999px; background: #e3edf5; }
.mini-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0b4f9c, #5da5df); }
.verification-health small { color: var(--muted); font-size: .66rem; }
.card-progress { margin: -4px 0 13px; }
.profile-progress { grid-column: 1 / -1; margin-top: 14px; }
.verify-sister-header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; padding: 18px; border: 1px solid #cfe2f3; border-radius: 20px; background: linear-gradient(135deg, #eaf5ff, #fff); }
.verify-sister-header img, .verify-sister-header > div:first-child { width: 82px; height: 82px; border-radius: 50%; object-fit: cover; border: 5px solid white; box-shadow: 0 8px 22px rgba(8,61,118,.13); }
.verify-sister-header > div:first-child { display: grid; place-items: center; color: var(--wine); font: 700 2rem Georgia, serif; background: #eaf4ff; }
.verify-sister-header h2 { margin: 2px 0; color: var(--wine-dark); font-family: Georgia, serif; }
.verify-sister-header p, .verify-sister-header small { margin: 0; color: var(--muted); }
.verify-sister-header .verification-pill { margin-left: auto; }
.verification-form { max-width: 1180px; }
.verification-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.verification-form-grid label { display: grid; gap: 7px; font-weight: 800; }
.verification-form-grid label > span { font-size: .79rem; }
.verification-form-grid input, .verification-form-grid textarea { width: 100%; border: 1px solid #c9d9e8; border-radius: 14px; padding: 13px 14px; color: var(--ink); background: white; font: inherit; }
.field-wide { grid-column: 1 / -1; }
.verification-checklist { margin-top: 22px; padding: 22px; border: 1px solid #d5e5f2; border-radius: 18px; background: #f8fbff; }
.verification-checklist h2 { margin: 4px 0 14px; color: var(--wine-dark); font-family: Georgia, serif; }
.verification-checklist label { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-top: 1px solid #e0ebf4; }
.verification-checklist input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--wine); }
.verification-checklist strong, .verification-checklist small { display: block; }
.verification-checklist small { margin-top: 2px; color: var(--muted); }
.final-confirmation { margin-top: 10px; padding: 14px !important; border: 1px solid #cde4d7 !important; border-radius: 14px; background: #f0faf5; }
.photo-uploader { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 22px; align-items: center; margin-bottom: 24px; padding: 22px; border: 1px solid #d5e5f2; border-radius: 21px; background: linear-gradient(135deg, #f5faff, #fff); }
.photo-preview-shell { width: 150px; height: 150px; padding: 7px; border-radius: 50%; background: linear-gradient(145deg, #d9ecff, #fff, #ead59e); box-shadow: 0 11px 28px rgba(8,61,118,.13); }
.photo-preview-shell img, .photo-preview-placeholder { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 4px solid white; }
.photo-preview-placeholder { display: grid; place-items: center; background: #eaf4ff; color: var(--wine); font: 700 3rem Georgia, serif; }
.photo-uploader h2 { margin: 4px 0; color: var(--wine-dark); font-family: Georgia, serif; }
.photo-uploader p { margin: 0 0 13px; color: var(--muted); }
.photo-uploader small { display: block; margin-top: 9px; color: var(--muted); }
.photo-choice-button { margin-right: 7px; cursor: pointer; }
.verification-history-panel { margin-top: 22px; }
.history-list { display: grid; gap: 10px; }
.history-list article { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 13px; border: 1px solid #e0eaf2; border-radius: 14px; background: #fbfdff; }
.history-dot { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #e5f6ed; color: #247456; font-weight: 900; }
.history-list strong, .history-list small { display: block; }
.history-list small { color: var(--muted); font-size: .7rem; }
.history-list p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.admin-tool-row { flex-wrap: wrap; gap: 9px; }

/* Transfer Import Centre — preview-only Stage 1 */
.transfer-import-heading { align-items: center; }
.preview-only-seal { padding: 10px 14px; border: 1px solid #d7c68d; border-radius: 999px; background: #fffaf0; color: #80651a; font-size: .76rem; font-weight: 850; white-space: nowrap; }
.transfer-import-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0 0 20px; }
.transfer-import-steps article { display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #f8fafc; color: #83909d; }
.transfer-import-steps article.active { border-color: #bcd9ef; background: linear-gradient(135deg,#eef8ff,#fff); color: var(--wine-dark); }
.transfer-import-steps article > span { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: #e7edf2; font-weight: 900; }
.transfer-import-steps article.active > span { background: #176aa2; color: white; }
.transfer-import-steps strong,.transfer-import-steps small { display: block; }
.transfer-import-steps small { margin-top: 2px; font-size: .67rem; color: var(--muted); }
.transfer-import-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(270px,.75fr); gap: 18px; margin-bottom: 22px; }
.transfer-upload-card,.transfer-template-card { margin: 0; }
.transfer-upload-card h2,.transfer-template-card h2 { margin: 5px 0; color: var(--wine-dark); font-family: Georgia,serif; }
.transfer-upload-card > p,.transfer-template-card > p { color: var(--muted); }
.transfer-upload-icon { float: right; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: linear-gradient(145deg,#e2f3ff,#fff); color: #126695; font-size: 1.7rem; box-shadow: 0 8px 24px rgba(12,90,145,.1); }
.transfer-file-picker { display: flex; align-items: center; gap: 12px; margin: 20px 0 12px; padding: 14px; border: 1px dashed #9ec6df; border-radius: 15px; background: #f5fbff; cursor: pointer; }
.transfer-file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.transfer-file-picker span { padding: 8px 12px; border-radius: 10px; background: #12699f; color: white; font-size: .77rem; font-weight: 850; }
.transfer-file-picker small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.transfer-column-list { margin: 14px 0; padding: 0; list-style: none; }
.transfer-column-list li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
.transfer-column-list span { color: var(--muted); text-align: right; }
.muted-copy { font-size: .74rem; }
.transfer-upload-message { margin-top: 12px; padding: 10px 12px; border-radius: 11px; font-size: .76rem; font-weight: 750; }
.transfer-upload-message.is-working { background: #eef7fd; color: #24678f; }
.transfer-upload-message.is-success { background: #edf9f3; color: #28765b; }
.transfer-upload-message.is-error { background: #fff0f0; color: #a43d3d; }
.transfer-preview { scroll-margin-top: 18px; }
.transfer-preview[hidden] { display: none; }
.transfer-summary-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 11px; margin: 14px 0 18px; }
.transfer-summary-grid article { padding: 14px 16px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.transfer-summary-grid strong,.transfer-summary-grid span { display: block; }
.transfer-summary-grid strong { color: var(--wine-dark); font: 700 1.75rem Georgia,serif; }
.transfer-summary-grid span { color: var(--muted); font-size: .69rem; font-weight: 800; }
.transfer-summary-grid .tone-ready { background: #effaf4; border-color: #c8e7d5; }
.transfer-summary-grid .tone-warning,.transfer-summary-grid .tone-unchanged { background: #fff9ec; border-color: #ead9ae; }
.transfer-summary-grid .tone-blocked { background: #fff1f1; border-color: #edcccc; }
.transfer-blocked-notice { background: #fff1f1; border-color: #edcccc; }
.transfer-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 17px; background: white; }
.transfer-preview-table { min-width: 1040px; margin: 0; }
.transfer-preview-table td { vertical-align: top; }
.transfer-preview-table td small { display: block; margin-top: 3px; color: var(--muted); }
.transfer-preview-table ul { margin: 0; padding-left: 16px; color: #815337; font-size: .7rem; }
.transfer-status { display: inline-block; padding: 5px 8px; border-radius: 999px; font-size: .63rem; font-weight: 900; text-transform: capitalize; }
.transfer-status.ready { background: #dff5e9; color: #247251; }
.transfer-status.warning,.transfer-status.unchanged { background: #fff0c9; color: #8a6414; }
.transfer-status.blocked { background: #ffe0e0; color: #a53b3b; }
.transfer-clear { color: #28765b; font-size: .7rem; font-weight: 800; }
.transfer-stage-note { margin-top: 16px; }
.stage-two-seal { border-color: #b9dccb; background: #effaf4; color: #246e52; }
.transfer-approval-card { display: grid; gap: 14px; margin-top: 18px; padding: 20px; border: 1px solid #badacb; border-radius: 18px; background: linear-gradient(135deg,#f1fbf6,#fff); box-shadow: 0 10px 28px rgba(25,105,73,.08); }
.transfer-approval-card[hidden] { display: none; }
.transfer-approval-card h3 { margin: 4px 0; color: var(--wine-dark); font-family: Georgia,serif; }
.transfer-approval-card p { margin: 0; color: var(--muted); }
.transfer-warning-choice { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid #ead9ae; border-radius: 12px; background: #fff9ec; color: #755915; font-size: .76rem; font-weight: 750; }
.transfer-confirm-label { display: grid; gap: 7px; color: var(--wine-dark); font-size: .76rem; }
.transfer-confirm-label input { max-width: 340px; padding: 11px 12px; border: 1px solid #a9c9ba; border-radius: 10px; font: inherit; letter-spacing: .04em; }
.transfer-approval-card .button { justify-self: start; }
.transfer-result-message strong,.transfer-result-message span { display: block; }
.transfer-result-message span { margin-top: 3px; font-weight: 650; }
.transfer-row-applied { opacity: .68; background: #f2faf6; }
@media (max-width: 900px) { .transfer-import-layout { grid-template-columns: 1fr; } .transfer-summary-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 650px) { .transfer-import-heading { align-items: flex-start; } .preview-only-seal { white-space: normal; } .transfer-import-steps { grid-template-columns: repeat(2,1fr); } .transfer-summary-grid { grid-template-columns: repeat(2,1fr); } }
.audit-row p { margin: 8px 0 0; color: var(--muted); }

@media (max-width: 1180px) {
  .verification-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .verification-row { grid-template-columns: 1fr; }
  .verification-row .record-actions { margin-left: 82px; }
}
@media (max-width: 760px) {
  .verification-hero { grid-template-columns: 1fr; }
  .verification-flower { display: none; }
  .verification-progress-row { grid-template-columns: 1fr; }
  .verification-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .verification-form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .photo-uploader { grid-template-columns: 1fr; text-align: center; }
  .photo-preview-shell { margin: 0 auto; }
  .verify-sister-header { align-items: flex-start; flex-wrap: wrap; }
  .verify-sister-header .verification-pill { margin-left: 98px; }
}
@media (max-width: 520px) {
  .verification-summary-grid { grid-template-columns: 1fr; }
  .verification-row .record-actions { margin-left: 0; }
}

/* v0.5 Generalate houses and community profiles */
.community-focus-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 30px;
  align-items: center;
  padding: clamp(30px, 5vw, 56px);
  border-radius: 32px;
  color: white;
  background:
    radial-gradient(circle at 14% 86%, rgba(255,232,172,.16), transparent 25%),
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.17), transparent 24%),
    linear-gradient(135deg, #062f62 0%, #0b5aa8 58%, #70b6ea 100%);
  box-shadow: 0 22px 58px rgba(8,61,118,.18);
}
.community-focus-hero::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -130px;
  bottom: -210px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(255,255,255,.035), 0 0 0 96px rgba(255,255,255,.02);
}
.community-hero-copy { position: relative; z-index: 2; }
.community-hero-copy h1 { margin: 8px 0 12px; font: 600 clamp(2.2rem, 5vw, 4.3rem)/1.03 Georgia, serif; max-width: 900px; }
.community-hero-copy > p { max-width: 850px; margin: 0; color: rgba(255,255,255,.84); font-size: 1.02rem; }
.community-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.community-hero-stats span { display: inline-flex; align-items: baseline; gap: 7px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.09); font-size: .76rem; }
.community-hero-stats strong { color: #ffe7a2; font: 700 1.05rem Georgia, serif; }
.community-globe { position: relative; z-index: 2; width: 180px; height: 180px; display: grid; place-items: center; justify-self: end; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(255,255,255,.09); box-shadow: inset 0 0 0 16px rgba(255,255,255,.04); }
.community-globe span { color: #ffe6a0; font: 600 4.8rem Georgia, serif; transform: translateY(-5px); }
.community-globe small { position: absolute; bottom: 31px; color: white; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.community-page-heading { margin-top: 24px; }
.community-summary-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.community-summary-strip article { padding: 16px 18px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: 0 7px 21px rgba(8,61,118,.04); }
.community-summary-strip span, .community-summary-strip strong { display: block; }
.community-summary-strip span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.community-summary-strip strong { margin-top: 3px; color: var(--wine-dark); font: 700 1.8rem Georgia, serif; }
.community-toolbar { display: grid; grid-template-columns: minmax(250px,1.35fr) repeat(4,minmax(150px,.72fr)); gap: 12px; align-items: end; padding: 17px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 8px 24px rgba(8,61,118,.04); }
.community-toolbar label { display: grid; gap: 6px; min-width: 0; }
.community-toolbar label > span { color: var(--muted); font-size: .7rem; font-weight: 850; }
.community-toolbar input, .community-toolbar select { width: 100%; min-height: 46px; border: 1px solid #c9d9e8; border-radius: 13px; padding: 10px 12px; color: var(--ink); background: white; }
.community-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.community-card { position: relative; overflow: hidden; border: 1px solid #d5e4f1; border-radius: 25px; background: white; box-shadow: 0 12px 32px rgba(8,61,118,.075); transition: transform .2s ease, box-shadow .2s ease; }
.community-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(8,61,118,.12); }
.community-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 7px; background: linear-gradient(90deg, #0b4f9c, #68b4eb, #d6b865); }
.community-card-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 17px 17px 4px; }
.country-bubble { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #edf6ff; border: 1px solid #d7e8f6; font-size: 1.15rem; }
.community-card-symbol { margin: 1px 17px 10px; padding: 18px; border-radius: 18px; text-align: center; background: linear-gradient(135deg, #eaf5ff, #f8fbff); border: 1px solid #dceaf5; }
.community-card-symbol span { display: block; color: var(--wine); font: 700 2rem Georgia, serif; }
.community-card-symbol small { color: #56728e; font-size: .66rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.community-card-body { padding: 0 19px 19px; }
.community-location { margin: 0; color: var(--gold); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.community-card h3 { margin: 4px 0 2px; color: var(--wine-dark); font: 700 1.35rem/1.15 Georgia, serif; }
.community-official-name { margin: 3px 0 8px; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.community-ministry { margin: 9px 0; color: #315b84; font-weight: 800; font-size: .8rem; }
.community-counts { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 13px 0 8px; }
.community-counts span { padding: 9px 7px; border-radius: 12px; background: #f5f9fd; color: var(--muted); text-align: center; font-size: .63rem; }
.community-counts strong { display: block; color: var(--wine); font: 700 1.05rem Georgia, serif; }
.community-progress { margin: 8px 0 12px; }
.community-address { min-height: 50px; margin: 0; color: var(--muted); font-size: .74rem; }
.community-card-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }

.community-profile-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 185px minmax(0,1fr); gap: 30px; align-items: center; padding: clamp(28px,5vw,50px); border-radius: 31px; color: white; background: linear-gradient(135deg,#07366d,#0c63b5 62%,#6db7ec); box-shadow: 0 21px 54px rgba(8,61,118,.18); }
.community-profile-hero::after { content: "♡"; position: absolute; right: 4%; bottom: -34px; color: rgba(255,255,255,.08); font: 700 13rem Georgia, serif; }
.community-profile-emblem { position: relative; z-index: 2; width: 165px; height: 165px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); box-shadow: inset 0 0 0 13px rgba(255,255,255,.045); }
.community-profile-emblem span { font-size: 4.3rem; }
.community-profile-emblem small { position: absolute; bottom: 25px; color: #ffe4a0; font-weight: 900; letter-spacing: .15em; }
.community-profile-copy { position: relative; z-index: 2; }
.community-profile-copy h1 { margin: 7px 0 4px; font: 600 clamp(2.2rem,5vw,4rem)/1.04 Georgia, serif; }
.community-profile-official { margin: 0 0 11px; color: rgba(255,255,255,.71); font-size: .86rem; }
.community-profile-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin: 20px 0; }
.community-profile-summary article { padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.community-profile-summary span, .community-profile-summary strong { display: block; }
.community-profile-summary span { color: var(--muted); font-size: .68rem; font-weight: 850; }
.community-profile-summary strong { margin-top: 4px; color: var(--wine-dark); font: 700 1.45rem Georgia, serif; text-transform: capitalize; }
.community-profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.pre-line { white-space: pre-line; }
.community-people-section, .community-institutions-section, .community-record-panel { margin-top: 22px; padding: 22px; border: 1px solid var(--line); border-radius: 24px; background: white; box-shadow: 0 9px 28px rgba(8,61,118,.045); }
.community-sister-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.community-sister-card { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 14px; border: 1px solid #dce8f2; border-radius: 17px; background: linear-gradient(135deg,#f8fbff,#fff); }
.community-sister-card img, .community-sister-avatar { width: 70px; height: 70px; border-radius: 50%; border: 4px solid white; object-fit: cover; box-shadow: 0 7px 18px rgba(8,61,118,.11); }
.community-sister-avatar { display: grid; place-items: center; background: #eaf4ff; color: var(--wine); font: 700 2rem Georgia, serif; }
.community-sister-card small { color: var(--gold); font-size: .63rem; font-weight: 900; }
.community-sister-card h3 { margin: 2px 0; color: var(--wine-dark); font: 700 1.02rem Georgia, serif; }
.community-sister-card p { margin: 0 0 6px; color: var(--muted); font-size: .72rem; }
.community-empty-panel { padding: 30px; border: 1px dashed #c8ddec; border-radius: 19px; text-align: center; background: #f8fbff; }
.community-empty-panel > div { color: #67a7dc; font: 700 2.8rem Georgia, serif; }
.community-empty-panel h3 { margin: 4px 0; color: var(--wine-dark); font-family: Georgia, serif; }
.community-empty-panel p { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: .8rem; }
.community-empty-panel.small { padding: 22px; }
.community-institution-grid { display: grid; gap: 10px; }
.community-institution-grid article { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid #dce8f2; border-radius: 15px; background: #fbfdff; }
.institution-mini-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--wine); background: #eaf4ff; }
.community-institution-grid small { color: var(--gold); font-size: .63rem; font-weight: 900; text-transform: uppercase; }
.community-institution-grid h3 { margin: 1px 0; color: var(--wine-dark); font: 700 1rem Georgia, serif; }
.community-institution-grid p { margin: 0; color: var(--muted); font-size: .71rem; }
.community-record-panel { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 25px; }
.community-record-panel h2 { margin: 3px 0 8px; color: var(--wine-dark); font-family: Georgia, serif; }
.community-record-panel p { color: var(--muted); }
.community-record-panel dl { margin: 0; }
.community-record-panel dl div { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding: 10px 0; border-top: 1px solid #e5edf4; }
.community-record-panel dt { color: var(--muted); font-size: .72rem; font-weight: 850; }
.community-record-panel dd { margin: 0; font-size: .78rem; }
.verify-community-header { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; padding: 18px; border: 1px solid #cfe2f3; border-radius: 20px; background: linear-gradient(135deg,#eaf5ff,#fff); }
.verify-community-icon { width: 82px; height: 82px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: white; color: var(--wine); font: 700 2rem Georgia, serif; box-shadow: 0 8px 22px rgba(8,61,118,.11); }
.verify-community-header small { color: var(--gold); font-size: .68rem; font-weight: 900; text-transform: uppercase; }
.verify-community-header h2 { margin: 2px 0; color: var(--wine-dark); font-family: Georgia, serif; }
.verify-community-header p { margin: 0; color: var(--muted); }
.verify-community-header .verification-pill { margin-left: auto; }
.community-verification-person .verification-avatar { font-size: 1.75rem; }

@media (max-width: 1220px) {
  .community-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-search-field { grid-column: 1 / -1; }
  .community-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .community-focus-hero, .community-profile-hero { grid-template-columns: 1fr; }
  .community-globe { display: none; }
  .community-profile-emblem { width: 120px; height: 120px; }
  .community-profile-emblem span { font-size: 3rem; }
  .community-profile-emblem small { bottom: 14px; }
  .community-summary-strip, .community-profile-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-profile-grid, .community-record-panel { grid-template-columns: 1fr; }
  .community-sister-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .community-toolbar { grid-template-columns: 1fr; }
  .community-search-field { grid-column: auto; }
  .community-card-grid { grid-template-columns: 1fr; }
  .community-summary-strip, .community-profile-summary { grid-template-columns: 1fr 1fr; }
  .community-sister-card { grid-template-columns: 62px minmax(0,1fr); }
  .community-sister-card img, .community-sister-avatar { width: 60px; height: 60px; }
  .community-sister-card > a { grid-column: 2; justify-self: start; }
  .community-record-panel dl div { grid-template-columns: 1fr; gap: 3px; }
  .verify-community-header { align-items: flex-start; flex-wrap: wrap; }
  .verify-community-header .verification-pill { margin-left: 98px; }
}
.detail-link { color: var(--wine); font-weight: 850; }
.detail-link:hover { text-decoration: underline; }

/* v0.6.0 - Generalate hierarchy and admission-number community assignment */
.leadership-hierarchy-section {
  margin: 26px 0 34px;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid #cfe2f4;
  border-radius: 28px;
  background:
    radial-gradient(circle at 8% 10%, rgba(255,255,255,.95), transparent 22%),
    linear-gradient(145deg, #fafdff, #eef7ff 62%, #e6f2ff);
  box-shadow: 0 18px 45px rgba(16, 83, 145, .1);
  overflow: hidden;
}
.hierarchy-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.hierarchy-heading h2 { margin: 5px 0 7px; font-family: Georgia, serif; color: var(--wine-dark); font-size: clamp(1.8rem, 3vw, 2.7rem); }
.hierarchy-heading p { margin: 0; max-width: 820px; color: var(--muted); }
.hierarchy-heart { width: 74px; height: 74px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #b18a2d; background: rgba(255,255,255,.9); border: 1px solid #d9e8f6; font-family: Georgia, serif; font-size: 2.7rem; box-shadow: 0 8px 20px rgba(21, 91, 151, .1); }
.hierarchy-tree { position: relative; display: grid; justify-items: center; }
.hierarchy-tier { width: 100%; display: grid; justify-items: center; }
.hierarchy-tier-label { display: inline-flex; align-items: center; min-height: 31px; margin-bottom: 11px; padding: 6px 13px; border-radius: 999px; background: #0b5ca8; color: white; font-size: .73rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 6px 14px rgba(12, 83, 151, .14); }
.tier-superior .hierarchy-tier-label { background: linear-gradient(135deg, #073b75, #0b66b7); }
.tier-vicaress .hierarchy-tier-label { background: linear-gradient(135deg, #175f9e, #2b83cc); }
.tier-officers .hierarchy-tier-label { background: linear-gradient(135deg, #355f88, #5b8fb9); }
.hierarchy-person-card {
  width: min(100%, 360px);
  min-height: 118px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid #c9deef;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(15, 72, 125, .09);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hierarchy-person-card:hover { transform: translateY(-3px); border-color: #77afe0; box-shadow: 0 17px 34px rgba(15, 72, 125, .15); }
.hierarchy-person-card.featured { width: min(100%, 430px); border-color: #87b9e3; box-shadow: 0 15px 34px rgba(8, 71, 131, .15); }
.hierarchy-person-card.prominent { width: min(100%, 400px); }
.hierarchy-person-card.officer { background: linear-gradient(145deg, #fff, #f7fbff); }
.hierarchy-person-card img, .hierarchy-avatar { width: 82px; height: 82px; border-radius: 50%; object-fit: cover; border: 4px solid #e7f3fd; box-shadow: 0 6px 15px rgba(10, 73, 132, .13); }
.hierarchy-avatar { display: grid; place-items: center; background: #eaf5ff; color: #176bb5; font-family: Georgia, serif; font-size: 2.1rem; }
.hierarchy-person-card small { color: #6f8091; font-size: .71rem; font-weight: 800; }
.hierarchy-person-card h3 { margin: 4px 0 5px; font-family: Georgia, serif; color: #073662; font-size: 1.08rem; line-height: 1.2; }
.hierarchy-person-card p { margin: 0; color: #587087; font-size: .82rem; line-height: 1.35; }
.hierarchy-card-row { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.hierarchy-card-row .hierarchy-person-card { flex: 1 1 290px; max-width: 370px; }
.hierarchy-connector { width: 2px; height: 34px; margin: 2px 0 7px; background: linear-gradient(#7eb4e0, #c2daee); }
.hierarchy-connector.branching { position: relative; height: 42px; }
.hierarchy-connector.branching::after { content: ""; position: absolute; left: 50%; bottom: 0; width: min(48vw, 430px); height: 1px; transform: translateX(-50%); background: #bfd9ed; }
.all-profiles-heading { margin-top: 26px; }

.assignment-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: center;
  gap: 24px;
  margin: 18px 0 26px;
  padding: clamp(28px, 5vw, 48px);
  border-radius: 28px;
  color: white;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.16), transparent 25%),
    linear-gradient(135deg, #06396f, #0b63b2 62%, #55a5e6);
  box-shadow: 0 20px 48px rgba(7, 68, 128, .2);
}
.assignment-hero h1 { margin: 7px 0 12px; font-family: Georgia, serif; font-size: clamp(2.1rem, 4vw, 3.8rem); line-height: 1.05; }
.assignment-hero p { max-width: 850px; margin: 0; color: rgba(255,255,255,.84); }
.assignment-hero-symbol { width: 155px; height: 155px; justify-self: center; display: grid; place-items: center; position: relative; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); box-shadow: 0 0 0 15px rgba(255,255,255,.04); }
.assignment-hero-symbol span { color: #fff0bd; font-family: Georgia, serif; font-size: 4.8rem; transform: translateY(-4px); }
.assignment-hero-symbol small { position: absolute; bottom: 27px; font-weight: 900; color: rgba(255,255,255,.87); }
.assignment-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr); gap: 22px; align-items: start; }
.form-card, .current-community-panel { background: white; border: 1px solid var(--line); border-radius: 24px; padding: clamp(20px, 3vw, 30px); box-shadow: var(--shadow); }
.form-card-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.form-card-heading.compact { margin-bottom: 16px; }
.form-card-heading h2 { margin: 3px 0 5px; font-family: Georgia, serif; color: var(--wine-dark); }
.form-card-heading p { margin: 0; color: var(--muted); }
.form-step { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #0a4f93, #2d8bd4); color: white; font-weight: 900; box-shadow: 0 7px 15px rgba(12, 82, 146, .18); }
.compact-gentle-note { margin-top: 20px; }
.assignment-result-panel { margin: 0 0 24px; padding: 22px; border: 1px solid #bfe0cc; border-radius: 22px; background: linear-gradient(145deg, #fbfffc, #f0fbf4); }
.assignment-result-heading { display: flex; align-items: center; gap: 14px; }
.assignment-result-heading > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #1d8d53; color: white; font-weight: 900; }
.assignment-result-heading h2 { margin: 0 0 4px; font-family: Georgia, serif; color: #145d3a; }
.assignment-result-heading p { margin: 0; color: #527363; }
.assignment-result-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.assignment-result-grid article { display: grid; justify-items: center; padding: 14px; border-radius: 16px; background: white; border: 1px solid #cce7d6; }
.assignment-result-grid article.needs-attention { border-color: #ecd49e; background: #fffaf0; }
.assignment-result-grid strong { color: #0c5a36; font-size: 1.6rem; }
.assignment-result-grid span { color: #5b7465; font-size: .78rem; font-weight: 800; }
.assignment-name-list { display: grid; gap: 8px; margin-top: 16px; }
.assignment-name-list a { display: grid; grid-template-columns: 125px minmax(0,1fr) 170px; gap: 12px; align-items: center; padding: 11px 13px; border: 1px solid #d7eadf; border-radius: 13px; background: white; color: inherit; text-decoration: none; }
.assignment-name-list a:hover { border-color: #7ab99a; }
.assignment-name-list span, .assignment-name-list small { color: var(--muted); font-size: .76rem; }
.missing-admission-panel { margin-top: 17px; padding: 17px; border-radius: 16px; border: 1px solid #edd8a9; background: #fffaf0; }
.missing-admission-panel h3 { margin: 0 0 5px; color: #7e5a13; }
.missing-admission-panel p { margin: 0 0 12px; color: #806f4c; }
.missing-admission-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.current-member-list { display: grid; gap: 10px; }
.current-member-list article { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 11px; align-items: start; padding: 13px; border: 1px solid #d6e5f2; border-radius: 16px; background: linear-gradient(145deg, #fff, #f7fbff); }
.member-order, .community-sister-order { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: #0c5da8; color: white; font-size: .72rem; font-weight: 900; }
.current-member-list small { color: var(--muted); }
.current-member-list h3 { margin: 3px 0 3px; font-family: Georgia, serif; color: var(--wine-dark); font-size: 1rem; }
.current-member-list p { margin: 0 0 4px; color: var(--muted); font-size: .78rem; }
.current-member-list strong { color: #1265ad; font-size: .76rem; }
.current-member-list a { color: #0b5ca8; font-size: .75rem; font-weight: 900; text-decoration: none; }
.community-sister-card { position: relative; }
.community-sister-order { position: absolute; top: 10px; left: 10px; z-index: 2; box-shadow: 0 4px 10px rgba(5,72,133,.15); }
.community-member-ministry { display: block; margin: 4px 0 9px; color: #0c62ac; font-size: .76rem; }

@media (max-width: 900px) {
  .assignment-layout { grid-template-columns: 1fr; }
  .assignment-hero { grid-template-columns: 1fr; }
  .assignment-hero-symbol { display: none; }
}
@media (max-width: 700px) {
  .hierarchy-heading { align-items: flex-start; }
  .hierarchy-heart { display: none; }
  .hierarchy-person-card, .hierarchy-person-card.featured, .hierarchy-person-card.prominent { width: 100%; grid-template-columns: 68px minmax(0,1fr); }
  .hierarchy-person-card img, .hierarchy-avatar { width: 68px; height: 68px; }
  .hierarchy-card-row { display: grid; grid-template-columns: 1fr; }
  .hierarchy-card-row .hierarchy-person-card { max-width: none; }
  .hierarchy-connector.branching::after { width: 60vw; }
  .assignment-result-grid { grid-template-columns: 1fr; }
  .assignment-name-list a { grid-template-columns: 1fr; gap: 3px; }
}

/* v0.7.0 - Community family, members and responsibilities */
.community-family-section { margin-top: 30px; }
.community-family-group { margin-top: 22px; padding: clamp(18px, 3vw, 28px); border: 1px solid #d4e5f4; border-radius: 25px; background: linear-gradient(145deg, #ffffff, #f7fbff); box-shadow: 0 12px 32px rgba(9, 75, 135, .065); }
.official-family-group { background: linear-gradient(145deg, #fffdf7, #f7fbff); border-color: #eadcb6; }
.leadership-family-group { background: linear-gradient(145deg, #f7fbff, #eef7ff); }
.members-family-group { background: linear-gradient(145deg, #fff, #fbfdff); }
.community-family-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.family-icon { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(145deg, #0a4f92, #318bd2); color: white; font: 700 1.5rem Georgia, serif; box-shadow: 0 8px 17px rgba(8, 79, 145, .15); }
.official-family-group .family-icon { color: #74550d; background: linear-gradient(145deg, #fff1bd, #e6c76b); }
.community-family-heading small { color: var(--gold); font-size: .69rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.community-family-heading h3 { margin: 2px 0 3px; color: var(--wine-dark); font: 700 1.35rem Georgia, serif; }
.community-family-heading p { margin: 0; color: var(--muted); font-size: .8rem; }
.community-family-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.community-family-card { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 14px; align-items: start; padding: 16px; border: 1px solid #d4e4f2; border-radius: 20px; background: white; box-shadow: 0 8px 22px rgba(8, 70, 128, .055); }
.community-family-card.official-card { border-color: #e5d7ad; }
.community-family-card.leadership-card { border-left: 5px solid #247fc7; }
.community-family-card.member-card { border-left: 5px solid #8bbbe1; }
.community-family-card img, .community-family-card .community-sister-avatar { width: 82px; height: 82px; border-radius: 50%; object-fit: cover; border: 4px solid #e9f4fd; }
.family-card-copy small { color: #728496; font-size: .69rem; font-weight: 800; }
.family-card-copy h3 { margin: 3px 0 9px; color: #073763; font: 700 1.08rem Georgia, serif; }
.family-detail { display: grid; gap: 2px; margin: 7px 0; }
.family-detail span { color: #8392a0; font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.family-detail strong { color: #35566f; font-size: .78rem; line-height: 1.35; }
.family-card-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 7px; padding-top: 10px; border-top: 1px solid #e8f0f6; }
.community-room-placeholder { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 17px; border: 1px dashed #a9cbe6; border-radius: 18px; background: rgba(255,255,255,.7); }
.community-room-placeholder > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #e8f4ff; color: #1768ad; font: 700 1.5rem Georgia, serif; }
.community-room-placeholder h3 { margin: 0 0 3px; color: var(--wine-dark); font: 700 1rem Georgia, serif; }
.community-room-placeholder p { margin: 0; color: var(--muted); font-size: .76rem; }

.community-room-hero { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 24px; align-items: center; margin: 18px 0 24px; padding: clamp(28px, 5vw, 48px); border-radius: 29px; color: white; background: radial-gradient(circle at 84% 12%, rgba(255,255,255,.17), transparent 25%), linear-gradient(135deg, #073b73, #1169b7 65%, #68b1e9); box-shadow: 0 20px 48px rgba(6, 69, 130, .2); }
.community-room-hero h1 { margin: 6px 0 11px; font: 700 clamp(2rem, 4vw, 3.6rem)/1.06 Georgia, serif; }
.community-room-hero p { max-width: 850px; margin: 0; color: rgba(255,255,255,.84); }
.community-room-symbol { width: 150px; height: 150px; display: grid; place-items: center; position: relative; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); box-shadow: 0 0 0 14px rgba(255,255,255,.04); }
.community-room-symbol span { color: #fff1bf; font-size: 4.4rem; }
.community-room-symbol small { position: absolute; bottom: 25px; color: white; font-size: .68rem; font-weight: 900; }
.community-room-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr); gap: 20px; align-items: start; }
.community-room-summary { padding: 25px; border: 1px solid #d3e4f2; border-radius: 24px; background: linear-gradient(145deg, #f5faff, #fff); box-shadow: var(--shadow); }
.community-room-summary h2 { margin: 5px 0 16px; color: var(--wine-dark); font-family: Georgia, serif; }
.community-room-summary > p { color: var(--muted); font-size: .8rem; line-height: 1.55; }
.room-stat { display: grid; grid-template-columns: 58px 1fr; gap: 12px; align-items: center; margin: 10px 0; padding: 12px; border-radius: 16px; background: white; border: 1px solid #dae8f3; }
.room-stat strong { color: #0c61aa; font: 700 1.75rem Georgia, serif; text-align: center; }
.room-stat span { color: #61778a; font-size: .75rem; font-weight: 800; }
.community-roster-section { margin-top: 26px; }
.community-roster-table-wrap { overflow-x: auto; border: 1px solid #d5e4ef; border-radius: 20px; background: white; box-shadow: 0 10px 28px rgba(7, 65, 120, .06); }
.community-roster-table { width: 100%; min-width: 1000px; border-collapse: collapse; }
.community-roster-table th { padding: 12px; color: #607588; background: #f0f7fd; font-size: .68rem; text-align: left; text-transform: uppercase; letter-spacing: .05em; }
.community-roster-table td { padding: 13px 12px; border-top: 1px solid #e5edf4; color: #52697c; font-size: .77rem; vertical-align: top; }
.community-roster-table td:nth-child(2) { min-width: 190px; }
.community-roster-table td small, .community-roster-table td strong, .community-roster-table td span { display: block; }
.community-roster-table td small { color: #8795a1; font-size: .65rem; }
.community-roster-table td strong { margin: 3px 0; color: #073763; font-family: Georgia, serif; font-size: .92rem; }
.roster-type { display: inline-block !important; width: fit-content; margin-top: 5px; padding: 4px 7px; border-radius: 999px; color: #1766a8; background: #e8f4ff; font-size: .62rem; font-weight: 900; }
.roster-manage-button { width: 100%; margin-bottom: 15px; text-align: center; }
.compact-assignment-hero { min-height: 210px; }

@media (max-width: 900px) {
  .community-family-grid, .community-room-layout { grid-template-columns: 1fr; }
  .community-room-hero { grid-template-columns: 1fr; }
  .community-room-symbol { display: none; }
}
@media (max-width: 620px) {
  .community-family-card { grid-template-columns: 64px minmax(0,1fr); }
  .community-family-card img, .community-family-card .community-sister-avatar { width: 64px; height: 64px; }
  .community-room-placeholder { grid-template-columns: 42px 1fr; }
  .community-room-placeholder .button { grid-column: 1 / -1; width: 100%; }
}

/* v0.8.0 - Community, Generalate office and ministry responsibility structure */
.responsibility-hero { background: radial-gradient(circle at 84% 10%, rgba(255,255,255,.18), transparent 26%), linear-gradient(135deg, #073a72, #126bb8 58%, #79bcea); }
.responsibility-layout { grid-template-columns: minmax(0,1.55fr) minmax(280px,.45fr); }
.responsibility-form-card { border-color: #cfe3f4; background: linear-gradient(145deg, #fff, #fbfdff); }
.responsibility-highlight { padding: 14px; border: 1px solid #bcdaf0; border-radius: 16px; background: #f2f9ff; }
.responsibility-highlight > span { color: #07589f; }
.form-section-label { display: flex; align-items: center; gap: 12px; margin: 8px 0 -2px; padding: 13px 15px; border-radius: 16px; background: linear-gradient(135deg, #eaf5ff, #f8fbff); border: 1px solid #cde3f4; }
.form-section-label > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; background: #0b62ac; color: #fff1bc; font-size: 1rem; }
.form-section-label strong, .form-section-label small { display: block; }
.form-section-label strong { color: #073b6c; font-size: .87rem; }
.form-section-label small { margin-top: 2px; color: #647b8f; font-size: .72rem; line-height: 1.4; }
.responsibility-guide { position: sticky; top: 90px; }
.responsibility-guide-item { display: grid; grid-template-columns: 36px 1fr; gap: 11px; align-items: start; margin: 12px 0; padding: 13px; border: 1px solid #d5e7f5; border-radius: 16px; background: white; }
.responsibility-guide-item > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(145deg, #07589f, #328bd1); font-weight: 900; }
.responsibility-guide-item strong { color: #073b6c; }
.responsibility-guide-item p { margin: 3px 0 0; color: #6a7e8f; font-size: .73rem; line-height: 1.45; }
.responsibility-roster-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.responsibility-roster-card { padding: 17px; border: 1px solid #d4e5f2; border-radius: 21px; background: linear-gradient(145deg, #fff, #f9fcff); box-shadow: 0 10px 25px rgba(8,69,126,.06); }
.responsibility-roster-card.is-leadership { border-left: 6px solid #0c67b4; background: linear-gradient(145deg, #fff, #eff8ff); }
.responsibility-card-top { display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: start; margin-bottom: 13px; }
.responsibility-card-top h3 { margin: 2px 0 5px; color: #073862; font: 700 1.06rem Georgia, serif; }
.responsibility-card-top small { color: #7b8c9a; font-size: .68rem; font-weight: 800; }
.responsibility-line { display: grid; gap: 3px; margin: 8px 0; padding: 9px 11px; border-radius: 13px; background: #f5f9fc; border: 1px solid #e1ebf3; }
.responsibility-line span { color: #7d8d9a; font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.responsibility-line strong { color: #355a75; font-size: .78rem; line-height: 1.4; }
.responsibility-line.official-line { background: #fffaf0; border-color: #eadcb2; }
.responsibility-line.official-line strong { color: #755710; }
.responsibility-line.office-line, .office-family-detail { background: #edf7ff; border-color: #cce4f6; }
.responsibility-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e3edf4; }

@media (max-width: 980px) {
  .responsibility-layout, .responsibility-roster-grid { grid-template-columns: 1fr; }
  .responsibility-guide { position: static; }
}
@media (max-width: 620px) {
  .form-section-label { align-items: flex-start; }
  .responsibility-card-actions .button { width: 100%; text-align: center; }
}

/* v0.9.0 - Community Family completion */
.family-completion-hero {
  background:
    radial-gradient(circle at 84% 18%, rgba(255,255,255,.2), transparent 24%),
    radial-gradient(circle at 16% 115%, rgba(209,232,255,.28), transparent 38%),
    linear-gradient(135deg, #063b74, #0d67b5 58%, #72b7ea);
}
.family-setup-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 24px;
}
.family-setup-strip article {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  align-items: center;
  gap: 11px;
  min-height: 76px;
  padding: 13px 14px;
  border: 1px solid #d7e7f3;
  border-radius: 18px;
  background: linear-gradient(145deg, #fff, #f7fbff);
  box-shadow: 0 8px 20px rgba(8,67,121,.05);
}
.family-setup-strip article > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dceaf6;
  color: #426d91;
  font-weight: 900;
}
.family-setup-strip article strong,
.family-setup-strip article small { display: block; }
.family-setup-strip article strong { color: #0a436f; font-size: .83rem; }
.family-setup-strip article small { margin-top: 2px; color: #718596; font-size: .68rem; line-height: 1.35; }
.family-setup-strip article.is-complete { border-color: #a8d6bd; background: linear-gradient(145deg, #fbfffc, #eef9f2); }
.family-setup-strip article.is-complete > span { background: #238457; color: white; }

.admission-preview {
  min-height: 78px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px dashed #aac9e2;
  border-radius: 16px;
  background: #f5faff;
}
.admission-preview-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e3f1fd;
  color: #1165aa;
  font: 700 1.45rem Georgia, serif;
}
.admission-preview strong,
.admission-preview small { display: block; }
.admission-preview strong { color: #0b4777; font-size: .83rem; }
.admission-preview small { margin-top: 3px; color: #6c8192; font-size: .69rem; line-height: 1.4; }
.admission-preview.is-loading { opacity: .7; }
.admission-preview.is-found { border-style: solid; border-color: #a8d9bf; background: #f3fbf6; }
.admission-preview.is-found .admission-preview-icon { background: #d9f2e4; color: #17764a; }
.admission-preview.is-missing { border-style: solid; border-color: #ebc4bd; background: #fff7f5; }
.admission-preview.is-missing .admission-preview-icon { background: #f8dfda; color: #a44435; }
.verification-checkbox { background: #f0f8ff; border: 1px solid #cce3f4; border-radius: 15px; padding: 14px; }
.official-readonly { background: linear-gradient(135deg, #fff9ea, #fffdf7); border-color: #ead8a4; }

.roster-heading-row { align-items: end; }
.roster-mini-summary { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.roster-mini-summary span { padding: 8px 11px; border-radius: 999px; background: #edf6fd; border: 1px solid #cfe3f2; color: #507087; font-size: .72rem; }
.roster-mini-summary strong { color: #0a5b9f; }
.roster-tools {
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) minmax(170px, .5fr) minmax(180px, .5fr);
  gap: 12px;
  margin: 0 0 18px;
  padding: 15px;
  border: 1px solid #d8e7f2;
  border-radius: 19px;
  background: #f8fbfe;
}
.roster-tools label { display: grid; gap: 6px; }
.roster-tools label > span { color: #547187; font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.roster-tools input,
.roster-tools select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cbddea; border-radius: 12px; background: white; color: #173b56; }
.responsibility-roster-card.is-official { border: 1px solid #d9c27b; border-left: 6px solid #b68c24; background: linear-gradient(145deg, #fff, #fffaf0); }
.responsibility-card-top { grid-template-columns: 34px minmax(0,1fr) 28px; }
.assignment-status-dot {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eef2f5;
  color: #8b9aa6;
  font-size: .7rem;
  font-weight: 900;
}
.assignment-status-dot.is-verified { background: #daf2e5; color: #17764a; }
.responsibility-line.workplace-line,
.workplace-family-detail { background: #f4f1ff; border-color: #ddd4f5; }
.responsibility-line.workplace-line strong,
.workplace-family-detail strong { color: #5c4e8d; }
.responsibility-line.secondary-line { background: #fff9ef; border-color: #eddfbf; }
.responsibility-line.secondary-line strong { color: #785d25; }

.assignment-change-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) 110px;
  align-items: center;
  gap: 22px;
  margin: 18px 0 24px;
  padding: clamp(26px, 4vw, 42px);
  border-radius: 26px;
  color: white;
  background: linear-gradient(135deg, #073e78, #1473be 62%, #7cb9e5);
  box-shadow: 0 18px 40px rgba(7,69,127,.16);
}
.assignment-change-hero h1 { margin: 6px 0 10px; font: 700 clamp(2rem,4vw,3.3rem) Georgia, serif; }
.assignment-change-hero p { margin: 0; color: rgba(255,255,255,.85); line-height: 1.6; }
.assignment-change-hero > span { width: 92px; height: 92px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); color: #fff1bd; font-size: 3rem; }
.assignment-change-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); gap: 20px; align-items: start; }
.assignment-action-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 20px; }
.assignment-action-card { position: relative; display: grid; grid-template-columns: 28px 42px 1fr; align-items: center; gap: 10px; padding: 15px; border: 1px solid #d4e4ef; border-radius: 17px; background: #fbfdff; cursor: pointer; }
.assignment-action-card:has(input:checked) { border-color: #5ba0d5; background: #eef7ff; box-shadow: 0 0 0 3px rgba(43,132,198,.09); }
.assignment-action-card > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; background: #e2f0fb; color: #0c63aa; font-size: 1.25rem; }
.assignment-action-card strong,
.assignment-action-card small { display: block; }
.assignment-action-card strong { color: #0a416d; font-size: .82rem; }
.assignment-action-card small { margin-top: 3px; color: #6b8091; font-size: .67rem; line-height: 1.4; }
.history-protection-card { padding: 24px; border: 1px solid #d7e6f1; border-radius: 22px; background: linear-gradient(145deg,#fff,#f3f9fe); box-shadow: var(--shadow); text-align: center; }
.history-protection-card > span { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 50%; background: #e4f2fd; color: #0b68b2; font: 700 2.4rem Georgia,serif; }
.history-protection-card h2 { margin: 0 0 8px; color: #0a416d; font-family: Georgia,serif; }
.history-protection-card p { margin: 0; color: #687e8f; font-size: .78rem; line-height: 1.6; }

@media (max-width: 980px) {
  .family-setup-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .roster-tools { grid-template-columns: 1fr 1fr; }
  .roster-search { grid-column: 1 / -1; }
  .assignment-change-layout { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .family-setup-strip,
  .roster-tools,
  .assignment-action-choices { grid-template-columns: 1fr; }
  .roster-search { grid-column: auto; }
  .assignment-change-hero { grid-template-columns: 1fr; }
  .assignment-change-hero > span { display: none; }
  .admission-preview { grid-column: 1 / -1; }
  .roster-mini-summary { justify-content: flex-start; }
}

/* v1.0.0 Institution Ministry Team */
.institution-summary-strip { margin-bottom: 18px; }
.institution-filter-panel { display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 14px; align-items: center; margin: 0 0 20px; padding: 15px 17px; border: 1px solid #d8e8f4; border-radius: 18px; background: linear-gradient(135deg,#fff,#f1f8fe); box-shadow: 0 8px 24px rgba(12,76,126,.07); }
.institution-filter-panel input { width: 100%; padding: 13px 15px; border: 1px solid #c8deee; border-radius: 14px; background: white; }
.institution-filter-note { color: #607a8e; font-size: .73rem; line-height: 1.5; }
.institution-card-grid { align-items: stretch; }
.institution-directory-card { display: flex; flex-direction: column; min-height: 100%; border-top: 4px solid #78b7e4; background: linear-gradient(160deg,#fff 0%,#f8fcff 72%,#edf7ff 100%); }
.institution-directory-card h2 { margin: 8px 0 6px; }
.institution-place-icon { background: linear-gradient(145deg,#d9efff,#f7fbff); color: #0c65aa; border: 1px solid #c3e0f3; }
.card-title-link { color: inherit; text-decoration: none; }
.card-title-link:hover { color: #0a68b1; }
.institution-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 15px; }
.institution-profile-hero { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 28px; align-items: center; margin: 16px 0 22px; padding: clamp(28px,5vw,52px); border-radius: 30px; color: white; background: radial-gradient(circle at 84% 18%,rgba(255,255,255,.2),transparent 23%), linear-gradient(135deg,#063c78,#0d6cb7 58%,#75b8e8); box-shadow: 0 22px 48px rgba(5,57,105,.18); }
.institution-profile-hero h1 { margin: 6px 0 10px; font: 700 clamp(2rem,4vw,3.4rem) Georgia,serif; }
.institution-hero-icon { width: 116px; height: 116px; display: grid; place-items: center; align-content: center; border-radius: 30px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); box-shadow: inset 0 0 0 6px rgba(255,255,255,.06); }
.institution-hero-icon span { color: #fff2bd; font: 700 3rem Georgia,serif; }
.institution-hero-icon small { margin-top: 4px; color: rgba(255,255,255,.82); font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; }
.institution-team-summary { margin-bottom: 20px; }
.institution-detail-grid { margin-bottom: 26px; }
.institution-team-section { margin-top: 26px; }
.institution-team-group { margin: 18px 0 28px; }
.institution-team-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(285px,1fr)); gap: 16px; }
.institution-member-card { display: flex; flex-direction: column; gap: 14px; padding: 18px; border: 1px solid #d5e6f2; border-radius: 22px; background: linear-gradient(150deg,#fff,#f4faff); box-shadow: 0 11px 30px rgba(8,70,120,.08); }
.institution-member-head { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 13px; align-items: center; }
.institution-member-head img,.institution-member-avatar { width: 62px; height: 62px; border-radius: 19px; object-fit: cover; }
.institution-member-avatar { display: grid; place-items: center; color: #0c69b0; background: #e4f3ff; border: 1px solid #cbe5f7; font: 700 1.8rem Georgia,serif; }
.institution-member-head small,.institution-member-head h3 { display: block; }
.institution-member-head small { color: #73899a; font-size: .65rem; }
.institution-member-head h3 { margin: 3px 0 7px; color: #093e69; font: 700 1.04rem Georgia,serif; }
.designation-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; color: #07558e; background: #e1f1fd; border: 1px solid #c6e3f6; font-size: .65rem; font-weight: 700; }
.institution-member-details { display: grid; gap: 7px; margin: 0; }
.institution-member-details > div { display: grid; grid-template-columns: 108px minmax(0,1fr); gap: 10px; padding-top: 7px; border-top: 1px solid #e4eef5; }
.institution-member-details dt { color: #7a8f9f; font-size: .65rem; }
.institution-member-details dd { margin: 0; color: #294e68; font-size: .72rem; font-weight: 600; }
.institution-assignment-hero { background: radial-gradient(circle at 84% 10%,rgba(255,255,255,.2),transparent 22%),linear-gradient(135deg,#06417e,#0e70ba 62%,#84c0e9); }
.institution-team-layout { align-items: start; }
.institution-admin-team-list { display: grid; gap: 10px; }
.institution-admin-team-row { display: grid; grid-template-columns: minmax(220px,1.25fr) minmax(180px,1fr) minmax(150px,.85fr) auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid #dce9f2; border-radius: 17px; background: #fbfdff; }
.institution-admin-team-row small,.institution-admin-team-row strong,.institution-admin-team-row span { display: block; }
.institution-admin-team-row small { color: #7c91a0; font-size: .62rem; }
.institution-admin-team-row strong { margin: 3px 0; color: #123f60; font-size: .76rem; }
.institution-admin-team-row span { color: #6c8291; font-size: .66rem; line-height: 1.4; }
.institution-admin-person { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 10px; align-items: center; }
.small-heart-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #0c6cb4; background: #e4f3ff; font: 700 1.3rem Georgia,serif; }
.institution-row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.soft-count { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 999px; color: #0d5d99; background: #e5f3fe; font-size: .68rem; font-weight: 700; }
.sister-institution-panel { margin-top: 24px; }
.sister-institution-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 14px; }
.sister-institution-list > article { display: flex; flex-direction: column; gap: 13px; padding: 18px; border: 1px solid #d6e6f2; border-radius: 20px; background: linear-gradient(145deg,#fff,#f5faff); }
.sister-institution-list h3 { margin: 3px 0 8px; color: #0a416d; font: 700 1.05rem Georgia,serif; }
.sister-institution-list small { color: #708999; text-transform: uppercase; letter-spacing: .08em; font-size: .58rem; }
.sister-institution-list dl { display: grid; gap: 7px; margin: 0; }
.sister-institution-list dl > div { display: grid; grid-template-columns: 105px 1fr; gap: 8px; padding-top: 7px; border-top: 1px solid #e2edf4; }
.sister-institution-list dt { color: #7a8d9b; font-size: .64rem; }
.sister-institution-list dd { margin: 0; color: #34566d; font-size: .7rem; font-weight: 600; }
.assignment-end-card { max-width: 760px; margin: 28px auto; }
.compact-empty { padding: 18px; }
@media (max-width: 980px) {
  .institution-filter-panel,.institution-admin-team-row { grid-template-columns: 1fr 1fr; }
  .institution-row-actions { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .institution-filter-panel,.institution-profile-hero,.institution-admin-team-row { grid-template-columns: 1fr; }
  .institution-hero-icon { display: none; }
  .institution-team-grid,.sister-institution-list { grid-template-columns: 1fr; }
}

/* v1.1 Under Generalate ministries and living history */
.ministry-hub-summary { margin-bottom: 1.25rem; }
.ministry-hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.ministry-hub-card { position: relative; display: flex; min-height: 280px; flex-direction: column; gap: .8rem; padding: 1.35rem; border: 1px solid rgba(44,94,168,.16); border-radius: 28px; background: linear-gradient(145deg,#fff,#eef6ff); color: inherit; text-decoration: none; box-shadow: 0 16px 35px rgba(31,77,137,.09); overflow: hidden; }
.ministry-hub-card::after { content: ''; position: absolute; width: 150px; height: 150px; right: -55px; bottom: -65px; border: 28px solid rgba(70,132,214,.08); border-radius: 50%; }
.ministry-hub-card:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(31,77,137,.14); }
.ministry-card-icon,.ministry-detail-symbol { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 20px; background: #1d5da8; color: #fff; font-size: 1.7rem; box-shadow: 0 10px 20px rgba(29,93,168,.2); }
.ministry-medical .ministry-card-icon { background: #2b7da8; }
.ministry-social .ministry-card-icon { background: #5278b9; }
.ministry-card-stats { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; }
.ministry-card-stats span { padding: .48rem .65rem; border-radius: 999px; background: rgba(44,94,168,.08); font-size: .78rem; }
.ministry-card-stats strong { font-size: 1rem; color: #174c87; }
.ministry-open { position: relative; z-index: 1; color: #174c87; font-weight: 800; }
.ministry-detail-hero { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.2rem; margin-bottom: 1.25rem; padding: 1.6rem; border-radius: 30px; color: #fff; background: linear-gradient(135deg,#0f4f93,#347ec8); }
.ministry-detail-symbol { width: 76px; height: 76px; background: rgba(255,255,255,.18); font-size: 2.1rem; }
.ministry-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.linked-record { text-decoration: none; color: inherit; }
.ministry-sisters-panel { margin-top: 1rem; }
.ministry-badge-row { display: flex; flex-wrap: wrap; gap: .45rem; margin: .85rem 0; }
.ministry-badge-row a { padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,255,255,.14); color: inherit; text-decoration: none; font-weight: 800; font-size: .78rem; }
.entity-history-section { margin-top: 1.2rem; padding: 1.25rem; border: 1px solid rgba(44,94,168,.13); border-radius: 28px; background: linear-gradient(145deg,#fff,#f5f9ff); }
.history-timeline { display: grid; gap: .85rem; }
.history-timeline article { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; padding: 1rem; border-left: 4px solid #3b82c4; border-radius: 16px; background: #fff; box-shadow: 0 8px 20px rgba(31,77,137,.07); }
.history-timeline time { color: #174c87; font-weight: 900; }
.history-timeline h3 { margin: .2rem 0 .35rem; }
.history-timeline p { margin: 0 0 .35rem; }
.history-admin-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: 1rem; align-items: start; }
.history-admin-list { padding: 1.2rem; border-radius: 24px; background: #f3f8ff; border: 1px solid rgba(44,94,168,.13); }
.compact-history article { grid-template-columns: 1fr; }
.assignment-result-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
@media (max-width: 1050px) { .ministry-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .history-admin-layout { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .ministry-hub-grid,.ministry-detail-grid { grid-template-columns: 1fr; } .ministry-detail-hero { grid-template-columns: 1fr; } .history-timeline article { grid-template-columns: 1fr; } .assignment-result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* v1.2.0 - FIHM design polish and Under Generalate completion dashboard */
:root {
  --blue-950: #05254e;
  --blue-900: #07356f;
  --blue-800: #0a4d98;
  --blue-700: #1268ba;
  --blue-100: #eaf4ff;
  --blue-50: #f6faff;
  --gold-500: #c69b3c;
  --gold-100: #fbf3df;
  --success: #1f7a5a;
  --warning: #a76516;
  --danger: #a33b4b;
}
body { background: linear-gradient(180deg, #f8fbff 0, #f3f8fd 100%); }
body.large-text { font-size: 18px; }
body.large-text .main-content { max-width: 1500px; }

.brand-mark {
  overflow: hidden;
  background: linear-gradient(145deg, #fff, #eef6ff);
  border: 1px solid #cfdfef;
  box-shadow: 0 5px 15px rgba(8,61,118,.1);
}
.brand-mark img { width: 36px; height: 43px; object-fit: contain; }
.icon-button {
  width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px;
  border: 1px solid var(--line); background: white; color: var(--wine); font-weight: 900;
}
.icon-button:hover { background: var(--wine-soft); }

.login-logo {
  width: 92px; height: 100px; padding: 8px; border-radius: 25px;
  background: linear-gradient(145deg, #fff, #eef6ff); border: 1px solid #cbddec;
}
.login-logo img { width: 100%; height: 100%; object-fit: contain; }
.login-card { box-shadow: 0 26px 70px rgba(7,53,111,.14); }

.sidebar { scrollbar-width: thin; scrollbar-color: #bfd3e8 transparent; }
.nav-section-label { margin: 17px 14px 4px; color: #71859a; font-size: .67rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.nav-link { min-height: 46px; transition: background .16s, transform .16s, color .16s; }
.nav-link:hover { transform: translateX(2px); }
.nav-link.active { box-shadow: inset 3px 0 0 var(--wine); }

.polished-dashboard-hero {
  position: relative; overflow: hidden; color: white;
  background:
    radial-gradient(circle at 90% 5%, rgba(255,255,255,.17), transparent 23%),
    radial-gradient(circle at 12% 115%, rgba(105,180,247,.32), transparent 38%),
    linear-gradient(135deg, var(--blue-950), var(--blue-800) 58%, #2f8bd5);
  border: 0; box-shadow: 0 25px 65px rgba(6,55,112,.22);
}
.polished-dashboard-hero h1 { color: white; max-width: 780px; }
.polished-dashboard-hero p { color: rgba(255,255,255,.8); max-width: 770px; }
.polished-dashboard-hero .eyebrow { color: #f2d58d; }
.dashboard-hero-side { display: grid; gap: 14px; justify-items: stretch; }
.dashboard-emblem { width: 125px; height: 160px; object-fit: contain; justify-self: center; filter: drop-shadow(0 15px 25px rgba(0,0,0,.16)); }
.hero-progress-link { justify-self: center; color: #fff1be; font-weight: 850; font-size: .86rem; }
.polished-dashboard-hero .hero-search { background: rgba(255,255,255,.96); }

.stat-card { position: relative; overflow: hidden; }
.stat-card::after { content: ""; position: absolute; width: 72px; height: 72px; border-radius: 50%; right: -30px; top: -32px; background: var(--wine-soft); opacity: .8; }
.stat-card strong { position: relative; z-index: 1; }
.panel, .profile-card, .location-card, .community-card, .sister-card { box-shadow: 0 10px 32px rgba(8,61,118,.055); }
.page-heading { padding: 4px 0 8px; }
.page-heading h1, .page-heading h2 { letter-spacing: -.02em; }
.button { min-height: 44px; transition: transform .16s, box-shadow .16s, background .16s; }
.button:hover { transform: translateY(-1px); }
.button-primary:hover { box-shadow: 0 10px 22px rgba(11,79,156,.24); }

.completion-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr) 230px;
  align-items: center; gap: 34px; padding: clamp(30px,5vw,58px); border-radius: 32px; color: white;
  background:
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, var(--blue-950), var(--blue-800) 58%, #2f91d8);
  box-shadow: 0 26px 70px rgba(7,55,112,.22);
}
.completion-hero::after { content:""; position:absolute; width:380px; height:380px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-185px; bottom:-220px; box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.02); }
.completion-hero-copy { position: relative; z-index: 2; }
.completion-hero h1 { margin: 8px 0 13px; font-family: Georgia,serif; font-size: clamp(2.4rem,5vw,4.6rem); line-height:1; }
.completion-hero p { margin:0; max-width:850px; color:rgba(255,255,255,.82); }
.completion-emblem { position: relative; z-index: 2; width: 190px; height: 230px; object-fit: contain; justify-self:center; filter: drop-shadow(0 18px 28px rgba(0,0,0,.18)); }
.completion-overall { display:flex; align-items:center; gap:18px; margin-top:26px; }
.completion-overall > div:last-child strong, .completion-overall > div:last-child small { display:block; }
.completion-overall > div:last-child small { color:rgba(255,255,255,.72); }
.completion-ring { --progress:0; width:96px; height:96px; border-radius:50%; display:grid; place-items:center; position:relative; background:conic-gradient(#f1d07f calc(var(--progress)*1%), rgba(255,255,255,.17) 0); }
.completion-ring::before { content:""; position:absolute; inset:8px; border-radius:50%; background:var(--blue-900); }
.completion-ring strong,.completion-ring span { position:relative; z-index:1; display:block; text-align:center; }
.completion-ring strong { font-family:Georgia,serif; font-size:1.45rem; line-height:1; }
.completion-ring span { font-size:.67rem; color:rgba(255,255,255,.7); }

.completion-summary-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin:22px 0 34px; }
.completion-summary-grid article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:17px 18px; background:white; border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 26px rgba(8,61,118,.05); }
.completion-summary-grid small { color:var(--muted); font-weight:800; }
.completion-summary-grid strong { font-family:Georgia,serif; font-size:1.5rem; color:var(--wine-dark); }
.status-dot-ui { width:11px; height:11px; border-radius:50%; background:#a8b5c1; box-shadow:0 0 0 5px #eef2f5; }
.status-in-progress { background:#d48928; box-shadow:0 0 0 5px #fff2df; }
.status-submitted { background:#7c63b8; box-shadow:0 0 0 5px #f0ebfb; }
.status-verified { background:#2882c5; box-shadow:0 0 0 5px #e4f2fd; }
.status-complete { background:#21815e; box-shadow:0 0 0 5px #e4f5ee; }

.progress-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:28px 0 14px; }
.progress-section-heading h2 { margin:4px 0; font-family:Georgia,serif; font-size:clamp(1.7rem,3vw,2.5rem); color:var(--wine-dark); }
.progress-section-heading p { margin:0; color:var(--muted); }
.section-gap { margin-top:42px; }
.completion-table-wrap { overflow-x:auto; background:white; border:1px solid var(--line); border-radius:22px; box-shadow:0 10px 34px rgba(8,61,118,.055); }
.completion-table { width:100%; border-collapse:collapse; min-width:980px; }
.completion-table th { padding:14px 16px; text-align:left; background:#f0f6fd; color:#536b82; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.completion-table td { padding:16px; border-top:1px solid var(--line); vertical-align:middle; }
.completion-title strong,.completion-title small { display:block; }
.completion-title strong { color:var(--wine-dark); }
.completion-title small { color:var(--muted); margin-top:3px; }
.workflow-badge { display:inline-flex; align-items:center; border-radius:999px; padding:6px 10px; font-size:.71rem; font-weight:900; white-space:nowrap; background:#eef2f5; color:#617080; }
.workflow-in-progress { background:#fff1dd; color:#915a18; }
.workflow-submitted { background:#f0ebfb; color:#684c9e; }
.workflow-verified { background:#e6f3fd; color:#17679f; }
.workflow-complete { background:#e4f5ed; color:#196b4d; }
.progress-cell { display:grid; grid-template-columns:42px 110px; align-items:center; gap:10px; }
.progress-cell .mini-progress,.completion-bar-row .mini-progress { margin:0; }
.check-chip-row { display:flex; flex-wrap:wrap; gap:6px; }
.check-chip { padding:5px 8px; border-radius:999px; background:#f1f3f5; color:#84909b; font-size:.68rem; font-weight:850; }
.check-chip.done { background:#e7f5ee; color:#237458; }
.completion-actions a { color:var(--wine); font-weight:850; font-size:.8rem; }
.completion-actions a:hover { text-decoration:underline; }

.completion-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.completion-record-card { background:white; border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:0 10px 32px rgba(8,61,118,.055); }
.completion-record-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:15px; }
.completion-record-card h3 { margin:6px 0 5px; font-family:Georgia,serif; color:var(--wine-dark); font-size:1.25rem; }
.completion-record-card > p { margin:0 0 15px; color:var(--muted); min-height:45px; }
.ministry-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:var(--wine-soft); color:var(--wine); font-size:1.25rem; font-weight:900; }
.ministry-icon-medical { background:#eaf6f3; color:#25745b; }
.ministry-icon-social { background:#fff0f3; color:#9a3e57; }
.ministry-icon-education { background:#edf3ff; color:#315da7; }
.ministry-icon-formation { background:#fff6e8; color:#99651d; }
.completion-bar-row { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:10px; margin:12px 0; }
.record-action-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }

@media (max-width: 1180px) {
  .completion-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .completion-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .topbar-actions .user-chip-text,.topbar-actions .demo-badge { display:none; }
  .completion-hero { grid-template-columns:1fr; }
  .completion-emblem { width:140px; height:165px; position:absolute; right:22px; top:20px; opacity:.18; }
  .completion-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .progress-section-heading { align-items:flex-start; flex-direction:column; }
  .completion-card-grid { grid-template-columns:1fr; }
  .dashboard-emblem { display:none; }
  .mobile-nav { overflow-x:auto; justify-content:flex-start; padding-inline:12px; }
  .mobile-nav a { min-width:68px; flex:0 0 auto; }
}
@media (max-width: 620px) {
  .main-content { padding:20px 15px 92px; }
  .topbar { padding:0 14px; }
  .brand small,.topbar-actions form { display:none; }
  .brand-mark { width:42px; height:42px; }
  .completion-summary-grid { grid-template-columns:1fr; }
  .completion-overall { align-items:flex-start; }
  .completion-hero { padding:30px 22px; }
  .completion-hero h1 { font-size:2.45rem; }
  .record-action-row .button { flex:1 1 100%; }
  .hero-search { flex-direction:column; }
}


/* v1.2.1 - logo placement and cache-safe sizing */
.brand-mark {
  width: 46px;
  height: 54px;
  flex: 0 0 46px;
  padding: 3px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #d4e2ef;
}
.brand-mark img {
  display: block;
  width: 34px !important;
  height: 48px !important;
  max-width: 100%;
  object-fit: contain;
}
.login-brand {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin: -4px 0 22px;
}
.login-brand > span {
  color: var(--blue-900);
  font-family: Georgia, serif;
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.login-logo {
  width: 84px !important;
  height: 116px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: transparent !important;
  box-shadow: none !important;
}
.login-logo img {
  display: block;
  width: 72px !important;
  height: 102px !important;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
}
.login-card h2, .login-card > p { text-align: center; }
.dashboard-emblem {
  display: block;
  width: 112px !important;
  height: 158px !important;
  max-width: 100%;
}
.completion-emblem {
  display: block;
  width: 176px !important;
  height: 248px !important;
  max-width: 100%;
}
@media (max-width: 700px) {
  .login-logo { width: 72px !important; height: 100px !important; }
  .login-logo img { width: 62px !important; height: 88px !important; }
  .brand-mark { width: 42px; height: 48px; flex-basis: 42px; }
  .brand-mark img { width: 30px !important; height: 42px !important; }
}

/* v1.3.0 - Sister Biodata and Service History */
.biodata-top-actions { margin-bottom: 18px; }
.biodata-hero {
  display: grid;
  grid-template-columns: 170px minmax(0,1fr) 210px;
  gap: 26px;
  align-items: center;
  padding: 30px;
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, #07396f, #0b5cab 72%, #2b86cc);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.biodata-photo-wrap { width: 150px; height: 190px; padding: 7px; border-radius: 24px; background: rgba(255,255,255,.95); box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.biodata-photo-wrap img,.biodata-initials { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }
.biodata-initials { display:grid; place-items:center; color:var(--wine); background:var(--wine-soft); font-size:2.2rem; font-weight:900; }
.biodata-hero-copy h1 { margin: 8px 0 4px; font-family: Georgia,serif; font-size: clamp(2.2rem,4vw,4rem); line-height: 1; }
.biodata-hero-copy > p { margin: 0 0 18px; color:rgba(255,255,255,.82); font-size:1.05rem; }
.biodata-hero .profile-badge-row span { background:rgba(255,255,255,.13); color:#fff; border-color:rgba(255,255,255,.16); }
.biodata-completeness-card { align-self: stretch; display:flex; flex-direction:column; justify-content:center; padding:22px; border-radius:22px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(8px); }
.biodata-completeness-card strong { font-family:Georgia,serif; font-size:2.8rem; }
.biodata-completeness-card span { font-weight:800; }
.biodata-completeness-card small { color:rgba(255,255,255,.74); margin-top:8px; }
.biodata-completeness-card .mini-progress { margin:12px 0 0; background:rgba(255,255,255,.22); }
.biodata-completeness-card .mini-progress span { background:#f1d99f; }
.biodata-section-nav { position:sticky; top:94px; z-index:14; display:flex; gap:8px; overflow-x:auto; margin:18px 0 22px; padding:9px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(8,61,118,.06); backdrop-filter:blur(10px); }
.biodata-section-nav a { flex:0 0 auto; padding:9px 13px; border-radius:11px; color:var(--muted); font-weight:850; font-size:.8rem; }
.biodata-section-nav a:hover { color:var(--wine); background:var(--wine-soft); }
.biodata-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.biodata-summary-card { display:flex; gap:14px; align-items:flex-start; padding:19px; border-radius:19px; background:#fff; border:1px solid var(--line); box-shadow:0 8px 22px rgba(8,61,118,.04); }
.biodata-summary-card > span { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; background:var(--wine-soft); color:var(--wine); font-size:1.15rem; }
.biodata-summary-card small,.biodata-summary-card strong { display:block; }
.biodata-summary-card small { color:var(--muted); font-weight:750; }
.biodata-summary-card strong { margin:3px 0; color:var(--wine-dark); }
.biodata-summary-card p { margin:0; color:var(--muted); font-size:.78rem; }
.biodata-section-panel { margin-top:22px; scroll-margin-top:165px; }
.biodata-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:0; border:1px solid var(--line); border-radius:17px; overflow:hidden; }
.biodata-detail-grid > div { display:grid; grid-template-columns:minmax(150px,.9fr) minmax(0,1.1fr); gap:14px; padding:13px 15px; border-bottom:1px solid var(--line); }
.biodata-detail-grid > div:nth-child(odd) { border-right:1px solid var(--line); }
.biodata-detail-grid > div:nth-last-child(-n+2) { border-bottom:0; }
.biodata-detail-grid dt { color:var(--muted); font-size:.76rem; font-weight:850; }
.biodata-detail-grid dd { margin:0; font-weight:750; overflow-wrap:anywhere; }
.religious-journey-line { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; position:relative; }
.religious-journey-line::before { content:""; position:absolute; left:16%; right:16%; top:27px; height:2px; background:#c7dff3; }
.religious-journey-line article { position:relative; z-index:1; text-align:center; padding:18px; border-radius:18px; background:#f8fbff; border:1px solid var(--line); }
.religious-journey-line article > span { width:38px; height:38px; display:grid; place-items:center; margin:0 auto 10px; border-radius:50%; background:var(--wine); color:#fff; font-weight:900; }
.religious-journey-line small,.religious-journey-line strong { display:block; }
.religious-journey-line small { color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.68rem; font-weight:900; }
.religious-journey-line strong { margin-top:4px; color:var(--wine-dark); }
.vocation-story { margin:22px 0 0; padding:24px 26px; display:flex; gap:16px; border-radius:20px; background:linear-gradient(135deg,#f5f9ff,#fffaf0); border:1px solid #d9e7f3; }
.vocation-story > span { color:var(--gold); font-family:Georgia,serif; font-size:3.5rem; line-height:.8; }
.vocation-story p { margin:0; color:#405b73; font-style:italic; }
.current-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.current-service-grid article { padding:18px; border-radius:17px; background:#f7fbff; border:1px solid #d8e8f6; }
.current-service-grid small,.current-service-grid strong { display:block; }
.current-service-grid small { color:var(--muted); font-weight:800; }
.current-service-grid strong { margin:5px 0; color:var(--wine-dark); font-family:Georgia,serif; font-size:1.05rem; }
.current-service-grid p { margin:0; color:var(--muted); font-size:.8rem; }
.service-gap-alert { display:flex; gap:8px; align-items:flex-start; margin-bottom:16px; padding:12px 14px; border-radius:14px; color:#735522; background:#fff7e8; border:1px solid #ead7aa; font-size:.85rem; }
.service-history-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:17px; }
.service-history-table { width:100%; min-width:1050px; border-collapse:collapse; }
.service-history-table th { padding:12px; text-align:left; color:#fff; background:var(--wine-dark); font-size:.72rem; letter-spacing:.03em; }
.service-history-table td { padding:13px 12px; vertical-align:top; border-bottom:1px solid var(--line); font-size:.8rem; }
.service-history-table tbody tr:nth-child(even) { background:#f9fcff; }
.service-history-table td small { display:block; margin-top:4px; color:var(--muted); }
.ministry-tag { display:inline-block; padding:5px 8px; border-radius:999px; background:var(--wine-soft); color:var(--wine); font-weight:850; font-size:.72rem; }
.text-action,.inline-form .text-action { padding:0; border:0; background:none; color:var(--wine); font-weight:850; font-size:.76rem; }
.inline-form { display:inline; margin-left:8px; }
.text-action.danger { color:#a33b4d; }
.locked-record { color:var(--muted); font-size:.72rem; }
.qualification-grid { display:grid; gap:12px; }
.qualification-grid article { display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:18px; align-items:center; padding:16px 18px; border-radius:17px; background:#f8fbff; border:1px solid var(--line); }
.qualification-year { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:5px; color:var(--wine); font-weight:900; }
.qualification-year span { color:var(--muted); font-size:.68rem; }
.qualification-grid h3 { margin:3px 0; color:var(--wine-dark); font-family:Georgia,serif; }
.qualification-grid p,.qualification-grid small { margin:0; color:var(--muted); }
.qualification-actions { display:flex; gap:9px; }
.qualification-actions a,.qualification-actions button { padding:0; border:0; background:none; color:var(--wine); font-weight:850; }
.qualification-actions button { color:#a33b4d; }
.protected-biodata-panel { border-color:#e6d7b6; background:linear-gradient(180deg,#fff,#fffcf6); }
.protected-biodata-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.protected-biodata-grid article { padding:18px; border-radius:17px; background:#fff; border:1px solid #eadfc5; }
.protected-biodata-grid h3 { margin:0 0 12px; font-family:Georgia,serif; color:#6f5420; }
.protected-biodata-grid dl { margin:0; display:grid; gap:10px; }
.protected-biodata-grid dl div { display:grid; grid-template-columns:145px 1fr; gap:10px; }
.protected-biodata-grid dt { color:var(--muted); font-size:.75rem; font-weight:850; }
.protected-biodata-grid dd { margin:0; overflow-wrap:anywhere; }
.biodata-admin-form { display:grid; gap:18px; }
.biodata-form-section { display:grid; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.biodata-form-section:last-of-type { border-bottom:0; }

/* Print-ready Biodata view */
.biodata-print-body { margin:0; background:#eef3f7; color:#172d42; font-family:Arial,sans-serif; }
.print-controls { position:sticky; top:0; z-index:4; display:flex; justify-content:center; gap:10px; padding:12px; background:#0b4f9c; }
.print-controls button { border:0; border-radius:9px; padding:10px 15px; font-weight:800; color:#0b4f9c; background:#fff; }
.biodata-print-page { width:min(1120px,calc(100% - 30px)); margin:24px auto; padding:34px; background:#fff; box-shadow:0 16px 40px rgba(0,0,0,.12); }
.biodata-print-header { display:grid; grid-template-columns:78px 1fr 110px; gap:18px; align-items:center; padding-bottom:18px; border-bottom:3px solid #0b4f9c; }
.biodata-print-header img { width:70px; height:96px; object-fit:contain; }
.biodata-print-header small { color:#48637a; font-weight:800; }
.biodata-print-header h1 { margin:4px 0 0; font-family:Georgia,serif; color:#082f63; font-size:2rem; }
.print-admission { text-align:center; padding:12px; border-radius:12px; color:#fff; background:#0b4f9c; font-size:.72rem; }
.print-admission strong { display:block; margin-top:3px; font-size:1.35rem; }
.print-profile-band { display:flex; align-items:center; gap:22px; padding:22px; margin:18px 0; border-radius:16px; background:#eef6ff; }
.print-profile-band img { width:105px; height:135px; object-fit:cover; border-radius:12px; background:#fff; }
.print-profile-band h2 { margin:0; font-family:Georgia,serif; color:#082f63; font-size:1.7rem; }
.print-profile-band p { margin:4px 0; }
.print-profile-band span { color:#5d7183; font-weight:800; }
.print-section-title { margin:22px 0 0; padding:9px 12px; color:#fff; background:#0b4f9c; font-family:Georgia,serif; font-size:1rem; break-after:avoid; }
.print-detail-grid { display:grid; grid-template-columns:1fr 1fr; margin:0; border:1px solid #cbd7e1; border-top:0; }
.print-detail-grid div { display:grid; grid-template-columns:190px 1fr; gap:10px; padding:9px 11px; border-bottom:1px solid #dbe3ea; }
.print-detail-grid div:nth-child(odd) { border-right:1px solid #dbe3ea; }
.print-detail-grid dt { font-weight:800; }
.print-detail-grid dd { margin:0; }
.print-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.73rem; }
.print-table th,.print-table td { padding:7px 8px; border:1px solid #aebdca; vertical-align:top; overflow-wrap:anywhere; }
.print-table th { color:#082f63; background:#eaf3fb; }
.print-table th:nth-child(1) { width:8%; }
.print-table th:nth-child(2) { width:18%; }
.print-table th:nth-child(3) { width:8%; }
.print-table th:nth-child(4) { width:10%; }
.print-table th:nth-child(5),.print-table th:nth-child(6) { width:13%; }
.print-table th:nth-child(7) { width:30%; }
.qualification-print-table th:nth-child(1) { width:30%; }
.qualification-print-table th:nth-child(2) { width:13%; }
.qualification-print-table th:nth-child(3) { width:37%; }
.qualification-print-table th:nth-child(4),.qualification-print-table th:nth-child(5) { width:10%; }
.print-highest,.print-vocation { padding:12px; margin:0; border:1px solid #cbd7e1; border-top:0; }
.biodata-print-footer { display:flex; justify-content:space-between; gap:14px; margin-top:24px; padding-top:12px; border-top:1px solid #bfcbd5; color:#687b8c; font-size:.68rem; }

@media (max-width: 1150px) {
  .biodata-summary-grid,.current-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .biodata-hero { grid-template-columns:145px 1fr; }
  .biodata-completeness-card { grid-column:1/-1; flex-direction:row; align-items:center; gap:16px; }
  .biodata-completeness-card .mini-progress { flex:1; margin:0; }
}
@media (max-width: 760px) {
  .biodata-hero { grid-template-columns:1fr; text-align:center; }
  .biodata-photo-wrap { margin:0 auto; }
  .biodata-hero .profile-badge-row { justify-content:center; }
  .biodata-summary-grid,.current-service-grid,.protected-biodata-grid,.religious-journey-line { grid-template-columns:1fr; }
  .religious-journey-line::before { display:none; }
  .biodata-detail-grid { grid-template-columns:1fr; }
  .biodata-detail-grid > div:nth-child(odd) { border-right:0; }
  .biodata-detail-grid > div:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
  .biodata-detail-grid > div:last-child { border-bottom:0; }
  .qualification-grid article { grid-template-columns:1fr; }
  .qualification-actions { justify-content:flex-start; }
}
@media print {
  @page { size:A4 portrait; margin:12mm; }
  .print-controls { display:none !important; }
  .biodata-print-body { background:#fff; }
  .biodata-print-page { width:auto; margin:0; padding:0; box-shadow:none; }
  .biodata-print-header h1 { font-size:18pt; }
  .print-section-title { color:#082f63 !important; background:#eaf3fb !important; border:1px solid #aebdca; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .print-profile-band,.print-table th { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .print-table { font-size:7.5pt; }
  .print-table tr,.print-detail-grid div,.print-profile-band { break-inside:avoid; }
  .biodata-print-footer { position:running(footer); }
}

/* v1.4 Sister Self-Service Biodata */
.self-service-heading h1{max-width:760px}.self-service-welcome-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#f9fcff 0%,#eef6ff 100%);box-shadow:var(--shadow-soft);margin-bottom:20px}.self-service-person{display:flex;align-items:center;gap:18px}.self-service-person img,.self-service-person .sister-initials{width:92px;height:112px;border-radius:22px;object-fit:cover;border:4px solid #fff;box-shadow:0 10px 28px rgba(15,74,139,.14)}.self-service-person .sister-initials{display:grid;place-items:center;background:var(--blue);color:#fff;font-size:1.55rem;font-weight:800}.self-service-person h2{margin:3px 0;font-size:1.65rem}.self-service-person p{margin:0;color:var(--muted)}.self-service-progress-block{display:flex;align-items:center;gap:18px;min-width:390px}.self-service-progress-block h3{margin:0 0 5px}.self-service-progress-block p{margin:0;color:var(--muted)}.progress-ring{--size:108px;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle closest-side,#fff 76%,transparent 77% 99%),conic-gradient(var(--blue) calc(var(--progress)*1%),#dbe8f8 0);flex:0 0 auto}.progress-ring strong{font-size:1.4rem;color:var(--navy);line-height:1}.progress-ring span{font-size:.72rem;color:var(--muted);margin-top:4px}.self-service-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 26px}.self-service-section-card{display:grid;grid-template-columns:46px 1fr 28px;align-items:center;gap:14px;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:.18s ease}.self-service-section-card:hover{transform:translateY(-2px);border-color:#a9c9ef;box-shadow:0 16px 34px rgba(23,79,144,.11)}.self-service-section-card.is-complete{background:linear-gradient(135deg,#fff 0%,#f0fbf7 100%);border-color:#bee3d3}.section-card-number{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eaf3ff;color:var(--blue);font-weight:900}.is-complete .section-card-number{background:#dff5ea;color:#177b51}.section-card-copy span{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--blue)}.is-complete .section-card-copy span{color:#177b51}.section-card-copy h3{margin:4px 0 5px;font-size:1.08rem}.section-card-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.section-card-arrow{color:var(--blue);font-size:1.35rem}.self-service-summary-panel{margin-top:10px}.compact-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.self-service-step-strip{display:flex;gap:8px;overflow-x:auto;padding:5px 2px 14px;margin-bottom:12px}.self-service-step-strip a{min-width:110px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text)}.self-service-step-strip a span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#edf4fd;color:var(--blue);font-weight:800}.self-service-step-strip a small{font-weight:700;line-height:1.15}.self-service-step-strip a.active{border-color:#79afe7;background:#f2f8ff;box-shadow:0 0 0 2px rgba(42,112,184,.08)}.self-service-step-strip a.done span{background:#dff5ea;color:#177b51}.self-service-form{padding:26px}.readonly-directory-box{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;margin-bottom:22px;border-radius:18px;background:#edf5ff;border:1px solid #cfe1f6}.readonly-directory-box div{display:flex;flex-direction:column;gap:4px}.readonly-directory-box span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.readonly-directory-box strong{color:var(--navy)}.private-inline-note{margin-bottom:20px}.self-service-form-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:24px}.self-service-form-actions>*:last-child{justify-self:end}.self-service-list-panel{padding:0;overflow:hidden}.self-service-list-panel .panel-heading{padding:22px 24px}.self-service-list-panel .responsive-table{border-top:1px solid var(--line)}.responsive-table table td small{display:block;margin-top:3px;color:var(--muted)}.table-actions{display:flex;align-items:center;gap:10px}.table-actions a,.table-actions button{font:inherit;font-size:.86rem;color:var(--blue);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.self-service-timeline{padding:0 24px 24px}.self-service-timeline article{grid-template-columns:100px 1fr}.self-service-timeline .table-actions{margin-top:10px}.review-progress-card{display:flex;align-items:center;gap:22px;padding:22px 26px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#f8fbff,#eaf4ff);margin-bottom:18px}.review-progress-card h2{margin:0 0 5px}.review-progress-card p{margin:0;color:var(--muted)}.review-section-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.review-section-list article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:15px 17px;border:1px solid #f0c7c7;border-radius:18px;background:#fff8f8}.review-section-list article.complete{border-color:#bfe2d2;background:#f5fcf8}.review-section-list article>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f9dddd;color:#a33333;font-weight:900}.review-section-list article.complete>span{background:#dff5ea;color:#177b51}.review-section-list h3{margin:0;font-size:1rem}.review-section-list p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.review-section-list a{color:var(--blue);font-weight:700;text-decoration:none}.review-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.submit-biodata-panel{margin-top:20px;padding:22px 24px;border-radius:22px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.submit-biodata-panel label{font-weight:700;flex:1 1 480px}.submit-biodata-panel input{margin-right:8px}.submit-biodata-panel p{width:100%;margin:0;color:#d8e6f8;font-size:.88rem}.submit-biodata-panel button[disabled]{opacity:.5;cursor:not-allowed}.submission-card-list{display:grid;gap:12px;padding:0 22px 22px}.submission-card-list article{display:grid;grid-template-columns:58px 1fr auto auto;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:18px}.submission-avatar img,.submission-avatar span{width:52px;height:62px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:#eaf3ff;color:var(--blue);font-weight:800}.submission-copy h3{margin:3px 0}.submission-copy p{margin:0;color:var(--muted)}.submission-progress{text-align:right}.submission-progress strong{display:block;color:var(--navy);font-size:1.2rem}.submission-progress span{text-transform:capitalize;font-size:.82rem;color:var(--muted)}.review-action-panel{margin-top:18px}.review-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 22px 22px}.review-action-grid form{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fbfdff}.review-action-grid button{margin-top:12px}.button-danger{background:#a43838;color:#fff;border-color:#a43838}.alert-success{background:#eaf8f1;border-color:#b8dec9;color:#155f40}.status-chip{text-transform:capitalize}.self-service-nav-link{background:linear-gradient(135deg,#eaf4ff,#f8fbff);border-color:#bed7f2!important;color:var(--navy)!important;font-weight:800!important}
@media(max-width:1000px){.self-service-welcome-card{align-items:flex-start;flex-direction:column}.self-service-progress-block{min-width:0}.compact-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readonly-directory-box{grid-template-columns:repeat(2,minmax(0,1fr))}.review-columns,.review-action-grid{grid-template-columns:1fr}}
@media(max-width:700px){.self-service-section-grid,.review-section-list{grid-template-columns:1fr}.self-service-progress-block{align-items:flex-start}.self-service-person{align-items:flex-start}.self-service-person img,.self-service-person .sister-initials{width:72px;height:88px}.compact-summary-grid,.readonly-directory-box{grid-template-columns:1fr}.self-service-form{padding:18px}.self-service-form-actions{grid-template-columns:1fr}.self-service-form-actions>*{width:100%;justify-content:center!important}.submission-card-list article{grid-template-columns:50px 1fr}.submission-progress,.submission-card-list article>.button{grid-column:2;text-align:left}.submit-biodata-panel{align-items:stretch;flex-direction:column}.submit-biodata-panel .button{width:100%}}
.status-change-details{position:relative}.status-change-details summary{list-style:none;cursor:pointer}.status-change-details summary::-webkit-details-marker{display:none}.status-change-form{position:absolute;right:0;top:48px;z-index:20;width:330px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 46px rgba(13,53,104,.2);display:grid;gap:10px}.status-change-form label{display:grid;gap:5px;font-size:.84rem;font-weight:700}.status-change-form input,.status-change-form select,.status-change-form textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;font:inherit}@media(max-width:700px){.status-change-form{position:fixed;left:12px;right:12px;top:100px;width:auto}}

/* v1.5.0 - Under Generalate community completion workflow */
.community-completion-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 28px;
  background: linear-gradient(135deg, #0d4f9f 0%, #2478d1 58%, #78b6ed 100%);
  color: #fff;
  box-shadow: 0 24px 60px rgba(18, 75, 139, .2);
  margin-bottom: 1.5rem;
  overflow: hidden;
  position: relative;
}
.community-completion-hero::after {
  content: "♡";
  position: absolute;
  right: 13rem;
  top: -3rem;
  font-size: 11rem;
  opacity: .055;
  transform: rotate(-12deg);
}
.community-completion-hero h1 { margin: .25rem 0 .65rem; font-size: clamp(2rem, 4vw, 3.5rem); }
.community-completion-hero p { max-width: 760px; color: rgba(255,255,255,.9); font-size: 1.05rem; }
.completion-hero-meta { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.2rem; align-items:center; }
.completion-hero-meta > span { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.24); border-radius:999px; padding:.55rem .85rem; backdrop-filter:blur(8px); }
.workflow-chip { font-weight:800; }
.completion-score-ring {
  --completion: 0;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  display:grid;
  place-items:center;
  background: conic-gradient(#f6d675 calc(var(--completion) * 1%), rgba(255,255,255,.2) 0);
  padding: 10px;
  position:relative;
  z-index:1;
}
.completion-score-ring > div { width:100%; height:100%; border-radius:50%; display:grid; place-content:center; text-align:center; background:#fff; color:#0f4d94; box-shadow:inset 0 0 0 1px rgba(13,79,159,.08); }
.completion-score-ring strong { font-size:2rem; line-height:1; }
.completion-score-ring small { margin-top:.35rem; }
.completion-step-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.completion-step-card { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; background:#fff; border:1px solid #dce9f7; border-radius:20px; padding:1rem; box-shadow:0 10px 28px rgba(20,74,129,.07); }
.completion-step-card.is-complete { border-color:#acd8c3; background:linear-gradient(135deg,#fff,#f1fbf6); }
.completion-step-number { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:#e9f3fd; color:#145ba8; font-weight:900; }
.completion-step-card.is-complete .completion-step-number { background:#d9f4e6; color:#16744b; }
.completion-step-card small { color:#6b7c91; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.completion-step-card h3 { margin:.15rem 0 .2rem; }
.completion-step-card p { margin:0; color:#607086; }
.completion-roster-panel { background:#fff; border:1px solid #dce8f5; border-radius:24px; padding:1.25rem; margin:1.5rem 0; }
.completion-roster-table a { font-weight:800; }
.mini-status { display:inline-flex; padding:.35rem .6rem; border-radius:999px; font-size:.82rem; font-weight:750; }
.mini-status.is-good { background:#e8f7ef; color:#176b49; }
.mini-status.is-missing { background:#fff0ed; color:#a13d2e; }
.mini-status.is-pending { background:#fff7df; color:#8a6711; }
.completion-review-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr); gap:1.25rem; align-items:start; }
.completion-review-form h2, .completion-next-panel h2 { margin:.25rem 0 .5rem; }
.completion-review-check { display:flex !important; align-items:flex-start; gap:.8rem; padding:.85rem; border:1px solid #dce8f5; border-radius:16px; margin:.75rem 0; background:#f9fcff; }
.completion-review-check input { margin-top:.25rem; width:18px; height:18px; }
.completion-review-check span { display:flex; flex-direction:column; gap:.2rem; }
.completion-review-check small { color:#66778c; }
.completion-next-panel { position:sticky; top:1rem; }
.button-block { width:100%; justify-content:center; }
.completion-issue-list { padding-left:1.2rem; color:#5e6f84; }
.completion-issue-list li { margin:.45rem 0; }
.completion-help { display:block; color:#7a6a39; margin-top:.65rem; }
.completion-celebration { width:84px; height:84px; display:grid; place-items:center; border-radius:50%; background:#dff5e9; color:#16744b; font-size:2.2rem; margin:1.25rem auto .25rem; }
.return-community-details { margin-top:1rem; border-top:1px solid #e1e9f2; padding-top:1rem; }
.return-community-details summary { cursor:pointer; font-weight:750; color:#53677d; }
.return-community-details textarea { width:100%; margin:.75rem 0; }
.completion-audit-note { margin-top:1rem; padding-top:1rem; border-top:1px solid #e1e9f2; display:flex; flex-direction:column; gap:.2rem; }
.completion-community-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.completion-community-card { background:#fff; border:1px solid #dce8f5; border-radius:22px; padding:1.15rem; box-shadow:0 12px 30px rgba(20,74,129,.07); }
.completion-community-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.completion-community-head h3 { margin:.15rem 0 .2rem; }
.completion-community-head p { margin:0; color:#6a7b8e; }
.community-percent-badge { min-width:84px; border-radius:16px; background:#edf6ff; padding:.65rem; text-align:center; color:#11569d; }
.community-percent-badge strong,.community-percent-badge small { display:block; }
.community-percent-badge strong { font-size:1.35rem; }
.community-completion-metrics { display:flex; gap:.5rem; flex-wrap:wrap; margin:.8rem 0; }
.community-completion-metrics span { background:#f2f7fc; border-radius:999px; padding:.4rem .65rem; font-size:.82rem; }
.expanded-check-row { margin-top:.8rem; }
.completion-card-next { min-height:3rem; padding:.7rem; border-radius:14px; background:#fff8e8; color:#6f5b21; margin:.8rem 0; }
.completion-card-next.is-ready { background:#eaf8f0; color:#176b49; }
.status-dot-ui.status-returned { background:#d66f4c; }
.workflow-returned,.status-returned { background:#fff0ea !important; color:#9c492d !important; }
.status-card-returned { border-color:#efb29c; }

@media (max-width: 900px) {
  .completion-step-grid,.completion-community-grid,.completion-review-layout { grid-template-columns:1fr; }
  .completion-next-panel { position:static; }
}
@media (max-width: 640px) {
  .community-completion-hero { grid-template-columns:1fr; text-align:left; }
  .completion-score-ring { width:120px; height:120px; justify-self:center; }
  .completion-step-card { grid-template-columns:auto 1fr; }
  .completion-step-card .button { grid-column:1/-1; width:100%; justify-content:center; }
  .completion-community-head { flex-direction:column; }
  .community-percent-badge { width:100%; display:flex; justify-content:space-between; align-items:center; }
}
.completion-summary-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 900px) { .completion-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 560px) { .completion-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.bulk-roster-verify { margin-top:1rem; padding:1rem; border:1px solid #cfe1f3; background:linear-gradient(135deg,#f8fbff,#eef7ff); border-radius:18px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:end; }
.bulk-roster-verify h3 { margin:.15rem 0 .25rem; }
.bulk-roster-verify p { margin:0; color:#617389; }
.bulk-roster-verify > label:not(.bulk-confirmation) { min-width:190px; }
.bulk-confirmation { grid-column:1/-1; display:flex !important; align-items:flex-start; gap:.7rem; padding:.75rem; border-radius:14px; background:#fff; border:1px solid #dce8f5; }
.bulk-confirmation input { margin-top:.2rem; width:18px; height:18px; }
.bulk-roster-verify .button { justify-self:end; }
@media (max-width:760px){ .bulk-roster-verify{grid-template-columns:1fr}.bulk-roster-verify .button{justify-self:stretch}.bulk-roster-verify > label:not(.bulk-confirmation){min-width:0} }

/* v1.5.2 - Community ministry histories, 1844-2026 */
.community-ministries-section{margin:1.7rem 0}.community-ministry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.community-ministry-card{display:flex;flex-direction:column;gap:.9rem;padding:1.15rem;border:1px solid #d9e7f5;border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f6faff 100%);box-shadow:0 12px 30px rgba(20,74,129,.07)}.community-ministry-card-head{display:flex;align-items:center;gap:.8rem}.community-ministry-card-head h3{margin:.1rem 0 0}.community-ministry-card-head small{color:#6b7c91;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.community-ministry-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#e5f1ff;color:#145ca8;font-size:1.2rem}.community-ministry-stats{display:flex;flex-wrap:wrap;gap:.5rem}.community-ministry-stats span{padding:.4rem .65rem;border-radius:999px;background:#eef5fc;color:#52667d;font-size:.82rem}.community-ministry-stats strong{color:#104f95}.community-ministry-links{padding:.75rem;border-radius:14px;background:#fff;border:1px solid #e2ebf5}.community-ministry-links small{display:block;color:#6b7c91;font-weight:750;margin-bottom:.25rem}.community-ministry-links p{margin:0;color:#40566f;font-size:.9rem}.community-ministry-mini-timeline{display:grid;gap:.5rem}.community-ministry-mini-timeline div{display:grid;grid-template-columns:105px 1fr;gap:.65rem;align-items:start;padding:.6rem .7rem;border-left:3px solid #79afe7;background:#fff;border-radius:0 12px 12px 0}.community-ministry-mini-timeline time{font-size:.78rem;color:#49627e;font-weight:800}.community-ministry-mini-timeline span{font-size:.9rem;color:#263f5c}.community-ministry-empty{margin:0;color:#6b7c91;font-size:.9rem;line-height:1.5}.community-ministry-history-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.7rem;border-radius:26px;background:linear-gradient(135deg,#0c4f9d,#277bd1 62%,#7ab9ef);color:#fff;margin-bottom:1.25rem;box-shadow:0 22px 54px rgba(18,75,139,.18)}.community-ministry-history-hero h1{margin:.2rem 0 .35rem;font-size:clamp(2rem,4vw,3rem)}.community-ministry-history-hero p{margin:.25rem 0;max-width:760px;color:rgba(255,255,255,.9)}.ministry-history-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.65rem}.ministry-history-summary article{padding:.85rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);border-radius:16px;text-align:center;backdrop-filter:blur(8px)}.ministry-history-summary strong,.ministry-history-summary span{display:block}.ministry-history-summary strong{font-size:1.45rem}.ministry-history-summary span{font-size:.77rem;color:rgba(255,255,255,.86)}.community-ministry-switcher{padding:1rem 1.1rem;border:1px solid #dce8f5;border-radius:18px;background:#fff;margin-bottom:1.2rem}.community-ministry-switcher .ministry-badge-row{margin-top:.6rem}.community-ministry-switcher .ministry-badge-row a.is-active{background:#0f58a7;color:#fff;border-color:#0f58a7}.community-ministry-history-layout .history-admin-list{max-height:none}.history-related-record{margin:.4rem 0 0!important;padding:.5rem .65rem;border-radius:10px;background:#f3f8fd;color:#465e78;font-size:.84rem}@media(max-width:900px){.community-ministry-grid{grid-template-columns:1fr}.community-ministry-history-hero{grid-template-columns:1fr}.ministry-history-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.ministry-history-summary{grid-template-columns:1fr}.community-ministry-mini-timeline div{grid-template-columns:1fr}.community-ministry-stats{display:grid;grid-template-columns:1fr 1fr}.community-ministry-stats span:last-child{grid-column:1/-1}}

/* v1.6.0 — FIHM Communications & Document Distribution */
.nav-count { display:inline-flex; align-items:center; justify-content:center; min-width:1.6rem; height:1.6rem; padding:0 .35rem; margin-left:auto; border-radius:999px; background:#d6a52f; color:#082c55; font-size:.72rem; font-weight:800; }
.quick-new-count { margin-left:auto; margin-right:.45rem; color:#a16b00; font-size:.78rem; }
.communication-filter-form { display:grid; grid-template-columns:2fr repeat(3, minmax(130px,1fr)) auto auto; gap:1rem; align-items:end; margin-bottom:1.25rem; }
.communication-filter-form label { display:grid; gap:.35rem; font-weight:700; color:var(--ink,#12345a); }
.communication-filter-form input,.communication-filter-form select { width:100%; }
.communication-list { display:grid; gap:1rem; }
.communication-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:1.2rem; border:1px solid #d8e7f7; border-radius:22px; background:#fff; box-shadow:0 12px 30px rgba(18,69,121,.08); position:relative; overflow:hidden; }
.communication-card.is-unread { border-color:#2f78c5; box-shadow:0 14px 34px rgba(27,101,178,.16); }
.communication-card.is-unread::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#1764b0; }
.communication-card.is-important { background:linear-gradient(135deg,#fff 0%,#fff9e9 100%); }
.communication-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:#e9f3ff; color:#145aa5; font-size:1.55rem; font-weight:800; }
.communication-main h2 { margin:.35rem 0 .45rem; font-size:1.15rem; }
.communication-main h2 a { color:#0d3767; text-decoration:none; }
.communication-main p { margin:0 0 .65rem; color:#59708a; }
.communication-badges { display:flex; flex-wrap:wrap; gap:.4rem; }
.status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.28rem .65rem; background:#edf4fb; color:#345a7c; font-size:.72rem; font-weight:800; text-transform:capitalize; }
.status-new { background:#1764b0; color:#fff; }
.status-important { background:#fff0b8; color:#7c5000; }
.status-published { background:#dbf5e8; color:#17633d; }
.status-draft { background:#eef1f5; color:#54606c; }
.status-archived { background:#f4e8ea; color:#7b3946; }
.communication-actions { display:flex; flex-direction:column; gap:.5rem; min-width:110px; }
.communication-detail-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:1.25rem; }
.document-cover-panel { text-align:center; display:grid; gap:1rem; align-content:start; }
.document-file-icon { width:110px; height:138px; margin:0 auto; display:grid; place-items:center; border-radius:16px 16px 20px 20px; background:linear-gradient(145deg,#145aa5,#0a3d79); color:#fff; font-weight:900; letter-spacing:.08em; box-shadow:0 18px 30px rgba(20,90,165,.22); position:relative; }
.document-file-icon::after { content:""; position:absolute; top:0; right:0; width:30px; height:30px; background:#d8eafe; clip-path:polygon(0 0,100% 100%,100% 0); }
.full-width-button { width:100%; justify-content:center; }
.read-confirmation { padding:.85rem 1rem; border-radius:14px; background:#e7f7ef; color:#17633d; font-weight:800; }
.document-meta-panel .detail-list { margin-top:1rem; }
.communication-management-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.management-document-card { display:grid; gap:1rem; }
.management-document-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.management-document-head h2 { margin:.25rem 0; }
.delivery-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.delivery-stat-grid > div { padding:.85rem .65rem; border-radius:14px; background:#edf5fd; text-align:center; }
.delivery-stat-grid strong { display:block; font-size:1.35rem; color:#0e4f91; }
.delivery-stat-grid span { display:block; margin-top:.15rem; color:#637991; font-size:.75rem; }
.report-stat-grid { grid-template-columns:repeat(5,minmax(0,1fr)); margin-bottom:1.25rem; }
.wrap-actions { flex-wrap:wrap; }
.wrap-actions form { margin:0; }
.audience-panels { margin:1.25rem 0; }
.audience-panels .form-field { display:grid; gap:.4rem; }
.audience-panels select[multiple] { min-height:170px; padding:.65rem; }
.document-file-uploader { display:grid; grid-template-columns:72px minmax(0,1fr); gap:1rem; align-items:center; padding:1.2rem; margin:1rem 0; border:2px dashed #a9caec; border-radius:20px; background:#f7fbff; }
.document-upload-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:18px; background:#dcecff; color:#155da9; font-size:2rem; }
.document-file-uploader h2 { margin:.15rem 0 .35rem; }
.document-file-uploader input[type=file] { display:block; margin:.65rem 0 .35rem; }
.document-options-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.checkbox-card { display:flex; gap:.75rem; align-items:flex-start; padding:1rem; border:1px solid #d8e7f7; border-radius:16px; background:#fff; cursor:pointer; }
.checkbox-card input { margin-top:.25rem; }
.checkbox-card strong,.checkbox-card small { display:block; }
.checkbox-card small { margin-top:.25rem; color:#657b91; }
.upload-progress { display:flex; align-items:center; gap:.75rem; padding:.85rem 1rem; border-radius:14px; background:#edf5fd; color:#144f89; }
.upload-progress span { width:18px; height:18px; border:3px solid #b8d3ee; border-top-color:#145aa5; border-radius:50%; animation:fihm-spin .8s linear infinite; }
@keyframes fihm-spin { to { transform:rotate(360deg); } }
.table-panel { padding:0; overflow:hidden; }
.responsive-table-wrap { overflow:auto; }
.delivery-report-table { width:100%; border-collapse:collapse; min-width:1050px; }
.delivery-report-table th,.delivery-report-table td { padding:.8rem .75rem; border-bottom:1px solid #e0eaf4; text-align:left; vertical-align:top; }
.delivery-report-table th { background:#eaf3fd; color:#123e6c; position:sticky; top:0; }
.delivery-report-table tbody tr:hover { background:#f8fbff; }
.compact-note { margin:0; }

@media (max-width:1050px) {
  .communication-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .communication-management-grid { grid-template-columns:1fr; }
  .communication-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .communication-card { grid-template-columns:48px minmax(0,1fr); }
  .communication-icon { width:46px; height:46px; border-radius:14px; }
  .communication-actions { grid-column:1/-1; flex-direction:row; }
  .communication-filter-form,.document-options-row { grid-template-columns:1fr; }
  .delivery-stat-grid,.report-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .document-file-uploader { grid-template-columns:1fr; text-align:center; }
  .document-upload-icon { margin:0 auto; }
}

/* v1.7.0 — Communications & Records Centre */
.document-purpose-section,.form-section-card{margin:1.15rem 0;padding:1.2rem;border:1px solid #d8e7f7;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbff)}
.document-purpose-section h2,.form-section-card h2{margin:.2rem 0 1rem;color:#0d3767}
.document-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.document-purpose-card{position:relative;display:grid;gap:.45rem;padding:1.05rem;border:2px solid #d9e7f5;border-radius:18px;background:#fff;cursor:pointer;min-height:150px;transition:.18s ease}
.document-purpose-card:hover{transform:translateY(-2px);border-color:#8bb8e7;box-shadow:0 12px 26px rgba(18,78,139,.1)}
.document-purpose-card input{position:absolute;opacity:0;pointer-events:none}
.document-purpose-card:has(input:checked){border-color:#145da9;background:linear-gradient(145deg,#fff,#eaf4ff);box-shadow:0 14px 30px rgba(20,93,169,.15)}
.document-purpose-card strong{font-size:1rem;color:#123e6c;padding-right:1.8rem}
.document-purpose-card small{color:#667b91;line-height:1.45}
.purpose-check{position:absolute;top:.8rem;right:.8rem;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf4fb;color:transparent;font-weight:900}
.document-purpose-card:has(input:checked) .purpose-check{background:#145da9;color:#fff}
.records-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}
.records-summary-card{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;padding:1rem;border:1px solid #d8e7f7;border-radius:18px;background:#fff;text-decoration:none;color:#143d69;box-shadow:0 10px 24px rgba(18,69,121,.07)}
.records-summary-card>span{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e8f3ff;color:#145da9;font-size:1.2rem}
.records-summary-card strong{font-size:1.45rem;line-height:1}
.records-summary-card small{color:#657a90;font-weight:700}
.records-filter-form{display:grid;grid-template-columns:1.6fr repeat(4,minmax(125px,1fr)) auto auto;gap:.8rem;align-items:end;margin-bottom:1.25rem}
.records-filter-form label{display:grid;gap:.35rem;font-weight:700;color:#12345a}
.purpose-pill-library_only{background:#e7f2ff;color:#0e579f}
.purpose-pill-leaders_only{background:#f1eaff;color:#6b38a6}
.purpose-pill-sister_delivery{background:#e5f7ec;color:#17633d}
.library-record-summary{display:flex;align-items:flex-start;gap:.8rem;padding:.9rem;border-radius:15px;background:#f3f8fd;border:1px solid #dce9f6}
.library-record-summary p{margin:.2rem 0 0;color:#65798e}
.library-record-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#dcecff;color:#145da9;font-weight:900;flex:0 0 auto}
.management-document-card.purpose-library_only{border-top:4px solid #4e91d1}
.management-document-card.purpose-leaders_only{border-top:4px solid #8f63c4}
.management-document-card.purpose-sister_delivery{border-top:4px solid #4aab77}
.communication-filter-form{grid-template-columns:1.7fr repeat(4,minmax(125px,1fr)) auto auto}
@media(max-width:1100px){.document-purpose-grid{grid-template-columns:1fr}.records-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.records-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.records-summary-grid,.records-filter-form{grid-template-columns:1fr}.document-purpose-card{min-height:0}.communication-filter-form{grid-template-columns:1fr}}

/* v1.8.3 — Under Generalate Completion Audit */
.audit-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.5rem;align-items:center;padding:1.7rem;border-radius:26px;background:linear-gradient(135deg,#0b4d95,#2779cf 62%,#83bdec);color:#fff;box-shadow:0 22px 52px rgba(18,75,139,.18);margin-bottom:1.15rem}.audit-hero h1{margin:.2rem 0 .45rem;font-size:clamp(2rem,4vw,3.2rem)}.audit-hero p{max-width:820px;color:rgba(255,255,255,.9);line-height:1.6}.audit-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.audit-hero .button-secondary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}.audit-score-card{padding:1.25rem;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.13);text-align:center;backdrop-filter:blur(8px)}.audit-score-card span,.audit-score-card small{display:block;color:rgba(255,255,255,.86)}.audit-score-card strong{display:block;font-size:3rem;line-height:1.05;margin:.35rem 0}.audit-authority-note{margin-bottom:1.2rem}.audit-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.audit-summary-grid article{padding:1rem;border:1px solid #d8e7f7;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(20,74,129,.07)}.audit-summary-grid small,.audit-summary-grid span{display:block;color:#667b91}.audit-summary-grid strong{display:block;margin:.25rem 0;font-size:1.85rem;color:#104f95}.audit-priority-panel{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 1.3rem;border-radius:20px;background:linear-gradient(145deg,#fff9e9,#fff);border:1px solid #ead9a6;margin-bottom:1.25rem}.audit-priority-panel h2{margin:.2rem 0}.audit-priority-panel p{margin:.2rem 0;color:#68778a}.audit-priority-stat{min-width:170px;text-align:center;padding:.85rem;border-radius:16px;background:#fff;border:1px solid #ead9a6}.audit-priority-stat strong,.audit-priority-stat span{display:block}.audit-priority-stat strong{font-size:1.8rem;color:#8b5b00}.audit-community-list{display:grid;gap:1.1rem}.audit-community-card{padding:1.25rem;border:1px solid #d8e7f7;border-left:5px solid #7db3e6;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(18,69,121,.08)}.audit-community-card.attention-high{border-left-color:#c36a67}.audit-community-card.attention-medium{border-left-color:#d4a137}.audit-community-card.attention-low{border-left-color:#58a678}.audit-community-card.is-protected{background:linear-gradient(145deg,#fff,#f6f8fb);border-left-color:#667b91}.audit-community-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.audit-community-title-row h2{margin:.2rem 0 .35rem}.audit-community-title-row p{margin:0;color:#61758c;max-width:840px}.audit-status-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:.45rem .75rem;border-radius:999px;font-size:.76rem;font-weight:850}.audit-status-badge.aligned{background:#dff5e9;color:#17633d}.audit-status-badge.attention{background:#fff0d0;color:#7d5100}.audit-status-badge.protected{background:#e9eef4;color:#42566d}.audit-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}.audit-check{display:flex;align-items:center;gap:.6rem;padding:.7rem;border-radius:14px;border:1px solid #dce8f5;background:#f8fbff}.audit-check>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-weight:900;flex:0 0 auto}.audit-check.pass>span{background:#dff5e9;color:#17633d}.audit-check.fail>span{background:#ffe4df;color:#9b3d35}.audit-check strong,.audit-check small{display:block}.audit-check strong{font-size:.84rem;color:#213d5b}.audit-check small{font-size:.72rem;color:#6b7d91}.audit-current-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.audit-review-block{padding:.85rem;border-radius:15px;background:#f3f8fd;border:1px solid #dce9f6}.audit-review-block strong{display:block;margin:.2rem 0;color:#154f88}.audit-review-block p{margin:0;color:#60758d;font-size:.84rem;line-height:1.4}.audit-issues{margin-top:.9rem;padding:.75rem .9rem;border-radius:14px;background:#fff8e8;border:1px solid #ead9a6}.audit-issues summary{cursor:pointer;font-weight:800;color:#76500b}.audit-issues ul{margin:.7rem 0 0;padding-left:1.2rem;color:#655b4d}.audit-protected-message{display:flex;gap:.75rem;align-items:center;padding:1rem;margin-top:1rem;border-radius:15px;background:#eef3f8;color:#50657a}.audit-protected-message span{font-size:1.4rem}.audit-protected-message p{margin:0}.audit-card-actions{margin-top:1rem}.audit-final-note{margin-top:1.3rem;padding:1.3rem;border-radius:20px;border:1px solid #d8e7f7;background:linear-gradient(145deg,#fff,#f4f9ff)}.audit-final-note h2{margin:.2rem 0}.audit-final-note p{margin:.3rem 0;color:#60758d;line-height:1.6}
@media(max-width:1050px){.audit-hero{grid-template-columns:1fr}.audit-score-card{max-width:300px}.audit-check-grid,.audit-current-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.audit-summary-grid,.audit-check-grid,.audit-current-review-grid{grid-template-columns:1fr}.audit-community-title-row,.audit-priority-panel{align-items:stretch;flex-direction:column}.audit-status-badge{align-self:flex-start}.audit-priority-stat{min-width:0}.audit-hero-actions{display:grid}.audit-hero-actions .button{width:100%;justify-content:center}}
.hero-progress-links{display:flex;flex-wrap:wrap;gap:.45rem}.hero-progress-links .hero-progress-link{margin-top:0}
@media(max-width:720px){.hero-progress-links{display:grid}.hero-progress-links .hero-progress-link{text-align:center}}

/* v1.9.3 — Lourdes Province Dashboard */
.lourdes-dashboard-hero{--lourdes:#8873ad;--lourdes-deep:#57436f;--lourdes-soft:#f3eef9;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:1.4rem;align-items:stretch;padding:clamp(1.5rem,3vw,2.4rem);margin-bottom:1.15rem;border:1px solid #e6dcef;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#faf7fd 44%,#f3eaf5 100%);box-shadow:0 20px 50px rgba(92,65,115,.11);overflow:hidden;position:relative}.lourdes-dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-120px;bottom:-160px;background:rgba(207,184,219,.28)}.lourdes-hero-copy{position:relative;z-index:1}.lourdes-breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-bottom:1rem;font-size:.78rem;color:#746883}.lourdes-breadcrumbs a{color:#6d5686;font-weight:800}.lourdes-kicker,.lourdes-section-label{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;color:#9477a5}.lourdes-dashboard-hero h1{max-width:780px;margin:.45rem 0 .7rem;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.75rem);line-height:1.04;color:#4b365f}.lourdes-dashboard-hero p{max-width:820px;margin:0;color:#6f6578;line-height:1.65}.lourdes-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}.lourdes-button-primary{background:#756092;color:#fff;box-shadow:0 8px 20px rgba(104,78,134,.2)}.lourdes-button-primary:hover{background:#5e4978}.lourdes-button-soft{background:#fff;color:#654f7c;border:1px solid #dfd1e9}.lourdes-button-soft:hover{background:#f8f3fb}.lourdes-identity-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.25rem;border:1px solid rgba(132,104,160,.2);border-radius:22px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px)}.lourdes-identity-card img{width:62px;height:auto;margin-bottom:.55rem}.lourdes-identity-card small{display:block;color:#8d8192}.lourdes-identity-card>div strong{display:block;margin:.15rem 0 .8rem;color:#513b69;font-family:Georgia,serif;font-size:1.15rem}.lourdes-identity-card dl{width:100%;display:grid;gap:.4rem;margin:.35rem 0 .8rem}.lourdes-identity-card dl div{display:flex;justify-content:space-between;gap:.8rem;padding:.55rem .65rem;border-radius:11px;background:#f8f4fa;font-size:.8rem;text-align:left}.lourdes-identity-card dt{color:#7c7082}.lourdes-identity-card dd{margin:0;font-weight:850;color:#554063;text-align:right}.lourdes-verified-badge{display:inline-flex;padding:.5rem .75rem;border-radius:999px;background:#e8f5ee;color:#2f6d4c;font-size:.75rem;font-weight:850}.lourdes-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.lourdes-stat-card{display:grid;grid-template-columns:48px 1fr;gap:.8rem;align-items:center;padding:1.05rem;border:1px solid #e7ddec;border-radius:20px;background:#fff;color:#4c3d59;box-shadow:0 10px 28px rgba(74,53,91,.06);transition:.18s ease}.lourdes-stat-card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(74,53,91,.1)}.lourdes-stat-card.lavender{background:linear-gradient(145deg,#fff,#f3eef9)}.lourdes-stat-card.rose{background:linear-gradient(145deg,#fff,#faeef3)}.lourdes-stat-card.mint{background:linear-gradient(145deg,#fff,#ecf7f3)}.lourdes-stat-card.sand{background:linear-gradient(145deg,#fff,#fbf5e8)}.lourdes-stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid rgba(120,91,143,.12);color:#735c89;font-size:1.25rem}.lourdes-stat-card small,.lourdes-stat-card strong,.lourdes-stat-card p{display:block}.lourdes-stat-card small{color:#7b7080;font-weight:800}.lourdes-stat-card strong{margin:.08rem 0;font-family:Georgia,serif;font-size:2rem;color:#5b426f;line-height:1}.lourdes-stat-card p{margin:.15rem 0 0;color:#8b818d;font-size:.73rem}.lourdes-authority-note{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.15rem;margin-bottom:1.25rem;border:1px solid #e8deed;border-radius:18px;background:#fcf9fd}.lourdes-authority-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e9ddf1;color:#62497c;font-family:Georgia,serif;font-weight:900}.lourdes-authority-note strong{color:#533d68}.lourdes-authority-note p{margin:.2rem 0 0;color:#766b7a;font-size:.84rem}.lourdes-authority-note>a,.lourdes-text-link{color:#70548c;font-weight:850;white-space:nowrap}.lourdes-dashboard-grid{display:grid;gap:1.15rem;margin-bottom:1.15rem}.lourdes-dashboard-grid.two-one{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.lourdes-dashboard-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-panel{padding:1.25rem;border:1px solid #e8e0ec;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(74,53,91,.055)}.lourdes-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.05rem}.lourdes-panel-heading.compact{margin-bottom:.8rem}.lourdes-panel h2,.lourdes-review-strip h2,.lourdes-footer-actions h2{margin:.2rem 0 .3rem;font-family:Georgia,serif;color:#4f3b60}.lourdes-panel p{margin:.2rem 0;color:#7a7080;font-size:.84rem;line-height:1.5}.lourdes-total-pill{padding:.45rem .7rem;border-radius:999px;background:#f1eaf6;color:#684f82;font-size:.74rem;font-weight:850;white-space:nowrap}.lourdes-bar-list{display:grid;gap:.86rem}.lourdes-bar-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.3rem;font-size:.85rem}.lourdes-bar-meta span{display:flex;align-items:center;gap:.45rem;font-weight:800;color:#51445a}.ministry-dot{width:9px;height:9px;border-radius:50%;background:#8d77ab}.ministry-dot-1{background:#cf8fa7}.ministry-dot-2{background:#77aa99}.ministry-dot-3{background:#c5a461}.ministry-dot-4{background:#7899b2}.ministry-dot-5{background:#a58b78}.lourdes-bar-track{height:10px;border-radius:999px;background:#f0ebf2;overflow:hidden}.lourdes-bar-track span{display:block;height:100%;border-radius:inherit;background:#8d77ab}.lourdes-bar-track .ministry-fill-1{background:#cf8fa7}.lourdes-bar-track .ministry-fill-2{background:#77aa99}.lourdes-bar-track .ministry-fill-3{background:#c5a461}.lourdes-bar-track .ministry-fill-4{background:#7899b2}.lourdes-bar-track .ministry-fill-5{background:#a58b78}.lourdes-bar-row>small{display:block;margin-top:.25rem;color:#918894;font-size:.7rem}.completeness-panel{text-align:center}.completeness-panel>.lourdes-section-label{text-align:left}.completeness-panel>h2{text-align:left}.lourdes-progress-ring{--progress:0;width:152px;height:152px;display:grid;place-items:center;margin:1rem auto;border-radius:50%;background:conic-gradient(#8873ad calc(var(--progress)*1%),#eee8f1 0);position:relative}.lourdes-progress-ring:before{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.lourdes-progress-ring div{position:relative;z-index:1}.lourdes-progress-ring strong,.lourdes-progress-ring small{display:block}.lourdes-progress-ring strong{font-family:Georgia,serif;font-size:2rem;color:#59416d}.lourdes-progress-ring small{color:#8c818f}.lourdes-mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1rem}.lourdes-mini-metrics div{padding:.7rem;border-radius:14px;background:#f8f4fa}.lourdes-mini-metrics strong,.lourdes-mini-metrics span{display:block}.lourdes-mini-metrics strong{color:#5d4672}.lourdes-mini-metrics span{margin-top:.2rem;color:#85798a;font-size:.68rem}.lourdes-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.lourdes-coverage-card{padding:.82rem;border:1px solid #eee6f0;border-radius:16px;background:#fcfafc}.lourdes-coverage-top{display:flex;justify-content:space-between;align-items:center}.coverage-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:#eee5f5;color:#614b76;font-weight:900}.coverage-icon-1{background:#fae8ee;color:#8c5066}.coverage-icon-2{background:#e7f4ef;color:#3f7463}.coverage-icon-3{background:#f8efd9;color:#846a2c}.coverage-icon-4{background:#e8f0f6;color:#45677f}.lourdes-coverage-card h3{margin:.65rem 0 .45rem;font-size:.82rem;color:#54485a}.lourdes-coverage-card small{display:block;margin-top:.3rem;color:#8e8490;font-size:.67rem}.lourdes-thin-track{height:7px;border-radius:999px;background:#eee9f0;overflow:hidden}.lourdes-thin-track span{display:block;height:100%;border-radius:inherit;background:#9b83b5}.lourdes-ranked-list{display:grid;gap:.7rem}.lourdes-ranked-row{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;gap:.65rem;align-items:center}.rank-number{color:#9a8ca0;font-family:Georgia,serif;font-size:.78rem}.lourdes-ranked-row>div strong{display:block;margin-bottom:.3rem;color:#55485c;font-size:.78rem}.lourdes-ranked-row>b{text-align:right;color:#654d78}.lourdes-review-strip{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,2fr);gap:1rem;align-items:center;margin-bottom:1.15rem;padding:1.2rem 1.3rem;border:1px solid #eadfc8;border-radius:22px;background:linear-gradient(135deg,#fffdf7,#fbf6eb)}.lourdes-review-heading h2{font-size:1.35rem}.lourdes-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.lourdes-review-metrics article{padding:.8rem;border:1px solid #eee2c8;border-radius:15px;background:#fff}.lourdes-review-metrics strong,.lourdes-review-metrics span{display:block}.lourdes-review-metrics strong{font-family:Georgia,serif;font-size:1.6rem;color:#755d35}.lourdes-review-metrics span{margin-top:.2rem;color:#84765f;font-size:.7rem}.lourdes-community-list{display:grid;gap:.48rem}.lourdes-community-row{display:grid;grid-template-columns:34px minmax(0,1fr) 58px 68px 20px;gap:.65rem;align-items:center;padding:.68rem .5rem;border-radius:14px;color:#4e4254}.lourdes-community-row:hover{background:#f8f4fa}.community-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#eee6f3;color:#654e78;font-weight:900;font-size:.72rem}.community-name strong,.community-name small,.community-count strong,.community-count small{display:block}.community-name strong{font-size:.82rem}.community-name small{margin-top:.15rem;color:#8b818e;font-size:.66rem}.community-count{text-align:center}.community-count strong{color:#604875}.community-count small{color:#918694;font-size:.62rem}.community-arrow{color:#9d8ca8}.locations-panel>p{margin-bottom:1rem}.lourdes-location-list{display:grid;gap:.78rem}.lourdes-location-list>div>div:first-child{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.3rem;font-size:.8rem}.lourdes-location-list span{color:#6f587f;font-weight:850}.lourdes-leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.lourdes-leader-card{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:.7rem;align-items:center;padding:.75rem;border:1px solid #ece4ef;border-radius:16px;color:#4e4056;background:#fdfbfd}.lourdes-leader-card:hover{background:#f7f1fa}.leader-initial{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e9dff0;color:#634c77;font-family:Georgia,serif;font-size:1.1rem;font-weight:900}.lourdes-leader-card small,.lourdes-leader-card strong,.lourdes-leader-card p{display:block}.lourdes-leader-card small{color:#82698f;font-size:.64rem;font-weight:850}.lourdes-leader-card strong{margin:.15rem 0;color:#504255;font-size:.78rem}.lourdes-leader-card p{margin:0;color:#918692;font-size:.63rem}.leader-order{color:#a395aa;font-family:Georgia,serif;font-size:.72rem}.lourdes-team-list{display:grid;gap:.55rem}.lourdes-team-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:.7rem;align-items:center;padding:.65rem;border-radius:14px;color:#514657}.lourdes-team-list>a:hover{background:#f8f4fa}.team-badge{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#e9f3ef;color:#416d5d;font-weight:900}.lourdes-team-list strong,.lourdes-team-list small{display:block}.lourdes-team-list strong{font-size:.76rem}.lourdes-team-list small{margin-top:.13rem;color:#8d838f;font-size:.62rem}.lourdes-empty-note{padding:1rem;border-radius:14px;background:#f8f4fa;color:#7c6f80}.lourdes-footer-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem 1.35rem;border:1px solid #e5daeb;border-radius:22px;background:linear-gradient(135deg,#f9f5fb,#fff)}.lourdes-footer-actions>div:last-child{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.province-record-link{color:inherit;text-decoration:none;transition:.18s ease}.province-record-link:hover{transform:translateY(-2px);border-color:#cbb8da;box-shadow:0 12px 28px rgba(84,60,104,.09)}.province-dashboard-cta{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;background:#f0e8f5;color:#664e7c;font-size:.72rem;font-weight:850}
@media(max-width:1120px){.lourdes-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-dashboard-grid.two-one,.lourdes-review-strip{grid-template-columns:1fr}.lourdes-identity-card{max-width:none}.lourdes-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.lourdes-dashboard-hero{grid-template-columns:1fr}.lourdes-dashboard-grid.equal{grid-template-columns:1fr}.lourdes-identity-card{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;text-align:left;align-items:center}.lourdes-identity-card img{grid-row:1/3}.lourdes-identity-card dl,.lourdes-verified-badge{grid-column:1/-1}.lourdes-leadership-grid{grid-template-columns:1fr}}
@media(max-width:720px){.lourdes-stat-grid,.lourdes-review-metrics,.lourdes-coverage-grid{grid-template-columns:1fr}.lourdes-authority-note{grid-template-columns:38px 1fr}.lourdes-authority-note>a{grid-column:2}.lourdes-panel-heading,.lourdes-footer-actions{flex-direction:column;align-items:stretch}.lourdes-footer-actions>div:last-child{justify-content:stretch;display:grid}.lourdes-footer-actions .button{width:100%}.lourdes-community-row{grid-template-columns:30px minmax(0,1fr) 48px 18px}.lourdes-community-row .community-count:nth-of-type(2){display:none}.lourdes-hero-actions{display:grid}.lourdes-hero-actions .button{width:100%}.lourdes-identity-card{display:flex;text-align:center}.province-dashboard-cta{display:none}}

/* v1.9.4 — Deep Lourdes Province intelligence dashboard */
.lourdes-dashboard-hero-deep{background:linear-gradient(135deg,#f8f1fb 0%,#fff9fb 45%,#f3fbf8 100%)}
.lourdes-identity-card-deep{background:rgba(255,255,255,.88);backdrop-filter:blur(8px)}
.lourdes-stat-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.lourdes-stat-card.blue{background:linear-gradient(145deg,#edf6fb,#fff);border-color:#dceaf3}.lourdes-stat-card.blue .lourdes-stat-icon{background:#dcecf6;color:#466d86}
.lourdes-stat-card.peach{background:linear-gradient(145deg,#fff3ed,#fff);border-color:#f2dfd4}.lourdes-stat-card.peach .lourdes-stat-icon{background:#f7e4d9;color:#8b624d}
.lourdes-dashboard-tabs{position:sticky;top:.65rem;z-index:15;display:flex;gap:.45rem;align-items:center;margin:0 0 1.2rem;padding:.5rem;border:1px solid #e5dbe9;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(79,58,94,.08);overflow-x:auto;scrollbar-width:thin;backdrop-filter:blur(10px)}
.lourdes-dashboard-tabs button{appearance:none;border:0;border-radius:13px;background:transparent;color:#776b7d;padding:.68rem .9rem;font:inherit;font-size:.78rem;font-weight:850;white-space:nowrap;cursor:pointer;transition:.18s ease}
.lourdes-dashboard-tabs button:hover{background:#f7f2f9;color:#5d476e}.lourdes-dashboard-tabs button.is-active{background:linear-gradient(135deg,#765b8d,#9476aa);color:#fff;box-shadow:0 7px 16px rgba(108,78,130,.22)}
.lourdes-section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin:0 0 1.15rem;padding:1.2rem 1.3rem;border:1px solid #e8deec;border-radius:22px;background:linear-gradient(135deg,#fcf9fd,#fff)}
.lourdes-section-intro h2{margin:.2rem 0 .35rem;font-family:Georgia,serif;color:#4f3b60}.lourdes-section-intro p{max-width:800px;margin:0;color:#796f7e;font-size:.85rem;line-height:1.55}
.lourdes-readiness-score{display:grid;place-items:center;width:128px;height:128px;margin:1rem auto;border-radius:50%;background:radial-gradient(circle at center,#fff 0 54%,transparent 55%),conic-gradient(#8e74aa 0 25%,#ca91a7 25% 50%,#78a896 50% 75%,#d0ad68 75%);box-shadow:inset 0 0 0 8px #f5eff7}
.lourdes-readiness-score strong,.lourdes-readiness-score span{display:block;text-align:center}.lourdes-readiness-score strong{font-family:Georgia,serif;font-size:1.8rem;color:#5b436d}.lourdes-readiness-score span{font-size:.62rem;color:#867a89}
.lourdes-readiness-list{display:grid;gap:.72rem}.lourdes-readiness-list>div>div:first-child,.lourdes-workflow-list>div>div:first-child,.lourdes-record-quality-list>div>div:first-child{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.3rem;font-size:.76rem}.lourdes-readiness-list strong,.lourdes-workflow-list strong,.lourdes-record-quality-list strong{color:#654d78}.lourdes-micro-note{margin-top:1rem!important;padding-top:.8rem;border-top:1px dashed #e4d9e8;font-size:.7rem!important}
.lourdes-footprint-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.lourdes-footprint-summary article{padding:1rem;border-radius:18px;border:1px solid #e7ddeb;background:#faf6fb}.lourdes-footprint-summary article.footprint-state-1{border-color:#dcebe5;background:#f3faf7}.lourdes-footprint-summary article.footprint-state-2{border-color:#f0e2cb;background:#fffaf1}.lourdes-footprint-summary strong{display:block;font-family:Georgia,serif;font-size:1.8rem;color:#604873}.lourdes-footprint-summary span,.lourdes-footprint-summary small{color:#8b7f8e;font-size:.67rem}.lourdes-footprint-summary h3{margin:.45rem 0 .15rem;color:#56465d;font-size:.82rem}
.lourdes-fact-list{display:grid;gap:.45rem}.lourdes-fact-list>div{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.65rem .72rem;border-radius:13px;background:#faf7fb;font-size:.76rem}.lourdes-fact-list span{color:#766b7b}.lourdes-fact-list strong{color:#5c466d}.lourdes-fact-list.flex-one{flex:1}
.lourdes-review-strip-deep{align-items:stretch}.lourdes-review-heading p{margin:.35rem 0 0;color:#857861;font-size:.78rem;line-height:1.5}.lourdes-priority-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.priority-preview-card{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem;align-items:center;padding:.82rem;border:1px solid #eadfc8;border-radius:16px;background:#fff;color:#5d5142}.priority-preview-card:hover{transform:translateY(-1px)}.priority-preview-card>strong{grid-row:1/3;font-family:Georgia,serif;font-size:1.65rem;color:#755d35}.priority-preview-card>span{font-size:.75rem;font-weight:850}.priority-preview-card>small{font-size:.62rem;color:#8b7e69}.priority-preview-card.rose{border-color:#edd6df;background:#fff9fb}.priority-preview-card.lavender{border-color:#e3d7e9;background:#fcf9fd}.priority-preview-card.mint{border-color:#d5e8e0;background:#f8fcfa}.priority-preview-card.blue{border-color:#d7e7f0;background:#f8fbfd}
.lourdes-text-button{appearance:none;border:0;background:none;color:#70548c;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;white-space:nowrap}.lourdes-text-button:hover{text-decoration:underline}
.moments-panel h2{margin-bottom:.85rem}.lourdes-moment-tabs{display:grid;gap:.4rem}.lourdes-moment-tabs h3{margin:.65rem 0 .25rem;color:#6b5578;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.lourdes-moment-tabs a{display:grid;grid-template-columns:52px 1fr;gap:.65rem;align-items:center;padding:.52rem;border-radius:13px;color:#514656}.lourdes-moment-tabs a:hover{background:#f8f4fa}.moment-date{display:grid;place-items:center;min-height:38px;border-radius:11px;background:#eee6f3;color:#665078;font-size:.68rem;font-weight:900}.lourdes-moment-tabs strong,.lourdes-moment-tabs small{display:block}.lourdes-moment-tabs strong{font-size:.72rem}.lourdes-moment-tabs small{margin-top:.12rem;color:#938797;font-size:.61rem}
.lourdes-profile-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1.15rem}.lourdes-profile-metric-grid article{padding:1rem;border:1px solid #e7deea;border-radius:18px;background:#fff}.lourdes-profile-metric-grid article:nth-child(2n){background:#fcf9fd}.lourdes-profile-metric-grid article:nth-child(3n){background:#f7fbf9}.lourdes-profile-metric-grid small,.lourdes-profile-metric-grid strong,.lourdes-profile-metric-grid span{display:block}.lourdes-profile-metric-grid small{color:#8a7d8e;font-size:.65rem;text-transform:uppercase;letter-spacing:.045em}.lourdes-profile-metric-grid strong{margin:.35rem 0 .18rem;font-family:Georgia,serif;font-size:1.7rem;color:#5d456f}.lourdes-profile-metric-grid span{color:#8f8491;font-size:.65rem}
.lourdes-demographic-bars{display:grid;gap:.78rem}.lourdes-demographic-bars>div>div:first-child{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-bottom:.28rem;font-size:.78rem}.lourdes-demographic-bars span{display:flex;align-items:center;gap:.45rem;color:#55495b;font-weight:800}.lourdes-demographic-bars small{display:block;margin-top:.22rem;color:#928796;font-size:.64rem}.demographic-swatch{width:9px;height:9px;border-radius:50%;background:#8c73aa}.demographic-swatch-1{background:#c98da6}.demographic-swatch-2{background:#7ea594}.demographic-swatch-3{background:#d0ad68}.demographic-swatch-4{background:#7898b2}.demographic-swatch-5{background:#a58a79}.demographic-fill{background:#8c73aa!important}.demographic-fill-1{background:#c98da6!important}.demographic-fill-2{background:#7ea594!important}.demographic-fill-3{background:#d0ad68!important}.demographic-fill-4{background:#7898b2!important}.demographic-fill-5{background:#a58a79!important}.profession-swatch-0{background:#7fa39a}.profession-swatch-1{background:#7392b1}.profession-swatch-2{background:#8d76aa}.profession-swatch-3{background:#c78fa5}.profession-swatch-4{background:#c9a75f}.profession-swatch-5{background:#9e8878}.profession-fill-0{background:#7fa39a!important}.profession-fill-1{background:#7392b1!important}.profession-fill-2{background:#8d76aa!important}.profession-fill-3{background:#c78fa5!important}.profession-fill-4{background:#c9a75f!important}.profession-fill-5{background:#9e8878!important}
.lourdes-ranked-list-wide .lourdes-ranked-row{grid-template-columns:34px minmax(0,1fr) 44px}.lourdes-ranked-list-wide small{display:block;margin-top:.22rem;color:#948997;font-size:.62rem}
.lourdes-contact-wheel{--both:0;--phone:0;--email:0;width:152px;height:152px;display:grid;place-items:center;margin:1rem auto;border-radius:50%;background:radial-gradient(circle,#fff 0 54%,transparent 55%),conic-gradient(#8d75aa 0 calc(var(--both)*1%),#7aa695 calc(var(--both)*1%) calc((var(--both) + var(--phone))*1%),#c99a70 calc((var(--both) + var(--phone))*1%) calc((var(--both) + var(--phone) + var(--email))*1%),#ece7ee 0)}.lourdes-contact-wheel strong,.lourdes-contact-wheel small{display:block;text-align:center}.lourdes-contact-wheel strong{font-family:Georgia,serif;font-size:1.7rem;color:#5c456e}.lourdes-contact-wheel small{color:#8d828f;font-size:.68rem}.lourdes-legend-list{display:grid;gap:.5rem}.lourdes-legend-list>div{display:grid;grid-template-columns:10px 1fr auto;gap:.55rem;align-items:center;font-size:.72rem}.lourdes-legend-list i{width:9px;height:9px;border-radius:50%;background:#8d75aa}.lourdes-legend-list .legend-phone{background:#7aa695}.lourdes-legend-list .legend-email{background:#c99a70}.lourdes-legend-list .legend-none{background:#d8d0da}
.lourdes-jubilee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lourdes-jubilee-grid a{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.65rem;align-items:center;padding:.68rem;border:1px solid #eadfec;border-radius:15px;color:#514556;background:#fdfbfd}.lourdes-jubilee-grid a:hover{background:#f8f2fa}.lourdes-jubilee-grid>a>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eee4f3;color:#674d7b;font-family:Georgia,serif;font-size:1.05rem;font-weight:900}.lourdes-jubilee-grid strong,.lourdes-jubilee-grid small{display:block}.lourdes-jubilee-grid strong{font-size:.72rem}.lourdes-jubilee-grid small{margin-top:.12rem;color:#958a98;font-size:.6rem}
.lourdes-donut-row{display:flex;gap:1rem;align-items:center}.lourdes-simple-donut{--primary:0;width:126px;height:126px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle,#fff 0 55%,transparent 56%),conic-gradient(#8c74aa 0 calc(var(--primary)*1%),#eadfec 0)}.lourdes-simple-donut strong,.lourdes-simple-donut small{display:block;text-align:center}.lourdes-simple-donut strong{font-family:Georgia,serif;font-size:1.6rem;color:#5b456b}.lourdes-simple-donut small{color:#8c818e;font-size:.62rem}.lourdes-subheading{margin:1rem 0 .55rem;color:#6b5777;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.lourdes-subheading.first{margin-top:.2rem}.lourdes-chip-cloud{display:flex;flex-wrap:wrap;gap:.42rem}.lourdes-chip-cloud span{padding:.42rem .58rem;border-radius:999px;background:#f2ecf5;color:#6e5c78;font-size:.65rem}.lourdes-chip-cloud strong{margin-left:.2rem;color:#513e60}
.lourdes-size-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.lourdes-size-band-grid article{padding:.9rem;border:1px solid #e6dce9;border-radius:16px;background:#faf7fb}.lourdes-size-band-grid .size-band-1{border-color:#dbe9e3;background:#f7fbf9}.lourdes-size-band-grid .size-band-2{border-color:#efe2cc;background:#fffaf2}.lourdes-size-band-grid .size-band-3{border-color:#ecd9df;background:#fff8fa}.lourdes-size-band-grid strong{font-family:Georgia,serif;font-size:1.7rem;color:#604a72}.lourdes-size-band-grid h3{margin:.3rem 0 .55rem;color:#5a4c61;font-size:.76rem}.lourdes-size-band-grid small{display:block;margin-top:.3rem;color:#918694;font-size:.62rem}
.lourdes-location-columns{columns:2;column-gap:1rem}.lourdes-location-columns>div{break-inside:avoid;margin-bottom:.72rem}.lourdes-location-columns>div>div:first-child{display:flex;justify-content:space-between;gap:.8rem;margin-bottom:.25rem;font-size:.75rem}.lourdes-location-columns span{color:#695277;font-weight:850}.lourdes-diocese-list{display:grid;gap:.6rem}.lourdes-diocese-list article{display:grid;grid-template-columns:48px 1fr;gap:.7rem;align-items:center;padding:.75rem;border-radius:15px;background:#faf7fb}.lourdes-diocese-list>article>strong{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eae0ef;color:#654b78;font-family:Georgia,serif;font-size:1.15rem}.lourdes-diocese-list h3{margin:0;color:#58495e;font-size:.75rem}.lourdes-diocese-list small{color:#918594;font-size:.63rem}.lourdes-contact-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:1rem}.lourdes-contact-summary div{padding:.65rem;border-radius:13px;background:#f7f4f8;text-align:center}.lourdes-contact-summary strong,.lourdes-contact-summary span{display:block}.lourdes-contact-summary strong{font-family:Georgia,serif;color:#604a70}.lourdes-contact-summary span{margin-top:.18rem;color:#8f8491;font-size:.57rem}
.lourdes-directory-table-panel{padding-bottom:1rem}.lourdes-table-search{display:grid;gap:.25rem;min-width:260px;color:#756a79;font-size:.66rem;font-weight:800}.lourdes-table-search input{width:100%;padding:.68rem .78rem;border:1px solid #d9cedd;border-radius:12px;background:#fff;color:#4f4453;font:inherit;font-size:.74rem}.lourdes-table-wrap{overflow:auto;border:1px solid #eadfec;border-radius:16px}.lourdes-data-table{width:100%;min-width:1050px;border-collapse:collapse}.lourdes-data-table th,.lourdes-data-table td{padding:.72rem .7rem;border-bottom:1px solid #eee7f0;text-align:left;vertical-align:middle;font-size:.7rem}.lourdes-data-table th{position:sticky;top:0;z-index:1;background:#f4eef6;color:#5f4a6d;text-transform:uppercase;letter-spacing:.04em;font-size:.61rem}.lourdes-data-table tbody tr:hover{background:#fcf9fd}.lourdes-data-table td>a{color:#514456}.lourdes-data-table td strong,.lourdes-data-table td small{display:block}.lourdes-data-table td small{margin-top:.13rem;color:#948997;font-size:.58rem}.lourdes-data-table .numeric{text-align:center;font-weight:900;color:#604975}.status-pill{display:inline-flex;padding:.3rem .48rem;border-radius:999px;background:#f9eddf;color:#89673d;font-size:.58rem;font-weight:850;white-space:nowrap}.status-pill.good{background:#e8f4ef;color:#426f5f}.status-pill.pending{background:#faecef;color:#8a5466}.ministry-label{display:inline-flex;padding:.3rem .48rem;border-radius:999px;background:#efe8f3;color:#684f78;font-size:.59rem;font-weight:800}.lourdes-table-result{margin:.6rem 0 0!important;color:#8c808f!important;font-size:.66rem!important}
.lourdes-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.lourdes-type-grid article{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:.55rem;align-items:center;padding:.62rem;border-radius:14px;background:#faf7fb}.type-index{color:#9b8da1;font-family:Georgia,serif;font-size:.68rem}.lourdes-type-grid strong{display:block;margin-bottom:.25rem;color:#594b60;font-size:.7rem}.lourdes-type-grid small{display:block;margin-top:.2rem;color:#958b98;font-size:.57rem}.lourdes-type-grid b{text-align:right;color:#654e78}
.lourdes-team-size-list{display:grid;gap:.55rem}.lourdes-team-size-list>div{display:grid;grid-template-columns:12px 1fr auto;gap:.6rem;align-items:center;padding:.58rem;border-radius:13px;background:#faf7fb}.team-size-dot{width:10px;height:10px;border-radius:50%;background:#d9cdda}.team-size-dot-1{background:#8c74aa}.team-size-dot-2{background:#7ca696}.team-size-dot-3{background:#c896a9}.team-size-dot-4{background:#d0ab66}.lourdes-team-size-list strong,.lourdes-team-size-list small{display:block}.lourdes-team-size-list strong{font-size:.7rem;color:#5b4d61}.lourdes-team-size-list small{color:#958a98;font-size:.58rem}.lourdes-team-size-list b{color:#644d76}.lourdes-designation-cloud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.lourdes-designation-cloud span{display:flex;gap:.45rem;align-items:center;padding:.66rem;border:1px solid #e7ddea;border-radius:14px;background:#fcfafc;color:#6d6072;font-size:.66rem}.lourdes-designation-cloud strong{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:#ece3f1;color:#604a72}.lourdes-ownership-list{display:grid;gap:.5rem}.lourdes-ownership-list article{display:grid;grid-template-columns:36px minmax(0,1fr) 30px;gap:.62rem;align-items:center;padding:.65rem;border-radius:14px;background:#faf7fb}.ownership-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#e9e0ee;color:#624c74;font-weight:900}.ownership-icon-1{background:#e5f1ec;color:#456f61}.ownership-icon-2{background:#f7ecd9;color:#81672f}.ownership-icon-3{background:#e4edf4;color:#4b6b80}.lourdes-ownership-list strong,.lourdes-ownership-list small{display:block}.lourdes-ownership-list strong{font-size:.7rem;color:#5a4c60}.lourdes-ownership-list small{color:#938896;font-size:.58rem}.lourdes-ownership-list b{color:#624c73}.lourdes-team-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lourdes-team-card-grid a{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:.65rem;align-items:center;padding:.7rem;border:1px solid #e6ddea;border-radius:15px;color:#514456}.lourdes-team-card-grid a:hover{background:#f9f5fa}.lourdes-team-card-grid strong,.lourdes-team-card-grid small{display:block}.lourdes-team-card-grid strong{font-size:.7rem}.lourdes-team-card-grid small{margin-top:.13rem;color:#938896;font-size:.58rem}
.lourdes-readiness-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1.15rem}.lourdes-readiness-board article{padding:1rem;border:1px solid #e6dce9;border-radius:18px;background:#fff;text-align:center}.lourdes-readiness-board h3{margin:.65rem 0 .25rem;color:#5b4b61;font-size:.78rem}.lourdes-readiness-board p{margin:0;color:#928795;font-size:.62rem;line-height:1.45}.lourdes-small-ring{--progress:0;width:86px;height:86px;display:grid;place-items:center;margin:auto;border-radius:50%;background:radial-gradient(circle,#fff 0 57%,transparent 58%),conic-gradient(#8b73a8 calc(var(--progress)*1%),#ece6ef 0)}.lourdes-small-ring strong{font-family:Georgia,serif;color:#5d476e;font-size:1.12rem}
.lourdes-action-queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.lourdes-action-queue>a{display:grid;grid-template-columns:34px minmax(0,1fr) auto 18px;gap:.65rem;align-items:center;padding:.72rem;border:1px solid #e8ddea;border-radius:15px;color:#55495a;background:#fcfafc}.lourdes-action-queue>a:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(77,57,91,.07)}.lourdes-action-queue>a.rose{border-color:#ecd9e0;background:#fff9fb}.lourdes-action-queue>a.mint{border-color:#d8e9e2;background:#f8fcfa}.lourdes-action-queue>a.sand{border-color:#efe2cb;background:#fffaf2}.lourdes-action-queue>a.blue{border-color:#d9e7ef;background:#f8fbfd}.action-rank{color:#9b8ca1;font-family:Georgia,serif;font-size:.68rem}.lourdes-action-queue strong,.lourdes-action-queue small{display:block}.lourdes-action-queue strong{font-size:.72rem}.lourdes-action-queue small{margin-top:.14rem;color:#938795;font-size:.59rem}.lourdes-action-queue b{font-family:Georgia,serif;font-size:1.25rem;color:#654e76}.action-arrow{color:#a294a8}.lourdes-workflow-list,.lourdes-record-quality-list{display:grid;gap:.8rem}.lourdes-workflow-list small{display:block;margin-top:.24rem;color:#958a98;font-size:.61rem}.lourdes-quality-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem}.lourdes-quality-summary>div{padding:.8rem;border-radius:14px;background:#f7f3f9;text-align:center}.lourdes-quality-summary strong,.lourdes-quality-summary span{display:block}.lourdes-quality-summary strong{font-family:Georgia,serif;font-size:1.4rem;color:#604974}.lourdes-quality-summary span{margin-top:.18rem;color:#918693;font-size:.58rem}.lourdes-contact-gap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.lourdes-contact-gap-grid article{padding:.9rem;border:1px solid #e6dce9;border-radius:16px;background:#faf7fb;text-align:center}.lourdes-contact-gap-grid article>span{width:34px;height:34px;display:grid;place-items:center;margin:0 auto .4rem;border-radius:11px;background:#eae0ef;color:#644d76}.lourdes-contact-gap-grid strong{display:block;font-family:Georgia,serif;font-size:1.55rem;color:#604a72}.lourdes-contact-gap-grid h3{margin:.28rem 0 .1rem;color:#5c4e62;font-size:.72rem}.lourdes-contact-gap-grid p{font-size:.6rem}.lourdes-history-note{display:grid;grid-template-columns:42px 1fr;gap:.85rem;align-items:center;padding:1rem 1.1rem;border:1px solid #dce8e3;border-radius:18px;background:#f7fbf9}.lourdes-history-note strong{color:#496c60}.lourdes-history-note p{margin:.18rem 0 0;color:#74877f;font-size:.75rem;line-height:1.5}
@media(max-width:1320px){.lourdes-stat-grid-six,.lourdes-profile-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lourdes-readiness-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.lourdes-section-intro{align-items:stretch;flex-direction:column}.lourdes-profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-size-band-grid,.lourdes-designation-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-action-queue{grid-template-columns:1fr}.lourdes-location-columns{columns:1}.lourdes-table-search{min-width:0;width:100%}}
@media(max-width:720px){.lourdes-stat-grid-six,.lourdes-profile-metric-grid,.lourdes-readiness-board,.lourdes-size-band-grid,.lourdes-designation-cloud,.lourdes-team-card-grid,.lourdes-priority-preview,.lourdes-jubilee-grid{grid-template-columns:1fr}.lourdes-dashboard-tabs{top:.25rem;border-radius:14px}.lourdes-dashboard-tabs button{padding:.6rem .72rem}.lourdes-footprint-summary,.lourdes-type-grid{grid-template-columns:1fr}.lourdes-donut-row{align-items:stretch;flex-direction:column}.lourdes-simple-donut{margin:auto}.lourdes-contact-summary,.lourdes-contact-gap-grid{grid-template-columns:1fr}.lourdes-location-columns{columns:1}}
@media print{.app-header,.side-nav,.lourdes-dashboard-tabs,.lourdes-hero-actions,.lourdes-footer-actions,.lourdes-table-search{display:none!important}.app-grid{display:block!important}.main-content{padding:0!important}.lourdes-dashboard-hero,.lourdes-panel,.lourdes-stat-card,.lourdes-authority-note,.lourdes-review-strip,.lourdes-section-intro{box-shadow:none!important;break-inside:avoid}.lourdes-stat-grid-six{grid-template-columns:repeat(3,1fr)}[data-lourdes-panel]{display:block!important}.lourdes-table-wrap{overflow:visible}.lourdes-data-table{min-width:0;font-size:8pt}.lourdes-data-table th,.lourdes-data-table td{padding:4px}}


/* v1.9.5 Lourdes dashboard visibility fix */
.lourdes-dashboard-nav{border:1px solid #e3d7eb;background:linear-gradient(135deg,#fbf7fd,#f4edf8);color:#5f4773!important;font-weight:850}.lourdes-dashboard-nav span{color:#8a6aa1}.lourdes-dashboard-nav:hover,.lourdes-dashboard-nav.active{border-color:#bda6ce;background:linear-gradient(135deg,#eee3f4,#f9f3fb);color:#4f3764!important}.lourdes-home-feature{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.2rem;padding:1.15rem 1.25rem;border:1px solid #dfd2e8;border-radius:22px;background:linear-gradient(135deg,#fbf6fd 0%,#fff9fb 55%,#f2faf7 100%);box-shadow:0 12px 32px rgba(83,59,102,.07)}.lourdes-home-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#eadff1;color:#684e7e;font-size:1.45rem}.lourdes-home-feature h2{margin:.15rem 0 .3rem;color:#513c63;font-family:Georgia,serif}.lourdes-home-feature p{margin:0;color:#786d7c;line-height:1.5}.lourdes-home-feature .button{white-space:nowrap}@media(max-width:760px){.lourdes-home-feature{grid-template-columns:46px 1fr}.lourdes-home-feature-icon{width:46px;height:46px;border-radius:15px}.lourdes-home-feature .button{grid-column:1/-1;width:100%}}

/* v1.9.6 - Enhanced Lourdes Directory census and workforce intelligence */
.lourdes-stat-grid-eight{grid-template-columns:repeat(4,minmax(0,1fr))}
.lourdes-source-stack{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;align-items:center}
.lourdes-directory-intro{background:linear-gradient(135deg,#fff 0%,#faf5ff 52%,#f1fbff 100%);border-color:#e7d8ef}
.lourdes-workforce-intro{background:linear-gradient(135deg,#fff 0%,#fff8f2 46%,#f4fbf7 100%);border-color:#eadfd6}
.lourdes-workforce-badge{display:inline-flex;align-items:center;max-width:250px;padding:.75rem 1rem;border-radius:999px;background:#fff;border:1px solid #e6d8e8;color:#6d557a;font-size:.78rem;font-weight:850;text-align:center;box-shadow:0 8px 20px rgba(87,62,102,.07)}
.lourdes-census-metrics article:nth-child(1){background:linear-gradient(145deg,#fff,#f5edfb)}
.lourdes-census-metrics article:nth-child(2){background:linear-gradient(145deg,#fff,#eef9f3)}
.lourdes-census-metrics article:nth-child(3){background:linear-gradient(145deg,#fff,#fff7ec)}
.lourdes-census-metrics article:nth-child(4){background:linear-gradient(145deg,#fff,#eef7ff)}
.lourdes-census-metrics article:nth-child(5){background:linear-gradient(145deg,#fff,#fff0f2)}
.lourdes-census-metrics article:nth-child(6){background:linear-gradient(145deg,#fff,#f4f0fb)}
.lourdes-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.lourdes-placement-card{padding:1rem;border-radius:18px;border:1px solid #e9e0ec;background:#fff;min-height:150px}
.lourdes-placement-card>div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.lourdes-placement-card>div strong{font-size:2rem;color:#513b60}.lourdes-placement-card>div small{font-weight:850;color:#7f7087}.lourdes-placement-card h3{font-size:.96rem;margin:.45rem 0 .35rem;color:#392d42}.lourdes-placement-card p{margin:0;color:#74687b;font-size:.82rem;line-height:1.45}
.lourdes-placement-card.lavender{background:#faf5ff;border-color:#eadcf3}.lourdes-placement-card.blue{background:#f2f8ff;border-color:#dbeafa}.lourdes-placement-card.mint{background:#f1faf5;border-color:#dcefe4}.lourdes-placement-card.rose{background:#fff4f5;border-color:#f2dde0}
.lourdes-bridge-note{display:grid;gap:.2rem;margin-top:.9rem;padding:.9rem 1rem;border-radius:16px;background:#f8f5fa;border:1px dashed #dacbe1}.lourdes-bridge-note strong{color:#5b4568}.lourdes-bridge-note span{font-size:.82rem;color:#756a7b}
.lourdes-mini-name-list{display:grid;gap:.45rem;margin-top:.85rem}.lourdes-mini-name-list a{display:grid;gap:.08rem;padding:.65rem .75rem;border-radius:13px;background:#faf7fb;border:1px solid #ece2ef;text-decoration:none}.lourdes-mini-name-list strong{font-size:.84rem;color:#493852}.lourdes-mini-name-list span{font-size:.75rem;color:#817487}
.lourdes-age-ribbon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.lourdes-age-ribbon>div{padding:.8rem .65rem;border-radius:16px;background:#faf7fb;border:1px solid #ebe1ef;text-align:center}.lourdes-age-ribbon strong,.lourdes-age-ribbon span,.lourdes-age-ribbon small{display:block}.lourdes-age-ribbon strong{font-size:1.35rem;color:#513c60}.lourdes-age-ribbon span{font-size:.75rem;font-weight:850;margin:.15rem 0;color:#594d60}.lourdes-age-ribbon small{font-size:.69rem;color:#897d8f}.lourdes-thin-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8e70a7,#b69bc9)}
.lourdes-age-ribbon .lourdes-thin-track{margin-top:.5rem}
.lourdes-generation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.lourdes-generation-grid article{display:grid;gap:.38rem;padding:.82rem;border:1px solid #e8dfeb;border-radius:16px;background:#fff}.lourdes-generation-grid span{font-size:.75rem;font-weight:850;color:#75677c}.lourdes-generation-grid strong{font-size:1.55rem;color:#4d3a58}.lourdes-generation-grid small{font-size:.68rem;color:#8a7e8f}
.lourdes-batch-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.lourdes-batch-grid article{display:grid;gap:.34rem;padding:.9rem;border-radius:17px;border:1px solid #e9e0ec;background:#fff}.lourdes-batch-grid small{color:#817586}.lourdes-batch-grid strong{font-size:1.1rem;color:#4d3b58}.lourdes-batch-grid span{font-size:.78rem;color:#6d6173}.batch-tone-0{background:#faf5ff!important}.batch-tone-1{background:#f1f8ff!important}.batch-tone-2{background:#f2faf5!important}.batch-tone-3{background:#fff8ef!important}.batch-tone-4{background:#fff3f5!important}
.lourdes-directory-census-table{min-width:1180px}.lourdes-directory-census-table td:nth-child(4){min-width:145px}.lourdes-directory-census-table td:nth-child(5){min-width:160px}.lourdes-directory-census-table td:nth-child(6){min-width:205px}.lourdes-alert-text{color:#a94856!important;font-weight:850}
.lourdes-enrichment-panel{background:linear-gradient(145deg,#fff,#fcf9fd)}.lourdes-enrichment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.lourdes-enrichment-grid article{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1rem;border:1px solid #e8dfeb;border-radius:20px;background:#fff}.lourdes-enrichment-grid h3{margin:0 0 .25rem;font-size:.95rem}.lourdes-enrichment-grid p{margin:0 0 .35rem;color:#746978;font-size:.8rem}.lourdes-enrichment-grid small{color:#8a7f8d;font-weight:750}
.lourdes-enrichment-ring{--value:0;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#8b70a0 calc(var(--value)*1%),#eee8f0 0);position:relative}.lourdes-enrichment-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.lourdes-enrichment-ring strong{position:relative;z-index:1;font-size:.92rem;color:#594566}.enrichment-tone-1 .lourdes-enrichment-ring{background:conic-gradient(#4f87b5 calc(var(--value)*1%),#e8eff5 0)}.enrichment-tone-2 .lourdes-enrichment-ring{background:conic-gradient(#5d9878 calc(var(--value)*1%),#e7f0eb 0)}.enrichment-tone-3 .lourdes-enrichment-ring{background:conic-gradient(#c68b62 calc(var(--value)*1%),#f4ebe5 0)}
.lourdes-workforce-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.lourdes-workforce-signal-grid article{display:grid;grid-template-columns:46px 1fr;gap:.7rem;align-items:start;padding:.85rem;border-radius:17px;border:1px solid #e8e0ea;background:#fff}.lourdes-workforce-signal-grid article>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f0e9f5;color:#6d557b;font-weight:900}.lourdes-workforce-signal-grid strong{display:block;font-size:1.35rem;color:#4c3b56}.lourdes-workforce-signal-grid h3{margin:.05rem 0 .2rem;font-size:.84rem}.lourdes-workforce-signal-grid p{margin:0;color:#7a6f7f;font-size:.73rem;line-height:1.4}.signal-tone-1 article>span{background:#eaf4fb}.signal-tone-2 article>span{background:#edf7f1}.signal-tone-3 article>span{background:#fff5e9}.signal-tone-4 article>span{background:#fff0f3}.signal-tone-5 article>span{background:#f0effb}
.lourdes-integrity-panel{background:linear-gradient(145deg,#fff,#fff6f7)}.lourdes-integrity-number{display:flex;align-items:baseline;gap:.65rem;padding:.85rem 0;border-bottom:1px solid #eee3e5}.lourdes-integrity-number strong{font-size:2.2rem;color:#8f4c5b}.lourdes-integrity-number span{font-size:.78rem;font-weight:800;color:#765f66}.lourdes-integrity-number.soft strong{color:#80668e}.lourdes-integrity-panel>p{font-size:.82rem;line-height:1.55;color:#766a70}.lourdes-integrity-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.lourdes-integrity-actions span{width:100%;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#7a6670}.lourdes-integrity-actions small{padding:.35rem .52rem;border-radius:999px;background:#fff;border:1px solid #eadde0;color:#7c6870;font-weight:750}
.lourdes-education-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.lourdes-education-level-grid article{padding:.85rem;border-radius:17px;border:1px solid #e7e1e8;background:#fff}.lourdes-education-level-grid article>div:first-child{display:flex;align-items:center;justify-content:space-between}.lourdes-education-level-grid strong{font-size:1.45rem;color:#4a3b53}.lourdes-education-level-grid h3{min-height:38px;margin:.55rem 0 .45rem;font-size:.78rem}.lourdes-education-level-grid small{display:block;margin-top:.4rem;color:#857a89;font-size:.68rem}.education-level-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#efe7f4;color:#6f557e;font-size:.73rem;font-weight:900}.education-level-1{background:#eaf3fa}.education-level-2{background:#edf7f0}.education-level-3{background:#fff4e7}.education-level-4{background:#fff0f2}
.lourdes-government-teacher-callout{display:grid;grid-template-columns:56px 1fr;gap:.8rem;align-items:center;margin-top:1rem;padding:.95rem;border:1px dashed #d9c9df;border-radius:17px;background:#faf6fc}.lourdes-government-teacher-callout>div:first-child span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#765b8d;color:#fff;font-size:1.25rem;font-weight:900}.lourdes-government-teacher-callout strong{display:block;color:#5b4667}.lourdes-government-teacher-callout p{margin:.25rem 0 0;color:#786d7d;font-size:.8rem;line-height:1.45}
.lourdes-medical-readiness{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.lourdes-medical-readiness article{padding:1rem;border-radius:18px;background:#f5faf8;border:1px solid #deece6;text-align:center}.lourdes-medical-readiness article>span{width:42px;height:42px;margin:0 auto .5rem;border-radius:14px;display:grid;place-items:center;background:#dcefe6;color:#3d755b;font-weight:900}.lourdes-medical-readiness strong{display:block;font-size:1.8rem;color:#416b58}.lourdes-medical-readiness h3{margin:.2rem 0;font-size:.82rem}.lourdes-medical-readiness p{margin:0;color:#718079;font-size:.7rem}.lourdes-field-checklist{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.lourdes-field-checklist strong{width:100%;font-size:.75rem;color:#53685d}.lourdes-field-checklist span{padding:.35rem .52rem;border-radius:999px;background:#edf7f2;color:#547164;font-size:.7rem;font-weight:800}
.lourdes-international-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.lourdes-international-summary article{padding:1rem;border-radius:18px;background:linear-gradient(145deg,#f4f8ff,#fff);border:1px solid #dfe8f3;text-align:center}.lourdes-international-summary strong{display:block;font-size:1.8rem;color:#496983}.lourdes-international-summary span{display:block;font-size:.72rem;color:#738493;font-weight:750}
.lourdes-priority-steps{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.7rem}.lourdes-priority-steps li{display:grid;grid-template-columns:36px 1fr;gap:.7rem;align-items:start;padding:.7rem;border-radius:15px;background:#faf7fb;border:1px solid #ece3ef}.lourdes-priority-steps li>span{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#82669a;color:#fff;font-weight:900}.lourdes-priority-steps strong{font-size:.82rem;color:#554260}.lourdes-priority-steps p{margin:.15rem 0 0;color:#7d7281;font-size:.73rem;line-height:1.4}.workforce-note{background:linear-gradient(135deg,#f3fbf7,#fff)}
@media(max-width:1120px){.lourdes-stat-grid-eight{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-batch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lourdes-age-ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}.lourdes-education-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.lourdes-stat-grid-eight,.lourdes-enrichment-grid,.lourdes-placement-grid,.lourdes-workforce-signal-grid,.lourdes-medical-readiness,.lourdes-international-summary{grid-template-columns:1fr}.lourdes-age-ribbon,.lourdes-generation-grid,.lourdes-batch-grid,.lourdes-education-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-source-stack{justify-content:flex-start}.lourdes-enrichment-grid article{grid-template-columns:64px 1fr}.lourdes-enrichment-ring{width:64px;height:64px}.lourdes-directory-census-table{font-size:.78rem}}
@media(max-width:480px){.lourdes-age-ribbon,.lourdes-generation-grid,.lourdes-batch-grid,.lourdes-education-level-grid{grid-template-columns:1fr}.lourdes-government-teacher-callout{grid-template-columns:1fr}.lourdes-government-teacher-callout>div:first-child span{margin:auto}}

/* v1.9.7 - Structured professional biodata and Lourdes workforce intelligence */
.professional-form-section,.retirement-form-section,.structured-record-form{border:1px solid #e8dfeb;border-radius:22px;background:linear-gradient(145deg,#fff,#fcf9fd);padding:1.15rem;margin-bottom:1rem}.professional-form-section{border-top:4px solid #8e70a7}.retirement-form-section{border-top:4px solid #c99478;background:linear-gradient(145deg,#fff,#fffaf5)}.professional-form-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}.professional-profile-panel{border:1px solid #e5dbe9;border-radius:22px;background:linear-gradient(145deg,#fff,#faf6fc);padding:1.1rem}.professional-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.professional-profile-grid article{padding:.85rem;border:1px solid #e9e1eb;border-radius:16px;background:#fff}.professional-profile-grid span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.045em;color:#85788a;font-weight:850}.professional-profile-grid strong{display:block;margin-top:.28rem;color:#4d3a58;font-size:.9rem;line-height:1.35}.retirement-integrity-card{margin-top:1rem;padding:1rem;border:1px dashed #dfcfc4;border-radius:18px;background:#fffaf5}.retirement-integrity-card.has-retirement-record{border-style:solid;background:#fff7ef}.retirement-integrity-card h3{margin:0 0 .5rem;font-size:.95rem;color:#6f5040}.retirement-integrity-card p{margin:.2rem 0;color:#786b64;font-size:.8rem;line-height:1.5}.professional-service-table{min-width:1120px}.professional-service-table td{vertical-align:top}.structured-qualification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.structured-qualification-grid article{padding:.8rem;border:1px solid #e8e0ea;border-radius:15px;background:#fff}.structured-qualification-grid span{display:block;font-size:.69rem;text-transform:uppercase;letter-spacing:.04em;color:#877b8b;font-weight:850}.structured-qualification-grid strong{display:block;margin-top:.22rem;color:#4d3d55;font-size:.85rem}.qualification-badge-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.qualification-badge-row span{padding:.35rem .55rem;border-radius:999px;background:#f0e8f4;color:#654f73;font-size:.7rem;font-weight:800}.self-service-subsection-heading{margin:1.2rem 0 .7rem;padding-bottom:.45rem;border-bottom:1px solid #e8e0ea;color:#594467;font-size:.92rem}
.workforce-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}.workforce-kpi-grid article{padding:1rem;border-radius:19px;border:1px solid #e7dfe9;background:#fff}.workforce-kpi-grid span{display:block;color:#7d7181;font-size:.71rem;font-weight:800}.workforce-kpi-grid strong{display:block;margin:.25rem 0;color:#4d3b58;font-size:1.75rem}.workforce-kpi-grid small{display:block;color:#8a7f8e;font-size:.67rem;line-height:1.35}.professional-ranking-list{display:grid;gap:.65rem}.professional-ranking-list article{display:grid;grid-template-columns:minmax(120px,1.3fr) 2fr 38px;gap:.65rem;align-items:center}.professional-ranking-list span{font-size:.78rem;color:#5f5364;font-weight:800}.professional-ranking-list strong{text-align:right;color:#4c3a56}.professional-ranking-track{height:10px;border-radius:999px;background:#eee8f0;overflow:hidden}.professional-ranking-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8e70a7,#b89dca)}.professional-ranking-track.mint-track i,.mint-track i{background:linear-gradient(90deg,#5f987b,#8fc1a5)}.professional-chip-cloud{display:flex;flex-wrap:wrap;gap:.45rem}.professional-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .68rem;border:1px solid #e4dbe7;border-radius:999px;background:#faf7fb;color:#5c4a64;font-size:.75rem;font-weight:800}.professional-chip strong{font-size:.86rem}.chip-tone-1{background:#f1f8ff;border-color:#dcebf5}.chip-tone-2{background:#f2faf5;border-color:#deeee5}.chip-tone-3{background:#fff8ee;border-color:#f2e5d3}.chip-tone-4{background:#fff3f5;border-color:#f0dde1}.chip-tone-5{background:#f5f2ff;border-color:#e4ddf4}.lourdes-medical-summary-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.medical-professional-pair{padding:1.1rem;border:1px solid #dfece6;border-radius:20px;background:linear-gradient(145deg,#f3faf6,#fff)}.medical-professional-pair span{display:block;color:#668074;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.medical-professional-pair strong{display:block;margin:.28rem 0;color:#3f6a56;font-size:2rem}.medical-professional-pair p{margin:0;color:#718079;font-size:.74rem;line-height:1.45}.education-workforce-panel{display:grid;gap:.8rem}.education-workforce-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}.education-workforce-card{padding:.9rem;border:1px solid #e8e0ea;border-radius:17px;background:#fff}.education-workforce-card span{display:block;color:#7c6f81;font-size:.69rem;font-weight:850}.education-workforce-card strong{display:block;margin:.25rem 0;color:#4d3b57;font-size:1.5rem}.education-workforce-card small{display:block;color:#8c818f;font-size:.65rem;line-height:1.35}.government-teacher-integrity{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:center;padding:1rem;border:1px dashed #d8c8de;border-radius:18px;background:#faf6fc}.government-teacher-integrity>strong{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#75588b;color:#fff;font-size:1.4rem}.government-teacher-integrity h3{margin:0 0 .2rem;color:#584263;font-size:.9rem}.government-teacher-integrity p{margin:0;color:#7a6e7e;font-size:.76rem;line-height:1.45}.experience-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.experience-band-grid article{padding:.9rem;border:1px solid #e7e0e9;border-radius:17px;background:#fff;text-align:center}.experience-band-grid strong{display:block;color:#4c3b56;font-size:1.55rem}.experience-band-grid span{display:block;margin-top:.18rem;color:#786c7c;font-size:.72rem;font-weight:800}.retirement-year-strip{display:flex;flex-wrap:wrap;gap:.55rem}.retirement-year-strip article{min-width:110px;padding:.8rem;border:1px solid #ebddd3;border-radius:16px;background:#fff9f4;text-align:center}.retirement-year-strip strong{display:block;color:#7e5845;font-size:1.35rem}.retirement-year-strip span{display:block;color:#826e63;font-size:.72rem;font-weight:800}.professional-register-panel{border:1px solid #e6dce9;border-radius:22px;background:#fff;padding:1rem}.professional-register-panel .table-responsive{margin-top:.8rem}.professional-register-table{min-width:1280px}.professional-register-table td{vertical-align:top}.professional-register-table small{display:block;color:#887d8b;margin-top:.15rem}.professional-data-note{padding:.9rem 1rem;border-radius:16px;background:#fff8ec;border:1px solid #f0e0c8;color:#776553;font-size:.78rem;line-height:1.5}
@media(max-width:1180px){.workforce-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.professional-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-workforce-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.workforce-kpi-grid,.professional-profile-grid,.structured-qualification-grid,.lourdes-medical-summary-panel,.education-workforce-grid,.experience-band-grid{grid-template-columns:1fr}.professional-ranking-list article{grid-template-columns:1fr 3fr 34px}.government-teacher-integrity{grid-template-columns:1fr}.government-teacher-integrity>strong{width:48px;height:48px}.professional-form-actions{align-items:stretch}.professional-form-actions .btn{width:100%}}
/* v1.9.7 visual refinements for rendered workforce components */
.professional-ranking-list>div{display:grid;grid-template-columns:minmax(120px,1.3fr) 2fr 38px;gap:.65rem;align-items:center}.professional-ranking-list>div>span{font-size:.78rem;color:#5f5364;font-weight:800}.professional-ranking-list>div>strong{text-align:right;color:#4c3a56}.chip-tone-0{background:#faf5ff;border-color:#e8dcef}.lourdes-medical-summary-panel{display:block}.medical-professional-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:0;border:0;background:transparent}.medical-professional-pair article{padding:1rem;border:1px solid #dfece6;border-radius:18px;background:linear-gradient(145deg,#f3faf6,#fff);text-align:center}.medical-professional-pair article span{display:grid;width:38px;height:38px;margin:0 auto .4rem;place-items:center;border-radius:12px;background:#dfeee6;color:#48705d;font-weight:900}.medical-professional-pair article strong{display:block;color:#3f6a56;font-size:1.8rem}.medical-professional-pair article small{color:#6f7e76;font-size:.7rem}.lourdes-medical-summary-panel>p{color:#708078;font-size:.76rem;line-height:1.5}.education-workforce-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.education-workforce-card>div:first-child strong{margin:0}.education-workforce-card dl{display:grid;gap:.35rem;margin:.65rem 0 0}.education-workforce-card dl div{display:flex;justify-content:space-between;gap:.5rem;padding-top:.35rem;border-top:1px solid #eee7f0}.education-workforce-card dt,.education-workforce-card dd{margin:0;font-size:.68rem}.education-workforce-card dt{color:#817586}.education-workforce-card dd{font-weight:850;color:#54475b}.government-teacher-integrity>span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#75588b;color:#fff;font-size:1.4rem;font-weight:900}.government-teacher-integrity>div>strong{display:block;margin-bottom:.2rem;color:#584263;font-size:.9rem}.experience-band-grid article small{display:block;margin-top:.35rem;color:#887e8b;font-size:.65rem;line-height:1.35}.experience-band-grid article .lourdes-thin-track{margin-top:.55rem}.professional-register-panel .lourdes-data-table td a{display:grid;gap:.08rem;text-decoration:none}.professional-register-panel .lourdes-data-table td a strong{color:#4d3b58}.professional-register-panel .lourdes-data-table td a small{color:#887d8b}.structured-record-form .form-grid{margin-top:.75rem}
@media(max-width:760px){.professional-ranking-list>div{grid-template-columns:1fr 2fr 34px}.medical-professional-pair{grid-template-columns:1fr}.government-teacher-integrity>span{width:48px;height:48px}}

/* v1.9.8 - Ministry-first institution hierarchy and Lourdes portfolio design */
.institution-page-heading{align-items:flex-end}.institution-page-heading p{max-width:860px}
.institution-kpi-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.72rem;margin:0 0 1rem}.institution-kpi-strip article{padding:1rem;border:1px solid #e5dce8;border-radius:19px;background:linear-gradient(145deg,#fff,#fbf8fc)}.institution-kpi-strip article:nth-child(2){background:#f7fbf9;border-color:#dae9e2}.institution-kpi-strip article:nth-child(3){background:#fffaf1;border-color:#eee1c9}.institution-kpi-strip article:nth-child(4){background:#fff7f9;border-color:#eddde3}.institution-kpi-strip article:nth-child(5){background:#f7faff;border-color:#dce6f1}.institution-kpi-strip article:nth-child(6){background:#faf7ff;border-color:#e1d8eb}.institution-kpi-strip span,.institution-kpi-strip strong,.institution-kpi-strip small{display:block}.institution-kpi-strip span{font-size:.69rem;color:#807484;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.institution-kpi-strip strong{margin:.3rem 0 .15rem;font-family:Georgia,serif;font-size:1.8rem;color:#523d60}.institution-kpi-strip small{font-size:.65rem;color:#8b818e;line-height:1.35}
.institution-ministry-browser,.institution-level-browser,.institution-level-overview,.institution-register-panel{margin:1rem 0;padding:1.15rem;border:1px solid #e5dce8;border-radius:24px;background:#fff}.institution-browser-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.institution-browser-heading.compact{align-items:center}.institution-browser-heading h2{margin:.15rem 0 .25rem;color:#4f3c5b;font-family:Georgia,serif}.institution-browser-heading p{margin:0;color:#7d7280;font-size:.8rem;line-height:1.5}.institution-summary-badge{display:inline-flex;align-items:center;padding:.5rem .72rem;border-radius:999px;background:#f0e8f4;color:#624e70;font-size:.7rem;font-weight:900;white-space:nowrap}
.institution-ministry-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.institution-ministry-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:1rem;border:1px solid #e4d9e8;border-radius:20px;background:linear-gradient(145deg,#fcf9fd,#fff);color:#4e4254;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.institution-ministry-card:hover,.institution-ministry-card.is-active{transform:translateY(-2px);border-color:#bca5c8;box-shadow:0 12px 24px rgba(78,56,91,.09)}.institution-ministry-card.is-active:after{content:"Selected";position:absolute;right:.8rem;top:.7rem;padding:.28rem .48rem;border-radius:999px;background:#73568a;color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.institution-ministry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:#eee5f2;color:#654d76;font-size:1.2rem;font-weight:900;flex:0 0 auto}.institution-ministry-card-copy small{color:#8e8291;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.institution-ministry-card-copy h3{margin:.15rem 0 .3rem;color:#4f3e58;font-size:.94rem}.institution-ministry-card-copy p{margin:0;color:#837886;font-size:.68rem;line-height:1.42}.institution-ministry-card-metrics{grid-column:1/-1;display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:.35rem;padding-top:.75rem;border-top:1px solid rgba(120,90,135,.12)}.institution-ministry-card-metrics strong{font-family:Georgia,serif;font-size:1.55rem;color:#5a436b}.institution-ministry-card-metrics span{color:#857987;font-size:.65rem}.institution-ministry-card-metrics b{justify-self:end;color:#65586a;font-size:.69rem}.tone-mint .institution-ministry-icon,.institution-ministry-icon.tone-mint{background:#e4f1eb;color:#48745f}.tone-rose .institution-ministry-icon,.institution-ministry-icon.tone-rose{background:#f7e7ec;color:#8b5e70}.tone-gold .institution-ministry-icon,.institution-ministry-icon.tone-gold{background:#f8efd9;color:#8b6c31}.tone-blue .institution-ministry-icon,.institution-ministry-icon.tone-blue{background:#e5eef6;color:#4f7291}.tone-sand .institution-ministry-icon,.institution-ministry-icon.tone-sand{background:#f3eadc;color:#80664b}.tone-teal .institution-ministry-icon,.institution-ministry-icon.tone-teal{background:#e0efef;color:#467373}.tone-peach .institution-ministry-icon,.institution-ministry-icon.tone-peach{background:#f7e8df;color:#8a604a}.tone-plum .institution-ministry-icon,.institution-ministry-icon.tone-plum{background:#eee3ed;color:#76546f}.tone-slate .institution-ministry-icon,.institution-ministry-icon.tone-slate{background:#e9ecef;color:#5f6870}
.institution-level-browser{background:linear-gradient(145deg,#fcf9fd,#fff)}.institution-level-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.institution-level-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.85rem;border:1px solid #e8e0ea;border-radius:17px;background:#fff;color:#504455}.institution-level-card:hover,.institution-level-card.is-active{border-color:#c7b5cf;background:#faf6fc}.institution-level-card>span{display:grid;place-items:center;min-width:54px;padding:.55rem;border-radius:14px;background:#f0e8f4}.institution-level-card>span strong{font-family:Georgia,serif;font-size:1.35rem;color:#5b446b}.institution-level-card>span small{font-size:.58rem;color:#817384}.institution-level-card h3{margin:0 0 .2rem;font-size:.78rem;color:#57475e}.institution-level-card p{margin:0;font-size:.65rem;color:#8a7f8d}.institution-level-card>b{color:#785f8d}
.institution-level-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.institution-level-overview-grid>article{padding:.9rem;border:1px solid #e7dfe9;border-radius:18px;background:#fff}.institution-level-overview-grid header{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem}.institution-level-overview-grid h3{margin:0;color:#514158;font-size:.82rem}.institution-level-overview-grid header small{color:#8d8290;font-size:.63rem}.institution-level-mini-list{display:grid;gap:.28rem}.institution-level-mini-list a{display:flex;justify-content:space-between;gap:.7rem;padding:.45rem .52rem;border-radius:10px;background:#faf7fb;color:#66596b;font-size:.67rem}.institution-level-mini-list a:hover{background:#f2eaf5}.institution-level-mini-list strong{color:#56405f}.institution-view-ministry{display:inline-block;margin-top:.65rem;color:#6d5182;font-size:.68rem;font-weight:900}
.institution-filter-form{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:.65rem;align-items:end;padding:.85rem;border:1px solid #e8e1ea;border-radius:18px;background:#faf8fb}.institution-filter-form label{display:grid;gap:.3rem}.institution-filter-form label>span{color:#776a7b;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.institution-filter-form input,.institution-filter-form select{width:100%;min-height:42px;padding:.62rem .72rem;border:1px solid #dcd2df;border-radius:12px;background:#fff;color:#4f4453;font:inherit;font-size:.76rem}.institution-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.institution-result-card{display:flex;flex-direction:column;padding:1rem;border:1px solid #e6dce9;border-radius:20px;background:linear-gradient(145deg,#fff,#fcf9fd)}.institution-result-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem}.institution-result-statuses{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.classification-pill{display:inline-flex;align-items:center;padding:.3rem .5rem;border-radius:999px;background:#fff1dd;color:#7c622f;font-size:.58rem;font-weight:900}.classification-pill.is-verified{background:#e7f3ec;color:#47715d}.institution-level-label{display:inline-flex;align-self:flex-start;margin:.75rem 0 .35rem;padding:.3rem .52rem;border-radius:999px;background:#f0e8f4;color:#614d70;font-size:.62rem;font-weight:900}.institution-result-card h3{margin:.2rem 0 .35rem;font-size:.92rem;line-height:1.3}.institution-result-card h3 a{color:#4b3a55}.institution-result-location{margin:0;color:#867b89;font-size:.68rem}.institution-result-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0}.institution-result-tags span{padding:.3rem .48rem;border-radius:999px;background:#f6f2f7;color:#6d6170;font-size:.6rem;font-weight:800}.institution-result-card dl{display:grid;gap:.35rem;margin:.25rem 0 .8rem}.institution-result-card dl div{display:grid;grid-template-columns:105px 1fr;gap:.55rem;padding-top:.38rem;border-top:1px solid #eee7ef}.institution-result-card dt,.institution-result-card dd{margin:0;font-size:.66rem}.institution-result-card dt{color:#8a7f8d}.institution-result-card dd{color:#554a59}.institution-result-card .institution-card-actions{margin-top:auto}.institution-empty-state{padding:2.2rem 1rem;text-align:center}.institution-empty-state span{display:grid;place-items:center;width:56px;height:56px;margin:0 auto .7rem;border-radius:18px;background:#f0e8f4;color:#665077;font-size:1.4rem}.institution-empty-state h3{margin:0 0 .25rem;color:#55465d}.institution-empty-state p{margin:0;color:#877c8a;font-size:.75rem}
.lourdes-ministry-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.lourdes-ministry-portfolio-card{display:flex;flex-direction:column;padding:1rem;border:1px solid #e5dbe8;border-radius:20px;background:linear-gradient(145deg,#fff,#fcf9fd);color:#504356;min-height:270px}.lourdes-ministry-portfolio-card:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(76,54,88,.08)}.portfolio-card-top{display:flex;justify-content:space-between;align-items:center}.portfolio-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eee5f2;color:#654d76;font-size:1.15rem;font-weight:900}.portfolio-level-count{padding:.28rem .48rem;border-radius:999px;background:#f4eff6;color:#75687a;font-size:.59rem;font-weight:900}.lourdes-ministry-portfolio-card h3{margin:.7rem 0 .28rem;color:#4f3f58;font-size:.9rem}.lourdes-ministry-portfolio-card>p{margin:0;color:#817584;font-size:.67rem;line-height:1.45}.portfolio-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.75rem 0;padding:.65rem 0;border-top:1px solid #eee7ef;border-bottom:1px solid #eee7ef}.portfolio-card-stats div{text-align:center}.portfolio-card-stats strong,.portfolio-card-stats span{display:block}.portfolio-card-stats strong{font-family:Georgia,serif;font-size:1.25rem;color:#5a4566}.portfolio-card-stats span{font-size:.56rem;color:#877b8a}.portfolio-level-preview{display:flex;flex-wrap:wrap;gap:.28rem}.portfolio-level-preview span{padding:.28rem .42rem;border-radius:9px;background:#f7f4f8;color:#6c5e70;font-size:.57rem}.portfolio-level-preview b{margin-left:.18rem;color:#594263}.portfolio-open-link{display:block;margin-top:auto;padding-top:.7rem;color:#6c5081;font-size:.67rem}.lourdes-level-breakdown-panel{border-top:4px solid #9a7caf}.lourdes-level-breakdown-panel.tone-mint{border-top-color:#75a48e}.lourdes-level-breakdown-panel.tone-rose{border-top-color:#c88fa5}.lourdes-level-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.lourdes-level-breakdown-grid>a{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:.65rem;align-items:center;padding:.75rem;border:1px solid #e8e0ea;border-radius:15px;color:#514556;background:#fff}.lourdes-level-breakdown-grid>a:hover{background:#faf7fb}.level-sequence{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0e8f4;color:#685277;font-size:.65rem;font-weight:900}.lourdes-level-breakdown-grid h3{margin:0 0 .15rem;font-size:.72rem}.lourdes-level-breakdown-grid p{margin:0 0 .35rem;color:#8a7e8d;font-size:.6rem}.lourdes-level-breakdown-grid>a>strong{text-align:right;font-family:Georgia,serif;font-size:1.2rem;color:#5c466b}.lourdes-level-type-grid{max-height:580px;overflow:auto;padding-right:.2rem}
@media(max-width:1180px){.institution-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.institution-ministry-card-grid,.institution-level-overview-grid,.institution-result-grid,.lourdes-ministry-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-search-field{grid-column:1/-1}.institution-filter-form .button{align-self:stretch}}
@media(max-width:760px){.institution-kpi-strip,.institution-ministry-card-grid,.institution-level-card-grid,.institution-level-overview-grid,.institution-result-grid,.institution-filter-form,.lourdes-ministry-portfolio-grid,.lourdes-level-breakdown-grid{grid-template-columns:1fr}.institution-browser-heading{align-items:flex-start;flex-direction:column}.institution-ministry-card-metrics{grid-template-columns:auto auto 1fr}.institution-result-card dl div{grid-template-columns:1fr}.institution-filter-form .button{width:100%}.lourdes-institution-intro{align-items:flex-start}.lourdes-profile-metric-grid.lourdes-institution-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.9.9 - Lourdes master-template visual refinement and Province Review Centre */
:root{--lourdes-plum:#725685;--lourdes-plum-deep:#4f385f;--lourdes-lilac:#eee5f4;--lourdes-rose:#f5e7ed;--lourdes-mint:#e8f4ef;--lourdes-cream:#fbf4e5;--lourdes-blue:#e8f0f7;--lourdes-peach:#faece4}
.lourdes-dashboard-hero-deep{isolation:isolate;border-color:#decfe7;background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.95) 0 8%,transparent 9%),radial-gradient(circle at 78% 70%,rgba(230,244,237,.72),transparent 27%),linear-gradient(135deg,#f7effb 0%,#fffafc 48%,#f1faf6 100%)}
.lourdes-dashboard-hero-deep:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.34;background-image:radial-gradient(#bba6c8 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 20%,#000)}
.lourdes-dashboard-hero-deep .lourdes-identity-card{border-color:#d7c6e2;background:rgba(255,255,255,.9);box-shadow:0 18px 45px rgba(84,56,102,.09)}
.lourdes-dashboard-hero-deep h1{letter-spacing:-.035em;text-wrap:balance}.lourdes-dashboard-hero-deep p{text-wrap:pretty}
.lourdes-stat-grid-eight .lourdes-stat-card{position:relative;overflow:hidden}.lourdes-stat-grid-eight .lourdes-stat-card:after{content:"";position:absolute;right:-22px;bottom:-32px;width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.55)}
.lourdes-stat-card.blue{background:linear-gradient(145deg,#fff,var(--lourdes-blue))}.lourdes-stat-card.peach{background:linear-gradient(145deg,#fff,var(--lourdes-peach))}
.lourdes-stat-card:focus-visible,.lourdes-dashboard-tabs button:focus-visible,.review-centre-nav a:focus-visible{outline:3px solid rgba(114,86,133,.28);outline-offset:3px}
.lourdes-panel{transition:border-color .18s ease,box-shadow .18s ease}.lourdes-panel:hover{border-color:#dccfe4;box-shadow:0 16px 38px rgba(74,53,91,.075)}
.lourdes-dashboard-tabs{scroll-padding-inline:.5rem}.lourdes-dashboard-tabs button{display:inline-flex;align-items:center;gap:.42rem}.lourdes-dashboard-tabs button .tab-glyph{width:21px;height:21px;display:grid;place-items:center;border-radius:8px;background:#f3edf6;color:#775c89;font-size:.72rem}.lourdes-dashboard-tabs button.is-active .tab-glyph{background:rgba(255,255,255,.18);color:#fff}
.lourdes-focus-ribbon{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(150px,.8fr));gap:.75rem;margin:0 0 1.2rem;padding:.85rem;border:1px solid #e4d8e9;border-radius:21px;background:linear-gradient(135deg,#fff,#fcf8fd);box-shadow:0 10px 25px rgba(78,56,94,.05)}
.lourdes-focus-intro{padding:.65rem .75rem}.lourdes-focus-intro h2{margin:.2rem 0 .25rem;color:#513c62;font-family:Georgia,serif;font-size:1.2rem}.lourdes-focus-intro p{margin:0;color:#7d7281;font-size:.78rem;line-height:1.45}.lourdes-focus-card{display:grid;grid-template-columns:38px 1fr;gap:.65rem;align-items:center;padding:.72rem;border:1px solid #ece3ef;border-radius:15px;background:#fff;color:#54435d}.lourdes-focus-card:hover{background:#faf6fc;border-color:#d8c9e0}.lourdes-focus-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eee5f4;color:#694e7e;font-weight:900}.lourdes-focus-card strong,.lourdes-focus-card small{display:block}.lourdes-focus-card strong{font-size:1.15rem;color:#5c4470}.lourdes-focus-card small{margin-top:.1rem;color:#867a89;font-size:.68rem}.lourdes-confidence-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}.lourdes-confidence-legend span,.review-source-legend span{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .55rem;border-radius:999px;font-size:.67rem;font-weight:850}.lourdes-confidence-legend span:before,.review-source-legend span:before{content:"";width:7px;height:7px;border-radius:50%}.source-verified{background:#e8f5ee;color:#2f6d4c}.source-verified:before{background:#4b9a72}.source-submitted{background:#e9eff8;color:#416487}.source-submitted:before{background:#668eb7}.source-review{background:#fbf0dc;color:#806123}.source-review:before{background:#c89b3d}

.province-review-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.2rem;padding:clamp(1.5rem,3vw,2.3rem);margin-bottom:1rem;border:1px solid #ddcfe5;border-radius:28px;overflow:hidden;background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.88),transparent 18%),linear-gradient(135deg,#f7effb,#fff9fb 52%,#eef8f4);box-shadow:0 20px 50px rgba(83,59,101,.1)}
.province-review-hero:after{content:"";position:absolute;right:-90px;bottom:-145px;width:300px;height:300px;border-radius:50%;background:rgba(202,225,215,.34)}.province-review-copy,.province-review-score{position:relative;z-index:1}.province-review-copy h1{max-width:800px;margin:.45rem 0 .7rem;color:#4d385d;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.035em}.province-review-copy>p{max-width:820px;margin:0;color:#706574;line-height:1.65}.province-review-score{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;border:1px solid rgba(119,87,139,.2);border-radius:22px;background:rgba(255,255,255,.82);text-align:center}.province-review-ring{--progress:0;width:142px;height:142px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#7b6090 calc(var(--progress)*1%),#eee7f1 0);position:relative}.province-review-ring:before{content:"";position:absolute;inset:15px;border-radius:50%;background:#fff}.province-review-ring div{position:relative}.province-review-ring strong,.province-review-ring span{display:block}.province-review-ring strong{color:#543d66;font-family:Georgia,serif;font-size:2rem}.province-review-ring span{color:#887c8d;font-size:.7rem}.province-review-score p{margin:.85rem 0 .4rem;color:#5c4b64;font-size:.82rem}.province-review-score>small{color:#8a7f8d;font-size:.67rem;line-height:1.45}
.province-review-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.review-kpi{display:grid;grid-template-columns:34px 1fr;gap:.65rem;align-items:center;padding:.85rem;border:1px solid #e7ddea;border-radius:18px;background:#fff;color:#57465f;box-shadow:0 9px 24px rgba(77,55,92,.05);transition:.18s ease}.review-kpi:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(77,55,92,.085)}.review-kpi>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f3edf6;color:#765d87;font-family:Georgia,serif;font-size:.72rem;font-weight:900}.review-kpi small,.review-kpi strong,.review-kpi p{display:block}.review-kpi small{color:#7e7283;font-size:.69rem;font-weight:800}.review-kpi strong{margin:.08rem 0;color:#563f68;font-family:Georgia,serif;font-size:1.75rem;line-height:1}.review-kpi p{margin:0;color:#908693;font-size:.64rem}.review-kpi.tone-rose{background:linear-gradient(145deg,#fff,#faeef3)}.review-kpi.tone-mint{background:linear-gradient(145deg,#fff,#edf7f3)}.review-kpi.tone-sand{background:linear-gradient(145deg,#fff,#fbf5e8)}.review-kpi.tone-blue{background:linear-gradient(145deg,#fff,#edf3f8)}.review-kpi.tone-peach{background:linear-gradient(145deg,#fff,#fbeee7)}.review-kpi.tone-lavender{background:linear-gradient(145deg,#fff,#f3eef9)}
.review-guidance-banner{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.85rem;align-items:center;margin-bottom:1rem;padding:.95rem 1rem;border:1px solid #e4d9e8;border-radius:18px;background:#fdfafd}.review-guidance-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e8f4ee;color:#347050;font-weight:900}.review-guidance-banner strong{color:#523f5d}.review-guidance-banner p{margin:.2rem 0 0;color:#786d7b;font-size:.78rem;line-height:1.45}.review-source-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}
.review-centre-nav{position:sticky;top:.55rem;z-index:14;display:flex;gap:.45rem;margin-bottom:1rem;padding:.48rem;border:1px solid #e2d6e7;border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 25px rgba(77,55,92,.07);overflow-x:auto;backdrop-filter:blur(10px)}.review-centre-nav a{display:inline-flex;align-items:center;gap:.4rem;padding:.63rem .72rem;border-radius:12px;color:#705f77;font-size:.76rem;font-weight:850;white-space:nowrap}.review-centre-nav a:hover{background:#f5eff8;color:#513b62}.review-centre-nav a span{color:#816896}.review-centre-nav a b{min-width:24px;padding:.2rem .4rem;border-radius:999px;background:#eee5f4;color:#614876;text-align:center;font-size:.65rem}
.review-centre-section{scroll-margin-top:6rem;margin-bottom:1rem;padding:1.15rem;border:1px solid #e7deea;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(74,53,91,.05)}.review-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.review-section-heading h2{margin:.18rem 0 .25rem;color:#4e3b5a;font-family:Georgia,serif}.review-section-heading p{margin:0;color:#7b7080;font-size:.8rem;line-height:1.5}
.review-submission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.review-submission-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #ece4ef;border-radius:17px;background:#fefcfe}.review-submission-card:hover{border-color:#d8c9e0;background:#faf6fc}.review-avatar{width:52px;height:52px;border-radius:16px;overflow:hidden;background:#eadff1}.review-avatar img{width:100%;height:100%;object-fit:cover}.review-avatar span{width:100%;height:100%;display:grid;place-items:center;color:#674d7b;font-family:Georgia,serif;font-weight:900}.review-card-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.review-card-meta>span:first-child{color:#8d828f;font-size:.63rem}.review-submission-main h3{margin:.22rem 0 .08rem;color:#514257;font-size:.86rem}.review-submission-main p{margin:0;color:#8a808d;font-size:.68rem}.review-progress-line{height:7px;margin:.5rem 0 .25rem;border-radius:999px;background:#eee8f0;overflow:hidden}.review-progress-line span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#83689a,#aa91ba)}.review-submission-main>small{color:#8d828f;font-size:.63rem}.review-status{display:inline-flex;padding:.28rem .48rem;border-radius:999px;font-size:.61rem;font-weight:900;text-transform:capitalize}.status-submitted{background:#e9eff8;color:#466987}.status-returned{background:#fae8ed;color:#8b4d61}.status-approved{background:#e8f4ee;color:#347050}.status-draft,.status-pending{background:#f7efd9;color:#7c6127}
.review-professional-table-wrap{overflow:auto}.review-professional-table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}.review-professional-table th{padding:.65rem .7rem;border-bottom:1px solid #e9e0ed;color:#7c6f81;font-size:.67rem;text-align:left;text-transform:uppercase;letter-spacing:.06em}.review-professional-table td{padding:.72rem;border-bottom:1px solid #f0eaf2;vertical-align:middle;color:#5b4f60;font-size:.76rem}.review-professional-table tbody tr:hover{background:#fbf8fc}.review-professional-table td strong,.review-professional-table td small{display:block}.review-professional-table td small{margin-top:.14rem;color:#918695;font-size:.62rem}.review-completion{display:grid;grid-template-columns:38px 70px;gap:.5rem;align-items:center}.review-completion>div{height:7px;border-radius:999px;background:#eee8f0;overflow:hidden}.review-completion>div span{display:block;height:100%;border-radius:inherit;background:#8d73a4}.review-missing-chips{display:flex;flex-wrap:wrap;gap:.3rem}.review-missing-chips span{padding:.28rem .44rem;border-radius:999px;background:#f7edf1;color:#825267;font-size:.59rem;font-weight:800}.review-edit-link{color:#6d4f84;font-weight:900;white-space:nowrap}
.review-entity-grid,.review-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.review-entity-grid article,.review-community-grid article{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.78rem;border:1px solid #ece4ef;border-radius:16px;background:#fefcfe}.review-entity-grid article:hover,.review-community-grid article:hover{border-color:#d8c9e0;background:#faf6fc}.review-entity-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#e9eff8;color:#496b88;font-size:1.1rem}.review-entity-grid h3,.review-community-grid h3{margin:.25rem 0 .12rem;color:#514257;font-size:.82rem}.review-entity-grid p,.review-community-grid p{margin:0 0 .4rem;color:#8c818e;font-size:.65rem}.review-entity-grid article>a,.review-community-grid article>a{color:#6c4f82;font-size:.72rem;font-weight:900;white-space:nowrap}.review-community-score{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#edf6f2;color:#386e59;text-align:center}.review-community-score strong,.review-community-score span{display:block}.review-community-score strong{font-size:.8rem}.review-community-score span{font-size:.52rem}
.review-empty-state{padding:2.3rem 1rem;border:1px dashed #dacde1;border-radius:18px;background:#fcf9fd;text-align:center}.review-empty-state>span{width:48px;height:48px;display:grid;place-items:center;margin:auto;border-radius:16px;background:#eaf4ef;color:#3d735d;font-size:1.2rem}.review-empty-state h3{margin:.7rem 0 .25rem;color:#55435f}.review-empty-state p{margin:0;color:#8a7e8d;font-size:.76rem}.review-centre-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 1.25rem;border:1px solid #e1d5e6;border-radius:22px;background:linear-gradient(135deg,#f8f2fb,#fff 58%,#eef8f4)}.review-centre-footer h2{margin:.2rem 0 .25rem;color:#4e3a5d;font-family:Georgia,serif}.review-centre-footer p{margin:0;color:#7d7281;font-size:.78rem}.review-centre-footer>div:last-child{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}
.lourdes-review-nav{border:1px solid #decfe6;background:linear-gradient(135deg,#f8f1fb,#f1f8f5);color:#5e4670!important;font-weight:850}.lourdes-review-nav:hover,.lourdes-review-nav.active{border-color:#bca5cb;background:linear-gradient(135deg,#eadff1,#f5faf8);color:#493558!important}
@media(max-width:1120px){.province-review-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lourdes-focus-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))}.lourdes-focus-intro{grid-column:1/-1}.review-submission-grid,.review-entity-grid,.review-community-grid{grid-template-columns:1fr}}
@media(max-width:900px){.province-review-hero{grid-template-columns:1fr}.province-review-score{display:grid;grid-template-columns:140px 1fr;gap:1rem;text-align:left}.province-review-score>small{grid-column:1/-1}.review-guidance-banner{grid-template-columns:44px 1fr}.review-source-legend{grid-column:1/-1;justify-content:flex-start}.review-centre-footer{align-items:flex-start;flex-direction:column}.review-centre-footer>div:last-child{justify-content:flex-start}}
@media(max-width:720px){.province-review-kpis,.lourdes-focus-ribbon{grid-template-columns:1fr}.province-review-score{display:flex;text-align:center}.review-section-heading{flex-direction:column}.review-section-heading .lourdes-table-search{width:100%}.review-submission-card{grid-template-columns:48px 1fr}.review-submission-card>.button{grid-column:1/-1;width:100%;justify-content:center}.review-entity-grid article,.review-community-grid article{grid-template-columns:42px 1fr}.review-entity-grid article>a,.review-community-grid article>a{grid-column:1/-1;padding-top:.4rem;border-top:1px solid #eee6f0}.review-centre-nav{top:.25rem}.review-guidance-banner{align-items:flex-start}.province-review-copy h1{font-size:2rem}}
@media print{.province-review-hero,.review-centre-section,.review-guidance-banner,.review-kpi{box-shadow:none!important}.review-centre-nav,.province-review-hero .lourdes-hero-actions,.review-section-heading .lourdes-table-search,.review-centre-footer{display:none!important}.province-review-kpis{grid-template-columns:repeat(4,1fr)}.review-submission-grid,.review-entity-grid,.review-community-grid{grid-template-columns:repeat(2,1fr)}}

/* v2.0.0 - St. Joseph Province master dashboard */
.st-joseph-dashboard{--stj-rose:#a85f67;--stj-deep:#6f3d42;--stj-sage:#718a74;--stj-cream:#fbf5e8;--stj-blue:#718da6;--stj-lilac:#8b769f;color:#514547}
.st-joseph-dashboard .lourdes-section-label,.st-joseph-dashboard .lourdes-kicker{color:#a35e65}
.stj-hero{border-color:#ead6d3;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.96) 0 8%,transparent 9%),radial-gradient(circle at 77% 74%,rgba(226,239,224,.8),transparent 28%),linear-gradient(135deg,#fff7f2 0%,#fffdf8 48%,#f3f8f1 100%)}
.stj-hero:before{background-image:radial-gradient(#c99692 1px,transparent 1px);opacity:.27}
.stj-hero:after{background:rgba(214,170,158,.22)}
.stj-hero h1{color:#704047}.stj-hero .lourdes-breadcrumbs{color:#806e6c}.stj-hero .lourdes-breadcrumbs a{color:#92565e}.stj-hero p{color:#746867}
.stj-button-primary{background:linear-gradient(135deg,#9b565e,#b56e70);border-color:#9b565e;color:#fff;box-shadow:0 9px 22px rgba(142,72,80,.2)}.stj-button-primary:hover{background:linear-gradient(135deg,#87484f,#a45b63);color:#fff}
.stj-button-soft{background:#fffaf5;border:1px solid #e8d5cf;color:#7d4b4f}.stj-button-soft:hover{background:#f9eee9;color:#693b40}
.stj-identity-card{border-color:#e5d1cb!important;background:rgba(255,253,249,.92)!important}.stj-identity-card>div strong{color:#74434a}.stj-identity-card dl div{background:#fff7f2}.stj-identity-card .lourdes-verified-badge{background:#eaf3e9;color:#4e6d52}
.stj-patron-symbol{width:70px;height:70px;display:grid;place-items:center;margin-bottom:.7rem;border-radius:24px;background:linear-gradient(145deg,#f4ddd6,#fff8f2);border:1px solid #e7cbc2;color:#9a5960;font-family:Georgia,serif;font-size:2rem;box-shadow:inset 0 0 0 6px rgba(255,255,255,.6)}
.stj-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stj-stat-grid .lourdes-stat-card{border-color:#eaded8}.stj-stat-grid .lourdes-stat-icon{color:#8a5359;border-color:#ead8d2}.stj-stat-grid .lourdes-stat-card strong{color:#75434a}
.stj-card-rose{background:linear-gradient(145deg,#fff,#f9ecee)}.stj-card-sage{background:linear-gradient(145deg,#fff,#edf5ec)}.stj-card-cream{background:linear-gradient(145deg,#fff,#fbf3df)}.stj-card-blue{background:linear-gradient(145deg,#fff,#edf4f8)}.stj-card-peach{background:linear-gradient(145deg,#fff,#fbeee6)}.stj-card-lilac{background:linear-gradient(145deg,#fff,#f2edf7)}
.stj-authority-note{border-color:#eadbcf;background:linear-gradient(135deg,#fffdf8,#f9f5ec)}.stj-authority-note .lourdes-authority-symbol{background:#f1ddd6;color:#8d4f57}.stj-authority-note strong{color:#714047}.stj-authority-note>a{color:#95565f}
.stj-tabs{border-color:#eadbd6}.stj-tabs button:hover{background:#fbf0eb;color:#7b454b}.stj-tabs button.is-active{background:linear-gradient(135deg,#8d4d55,#ae676b);box-shadow:0 7px 16px rgba(137,68,76,.2)}.stj-tabs button .tab-glyph{background:#f6e9e5;color:#8d5359}
.st-joseph-dashboard .lourdes-panel{border-color:#ede1dc;box-shadow:0 10px 30px rgba(102,70,67,.05)}.st-joseph-dashboard .lourdes-panel h2,.st-joseph-dashboard .lourdes-footer-actions h2,.st-joseph-dashboard .lourdes-section-intro h2{color:#684348}.st-joseph-dashboard .lourdes-total-pill{background:#f7e9e5;color:#814c52}.st-joseph-dashboard .lourdes-bar-track{background:#f1e9e5}.st-joseph-dashboard .lourdes-progress-ring{background:conic-gradient(#a65c65 calc(var(--progress)*1%),#eee8e4 0)}.st-joseph-dashboard .lourdes-progress-ring strong{color:#7b454c}.st-joseph-dashboard .lourdes-mini-metrics div{background:#fbf4f0}.st-joseph-dashboard .lourdes-thin-track span{background:#a4696e}.st-joseph-dashboard .lourdes-text-link{color:#995963}
.stj-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stj-signal-grid article{padding:1rem;border:1px solid #eaded8;border-radius:17px;background:linear-gradient(145deg,#fff,#fff9f5)}.stj-signal-grid strong,.stj-signal-grid span{display:block}.stj-signal-grid strong{font-family:Georgia,serif;font-size:1.8rem;color:#7a474e}.stj-signal-grid span{margin-top:.25rem;color:#837472;font-size:.75rem;line-height:1.35}
.stj-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.stj-portfolio-card{display:flex;flex-direction:column;min-height:250px;padding:1.05rem;border:1px solid #eadfd9;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(89,62,59,.05)}.stj-portfolio-card header{display:flex;gap:.75rem;align-items:center}.stj-portfolio-card header>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex:1}.stj-portfolio-card h3{margin:0;color:#654347;font-size:.95rem}.stj-portfolio-card header strong{font-family:Georgia,serif;font-size:1.75rem;color:#874c54}.stj-portfolio-card>p{min-height:3.8em;margin:.75rem 0;color:#817471;font-size:.76rem;line-height:1.5}.stj-portfolio-card>div{display:grid;gap:.35rem;margin-bottom:.8rem}.stj-portfolio-card>div span{display:flex;justify-content:space-between;gap:.8rem;padding:.4rem .5rem;border-radius:10px;background:#faf5f2;color:#6f6260;font-size:.72rem}.stj-portfolio-card>div b{color:#7b464c}.stj-portfolio-card>a{margin-top:auto;color:#94545d;font-weight:850;font-size:.78rem}
.stj-placement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.25rem}.stj-placement-grid article{padding:1rem;border:1px solid #eaddd7;border-radius:18px;background:linear-gradient(145deg,#fff,#fbf6f2)}.stj-placement-grid strong{display:block;font-family:Georgia,serif;font-size:2rem;color:#824a51}.stj-placement-grid h3{margin:.35rem 0;font-size:.8rem;color:#624b4e}.stj-placement-grid p{margin:0;color:#877a77;font-size:.68rem;line-height:1.4}
.stj-action-list{display:grid;gap:.55rem}.stj-action-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) 48px;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #eaded8;border-radius:15px;color:#55474a;background:#fffaf7}.stj-action-list>a:hover{background:#f9efea}.stj-action-list>a>span{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:#f0ddd7;color:#8b4f57;font-weight:900;font-size:.72rem}.stj-action-list strong{color:#6d4449}.stj-action-list p{margin:.15rem 0 0}.stj-action-list b{font-family:Georgia,serif;font-size:1.35rem;color:#8a4e56;text-align:right}
.stj-footer-actions{border-color:#e8d9d2;background:linear-gradient(135deg,#fff7f2,#fffdf8,#f1f7ef)}
.st-joseph-dashboard .community-rank,.st-joseph-dashboard .leader-initial{background:#f0dfd9;color:#824b52}.st-joseph-dashboard .lourdes-leader-card:hover,.st-joseph-dashboard .lourdes-community-row:hover{background:#fbf3ef}.st-joseph-dashboard .lourdes-data-table thead th{background:#f8ebe7;color:#704348}.st-joseph-dashboard .verification-pill{background:#f5eae5;color:#7d4d52}
.st-joseph-dashboard [data-stj-panel][hidden]{display:none!important}
.st-joseph-dashboard-nav{border:1px solid #ead6d1;background:linear-gradient(135deg,#fff8f3,#f8eee9);color:#74454a!important;font-weight:850}.st-joseph-dashboard-nav span{color:#a15d63}.st-joseph-dashboard-nav:hover,.st-joseph-dashboard-nav.active{border-color:#c99c98;background:linear-gradient(135deg,#f4dfda,#fff8f3);color:#63383e!important}
.st-joseph-home-feature{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.2rem;padding:1.15rem 1.25rem;border:1px solid #e8d5ce;border-radius:22px;background:linear-gradient(135deg,#fff7f2 0%,#fffdf8 55%,#f0f7ef 100%);box-shadow:0 12px 32px rgba(96,62,58,.07)}.st-joseph-home-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#f0ded7;color:#8c4f56;font-size:1.45rem}.st-joseph-home-feature h2{margin:.15rem 0 .3rem;color:#694147;font-family:Georgia,serif}.st-joseph-home-feature p{margin:0;color:#7c6d69;line-height:1.5}.st-joseph-home-feature .button{white-space:nowrap}.st-joseph-province-link{border-left:4px solid #a35d64}
@media(max-width:1120px){.stj-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stj-placement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.stj-stat-grid,.stj-signal-grid,.stj-portfolio-grid,.stj-placement-grid{grid-template-columns:1fr}.st-joseph-home-feature{grid-template-columns:46px 1fr}.st-joseph-home-feature-icon{width:46px;height:46px;border-radius:15px}.st-joseph-home-feature .button{grid-column:1/-1;width:100%}.stj-portfolio-card{min-height:0}}
@media print{.st-joseph-dashboard .lourdes-dashboard-tabs,.st-joseph-dashboard .lourdes-hero-actions,.st-joseph-dashboard .lourdes-footer-actions,.st-joseph-dashboard .lourdes-table-search{display:none!important}.st-joseph-dashboard [data-stj-panel]{display:block!important}.stj-stat-grid{grid-template-columns:repeat(3,1fr)}.stj-portfolio-grid{grid-template-columns:repeat(2,1fr)}.stj-placement-grid{grid-template-columns:repeat(3,1fr)}}

/* v2.0.3 - Infant Jesus Province master dashboard */
.infant-jesus-dashboard{--ijp-blue:#4f82ad;--ijp-deep:#315c7d;--ijp-gold:#c39a45;--ijp-cream:#fff8e9;--ijp-peach:#e7a982;--ijp-sage:#799987;color:#425766}
.infant-jesus-dashboard .lourdes-section-label,.infant-jesus-dashboard .lourdes-kicker{color:#4c7ca3}
.ijp-hero{border-color:#cfe0ef;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.97) 0 8%,transparent 9%),radial-gradient(circle at 76% 76%,rgba(255,235,190,.72),transparent 28%),linear-gradient(135deg,#f4faff 0%,#fffdf7 48%,#fff4e8 100%)}
.ijp-hero:before{background-image:radial-gradient(#7fa7c5 1px,transparent 1px);opacity:.22}.ijp-hero:after{background:rgba(244,199,110,.22)}
.ijp-hero h1{color:#315c7d}.ijp-hero .lourdes-breadcrumbs{color:#687d8d}.ijp-hero .lourdes-breadcrumbs a{color:#3f739c}.ijp-hero p{color:#687b87}
.ijp-button-primary{background:linear-gradient(135deg,#3f739c,#5f92bb);border-color:#3f739c;color:#fff;box-shadow:0 9px 22px rgba(55,105,145,.2)}.ijp-button-primary:hover{background:linear-gradient(135deg,#315f83,#4b7fa8);color:#fff}
.ijp-button-soft{background:#fffdf8;border:1px solid #d7e3ec;color:#3d6f94}.ijp-button-soft:hover{background:#edf6fc;color:#2e5d80}
.ijp-identity-card{border-color:#ccdeeb!important;background:rgba(255,254,249,.94)!important}.ijp-identity-card>div strong{color:#345f7f}.ijp-identity-card dl div{background:#f5faff}.ijp-identity-card .lourdes-verified-badge{background:#edf5e9;color:#577354}
.ijp-patron-symbol{width:70px;height:70px;display:grid;place-items:center;margin-bottom:.7rem;border-radius:24px;background:linear-gradient(145deg,#e4f2fb,#fff7df);border:1px solid #c9dce8;color:#4d82a8;font-family:Georgia,serif;font-size:2rem;box-shadow:inset 0 0 0 6px rgba(255,255,255,.65)}
.ijp-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ijp-stat-grid .lourdes-stat-card{border-color:#dce7ed}.ijp-stat-grid .lourdes-stat-icon{color:#497ba0;border-color:#d3e3ee}.ijp-stat-grid .lourdes-stat-card strong{color:#345f7f}
.ijp-card-rose{background:linear-gradient(145deg,#fff,#fff0ed)}.ijp-card-sage{background:linear-gradient(145deg,#fff,#edf6ef)}.ijp-card-cream{background:linear-gradient(145deg,#fff,#fff7df)}.ijp-card-blue{background:linear-gradient(145deg,#fff,#eaf5fc)}.ijp-card-peach{background:linear-gradient(145deg,#fff,#fff0e4)}.ijp-card-lilac{background:linear-gradient(145deg,#fff,#f2effb)}
.ijp-authority-note{border-color:#d5e3ec;background:linear-gradient(135deg,#f7fbfe,#fffdf7)}.ijp-authority-note .lourdes-authority-symbol{background:#dfedf7;color:#3e759d}.ijp-authority-note strong{color:#315f80}.ijp-authority-note>a{color:#3f739c}
.ijp-discrepancy-note{margin:1rem 0;border-color:#ecd8aa;background:linear-gradient(135deg,#fffaf0,#fffdf8)}.ijp-discrepancy-note .lourdes-authority-symbol{background:#fae9bf;color:#8c6925}.ijp-discrepancy-note strong{color:#77561e}
.ijp-tabs{border-color:#d8e5ed}.ijp-tabs button:hover{background:#edf6fc;color:#315f80}.ijp-tabs button.is-active{background:linear-gradient(135deg,#3e7199,#5f91b6);box-shadow:0 7px 16px rgba(55,105,145,.2)}.ijp-tabs button .tab-glyph{background:#e7f2f9;color:#477ba1}
.infant-jesus-dashboard .lourdes-panel{border-color:#dfe8ed;box-shadow:0 10px 30px rgba(58,93,116,.055)}.infant-jesus-dashboard .lourdes-panel h2,.infant-jesus-dashboard .lourdes-footer-actions h2,.infant-jesus-dashboard .lourdes-section-intro h2{color:#315b78}.infant-jesus-dashboard .lourdes-total-pill{background:#e8f2f8;color:#3e6f91}.infant-jesus-dashboard .lourdes-bar-track{background:#eaf0f3}.infant-jesus-dashboard .lourdes-progress-ring{background:conic-gradient(#4f82ad calc(var(--progress)*1%),#e8eef1 0)}.infant-jesus-dashboard .lourdes-progress-ring strong{color:#346384}.infant-jesus-dashboard .lourdes-mini-metrics div{background:#f5fafd}.infant-jesus-dashboard .lourdes-thin-track span{background:#5c8eb2}.infant-jesus-dashboard .lourdes-text-link{color:#3f739a}
.ijp-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.ijp-signal-grid article{padding:1rem;border:1px solid #dce7ed;border-radius:17px;background:linear-gradient(145deg,#fff,#f7fbfe)}.ijp-signal-grid strong,.ijp-signal-grid span{display:block}.ijp-signal-grid strong{font-family:Georgia,serif;font-size:1.8rem;color:#3a6d91}.ijp-signal-grid span{margin-top:.25rem;color:#71828d;font-size:.75rem;line-height:1.35}
.ijp-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.25rem}.ijp-portfolio-card{display:flex;flex-direction:column;min-height:250px;padding:1.05rem;border:1px solid #dce7ed;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(54,89,111,.05)}.ijp-portfolio-card header{display:flex;gap:.75rem;align-items:center}.ijp-portfolio-card header>div{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex:1}.ijp-portfolio-card h3{margin:0;color:#365f7b;font-size:.95rem}.ijp-portfolio-card header strong{font-family:Georgia,serif;font-size:1.75rem;color:#477da4}.ijp-portfolio-card>p{min-height:3.8em;margin:.75rem 0;color:#70818c;font-size:.76rem;line-height:1.5}.ijp-portfolio-card>div{display:grid;gap:.35rem;margin-bottom:.8rem}.ijp-portfolio-card>div span{display:flex;justify-content:space-between;gap:.8rem;padding:.4rem .5rem;border-radius:10px;background:#f3f8fb;color:#607481;font-size:.72rem}.ijp-portfolio-card>div b{color:#3e739a}.ijp-portfolio-card>a{margin-top:auto;color:#3f759c;font-weight:850;font-size:.78rem}
.ijp-placement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.25rem}.ijp-placement-grid article{padding:1rem;border:1px solid #dce7ed;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfd)}.ijp-placement-grid strong{display:block;font-family:Georgia,serif;font-size:2rem;color:#3f7195}.ijp-placement-grid h3{margin:.35rem 0;font-size:.8rem;color:#456276}.ijp-placement-grid p{margin:0;color:#768892;font-size:.68rem;line-height:1.4}
.ijp-action-list{display:grid;gap:.55rem}.ijp-action-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) 48px;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #dce7ed;border-radius:15px;color:#455a68;background:#fafdff}.ijp-action-list>a:hover{background:#edf6fc}.ijp-action-list>a>span{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:#e2eff7;color:#3f7399;font-weight:900;font-size:.72rem}.ijp-action-list strong{color:#355e7a}.ijp-action-list p{margin:.15rem 0 0}.ijp-action-list b{font-family:Georgia,serif;font-size:1.35rem;color:#477ca2;text-align:right}
.ijp-footer-actions{border-color:#d7e4ec;background:linear-gradient(135deg,#f3faff,#fffdf6,#fff1e6)}
.infant-jesus-dashboard .community-rank,.infant-jesus-dashboard .leader-initial{background:#e4f0f8;color:#3d7198}.infant-jesus-dashboard .lourdes-leader-card:hover,.infant-jesus-dashboard .lourdes-community-row:hover{background:#f1f8fc}.infant-jesus-dashboard .lourdes-data-table thead th{background:#eaf4fa;color:#315d7d}.infant-jesus-dashboard .verification-pill{background:#eaf3f8;color:#3d6f91}
.infant-jesus-dashboard [data-ijp-panel][hidden]{display:none!important}
.infant-jesus-dashboard-nav{border:1px solid #cfe0eb;background:linear-gradient(135deg,#f3faff,#fff8e9);color:#345f7f!important;font-weight:850}.infant-jesus-dashboard-nav span{color:#4b81a7}.infant-jesus-dashboard-nav:hover,.infant-jesus-dashboard-nav.active{border-color:#91b6ce;background:linear-gradient(135deg,#e3f2fb,#fff5df);color:#294f6d!important}
.infant-jesus-home-feature{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.2rem;padding:1.15rem 1.25rem;border:1px solid #d4e3ec;border-radius:22px;background:linear-gradient(135deg,#f3faff 0%,#fffdf8 55%,#fff2e5 100%);box-shadow:0 12px 32px rgba(54,89,111,.07)}.infant-jesus-home-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#e2f0f8;color:#40769d;font-size:1.45rem}.infant-jesus-home-feature h2{margin:.15rem 0 .3rem;color:#315d7c;font-family:Georgia,serif}.infant-jesus-home-feature p{margin:0;color:#6e7f89;line-height:1.5}.infant-jesus-home-feature .button{white-space:nowrap}.infant-jesus-province-link{border-left:4px solid #4d82a8}
@media(max-width:1120px){.ijp-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ijp-placement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ijp-stat-grid,.ijp-signal-grid,.ijp-portfolio-grid,.ijp-placement-grid{grid-template-columns:1fr}.infant-jesus-home-feature{grid-template-columns:46px 1fr}.infant-jesus-home-feature-icon{width:46px;height:46px;border-radius:15px}.infant-jesus-home-feature .button{grid-column:1/-1;width:100%}.ijp-portfolio-card{min-height:0}}
@media print{.infant-jesus-dashboard .lourdes-dashboard-tabs,.infant-jesus-dashboard .lourdes-hero-actions,.infant-jesus-dashboard .lourdes-footer-actions,.infant-jesus-dashboard .lourdes-table-search{display:none!important}.infant-jesus-dashboard [data-ijp-panel]{display:block!important}.ijp-stat-grid{grid-template-columns:repeat(3,1fr)}.ijp-portfolio-grid{grid-template-columns:repeat(2,1fr)}.ijp-placement-grid{grid-template-columns:repeat(3,1fr)}}

/* v2.0.5 - Dupuis Region East Africa dashboard */
.dupuis-dashboard{--dupuis-gold:#c7923e;--dupuis-green:#4f7d68;--dupuis-deep:#315f58;--dupuis-blue:#477f9b;--dupuis-coral:#c67563;color:#435c59}
.dupuis-dashboard .lourdes-section-label,.dupuis-dashboard .lourdes-kicker{color:#8a6a2c}
.dupuis-hero{border-color:#d8dfc9;background:radial-gradient(circle at 88% 14%,rgba(255,255,255,.97) 0 8%,transparent 9%),radial-gradient(circle at 77% 74%,rgba(234,212,158,.6),transparent 28%),linear-gradient(135deg,#f4faf5 0%,#fffdf5 49%,#f4f7ef 100%)}
.dupuis-hero:before{background-image:radial-gradient(#7c9f85 1px,transparent 1px);opacity:.23}.dupuis-hero:after{background:rgba(205,160,72,.2)}
.dupuis-hero h1{color:#315f58}.dupuis-hero .lourdes-breadcrumbs{color:#657a73}.dupuis-hero .lourdes-breadcrumbs a{color:#4f7b68}.dupuis-hero p{color:#64776f}
.dupuis-button-primary{background:linear-gradient(135deg,#416f60,#5d8c73);border-color:#416f60;color:#fff;box-shadow:0 9px 22px rgba(49,95,88,.2)}.dupuis-button-primary:hover{background:linear-gradient(135deg,#315d50,#4c7863);color:#fff}
.dupuis-button-soft{background:#fffdf6;border:1px solid #d9dfcf;color:#496e60}.dupuis-button-soft:hover{background:#eff6f0;color:#315b4e}
.dupuis-identity-card{border-color:#d9dfc9!important;background:rgba(255,254,248,.94)!important}.dupuis-identity-card>div strong{color:#315f58}.dupuis-identity-card dl div{background:#f6faf5}.dupuis-identity-card .lourdes-verified-badge{background:#edf4e7;color:#4f6d4c}
.dupuis-patron-symbol{width:70px;height:70px;display:grid;place-items:center;margin-bottom:.7rem;border-radius:24px;background:linear-gradient(145deg,#e5f1e7,#fff1ce);border:1px solid #d3dec7;color:#98712e;font-family:Georgia,serif;font-size:2rem;box-shadow:inset 0 0 0 6px rgba(255,255,255,.65)}
.dupuis-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dupuis-stat-grid .lourdes-stat-card{border-color:#dce4d7}.dupuis-stat-grid .lourdes-stat-icon{color:#527764;border-color:#d9e2d5}.dupuis-stat-grid .lourdes-stat-card strong{color:#315f58}
.dupuis-card-gold{background:linear-gradient(145deg,#fff,#fff5dd)}.dupuis-card-green{background:linear-gradient(145deg,#fff,#eaf4ec)}.dupuis-card-blue{background:linear-gradient(145deg,#fff,#eaf4f8)}.dupuis-card-cream{background:linear-gradient(145deg,#fff,#fff9e9)}.dupuis-card-coral{background:linear-gradient(145deg,#fff,#faeee8)}.dupuis-card-lilac{background:linear-gradient(145deg,#fff,#f1eef8)}
.dupuis-authority-note{border-color:#d8e2d4;background:linear-gradient(135deg,#f5faf5,#fffdf6)}.dupuis-authority-note .lourdes-authority-symbol{background:#e3efe5;color:#46705d}.dupuis-authority-note strong{color:#315f58}.dupuis-authority-note>a{color:#4b7562}
.dupuis-tabs{border-color:#d9e2d6}.dupuis-tabs button:hover{background:#edf5ee;color:#315f58}.dupuis-tabs button.is-active{background:linear-gradient(135deg,#416e5f,#5e8a72);box-shadow:0 7px 16px rgba(49,95,88,.2)}.dupuis-tabs button .tab-glyph{background:#e7f1e8;color:#527967}
.dupuis-dashboard .lourdes-panel{border-color:#dfe7dd;box-shadow:0 10px 30px rgba(55,91,78,.055)}.dupuis-dashboard .lourdes-panel h2,.dupuis-dashboard .lourdes-footer-actions h2,.dupuis-dashboard .lourdes-section-intro h2{color:#315e57}.dupuis-dashboard .lourdes-total-pill{background:#e8f2e9;color:#47715f}.dupuis-dashboard .lourdes-bar-track{background:#e9f0e9}.dupuis-dashboard .lourdes-progress-ring{background:conic-gradient(#4f7d68 calc(var(--progress)*1%),#e8eee9 0)}.dupuis-dashboard .lourdes-progress-ring strong{color:#3f6c59}.dupuis-dashboard .lourdes-mini-metrics div{background:#f4f9f5}.dupuis-dashboard .lourdes-thin-track span{background:#5c866f}.dupuis-dashboard .lourdes-text-link{color:#4a7562}
.dupuis-dashboard .community-rank,.dupuis-dashboard .leader-initial{background:#e4efe6;color:#48735f}.dupuis-dashboard .lourdes-leader-card:hover,.dupuis-dashboard .lourdes-community-row:hover{background:#f1f8f2}.dupuis-dashboard .lourdes-data-table thead th{background:#eaf3eb;color:#315f58}.dupuis-dashboard .verification-pill{background:#e9f2e9;color:#47705e}
.dupuis-dashboard [data-dupuis-panel][hidden]{display:none!important}
.dupuis-dashboard-nav{border:1px solid #d5dfd2;background:linear-gradient(135deg,#f2f9f3,#fff7df);color:#315f58!important;font-weight:850}.dupuis-dashboard-nav span{color:#9a7330}.dupuis-dashboard-nav:hover,.dupuis-dashboard-nav.active{border-color:#9eb9a5;background:linear-gradient(135deg,#e4f2e6,#fff2cf);color:#244e47!important}
.dupuis-home-feature{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.2rem;padding:1.15rem 1.25rem;border:1px solid #d9e2d4;border-radius:22px;background:linear-gradient(135deg,#f2f9f3 0%,#fffdf6 55%,#fff3d8 100%);box-shadow:0 12px 32px rgba(55,91,78,.07)}.dupuis-home-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#e4efe5;color:#8f6928;font-size:1.45rem}.dupuis-home-feature h2{margin:.15rem 0 .3rem;color:#315f58;font-family:Georgia,serif}.dupuis-home-feature p{margin:0;color:#687a70;line-height:1.5}.dupuis-home-feature .button{white-space:nowrap}.dupuis-region-link{border-left:4px solid #5c856f}
.dupuis-footer-actions{border-color:#d9e3d7;background:linear-gradient(135deg,#f2f9f3,#fffdf6,#fff4de)}
@media(max-width:760px){.dupuis-stat-grid{grid-template-columns:1fr}.dupuis-home-feature{grid-template-columns:46px 1fr}.dupuis-home-feature-icon{width:46px;height:46px;border-radius:15px}.dupuis-home-feature .button{grid-column:1/-1;width:100%}}
@media print{.dupuis-dashboard .lourdes-dashboard-tabs,.dupuis-dashboard .lourdes-hero-actions,.dupuis-dashboard .lourdes-footer-actions,.dupuis-dashboard .lourdes-table-search{display:none!important}.dupuis-dashboard [data-dupuis-panel]{display:block!important}.dupuis-stat-grid{grid-template-columns:repeat(3,1fr)}}

/* v2.0.6 - current Lourdes Housewise reconciliation */
.lourdes-source-reconciliation{margin:0 0 1.2rem;border-color:#d8c9e3;background:linear-gradient(135deg,#fff 0%,#fbf6fd 48%,#f3faf7 100%)}
.lourdes-reconciliation-facts{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:.65rem}
.lourdes-reconciliation-facts>div{min-height:72px;align-items:flex-start;flex-direction:column;justify-content:center;border:1px solid #eadff0;background:rgba(255,255,255,.82)}
.lourdes-reconciliation-facts strong{font-family:Georgia,serif;font-size:1.4rem}
@media(max-width:1050px){.lourdes-reconciliation-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.lourdes-reconciliation-facts{grid-template-columns:1fr}}

/* v2.0.6 - Lourdes Review Centre current Housewise reconciliation */
.review-housewise-section{border-color:#dccfe5;background:linear-gradient(145deg,#fff,#fdf9ff 58%,#f4faf7)}
.review-housewise-source{min-width:190px;padding:.78rem .9rem;border:1px solid #e2d6e8;border-radius:16px;background:#fff;text-align:right;box-shadow:0 8px 20px rgba(75,54,91,.05)}
.review-housewise-source strong,.review-housewise-source span,.review-housewise-source small{display:block}.review-housewise-source strong{color:#563f68;font-family:Georgia,serif;font-size:1.8rem;line-height:1}.review-housewise-source span{margin-top:.2rem;color:#66526f;font-size:.72rem;font-weight:850}.review-housewise-source small{margin-top:.22rem;color:#8b7e8e;font-size:.65rem}
.review-housewise-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:.9rem}.review-housewise-summary article{min-height:112px;padding:.82rem;border:1px solid #e8dfea;border-radius:16px;background:#fff}.review-housewise-summary small,.review-housewise-summary strong,.review-housewise-summary span{display:block}.review-housewise-summary small{color:#7b6d80;font-size:.66rem;font-weight:850}.review-housewise-summary strong{margin:.2rem 0;color:#553f66;font-family:Georgia,serif;font-size:1.7rem}.review-housewise-summary span{color:#8a7d8d;font-size:.64rem;line-height:1.4}.review-housewise-summary .tone-mint{background:linear-gradient(145deg,#fff,#edf7f3)}.review-housewise-summary .tone-blue{background:linear-gradient(145deg,#fff,#edf3f8)}.review-housewise-summary .tone-peach{background:linear-gradient(145deg,#fff,#fbeee7)}.review-housewise-summary .tone-rose{background:linear-gradient(145deg,#fff,#faeef3)}.review-housewise-summary .tone-sand{background:linear-gradient(145deg,#fff,#fbf5e8)}
.review-housewise-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.review-housewise-group{overflow:hidden;border:1px solid #e8dfea;border-radius:17px;background:#fff}.review-housewise-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;padding:.82rem;border-bottom:1px solid #eee6f0;background:#fdfafd}.review-housewise-group>header h3{margin:.3rem 0 0;color:#513d5e;font-family:Georgia,serif;font-size:1rem}.review-housewise-group>header>strong{min-width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eee5f4;color:#604976;font-family:Georgia,serif}.review-housewise-group ul{list-style:none;margin:0;padding:0}.review-housewise-group li{display:flex;justify-content:space-between;gap:.8rem;padding:.72rem .82rem;border-bottom:1px solid #f0eaf2}.review-housewise-group li:last-child{border-bottom:0}.review-housewise-group li div{min-width:0}.review-housewise-group li strong,.review-housewise-group li span{display:block}.review-housewise-group li strong{color:#584663;font-size:.76rem}.review-housewise-group li span{margin-top:.15rem;color:#8b7f8e;font-size:.65rem;line-height:1.35}.review-housewise-group li small{max-width:42%;color:#7c6c81;font-size:.64rem;line-height:1.35;text-align:right}.review-housewise-group li a{align-self:center;color:#6f4f86;font-size:.66rem;font-weight:850;white-space:nowrap}.review-housewise-empty{margin:0;padding:1rem;color:#8b7f8e;font-size:.72rem}
.review-housewise-tertians{margin-top:.75rem;border:1px solid #e5d9e8;border-radius:16px;background:#fff}.review-housewise-tertians summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.82rem .9rem;cursor:pointer;color:#5d4968;font-size:.75rem;font-weight:850}.review-housewise-tertians summary strong{color:#765d87;font-size:.67rem}.review-housewise-tertians>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:0 .8rem .8rem}.review-housewise-tertians a{padding:.62rem;border:1px solid #eee6f0;border-radius:12px;background:#fdfafd;color:#5c4965}.review-housewise-tertians a strong,.review-housewise-tertians a span{display:block}.review-housewise-tertians a strong{font-size:.7rem}.review-housewise-tertians a span{margin-top:.12rem;color:#8a7e8c;font-size:.61rem}.review-housewise-rule{margin:1rem 0 0;background:linear-gradient(135deg,#f5faf7,#fffaf0)}
@media(max-width:1100px){.review-housewise-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.review-housewise-tertians>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.review-section-heading{flex-direction:column}.review-housewise-source{width:100%;text-align:left}.review-housewise-summary,.review-housewise-groups,.review-housewise-tertians>div{grid-template-columns:1fr}.review-housewise-group li{flex-direction:column}.review-housewise-group li small{max-width:none;text-align:left}.review-guidance-banner{grid-template-columns:42px 1fr}.review-guidance-banner .review-source-legend{grid-column:1/-1;justify-content:flex-start}}

/* v2.0.7: admission-number residence safeguards */
.admission-preview.is-conflict {
  border-style: solid;
  border-color: #e3a49a;
  background: linear-gradient(135deg, #fff4f1, #fff9f7);
}
.admission-preview.is-conflict .admission-preview-icon { background: #f8d7d1; color: #a33124; }
.admission-preview-bulk { align-items: start; }
.admission-preview-list { display: grid; gap: 8px; margin-top: 11px; }
.admission-preview-row {
  display: grid;
  grid-template-columns: 26px minmax(0,1fr);
  gap: 9px;
  align-items: start;
  padding: 9px 10px;
  border: 1px solid #d8e7f2;
  border-radius: 11px;
  background: rgba(255,255,255,.82);
}
.admission-preview-row > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f3fb;
  color: #1767a5;
  font-size: .75rem;
  font-weight: 900;
}
.admission-preview-row strong { font-size: .76rem; }
.admission-preview-row small { font-size: .66rem; }
.admission-preview-row.is-ok { border-color: #b8ddc8; background: #f7fcf8; }
.admission-preview-row.is-ok > span { background: #dff2e6; color: #18714a; }
.admission-preview-row.is-error,
.admission-preview-row.is-conflict { border-color: #edc0b8; background: #fff8f6; }
.admission-preview-row.is-error > span,
.admission-preview-row.is-conflict > span { background: #f9dfda; color: #a43b2d; }
.button[disabled], .button[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none !important; }

/* v2.0.7 Assisi Province master dashboard */
.assisi-dashboard { --assisi-deep:#276b62; --assisi:#3f8d7f; --assisi-soft:#e6f5f0; --assisi-peach:#f7dfcf; --assisi-cream:#fff8e7; --assisi-blue:#e3eff8; --assisi-rose:#f6e1e7; }
.assisi-hero { background: linear-gradient(135deg,#f8fffc 0%,#e8f6f1 47%,#fff4e9 100%); border-color:#b9ddcf; }
.assisi-hero h1 { color:#215f57; }
.assisi-identity-card { border-color:#badfd2; background:rgba(255,255,255,.88); }
.assisi-patron-symbol { width:68px;height:68px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d7f1e8,#fff0df);color:#2d7d70;font-size:2rem;box-shadow:0 12px 28px rgba(38,104,94,.14); }
.assisi-button-primary { background:linear-gradient(135deg,#2d766b,#48998a);color:#fff;border-color:transparent; }
.assisi-button-soft { background:#fff;color:#276b62;border-color:#b7d9ce; }
.assisi-card-mint { background:linear-gradient(145deg,#f9fffc,#e5f5ef); }
.assisi-card-peach { background:linear-gradient(145deg,#fffdf9,#f8e5d8); }
.assisi-card-cream { background:linear-gradient(145deg,#fffef8,#fff4d8); }
.assisi-card-blue { background:linear-gradient(145deg,#fbfdff,#e5f1f9); }
.assisi-card-rose { background:linear-gradient(145deg,#fffafb,#f6e3e8); }
.assisi-card-lilac { background:linear-gradient(145deg,#fdfbff,#eee7f6); }
.assisi-authority-note { border-color:#b8dcd0;background:linear-gradient(135deg,#f5fdf9,#fff9ed); }
.assisi-tabs button.is-active { background:#2e786d;color:#fff;border-color:#2e786d; }
.assisi-progress-ring { background:conic-gradient(#3f8d7f calc(var(--progress) * 1%),#e1eee9 0); }
.assisi-leadership-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.assisi-leadership-grid a { display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:17px;border:1px solid #c8dfd6;border-radius:18px;background:linear-gradient(145deg,#fff,#f4fbf8);color:inherit;text-decoration:none; }
.assisi-leadership-grid a > span { width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#dff1ea;color:#276b62;font-weight:900; }
.assisi-leadership-grid small,.assisi-leadership-grid strong,.assisi-leadership-grid p,.assisi-leadership-grid em { display:block; }
.assisi-leadership-grid strong { margin-top:3px;color:#174e48; }
.assisi-leadership-grid p { margin:5px 0 0;color:#526f69;font-size:.76rem; }
.assisi-leadership-grid em { margin-top:7px;color:#7b8f89;font-size:.68rem;font-style:normal; }
.assisi-review-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px; }
.assisi-review-summary article { padding:18px;border:1px solid #d9dfe4;border-radius:17px;background:#fff; }
.assisi-review-summary strong,.assisi-review-summary span { display:block; }
.assisi-review-summary strong { color:#276b62;font-size:1.75rem; }
.assisi-review-summary span { color:#6c7a7a;font-size:.76rem;margin-top:4px; }
.assisi-warning-note { margin-top:18px;border-color:#e5cda4;background:#fffaf0; }
.assisi-footer-actions { background:linear-gradient(135deg,#eaf7f2,#fff2e6);border-color:#badfd2; }
.assisi-dashboard .verification-pill { white-space:nowrap; }
@media(max-width:900px){.assisi-leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assisi-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.assisi-leadership-grid,.assisi-review-summary{grid-template-columns:1fr}}
@media print {.assisi-tabs,.assisi-hero .lourdes-hero-actions{display:none!important}.assisi-dashboard [data-assisi-panel]{display:block!important}.assisi-dashboard{font-size:10pt}}
.assisi-home-feature { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin:18px 0;padding:20px 22px;border:1px solid #b9ddcf;border-radius:22px;background:linear-gradient(135deg,#f5fdf9,#fff1e5); }
.assisi-home-feature-icon { width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#dff2ea;color:#2d766b;font-size:1.6rem; }
.assisi-home-feature h2 { margin:3px 0 5px;color:#215f57; }
.assisi-home-feature p { margin:0;color:#627771; }
@media(max-width:760px){.assisi-home-feature{grid-template-columns:auto 1fr}.assisi-home-feature .button{grid-column:1/-1}}

/* v2.0.8 - Under Generalate Sisters register */
.ug-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:24px;padding:32px;border-radius:28px;background:linear-gradient(135deg,#6677aa 0%,#8995bd 52%,#d8cfe7 100%);color:#fff;box-shadow:0 18px 42px rgba(70,77,115,.18);overflow:hidden;position:relative}.ug-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.11);right:-95px;top:-115px}.ug-hero h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.04}.ug-hero p{max-width:760px;color:rgba(255,255,255,.9);font-size:1.02rem}.ug-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.ug-total-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:24px;border:1px solid rgba(255,255,255,.3);border-radius:24px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);position:relative;z-index:1}.ug-total-card span,.ug-total-card small{color:rgba(255,255,255,.86)}.ug-total-card strong{font-size:4rem;line-height:1;margin:10px 0}.ug-definition-note{margin-top:18px}.ug-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:20px 0 28px}.ug-summary-grid article{padding:18px;border-radius:20px;background:#fff;border:1px solid #e8e6ef;box-shadow:0 8px 24px rgba(63,62,84,.06)}.ug-summary-grid article.needs-attention{background:#fff8ed;border-color:#efd3a6}.ug-summary-grid small,.ug-summary-grid span{display:block;color:#6f7080}.ug-summary-grid strong{display:block;font-size:2rem;margin:5px 0;color:#3e4568}.ug-section{margin:28px 0;padding:24px;border-radius:26px;background:#fff;border:1px solid #e8e6ef;box-shadow:0 10px 30px rgba(63,62,84,.055)}.ug-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.ug-section-heading h2{margin:4px 0 6px}.ug-section-heading p{margin:0;color:#70717e;max-width:760px}.ug-leadership-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ug-leader-card{display:flex;gap:14px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#f7f4fb,#fff);border:1px solid #e5dff0;color:inherit;text-decoration:none;transition:.18s ease}.ug-leader-card:hover{transform:translateY(-2px);border-color:#aa9ac7}.ug-leader-order{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#786ca0;color:#fff;font-weight:700;flex:0 0 auto}.ug-leader-card strong,.ug-sister-card strong{display:block;color:#35394f}.ug-leader-card small,.ug-sister-card small{display:block;color:#747584;margin-top:3px}.ug-leader-card p,.ug-sister-card p{margin:7px 0 0;color:#55596d}.ug-leader-card span:last-child{color:#77798a;font-size:.88rem}.ug-sister-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ug-sister-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:18px;background:#fbfbfd;border:1px solid #e8e7ee;color:inherit;text-decoration:none;transition:.16s ease}.ug-sister-card:hover{background:#fff;border-color:#a9a0c4;transform:translateY(-1px)}.ug-avatar{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#ebe6f5;color:#655a87;font-weight:800;flex:0 0 auto}.ug-register-heading{align-items:flex-end}.ug-search{min-width:290px}.ug-search span{display:block;font-size:.82rem;font-weight:700;color:#575b70;margin-bottom:6px}.ug-search input{width:100%;padding:11px 13px;border:1px solid #d9d8e2;border-radius:14px;background:#fff}.ug-community-block{padding:18px 0;border-top:1px solid #eceaf1}.ug-community-block:first-of-type{border-top:0}.ug-community-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.ug-community-head h3{margin:3px 0}.ug-community-head p{margin:0;color:#737582}.ug-community-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ug-community-actions>span{padding:8px 12px;border-radius:999px;background:#f0edf7;color:#5f5878}.ug-pending-block{padding:18px;border:1px solid #efd4a9;border-radius:20px;background:#fffaf2;margin-top:18px}.ug-pending-card{background:#fffdf8;border-color:#ead8b8}.attention-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff0d6;color:#875d22;font-weight:700;font-size:.85rem}.ug-empty-search{padding:18px;text-align:center;border-radius:16px;background:#f5f4f8;color:#6d6e7b}.ug-review-section{background:linear-gradient(145deg,#fffaf4,#fff)}.ug-review-list{display:grid;gap:11px}.ug-review-list article{display:grid;grid-template-columns:minmax(230px,1fr) minmax(230px,1fr) auto;align-items:center;gap:16px;padding:15px;border-radius:18px;background:#fff;border:1px solid #ebdfcd}.ug-review-identity{display:flex;align-items:center;gap:11px}.ug-review-identity strong,.ug-review-claim strong{display:block}.ug-review-identity small,.ug-review-claim small,.ug-review-claim span{display:block;color:#747582;font-size:.85rem}.ug-review-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.ug-province-bars{display:grid;gap:11px}.ug-province-bars>div{display:grid;grid-template-columns:minmax(180px,260px) 1fr 42px;align-items:center;gap:12px}.ug-province-bars .soft-bar{height:10px;border-radius:999px;background:#ebeaf0;overflow:hidden}.ug-province-bars .soft-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#7c709f,#b0a2ca)}.ug-province-bars strong{text-align:right}.under-generalate-sisters-nav{background:linear-gradient(90deg,rgba(126,112,160,.12),transparent)}
@media(max-width:1050px){.ug-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ug-leadership-grid,.ug-sister-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ug-review-list article{grid-template-columns:1fr 1fr}.ug-review-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.ug-hero{grid-template-columns:1fr;padding:24px}.ug-total-card strong{font-size:3rem}.ug-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ug-section{padding:18px}.ug-section-heading,.ug-community-head,.ug-register-heading{display:block}.ug-search{min-width:0;margin-top:14px}.ug-leadership-grid,.ug-sister-grid{grid-template-columns:1fr}.ug-community-actions{margin-top:12px}.ug-review-list article{grid-template-columns:1fr}.ug-review-actions{grid-column:auto}.ug-province-bars>div{grid-template-columns:1fr 45px}.ug-province-bars .soft-bar{grid-column:1/-1;grid-row:2}.ug-summary-grid article:last-child{grid-column:1/-1}}


/* v2.0.9 - protected Move to Under Generalate workflow */
.assignment-current-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:16px;border:1px solid #ddd9e8;border-radius:18px;background:linear-gradient(135deg,#f8f6fc,#fffaf2)}
.assignment-current-strip>div{padding:12px;border-radius:14px;background:rgba(255,255,255,.82);border:1px solid #ece8f2}
.assignment-current-strip small,.assignment-current-strip strong{display:block}.assignment-current-strip small{color:#78788a;margin-bottom:4px}.assignment-current-strip strong{color:#393e5c}.history-protection-card ul{margin:15px 0 0;padding-left:20px;color:#656879}.history-protection-card li+li{margin-top:7px}
@media(max-width:720px){.assignment-current-strip{grid-template-columns:1fr}}

/* v2.0.11 Under Generalate Ministries and Sister lists */
.under-generalate-ministries-nav{background:linear-gradient(90deg,rgba(101,137,123,.14),transparent)}
.ugm-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:24px;padding:32px;border-radius:28px;background:linear-gradient(135deg,#5f718f 0%,#788e9b 52%,#d7d7c5 100%);color:#fff;box-shadow:0 18px 42px rgba(64,77,87,.18);overflow:hidden;position:relative}.ugm-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-90px;bottom:-150px;background:rgba(255,255,255,.12)}.ugm-hero h1{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.45rem);line-height:1.04}.ugm-hero p{max-width:760px;color:rgba(255,255,255,.9);font-size:1.02rem}.ugm-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:center;position:relative;z-index:1}.ugm-hero-stats article{padding:18px;border:1px solid rgba(255,255,255,.3);border-radius:20px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}.ugm-hero-stats article:first-child{grid-column:1/-1}.ugm-hero-stats span,.ugm-hero-stats small{display:block;color:rgba(255,255,255,.85)}.ugm-hero-stats strong{display:block;font-size:2.3rem;margin:4px 0}.ugm-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.ugm-summary-card{display:flex;gap:13px;align-items:flex-start;padding:17px;border-radius:20px;background:linear-gradient(145deg,#f7f7f1,#fff);border:1px solid #e2e4da;color:inherit;text-decoration:none;transition:.18s ease}.ugm-summary-card:hover{transform:translateY(-2px);border-color:#9cae9d;box-shadow:0 8px 22px rgba(71,91,78,.08)}.ugm-summary-card small{display:block;color:#70766f}.ugm-summary-card strong{display:block;color:#36463d;margin:3px 0}.ugm-summary-card p{margin:0;color:#727870;font-size:.88rem}.ugm-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#e8eee7;color:#4e6b5a;font-weight:800;flex:0 0 auto}.ugm-icon-large{width:48px;height:48px;border-radius:16px;font-size:1.15rem}.ugm-groups{display:grid;gap:22px;margin-top:26px}.ugm-ministry-block{padding:22px;border-radius:24px;border:1px solid #e4e6df;background:#fcfcf8;scroll-margin-top:100px}.ugm-ministry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid #e6e7e1}.ugm-title-wrap{display:flex;gap:14px;align-items:flex-start}.ugm-title-wrap h3{margin:3px 0 6px;font-size:1.35rem}.ugm-title-wrap p{margin:0;color:#71766f;max-width:720px}.ugm-counts{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ugm-counts span{padding:8px 12px;border-radius:999px;background:#eef1e9;color:#58665c;white-space:nowrap}.ugm-sister-list{display:grid;gap:9px;margin-top:16px}.ugm-sister-row{display:grid;grid-template-columns:42px minmax(210px,1.2fr) minmax(180px,.9fr) minmax(180px,.9fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #e6e7e2;border-radius:17px;background:#fff;color:inherit;text-decoration:none;transition:.16s ease}.ugm-sister-row:hover{border-color:#9eae9f;background:#fdfefb;transform:translateY(-1px)}.ugm-person strong,.ugm-placement b,.ugm-role b{display:block;color:#353f39}.ugm-person small,.ugm-placement small,.ugm-role small{display:block;color:#747b75;margin-top:3px;font-size:.83rem}.ugm-open{color:#637a6a;font-weight:700;white-space:nowrap}.ugm-source-note{background:linear-gradient(145deg,#f8faf5,#fff)}
@media(max-width:1100px){.ugm-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ugm-sister-row{grid-template-columns:42px minmax(220px,1.2fr) minmax(180px,1fr) minmax(180px,1fr)}.ugm-open{display:none}}
@media(max-width:850px){.ugm-hero{grid-template-columns:1fr}.ugm-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ugm-ministry-head{flex-direction:column}.ugm-counts{justify-content:flex-start}.ugm-sister-row{grid-template-columns:42px 1fr}.ugm-placement,.ugm-role{grid-column:2}.ugm-placement{padding-top:5px;border-top:1px dashed #e5e7e1}}
@media(max-width:560px){.ugm-hero{padding:24px}.ugm-hero-stats{grid-template-columns:1fr}.ugm-hero-stats article:first-child{grid-column:auto}.ugm-summary-grid{grid-template-columns:1fr}.ugm-title-wrap{align-items:flex-start}.ugm-ministry-block{padding:17px}.ugm-sister-row{padding:12px}.ugm-counts span{font-size:.85rem}}

/* v2.0.12 - Under Generalate Institutions */
.under-generalate-institutions-nav{background:linear-gradient(90deg,rgba(91,128,145,.15),transparent)}
.ugi-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:28px;padding:34px;border-radius:28px;background:linear-gradient(135deg,#4f7481 0%,#6e8f8a 52%,#d8b990 100%);color:#fff;box-shadow:0 18px 45px rgba(54,76,81,.16);margin-bottom:22px}
.ugi-hero h1{margin:8px 0 10px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:#fff}
.ugi-hero p{max-width:780px;color:rgba(255,255,255,.9);font-size:1.03rem}
.ugi-hero-stats{display:grid;gap:12px;align-content:center}
.ugi-hero-stats article{padding:17px 18px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}
.ugi-hero-stats span,.ugi-hero-stats small{display:block;color:rgba(255,255,255,.82)}
.ugi-hero-stats strong{display:block;margin:4px 0;font-size:2rem;line-height:1;color:#fff}
.ugi-country-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:20px 0}
.ugi-country-grid article{padding:16px 18px;border:1px solid #e4e8e5;border-radius:17px;background:linear-gradient(180deg,#fff,#f8faf8)}
.ugi-country-grid small{display:block;color:#738078;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}
.ugi-country-grid strong{display:block;margin:4px 0;font-size:1.18rem;color:#2f4e4b}
.ugi-country-grid p{margin:0;color:#67736d;font-size:.88rem}
.ugi-ministry-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:13px}
.ugi-ministry-summary>a{display:flex;gap:13px;align-items:center;padding:17px;border:1px solid #e4e7e4;border-radius:19px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}
.ugi-ministry-summary>a:hover{transform:translateY(-2px);border-color:#9fb9b1;box-shadow:0 10px 24px rgba(62,91,85,.1)}
.ugi-ministry-summary>a>span{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#eef5f2;font-size:1.25rem}
.ugi-ministry-summary small,.ugi-portfolio-title small{display:block;color:#7e8984;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}
.ugi-ministry-summary strong{display:block;color:#31514e;font-size:1rem}
.ugi-ministry-summary p{margin:3px 0 0;color:#6e7974;font-size:.83rem}
.ugi-portfolios{display:grid;gap:22px}
.ugi-portfolio{border:1px solid #e2e7e3;border-radius:24px;background:#fbfcfb;overflow:hidden}
.ugi-portfolio-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e7ebe8;background:linear-gradient(90deg,#f0f6f3,#fff9f1)}
.ugi-portfolio-title{display:flex;align-items:center;gap:14px}
.ugi-portfolio-title>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#fff;border:1px solid #dde6e1;font-size:1.35rem}
.ugi-portfolio-title h3{margin:2px 0;color:#31504d}
.ugi-portfolio-title p{margin:0;color:#6d7973;font-size:.88rem}
.ugi-portfolio-totals{text-align:right;min-width:95px}
.ugi-portfolio-totals b{display:block;font-size:1.7rem;color:#426f68}
.ugi-portfolio-totals span{font-size:.76rem;color:#7c8782}
.ugi-institution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;padding:18px}
.ugi-institution-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e3e8e5;border-radius:20px;background:#fff;padding:18px}
.ugi-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.ugi-card-top h4{margin:8px 0 4px;font-size:1.08rem;line-height:1.3}
.ugi-card-top h4 a{color:#294d49;text-decoration:none}
.ugi-card-top h4 a:hover{text-decoration:underline}
.ugi-card-top p{margin:0;color:#738078;font-size:.86rem}
.ugi-source-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.69rem;font-weight:700;letter-spacing:.02em}
.ugi-source-badge.directory{background:#e6f2ed;color:#35675e}
.ugi-source-badge.housewise{background:#fff0de;color:#865c2b}
.ugi-team-count{flex:0 0 auto;padding:8px 10px;border-radius:13px;background:#f3f6f4;color:#75807b;font-size:.72rem;text-align:center}
.ugi-team-count strong{display:block;font-size:1.25rem;color:#426862}
.ugi-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;padding:13px;border-radius:15px;background:#f7f9f8}
.ugi-meta div{min-width:0}
.ugi-meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#89928e}
.ugi-meta dd{margin:3px 0 0;color:#4f5f59;font-size:.82rem;overflow-wrap:anywhere}
.ugi-team-list{display:grid;gap:8px;margin-top:3px}
.ugi-team-list h5{margin:0 0 3px;color:#405d58;font-size:.86rem}
.ugi-team-list>p{margin:0 0 5px;color:#786b54;font-size:.8rem}
.ugi-team-list>a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;background:#f8faf9;color:inherit;text-decoration:none}
.ugi-team-list>a:hover{background:#eff5f2}
.ugi-team-list>a>span:last-child{min-width:0}
.ugi-team-list strong{display:block;color:#364b47;font-size:.84rem}
.ugi-team-list small{display:block;color:#76817c;font-size:.75rem;white-space:normal}
.ugi-team-list.pending-team{padding:11px;border:1px dashed #dbc69e;border-radius:15px;background:#fffaf1}
.ugi-no-team{margin-top:5px;padding:13px;border:1px dashed #dfb9ad;border-radius:15px;background:#fff6f3}
.ugi-no-team strong{color:#865548;font-size:.84rem}
.ugi-no-team p{margin:4px 0 0;color:#826d66;font-size:.78rem}
.ugi-card-actions{margin-top:auto;padding-top:14px}
.ugi-card-actions a{color:#467269;text-decoration:none;font-size:.83rem;font-weight:700}
.ugi-review-note{background:linear-gradient(135deg,#fff9ef,#f5faf7)}
@media(max-width:850px){.ugi-hero{grid-template-columns:1fr}.ugi-hero-stats{grid-template-columns:repeat(3,1fr)}.ugi-institution-grid{grid-template-columns:1fr}}
@media(max-width:620px){.ugi-hero{padding:24px 20px;border-radius:22px}.ugi-hero-stats{grid-template-columns:1fr}.ugi-portfolio-head{align-items:flex-start}.ugi-portfolio-totals{display:none}.ugi-institution-grid{padding:12px}.ugi-meta{grid-template-columns:1fr}.ugi-card-top{display:block}.ugi-team-count{display:inline-block;margin-top:10px}}

/* v2.1.0 congregation life-stage analysis: functionality first, final beautification later */
.analysis-page-heading{align-items:center}.analysis-source-pill{display:inline-flex;align-items:center;padding:.55rem .8rem;border-radius:999px;background:#edf5ff;border:1px solid #cfe0f4;color:#315f88;font-size:.75rem;font-weight:850;white-space:nowrap}.analysis-filter{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(220px,1.4fr) auto;gap:.75rem;align-items:end;padding:1rem;margin:0 0 1.15rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.analysis-filter label{display:grid;gap:.35rem}.analysis-filter label>span{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.analysis-filter select,.analysis-filter input{width:100%;min-height:42px;padding:.65rem .75rem;border:1px solid #cfdae5;border-radius:12px;background:#fff;color:var(--text);font:inherit}.analysis-filter .button{min-height:42px}.analysis-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-subnav{display:flex;gap:.5rem;overflow:auto;padding:.25rem 0 1rem}.analysis-subnav a{flex:0 0 auto;padding:.62rem .85rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.78rem;font-weight:800;text-decoration:none}.analysis-subnav a.active{background:var(--navy);border-color:var(--navy);color:#fff}.analysis-panel{margin-bottom:1.1rem}.analysis-panel .panel-heading p{margin:.25rem 0 0;color:var(--muted);font-size:.85rem}.analysis-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.analysis-group-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.analysis-group-card summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;background:#f7fbff;color:var(--navy);font-weight:850}.analysis-group-card summary strong{display:grid;place-items:center;min-width:34px;height:28px;padding:0 .55rem;border-radius:999px;background:#e5f0fb;color:#315f88}.analysis-name-list{display:grid}.analysis-name-list a{display:grid;gap:.18rem;padding:.78rem .9rem;border-top:1px solid #edf1f5;color:inherit;text-decoration:none}.analysis-name-list a:hover{background:#f8fbff}.analysis-name-list a strong{color:var(--navy);font-size:.9rem}.analysis-name-list a small{color:var(--muted);font-size:.7rem}.analysis-name-list a span{color:#5f7181;font-size:.76rem}.analysis-table a{color:inherit;text-decoration:none}.analysis-table td strong,.analysis-table td small{display:block}.analysis-table td small{margin-top:.2rem;color:var(--muted);font-size:.68rem}.analysis-callout{padding:1rem 1.1rem;margin-bottom:1rem;border-left:4px solid #c5943e;border-radius:14px;background:#fff8e9;color:#695c48;font-size:.86rem;line-height:1.55}.analysis-jubilee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.jubilee-group-card{margin:0}.analysis-empty-line{margin:.4rem 0;color:var(--muted);font-size:.85rem}.analysis-retirement-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem}.analysis-retirement-strip a{padding:.8rem;border:1px solid #ebddd3;border-radius:16px;background:#fff9f4;text-align:center;text-decoration:none}.analysis-retirement-strip a:hover{border-color:#d3ac93}.analysis-retirement-strip a strong{display:block;color:#7e5845;font-size:1.35rem}.analysis-retirement-strip a span{display:block;color:#826e63;font-size:.72rem;font-weight:800}.analysis-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.analysis-experience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.analysis-experience-grid article{padding:.9rem;border:1px solid var(--line);border-radius:16px;background:#f9fcff;text-align:center}.analysis-experience-grid strong{display:block;color:var(--navy);font-size:1.45rem}.analysis-experience-grid span{display:block;margin-top:.2rem;color:var(--muted);font-size:.7rem;font-weight:800}.analysis-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.analysis-review-grid a{display:grid;gap:.2rem;padding:1rem;border:1px solid #eadadf;border-radius:17px;background:#fff8fa;color:inherit;text-decoration:none}.analysis-review-grid strong{color:#8a5064;font-size:1.5rem}.analysis-review-grid span{font-weight:850}.analysis-review-grid small{color:var(--muted);line-height:1.4}.status-chip{display:inline-flex;max-width:220px;padding:.28rem .5rem;border-radius:999px;background:#eef4fa;color:#47647c;font-size:.67rem;font-weight:800;line-height:1.25}.analysis-table td{font-size:.78rem}
@media(max-width:1050px){.analysis-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-filter .button{width:100%}.analysis-retirement-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.analysis-page-heading{align-items:flex-start}.analysis-filter,.analysis-stat-grid,.analysis-group-grid,.analysis-jubilee-grid,.analysis-two-column,.analysis-review-grid{grid-template-columns:1fr}.analysis-retirement-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-filter-search{grid-column:auto}.analysis-source-pill{white-space:normal}}
@media print{.analysis-filter,.analysis-subnav,.sidebar,.mobile-nav{display:none!important}.analysis-group-card{break-inside:avoid}.analysis-jubilee-grid,.analysis-two-column{grid-template-columns:repeat(2,1fr)}}
.congregation-life-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.1rem 0}.congregation-life-grid>a{display:block;padding:1.15rem;border:1px solid #dbe5ef;border-radius:22px;background:linear-gradient(145deg,#fff,#f6faff);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:.18s ease}.congregation-life-grid>a:hover{transform:translateY(-2px);border-color:#a9c9e7}.congregation-life-grid>a>strong{display:block;margin:.28rem 0;color:var(--navy);font-size:1.9rem}.congregation-life-grid h2{margin:.1rem 0 .35rem;font-size:1.05rem}.congregation-life-grid p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}@media(max-width:1050px){.congregation-life-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.congregation-life-grid{grid-template-columns:1fr}}

/* v2.1.1 Congregation structure registers: functionality-first shared layout */
.congregation-unit-links{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.structure-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1rem 0 1.2rem}
.structure-unit-card{display:block;padding:1rem 1.05rem;border:1px solid #dfe6ec;border-radius:20px;background:linear-gradient(145deg,#fff,#f8fbfd);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease}
.structure-unit-card:hover{transform:translateY(-2px);border-color:#aabed0}
.structure-unit-card>strong{display:block;margin:.2rem 0;color:var(--navy);font-family:Georgia,serif;font-size:2rem;line-height:1}
.structure-unit-card h2{margin:.2rem 0 .35rem;font-size:1rem}
.structure-unit-card p{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}
.structure-unit-card.tone-lavender{background:linear-gradient(145deg,#fff,#f5f0fa)}
.structure-unit-card.tone-rose{background:linear-gradient(145deg,#fff,#fbf0f3)}
.structure-unit-card.tone-gold{background:linear-gradient(145deg,#fff,#fff8e8)}
.structure-unit-card.tone-mint{background:linear-gradient(145deg,#fff,#eef8f4)}
.structure-unit-card.tone-teal{background:linear-gradient(145deg,#fff,#edf7f7)}
.structure-unit-card.tone-blue{background:linear-gradient(145deg,#fff,#eef4fb)}
.ministry-level-block{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.ministry-level-block:last-child{margin-bottom:0;border-bottom:0}
.ministry-level-block>h3{margin:.2rem 0 .65rem;color:var(--navy);font-size:.92rem}
.ministry-level-block>h3 small{color:var(--muted);font-size:.72rem}
.institution-filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.structure-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.structure-unit-grid{grid-template-columns:1fr}.congregation-unit-links .button{flex:1 1 100%}.institution-filter-form{grid-template-columns:1fr}}

/* v2.1.2 legacy unit navigation styles (superseded by v2.1.3 below) */
.unit-section-navigation {
  --unit-accent: #6d77b8;
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr;
  gap: .9rem;
  align-items: center;
  margin: 0 0 1.15rem;
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--unit-accent) 28%, #d9dfeb);
  border-radius: 18px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--unit-accent) 10%, white), #fff 60%);
}
.unit-section-navigation.tone-blue { --unit-accent: #557bb7; }
.unit-section-navigation.tone-lavender { --unit-accent: #806eb6; }
.unit-section-navigation.tone-rose { --unit-accent: #aa6677; }
.unit-section-navigation.tone-gold { --unit-accent: #a57b2e; }
.unit-section-navigation.tone-mint { --unit-accent: #4f8b72; }
.unit-section-navigation.tone-teal { --unit-accent: #397f83; }
.unit-section-title { padding: .2rem .55rem; border-right: 1px solid color-mix(in srgb, var(--unit-accent) 22%, #d9dfeb); }
.unit-section-title span { display: block; font-weight: 800; color: #24344a; }
.unit-section-title small { display: block; margin-top: .2rem; color: #64748b; }
.unit-section-links { display: flex; flex-wrap: wrap; gap: .4rem; }
.unit-section-links a { display: inline-flex; align-items: center; gap: .35rem; padding: .48rem .65rem; border-radius: 10px; color: #42516a; font-size: .86rem; font-weight: 700; text-decoration: none; }
.unit-section-links a:hover { background: color-mix(in srgb, var(--unit-accent) 9%, white); color: #1f2d43; }
.unit-section-links a.active { background: var(--unit-accent); color: #fff; }
.unit-section-links a span { font-size: .95rem; }

.nav-unit-groups { display: grid; gap: .32rem; margin: .35rem 0 .55rem; }
.nav-unit-group { border: 1px solid rgba(255,255,255,.08); border-radius: 10px; overflow: clip; }
.nav-unit-group summary { list-style: none; display: grid; grid-template-columns: 1.3rem 1fr auto; gap: .4rem; align-items: center; padding: .58rem .68rem; cursor: pointer; color: rgba(255,255,255,.88); }
.nav-unit-group summary::-webkit-details-marker { display: none; }
.nav-unit-group summary strong { font-size: .84rem; }
.nav-unit-group summary small { transition: transform .18s ease; }
.nav-unit-group[open] summary small { transform: rotate(90deg); }
.nav-unit-group > div { padding: 0 .4rem .45rem; }
.nav-unit-group > div > a { display: flex; align-items: center; gap: .45rem; padding: .42rem .55rem; border-radius: 8px; color: rgba(255,255,255,.7); font-size: .78rem; text-decoration: none; }
.nav-unit-group > div > a:hover, .nav-unit-group > div > a.active { color: #fff; background: rgba(255,255,255,.09); }
.nav-unit-more { display: flex; flex-wrap: wrap; gap: .25rem; padding: .32rem .4rem 0; border-top: 1px solid rgba(255,255,255,.07); margin-top: .25rem; }
.nav-unit-more a { color: rgba(255,255,255,.58); font-size: .68rem; text-decoration: none; }
.nav-unit-more a:hover { color: #fff; }

/* Under Generalate master dashboard */
.ug-dashboard-hero { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 1.25rem; padding: 1.6rem; border-radius: 24px; background: linear-gradient(135deg, #eaf2ff, #f8fbff 55%, #f4eefb); border: 1px solid #d8e2f0; margin-bottom: 1rem; }
.ug-dashboard-hero h1 { margin: .3rem 0 .55rem; font-size: clamp(1.8rem, 4vw, 3rem); color: #21324c; }
.ug-dashboard-hero p { max-width: 780px; color: #58687f; }
.ug-dashboard-source-card { display: grid; grid-template-columns: 70px 1fr; gap: .65rem .75rem; align-items: center; padding: 1rem; background: rgba(255,255,255,.78); border: 1px solid #d8e2f0; border-radius: 18px; }
.ug-dashboard-source-card img { grid-row: 1 / span 2; object-fit: contain; }
.ug-dashboard-source-card small { display: block; color: #718096; }
.ug-dashboard-source-card strong { display: block; color: #263a57; font-size: .88rem; }
.ug-dashboard-source-card > span { grid-column: 1 / -1; padding: .45rem .6rem; border-radius: 9px; background: #edf5ee; color: #3f7050; font-size: .76rem; font-weight: 800; text-align: center; }
.ug-dashboard-metrics { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: .7rem; margin-bottom: 1rem; }
.ug-dashboard-metrics a { padding: .9rem; border: 1px solid #e0e6ef; border-radius: 16px; background: #fff; text-decoration: none; color: #40516a; }
.ug-dashboard-metrics a:hover { border-color: #9db0d2; transform: translateY(-1px); }
.ug-dashboard-metrics span, .ug-dashboard-metrics small { display: block; font-size: .72rem; color: #708096; }
.ug-dashboard-metrics strong { display: block; margin: .15rem 0; font-size: 1.55rem; color: #243754; }
.unit-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; margin: 1rem 0; }
.unit-dashboard-panel { padding: 1.1rem; background: #fff; border: 1px solid #e1e6ef; border-radius: 18px; margin: 1rem 0; }
.unit-dashboard-grid .unit-dashboard-panel { margin: 0; }
.unit-dashboard-panel > header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: .85rem; }
.unit-dashboard-panel > header h2 { margin: .18rem 0; color: #263a57; }
.unit-dashboard-panel > header p { margin: 0; color: #6a788c; font-size: .88rem; }
.unit-dashboard-panel > header > a { color: #5575a8; font-weight: 800; font-size: .8rem; text-decoration: none; }
.unit-person-list, .unit-portfolio-list { display: grid; gap: .45rem; }
.unit-person-list a, .unit-portfolio-list a { display: flex; gap: .65rem; align-items: center; padding: .65rem; border-radius: 11px; background: #f7f9fc; color: #33445e; text-decoration: none; }
.unit-person-list a > span { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: #e5edf9; color: #506e9f; font-weight: 800; }
.unit-person-list strong, .unit-person-list small, .unit-portfolio-list strong, .unit-portfolio-list small { display: block; }
.unit-person-list small, .unit-portfolio-list small { color: #738197; font-size: .74rem; }
.unit-portfolio-list a > b { margin-left: auto; font-size: 1.1rem; color: #45648f; }
.unit-bar-list { display: grid; gap: .55rem; }
.unit-bar-list a { display: grid; grid-template-columns: minmax(130px,1fr) minmax(70px,1.3fr) 2rem; gap: .65rem; align-items: center; color: #41516b; text-decoration: none; font-size: .82rem; }
.unit-bar-list i { height: 9px; background: #edf1f7; border-radius: 999px; overflow: hidden; }
.unit-bar-list i b { display: block; height: 100%; border-radius: inherit; background: #708cc1; }
.unit-bar-list strong { text-align: right; }
.unit-community-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .7rem; }
.unit-community-card-grid a { display: block; padding: .85rem; border: 1px solid #e1e7ef; border-radius: 14px; color: #3d4e68; text-decoration: none; }
.unit-community-card-grid a > span { color: #7a879a; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; }
.unit-community-card-grid h3 { margin: .3rem 0; font-size: .95rem; color: #263a57; }
.unit-community-card-grid p { min-height: 2.2em; margin: 0 0 .55rem; color: #6a788d; font-size: .78rem; }
.unit-community-card-grid div { display: flex; gap: .35rem; align-items: baseline; font-size: .72rem; }
.unit-community-card-grid div strong { font-size: 1.05rem; }
.unit-community-card-grid div b { margin-left: auto; }
.unit-country-list { display: grid; gap: .55rem; }
.unit-country-list > div { display: grid; grid-template-columns: 1fr auto; gap: .15rem .8rem; padding: .65rem; border-bottom: 1px solid #eef1f5; }
.unit-country-list span { font-weight: 800; color: #344660; }
.unit-country-list strong { color: #4d6f9f; }
.unit-country-list small { grid-column: 1 / -1; color: #7a8799; }
.unit-planning-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .7rem; }
.unit-planning-grid a { display: grid; grid-template-columns: 2rem 1fr; gap: .15rem .55rem; padding: .8rem; border: 1px solid #e0e6ef; border-radius: 13px; color: #3e506b; text-decoration: none; }
.unit-planning-grid a > span { grid-row: 1 / span 2; font-size: 1.35rem; color: #607fae; }
.unit-planning-grid strong, .unit-planning-grid small { display: block; }
.unit-planning-grid small { color: #778599; font-size: .72rem; }
.unit-dashboard-alert { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid #edd9b8; background: #fff9ed; border-radius: 15px; }
.unit-dashboard-alert > div { display: flex; gap: .7rem; align-items: center; }
.unit-dashboard-alert > div > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #f5e2b9; color: #85621d; font-weight: 900; }
.unit-dashboard-alert p { margin: .15rem 0 0; color: #77664a; }

@media (max-width: 1100px) {
  .ug-dashboard-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .unit-community-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .unit-section-navigation { grid-template-columns: 1fr; }
  .unit-section-title { border-right: 0; border-bottom: 1px solid #dde4ee; padding-bottom: .55rem; }
  .unit-section-links { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .2rem; }
  .unit-section-links a { flex: 0 0 auto; }
  .ug-dashboard-hero, .unit-dashboard-grid { grid-template-columns: 1fr; }
  .ug-dashboard-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .unit-community-card-grid, .unit-planning-grid { grid-template-columns: 1fr; }
  .ug-dashboard-source-card { grid-template-columns: 58px 1fr; }
}

/* v2.1.3 organised Province / Region workspaces */
.unit-workspace-navigation {
  --workspace-accent: #6677a8;
  --workspace-soft: #f4f6fb;
  margin: 0 0 1.2rem;
  border: 1px solid color-mix(in srgb, var(--workspace-accent) 25%, #dce2eb);
  border-radius: 20px;
  background: #fff;
  overflow: visible;
  box-shadow: 0 10px 26px rgba(35, 54, 82, .06);
}
.unit-workspace-navigation.tone-blue { --workspace-accent: #557bb7; --workspace-soft: #edf4fc; }
.unit-workspace-navigation.tone-lavender { --workspace-accent: #806eb6; --workspace-soft: #f4f0fa; }
.unit-workspace-navigation.tone-rose { --workspace-accent: #aa6677; --workspace-soft: #fbf0f3; }
.unit-workspace-navigation.tone-gold { --workspace-accent: #a57b2e; --workspace-soft: #fff8e8; }
.unit-workspace-navigation.tone-mint { --workspace-accent: #4f8b72; --workspace-soft: #eef8f4; }
.unit-workspace-navigation.tone-teal { --workspace-accent: #397f83; --workspace-soft: #edf7f7; }
.unit-workspace-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  background: linear-gradient(120deg, var(--workspace-soft), #fff 68%);
  border-bottom: 1px solid color-mix(in srgb, var(--workspace-accent) 16%, #e7ebf1);
  border-radius: 20px 20px 0 0;
}
.unit-workspace-identity { display: flex; gap: .8rem; align-items: center; min-width: 0; }
.unit-workspace-identity > span {
  flex: 0 0 auto;
  padding: .42rem .62rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--workspace-accent) 13%, white);
  color: var(--workspace-accent);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.unit-workspace-identity h2 { margin: 0; color: #263750; font-size: 1.05rem; }
.unit-workspace-identity p { margin: .12rem 0 0; color: #6c7889; font-size: .77rem; }
.unit-workspace-actions { display: flex; align-items: center; gap: .45rem; flex: 0 0 auto; }
.unit-workspace-actions > a,
.unit-workspace-switcher > summary {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .48rem .65rem;
  border: 1px solid color-mix(in srgb, var(--workspace-accent) 24%, #dce2eb);
  border-radius: 10px;
  background: #fff;
  color: #41516a;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.unit-workspace-switcher { position: relative; }
.unit-workspace-switcher > summary { list-style: none; }
.unit-workspace-switcher > summary::-webkit-details-marker { display: none; }
.unit-workspace-switcher[open] > summary { border-color: var(--workspace-accent); color: var(--workspace-accent); }
.unit-workspace-switcher > div {
  position: absolute;
  z-index: 40;
  top: calc(100% + .45rem);
  right: 0;
  width: min(310px, 82vw);
  display: grid;
  gap: .35rem;
  padding: .55rem;
  border: 1px solid #dfe5ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(32, 48, 72, .18);
}
.unit-workspace-switcher > div a {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: .5rem;
  align-items: center;
  padding: .55rem .6rem;
  border-radius: 9px;
  color: #42516a;
  text-decoration: none;
  font-size: .8rem;
}
.unit-workspace-switcher > div a:hover,
.unit-workspace-switcher > div a.current { background: #f3f6fa; color: #263750; }
.unit-workspace-switcher > div a.current::after { content: 'Current'; margin-left: auto; color: #738198; font-size: .64rem; font-weight: 800; }
.unit-primary-navigation {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: .48rem;
  padding: .7rem .8rem;
}
.unit-primary-navigation a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  min-height: 42px;
  padding: .55rem .65rem;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #47566e;
  text-decoration: none;
  font-size: .82rem;
}
.unit-primary-navigation a:hover { background: var(--workspace-soft); color: #263750; }
.unit-primary-navigation a.active {
  background: var(--workspace-accent);
  color: #fff;
  box-shadow: 0 6px 15px color-mix(in srgb, var(--workspace-accent) 24%, transparent);
}
.unit-primary-navigation a span { font-size: 1rem; }
.unit-life-stage-navigation {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .6rem .9rem .75rem;
  border-top: 1px solid #edf0f4;
}
.unit-life-stage-navigation > span {
  flex: 0 0 auto;
  color: #788598;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.unit-life-stage-navigation nav { display: flex; flex-wrap: wrap; gap: .35rem; }
.unit-life-stage-navigation a {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .38rem .54rem;
  border-radius: 9px;
  color: #59677b;
  font-size: .73rem;
  font-weight: 750;
  text-decoration: none;
}
.unit-life-stage-navigation a:hover,
.unit-life-stage-navigation a.active { background: var(--workspace-soft); color: var(--workspace-accent); }
.unit-life-stage-navigation a.active { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--workspace-accent) 22%, transparent); }

.nav-workspace-list { display: grid; gap: .28rem; margin: .35rem 0 .6rem; }
.nav-workspace-link {
  --workspace-nav-accent: rgba(255,255,255,.55);
  display: grid;
  grid-template-columns: 1.3rem 1fr auto;
  gap: .45rem;
  align-items: center;
  padding: .52rem .65rem;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 9px;
  color: rgba(255,255,255,.76);
  text-decoration: none;
}
.nav-workspace-link strong { font-size: .8rem; font-weight: 750; }
.nav-workspace-link small { color: rgba(255,255,255,.38); }
.nav-workspace-link:hover,
.nav-workspace-link.active { background: rgba(255,255,255,.09); color: #fff; border-color: rgba(255,255,255,.12); }
.nav-workspace-link.active { box-shadow: inset 3px 0 0 var(--workspace-nav-accent); }
.nav-workspace-link.tone-blue { --workspace-nav-accent: #8db8ed; }
.nav-workspace-link.tone-lavender { --workspace-nav-accent: #b8a3e4; }
.nav-workspace-link.tone-rose { --workspace-nav-accent: #e3a0af; }
.nav-workspace-link.tone-gold { --workspace-nav-accent: #e3c47e; }
.nav-workspace-link.tone-mint { --workspace-nav-accent: #8ed0b4; }
.nav-workspace-link.tone-teal { --workspace-nav-accent: #80c6c9; }

@media (max-width: 900px) {
  .unit-workspace-header { align-items: flex-start; }
  .unit-workspace-identity { align-items: flex-start; }
  .unit-primary-navigation { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .unit-workspace-header { display: grid; }
  .unit-workspace-identity { display: grid; gap: .45rem; }
  .unit-workspace-actions { width: 100%; justify-content: space-between; }
  .unit-workspace-switcher { position: static; }
  .unit-workspace-switcher > div { top: auto; left: 0; right: 0; width: auto; margin-top: .4rem; }
  .unit-primary-navigation { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .unit-primary-navigation a:first-child { grid-column: 1 / -1; }
  .unit-life-stage-navigation { display: grid; gap: .4rem; }
  .unit-life-stage-navigation nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .unit-life-stage-navigation a { justify-content: center; }
}

/* v2.1.4 - Under Generalate opens as a full administrative-unit workspace */
.under-generalate-province-link{border-left:4px solid #2a78c5;background:linear-gradient(90deg,#f4f9ff 0%,#ffffff 34%)}
.under-generalate-province-link:hover{border-color:#2a78c5;box-shadow:0 12px 28px rgba(35,104,169,.10)}

/* v2.1.5 - Congregation qualifications and professional workforce */
.unit-professional-navigation{background:linear-gradient(90deg,#fbfcff,#fff)}
.qualification-filter,.workforce-filter{grid-template-columns:repeat(3,minmax(145px,1fr)) minmax(220px,1.35fr) auto}
.qualification-group-grid,.workforce-group-grid{grid-template-columns:1fr}
.qualification-readiness-callout{border-left-color:#7664a9;background:#f7f3ff;color:#5e5572}
.workforce-source-callout{border-left-color:#397f83;background:#f0f9f9;color:#4a696b}
.qualification-key-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
.qualification-table td:nth-child(2),.workforce-table td:nth-child(3){min-width:190px}
.qualification-table td:nth-child(4),.workforce-table td:nth-child(4){min-width:160px}
.workforce-experience-card{display:block;padding:.9rem;border:1px solid var(--line);border-radius:16px;background:#f9fcff;text-align:center;text-decoration:none}
.workforce-experience-card:hover{border-color:#b8cadc;background:#f3f8fc}
.workforce-experience-card strong{display:block;color:var(--navy);font-size:1.45rem}
.workforce-experience-card span{display:block;margin-top:.2rem;color:var(--muted);font-size:.7rem;font-weight:800}
.workforce-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.qualification-filter,.workforce-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.qualification-key-groups,.workforce-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.qualification-filter,.workforce-filter,.qualification-key-groups,.workforce-review-grid{grid-template-columns:1fr}.qualification-filter .analysis-filter-search,.workforce-filter .analysis-filter-search{grid-column:auto}.unit-professional-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2.1.6 Historical membership registers */
.historical-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:8px;background:#f7f5f0;border:1px solid #e8e1d7;border-radius:18px}.historical-tabs a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:13px;color:#625c55;text-decoration:none}.historical-tabs a span{font-weight:800}.historical-tabs a small{font-size:.75rem;color:#8a8177}.historical-tabs a:hover,.historical-tabs a.active{background:#fff;box-shadow:0 5px 18px rgba(69,52,37,.08);color:#244b5a}.historical-tabs a.active{border:1px solid #d7e3e6}
.historical-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;padding:34px;border-radius:24px;background:linear-gradient(135deg,#173f4b,#2f6975);color:#fff;margin-bottom:18px;box-shadow:0 14px 35px rgba(23,63,75,.17)}.historical-hero .eyebrow{color:#bfe1e5}.historical-hero h1{font-size:clamp(1.8rem,4vw,3rem);margin:8px 0 12px;line-height:1.08}.historical-hero p{max-width:780px;margin:0;color:#e5f2f3;line-height:1.7}.historical-source-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:20px;border-radius:18px;display:flex;flex-direction:column;gap:7px}.historical-source-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#cde4e7}.historical-source-card strong{font-size:1.15rem}.historical-source-card small{line-height:1.55;color:#e5f2f3}
.historical-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.historical-stat-grid .memorial{border-top:4px solid #2f6975}.historical-stat-grid .former{border-top:4px solid #9b744e}.historical-principles{margin-bottom:18px}.historical-principle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.historical-principle-grid article{padding:18px;border-radius:16px;background:#f8faf9;border:1px solid #e1e9e6}.historical-principle-grid article>strong{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcecee;color:#255762;margin-bottom:12px}.historical-principle-grid h3{margin:0 0 7px}.historical-principle-grid p{margin:0;color:#6f7775;line-height:1.55;font-size:.9rem}
.historical-dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.historical-compact-list{display:flex;flex-direction:column}.historical-compact-list>a{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(120px,190px);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0ee;color:inherit;text-decoration:none}.historical-compact-list>a:last-child{border-bottom:0}.historical-compact-list>a:hover strong{color:#255762}.historical-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcecee;color:#255762}.historical-avatar.former{background:#efe6dc;color:#7f5d3d}.historical-compact-list strong,.historical-compact-list small{display:block}.historical-compact-list small{color:#838986;margin-top:3px}.historical-compact-list em{text-align:right;font-style:normal;font-size:.78rem;color:#777b79}.anniversary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.anniversary-list a{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#f8faf9;text-decoration:none;color:inherit}.anniversary-list time{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#2f6975;color:#fff;font-weight:800}.anniversary-list strong,.anniversary-list small{display:block}.anniversary-list small{color:#858b88;margin-top:2px}.historical-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.historical-review-grid>a,.historical-review-grid>article{padding:16px;border:1px solid #e7e8e5;background:#fbfbf9;border-radius:14px;text-decoration:none;color:inherit}.historical-review-grid strong,.historical-review-grid span,.historical-review-grid small{display:block}.historical-review-grid strong{font-size:1.7rem;color:#285e68}.historical-review-grid span{font-weight:800;margin:4px 0}.historical-review-grid small{line-height:1.45;color:#818682}
.historical-page-heading{padding:25px 28px;border:1px solid #e1e8e7;border-radius:22px;background:linear-gradient(135deg,#f4faf9,#fff);margin-bottom:16px}.historical-page-heading.former-heading{background:linear-gradient(135deg,#fbf7f1,#fff);border-color:#ece2d6}.historical-count-badge{min-width:128px;padding:14px 18px;text-align:center;border-radius:16px;background:#dcecee;color:#255762}.historical-count-badge.former{background:#efe6dc;color:#7f5d3d}.historical-count-badge strong,.historical-count-badge span{display:block}.historical-count-badge strong{font-size:2rem}.historical-count-badge span{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.historical-filter{display:grid;grid-template-columns:2fr repeat(4,minmax(125px,1fr)) auto auto;gap:10px;align-items:end;padding:16px;background:#fff;border:1px solid #e7e7e3;border-radius:18px;margin-bottom:12px}.historical-filter label{display:flex;flex-direction:column;gap:6px}.historical-filter label span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#777e7a;font-weight:800}.historical-filter input,.historical-filter select{width:100%;min-height:42px;border:1px solid #dcdeda;border-radius:10px;padding:9px 11px;background:#fff}.historical-source-line{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 2px 14px;color:#747b78;font-size:.82rem}.historical-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.historical-record-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:18px;border-radius:18px;background:#fff;border:1px solid #e1e8e7;color:inherit;text-decoration:none;box-shadow:0 5px 16px rgba(38,70,73,.04)}.historical-record-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(38,70,73,.09);border-color:#bdd4d7}.historical-record-card.former{border-color:#e8dfd4}.historical-record-card.former:hover{border-color:#d5bfa7}.historical-card-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#dcecee;color:#255762;font-size:1.2rem}.historical-record-card.former .historical-card-mark{background:#efe6dc;color:#7f5d3d}.historical-card-main h2{font-size:1.08rem;margin:4px 0}.historical-card-main p{margin:0;color:#777f7b;font-size:.83rem}.historical-record-card dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:3px 0 0}.historical-record-card dl div{padding:10px;background:#f8faf9;border-radius:11px}.historical-record-card.former dl div{background:#fbf8f4}.historical-record-card dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#89918d}.historical-record-card dd{margin:4px 0 0;font-weight:700;font-size:.84rem;overflow-wrap:anywhere}.historical-warning,.historical-linked{grid-column:1/-1;width:max-content;max-width:100%;font-size:.72rem;font-weight:800;padding:6px 9px;border-radius:999px;background:#fff3cd;color:#785d12}.historical-warning.subtle{background:#f2f0eb;color:#68645d}.historical-linked{background:#e7f3ee;color:#2d684f}.historical-empty{grid-column:1/-1}.historical-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:22px 0}.historical-pagination a{padding:10px 15px;border:1px solid #dce3e1;border-radius:10px;text-decoration:none;color:#285e68;background:#fff}.historical-pagination a.disabled{opacity:.4;pointer-events:none}.historical-pagination span{color:#747b78}
.historical-profile-hero{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:18px;align-items:center;padding:27px;border-radius:22px;background:linear-gradient(135deg,#173f4b,#2f6975);color:#fff;margin:13px 0 18px}.historical-profile-hero.former{background:linear-gradient(135deg,#6f4e34,#9b744e)}.historical-profile-symbol{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:rgba(255,255,255,.14);font-size:2rem}.historical-profile-hero h1{margin:5px 0;font-size:2rem}.historical-profile-hero p{margin:0;color:rgba(255,255,255,.8)}.historical-status-seal{padding:9px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-weight:800}.historical-profile-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-bottom:18px}.historical-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.historical-detail-list div{padding:13px 0;border-bottom:1px solid #edf0ee}.historical-detail-list div:nth-child(odd){padding-right:18px}.historical-detail-list dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#848b87}.historical-detail-list dd{margin:5px 0 0;font-weight:750}.historical-note,.historical-date-alert{margin-top:15px;padding:14px;border-radius:13px;background:#f7faf9}.historical-note p,.historical-date-alert p{margin:5px 0 0;color:#707875;line-height:1.55}.historical-check-list{list-style:none;padding:0;margin:18px 0}.historical-check-list li{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid #edf0ee}.historical-check-list li span{color:#2d7658;font-weight:900}.historical-date-alert{background:#fff7df;color:#755d20}.linked-biodata-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.linked-biodata-grid div{padding:14px;border-radius:13px;background:#f8faf9}.linked-biodata-grid span,.linked-biodata-grid strong{display:block}.linked-biodata-grid span{font-size:.7rem;text-transform:uppercase;color:#838b87;margin-bottom:5px}.historical-unlinked{margin-bottom:18px}.historical-unlinked p{color:#707875;line-height:1.65}
@media(max-width:1180px){.historical-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.historical-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.historical-filter .wide{grid-column:span 2}.historical-principle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.linked-biodata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.historical-tabs{grid-template-columns:1fr}.historical-hero{grid-template-columns:1fr;padding:24px}.historical-stat-grid,.historical-dashboard-columns,.historical-register-grid,.historical-profile-columns{grid-template-columns:1fr}.historical-principle-grid,.historical-review-grid,.anniversary-list{grid-template-columns:1fr}.historical-filter{grid-template-columns:1fr}.historical-filter .wide{grid-column:auto}.historical-record-card dl{grid-template-columns:1fr}.historical-profile-hero{grid-template-columns:58px 1fr}.historical-profile-symbol{width:54px;height:54px}.historical-status-seal{grid-column:1/-1;width:max-content}.historical-detail-list,.linked-biodata-grid{grid-template-columns:1fr}.historical-compact-list>a{grid-template-columns:38px minmax(0,1fr)}.historical-compact-list em{grid-column:2;text-align:left}.historical-source-line{flex-direction:column}.historical-pagination{gap:8px}.historical-pagination a{padding:8px 10px;font-size:.8rem}}
.historical-home-feature{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:20px;align-items:center;margin:18px 0;padding:24px 27px;border:1px solid #d8e5e5;border-radius:22px;background:linear-gradient(135deg,#eef7f6,#fff)}.historical-home-symbol{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#2f6975;color:#fff;font-size:1.8rem}.historical-home-feature h2{margin:4px 0 7px}.historical-home-feature p{margin:0;color:#6f7774;line-height:1.55}@media(max-width:780px){.historical-home-feature{grid-template-columns:52px 1fr}.historical-home-symbol{width:48px;height:48px}.historical-home-feature .button{grid-column:1/-1;width:100%}}

/* v2.1.7 - unified, essential Province / Generalate / Region workspaces */
.unit-workspace-navigation-compact{margin-bottom:1rem;box-shadow:none}
.unit-workspace-navigation-compact .unit-workspace-header{padding:.72rem .85rem}
.unit-workspace-menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.62rem .72rem}
.unit-workspace-navigation-compact .unit-primary-navigation{padding:0}
.unit-more-navigation{position:relative}
.unit-more-navigation>summary{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:42px;padding:.55rem .75rem;border:1px solid color-mix(in srgb,var(--workspace-accent) 22%,#dce2eb);border-radius:11px;background:#fff;color:#4b5a70;font-size:.78rem;font-weight:800;list-style:none;cursor:pointer;white-space:nowrap}
.unit-more-navigation>summary::-webkit-details-marker{display:none}
.unit-more-navigation[open]>summary{border-color:var(--workspace-accent);color:var(--workspace-accent);background:var(--workspace-soft)}
.unit-more-navigation>div{position:absolute;z-index:35;right:0;top:calc(100% + .4rem);width:245px;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.5rem;border:1px solid #dfe5ec;border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(39,54,75,.17)}
.unit-more-navigation>div a{display:flex;align-items:center;gap:.36rem;padding:.52rem;border-radius:9px;color:#536176;text-decoration:none;font-size:.73rem;font-weight:750}
.unit-more-navigation>div a:hover,.unit-more-navigation>div a.active{background:var(--workspace-soft);color:var(--workspace-accent)}
.unit-more-navigation[open]:has(a.active)>div{position:static;width:auto;grid-column:1/-1;margin-top:.45rem;box-shadow:none}
.unit-workspace-navigation-compact .unit-workspace-identity p{font-size:.74rem}

.nav-workspace-link.tone-blue:first-child{background:rgba(141,184,237,.10);border-color:rgba(141,184,237,.18)}
.nav-workspace-link.tone-blue:first-child strong:after{content:'Generalate';display:inline-block;margin-left:.4rem;padding:.12rem .32rem;border-radius:999px;background:rgba(141,184,237,.16);color:#bcd8f6;font-size:.52rem;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}

.province-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1.15rem 1.25rem;border:1px solid #dde4ec;border-radius:18px;background:linear-gradient(120deg,#f6f9fc,#fff)}
.province-directory-heading h1{margin:.18rem 0 .3rem;color:#253751;font-size:1.55rem}
.province-directory-heading p{margin:0;color:#718096}
.province-directory-heading>span{min-width:100px;padding:.7rem .85rem;border-radius:14px;background:#fff;border:1px solid #e2e7ed;text-align:center;color:#6b788a;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.province-directory-heading>span strong{display:block;color:#273a55;font-size:1.5rem;line-height:1.1}
.province-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.province-unit-card{--unit-accent:#557bb7;--unit-soft:#edf4fc;display:grid;grid-template-columns:48px minmax(0,1fr);gap:.75rem;align-items:start;padding:1rem;border:1px solid color-mix(in srgb,var(--unit-accent) 22%,#dfe5ed);border-radius:17px;background:linear-gradient(145deg,var(--unit-soft),#fff 68%);color:inherit;text-decoration:none;transition:.18s ease}
.province-unit-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--unit-accent) 12%,transparent);border-color:color-mix(in srgb,var(--unit-accent) 42%,#dfe5ed)}
.province-unit-card.tone-lavender{--unit-accent:#806eb6;--unit-soft:#f4f0fa}.province-unit-card.tone-rose{--unit-accent:#aa6677;--unit-soft:#fbf0f3}.province-unit-card.tone-gold{--unit-accent:#a57b2e;--unit-soft:#fff8e8}.province-unit-card.tone-mint{--unit-accent:#4f8b72;--unit-soft:#eef8f4}.province-unit-card.tone-teal{--unit-accent:#397f83;--unit-soft:#edf7f7}
.province-unit-card.is-generalate{grid-column:span 2;border-width:2px}
.province-unit-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--unit-accent);color:#fff;font-size:1.25rem}
.province-unit-card small{display:block;color:var(--unit-accent);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.province-unit-card h2{margin:.2rem 0 .25rem;color:#263851;font-size:1.05rem}
.province-unit-card p{margin:0;color:#7a8696;font-size:.78rem}
.province-unit-card>strong{grid-column:2;display:flex;justify-content:space-between;align-items:center;margin-top:.35rem;padding-top:.58rem;border-top:1px solid color-mix(in srgb,var(--unit-accent) 14%,#e8ebef);color:var(--unit-accent);font-size:.74rem}

.standard-unit-dashboard{--unit-accent:#557bb7;--unit-soft:#edf4fc;--unit-ink:#25364e}
.standard-unit-dashboard.tone-lavender{--unit-accent:#806eb6;--unit-soft:#f4f0fa}.standard-unit-dashboard.tone-rose{--unit-accent:#aa6677;--unit-soft:#fbf0f3}.standard-unit-dashboard.tone-gold{--unit-accent:#a57b2e;--unit-soft:#fff8e8}.standard-unit-dashboard.tone-mint{--unit-accent:#4f8b72;--unit-soft:#eef8f4}.standard-unit-dashboard.tone-teal{--unit-accent:#397f83;--unit-soft:#edf7f7}
.standard-unit-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:1rem;padding:1.35rem;border:1px solid color-mix(in srgb,var(--unit-accent) 23%,#dfe5ed);border-radius:21px;background:linear-gradient(130deg,var(--unit-soft),#fff 68%);overflow:hidden}
.standard-unit-hero h1{margin:.2rem 0 .4rem;color:var(--unit-ink);font-size:clamp(1.7rem,3vw,2.35rem)}
.standard-unit-hero p{max-width:780px;margin:0;color:#68778c;line-height:1.55}
.standard-unit-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.standard-unit-hero aside{display:grid;grid-template-columns:62px 1fr;gap:.65rem;align-content:start;padding:.9rem;border:1px solid color-mix(in srgb,var(--unit-accent) 18%,#e1e6ec);border-radius:16px;background:rgba(255,255,255,.78)}
.standard-unit-hero aside img{grid-row:1/3;object-fit:contain}
.standard-unit-hero aside small,.standard-unit-hero aside strong{display:block}.standard-unit-hero aside small{color:#8792a1;font-size:.64rem;text-transform:uppercase;letter-spacing:.05em}.standard-unit-hero aside strong{margin-top:.15rem;color:#34465f;font-size:.83rem}
.standard-unit-hero aside>span{grid-column:1/-1;padding:.48rem .58rem;border-radius:9px;background:var(--unit-soft);color:var(--unit-accent);font-size:.68rem;font-weight:850;text-align:center}
.standard-unit-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.standard-unit-metrics a{padding:.95rem 1rem;border:1px solid #e0e5eb;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 15px rgba(43,58,78,.035)}
.standard-unit-metrics a:hover{border-color:color-mix(in srgb,var(--unit-accent) 34%,#dce2e9);background:var(--unit-soft)}
.standard-unit-metrics span,.standard-unit-metrics strong,.standard-unit-metrics small{display:block}.standard-unit-metrics span{color:#68778a;font-size:.72rem;font-weight:800}.standard-unit-metrics strong{margin:.22rem 0;color:var(--unit-accent);font-size:1.65rem}.standard-unit-metrics small{color:#8b95a3;font-size:.68rem}
.standard-unit-source-note{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:1rem;padding:.72rem .85rem;border-left:4px solid var(--unit-accent);border-radius:10px;background:var(--unit-soft);color:#56667b}
.standard-unit-source-note>span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--unit-accent);color:#fff;font-weight:900}.standard-unit-source-note p{margin:0;font-size:.78rem;line-height:1.5}
.standard-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-bottom:.85rem}
.standard-unit-grid-main{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr)}
.standard-unit-panel{min-width:0;padding:1rem;border:1px solid #e1e6ec;border-radius:18px;background:#fff;box-shadow:0 5px 16px rgba(43,58,78,.035)}
.standard-unit-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.7rem}.standard-unit-panel h2{margin:.15rem 0 0;color:#293b54;font-size:1.05rem}.standard-unit-panel>header>a{color:var(--unit-accent);font-size:.72rem;font-weight:800;text-decoration:none}
.standard-unit-total{display:grid;place-items:center;min-width:34px;height:30px;padding:0 .45rem;border-radius:9px;background:var(--unit-soft);color:var(--unit-accent);font-size:.78rem;font-weight:900}
.standard-leadership-list,.standard-community-list,.standard-ministry-list,.standard-review-list{display:grid;gap:.28rem}
.standard-leadership-list>a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.52rem;border-radius:10px;color:inherit;text-decoration:none}
.standard-leadership-list>a:hover{background:var(--unit-soft)}.standard-leadership-list>a>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--unit-soft);color:var(--unit-accent);font-size:.65rem;font-weight:900}.standard-leadership-list strong,.standard-leadership-list small{display:block}.standard-leadership-list strong{font-size:.79rem;color:#34445b}.standard-leadership-list small{margin-top:.1rem;color:#8490a0;font-size:.66rem}.standard-leadership-list em{font-style:normal;color:#7c8795;font-size:.63rem}
.standard-community-list>a{display:grid;grid-template-columns:30px minmax(0,1fr) 55px 64px;gap:.5rem;align-items:center;padding:.5rem;border-bottom:1px solid #edf0f3;color:inherit;text-decoration:none}.standard-community-list>a:last-child{border-bottom:0}.standard-community-list>a:hover{background:#fafbfd}.standard-community-list>a>span{color:#99a2ae;font-size:.64rem;font-weight:900}.standard-community-list strong,.standard-community-list small{display:block}.standard-community-list div strong{color:#34445a;font-size:.78rem}.standard-community-list div small{margin-top:.12rem;color:#8a94a0;font-size:.64rem}.standard-community-list b{text-align:center;color:var(--unit-accent);font-size:.86rem}.standard-community-list b small{margin-top:.08rem;color:#929aa4;font-size:.56rem;font-weight:700}
.standard-ministry-list>a{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(80px,1fr) 30px;gap:.55rem;align-items:center;padding:.47rem .3rem;color:inherit;text-decoration:none}.standard-ministry-list>a>div{display:flex;align-items:center;gap:.42rem;min-width:0}.standard-ministry-list>a>div span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--unit-soft);color:var(--unit-accent);font-size:.75rem}.standard-ministry-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4a586c;font-size:.73rem}.standard-ministry-list i{height:7px;border-radius:999px;background:#eef1f4;overflow:hidden}.standard-ministry-list i b{display:block;height:100%;border-radius:999px;background:var(--unit-accent)}.standard-ministry-list em{font-style:normal;text-align:right;color:var(--unit-accent);font-size:.75rem;font-weight:900}
.standard-review-list>a{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem;border-radius:10px;color:inherit;text-decoration:none}.standard-review-list>a:hover{background:#fff8ee}.standard-review-list>a>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff2d8;color:#926923;font-size:.65rem;font-weight:900}.standard-review-list strong,.standard-review-list small{display:block}.standard-review-list strong{color:#4b5667;font-size:.74rem}.standard-review-list small{margin-top:.1rem;color:#8b929b;font-size:.63rem;line-height:1.35}.standard-review-list b{min-width:30px;padding:.28rem .38rem;border-radius:8px;background:#fff3df;color:#9a6b22;text-align:center;font-size:.72rem}
.standard-unit-empty,.standard-unit-clear{padding:1rem;border-radius:12px;background:#f8fafc;color:#818b99;font-size:.76rem;text-align:center}.standard-unit-clear{display:flex;gap:.55rem;align-items:center;text-align:left;background:#f1f8f4}.standard-unit-clear>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d7ede0;color:#397257;font-weight:900}.standard-unit-clear strong,.standard-unit-clear small{display:block}.standard-unit-clear strong{color:#416653;font-size:.77rem}.standard-unit-clear small{margin-top:.1rem;color:#7d9185;font-size:.65rem}
.standard-unit-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1rem 1.1rem;border-radius:17px;background:#293a53;color:#fff}.standard-unit-footer h2{margin:.15rem 0 0;font-size:1rem}.standard-unit-footer .eyebrow{color:#bfc9d8}.standard-unit-footer>div:last-child{display:flex;flex-wrap:wrap;gap:.35rem}.standard-unit-footer a{padding:.42rem .58rem;border:1px solid rgba(255,255,255,.18);border-radius:9px;color:#fff;text-decoration:none;font-size:.68rem;font-weight:800}.standard-unit-footer a:hover{background:rgba(255,255,255,.1)}

@media(max-width:1050px){.province-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.standard-unit-hero{grid-template-columns:1fr}.standard-unit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.standard-unit-grid,.standard-unit-grid-main{grid-template-columns:1fr}}
@media(max-width:760px){.unit-workspace-menu-row{grid-template-columns:1fr}.unit-more-navigation>div{position:static;width:auto;margin-top:.35rem}.unit-more-navigation[open]:has(a.active)>div{margin-top:.35rem}.province-directory-heading{align-items:flex-start}.province-unit-grid{grid-template-columns:1fr}.province-unit-card.is-generalate{grid-column:auto}.standard-unit-metrics{grid-template-columns:1fr 1fr}.standard-unit-hero aside{grid-template-columns:52px 1fr}.standard-unit-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.standard-unit-metrics{grid-template-columns:1fr}.standard-community-list>a{grid-template-columns:24px minmax(0,1fr) 48px}.standard-community-list>a b:last-child{display:none}.standard-unit-actions .button{flex:1 1 calc(50% - .3rem);text-align:center}.province-directory-heading{display:grid}.province-directory-heading>span{width:max-content}}


/* v2.1.8 — Daily departed Sisters remembrance */
.daily-remembrance-card {
  margin: 18px 0;
  padding: 23px 26px 20px;
  border: 1px solid #e6d9e8;
  border-radius: 22px;
  background: linear-gradient(135deg, #fffafd 0%, #f8f1fa 52%, #fffdf8 100%);
  box-shadow: 0 14px 34px rgba(92, 58, 91, .08);
}
.daily-remembrance-heading {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
}
.daily-remembrance-symbol {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: #755679;
  color: #fff;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.13);
}
.daily-remembrance-heading h2 { margin: 3px 0 2px; }
.daily-remembrance-date { margin: 0; color: #776d77; font-weight: 750; }
.daily-remembrance-count {
  padding: 8px 13px;
  border: 1px solid #dfcfdf;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #654867;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.daily-remembrance-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
  margin-top: 17px;
}
.daily-remembrance-person {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #eadfeb;
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.daily-remembrance-person:hover {
  transform: translateY(-2px);
  border-color: #cdb6cf;
  box-shadow: 0 9px 20px rgba(92,58,91,.09);
}
.daily-remembrance-person > span:nth-child(2) { min-width: 0; }
.daily-remembrance-person strong,
.daily-remembrance-person small { display: block; }
.daily-remembrance-person strong { color: #3d3340; font-size: .9rem; }
.daily-remembrance-person small { margin-top: 3px; color: #756d75; font-size: .74rem; line-height: 1.4; }
.daily-remembrance-person em {
  grid-column: 2;
  color: #815f82;
  font-size: .7rem;
  font-style: normal;
  font-weight: 850;
}
.daily-remembrance-initial {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f0e5f1;
  color: #6c4d70;
  font-weight: 950;
}
.daily-remembrance-prayer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid #eadfea;
}
.daily-remembrance-prayer p {
  margin: 0;
  color: #594e59;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .95rem;
  font-style: italic;
  line-height: 1.5;
}
.daily-remembrance-prayer a {
  color: #684c6c;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.daily-remembrance-empty {
  display: grid;
  gap: 4px;
  margin-top: 17px;
  padding: 14px 16px;
  border: 1px dashed #d8c6da;
  border-radius: 15px;
  background: rgba(255,255,255,.65);
  color: #716771;
}
.daily-remembrance-empty strong { color: #4f4350; }
@media (max-width: 760px) {
  .daily-remembrance-card { padding: 19px; }
  .daily-remembrance-heading { grid-template-columns: 48px 1fr; }
  .daily-remembrance-symbol { width: 46px; height: 46px; border-radius: 15px; }
  .daily-remembrance-count { grid-column: 1 / -1; justify-self: start; }
  .daily-remembrance-list { grid-template-columns: 1fr; }
  .daily-remembrance-prayer { align-items: flex-start; flex-direction: column; }
}

/* v2.1.9 — Upcoming and monthly remembrance calendar */
.daily-remembrance-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; }
.daily-remembrance-actions a { color: #684c6c; font-size: .78rem; font-weight: 900; white-space: nowrap; }
.remembrance-page-heading { align-items: center; }
.remembrance-heading-actions { min-width: max-content; }
.remembrance-quality-note {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 0 0 18px;
  padding: 13px 16px;
  border: 1px solid #d9e8dd;
  border-radius: 16px;
  background: #f6fcf8;
  color: #4e6555;
}
.remembrance-quality-note > div { display: flex; gap: 10px; align-items: center; }
.remembrance-quality-note > div > span { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; background: #dceee2; color: #39714a; font-weight: 950; }
.remembrance-quality-note p { margin: 0; font-size: .82rem; line-height: 1.45; }
.remembrance-quality-note small { color: #718078; font-size: .7rem; text-align: right; }
.remembrance-upcoming-panel { margin-bottom: 18px; background: linear-gradient(145deg, #fffafd, #fbf6ff); border-color: #eadfed; }
.remembrance-upcoming-panel .panel-heading p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.remembrance-upcoming-panel .date-pill { text-decoration: none; }
.remembrance-upcoming-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 12px; }
.remembrance-upcoming-day { overflow: hidden; border: 1px solid #e8dce9; border-radius: 17px; background: rgba(255,255,255,.88); }
.remembrance-upcoming-date { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 13px; background: #f3e9f5; color: #694f6d; }
.remembrance-upcoming-date span { font-size: .76rem; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.remembrance-upcoming-date strong { font-size: .72rem; }
.remembrance-upcoming-people { display: grid; }
.remembrance-upcoming-people a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 12px; padding: 12px 13px; border-top: 1px solid #f0e8f1; color: inherit; text-decoration: none; }
.remembrance-upcoming-people a:first-child { border-top: 0; }
.remembrance-upcoming-people a:hover { background: #fffafd; }
.remembrance-upcoming-people strong { color: #403542; font-size: .85rem; }
.remembrance-upcoming-people small { grid-column: 1; color: #7a707a; font-size: .68rem; }
.remembrance-upcoming-people em { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #7a5b7e; font-size: .66rem; font-style: normal; font-weight: 850; text-align: right; }
.remembrance-filter { display: grid; grid-template-columns: minmax(145px,.7fr) minmax(145px,.7fr) minmax(260px,1.8fr) auto auto; gap: 10px; align-items: end; margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.remembrance-filter label { display: grid; gap: 6px; }
.remembrance-filter label > span { color: var(--muted); font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.remembrance-filter input, .remembrance-filter select { width: 100%; min-height: 42px; padding: .65rem .75rem; border: 1px solid #cfdae5; border-radius: 12px; background: #fff; color: var(--text); font: inherit; }
.remembrance-filter .button { min-height: 42px; }
.remembrance-month-toolbar { display: grid; grid-template-columns: 150px minmax(0,1fr) 150px; align-items: center; gap: 18px; margin: 0 0 11px; }
.remembrance-month-toolbar > div { text-align: center; }
.remembrance-month-toolbar h2 { margin: 3px 0; font-family: Georgia, serif; font-size: 1.65rem; color: #4b394e; }
.remembrance-month-toolbar p { margin: 0; color: var(--muted); font-size: .75rem; }
.remembrance-month-toolbar > a { padding: 9px 12px; border: 1px solid #e2d7e4; border-radius: 999px; background: #fff; color: #6a506e; font-size: .75rem; font-weight: 850; text-align: center; text-decoration: none; }
.remembrance-month-toolbar > a:last-child { justify-self: end; }
.remembrance-calendar-shell { overflow: hidden; margin-bottom: 18px; border: 1px solid #dfd7e1; border-radius: 21px; background: #fff; box-shadow: 0 12px 28px rgba(80,57,82,.07); }
.remembrance-weekdays, .remembrance-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); }
.remembrance-weekdays { background: #715474; color: #fff; }
.remembrance-weekdays span { padding: 10px 8px; border-left: 1px solid rgba(255,255,255,.13); font-size: .69rem; font-weight: 900; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.remembrance-weekdays span:first-child { border-left: 0; }
.remembrance-calendar-day { min-height: 145px; padding: 9px; border-top: 1px solid #ece6ed; border-left: 1px solid #ece6ed; background: #fff; }
.remembrance-calendar-day:nth-child(7n+1) { border-left: 0; }
.remembrance-calendar-day.is-outside { background: #faf9fb; }
.remembrance-calendar-day.is-today { background: #fff9e9; box-shadow: inset 0 0 0 2px #d8b45f; }
.remembrance-calendar-day header { display: flex; justify-content: space-between; align-items: center; min-height: 25px; }
.remembrance-calendar-day header > strong { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #56475a; font-size: .76rem; }
.remembrance-calendar-day.is-today header > strong { background: #d4aa4a; color: #fff; }
.remembrance-calendar-day header > span { min-width: 23px; padding: 3px 6px; border-radius: 999px; background: #eee4f0; color: #6b4e70; font-size: .61rem; font-weight: 900; text-align: center; }
.remembrance-calendar-names { display: grid; gap: 5px; margin-top: 7px; }
.remembrance-calendar-names a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; padding: 5px 6px; border-radius: 8px; background: #f8f2f9; color: #554259; font-size: .64rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.remembrance-calendar-names a:hover { background: #efe3f1; }
.remembrance-calendar-names a small { color: #8a778d; font-size: .58rem; }
.remembrance-more { padding: 2px 5px; color: #806d83; font-size: .61rem; font-weight: 800; }
.remembrance-month-list { margin-bottom: 18px; }
.remembrance-month-list .panel-heading p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.remembrance-list-table { overflow: hidden; border: 1px solid #e8e1e9; border-radius: 16px; }
.remembrance-list-table > a { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 11px 13px; border-top: 1px solid #eee8ef; color: inherit; text-decoration: none; }
.remembrance-list-table > a:first-child { border-top: 0; }
.remembrance-list-table > a:hover { background: #fcf9fc; }
.remembrance-list-table time { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f1e6f2; color: #694c6e; }
.remembrance-list-table time strong { font-size: 1.05rem; line-height: 1; }
.remembrance-list-table time span { font-size: .58rem; font-weight: 900; text-transform: uppercase; }
.remembrance-list-table > a > span { min-width: 0; }
.remembrance-list-table > a > span strong, .remembrance-list-table > a > span small { display: block; }
.remembrance-list-table > a > span strong { color: #403542; font-size: .85rem; }
.remembrance-list-table > a > span small { margin-top: 3px; color: #766d77; font-size: .69rem; }
.remembrance-list-table em { color: #78597c; font-size: .68rem; font-style: normal; font-weight: 850; text-align: right; }
.remembrance-empty-gentle { display: flex; gap: 13px; align-items: center; padding: 18px; border: 1px dashed #dbcddd; border-radius: 16px; background: rgba(255,255,255,.7); color: #706672; }
.remembrance-empty-gentle > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 14px; background: #eee3f0; color: #735778; }
.remembrance-empty-gentle p { margin: 4px 0 0; font-size: .78rem; }
.remembrance-print-sheet { display: none; }

@media (max-width: 980px) {
  .remembrance-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .remembrance-filter .wide { grid-column: 1 / -1; }
  .remembrance-calendar-day { min-height: 125px; }
  .remembrance-calendar-names a { grid-template-columns: 1fr; }
  .remembrance-calendar-names a small { display: none; }
}
@media (max-width: 700px) {
  .daily-remembrance-actions { justify-content: flex-start; }
  .remembrance-quality-note { align-items: flex-start; flex-direction: column; }
  .remembrance-quality-note small { text-align: left; }
  .remembrance-heading-actions { min-width: 0; }
  .remembrance-filter { grid-template-columns: 1fr; }
  .remembrance-filter .wide { grid-column: auto; }
  .remembrance-month-toolbar { grid-template-columns: 1fr 1fr; }
  .remembrance-month-toolbar > div { grid-column: 1 / -1; grid-row: 1; }
  .remembrance-month-toolbar > a { grid-row: 2; }
  .remembrance-weekdays { display: none; }
  .remembrance-calendar-grid { grid-template-columns: 1fr; }
  .remembrance-calendar-day, .remembrance-calendar-day:nth-child(7n+1) { min-height: 0; border-left: 0; }
  .remembrance-calendar-day.is-outside { display: none; }
  .remembrance-calendar-day header { justify-content: flex-start; gap: 8px; }
  .remembrance-calendar-day header > strong { width: auto; height: auto; }
  .remembrance-calendar-day.is-today header > strong { width: 27px; height: 27px; }
  .remembrance-list-table > a { grid-template-columns: 52px minmax(0,1fr); }
  .remembrance-list-table em { grid-column: 2; text-align: left; }
  .remembrance-upcoming-people a { grid-template-columns: 1fr; }
  .remembrance-upcoming-people em { grid-column: 1; grid-row: auto; text-align: left; }
}

@media print {
  body * { visibility: hidden !important; }
  .remembrance-print-sheet, .remembrance-print-sheet * { visibility: visible !important; }
  .remembrance-print-sheet { display: block !important; position: absolute; inset: 0; width: 100%; padding: 18mm 16mm; background: #fff; color: #111; font-family: Georgia, 'Times New Roman', serif; }
  .remembrance-print-sheet header { padding-bottom: 8mm; border-bottom: 1px solid #777; text-align: center; }
  .remembrance-print-sheet header span { font-size: 10pt; letter-spacing: .05em; text-transform: uppercase; }
  .remembrance-print-sheet header h1 { margin: 4mm 0 2mm; font-size: 22pt; }
  .remembrance-print-sheet header p { margin: 0; font-size: 10.5pt; font-style: italic; }
  .remembrance-print-sheet > div { display: grid; grid-template-columns: 34mm 1fr; gap: 2mm 5mm; padding: 3.3mm 0; border-bottom: 1px solid #ddd; break-inside: avoid; }
  .remembrance-print-sheet time { grid-row: 1 / span 2; font-weight: 700; }
  .remembrance-print-sheet strong { font-size: 11pt; }
  .remembrance-print-sheet div span { font-size: 8.5pt; color: #444; }
  .remembrance-print-sheet footer { margin-top: 8mm; padding-top: 3mm; border-top: 1px solid #777; font-size: 8pt; text-align: center; }
  @page { size: A4 portrait; margin: 0; }
}

/* v2.2.0 — Today in FIHM birthday celebrations */
.daily-birthday-card {
  margin: 18px 0;
  padding: 23px 26px 20px;
  border: 1px solid #f1dccb;
  border-radius: 22px;
  background: linear-gradient(135deg, #fffdf8 0%, #fff4e9 48%, #f7fbf4 100%);
  box-shadow: 0 14px 34px rgba(133, 88, 52, .08);
}
.daily-birthday-heading {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
}
.daily-birthday-symbol {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(145deg, #cf825d, #b86665);
  color: #fff;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.15);
}
.daily-birthday-heading h2 { margin: 3px 0 2px; color: #4b3b35; }
.daily-birthday-date { margin: 0; color: #7a6b62; font-weight: 750; }
.daily-birthday-count {
  padding: 8px 13px;
  border: 1px solid #ead4c2;
  border-radius: 999px;
  background: rgba(255,255,255,.8);
  color: #a4574f;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.daily-birthday-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 10px;
  margin-top: 17px;
}
.daily-birthday-person {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid #f0ded1;
  border-radius: 15px;
  background: rgba(255,255,255,.86);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.daily-birthday-person:hover { transform: translateY(-2px); border-color: #dfb89e; box-shadow: 0 9px 20px rgba(137,85,55,.09); }
.daily-birthday-person strong, .daily-birthday-person small { display: block; }
.daily-birthday-person strong { color: #493a35; font-size: .88rem; }
.daily-birthday-person small { margin-top: 3px; color: #7a7069; font-size: .7rem; line-height: 1.4; }
.daily-birthday-person em { color: #ac5f56; font-size: .68rem; font-style: normal; font-weight: 900; text-align: right; }
.daily-birthday-initial {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f8dfd0;
  color: #a2514c;
  font-weight: 950;
}
.daily-birthday-blessing { margin-top: 13px; padding: 10px 13px; border-radius: 12px; background: rgba(255,255,255,.62); color: #775e51; font-family: Georgia, serif; font-size: .86rem; font-style: italic; text-align: center; }
.daily-birthday-empty { display: grid; gap: 4px; margin-top: 16px; padding: 15px; border: 1px dashed #e4c9b7; border-radius: 15px; background: rgba(255,255,255,.65); color: #75685f; }
.daily-birthday-empty strong { color: #58473f; }
.daily-birthday-empty span { font-size: .78rem; }
.daily-birthday-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(187,128,92,.16); color: #7c6a5f; font-size: .75rem; }
.daily-birthday-actions a { color: #9f514c; font-weight: 900; text-decoration: none; }
.daily-birthday-actions a:hover { text-decoration: underline; }

.birthday-page-heading { align-items: center; }
.birthday-page-heading h1 { color: #4b3b35; }
.birthday-heading-actions { min-width: 330px; justify-content: flex-end; }
.birthday-quality-note {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin: 0 0 18px;
  padding: 13px 16px;
  border: 1px solid #e3ead8;
  border-radius: 16px;
  background: linear-gradient(135deg, #f8fcf3, #fffaf3);
  color: #59664e;
}
.birthday-quality-note > div { display: flex; gap: 10px; align-items: center; }
.birthday-quality-note > div > span { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border-radius: 50%; background: #77936a; color: #fff; font-weight: 950; }
.birthday-quality-note p { margin: 0; font-size: .78rem; line-height: 1.5; }
.birthday-quality-note small { max-width: 420px; color: #83786e; font-size: .68rem; line-height: 1.45; text-align: right; }
.birthday-today-panel, .birthday-upcoming-panel { margin-bottom: 18px; border-color: #f0ddcf; background: linear-gradient(145deg, #fffdf9, #fff6ed); }
.birthday-today-panel .panel-heading p, .birthday-upcoming-panel .panel-heading p, .birthday-month-list .panel-heading p { margin: 5px 0 0; color: var(--muted); font-size: .78rem; }
.birthday-date-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 7px 12px; border: 1px solid #e8cdbb; border-radius: 999px; background: #fff; color: #a05a4e; font-size: .72rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.birthday-people-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(265px,1fr)); gap: 12px; }
.birthday-person-card { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 11px; align-items: center; padding: 13px; border: 1px solid #eedbcd; border-radius: 16px; background: rgba(255,255,255,.9); color: inherit; text-decoration: none; }
.birthday-person-card:hover { border-color: #dcae91; box-shadow: 0 8px 18px rgba(139,87,56,.08); }
.birthday-person-card > span:nth-child(2) { min-width: 0; }
.birthday-person-card strong, .birthday-person-card small { display: block; }
.birthday-person-card strong { color: #4b3c36; font-size: .85rem; }
.birthday-person-card small { margin-top: 3px; color: #7c7169; font-size: .68rem; line-height: 1.35; }
.birthday-person-card em { grid-column: 2; color: #a45b52; font-size: .66rem; font-style: normal; font-weight: 900; }
.birthday-person-initial { grid-row: 1 / span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #f7dfd1; color: #a0504b; font-weight: 950; }
.birthday-blessing { margin: 14px 0 0; color: #765d51; font-family: Georgia, serif; font-size: .88rem; font-style: italic; text-align: center; }
.birthday-upcoming-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(270px,1fr)); gap: 12px; }
.birthday-upcoming-day { overflow: hidden; border: 1px solid #eedbcf; border-radius: 17px; background: rgba(255,255,255,.9); }
.birthday-upcoming-date { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 13px; background: #f9e7d9; color: #96544c; }
.birthday-upcoming-date span { font-size: .76rem; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.birthday-upcoming-date strong { font-size: .72rem; }
.birthday-upcoming-people { display: grid; }
.birthday-upcoming-people a { display: grid; gap: 3px; padding: 12px 13px; border-top: 1px solid #f3e8e0; color: inherit; text-decoration: none; }
.birthday-upcoming-people a:first-child { border-top: 0; }
.birthday-upcoming-people a:hover { background: #fffaf6; }
.birthday-upcoming-people strong { color: #493b35; font-size: .84rem; }
.birthday-upcoming-people small { color: #7c7169; font-size: .67rem; }
.birthday-empty-gentle { display: flex; gap: 13px; align-items: center; padding: 18px; border: 1px dashed #e5cbb9; border-radius: 16px; background: rgba(255,255,255,.72); color: #75675f; }
.birthday-empty-gentle > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 14px; background: #f8e3d5; color: #a25a50; }
.birthday-empty-gentle p { margin: 4px 0 0; font-size: .78rem; }
.birthday-filter { display: grid; grid-template-columns: minmax(145px,.7fr) minmax(145px,.7fr) minmax(270px,1.8fr) auto auto; gap: 10px; align-items: end; margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.birthday-filter label { display: grid; gap: 6px; }
.birthday-filter label > span { color: var(--muted); font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.birthday-filter input, .birthday-filter select { width: 100%; min-height: 42px; padding: .65rem .75rem; border: 1px solid #cfdae5; border-radius: 12px; background: #fff; color: var(--text); font: inherit; }
.birthday-filter .button { min-height: 42px; }
.birthday-month-toolbar { display: grid; grid-template-columns: 150px minmax(0,1fr) 150px; align-items: center; gap: 18px; margin: 0 0 11px; }
.birthday-month-toolbar > div { text-align: center; }
.birthday-month-toolbar h2 { margin: 3px 0; color: #4b3b35; font-family: Georgia, serif; font-size: 1.65rem; }
.birthday-month-toolbar p { margin: 0; color: var(--muted); font-size: .75rem; }
.birthday-month-toolbar > a { padding: 9px 12px; border: 1px solid #ead5c7; border-radius: 999px; background: #fff; color: #9d574e; font-size: .75rem; font-weight: 850; text-align: center; text-decoration: none; }
.birthday-month-toolbar > a:last-child { justify-self: end; }
.birthday-calendar-shell { overflow: hidden; margin-bottom: 18px; border: 1px solid #e6d8cf; border-radius: 21px; background: #fff; box-shadow: 0 12px 28px rgba(99,70,50,.07); }
.birthday-weekdays, .birthday-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.birthday-weekdays { background: #b5655c; color: #fff; }
.birthday-weekdays span { padding: 10px 8px; border-left: 1px solid rgba(255,255,255,.14); font-size: .69rem; font-weight: 900; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.birthday-weekdays span:first-child { border-left: 0; }
.birthday-calendar-day { min-height: 145px; padding: 9px; border-top: 1px solid #eee6e0; border-left: 1px solid #eee6e0; background: #fff; }
.birthday-calendar-day:nth-child(7n+1) { border-left: 0; }
.birthday-calendar-day.is-outside { background: #fbfaf9; }
.birthday-calendar-day.is-today { background: #fff9e9; box-shadow: inset 0 0 0 2px #d7ad55; }
.birthday-calendar-day header { display: flex; justify-content: space-between; align-items: center; min-height: 25px; }
.birthday-calendar-day header > strong { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #5e4d45; font-size: .76rem; }
.birthday-calendar-day.is-today header > strong { background: #cf9e45; color: #fff; }
.birthday-calendar-day header > span { min-width: 23px; padding: 3px 6px; border-radius: 999px; background: #f5dfd1; color: #9c554d; font-size: .61rem; font-weight: 900; text-align: center; }
.birthday-calendar-names { display: grid; gap: 5px; margin-top: 7px; }
.birthday-calendar-names a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; padding: 5px 6px; border-radius: 8px; background: #fff4ed; color: #65483f; font-size: .64rem; font-weight: 800; line-height: 1.25; text-decoration: none; }
.birthday-calendar-names a:hover { background: #f8e2d4; }
.birthday-calendar-names a small { color: #96786b; font-size: .56rem; }
.birthday-more { padding: 2px 5px; color: #8f7265; font-size: .61rem; font-weight: 800; }
.birthday-month-list { margin-bottom: 18px; }
.birthday-list-table { overflow: hidden; border: 1px solid #eadfd8; border-radius: 16px; }
.birthday-list-table > a { display: grid; grid-template-columns: 58px minmax(0,1fr) minmax(120px,auto); gap: 13px; align-items: center; padding: 11px 13px; border-top: 1px solid #f0e7e2; color: inherit; text-decoration: none; }
.birthday-list-table > a:first-child { border-top: 0; }
.birthday-list-table > a:hover { background: #fffaf6; }
.birthday-list-table time { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f8e2d4; color: #9b554d; }
.birthday-list-table time strong { font-size: 1.05rem; line-height: 1; }
.birthday-list-table time span { font-size: .58rem; font-weight: 900; text-transform: uppercase; }
.birthday-list-table > a > span { min-width: 0; }
.birthday-list-table > a > span strong, .birthday-list-table > a > span small { display: block; }
.birthday-list-table > a > span strong { color: #493a35; font-size: .85rem; }
.birthday-list-table > a > span small { margin-top: 3px; color: #796e67; font-size: .68rem; }
.birthday-list-table em { color: #8e6b59; font-size: .67rem; font-style: normal; font-weight: 850; text-align: right; }
.birthday-print-sheet { display: none; }

@media (max-width: 980px) {
  .birthday-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .birthday-filter .wide { grid-column: 1 / -1; }
  .birthday-calendar-day { min-height: 125px; }
  .birthday-calendar-names a { grid-template-columns: 1fr; }
  .birthday-calendar-names a small { display: none; }
}
@media (max-width: 700px) {
  .daily-birthday-heading { grid-template-columns: 48px minmax(0,1fr); }
  .daily-birthday-count { grid-column: 2; justify-self: start; }
  .daily-birthday-actions { align-items: flex-start; flex-direction: column; }
  .daily-birthday-person { grid-template-columns: 42px minmax(0,1fr); }
  .daily-birthday-person em { grid-column: 2; text-align: left; }
  .birthday-quality-note { align-items: flex-start; flex-direction: column; }
  .birthday-quality-note small { text-align: left; }
  .birthday-heading-actions { min-width: 0; }
  .birthday-filter { grid-template-columns: 1fr; }
  .birthday-filter .wide { grid-column: auto; }
  .birthday-month-toolbar { grid-template-columns: 1fr 1fr; }
  .birthday-month-toolbar > div { grid-column: 1 / -1; grid-row: 1; }
  .birthday-month-toolbar > a { grid-row: 2; }
  .birthday-weekdays { display: none; }
  .birthday-calendar-grid { grid-template-columns: 1fr; }
  .birthday-calendar-day, .birthday-calendar-day:nth-child(7n+1) { min-height: 0; border-left: 0; }
  .birthday-calendar-day.is-outside { display: none; }
  .birthday-calendar-day header { justify-content: flex-start; gap: 8px; }
  .birthday-calendar-day header > strong { width: auto; height: auto; }
  .birthday-calendar-day.is-today header > strong { width: 27px; height: 27px; }
  .birthday-list-table > a { grid-template-columns: 52px minmax(0,1fr); }
  .birthday-list-table em { grid-column: 2; text-align: left; }
}

@media print {
  body * { visibility: hidden !important; }
  .birthday-print-sheet, .birthday-print-sheet * { visibility: visible !important; }
  .birthday-print-sheet { display: block !important; position: absolute; inset: 0; width: 100%; padding: 18mm 16mm; background: #fff; color: #111; font-family: Georgia, 'Times New Roman', serif; }
  .birthday-print-sheet header { padding-bottom: 8mm; border-bottom: 1px solid #777; text-align: center; }
  .birthday-print-sheet header span { font-size: 10pt; letter-spacing: .05em; text-transform: uppercase; }
  .birthday-print-sheet header h1 { margin: 4mm 0 2mm; font-size: 22pt; }
  .birthday-print-sheet header p { margin: 0; font-size: 10.5pt; font-style: italic; }
  .birthday-print-sheet > div { display: grid; grid-template-columns: 34mm 1fr; gap: 2mm 5mm; padding: 3.3mm 0; border-bottom: 1px solid #ddd; break-inside: avoid; }
  .birthday-print-sheet time { grid-row: 1 / span 2; font-weight: 700; }
  .birthday-print-sheet strong { font-size: 11pt; }
  .birthday-print-sheet div span { font-size: 8.5pt; color: #444; }
  .birthday-print-sheet footer { margin-top: 8mm; padding-top: 3mm; border-top: 1px solid #777; font-size: 8pt; text-align: center; }
  @page { size: A4 portrait; margin: 0; }
}

/* v2.2.1: make the Under Generalate dashboard visible on the Congregation home page */
.under-generalate-home-feature{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.2rem;padding:1.15rem 1.25rem;border:1px solid #d7dfef;border-radius:22px;background:linear-gradient(135deg,#f3f7ff 0%,#fffdf9 54%,#f6effb 100%);box-shadow:0 12px 32px rgba(63,78,116,.08)}
.under-generalate-home-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:#e5ebf8;color:#4c628f;font-size:1.45rem}
.under-generalate-home-feature h2{margin:.15rem 0 .3rem;color:#34486d;font-family:Georgia,serif}
.under-generalate-home-feature p{margin:0;color:#6a7488;line-height:1.5}
.under-generalate-home-feature p strong{color:#43577e}
.under-generalate-home-feature .button{white-space:nowrap}
.under-generalate-button-primary{background:linear-gradient(135deg,#516b9f,#7586b5);border-color:#516b9f;color:#fff;box-shadow:0 9px 22px rgba(67,87,132,.2)}
.under-generalate-button-primary:hover{background:linear-gradient(135deg,#405887,#6276a7);color:#fff}
@media(max-width:760px){.under-generalate-home-feature{grid-template-columns:46px 1fr}.under-generalate-home-feature-icon{width:46px;height:46px;border-radius:15px}.under-generalate-home-feature .button{grid-column:1/-1;width:100%}}

/* v2.2.2 — Feast Day beside Birthday */
.today-celebration-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
  margin: 18px 0;
}
.today-celebration-pair .daily-birthday-card { margin: 0; height: 100%; }
.daily-feast-card {
  height: 100%;
  padding: 23px 26px 20px;
  border: 1px solid #d9e5d8;
  border-radius: 22px;
  background: linear-gradient(135deg, #fbfff9 0%, #eef8ee 48%, #fffaf0 100%);
  box-shadow: 0 14px 34px rgba(61, 105, 73, .08);
}
.daily-feast-heading {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
}
.daily-feast-symbol {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: linear-gradient(145deg, #689874, #517e67);
  color: #fff;
  font-size: 1.35rem;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.15);
}
.daily-feast-heading h2 { margin: 3px 0 2px; color: #344c3b; }
.daily-feast-date { margin: 0; color: #64776a; font-weight: 750; }
.daily-feast-count {
  padding: 8px 13px;
  border: 1px solid #cee0cf;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #48775a;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.daily-feast-list {
  display: grid;
  gap: 10px;
  margin-top: 17px;
}
.daily-feast-person {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid #dbe8db;
  border-radius: 15px;
  background: rgba(255,255,255,.88);
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.daily-feast-person:hover { transform: translateY(-2px); border-color: #afcdb4; box-shadow: 0 9px 20px rgba(68,108,78,.09); }
.daily-feast-person strong, .daily-feast-person small { display: block; }
.daily-feast-person strong { color: #34483a; font-size: .88rem; }
.daily-feast-person small { margin-top: 3px; color: #68776d; font-size: .68rem; line-height: 1.35; }
.daily-feast-person em { color: #4f7d5e; font-size: .68rem; font-style: normal; font-weight: 900; text-align: right; }
.daily-feast-initial {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #dcecdf;
  color: #467257;
  font-weight: 950;
}
.daily-feast-blessing { margin-top: 13px; padding: 10px 13px; border-radius: 12px; background: rgba(255,255,255,.65); color: #526d5b; font-family: Georgia, serif; font-size: .86rem; font-style: italic; text-align: center; }
.daily-feast-empty { display: grid; gap: 4px; margin-top: 16px; padding: 15px; border: 1px dashed #bfd6c2; border-radius: 15px; background: rgba(255,255,255,.6); color: #607268; }
.daily-feast-empty strong { color: #3f5e49; font-size: .85rem; }
.daily-feast-empty span { font-size: .73rem; line-height: 1.45; }
.daily-feast-actions { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: 15px; padding-top: 13px; border-top: 1px solid rgba(104,145,113,.18); color: #617067; font-size: .73rem; }
.daily-feast-actions a { color: #3f7252; font-weight: 900; text-decoration: none; }
.daily-feast-actions a:hover { text-decoration: underline; }

.feast-theme .button-primary { background: linear-gradient(135deg, #557f62, #709c78); border-color: #557f62; }
.feast-theme .birthday-quality-note { border-color: #d7e5d8; background: linear-gradient(135deg, #f5fbf4, #fffdf7); }
.feast-theme .birthday-quality-note span { background: #dcecdf; color: #3f7252; }
.feast-theme .birthday-date-pill { border-color: #cfe0d1; background: #f4faf3; color: #477455; }
.feast-theme .birthday-person-initial,
.feast-theme .birthday-list-table time,
.feast-theme .birthday-empty-gentle > span { background: #dfeee1; color: #477455; }
.feast-theme .birthday-person-card em,
.feast-theme .birthday-month-toolbar > a { color: #477455; }
.feast-theme .birthday-person-card,
.feast-theme .birthday-upcoming-day,
.feast-theme .birthday-calendar-shell,
.feast-theme .birthday-list-table { border-color: #dbe6dc; }
.feast-theme .birthday-weekdays { background: #5f8a6a; }
.feast-theme .birthday-calendar-day.is-today { background: #f1faef; box-shadow: inset 0 0 0 2px #77a57f; }
.feast-theme .birthday-calendar-day.is-today header > strong { background: #5f8a6a; }
.feast-theme .birthday-calendar-day header > span { background: #dfeddf; color: #477455; }
.feast-theme .birthday-calendar-names a { background: #f1f8f0; color: #3d5d46; }
.feast-theme .birthday-calendar-names a:hover { background: #e3f0e2; }
.feast-theme .birthday-calendar-names a small { color: #69806e; }
.feast-theme .birthday-list-table > a:hover,
.feast-theme .birthday-upcoming-people a:hover { background: #f7fbf5; }

@media (max-width: 1050px) {
  .today-celebration-pair { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .daily-feast-heading { grid-template-columns: 48px minmax(0,1fr); }
  .daily-feast-count { grid-column: 2; justify-self: start; }
  .daily-feast-actions { align-items: flex-start; flex-direction: column; }
  .daily-feast-person { grid-template-columns: 42px minmax(0,1fr); }
  .daily-feast-person em { grid-column: 2; text-align: left; }
}

/* v2.3.0 — Congregation dashboard beautification */
.dashboard-refresh {
  --dash-ink: #25384d;
  --dash-muted: #6f7e8d;
  --dash-line: #dfe8ef;
  --dash-ivory: #fffdf9;
  --dash-blue: #315f91;
  --dash-blue-dark: #203f66;
  --dash-rose: #b66b72;
  --dash-sage: #648773;
  --dash-gold: #b58b3e;
  --dash-lavender: #766994;
  display: grid;
  gap: 24px;
}

.dashboard-refresh .dashboard-welcome-v230 {
  min-height: 410px;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: clamp(28px, 5vw, 72px);
  padding: clamp(30px, 5vw, 58px);
  border-radius: 32px;
  background:
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.18), transparent 22%),
    radial-gradient(circle at 6% 102%, rgba(211,230,247,.22), transparent 34%),
    linear-gradient(135deg, #193f6c 0%, #285e91 58%, #4f88b5 100%);
  box-shadow: 0 25px 70px rgba(20, 64, 105, .20);
}
.dashboard-welcome-v230::after {
  content: "";
  position: absolute;
  inset: auto -95px -145px auto;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.022);
}
.dashboard-welcome-copy { position: relative; z-index: 2; }
.dashboard-welcome-v230 h1 {
  max-width: 760px;
  margin: 10px 0 16px;
  font-size: clamp(2.25rem, 4.3vw, 4.25rem);
  line-height: 1.02;
  text-wrap: balance;
}
.dashboard-welcome-v230 p {
  max-width: 720px;
  font-size: clamp(.96rem, 1.3vw, 1.08rem);
  line-height: 1.7;
}
.dashboard-search-v230 {
  max-width: 760px;
  margin-top: 28px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 45px rgba(7,38,71,.18);
}
.dashboard-search-v230 input { min-height: 48px; }
.dashboard-search-v230 .button { min-width: 155px; border-radius: 13px; }
.dashboard-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}
.dashboard-hero-actions a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  color: rgba(255,255,255,.92);
  font-size: .75rem;
  font-weight: 850;
  transition: background .18s ease, transform .18s ease;
}
.dashboard-hero-actions a:hover { transform: translateY(-1px); background: rgba(255,255,255,.17); }
.dashboard-hero-actions a span {
  padding: 2px 7px;
  border-radius: 999px;
  background: #f3d598;
  color: #684b18;
  font-size: .63rem;
}
.dashboard-hero-identity {
  position: relative;
  z-index: 2;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 28px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
  text-align: center;
}
.dashboard-emblem-halo {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  margin-bottom: 15px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: rgba(255,255,255,.11);
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.035), 0 14px 34px rgba(9,36,67,.16);
}
.dashboard-refresh .dashboard-emblem {
  width: 82px;
  height: 104px;
  filter: drop-shadow(0 10px 16px rgba(4,28,54,.23));
}
.dashboard-today-label {
  color: #f3dca7;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.dashboard-today-date {
  margin-top: 5px;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 1.15rem;
  font-weight: 600;
}
.dashboard-hero-mini-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 8px;
  width: 100%;
  margin-top: 21px;
}
.dashboard-hero-mini-metrics a {
  display: grid;
  gap: 2px;
  padding: 11px 8px;
  border-radius: 15px;
  background: rgba(255,255,255,.11);
  color: #fff;
}
.dashboard-hero-mini-metrics a:hover { background: rgba(255,255,255,.18); }
.dashboard-hero-mini-metrics strong { font-family: Georgia, serif; font-size: 1.25rem; }
.dashboard-hero-mini-metrics span { color: rgba(255,255,255,.72); font-size: .62rem; font-weight: 800; }

.dashboard-section-block {
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--dash-line);
  border-radius: 27px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 12px 36px rgba(32,68,101,.055);
}
.dashboard-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
  margin-bottom: 18px;
}
.dashboard-section-heading h2 {
  margin: 4px 0 5px;
  color: var(--dash-ink);
  font-family: Georgia, serif;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  font-weight: 600;
}
.dashboard-section-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--dash-muted);
  font-size: .84rem;
  line-height: 1.55;
}
.dashboard-section-heading-with-date { align-items: center; }
.dashboard-section-date {
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid #e5d6b6;
  border-radius: 999px;
  background: #fff9ea;
  color: #8a6727;
  font-size: .74rem;
  font-weight: 900;
}

.dashboard-life-block { background: linear-gradient(145deg, #fff, #f6f9fd); }
.dashboard-refresh .dashboard-life-grid-v230 { margin: 0; gap: 13px; }
.dashboard-refresh .dashboard-life-grid-v230 > a {
  position: relative;
  min-height: 245px;
  padding: 21px;
  overflow: hidden;
  border-color: #e0e8ef;
  border-radius: 20px;
  background: #fff;
  box-shadow: none;
}
.dashboard-refresh .dashboard-life-grid-v230 > a::after {
  content: "";
  position: absolute;
  right: -32px;
  bottom: -42px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(72,115,155,.045);
}
.dashboard-refresh .dashboard-life-grid-v230 > a:hover {
  transform: translateY(-4px);
  border-color: #b8ccdc;
  box-shadow: 0 16px 30px rgba(39,73,105,.08);
}
.dashboard-life-icon {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  margin-bottom: 16px;
  border-radius: 14px;
  font-size: 1.05rem;
}
.dashboard-life-icon.tone-blue { background: #e6f0fa; color: #3c6c99; }
.dashboard-life-icon.tone-sage { background: #e7f0ea; color: #547967; }
.dashboard-life-icon.tone-gold { background: #f8efd9; color: #9a722c; }
.dashboard-life-icon.tone-rose { background: #f7e8ea; color: #9c5962; }
.dashboard-refresh .dashboard-life-grid-v230 > a > strong { font-size: 1.75rem; }
.dashboard-refresh .dashboard-life-grid-v230 h2 { font-family: Georgia, serif; font-size: 1.05rem; }
.dashboard-refresh .dashboard-life-grid-v230 p { min-height: 58px; }
.dashboard-refresh .dashboard-life-grid-v230 em {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 15px;
  color: #41698f;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.dashboard-today-block {
  background: linear-gradient(145deg, #fffefa, #f9fbfd);
}
.dashboard-refresh .today-celebration-pair { margin: 0; gap: 14px; }
.dashboard-refresh .daily-birthday-card,
.dashboard-refresh .daily-feast-card {
  border-radius: 21px;
  box-shadow: none;
}
.dashboard-refresh .daily-birthday-card { border-color: #edd9cd; }
.dashboard-refresh .daily-feast-card { border-color: #d6e4d8; }
.dashboard-refresh .daily-remembrance-card {
  margin: 14px 0 0;
  border-radius: 21px;
  box-shadow: none;
}
.dashboard-refresh .daily-birthday-symbol,
.dashboard-refresh .daily-feast-symbol,
.dashboard-refresh .daily-remembrance-symbol {
  width: 48px;
  height: 48px;
  border-radius: 15px;
}
.dashboard-refresh .daily-birthday-heading,
.dashboard-refresh .daily-feast-heading,
.dashboard-refresh .daily-remembrance-heading {
  grid-template-columns: 50px minmax(0,1fr) auto;
  gap: 12px;
}

/* v2.6.0 — First Profession anniversary beside Birthday and Feast Day */
.dashboard-refresh .today-celebration-trio {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.daily-profession-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 23px 26px 20px;
  border: 1px solid #d9dcef;
  border-radius: 22px;
  background: linear-gradient(135deg, #fcfbff 0%, #f0f1fb 50%, #fffaf1 100%);
  color: #3f4563;
}
.daily-profession-heading {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.daily-profession-symbol {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  background: linear-gradient(145deg, #7379aa, #555d91);
  color: #fff;
  font-size: 1.15rem;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.14);
}
.daily-profession-heading h2 { margin: 3px 0 2px; color: #3f4563; }
.daily-profession-date { margin: 0; color: #707590; font-weight: 750; }
.daily-profession-count {
  padding: 8px 13px;
  border: 1px solid #d5d8e9;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: #5b638f;
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}
.daily-profession-list { display: grid; gap: 10px; margin-top: 17px; }
.daily-profession-person {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid #dde0ef;
  border-radius: 15px;
  background: rgba(255,255,255,.88);
}
.daily-profession-person strong,
.daily-profession-person small { display: block; }
.daily-profession-person strong { color: #414762; font-size: .88rem; }
.daily-profession-person small { margin-top: 3px; color: #73788d; font-size: .68rem; line-height: 1.35; }
.daily-profession-person em { color: #5b638f; font-size: .68rem; font-style: normal; font-weight: 900; text-align: right; }
.daily-profession-initial {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #e4e5f2;
  color: #59618c;
  font-weight: 950;
}
.daily-profession-blessing {
  margin-top: 13px;
  padding: 10px 13px;
  border-radius: 12px;
  background: rgba(255,255,255,.65);
  color: #5d627d;
  font-family: Georgia, serif;
  font-size: .86rem;
  font-style: italic;
  text-align: center;
}
.daily-profession-empty {
  display: grid;
  gap: 4px;
  margin-top: 16px;
  padding: 15px;
  border: 1px dashed #c5c8dd;
  border-radius: 15px;
  background: rgba(255,255,255,.6);
  color: #6c7188;
}
.daily-profession-empty strong { color: #4c526e; font-size: .85rem; }
.daily-profession-empty span { font-size: .73rem; line-height: 1.45; }
.daily-profession-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid rgba(100,106,151,.18);
  color: #6d7287;
  font-size: .73rem;
}
.daily-profession-actions a { color: #555e90; font-weight: 900; text-decoration: none; }
.daily-profession-actions a:hover { text-decoration: underline; }

@media (max-width: 1320px) {
  .dashboard-refresh .today-celebration-trio { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-refresh .today-celebration-trio .daily-profession-card { grid-column: 1 / -1; }
}
@media (max-width: 1050px) {
  .dashboard-refresh .today-celebration-trio { grid-template-columns: 1fr; }
  .dashboard-refresh .today-celebration-trio .daily-profession-card { grid-column: auto; }
}
@media (max-width: 700px) {
  .daily-profession-heading { grid-template-columns: 48px minmax(0,1fr); }
  .daily-profession-count { grid-column: 2; justify-self: start; }
  .daily-profession-actions { align-items: flex-start; flex-direction: column; }
  .daily-profession-person { grid-template-columns: 42px minmax(0,1fr); }
  .daily-profession-person em { grid-column: 2; text-align: left; }
}

.dashboard-structure-grid-v230 { margin: 0; gap: 13px; }
.dashboard-refresh .dashboard-structure-grid-v230 .structure-unit-card {
  position: relative;
  min-height: 230px;
  padding: 22px;
  border-radius: 20px;
  box-shadow: none;
}
.dashboard-refresh .dashboard-structure-grid-v230 .structure-unit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(37,73,103,.08);
}
.dashboard-structure-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin-bottom: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  color: #496b89;
  font-size: 1.05rem;
  box-shadow: inset 0 0 0 1px rgba(75,108,135,.09);
}
.dashboard-refresh .dashboard-structure-grid-v230 .structure-unit-card > strong { font-size: 1.85rem; }
.dashboard-refresh .dashboard-structure-grid-v230 .structure-unit-card em {
  display: block;
  margin-top: 16px;
  color: #456c8d;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.dashboard-units-block { background: linear-gradient(145deg, #fbfcfe, #fffdfa); }
.dashboard-unit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.dashboard-unit-card {
  --unit-accent: #5d7898;
  --unit-soft: #edf3f8;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 255px;
  padding: 23px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--unit-accent) 25%, #dfe6ed);
  border-radius: 21px;
  background: linear-gradient(145deg, #fff 0%, var(--unit-soft) 100%);
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dashboard-unit-card::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -52px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--unit-accent) 9%, transparent);
}
.dashboard-unit-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--unit-accent) 50%, #dfe6ed);
  box-shadow: 0 17px 34px color-mix(in srgb, var(--unit-accent) 12%, transparent);
}
.dashboard-unit-card.unit-generalate { --unit-accent: #65739d; --unit-soft: #f0f2fa; }
.dashboard-unit-card.unit-lourdes { --unit-accent: #80699a; --unit-soft: #f6f0fa; }
.dashboard-unit-card.unit-stjoseph { --unit-accent: #a16168; --unit-soft: #fbf1f0; }
.dashboard-unit-card.unit-infant { --unit-accent: #4f80a4; --unit-soft: #eff7fb; }
.dashboard-unit-card.unit-assisi { --unit-accent: #4f8575; --unit-soft: #eff8f4; }
.dashboard-unit-card.unit-dupuis { --unit-accent: #8b753f; --unit-soft: #faf6e8; }
.dashboard-unit-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 16px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--unit-accent) 16%, #fff);
  color: var(--unit-accent);
  font-size: 1.12rem;
}
.dashboard-unit-card .eyebrow { color: var(--unit-accent); }
.dashboard-unit-card h3 {
  position: relative;
  z-index: 1;
  margin: 5px 0 8px;
  color: color-mix(in srgb, var(--unit-accent) 72%, #243244);
  font-family: Georgia, serif;
  font-size: 1.22rem;
  font-weight: 600;
}
.dashboard-unit-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #6d7882;
  font-size: .77rem;
  line-height: 1.55;
}
.dashboard-unit-card em {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: auto;
  padding-top: 18px;
  color: var(--unit-accent);
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}
.dashboard-unit-metrics {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}
.dashboard-unit-metrics span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  color: #667080;
  font-size: .61rem;
  font-weight: 800;
}
.dashboard-unit-metrics strong { color: var(--unit-accent); }

.dashboard-refresh .dashboard-summary-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin: 0;
}
.dashboard-refresh .dashboard-summary-grid .stat-card {
  position: relative;
  min-height: 126px;
  padding: 18px 20px;
  border-color: #dfe7ee;
  border-radius: 18px;
  box-shadow: none;
}
.dashboard-refresh .dashboard-summary-grid .stat-card:hover {
  transform: translateY(-3px);
  border-color: #b9cbd9;
  box-shadow: 0 13px 26px rgba(34,70,102,.07);
}
.dashboard-refresh .dashboard-summary-grid .stat-card strong { font-size: 1.9rem; }
.dashboard-refresh .dashboard-summary-grid .stat-card::after {
  content: "";
  position: absolute;
  right: 17px;
  top: 17px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d5a94f;
  box-shadow: 0 0 0 5px #fbf3df;
}

.dashboard-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  gap: 16px;
  align-items: start;
}
.dashboard-refresh .dashboard-community-panel,
.dashboard-refresh .dashboard-quick-hub {
  padding: 24px;
  border-radius: 24px;
  box-shadow: 0 10px 32px rgba(27,67,101,.055);
}
.dashboard-refresh .panel-heading p {
  margin: 5px 0 0;
  color: var(--dash-muted);
  font-size: .76rem;
}
.dashboard-moment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
.dashboard-moment-card {
  min-height: 190px;
  padding: 16px;
  border: 1px solid #e2e9ee;
  border-radius: 18px;
  background: #f9fbfc;
}
.dashboard-moment-card.birthday-moment { background: linear-gradient(145deg, #fffaf5, #fff); border-color: #eeddd2; }
.dashboard-moment-card.anniversary-moment { background: linear-gradient(145deg, #f4f7fb, #fff); border-color: #dce5ef; }
.dashboard-moment-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
}
.dashboard-moment-title > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: #e7eff7;
  color: #456d91;
  font-weight: 950;
}
.birthday-moment .dashboard-moment-title > span { background: #f6e4d9; color: #a35e54; }
.dashboard-moment-title h3 { margin: 0; color: #415267; font-size: .84rem; }
.dashboard-moment-empty { margin: 20px 0 0; color: #7a8792; font-size: .75rem; line-height: 1.5; }
.dashboard-refresh .dashboard-moment-card .mini-person { border-top: 1px solid rgba(100,120,140,.09); }
.dashboard-refresh .dashboard-moment-card .mini-person:first-of-type { border-top: 0; }

.dashboard-quick-hub { display: grid; gap: 17px; }
.dashboard-quick-hub .panel-heading { margin-bottom: 0; }
.dashboard-quick-group {
  padding-top: 15px;
  border-top: 1px solid #e8edf1;
}
.dashboard-quick-group h3 {
  margin: 0 0 9px;
  color: #718092;
  font-size: .67rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.dashboard-quick-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 7px;
}
.dashboard-quick-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #e3e9ee;
  border-radius: 12px;
  background: #fbfcfd;
  color: #4a5b6d;
  font-size: .69rem;
  font-weight: 800;
}
.dashboard-quick-links a:hover { border-color: #b9ccdc; background: #f4f8fb; color: #315e87; }
.dashboard-quick-links a span { flex: 0 0 auto; color: #47749b; }
.dashboard-quick-links a strong {
  margin-left: auto;
  padding: 2px 6px;
  border-radius: 999px;
  background: #f7ead1;
  color: #865f1d;
  font-size: .58rem;
}

.dashboard-motto-strip {
  position: relative;
  margin: 0;
  padding: 25px 100px 25px 26px;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, #214b78, #376f9d);
  box-shadow: 0 15px 36px rgba(25,66,103,.14);
}
.dashboard-motto-strip img {
  position: absolute;
  right: 25px;
  width: 50px;
  height: 66px;
  object-fit: contain;
  opacity: .75;
}
.dashboard-motto-strip strong { font-family: Georgia, serif; font-size: 1.02rem; font-weight: 600; }
.dashboard-motto-strip .quote-mark { color: #edd39a; }

@media (max-width: 1180px) {
  .dashboard-refresh .dashboard-welcome-v230 { grid-template-columns: minmax(0,1fr) 300px; }
  .dashboard-unit-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-bottom-grid { grid-template-columns: 1fr; }
  .dashboard-quick-links { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .dashboard-refresh .dashboard-welcome-v230 { grid-template-columns: 1fr; min-height: 0; }
  .dashboard-hero-identity { min-height: 250px; }
  .dashboard-refresh .dashboard-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-moment-grid { grid-template-columns: 1fr; }
  .dashboard-quick-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .dashboard-refresh { gap: 16px; }
  .dashboard-refresh .dashboard-welcome-v230 { padding: 26px 21px; border-radius: 25px; }
  .dashboard-welcome-v230 h1 { font-size: 2.25rem; }
  .dashboard-search-v230 { display: grid; }
  .dashboard-search-v230 .button { width: 100%; }
  .dashboard-hero-actions { display: grid; grid-template-columns: 1fr; }
  .dashboard-hero-actions a { justify-content: space-between; }
  .dashboard-hero-identity { padding: 20px; border-radius: 22px; }
  .dashboard-emblem-halo { width: 108px; height: 108px; }
  .dashboard-refresh .dashboard-emblem { width: 70px; height: 88px; }
  .dashboard-section-block { padding: 19px; border-radius: 22px; }
  .dashboard-section-heading,
  .dashboard-section-heading-with-date { align-items: flex-start; flex-direction: column; }
  .dashboard-unit-grid,
  .dashboard-refresh .dashboard-summary-grid { grid-template-columns: 1fr; }
  .dashboard-unit-card { min-height: 225px; }
  .dashboard-refresh .daily-birthday-heading,
  .dashboard-refresh .daily-feast-heading,
  .dashboard-refresh .daily-remembrance-heading { grid-template-columns: 46px minmax(0,1fr); }
  .dashboard-refresh .daily-birthday-count,
  .dashboard-refresh .daily-feast-count,
  .dashboard-refresh .daily-remembrance-count { grid-column: 2; justify-self: start; }
  .dashboard-refresh .dashboard-community-panel,
  .dashboard-refresh .dashboard-quick-hub { padding: 19px; border-radius: 21px; }
  .dashboard-quick-links { grid-template-columns: 1fr; }
  .dashboard-motto-strip { padding: 23px 70px 23px 21px; }
  .dashboard-motto-strip img { right: 17px; width: 42px; height: 56px; }
}

/* v2.3.0 finishing balance for the lower dashboard */
@media (min-width: 901px) {
  .dashboard-bottom-grid { grid-template-columns: 1fr; }
  .dashboard-quick-hub {
    grid-template-columns: repeat(3, minmax(0,1fr));
    align-items: start;
  }
  .dashboard-quick-hub .panel-heading { grid-column: 1 / -1; }
  .dashboard-quick-group {
    min-height: 100%;
    padding: 0 0 0 16px;
    border-top: 0;
    border-left: 1px solid #e8edf1;
  }
  .dashboard-quick-group:nth-of-type(2) { padding-left: 0; border-left: 0; }
  .dashboard-quick-links { grid-template-columns: 1fr; }
}

/* v2.3.1 — Shared Generalate, Province and Region dashboard beautification */
.standard-unit-dashboard-v231 {
  --unit-accent: #557bb7;
  --unit-accent-dark: #355f96;
  --unit-soft: #edf4fc;
  --unit-soft-strong: #dfeefa;
  --unit-ink: #203854;
  --unit-shadow: 0 18px 48px rgba(33, 57, 83, .08);
  position: relative;
  isolation: isolate;
}
.standard-unit-dashboard-v231.tone-lavender { --unit-accent:#806eb6; --unit-accent-dark:#665397; --unit-soft:#f4f0fa; --unit-soft-strong:#e9e1f4; }
.standard-unit-dashboard-v231.tone-rose { --unit-accent:#aa6677; --unit-accent-dark:#884d5d; --unit-soft:#fbf0f3; --unit-soft-strong:#f4dfe5; }
.standard-unit-dashboard-v231.tone-gold { --unit-accent:#a57b2e; --unit-accent-dark:#805b18; --unit-soft:#fff8e8; --unit-soft-strong:#f8eac8; }
.standard-unit-dashboard-v231.tone-mint { --unit-accent:#4f8b72; --unit-accent-dark:#39725b; --unit-soft:#eef8f4; --unit-soft-strong:#dcefe7; }
.standard-unit-dashboard-v231.tone-teal { --unit-accent:#397f83; --unit-accent-dark:#27656a; --unit-soft:#edf7f7; --unit-soft-strong:#d9ecec; }

.standard-unit-hero-v231 {
  position: relative;
  grid-template-columns: minmax(0, 1.32fr) minmax(310px, .68fr);
  gap: clamp(1.1rem, 2.4vw, 2rem);
  min-height: 310px;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border: 1px solid color-mix(in srgb, var(--unit-accent) 25%, #dce5ee);
  border-radius: 28px;
  background:
    radial-gradient(circle at 5% 5%, color-mix(in srgb, var(--unit-accent) 10%, transparent), transparent 27%),
    linear-gradient(135deg, var(--unit-soft) 0%, #fff 58%, color-mix(in srgb, var(--unit-soft) 72%, #fff) 100%);
  box-shadow: var(--unit-shadow);
  overflow: hidden;
}
.standard-unit-hero-v231::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--unit-accent), color-mix(in srgb, var(--unit-accent) 35%, #fff));
}
.standard-unit-hero-v231::after {
  content: "FIHM";
  position: absolute;
  right: 31%;
  bottom: -2.2rem;
  color: color-mix(in srgb, var(--unit-accent) 5%, transparent);
  font-family: Georgia, serif;
  font-size: clamp(5rem, 12vw, 10rem);
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  pointer-events: none;
}
.standard-unit-hero-glow {
  position: absolute;
  width: 270px;
  height: 270px;
  right: -105px;
  top: -120px;
  border: 1px solid color-mix(in srgb, var(--unit-accent) 14%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 42px color-mix(in srgb, var(--unit-accent) 4%, transparent), 0 0 0 84px color-mix(in srgb, var(--unit-accent) 3%, transparent);
  pointer-events: none;
}
.standard-unit-hero-copy { position: relative; z-index: 2; align-self: center; }
.standard-unit-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .52rem; margin-bottom: .8rem; color: var(--unit-accent-dark); font-size: .7rem; font-weight: 900; letter-spacing: .085em; text-transform: uppercase; }
.standard-unit-kicker-symbol { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--unit-accent); color: #fff; font-size: .86rem; box-shadow: 0 7px 18px color-mix(in srgb, var(--unit-accent) 22%, transparent); }
.standard-unit-kicker i { padding: .27rem .48rem; border: 1px solid color-mix(in srgb, var(--unit-accent) 22%, #dfe7ef); border-radius: 999px; background: rgba(255,255,255,.68); color: #718095; font-size: .58rem; font-style: normal; letter-spacing: .04em; }
.standard-unit-hero-v231 h1 { max-width: 820px; margin: 0 0 .65rem; color: var(--unit-ink); font-family: Georgia, serif; font-size: clamp(2.05rem, 4vw, 3.2rem); font-weight: 600; line-height: 1.07; letter-spacing: -.025em; }
.standard-unit-hero-v231 p { max-width: 820px; color: #61748a; font-size: clamp(.88rem, 1.15vw, 1rem); line-height: 1.72; }
.standard-unit-actions-v231 { gap: .58rem; margin-top: 1.25rem; }
.standard-unit-actions-v231 .button { min-height: 42px; padding: .66rem .92rem; border-radius: 12px; font-size: .75rem; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.standard-unit-actions-v231 .button span { font-size: .9rem; }
.standard-unit-actions-v231 .button:hover { transform: translateY(-2px); }
.standard-unit-primary-action { background: var(--unit-accent); color: #fff; box-shadow: 0 9px 20px color-mix(in srgb, var(--unit-accent) 24%, transparent); }
.standard-unit-primary-action:hover { background: var(--unit-accent-dark); }
.standard-unit-secondary-action { border: 1px solid color-mix(in srgb, var(--unit-accent) 18%, #dce5ed); background: rgba(255,255,255,.82); color: var(--unit-accent-dark); }
.standard-unit-secondary-action:hover { border-color: color-mix(in srgb, var(--unit-accent) 42%, #dce5ed); background: #fff; box-shadow: 0 8px 18px rgba(35,57,80,.06); }

.standard-unit-identity-card {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: .85rem;
  align-self: stretch;
  align-content: center;
  padding: 1.15rem;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 22px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 18px 44px color-mix(in srgb, var(--unit-accent) 10%, transparent);
  backdrop-filter: blur(14px);
}
.standard-unit-seal { position: absolute; top: .85rem; right: .85rem; display: grid; place-items: center; min-width: 50px; height: 50px; padding: .25rem; border: 1px solid color-mix(in srgb, var(--unit-accent) 20%, #dfe7ed); border-radius: 15px; background: var(--unit-soft); color: var(--unit-accent); }
.standard-unit-seal span { font-size: 1rem; line-height: 1; }
.standard-unit-seal small { font-size: .46rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.standard-unit-identity-card > img { grid-row: 1 / 3; align-self: center; width: 58px; height: 82px; object-fit: contain; filter: drop-shadow(0 7px 10px rgba(33,56,79,.12)); }
.standard-unit-identity-title { min-width: 0; padding-right: 3.4rem; }
.standard-unit-identity-title small, .standard-unit-identity-title strong { display: block; }
.standard-unit-identity-title small { color: #8a96a4; font-size: .58rem; font-weight: 800; line-height: 1.4; letter-spacing: .03em; text-transform: uppercase; }
.standard-unit-identity-title strong { margin-top: .24rem; color: #2c415b; font-family: Georgia, serif; font-size: 1.02rem; line-height: 1.25; }
.standard-unit-identity-card dl { grid-column: 1 / -1; display: grid; gap: .45rem; margin: .35rem 0 0; }
.standard-unit-identity-card dl div { display: grid; grid-template-columns: minmax(100px,.42fr) minmax(0,.58fr); gap: .65rem; padding: .55rem .62rem; border: 1px solid #edf0f4; border-radius: 11px; background: rgba(250,252,254,.82); }
.standard-unit-identity-card dt { color: #8c97a4; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.standard-unit-identity-card dd { margin: 0; color: #43536a; font-size: .66rem; font-weight: 800; text-align: right; overflow-wrap: anywhere; }
.standard-unit-trust-line { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: .42rem; margin-top: .12rem; padding: .5rem .58rem; border-radius: 10px; background: var(--unit-soft); color: var(--unit-accent-dark); font-size: .63rem; font-weight: 850; text-align: center; }
.standard-unit-trust-line span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--unit-accent); color: #fff; font-size: .62rem; }

.standard-unit-metrics-v231 { gap: .85rem; margin: 1.05rem 0; }
.standard-unit-metrics-v231 a { position: relative; display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: .72rem; align-items: center; min-height: 112px; padding: 1rem; border: 1px solid #dfe6ed; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(36,57,78,.045); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.standard-unit-metrics-v231 a::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg, var(--unit-accent), color-mix(in srgb, var(--unit-accent) 18%, transparent)); transform: scaleX(.24); transform-origin: left; transition: transform .22s ease; }
.standard-unit-metrics-v231 a:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--unit-accent) 38%, #dce4eb); background: #fff; box-shadow: 0 16px 34px color-mix(in srgb, var(--unit-accent) 10%, transparent); }
.standard-unit-metrics-v231 a:hover::after { transform: scaleX(1); }
.standard-unit-metric-icon { display: grid !important; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--unit-soft); color: var(--unit-accent); font-size: 1rem !important; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--unit-accent) 10%, transparent); }
.standard-unit-metrics-v231 a > div > span { color: #738196; font-size: .65rem; letter-spacing: .025em; text-transform: uppercase; }
.standard-unit-metrics-v231 a > div > strong { margin: .1rem 0; color: var(--unit-ink); font-family: Georgia, serif; font-size: 1.82rem; font-weight: 600; line-height: 1; }
.standard-unit-metrics-v231 a > div > small { color: #949daa; font-size: .59rem; line-height: 1.3; }
.standard-unit-metrics-v231 a > em { align-self: start; color: #a3adb8; font-size: .82rem; font-style: normal; transition: color .18s ease, transform .18s ease; }
.standard-unit-metrics-v231 a:hover > em { color: var(--unit-accent); transform: translateX(2px); }

.standard-unit-source-note-v231 { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: .7rem; align-items: center; margin-bottom: 1.05rem; padding: .72rem .85rem; border: 1px solid color-mix(in srgb, var(--unit-accent) 16%, #e2e8ee); border-left: 4px solid var(--unit-accent); border-radius: 13px; background: linear-gradient(90deg, var(--unit-soft), #fff); }
.standard-unit-source-note-v231 > span { width: 30px; height: 30px; }
.standard-unit-source-note-v231 strong { display: block; color: #41556d; font-size: .73rem; }
.standard-unit-source-note-v231 p { margin: .12rem 0 0; color: #728095; font-size: .67rem; line-height: 1.45; }
.standard-unit-source-note-v231 > small { padding: .3rem .5rem; border: 1px solid color-mix(in srgb, var(--unit-accent) 15%, #e1e7ed); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--unit-accent-dark); font-size: .55rem; font-weight: 900; text-transform: uppercase; white-space: nowrap; }

.standard-unit-grid-v231 { gap: 1rem; margin-bottom: 1rem; }
.standard-unit-grid-main.standard-unit-grid-v231 { grid-template-columns: minmax(320px,.88fr) minmax(440px,1.12fr); }
.standard-unit-panel-v231 { padding: 1.15rem; border: 1px solid #dfe6ec; border-radius: 20px; box-shadow: 0 9px 26px rgba(35,56,78,.045); }
.standard-unit-panel-v231 > header { align-items: flex-start; margin-bottom: .9rem; padding-bottom: .75rem; border-bottom: 1px solid #edf0f3; }
.standard-unit-panel-v231 > header h2 { margin: .12rem 0 0; color: #293e58; font-family: Georgia, serif; font-size: 1.15rem; font-weight: 600; }
.standard-unit-panel-v231 > header p { max-width: 520px; margin: .22rem 0 0; color: #8a95a3; font-size: .63rem; line-height: 1.45; }
.standard-unit-panel-v231 > header > a { display: inline-flex; align-items: center; gap: .25rem; padding: .38rem .52rem; border-radius: 9px; background: var(--unit-soft); color: var(--unit-accent-dark); white-space: nowrap; }
.standard-unit-panel-v231 > header > a:hover { background: var(--unit-soft-strong); }
.standard-unit-panel-v231 .standard-unit-total { min-width: 36px; height: 34px; border: 1px solid color-mix(in srgb, var(--unit-accent) 12%, transparent); border-radius: 11px; font-family: Georgia, serif; font-size: .9rem; }

.standard-leadership-list-v231 { gap: .42rem; }
.standard-leadership-list-v231 > a { grid-template-columns: 42px minmax(0,1fr) auto; gap: .7rem; padding: .62rem; border: 1px solid transparent; border-radius: 13px; }
.standard-leadership-list-v231 > a:hover { border-color: color-mix(in srgb, var(--unit-accent) 15%, #e5eaf0); background: linear-gradient(90deg, var(--unit-soft), #fff); }
.standard-leadership-list-v231 .standard-person-avatar { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid color-mix(in srgb, var(--unit-accent) 15%, transparent); border-radius: 13px; background: var(--unit-soft); color: var(--unit-accent-dark); font-family: Georgia, serif; font-size: .74rem; font-weight: 800; }
.standard-leadership-list-v231 strong { color: #354960; font-size: .78rem; }
.standard-leadership-list-v231 small { max-width: 420px; margin-top: .12rem; color: #8793a2; font-size: .63rem; line-height: 1.35; }
.standard-leadership-list-v231 em { display: flex; align-items: center; gap: .45rem; color: #8994a1; font-size: .59rem; }
.standard-leadership-list-v231 em b { color: var(--unit-accent); font-size: 1rem; font-weight: 500; }

.standard-community-table-head { display: grid; grid-template-columns: minmax(0,1fr) 62px 72px; gap: .5rem; padding: 0 1.75rem .35rem 3rem; color: #9aa3ae; font-size: .52rem; font-weight: 900; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.standard-community-table-head span:first-child { text-align: left; }
.standard-community-list-v231 { gap: .22rem; }
.standard-community-list-v231 > a { grid-template-columns: 28px minmax(0,1fr) 58px 70px 13px; gap: .55rem; padding: .58rem .38rem; border: 1px solid transparent; border-bottom-color: #edf0f3; border-radius: 11px; }
.standard-community-list-v231 > a:hover { border-color: color-mix(in srgb, var(--unit-accent) 14%, #e6ebf0); background: #fbfcfd; }
.standard-community-rank { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: #f4f6f8; color: #98a2ae !important; font-size: .59rem !important; }
.standard-community-list-v231 div strong { color: #354960; font-size: .76rem; }
.standard-community-list-v231 div small { color: #909aa6; font-size: .61rem; }
.standard-community-list-v231 b { color: var(--unit-accent-dark); font-family: Georgia, serif; font-size: .9rem; }
.standard-community-list-v231 b small { color: #9aa3ad; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .48rem; text-transform: uppercase; }
.standard-community-list-v231 > a > em { color: #aeb6bf; font-size: .9rem; font-style: normal; }

.standard-ministry-list-v231 { gap: .22rem; }
.standard-ministry-list-v231 > a { grid-template-columns: minmax(140px,.9fr) minmax(90px,1.1fr) 34px; gap: .72rem; padding: .5rem .4rem; border-radius: 10px; }
.standard-ministry-list-v231 > a:hover { background: var(--unit-soft); }
.standard-ministry-list-v231 > a > div span { width: 31px; height: 31px; border: 1px solid color-mix(in srgb, var(--unit-accent) 11%, transparent); border-radius: 10px; }
.standard-ministry-list-v231 strong { color: #4a5b70; font-size: .71rem; }
.standard-ministry-list-v231 i { height: 8px; background: #edf1f4; box-shadow: inset 0 1px 2px rgba(39,56,75,.05); }
.standard-ministry-list-v231 i b { background: linear-gradient(90deg, var(--unit-accent), color-mix(in srgb, var(--unit-accent) 62%, #fff)); }
.standard-ministry-list-v231 em { color: var(--unit-accent-dark); font-family: Georgia, serif; font-size: .83rem; }

.standard-review-panel-v231 { background: linear-gradient(155deg, #fff 0%, #fffdfa 100%); }
.standard-review-list-v231 { gap: .42rem; }
.standard-review-list-v231 > a { grid-template-columns: 31px minmax(0,1fr) auto; gap: .65rem; padding: .64rem; border: 1px solid #f3eadb; border-radius: 12px; background: #fffcf7; }
.standard-review-list-v231 > a:hover { border-color: #e9d4ad; background: #fff8ec; }
.standard-review-list-v231 > a > span { width: 29px; height: 29px; background: #fff0d4; color: #916522; }
.standard-review-list-v231 strong { color: #4d5969; font-size: .72rem; }
.standard-review-list-v231 small { color: #8b9199; font-size: .61rem; }
.standard-review-list-v231 b { min-width: 34px; padding: .34rem .42rem; border: 1px solid #f0dfc1; background: #fff4e3; color: #986923; }
.standard-unit-clear-v231 { min-height: 130px; justify-content: center; padding: 1.3rem; border: 1px solid #dcece3; background: linear-gradient(145deg,#f3faf6,#fff); }
.standard-unit-clear-v231 > span { width: 38px; height: 38px; }
.standard-unit-clear-v231 strong { color: #3e6651; font-size: .8rem; }
.standard-unit-clear-v231 small { color: #809287; font-size: .64rem; }
.standard-unit-empty { display: grid; justify-items: center; gap: .22rem; padding: 1.25rem; }
.standard-unit-empty > span { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: .2rem; border-radius: 12px; background: var(--unit-soft); color: var(--unit-accent); font-size: 1rem; }
.standard-unit-empty > strong, .standard-unit-empty > small { display: block; }
.standard-unit-empty > strong { color: #586779; font-size: .76rem; }
.standard-unit-empty > small { color: #919ba6; font-size: .62rem; }

.standard-unit-footer-v231 { display: grid; grid-template-columns: 54px minmax(240px,1fr) auto; gap: 1rem; min-height: 116px; margin: 1rem 0 0; padding: 1.2rem 1.35rem; border: 1px solid color-mix(in srgb, var(--unit-accent) 26%, #273a53); border-radius: 21px; background:
  radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--unit-accent) 35%, transparent), transparent 24%),
  linear-gradient(135deg, #263950, #314861);
  box-shadow: 0 15px 32px rgba(24,42,61,.12);
}
.standard-unit-footer-mark { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(255,255,255,.17); border-radius: 17px; background: rgba(255,255,255,.08); color: #fff; font-size: 1.15rem; }
.standard-unit-footer-v231 h2 { margin: .12rem 0 .15rem; font-family: Georgia, serif; font-size: 1.08rem; font-weight: 600; }
.standard-unit-footer-v231 p { margin: 0; color: rgba(255,255,255,.62); font-size: .63rem; }
.standard-unit-footer-v231 > div:last-child { justify-content: flex-end; }
.standard-unit-footer-v231 a { display: inline-flex; align-items: center; gap: .32rem; padding: .5rem .62rem; border-radius: 10px; background: rgba(255,255,255,.04); font-size: .65rem; }
.standard-unit-footer-v231 a:hover { border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.1); transform: translateY(-1px); }
.standard-unit-footer-v231 a span { color: color-mix(in srgb, var(--unit-accent) 45%, #fff); }

/* Refined shared workspace bar */
.unit-workspace-navigation-compact { border-radius: 18px; overflow: visible; }
.unit-workspace-navigation-compact .unit-workspace-header { background: linear-gradient(100deg, var(--workspace-soft), #fff 70%); }
.unit-workspace-navigation-compact .unit-workspace-identity > span { box-shadow: 0 7px 16px color-mix(in srgb, var(--workspace-accent) 16%, transparent); }
.unit-workspace-navigation-compact .unit-primary-navigation a { min-height: 42px; border: 1px solid transparent; }
.unit-workspace-navigation-compact .unit-primary-navigation a:hover { border-color: color-mix(in srgb, var(--workspace-accent) 12%, #e3e9ef); }
.unit-workspace-navigation-compact .unit-primary-navigation a.active { border-color: color-mix(in srgb, var(--workspace-accent) 18%, #dfe6ec); box-shadow: inset 0 -2px 0 var(--workspace-accent); }

@media (max-width: 1180px) {
  .standard-unit-hero-v231 { grid-template-columns: minmax(0,1.1fr) minmax(285px,.9fr); }
  .standard-unit-grid-main.standard-unit-grid-v231 { grid-template-columns: 1fr; }
  .standard-unit-footer-v231 { grid-template-columns: 50px minmax(0,1fr); }
  .standard-unit-footer-v231 > div:last-child { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 940px) {
  .standard-unit-hero-v231 { grid-template-columns: 1fr; min-height: 0; }
  .standard-unit-hero-v231::after { right: -1rem; bottom: -1rem; }
  .standard-unit-identity-card { grid-template-columns: 64px minmax(0,1fr); }
  .standard-unit-metrics-v231 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .standard-unit-grid-v231 { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .standard-unit-hero-v231 { padding: 1.25rem; border-radius: 22px; }
  .standard-unit-kicker i { display: none; }
  .standard-unit-hero-v231 h1 { font-size: 2rem; }
  .standard-unit-actions-v231 .button { flex: 1 1 calc(50% - .35rem); }
  .standard-unit-identity-card { grid-template-columns: 52px minmax(0,1fr); padding: .9rem; }
  .standard-unit-identity-card > img { width: 48px; height: 68px; }
  .standard-unit-seal { width: 44px; min-width: 44px; height: 44px; }
  .standard-unit-identity-title { padding-right: 3rem; }
  .standard-unit-identity-card dl div { grid-template-columns: 1fr; gap: .15rem; }
  .standard-unit-identity-card dd { text-align: left; }
  .standard-unit-source-note-v231 { grid-template-columns: 30px minmax(0,1fr); }
  .standard-unit-source-note-v231 > small { display: none; }
  .standard-community-table-head { display: none; }
  .standard-community-list-v231 > a { grid-template-columns: 26px minmax(0,1fr) 48px 12px; }
  .standard-community-list-v231 > a b:nth-of-type(2) { display: none; }
  .standard-ministry-list-v231 > a { grid-template-columns: minmax(120px,.9fr) minmax(60px,1fr) 30px; }
  .standard-unit-footer-v231 { grid-template-columns: 44px minmax(0,1fr); padding: 1rem; }
  .standard-unit-footer-mark { width: 43px; height: 43px; border-radius: 14px; }
}
@media (max-width: 480px) {
  .standard-unit-metrics-v231 { grid-template-columns: 1fr; }
  .standard-unit-metrics-v231 a { min-height: 96px; }
  .standard-unit-actions-v231 .button { flex-basis: 100%; }
  .standard-unit-identity-title small { display: none; }
  .standard-leadership-list-v231 > a { grid-template-columns: 39px minmax(0,1fr); }
  .standard-leadership-list-v231 > a > em { display: none; }
  .standard-community-list-v231 > a { grid-template-columns: minmax(0,1fr) 45px 11px; }
  .standard-community-list-v231 .standard-community-rank { display: none; }
  .standard-ministry-list-v231 > a { grid-template-columns: minmax(0,1fr) 32px; }
  .standard-ministry-list-v231 i { display: none; }
  .standard-unit-footer-v231 { grid-template-columns: 1fr; }
  .standard-unit-footer-mark { display: none; }
}

/* v2.3.2 — Consistent administrative-unit colour across every workspace */
.unit-theme-scope {
  --unit-theme-accent: #557bb7;
  --unit-theme-dark: #355f96;
  --unit-theme-soft: #edf4fc;
  --unit-theme-soft-strong: #dfeefa;
  --unit-theme-rgb: 85, 123, 183;
  --wine: var(--unit-theme-accent);
  --wine-dark: var(--unit-theme-dark);
  --wine-soft: var(--unit-theme-soft);
  --gold: var(--unit-theme-accent);
  --gold-soft: var(--unit-theme-soft);
  --cream: color-mix(in srgb, var(--unit-theme-soft) 38%, #fff);
  --line: color-mix(in srgb, var(--unit-theme-accent) 16%, #dfe6ed);
  --shadow: 0 14px 40px color-mix(in srgb, var(--unit-theme-accent) 10%, transparent);
}
.unit-theme-scope.tone-blue { --unit-theme-accent:#557bb7; --unit-theme-dark:#355f96; --unit-theme-soft:#edf4fc; --unit-theme-soft-strong:#dfeefa; --unit-theme-rgb:85,123,183; }
.unit-theme-scope.tone-lavender { --unit-theme-accent:#806eb6; --unit-theme-dark:#665397; --unit-theme-soft:#f4f0fa; --unit-theme-soft-strong:#e9e1f4; --unit-theme-rgb:128,110,182; }
.unit-theme-scope.tone-rose { --unit-theme-accent:#aa6677; --unit-theme-dark:#884d5d; --unit-theme-soft:#fbf0f3; --unit-theme-soft-strong:#f4dfe5; --unit-theme-rgb:170,102,119; }
.unit-theme-scope.tone-gold { --unit-theme-accent:#a57b2e; --unit-theme-dark:#805b18; --unit-theme-soft:#fff8e8; --unit-theme-soft-strong:#f8eac8; --unit-theme-rgb:165,123,46; }
.unit-theme-scope.tone-mint { --unit-theme-accent:#4f8b72; --unit-theme-dark:#39725b; --unit-theme-soft:#eef8f4; --unit-theme-soft-strong:#dcefe7; --unit-theme-rgb:79,139,114; }
.unit-theme-scope.tone-teal { --unit-theme-accent:#397f83; --unit-theme-dark:#27656a; --unit-theme-soft:#edf7f7; --unit-theme-soft-strong:#d9ecec; --unit-theme-rgb:57,127,131; }

/* Shared page language */
.unit-theme-scope .page-heading h1,
.unit-theme-scope .page-heading h2,
.unit-theme-scope .panel-heading h2,
.unit-theme-scope .community-card h3,
.unit-theme-scope .sister-card h3,
.unit-theme-scope .institution-result-card h3 a,
.unit-theme-scope .institution-browser-heading h2,
.unit-theme-scope .ministry-hub-card h2 { color: var(--unit-theme-dark); }
.unit-theme-scope .eyebrow { color: var(--unit-theme-accent); }
.unit-theme-scope .button-primary { background: var(--unit-theme-accent); border-color: var(--unit-theme-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--unit-theme-accent) 24%, transparent); }
.unit-theme-scope .button-primary:hover { background: var(--unit-theme-dark); }
.unit-theme-scope .button-secondary { background: var(--unit-theme-soft); color: var(--unit-theme-dark); }
.unit-theme-scope .button-quiet:hover { border-color: color-mix(in srgb, var(--unit-theme-accent) 35%, #dfe6ed); color: var(--unit-theme-dark); background: var(--unit-theme-soft); }
.unit-theme-scope input:focus,
.unit-theme-scope select:focus,
.unit-theme-scope textarea:focus { border-color: var(--unit-theme-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--unit-theme-accent) 13%, transparent); }
.unit-theme-scope .mini-progress span { background: linear-gradient(90deg, var(--unit-theme-accent), color-mix(in srgb, var(--unit-theme-accent) 58%, #fff)); }

/* Sisters */
.unit-theme-scope .sisters-focus-hero,
.unit-theme-scope .sister-profile-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.18), transparent 24%),
    radial-gradient(circle at 20% 110%, color-mix(in srgb, var(--unit-theme-accent) 48%, transparent), transparent 34%),
    linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent) 62%, color-mix(in srgb, var(--unit-theme-accent) 66%, #fff));
  box-shadow: 0 22px 55px color-mix(in srgb, var(--unit-theme-accent) 25%, transparent);
}
.unit-theme-scope .sisters-hero-badges strong,
.unit-theme-scope .blue-flower span { color: color-mix(in srgb, var(--unit-theme-soft-strong) 38%, #fff); }
.unit-theme-scope .leadership-hierarchy-section { border-color: color-mix(in srgb, var(--unit-theme-accent) 20%, #dce5ed); background: linear-gradient(145deg, var(--unit-theme-soft), #fff 62%); }
.unit-theme-scope .hierarchy-heart { color: var(--unit-theme-accent); border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dce5ed); box-shadow: 0 8px 20px color-mix(in srgb, var(--unit-theme-accent) 12%, transparent); }
.unit-theme-scope .hierarchy-tier-label,
.unit-theme-scope .tier-superior .hierarchy-tier-label,
.unit-theme-scope .tier-vicaress .hierarchy-tier-label,
.unit-theme-scope .tier-officers .hierarchy-tier-label { background: linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent)); box-shadow: 0 6px 14px color-mix(in srgb, var(--unit-theme-accent) 22%, transparent); }
.unit-theme-scope .hierarchy-person-card { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dce5ed); box-shadow: 0 11px 25px color-mix(in srgb, var(--unit-theme-accent) 8%, transparent); }
.unit-theme-scope .hierarchy-person-card:hover,
.unit-theme-scope .hierarchy-person-card.featured { border-color: color-mix(in srgb, var(--unit-theme-accent) 55%, #dce5ed); box-shadow: 0 17px 34px color-mix(in srgb, var(--unit-theme-accent) 16%, transparent); }
.unit-theme-scope .hierarchy-person-card.officer { background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); }
.unit-theme-scope .hierarchy-person-card img,
.unit-theme-scope .hierarchy-avatar { border-color: var(--unit-theme-soft-strong); box-shadow: 0 6px 15px color-mix(in srgb, var(--unit-theme-accent) 16%, transparent); }
.unit-theme-scope .hierarchy-avatar { background: var(--unit-theme-soft); color: var(--unit-theme-accent); }
.unit-theme-scope .hierarchy-person-card h3 { color: var(--unit-theme-dark); }
.unit-theme-scope .hierarchy-connector { background: linear-gradient(var(--unit-theme-accent), var(--unit-theme-soft-strong)); }
.unit-theme-scope .hierarchy-connector.branching::after { background: color-mix(in srgb, var(--unit-theme-accent) 34%, #e5ebf0); }
.unit-theme-scope .sister-toolbar,
.unit-theme-scope .gentle-note { border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dce5ed); box-shadow: 0 8px 25px color-mix(in srgb, var(--unit-theme-accent) 7%, transparent); }
.unit-theme-scope .gentle-note { background: linear-gradient(135deg, #fff, var(--unit-theme-soft)); }
.unit-theme-scope .gentle-note-icon { background: var(--unit-theme-accent); }
.unit-theme-scope .sister-card { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dce5ed); box-shadow: 0 10px 30px color-mix(in srgb, var(--unit-theme-accent) 8%, transparent); }
.unit-theme-scope .sister-card:hover { border-color: color-mix(in srgb, var(--unit-theme-accent) 55%, #dce5ed); box-shadow: 0 20px 45px color-mix(in srgb, var(--unit-theme-accent) 15%, transparent); }
.unit-theme-scope .sister-card::after { border-color: color-mix(in srgb, var(--unit-theme-accent) 12%, transparent); box-shadow: 0 0 0 22px color-mix(in srgb, var(--unit-theme-accent) 4%, transparent); }
.unit-theme-scope .sister-card-ribbon { background: linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent)); }
.unit-theme-scope .sister-portrait-wrap { background: linear-gradient(145deg, var(--unit-theme-soft-strong), #fff, color-mix(in srgb, var(--unit-theme-accent) 25%, #fff)); box-shadow: 0 12px 28px color-mix(in srgb, var(--unit-theme-accent) 18%, transparent); }
.unit-theme-scope .sister-initials { color: var(--unit-theme-dark); background: var(--unit-theme-soft); }
.unit-theme-scope .sister-tags span { background: var(--unit-theme-soft); color: var(--unit-theme-dark); }
.unit-theme-scope .sister-card-facts div { background: color-mix(in srgb, var(--unit-theme-soft) 58%, #fff); border-color: color-mix(in srgb, var(--unit-theme-accent) 15%, #e3e9ef); }

/* Convents and communities */
.unit-theme-scope .community-focus-hero,
.unit-theme-scope .community-profile-hero {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent) 62%, color-mix(in srgb, var(--unit-theme-accent) 66%, #fff));
  box-shadow: 0 22px 58px color-mix(in srgb, var(--unit-theme-accent) 24%, transparent);
}
.unit-theme-scope .community-hero-stats strong,
.unit-theme-scope .community-globe span,
.unit-theme-scope .community-profile-emblem small { color: color-mix(in srgb, var(--unit-theme-soft-strong) 42%, #fff); }
.unit-theme-scope .community-summary-strip article,
.unit-theme-scope .community-profile-summary article { border-color: color-mix(in srgb, var(--unit-theme-accent) 18%, #dfe6ed); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); box-shadow: 0 7px 21px color-mix(in srgb, var(--unit-theme-accent) 7%, transparent); }
.unit-theme-scope .community-summary-strip strong,
.unit-theme-scope .community-profile-summary strong { color: var(--unit-theme-dark); }
.unit-theme-scope .community-toolbar { border-color: color-mix(in srgb, var(--unit-theme-accent) 20%, #dfe6ed); box-shadow: 0 8px 24px color-mix(in srgb, var(--unit-theme-accent) 7%, transparent); }
.unit-theme-scope .community-toolbar input,
.unit-theme-scope .community-toolbar select { border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dfe6ed); }
.unit-theme-scope .community-card { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dce5ed); box-shadow: 0 12px 32px color-mix(in srgb, var(--unit-theme-accent) 8%, transparent); }
.unit-theme-scope .community-card:hover { box-shadow: 0 18px 40px color-mix(in srgb, var(--unit-theme-accent) 15%, transparent); }
.unit-theme-scope .community-card::before { background: linear-gradient(90deg, var(--unit-theme-dark), var(--unit-theme-accent), color-mix(in srgb, var(--unit-theme-accent) 38%, #fff)); }
.unit-theme-scope .country-bubble,
.unit-theme-scope .community-card-symbol { background: linear-gradient(135deg, var(--unit-theme-soft), #fff); border-color: color-mix(in srgb, var(--unit-theme-accent) 20%, #dce5ed); }
.unit-theme-scope .community-card-symbol span,
.unit-theme-scope .community-counts strong,
.unit-theme-scope .community-ministry { color: var(--unit-theme-dark); }
.unit-theme-scope .community-card-symbol small,
.unit-theme-scope .community-location { color: var(--unit-theme-accent); }
.unit-theme-scope .community-counts span { background: var(--unit-theme-soft); }

/* Institutions — province identity overrides ministry-category colours only inside a unit workspace */
.unit-theme-scope .institution-kpi-strip article,
.unit-theme-scope .institution-kpi-strip article:nth-child(n) { border-color: color-mix(in srgb, var(--unit-theme-accent) 19%, #dfe6ed); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); }
.unit-theme-scope .institution-kpi-strip strong { color: var(--unit-theme-dark); }
.unit-theme-scope .institution-authority-banner { border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dfe6ed); background: linear-gradient(135deg, var(--unit-theme-soft), #fff); }
.unit-theme-scope .institution-ministry-card,
.unit-theme-scope .institution-result-card,
.unit-theme-scope .institution-level-overview-grid > article { border-color: color-mix(in srgb, var(--unit-theme-accent) 20%, #dfe6ed); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); }
.unit-theme-scope .institution-ministry-card:hover,
.unit-theme-scope .institution-ministry-card.is-active,
.unit-theme-scope .institution-result-card:hover { border-color: color-mix(in srgb, var(--unit-theme-accent) 50%, #dfe6ed); box-shadow: 0 12px 24px color-mix(in srgb, var(--unit-theme-accent) 12%, transparent); }
.unit-theme-scope .institution-ministry-card.is-active::after { background: var(--unit-theme-accent); }
.unit-theme-scope .institution-ministry-icon,
.unit-theme-scope .tone-mint .institution-ministry-icon,
.unit-theme-scope .tone-rose .institution-ministry-icon,
.unit-theme-scope .tone-gold .institution-ministry-icon,
.unit-theme-scope .tone-blue .institution-ministry-icon,
.unit-theme-scope .tone-sand .institution-ministry-icon,
.unit-theme-scope .tone-teal .institution-ministry-icon,
.unit-theme-scope .tone-peach .institution-ministry-icon,
.unit-theme-scope .tone-plum .institution-ministry-icon,
.unit-theme-scope .tone-slate .institution-ministry-icon,
.unit-theme-scope .institution-ministry-icon.tone-mint,
.unit-theme-scope .institution-ministry-icon.tone-rose,
.unit-theme-scope .institution-ministry-icon.tone-gold,
.unit-theme-scope .institution-ministry-icon.tone-blue,
.unit-theme-scope .institution-ministry-icon.tone-sand,
.unit-theme-scope .institution-ministry-icon.tone-teal,
.unit-theme-scope .institution-ministry-icon.tone-peach,
.unit-theme-scope .institution-ministry-icon.tone-plum,
.unit-theme-scope .institution-ministry-icon.tone-slate { background: var(--unit-theme-soft-strong); color: var(--unit-theme-dark); }
.unit-theme-scope .institution-ministry-card-copy h3,
.unit-theme-scope .institution-ministry-card-metrics strong,
.unit-theme-scope .institution-level-card h3,
.unit-theme-scope .institution-level-mini-list strong,
.unit-theme-scope .institution-view-ministry { color: var(--unit-theme-dark); }
.unit-theme-scope .institution-level-browser,
.unit-theme-scope .institution-level-browser.tone-mint,
.unit-theme-scope .institution-level-browser.tone-rose,
.unit-theme-scope .institution-level-browser.tone-gold,
.unit-theme-scope .institution-level-browser.tone-blue,
.unit-theme-scope .institution-level-browser.tone-sand,
.unit-theme-scope .institution-level-browser.tone-teal,
.unit-theme-scope .institution-level-browser.tone-peach,
.unit-theme-scope .institution-level-browser.tone-plum,
.unit-theme-scope .institution-level-browser.tone-slate { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dfe6ed); background: linear-gradient(145deg, var(--unit-theme-soft), #fff); }
.unit-theme-scope .institution-level-card.is-active,
.unit-theme-scope .institution-summary-badge,
.unit-theme-scope .institution-level-label,
.unit-theme-scope .institution-result-tags span { background: var(--unit-theme-soft-strong); color: var(--unit-theme-dark); border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dfe6ed); }
.unit-theme-scope .institution-filter-form { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dfe6ed); background: linear-gradient(145deg, var(--unit-theme-soft), #fff); }
.unit-theme-scope .institution-filter-form label > span { color: var(--unit-theme-dark); }
.unit-theme-scope .institution-filter-form input,
.unit-theme-scope .institution-filter-form select { border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dfe6ed); }
.unit-theme-scope .institution-result-card h3 a,
.unit-theme-scope .institution-result-location strong,
.unit-theme-scope .institution-result-card dd strong { color: var(--unit-theme-dark); }

/* Ministries — retain the ministry name and icon, but use the Province colour consistently */
.unit-theme-scope .ministry-hub-summary article { border-color: color-mix(in srgb, var(--unit-theme-accent) 18%, #dfe6ed); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); }
.unit-theme-scope .ministry-hub-summary strong { color: var(--unit-theme-dark); }
.unit-theme-scope .ministry-hub-card,
.unit-theme-scope .ministry-hub-card.tone-mint,
.unit-theme-scope .ministry-hub-card.tone-rose,
.unit-theme-scope .ministry-hub-card.tone-gold,
.unit-theme-scope .ministry-hub-card.tone-blue,
.unit-theme-scope .ministry-hub-card.tone-sand,
.unit-theme-scope .ministry-hub-card.tone-teal,
.unit-theme-scope .ministry-hub-card.tone-peach,
.unit-theme-scope .ministry-hub-card.tone-plum,
.unit-theme-scope .ministry-hub-card.tone-slate { border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dfe6ed); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); box-shadow: 0 16px 35px color-mix(in srgb, var(--unit-theme-accent) 10%, transparent); }
.unit-theme-scope .ministry-hub-card::after { border-color: color-mix(in srgb, var(--unit-theme-accent) 9%, transparent); }
.unit-theme-scope .ministry-hub-card:hover { box-shadow: 0 20px 42px color-mix(in srgb, var(--unit-theme-accent) 16%, transparent); }
.unit-theme-scope .ministry-card-icon,
.unit-theme-scope .ministry-medical .ministry-card-icon,
.unit-theme-scope .ministry-social .ministry-card-icon { background: var(--unit-theme-accent); box-shadow: 0 10px 20px color-mix(in srgb, var(--unit-theme-accent) 24%, transparent); }
.unit-theme-scope .ministry-card-stats span { background: var(--unit-theme-soft-strong); }
.unit-theme-scope .ministry-card-stats strong,
.unit-theme-scope .ministry-open { color: var(--unit-theme-dark); }
.unit-theme-scope .ministry-detail-hero,
.unit-theme-scope .ministry-detail-hero.tone-mint,
.unit-theme-scope .ministry-detail-hero.tone-rose,
.unit-theme-scope .ministry-detail-hero.tone-gold,
.unit-theme-scope .ministry-detail-hero.tone-blue,
.unit-theme-scope .ministry-detail-hero.tone-sand,
.unit-theme-scope .ministry-detail-hero.tone-teal,
.unit-theme-scope .ministry-detail-hero.tone-peach,
.unit-theme-scope .ministry-detail-hero.tone-plum,
.unit-theme-scope .ministry-detail-hero.tone-slate { background: linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent) 64%, color-mix(in srgb, var(--unit-theme-accent) 68%, #fff)); box-shadow: 0 20px 44px color-mix(in srgb, var(--unit-theme-accent) 22%, transparent); }
.unit-theme-scope .ministry-detail-grid .panel,
.unit-theme-scope .ministry-sisters-panel { border-color: color-mix(in srgb, var(--unit-theme-accent) 18%, #dfe6ed); }
.unit-theme-scope .record-icon,
.unit-theme-scope .institution-summary-badge { background: var(--unit-theme-soft-strong); color: var(--unit-theme-dark); }

/* Analysis and secondary registers reached from a Province workspace */
.unit-theme-scope .analysis-source-pill,
.unit-theme-scope .analysis-subnav a.active,
.unit-theme-scope .analysis-group-card summary strong,
.unit-theme-scope .status-chip { background: var(--unit-theme-soft-strong); color: var(--unit-theme-dark); border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dfe6ed); }
.unit-theme-scope .analysis-subnav a.active { background: var(--unit-theme-accent); color: #fff; }
.unit-theme-scope .analysis-group-card summary,
.unit-theme-scope .analysis-name-list a:hover,
.unit-theme-scope .analysis-experience-grid article { background: var(--unit-theme-soft); }
.unit-theme-scope .analysis-group-card summary,
.unit-theme-scope .analysis-name-list a strong,
.unit-theme-scope .analysis-experience-grid strong { color: var(--unit-theme-dark); }

@media (prefers-reduced-motion: reduce) {
  .unit-theme-scope .sister-card,
  .unit-theme-scope .community-card,
  .unit-theme-scope .institution-ministry-card,
  .unit-theme-scope .ministry-hub-card { transition: none; }
}

/* v2.3.3 — Sister directory, profile and professional biodata beautification */
.sister-results-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: -4px 0 16px;
  padding: 0 3px;
  color: var(--muted);
  font-size: .78rem;
}
.sister-results-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-weight: 800;
}
.sister-results-count strong {
  min-width: 31px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--wine-soft);
  color: var(--wine-dark);
  text-align: center;
}
.sister-card-status-row {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: -2px 0 11px;
}
.sister-status-chip,
.profile-status-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sister-status-chip.status-active,
.profile-status-chip.status-active {
  background: #e8f7ef;
  border-color: #c7ead7;
  color: #27694e;
}
.sister-status-chip.status-left,
.profile-status-chip.status-left {
  background: #fff6df;
  border-color: #f1dfad;
  color: #775b1f;
}
.sister-status-chip.status-death,
.profile-status-chip.status-death {
  background: #f2eff5;
  border-color: #ddd4e5;
  color: #62536c;
}
.sister-verification-label {
  max-width: 190px;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 800;
  line-height: 1.25;
}
.sister-verification-label.is-verified { color: #277052; }
.sister-card-actions { flex-wrap: wrap; }
.sister-card-actions .button { flex: 1 1 92px; }

.sister-profile-hero {
  grid-template-columns: 220px minmax(280px, 1fr) minmax(230px, 285px);
  gap: clamp(24px, 3vw, 42px);
}
.profile-main-portrait {
  width: 205px;
  height: 205px;
}
.profile-hero-summary {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0;
  align-self: stretch;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 23px;
  background: rgba(255,255,255,.11);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter: blur(12px);
}
.profile-hero-summary > div {
  display: grid;
  gap: 3px;
  padding: 12px 2px;
  border-top: 1px solid rgba(255,255,255,.14);
}
.profile-hero-summary > div:first-of-type { margin-top: 9px; }
.profile-hero-summary small {
  color: rgba(255,255,255,.68);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.profile-hero-summary strong {
  color: #fff;
  font-size: .82rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.profile-hero-summary .profile-status-chip {
  background: rgba(255,255,255,.93);
  border-color: rgba(255,255,255,.9);
}
.profile-completeness-mini .mini-progress {
  margin-top: 7px;
  background: rgba(255,255,255,.2);
}
.profile-completeness-mini .mini-progress span { background: #fff; }
.profile-section-nav {
  position: sticky;
  top: 94px;
  z-index: 14;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 18px 0 22px;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 8px 24px rgba(8,61,118,.06);
  backdrop-filter: blur(10px);
}
.profile-section-nav a {
  flex: 0 0 auto;
  padding: 9px 13px;
  border-radius: 11px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 850;
}
.profile-section-nav a:hover {
  background: var(--wine-soft);
  color: var(--wine-dark);
}
.profile-info-card,
.sister-institution-panel,
.profile-story-card,
.private-profile-panel,
.verification-history-panel {
  scroll-margin-top: 170px;
}
.profile-info-card {
  min-height: 100%;
  border-top-width: 4px;
}
.profile-info-card .profile-info-icon {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.profile-detail-list div:last-child { padding-bottom: 0; }
.profile-detail-list dd a { font-weight: 850; }
.sister-institution-panel {
  margin-top: 22px;
  border-top-width: 4px;
}
.sister-institution-list > article {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sister-institution-list > article:hover { transform: translateY(-2px); }
.profile-admin-actions { border-top-width: 4px; }

.biodata-hero {
  position: relative;
  isolation: isolate;
  min-height: 278px;
}
.biodata-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 340px;
  height: 340px;
  right: -160px;
  top: -210px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 88px rgba(255,255,255,.02);
}
.biodata-photo-wrap {
  width: 154px;
  height: 205px;
  padding: 8px;
  border-radius: 28px;
}
.biodata-photo-wrap img,
.biodata-initials { border-radius: 21px; }
.biodata-completeness-card {
  align-items: center;
  gap: 8px;
  text-align: center;
}
.biodata-progress-ring {
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  margin-bottom: 3px;
  border-radius: 50%;
  background: conic-gradient(#fff var(--completion), rgba(255,255,255,.18) 0);
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
}
.biodata-progress-ring > div {
  width: 92px;
  height: 92px;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: rgba(25,45,70,.32);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.biodata-progress-ring strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 2rem;
  line-height: 1;
}
.biodata-progress-ring span {
  margin-top: 3px;
  color: rgba(255,255,255,.72);
  font-size: .63rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.biodata-completeness-card > span:not(.profile-status-chip) {
  color: #fff;
  font-size: .82rem;
  font-weight: 850;
}
.biodata-completeness-card > small {
  color: rgba(255,255,255,.74);
  line-height: 1.35;
}
.biodata-completeness-card .profile-status-chip {
  margin-top: 4px;
  background: rgba(255,255,255,.94);
}
.biodata-summary-card,
.biodata-section-panel,
.retirement-integrity-card {
  scroll-margin-top: 170px;
}
.biodata-summary-card {
  position: relative;
  overflow: hidden;
  border-top-width: 4px;
}
.biodata-summary-card::after {
  content: "";
  position: absolute;
  width: 82px;
  height: 82px;
  right: -45px;
  bottom: -48px;
  border: 1px solid var(--line);
  border-radius: 50%;
}
.biodata-section-panel {
  border-top-width: 4px;
}
.biodata-detail-grid > div,
.current-service-grid > article,
.professional-profile-grid > article,
.structured-qualification-grid > article,
.protected-biodata-grid > article {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.biodata-detail-grid > div:hover,
.current-service-grid > article:hover,
.professional-profile-grid > article:hover,
.structured-qualification-grid > article:hover {
  transform: translateY(-1px);
}
.biodata-section-nav a:focus-visible,
.profile-section-nav a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--wine) 28%, transparent);
  outline-offset: 2px;
}

/* Province identity inside individual Sister pages */
.unit-theme-scope .sister-results-count strong,
.unit-theme-scope .profile-section-nav a:hover,
.unit-theme-scope .biodata-section-nav a:hover {
  background: var(--unit-theme-soft);
  color: var(--unit-theme-dark);
}
.unit-theme-scope .profile-info-card,
.unit-theme-scope .sister-institution-panel,
.unit-theme-scope .biodata-summary-card,
.unit-theme-scope .biodata-section-panel,
.unit-theme-scope .profile-admin-actions,
.unit-theme-scope .private-profile-panel,
.unit-theme-scope .verification-history-panel {
  border-color: color-mix(in srgb, var(--unit-theme-accent) 22%, #dce5ed);
  border-top-color: var(--unit-theme-accent);
  box-shadow: 0 10px 30px color-mix(in srgb, var(--unit-theme-accent) 8%, transparent);
}
.unit-theme-scope .profile-info-icon,
.unit-theme-scope .biodata-summary-card > span,
.unit-theme-scope .history-dot {
  background: var(--unit-theme-soft-strong);
  color: var(--unit-theme-dark);
}
.unit-theme-scope .profile-info-card h2,
.unit-theme-scope .biodata-summary-card strong,
.unit-theme-scope .biodata-section-panel h2,
.unit-theme-scope .sister-institution-panel h2,
.unit-theme-scope .sister-institution-list h3,
.unit-theme-scope .profile-admin-actions h2 {
  color: var(--unit-theme-dark);
}
.unit-theme-scope .profile-detail-list div,
.unit-theme-scope .biodata-detail-grid > div,
.unit-theme-scope .current-service-grid > article,
.unit-theme-scope .professional-profile-grid > article,
.unit-theme-scope .structured-qualification-grid > article,
.unit-theme-scope .protected-biodata-grid > article,
.unit-theme-scope .sister-institution-list > article {
  border-color: color-mix(in srgb, var(--unit-theme-accent) 17%, #e3e9ef);
}
.unit-theme-scope .verification-note,
.unit-theme-scope .profile-admin-actions,
.unit-theme-scope .private-field-grid div,
.unit-theme-scope .biodata-detail-grid > div,
.unit-theme-scope .current-service-grid > article,
.unit-theme-scope .professional-profile-grid > article {
  background: linear-gradient(145deg, #fff, var(--unit-theme-soft));
}
.unit-theme-scope .profile-story-card {
  background: linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent));
  box-shadow: 0 18px 42px color-mix(in srgb, var(--unit-theme-accent) 18%, transparent);
}
.unit-theme-scope .profile-heart {
  background: color-mix(in srgb, var(--unit-theme-soft-strong) 72%, #fff);
  color: var(--unit-theme-dark);
}
.unit-theme-scope .biodata-hero {
  background:
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, var(--unit-theme-dark), var(--unit-theme-accent) 72%, color-mix(in srgb, var(--unit-theme-accent) 66%, #fff));
  box-shadow: 0 20px 48px color-mix(in srgb, var(--unit-theme-accent) 22%, transparent);
}
.unit-theme-scope .biodata-section-nav,
.unit-theme-scope .profile-section-nav {
  border-color: color-mix(in srgb, var(--unit-theme-accent) 19%, #dfe6ed);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--unit-theme-accent) 7%, transparent);
}
.unit-theme-scope .qualification-badge-row span,
.unit-theme-scope .ministry-tag,
.unit-theme-scope .designation-badge,
.unit-theme-scope .soft-count {
  background: var(--unit-theme-soft-strong);
  color: var(--unit-theme-dark);
  border-color: color-mix(in srgb, var(--unit-theme-accent) 20%, #dce5ed);
}
.unit-theme-scope .service-gap-alert {
  border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #dce5ed);
  background: var(--unit-theme-soft);
}

/* Province colour retained in the protected print view */
.biodata-print-body.tone-blue { --print-accent:#557bb7; --print-dark:#355f96; --print-soft:#edf4fc; }
.biodata-print-body.tone-lavender { --print-accent:#806eb6; --print-dark:#665397; --print-soft:#f4f0fa; }
.biodata-print-body.tone-rose { --print-accent:#aa6677; --print-dark:#884d5d; --print-soft:#fbf0f3; }
.biodata-print-body.tone-gold { --print-accent:#a57b2e; --print-dark:#805b18; --print-soft:#fff8e8; }
.biodata-print-body.tone-mint { --print-accent:#4f8b72; --print-dark:#39725b; --print-soft:#eef8f4; }
.biodata-print-body.tone-teal { --print-accent:#397f83; --print-dark:#27656a; --print-soft:#edf7f7; }
.biodata-print-body[class*="tone-"] .biodata-print-header,
.biodata-print-body[class*="tone-"] .print-profile-band { border-color: var(--print-accent); }
.biodata-print-body[class*="tone-"] .print-section-title { color: var(--print-dark); border-color: var(--print-accent); }
.biodata-print-body[class*="tone-"] .print-profile-band { background: var(--print-soft); }
.biodata-print-body[class*="tone-"] .print-controls button { background: var(--print-accent); }

@media (max-width: 1180px) {
  .sister-profile-hero { grid-template-columns: 190px minmax(0,1fr); }
  .profile-main-portrait { width: 180px; height: 180px; }
  .profile-hero-summary {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0,1fr));
    align-self: auto;
  }
  .profile-hero-summary > div,
  .profile-hero-summary > div:first-of-type {
    margin-top: 0;
    padding: 10px 12px;
    border-top: 0;
    border-left: 1px solid rgba(255,255,255,.14);
  }
  .profile-hero-summary > div:first-of-type { border-left: 0; }
  .profile-hero-summary .profile-status-chip { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .sister-results-line { align-items: flex-start; flex-direction: column; }
  .sister-profile-hero { grid-template-columns: 1fr; }
  .profile-hero-summary {
    grid-column: auto;
    width: min(560px, 100%);
    justify-self: center;
    grid-template-columns: repeat(2, minmax(0,1fr));
    text-align: left;
  }
  .profile-hero-summary > div:nth-of-type(3) { border-left: 0; }
  .profile-section-nav,
  .biodata-section-nav { top: 86px; }
}

@media (max-width: 620px) {
  .sister-card-status-row { min-height: 0; }
  .sister-verification-label { max-width: 100%; }
  .profile-hero-summary { grid-template-columns: 1fr; }
  .profile-hero-summary > div,
  .profile-hero-summary > div:first-of-type {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.14);
  }
  .profile-hero-summary > div:first-of-type { border-top: 0; }
  .profile-contact-actions .button { width: 100%; }
  .biodata-photo-wrap { margin-inline: auto; }
  .biodata-progress-ring { width: 108px; height: 108px; }
  .biodata-progress-ring > div { width: 84px; height: 84px; }
}

@media (prefers-reduced-motion: reduce) {
  .sister-institution-list > article,
  .biodata-detail-grid > div,
  .current-service-grid > article,
  .professional-profile-grid > article,
  .structured-qualification-grid > article { transition: none; }
}
.sister-status-chip.status-formation,
.profile-status-chip.status-formation {
  background: #eef1fb;
  border-color: #d6dcf2;
  color: #4e5f91;
}

/* v2.3.4 - final shared-interface beautification */
:root {
  --control-shadow: 0 0 0 4px rgba(11,79,156,.11);
  --soft-shadow: 0 10px 30px rgba(18,58,99,.065);
}

.skip-link {
  position: fixed;
  z-index: 120;
  top: 10px;
  left: 12px;
  transform: translateY(-140%);
  padding: 10px 14px;
  border-radius: 10px;
  background: #082f63;
  color: #fff;
  font-weight: 850;
  box-shadow: 0 10px 28px rgba(4,31,68,.25);
  transition: transform .16s ease;
}
.skip-link:focus { transform: translateY(0); }

.topbar {
  box-shadow: 0 7px 24px rgba(18,58,99,.045);
}
.topbar-brand-area { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mobile-menu-toggle { display: none; }
.menu-lines { display: grid; gap: 4px; width: 18px; }
.menu-lines i { display: block; height: 2px; border-radius: 99px; background: currentColor; }
.text-size-toggle { font-size: .84rem; }
.topbar form { margin: 0; }
.user-chip {
  padding: 5px 8px 5px 5px;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: background .16s ease, border-color .16s ease;
}
.user-chip:hover { background: #f7faff; border-color: var(--line); }

.nav-mobile-header { display: none; }
.sidebar-backdrop { display: none; }
.sidebar {
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: inset -1px 0 0 rgba(219,231,243,.6);
}
.nav-link { position: relative; line-height: 1.25; }
.nav-link.active::after {
  content: "";
  position: absolute;
  right: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: .42;
}
.nav-workspace-list { padding: 3px; border-radius: 15px; background: #f7f9fc; border: 1px solid #edf1f5; }
.sidebar-note { margin-top: 24px; box-shadow: 0 12px 25px rgba(8,47,99,.15); }

.main-content { padding-bottom: 18px; }
.main-content:focus { outline: none; }
.site-footer {
  margin-top: 38px;
  padding: 20px 4px 6px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  text-align: left;
}
.site-footer-brand { display: flex; align-items: center; gap: 10px; }
.site-footer-brand img { width: 20px; height: 29px; object-fit: contain; opacity: .82; }
.site-footer-brand strong, .site-footer-brand small { display: block; }
.site-footer-brand strong { color: var(--ink); font-family: Georgia, serif; font-size: .94rem; }
.site-footer-brand small { color: var(--muted); font-size: .68rem; }
.site-footer p { margin: 0; color: var(--muted); font-size: .76rem; }

/* Unified controls */
input[type="email"], input[type="password"], input[type="search"], input[type="text"],
input[type="date"], input[type="number"], input[type="tel"], input[type="url"],
input[type="time"], input[type="month"], select, textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #cad8e5;
  border-radius: 13px;
  padding: 11px 13px;
  background: #fff;
  color: var(--ink);
  outline: none;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
textarea { min-height: 112px; resize: vertical; line-height: 1.55; }
select { cursor: pointer; }
input::placeholder, textarea::placeholder { color: #91a0b0; }
input:hover, select:hover, textarea:hover { border-color: #aebfd0; }
input:focus, select:focus, textarea:focus { border-color: var(--wine); box-shadow: var(--control-shadow); }
input:disabled, select:disabled, textarea:disabled,
input[readonly], textarea[readonly] { background: #f2f5f8; color: #68798a; cursor: not-allowed; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--wine); }
.form-field > span:first-child, .data-form label > span:first-child { line-height: 1.35; }
.form-field:focus-within > span:first-child { color: var(--wine); }
.form-field small, .privacy-note { line-height: 1.45; }
.form-grid { row-gap: 20px; }
.form-actions {
  position: relative;
  margin-top: 30px;
  padding-top: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff 22%);
}
.data-form, .form-card { border-color: #d9e4ee; }
.data-form:focus-within, .form-card:focus-within { box-shadow: 0 18px 45px rgba(18,58,99,.09); }

/* Buttons and keyboard focus */
.button { border: 1px solid transparent; line-height: 1.15; }
.button-secondary { border-color: color-mix(in srgb, var(--wine) 16%, #dfe7ef); }
.button-quiet { background: rgba(255,255,255,.78); }
.button-danger:hover { background: #8f1d33; }
.button:focus-visible, .icon-button:focus-visible, .nav-link:focus-visible,
.nav-workspace-link:focus-visible, .mobile-nav a:focus-visible, .mobile-nav button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(32,111,190,.28);
  outline-offset: 3px;
}

/* Alerts, notices and empty states */
.alert {
  position: relative;
  padding: 14px 16px 14px 18px;
  border-radius: 15px;
  border-left-width: 5px;
  box-shadow: 0 8px 20px rgba(18,58,99,.045);
}
.alert strong, .alert > span { display: block; }
.alert > span { margin-top: 3px; font-weight: 500; }
.alert-success { border-left-color: #2d8763; }
.alert-error { border-left-color: #b73750; }
.alert-info { border-left-color: #b1842d; }
.alert-warning { background: #fff7e8; color: #7b5720; border: 1px solid #efd7a6; border-left: 5px solid #c48c2d; }
.notice-card, .gentle-note { box-shadow: var(--soft-shadow); }
.empty-state, .review-empty-state, .institution-empty-state {
  border: 1px dashed #cddae6;
  border-radius: 22px;
  background: linear-gradient(145deg, #fff, #f7fbff);
}
.empty-state.compact-empty { padding: 42px 20px; }
.empty-state p, .review-empty-state p, .institution-empty-state p { max-width: 620px; margin-left: auto; margin-right: auto; }

/* Tables and record rows */
.responsive-table, .responsive-table-wrap, .responsive-table-wrapper,
.completion-table-wrap, .service-history-table-wrap, .review-professional-table-wrap,
.delivery-report-table, .lourdes-table-wrap {
  border-radius: 17px;
  box-shadow: 0 10px 26px rgba(18,58,99,.055);
  scrollbar-width: thin;
  scrollbar-color: #b9cada transparent;
}
.data-table, .responsive-table table, .completion-table, .service-history-table,
.review-professional-table, .delivery-report-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.data-table th, .responsive-table th, .completion-table th, .service-history-table th,
.review-professional-table th, .delivery-report-table th {
  background: #f1f6fb;
  color: #5b6f83;
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.data-table th, .data-table td, .responsive-table th, .responsive-table td,
.service-history-table th, .service-history-table td,
.review-professional-table th, .review-professional-table td {
  padding: 13px 15px;
  border-bottom: 1px solid #e5edf4;
  text-align: left;
  vertical-align: middle;
}
.data-table tbody tr, .responsive-table tbody tr, .completion-table tbody tr,
.service-history-table tbody tr, .review-professional-table tbody tr { transition: background .14s ease; }
.data-table tbody tr:hover, .responsive-table tbody tr:hover, .completion-table tbody tr:hover,
.service-history-table tbody tr:hover, .review-professional-table tbody tr:hover { background: #f8fbfe; }
.data-table tbody tr:last-child td, .responsive-table tbody tr:last-child td,
.service-history-table tbody tr:last-child td, .review-professional-table tbody tr:last-child td { border-bottom: 0; }
.table-panel { border-radius: 20px; box-shadow: var(--soft-shadow); }
.record-row { transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.record-row:hover { transform: translateY(-1px); border-color: #b9cce0; box-shadow: 0 10px 25px rgba(18,58,99,.065); }
.table-actions { flex-wrap: wrap; }
.historical-pagination a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  box-shadow: 0 5px 14px rgba(31,69,84,.055);
}
.historical-pagination a:not(.disabled):hover { transform: translateY(-1px); border-color: #9fbfc3; }

/* Login refinement */
.login-page { background: #fff; }
.login-visual {
  isolation: isolate;
  background:
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.15), transparent 25%),
    radial-gradient(circle at 16% 86%, rgba(211,176,99,.23), transparent 27%),
    linear-gradient(145deg, #062a58 0%, #0b4f9c 58%, #176fb6 100%);
}
.login-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .17;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, #000, transparent 72%);
}
.login-visual-brand { display: flex; align-items: center; gap: 13px; margin-bottom: 46px; }
.login-visual-brand > span {
  width: 54px;
  height: 62px;
  padding: 5px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 17px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
}
.login-visual-brand img { width: 38px; height: 54px; object-fit: contain; }
.login-visual-brand strong, .login-visual-brand small { display: block; }
.login-visual-brand strong { max-width: 360px; font-family: Georgia, serif; font-size: .98rem; line-height: 1.25; }
.login-visual-brand small { margin-top: 4px; color: rgba(255,255,255,.68); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.login-feature-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 30px; max-width: 760px; }
.login-feature-list span { display: flex; align-items: center; gap: 9px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.075); color: rgba(255,255,255,.82); font-size: .78rem; font-weight: 750; }
.login-feature-list b { width: 25px; height: 25px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); color: #f3d99f; font-size: .7rem; }
.login-panel { position: relative; }
.login-panel::before { content: ""; position: absolute; inset: 8% 12%; border-radius: 50%; background: rgba(61,127,190,.08); filter: blur(70px); pointer-events: none; }
.login-card { position: relative; z-index: 1; width: min(465px, 100%); border-color: #d3e0ec; }
.login-kicker { display: block; margin-bottom: 7px; text-align: center; color: var(--wine); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.login-card label { color: #2a4058; font-size: .86rem; }
.password-input-wrap { position: relative; display: block; }
.password-input-wrap input { padding-right: 72px; }
.password-input-wrap button {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  min-width: 54px;
  padding: 7px 9px;
  border: 0;
  border-radius: 9px;
  background: #edf4fb;
  color: var(--wine);
  font-size: .72rem;
  font-weight: 850;
}
.login-submit { margin-top: 5px; justify-content: space-between; padding-left: 20px; padding-right: 17px; }
.login-submit b { font-size: 1.15rem; }
.login-security-note { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 17px; color: var(--muted); text-align: center; }
.login-security-note > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: #e5f4ed; color: #28765b; font-size: .68rem; font-weight: 900; }
.login-security-note small { font-size: .72rem; }
.demo-login-options { font-size: .8rem; line-height: 1.5; }

/* Province-aware shared controls */
.unit-theme-scope { --control-shadow: 0 0 0 4px color-mix(in srgb, var(--unit-theme-accent) 13%, transparent); }
.unit-theme-scope .form-field:focus-within > span:first-child { color: var(--unit-theme-dark); }
.unit-theme-scope input[type="checkbox"], .unit-theme-scope input[type="radio"] { accent-color: var(--unit-theme-accent); }
.unit-theme-scope .data-table th, .unit-theme-scope .responsive-table th,
.unit-theme-scope .completion-table th, .unit-theme-scope .service-history-table th,
.unit-theme-scope .review-professional-table th {
  background: color-mix(in srgb, var(--unit-theme-soft) 72%, #fff);
  color: var(--unit-theme-dark);
}
.unit-theme-scope .data-table tbody tr:hover, .unit-theme-scope .responsive-table tbody tr:hover,
.unit-theme-scope .completion-table tbody tr:hover, .unit-theme-scope .service-history-table tbody tr:hover {
  background: color-mix(in srgb, var(--unit-theme-soft) 48%, #fff);
}
.unit-theme-scope .empty-state, .unit-theme-scope .review-empty-state,
.unit-theme-scope .institution-empty-state { border-color: color-mix(in srgb, var(--unit-theme-accent) 24%, #d5e0e9); background: linear-gradient(145deg, #fff, var(--unit-theme-soft)); }

@media (max-width: 980px) {
  .site-footer { align-items: flex-start; }
  .login-feature-list { grid-template-columns: 1fr; max-width: 480px; }
}

@media (max-width: 860px) {
  .mobile-menu-toggle { display: grid; }
  .topbar { height: 72px; padding: 0 14px; }
  .brand-mark { width: 43px; height: 43px; }
  .brand-mark img { width: 32px; height: 39px; }
  .app-grid { min-height: calc(100vh - 72px); }
  .sidebar {
    display: flex;
    position: fixed;
    z-index: 85;
    top: 0;
    left: 0;
    width: min(88vw, 350px);
    height: 100dvh;
    padding: 14px 15px 28px;
    border-right: 1px solid #d9e4ee;
    box-shadow: 24px 0 55px rgba(5,32,70,.2);
    transform: translateX(-105%);
    transition: transform .22s ease;
  }
  body.nav-open .sidebar { transform: translateX(0); }
  body.nav-open { overflow: hidden; }
  .nav-mobile-header {
    position: sticky;
    z-index: 2;
    top: -14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: -14px -15px 8px;
    padding: 16px 15px 12px;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
  }
  .nav-mobile-header strong, .nav-mobile-header small { display: block; }
  .nav-mobile-header strong { color: var(--wine-dark); font-family: Georgia, serif; }
  .nav-mobile-header small { margin-top: 2px; color: var(--muted); font-size: .7rem; }
  .nav-close-button { font-size: 1.25rem; }
  .sidebar-backdrop {
    display: block;
    position: fixed;
    z-index: 80;
    inset: 0;
    border: 0;
    background: rgba(4,23,48,.48);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease;
  }
  body.nav-open .sidebar-backdrop { opacity: 1; pointer-events: auto; }
  .main-content { padding: 22px 17px 100px; }
  .mobile-nav {
    min-height: 68px;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 2px;
    padding: 7px 5px max(7px, env(safe-area-inset-bottom));
    box-shadow: 0 -9px 28px rgba(18,58,99,.1);
  }
  .mobile-nav a, .mobile-nav button {
    position: relative;
    min-width: 0;
    min-height: 51px;
    display: grid;
    place-content: center;
    gap: 2px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--muted);
    text-align: center;
  }
  .mobile-nav a span, .mobile-nav button span { font-size: 1.15rem; line-height: 1; }
  .mobile-nav a small, .mobile-nav button small { font-size: .61rem; font-weight: 850; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mobile-nav a.active { background: var(--wine-soft); color: var(--wine); }
  .mobile-nav b { position: absolute; top: 2px; right: 19%; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 999px; background: #c48c2d; color: #fff; font-size: .58rem; }
  .site-footer { margin-top: 28px; flex-direction: column; gap: 10px; padding-bottom: 4px; }
  .site-footer p { line-height: 1.5; }
  .login-visual { min-height: auto; padding: 34px 25px 38px; }
  .login-visual-brand { margin-bottom: 30px; }
  .login-visual h1 { font-size: clamp(2.15rem, 8vw, 3.25rem); }
  .login-feature-list { display: none; }
  .motto-card { margin-top: 26px; }
  .login-panel { padding: 28px 20px 42px; }
}

@media (max-width: 620px) {
  .topbar-actions { gap: 7px; }
  .text-size-toggle { width: 38px; height: 38px; }
  .user-chip { padding: 0; border: 0; }
  .avatar { width: 38px; height: 38px; }
  .brand { gap: 9px; }
  .brand-mark { width: 40px; height: 40px; border-radius: 12px; }
  .brand-mark img { width: 30px; height: 37px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field.field-wide, .field-wide { grid-column: auto; }
  .form-actions { flex-direction: column-reverse; align-items: stretch; }
  .form-actions .button { width: 100%; }
  .heading-actions { width: 100%; justify-content: stretch; }
  .heading-actions .button { flex: 1 1 100%; }
  .alert { padding: 13px 14px; }
  .historical-pagination { flex-wrap: wrap; }
  .historical-pagination span { order: -1; width: 100%; text-align: center; }
  .login-visual { padding: 26px 20px 30px; }
  .login-visual-brand > span { width: 48px; height: 56px; }
  .login-visual-brand strong { font-size: .86rem; }
  .login-visual-brand small { font-size: .59rem; }
  .login-card { padding: 28px 22px; border-radius: 24px; }
  .login-logo { width: 80px; height: 88px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* FIHM Connect v2.4.0: secure role foundation and Sister portal */
.sister-portal{display:grid;gap:1.35rem}.sister-portal-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2rem;align-items:center;padding:2rem;border:1px solid var(--unit-border,#dbe4ef);border-radius:28px;background:linear-gradient(135deg,var(--unit-soft,#eef5ff),#fff 58%,var(--unit-pale,#f8fbff));box-shadow:0 18px 50px rgba(32,49,73,.08)}.sister-portal-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-110px;top:-140px;background:var(--unit-accent,#446aa0);opacity:.08}.sister-portal-hero h1{margin:.25rem 0 .65rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;color:#18304e}.sister-portal-hero p{max-width:760px;font-size:1.02rem;color:#52647a}.sister-portal-hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.25rem}.sister-portal-identity{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:.45rem;padding:1.1rem;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid var(--unit-border,#dbe4ef);box-shadow:0 12px 28px rgba(34,54,78,.08)}.sister-portal-identity img,.sister-portal-initial{width:96px;height:112px;object-fit:cover;border-radius:45% 45% 42% 42%;border:4px solid #fff;box-shadow:0 8px 22px rgba(30,49,71,.15)}.sister-portal-initial{display:grid;place-items:center;background:var(--unit-soft,#eaf2ff);color:var(--unit-accent,#365f99);font-family:Georgia,serif;font-size:2.7rem}.sister-portal-identity strong{color:#253b56}.sister-portal-identity small{color:#66768a}.portal-readonly-note{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.15rem;border-radius:18px;border:1px solid #cae6d4;background:#f2fbf5;color:#27573b}.portal-readonly-note>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#d7f1df;font-weight:800}.portal-readonly-note p{margin:.2rem 0 0;color:#52705d}.portal-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.portal-summary-grid a{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:.7rem;padding:1rem 1.1rem;border-radius:20px;border:1px solid var(--unit-border,#dfe7f1);background:#fff;text-decoration:none;box-shadow:0 9px 24px rgba(40,55,78,.055)}.portal-summary-grid a>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--unit-soft,#edf4ff);color:var(--unit-accent,#466b9d);font-size:1.25rem}.portal-summary-grid strong{font-size:1.35rem;color:#203753}.portal-summary-grid small{color:#637388}.portal-section{scroll-margin-top:95px;padding:1.35rem;border-radius:24px;border:1px solid var(--unit-border,#dfe7f1);background:#fff;box-shadow:0 10px 30px rgba(38,55,77,.055)}.portal-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.15rem}.portal-section-heading h2{margin:.15rem 0 .35rem;color:#203650}.portal-section-heading p{margin:0;color:#66768a;max-width:800px}.portal-date-window,.portal-section-count{white-space:nowrap;padding:.5rem .75rem;border-radius:999px;background:var(--unit-soft,#eff5fc);color:var(--unit-accent,#3f6596);font-size:.82rem;font-weight:700}.portal-today-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.8rem}.portal-celebration-card{display:flex;gap:.75rem;align-items:center;padding:.9rem;border-radius:18px;background:linear-gradient(145deg,var(--unit-soft,#f0f5fb),#fff);border:1px solid var(--unit-border,#dfe7f1)}.portal-celebration-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#fff;color:var(--unit-accent,#456a9d);box-shadow:0 5px 14px rgba(30,50,75,.1)}.portal-celebration-card small,.portal-celebration-card p{display:block;margin:0;color:#67778a}.portal-celebration-card strong{display:block;margin:.12rem 0;color:#233a56}.portal-celebration-links{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}.portal-celebration-links a{padding:.45rem .7rem;border-radius:999px;background:#f7f9fc;border:1px solid var(--unit-border,#dfe7f1);font-size:.84rem;font-weight:700;text-decoration:none;color:#385b86}.portal-upcoming-list{display:grid;gap:.7rem}.portal-upcoming-day{display:grid;grid-template-columns:88px 1fr;gap:1rem;padding:.85rem;border-radius:18px;background:#fafbfd;border:1px solid #e5eaf1}.portal-upcoming-date{display:grid;justify-items:center;align-content:center;padding:.65rem;border-radius:14px;background:var(--unit-soft,#edf4fb);color:var(--unit-accent,#3f6596)}.portal-upcoming-date strong{font-size:1.65rem;line-height:1}.portal-upcoming-date span{text-transform:uppercase;font-size:.75rem;font-weight:800;letter-spacing:.08em}.portal-upcoming-date small{margin-top:.2rem;font-size:.68rem}.portal-upcoming-events{display:grid;gap:.55rem}.portal-upcoming-events>div{display:grid;grid-template-columns:110px minmax(160px,1fr) minmax(150px,1fr);align-items:center;gap:.65rem;padding:.45rem .2rem;border-bottom:1px dashed #e2e7ee}.portal-upcoming-events>div:last-child{border-bottom:0}.portal-event-type{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--unit-accent,#426793)}.portal-upcoming-events strong{color:#2a3e56}.portal-upcoming-events small{color:#6c7a8d}.portal-gentle-empty{display:flex;gap:.8rem;align-items:center;padding:1rem;border-radius:18px;background:#fafbfd;border:1px dashed #d8e0e9;color:#5d6f83}.portal-gentle-empty>span{font-size:1.5rem;color:var(--unit-accent,#4a6d98)}.portal-gentle-empty p{margin:.2rem 0 0}.verification-pill{padding:.45rem .7rem;border-radius:999px;background:#edf7f0;color:#3f6d4c;font-size:.78rem;font-weight:800}.portal-personal-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem}.portal-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0}.portal-detail-grid>div{padding:.8rem;border-radius:16px;background:#fafbfd;border:1px solid #e7ebf1}.portal-detail-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#758297}.portal-detail-grid dd{margin:.25rem 0 0;font-weight:700;color:#293e59;overflow-wrap:anywhere}.portal-record-privacy{padding:1.1rem;border-radius:20px;background:linear-gradient(155deg,var(--unit-soft,#edf4fb),#fff);border:1px solid var(--unit-border,#dfe7f1)}.portal-record-privacy>span{font-size:1.7rem;color:var(--unit-accent,#426794)}.portal-record-privacy h3{margin:.4rem 0}.portal-record-privacy p{color:#65758a}.portal-record-privacy a{font-weight:800;color:var(--unit-accent,#3e6392)}.portal-people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.portal-person-card,.portal-responsibility-list article{display:flex;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #e5eaf1;border-radius:17px;background:#fbfcfe}.portal-person-card img,.portal-person-initial{width:48px;height:54px;flex:0 0 48px;border-radius:45%;object-fit:cover}.portal-person-initial{display:grid;place-items:center;background:var(--unit-soft,#eaf2fb);color:var(--unit-accent,#436895);font-family:Georgia,serif;font-size:1.2rem}.portal-person-card strong,.portal-responsibility-list strong{display:block;color:#273d58}.portal-person-card small,.portal-responsibility-list small{display:block;color:#536b86;font-weight:700}.portal-person-card p,.portal-responsibility-list p{margin:.15rem 0 0;color:#7a8797;font-size:.82rem}.portal-role-action{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem;padding:1rem;border-radius:18px;background:var(--unit-soft,#eef4fb);border:1px solid var(--unit-border,#dce5ef)}.portal-role-action strong{color:#273c55}.portal-role-action p{flex:1;min-width:260px;margin:0;color:#5f7084}.portal-province-columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.75fr);gap:1rem}.portal-province-columns h3{margin:.1rem 0 .7rem;color:#31465f}.portal-responsibility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.portal-mission-stat{display:flex;align-items:center;gap:.8rem;padding:.85rem;margin-bottom:.65rem;border-radius:16px;background:#fafbfd;border:1px solid #e5eaf1}.portal-mission-stat strong{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--unit-soft,#edf4fb);color:var(--unit-accent,#416795);font-size:1.25rem}.portal-mission-stat span{color:#5b6e84}.portal-province-button{width:100%;justify-content:center;margin-top:.25rem}.portal-general-team-panel{background:linear-gradient(135deg,#edf4ff,#fff 55%,#f4efff)}.portal-general-team-panel p{max-width:900px;color:#5e7086}.portal-general-team-panel>div{display:flex;gap:.7rem;flex-wrap:wrap}
@media(max-width:1050px){.portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-province-columns{grid-template-columns:1fr}.portal-responsibility-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sister-portal-hero{grid-template-columns:1fr;padding:1.3rem}.sister-portal-identity{grid-template-columns:70px 1fr;justify-items:start;text-align:left}.sister-portal-identity img,.sister-portal-initial{grid-row:1/3;width:64px;height:72px}.portal-section{padding:1rem;border-radius:20px}.portal-section-heading{display:grid}.portal-date-window,.portal-section-count{justify-self:start}.portal-personal-layout{grid-template-columns:1fr}.portal-detail-grid{grid-template-columns:1fr}.portal-upcoming-day{grid-template-columns:66px 1fr}.portal-upcoming-events>div{grid-template-columns:1fr;gap:.12rem}.portal-responsibility-list{grid-template-columns:1fr}}
@media(max-width:500px){.portal-summary-grid{grid-template-columns:1fr}.sister-portal-hero-actions .button{width:100%;justify-content:center}.portal-upcoming-day{grid-template-columns:1fr}.portal-upcoming-date{grid-template-columns:auto auto 1fr;justify-content:start;gap:.35rem}.portal-upcoming-date strong{font-size:1.2rem}.portal-role-action .button{width:100%;justify-content:center}}
.demo-role-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.demo-role-account-grid button{display:grid;text-align:left;padding:.55rem .65rem;border:1px solid #bdd5ee;border-radius:12px;background:#fff;color:#294d73;cursor:pointer}.demo-role-account-grid button:hover{border-color:#729ac5;background:#f4f8fd}.demo-role-account-grid small{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#6e8297}.demo-role-account-grid strong{font-size:.75rem;overflow-wrap:anywhere}@media(max-width:520px){.demo-role-account-grid{grid-template-columns:1fr}}

.portal-celebration-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.portal-celebration-summary a{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center;padding:.72rem;border-radius:16px;border:1px solid var(--unit-border,#dfe7f1);background:linear-gradient(145deg,var(--unit-soft,#f1f6fb),#fff);text-decoration:none}.portal-celebration-summary span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#fff;color:var(--unit-accent,#426793);box-shadow:0 4px 12px rgba(38,55,77,.08)}.portal-celebration-summary strong{font-size:1.05rem;color:#263d58}.portal-celebration-summary small{font-size:.7rem;color:#68798d;white-space:nowrap}.portal-upcoming-list{scroll-margin-top:100px}@media(max-width:1120px){.portal-celebration-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.portal-celebration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-celebration-summary small{white-space:normal}}

/* v2.4.1 - Restore readable Province / Generalate workspace links on the light sidebar */
.nav-workspace-link {
  background: transparent;
  border-color: transparent;
  color: #4b6076;
}
.nav-workspace-link > span {
  color: var(--workspace-nav-accent);
  opacity: 1;
}
.nav-workspace-link strong { color: inherit; }
.nav-workspace-link small { color: #7f90a2; }
.nav-workspace-link:hover {
  background: #ffffff;
  border-color: #dbe6ef;
  color: #233f5d;
  box-shadow: 0 7px 18px rgba(28, 68, 105, .07);
}
.nav-workspace-link.active {
  background: color-mix(in srgb, var(--workspace-nav-accent) 14%, #ffffff);
  border-color: color-mix(in srgb, var(--workspace-nav-accent) 34%, #d8e3ed);
  color: #173d64;
  box-shadow: inset 3px 0 0 var(--workspace-nav-accent), 0 7px 18px rgba(28, 68, 105, .06);
}
.nav-workspace-link:hover small,
.nav-workspace-link.active small { color: #526b83; }
.nav-workspace-link.tone-blue:first-child {
  background: color-mix(in srgb, #8db8ed 12%, #ffffff);
  border-color: color-mix(in srgb, #8db8ed 30%, #d8e3ed);
}
.nav-workspace-link.tone-blue:first-child strong::after {
  background: #dcecff;
  color: #28659f;
}
.nav-workspace-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--workspace-nav-accent) 45%, transparent);
  outline-offset: 2px;
}

/* v2.4.3 - Clear read-only Province profile state */
.profile-readonly-note {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .55rem .85rem;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: .8rem;
  font-weight: 750;
}

/* v2.4.3 - Safe cross-unit celebration profile navigation */
.unit-workspace-readonly-note {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border-top: 1px solid var(--unit-border, #dce6ef);
  background: color-mix(in srgb, var(--unit-soft, #eef5fb) 72%, #ffffff);
  color: #41566f;
}
.unit-workspace-readonly-note > span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background: #ffffff;
  color: var(--unit-accent, #466b98);
}
.unit-workspace-readonly-note div { flex: 1; }
.unit-workspace-readonly-note strong,
.unit-workspace-readonly-note small { display: block; }
.unit-workspace-readonly-note small { margin-top: .1rem; color: #6b7b8d; }
.unit-workspace-readonly-note a { color: var(--unit-accent, #355f91); font-weight: 800; }
.sister-institution-panel .profile-readonly-note {
  min-height: auto;
  border-color: var(--unit-border, #dce6ef);
  background: var(--unit-soft, #eef5fb);
  color: #4d6178;
}
@media (max-width: 700px) {
  .unit-workspace-readonly-note { align-items: flex-start; flex-wrap: wrap; }
  .unit-workspace-readonly-note a { width: 100%; padding-left: 2.95rem; }
}

/* v2.5.1 - Four clear role-based login entrances */
.portal-choice-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(360px, .88fr) minmax(620px, 1.12fr);
  background: #f7faff;
}
.portal-choice-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 6.5vw, 96px);
  color: #fff;
  background:
    radial-gradient(circle at 80% 16%, rgba(255,255,255,.15), transparent 25%),
    radial-gradient(circle at 15% 86%, rgba(214,177,91,.25), transparent 28%),
    linear-gradient(145deg, #062a58 0%, #0b4f9c 58%, #176fb6 100%);
}
.portal-choice-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, #000, transparent 72%);
}
.portal-choice-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -220px;
  bottom: -170px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255,255,255,.03), 0 0 0 110px rgba(255,255,255,.02);
}
.portal-choice-brand {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: clamp(38px, 7vh, 76px);
}
.portal-choice-brand > span {
  width: 72px;
  height: 88px;
  display: grid;
  place-items: center;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 21px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
}
.portal-choice-brand img { width: 58px; height: 82px; object-fit: contain; }
.portal-choice-brand strong, .portal-choice-brand small { display: block; }
.portal-choice-brand strong { max-width: 380px; font-family: Georgia, serif; font-size: 1.06rem; line-height: 1.28; }
.portal-choice-brand small { margin-top: 5px; color: rgba(255,255,255,.7); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.portal-choice-hero h1 {
  max-width: 720px;
  margin: 17px 0 20px;
  font-family: Georgia, serif;
  font-size: clamp(2.65rem, 5vw, 5.25rem);
  font-weight: 600;
  line-height: 1.02;
}
.portal-choice-hero > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.84); font-size: 1.12rem; }
.portal-choice-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5.5vw, 80px);
  background:
    radial-gradient(circle at 88% 12%, rgba(70,132,193,.09), transparent 24%),
    linear-gradient(180deg, #fff, #f5f9ff);
}
.portal-choice-heading { max-width: 740px; margin: 0 auto 26px; text-align: center; }
.portal-choice-heading h2 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: clamp(2rem, 3vw, 2.8rem); }
.portal-choice-heading p { margin: 0; color: var(--muted); }
.portal-choice-grid { width: min(800px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.portal-choice-card {
  --portal-accent: #0b4f9c;
  --portal-soft: #e8f2ff;
  position: relative;
  min-height: 178px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 15px;
  padding: 22px;
  border: 1px solid #d8e3ef;
  border-radius: 23px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 11px 30px rgba(18,58,99,.075);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.portal-choice-card:hover, .portal-choice-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--portal-accent);
  box-shadow: 0 18px 42px rgba(18,58,99,.13);
  outline: none;
}
.portal-choice-card-sister { --portal-accent: #9b5879; --portal-soft: #f8eaf1; }
.portal-choice-card-convent { --portal-accent: #3f7860; --portal-soft: #e7f3ed; }
.portal-choice-card-province { --portal-accent: #655ca5; --portal-soft: #efedfb; }
.portal-choice-card-congregation { --portal-accent: #0b4f9c; --portal-soft: #e8f2ff; }
.portal-choice-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--portal-soft);
  color: var(--portal-accent);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  font-weight: 800;
}
.portal-choice-copy { min-width: 0; }
.portal-choice-copy small { display: block; margin: 1px 0 5px; color: var(--portal-accent); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.portal-choice-copy strong { display: block; margin-bottom: 7px; font-family: Georgia, serif; font-size: 1.27rem; line-height: 1.18; }
.portal-choice-copy > span { display: block; color: #687b8e; font-size: .84rem; line-height: 1.5; }
.portal-choice-arrow { align-self: center; color: var(--portal-accent); font-size: 1.2rem; transition: transform .18s ease; }
.portal-choice-card:hover .portal-choice-arrow { transform: translateX(3px); }
.portal-choice-help {
  width: min(800px, 100%);
  margin: 18px auto 0;
  padding: 14px 17px;
  display: flex;
  gap: 8px 13px;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  border: 1px solid #dbe7f3;
  border-radius: 16px;
  background: rgba(255,255,255,.75);
  color: #617487;
  font-size: .8rem;
  text-align: center;
}
.portal-choice-help strong { color: #29445f; }

.portal-login { --portal-accent: #0b4f9c; --portal-dark: #062a58; --portal-bright: #176fb6; --portal-soft: #e8f2ff; }
.portal-login.portal-sister { --portal-accent: #9b5879; --portal-dark: #64334c; --portal-bright: #b86e90; --portal-soft: #f8eaf1; }
.portal-login.portal-convent { --portal-accent: #3f7860; --portal-dark: #244d3c; --portal-bright: #5d947a; --portal-soft: #e7f3ed; }
.portal-login.portal-province { --portal-accent: #655ca5; --portal-dark: #403873; --portal-bright: #8075be; --portal-soft: #efedfb; }
.portal-login.portal-congregation, .portal-login.portal-all { --portal-accent: #0b4f9c; --portal-dark: #062a58; --portal-bright: #176fb6; --portal-soft: #e8f2ff; }
.portal-login .login-visual {
  background:
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.15), transparent 25%),
    radial-gradient(circle at 16% 86%, rgba(230,198,126,.22), transparent 27%),
    linear-gradient(145deg, var(--portal-dark) 0%, var(--portal-accent) 58%, var(--portal-bright) 100%);
}
.portal-login .login-kicker { color: var(--portal-accent); }
.portal-login .button-primary { background: var(--portal-accent); box-shadow: 0 7px 18px color-mix(in srgb, var(--portal-accent) 25%, transparent); }
.portal-login .button-primary:hover { background: var(--portal-dark); }
.portal-login input:focus { border-color: var(--portal-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--portal-accent) 13%, transparent); }
.portal-login .password-input-wrap button { background: var(--portal-soft); color: var(--portal-accent); }
.login-back-link {
  position: absolute;
  top: 18px;
  left: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #64778a;
  font-size: .72rem;
  font-weight: 800;
}
.login-back-link:hover { color: var(--portal-accent); }
.portal-correction-link {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #7f2438;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.login-portal-switcher {
  margin-top: 18px;
  padding-top: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  border-top: 1px solid #e1e9f2;
}
.login-portal-switcher a {
  padding: 6px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #587086;
  font-size: .67rem;
  font-weight: 800;
}
.login-portal-switcher a:hover, .login-portal-switcher a:focus-visible { background: var(--portal-soft); color: var(--portal-accent); outline: none; }

@media (max-width: 1120px) {
  .portal-choice-page { grid-template-columns: 1fr; }
  .portal-choice-hero { min-height: auto; padding: 42px 36px 46px; }
  .portal-choice-brand { margin-bottom: 34px; }
  .portal-choice-hero h1 { max-width: 880px; font-size: clamp(2.5rem, 6vw, 4.2rem); }
  .portal-choice-panel { padding: 42px 28px 52px; }
}
@media (max-width: 720px) {
  .portal-choice-grid { grid-template-columns: 1fr; }
  .portal-choice-card { min-height: 0; }
  .portal-choice-hero { padding: 32px 23px 38px; }
  .portal-choice-brand > span { width: 60px; height: 74px; }
  .portal-choice-brand img { width: 48px; height: 68px; }
  .portal-choice-hero h1 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .portal-choice-hero > p { font-size: 1rem; }
  .portal-choice-panel { padding: 35px 19px 44px; }
}
@media (max-width: 460px) {
  .portal-choice-card { grid-template-columns: auto minmax(0, 1fr); padding: 18px; border-radius: 19px; }
  .portal-choice-arrow { display: none; }
  .portal-choice-mark { width: 43px; height: 43px; border-radius: 13px; }
  .portal-choice-copy strong { font-size: 1.14rem; }
  .login-back-link { position: static; margin: -4px 0 18px; }
}

/* v2.5.3 - dynamic login access and official appointment governance */
.access-governance-note { margin-bottom: 20px; }
.access-role-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 22px;
}
.access-role-summary article {
  min-height: 118px;
  padding: 18px;
  border: 1px solid #dce6f0;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff, #f5f8fc);
  box-shadow: 0 8px 22px rgba(22, 54, 84, .06);
}
.access-role-summary span { display: block; color: #0b4f9c; font: 800 1.8rem/1.1 Georgia, serif; }
.access-role-summary strong { display: block; margin-top: 8px; color: #17324d; font-size: .86rem; }
.access-role-summary small { display: block; margin-top: 5px; color: #6c7f92; font-size: .7rem; }
.access-register-panel .panel-heading { align-items: end; }
.compact-filter { margin: 0; min-width: min(320px, 100%); }
.access-register-list { display: grid; gap: 10px; }
.access-register-row {
  display: grid;
  grid-template-columns: 46px minmax(220px, 1.25fr) minmax(240px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 15px;
  border: 1px solid #e0e8f0;
  border-radius: 17px;
  background: #fff;
}
.access-person-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #eaf2fb;
  color: #0b4f9c;
  font-weight: 900;
}
.access-person-copy strong, .access-scope-copy strong { color: #17324d; }
.access-person-copy small, .access-scope-copy small { display: block; color: #718397; font-size: .72rem; }
.access-person-copy p, .access-scope-copy p { margin: 5px 0 0; color: #516779; font-size: .78rem; }
.access-role-pill {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf3f9;
  color: #34536f;
  font-size: .68rem;
  font-weight: 900;
}
.access-role-pill.role-general_team { background: #e8f2ff; color: #0b4f9c; }
.access-role-pill.role-provincial_secretary { background: #f2edff; color: #5a47a2; }
.access-role-pill.role-provincial { background: #fff1e4; color: #9a5625; }
.access-role-pill.role-provincial_councillor { background: #eef4ff; color: #425e95; }
.access-role-pill.role-convent_superior { background: #e9f5ef; color: #2e7659; }
.access-current-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 20px;
  padding: 22px;
  margin-bottom: 20px;
  border: 1px solid #dce7f1;
  border-radius: 23px;
  background: linear-gradient(135deg, #f8fbff, #ffffff);
}
.access-current-card h2 { margin: 4px 0; }
.access-current-card p { margin: 0; color: #5e7285; }
.access-current-card dl { display: grid; gap: 9px; margin: 0; }
.access-current-card dl div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; }
.access-current-card dt { color: #708397; font-size: .72rem; font-weight: 800; }
.access-current-card dd { margin: 0; color: #203d58; font-weight: 700; }
.access-appointment-form .gentle-note { margin-top: 20px; }

@media (max-width: 1180px) {
  .access-role-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .access-register-row { grid-template-columns: 46px minmax(200px, 1fr) minmax(220px, 1fr); }
  .access-register-row .record-actions { grid-column: 2 / -1; }
}
@media (max-width: 760px) {
  .access-role-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .access-register-panel .panel-heading { align-items: stretch; }
  .access-register-row { grid-template-columns: 42px minmax(0, 1fr); }
  .access-scope-copy, .access-register-row .record-actions { grid-column: 2; }
  .access-current-card { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .access-role-summary { grid-template-columns: 1fr; }
  .access-current-card dl div { grid-template-columns: 1fr; gap: 2px; }
}
.login-appointment-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0 0 17px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--portal-accent) 18%, #dce6ef);
  border-radius: 14px;
  background: color-mix(in srgb, var(--portal-soft) 72%, #fff);
  color: #4f6478;
}
.login-appointment-note span { color: var(--portal-accent); font-weight: 900; }
.login-appointment-note small { line-height: 1.45; }
.migration-heading{background:linear-gradient(135deg,#fffaf0,#edf5ff);border:1px solid #dce8f4;border-radius:26px;padding:28px}.migration-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.migration-steps div{background:#f5f3f0;color:#777;border-radius:16px;padding:14px;display:flex;gap:10px;align-items:center}.migration-steps .active{background:#173b66;color:#fff}.migration-steps b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18)}.migration-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.migration-upload,.migration-safety{padding:26px}.migration-symbol{width:58px;height:58px;border-radius:18px;background:#e8f1fb;color:#173b66;display:grid;place-items:center;font-size:30px}.migration-picker{display:flex;flex-direction:column;border:2px dashed #aec5db;border-radius:16px;padding:22px;margin:18px 0;background:#f8fbff}.migration-picker input{margin-bottom:10px}.migration-safety ul{padding-left:22px;line-height:1.9}.migration-preview{margin-top:24px;padding:24px}.migration-fields{padding:14px 16px;background:#f6f2ff;border-radius:12px;margin:14px 0}.migration-row{border:1px solid #dce3eb;border-left:6px solid #789;border-radius:16px;padding:16px;margin:14px 0;background:#fff}.migration-row.status-ready{border-left-color:#2e8b57}.migration-row.status-review{border-left-color:#d48b16}.migration-row.status-blocked{border-left-color:#b84040}.migration-row.status-unchanged{border-left-color:#789}.migration-row header{display:flex;justify-content:space-between}.migration-row header div{display:grid;gap:3px}.status-pill{text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.08em}.migration-change-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.migration-change-grid>div{display:grid;gap:4px;background:#f7f9fb;border-radius:10px;padding:12px}.migration-change-grid span,.migration-change-grid small{color:#64748b}.migration-change-grid em{font-size:11px;text-transform:uppercase;font-style:normal;font-weight:800}.change-new{color:#23764a}.change-review,.change-protected{color:#b26a00}.change-match{color:#627184}.migration-errors{color:#a53131;background:#fff1f1;padding:8px 12px;border-radius:10px;margin-top:10px}.migration-field-choice{display:flex;align-items:center;gap:8px;margin-top:7px;padding-top:8px;border-top:1px solid #dce5ec;font-weight:700;color:#173b66}.migration-field-choice input{width:18px;height:18px;accent-color:#173b66}.migration-field-locked{margin-top:7px;padding-top:8px;border-top:1px solid #e1e5e8;font-size:12px;font-weight:700;color:#9a6060!important}.migration-approval{display:grid;gap:16px;margin-top:22px;padding-top:20px;border-top:1px solid #dce3eb}.migration-approval>label{display:grid;gap:7px;max-width:420px}.migration-approval input{padding:12px 14px;border:1px solid #afbecd;border-radius:10px;font:inherit}.migration-approval .button{justify-self:start}@media(max-width:800px){.migration-layout,.migration-change-grid,.migration-steps{grid-template-columns:1fr}}
/* v2.12.0 simplified Congregation dashboard */
.clean-dashboard{display:grid;gap:1rem;max-width:1480px;margin:0 auto}.clean-dashboard-hero{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.45rem 1.65rem;border:1px solid #dce5ef;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#fff 55%,#f7f2fb);box-shadow:0 12px 34px rgba(31,58,86,.07)}.clean-dashboard-hero h1{margin:.2rem 0 .35rem;color:#243c59;font-size:clamp(1.75rem,3vw,2.65rem)}.clean-dashboard-hero p{margin:0;color:#687789}.clean-dashboard-date{display:grid;gap:.2rem;min-width:205px;padding:.85rem 1rem;border-radius:17px;background:#fff;border:1px solid #e1e8ef;text-align:right}.clean-dashboard-date small{color:#8793a0;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.clean-dashboard-date strong{color:#334d69}.clean-dashboard-search{display:grid;grid-template-columns:1fr auto;gap:.65rem;padding:.7rem;border:1px solid #dfe7ee;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(40,60,80,.05)}.clean-dashboard-search input{min-width:0;padding:.8rem 1rem;border:0;outline:0;font-size:.92rem}.clean-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.clean-dashboard-stats>a{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;padding:1rem 1.1rem;border:1px solid #e0e7ed;border-radius:18px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(36,55,75,.045)}.clean-dashboard-stats span{color:#6d7a87;font-size:.76rem;font-weight:850}.clean-dashboard-stats strong{grid-row:1/3;grid-column:2;font-family:Georgia,serif;font-size:2rem;color:#284967}.clean-dashboard-stats small{color:#8a96a1}.clean-dashboard-stats .clean-stat-generalate{border-color:#ddd2e9;background:#faf7fd}.clean-dashboard-section{padding:1.2rem 1.25rem;border:1px solid #e1e8ee;border-radius:22px;background:#fff}.clean-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:.9rem}.clean-section-heading h2{margin:.15rem 0 0;color:#30465c;font-size:1.25rem}.clean-section-heading>a{color:#506f8c;font-size:.76rem;font-weight:900}.clean-celebration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.clean-celebration-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.9rem;border:1px solid;border-radius:17px;color:inherit;text-decoration:none}.clean-celebration-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.75);font-size:1.1rem}.clean-celebration-card small,.clean-celebration-card strong{display:block}.clean-celebration-card small{font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.clean-celebration-card strong{margin:.05rem 0;font-family:Georgia,serif;font-size:1.45rem}.clean-celebration-card p{overflow:hidden;margin:0;color:#6f777d;font-size:.66rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.clean-celebration-card em{font-size:.67rem;font-style:normal;font-weight:900}.celebration-birthday{border-color:#edd8c9;background:#fff8f2}.celebration-feast{border-color:#d2e3d5;background:#f5fbf6}.celebration-profession{border-color:#dadcef;background:#f7f7fd}.celebration-remembrance{border-color:#d7e0e7;background:#f6f9fb}.clean-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.clean-unit-grid>a{display:grid;gap:.25rem;padding:1rem 1.05rem;border:1px solid #dfe6ec;border-left:5px solid #6e89a5;border-radius:17px;background:#fbfdff;color:inherit;text-decoration:none}.clean-unit-grid span{color:#7a8794;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.clean-unit-grid strong{color:#33495f;font-size:.95rem}.clean-unit-grid small{color:#84909b}.clean-unit-grid em{margin-top:.25rem;color:#526f8b;font-size:.69rem;font-style:normal;font-weight:900}.clean-unit-grid .unit-generalate{border-left-color:#80669b;background:#fbf8fd}.clean-unit-grid .unit-lourdes{border-left-color:#7fa8cd}.clean-unit-grid .unit-stjoseph{border-left-color:#74a58e}.clean-unit-grid .unit-infant{border-left-color:#d19aa9}.clean-unit-grid .unit-assisi{border-left-color:#c28d68}.clean-unit-grid .unit-dupuis{border-left-color:#aa8dbd}.clean-dashboard-more{border:1px solid #e0e7ed;border-radius:20px;background:#fff}.clean-dashboard-more summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;cursor:pointer;list-style:none}.clean-dashboard-more summary::-webkit-details-marker{display:none}.clean-dashboard-more summary span{display:grid;gap:.15rem}.clean-dashboard-more summary strong{color:#344c63}.clean-dashboard-more summary small{color:#87939e}.clean-dashboard-more summary b{font-size:1.25rem;color:#6f8090}.clean-dashboard-more[open] summary b{transform:rotate(45deg)}.clean-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0 1.2rem 1.2rem}.clean-more-grid section{display:grid;gap:.35rem;padding:1rem;border-radius:15px;background:#f7f9fb}.clean-more-grid h3{margin:0 0 .25rem;color:#40566b;font-size:.8rem}.clean-more-grid a{padding:.38rem 0;border-bottom:1px solid #e3e8ed;color:#66798b;font-size:.72rem;text-decoration:none}.clean-dashboard-motto{display:flex;gap:.7rem;align-items:center;justify-content:center;padding:.8rem;color:#6d7882;text-align:center}.clean-dashboard-motto>span{font-family:Georgia,serif;font-size:2rem;color:#9b87aa}.clean-dashboard-motto p{display:grid;gap:.15rem;margin:0}.clean-dashboard-motto small{font-size:.67rem}@media(max-width:1100px){.clean-celebration-grid{grid-template-columns:repeat(2,1fr)}.clean-dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.clean-dashboard-hero{align-items:flex-start;flex-direction:column}.clean-dashboard-date{min-width:0;width:100%;text-align:left}.clean-dashboard-search{grid-template-columns:1fr}.clean-unit-grid,.clean-more-grid{grid-template-columns:1fr}}@media(max-width:560px){.clean-dashboard-stats,.clean-celebration-grid{grid-template-columns:1fr}.clean-dashboard-section{padding:1rem}.clean-section-heading{align-items:flex-start;flex-direction:column}}
/* FIHM Family Circle */
.circle-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;border-radius:24px;background:linear-gradient(135deg,#fff5f8,#f2f0ff);border:1px solid #eadce5;margin-bottom:20px}.circle-hero h1{margin:.25rem 0;color:#6e3155}.circle-hero p{margin:0;color:#675563}.circle-hero-mark{font-size:64px;color:#b65d8a}.circle-notice{padding:13px 16px;border-radius:12px;background:#e9f8ef;color:#20643d;margin-bottom:16px}.circle-composer{margin-bottom:24px}.circle-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.circle-composer label{display:grid;gap:6px;font-weight:700;color:#513f4b;margin-bottom:12px}.circle-composer select,.circle-composer textarea,.circle-reply-form input{width:100%;border:1px solid #d9ccd4;border-radius:12px;padding:11px;background:#fff;font:inherit}.prepared-wishes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.prepared-wishes span{font-weight:700}.prepared-wishes button,.circle-actions button{border:1px solid #e3d2dc;border-radius:999px;background:#fff8fb;color:#6e3155;padding:7px 11px;cursor:pointer}.circle-feed{max-width:850px;margin:auto}.circle-post{background:#fff;border:1px solid #e8dfe5;border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 5px 18px rgba(62,34,52,.06)}.circle-post header{display:flex;align-items:center;gap:11px}.circle-post header div:nth-child(2){display:grid;flex:1}.circle-post header small{color:#7a6a74}.circle-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#7f4266;color:white;font-weight:800}.circle-type{font-size:12px;text-transform:capitalize;background:#f2edf5;border-radius:999px;padding:5px 9px}.type-announcement{background:#fff1cd;color:#715400}.circle-message{font-size:1.05rem;line-height:1.6}.circle-actions{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #f0e8ed;padding-top:11px}.circle-actions form{margin:0}.circle-actions .circle-hide{color:#9b3030}.circle-replies{margin:12px 0 8px 42px;padding-left:12px;border-left:3px solid #eddbe5}.circle-replies p{margin:7px 0}.circle-reply-form{display:flex;gap:8px;margin-top:12px}.circle-reply-form button{border:0;border-radius:10px;background:#74415f;color:#fff;padding:0 16px}.circle-empty{text-align:center;padding:40px;background:#fff;border-radius:18px}.circle-empty span{font-size:35px;color:#b65d8a}.circle-post.is-hidden{opacity:.62}.circle-hidden-note{color:#9b3030;font-weight:700}@media(max-width:700px){.circle-form-grid{grid-template-columns:1fr}.circle-hero{padding:20px}.circle-hero-mark{font-size:40px}.circle-post header{align-items:flex-start}.circle-type{display:none}.circle-replies{margin-left:12px}}
/* FIHM Books Library */
.books-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;border-radius:24px;background:linear-gradient(135deg,#f8f2e7,#eef7f4);border:1px solid #e2d7c4;margin-bottom:1rem}.books-hero h1{margin:.3rem 0;color:#274b45}.books-hero p{margin:0;color:#58706b}.books-hero-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:#fff;color:#a06f39;font-size:2rem;box-shadow:0 12px 30px rgba(55,78,70,.12)}
.book-filter-form{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(160px,1fr)) auto;gap:1rem;align-items:end;margin:1.2rem 0}.book-filter-form label{display:grid;gap:.4rem}.book-filter-form label span{font-weight:700;color:#3b5954}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem}.book-card{overflow:hidden;border:1px solid #e4ddd1;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(51,67,62,.08)}.book-cover{height:300px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.8rem;text-decoration:none;background:linear-gradient(145deg,#315d56,#527b72);color:#fff}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover span{font-size:.78rem;letter-spacing:.2em}.book-cover strong{font-family:Georgia,serif;font-size:1.35rem}.book-cover small{opacity:.85}.book-card-body{padding:1.25rem}.book-card-body h2{font-size:1.18rem;margin:.7rem 0}.book-card-body h2 a{color:#254b45;text-decoration:none}.book-card-body p{color:#62706d}.book-author{margin:.2rem 0}.book-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.book-detail-layout{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:2.5rem;align-items:start}.book-detail-cover img,.book-cover-large{width:100%;min-height:430px;border-radius:22px;object-fit:cover;box-shadow:0 16px 40px rgba(42,62,56,.16)}.book-detail-copy h1{font-family:Georgia,serif;color:#274b45;font-size:clamp(2rem,4vw,3.2rem)}.book-detail-author{font-size:1.15rem}.book-description{font-size:1.05rem;line-height:1.75;max-width:780px}.book-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.book-file-grid .document-file-uploader{margin:0}.book-file-grid em{display:block;margin-top:.5rem;color:#63736f;font-style:normal}
@media(max-width:800px){.book-filter-form,.book-detail-layout,.book-file-grid{grid-template-columns:1fr}.books-hero-mark{display:none}.book-detail-cover{max-width:320px;margin:auto}.book-cover{height:260px}}
.circle-visibility-note{display:grid;align-content:center;gap:4px;padding:12px 14px;border:1px solid #d9eadf;border-radius:12px;background:#f2fbf5;color:#28563a}.circle-visibility-note span{font-size:.9rem;font-weight:400}

/* v2.22.0 - Under Generalate Directory Linkage */
.ugl-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px;padding:30px;border-radius:28px;background:linear-gradient(135deg,#526985 0%,#71869f 55%,#9b94ad 100%);color:#fff;box-shadow:0 18px 42px rgba(52,67,88,.16);position:relative;overflow:hidden}.ugl-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.09);right:-110px;top:-125px}.ugl-hero-copy{position:relative;z-index:1}.ugl-hero h1{margin:7px 0 12px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.04}.ugl-hero p{max-width:800px;color:rgba(255,255,255,.9);font-size:1.02rem;line-height:1.65}.ugl-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ugl-authority-card{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}.ugl-authority-card small{color:rgba(255,255,255,.78);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.7rem;margin-top:7px}.ugl-authority-card strong{font-size:1.02rem}.ugl-authority-card span{font-size:.86rem;color:rgba(255,255,255,.86)}.ugl-source-rule{display:flex;gap:13px;align-items:flex-start;margin:18px 0 0;padding:15px 18px;border:1px solid #cfe0d6;border-radius:17px;background:#f4faf6;color:#3f6150}.ugl-source-rule>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#dceee3;font-weight:900}.ugl-source-rule strong{display:block;margin-bottom:3px}.ugl-source-rule p{margin:0;color:#607568;line-height:1.55}.ugl-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 26px}.ugl-metrics article{padding:17px;border-radius:18px;background:#fff;border:1px solid #e0e6ec;box-shadow:0 7px 22px rgba(48,61,79,.05)}.ugl-metrics span,.ugl-metrics small{display:block;color:#718094}.ugl-metrics span{font-weight:700;font-size:.78rem}.ugl-metrics strong{display:block;margin:5px 0 4px;font-size:1.75rem;color:#33475f}.ugl-metrics article.is-good{background:#f7fbf8;border-color:#d7e8dc}.ugl-metrics article.is-warning{background:#fffaf2;border-color:#ecd6af}.ugl-section{margin:26px 0;padding:23px;border-radius:25px;background:#fff;border:1px solid #e2e7ed;box-shadow:0 9px 28px rgba(48,61,79,.055)}.ugl-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.ugl-section-heading h2{margin:4px 0 6px;color:#293d55}.ugl-section-heading p{margin:0;max-width:790px;color:#6c7b8e;line-height:1.55}.ugl-status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}.ugl-status-pill.is-good{background:#e9f5ed;color:#47705a}.ugl-status-pill.is-warning{background:#fff0d9;color:#865f25}.ugl-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ugl-community-card{padding:18px;border-radius:20px;border:1px solid #e1e7ed;background:linear-gradient(145deg,#fff,#fbfcfd)}.ugl-community-card.needs-review{border-color:#e6d5bb;background:linear-gradient(145deg,#fff,#fffaf4)}.ugl-community-card header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ugl-community-card h3{margin:4px 0 5px;font-size:1.16rem}.ugl-community-card h3 a{color:#314961;text-decoration:none}.ugl-community-card h3 a:hover{text-decoration:underline}.ugl-community-card header p{margin:0;color:#748194;font-size:.86rem;line-height:1.45}.ugl-community-count{min-width:58px;text-align:center;padding:9px;border-radius:14px;background:#edf2f7}.ugl-community-count strong,.ugl-community-count small{display:block}.ugl-community-count strong{font-size:1.35rem;color:#334b64}.ugl-community-count small{font-size:.7rem;color:#748295}.ugl-community-facts{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.ugl-community-facts span{padding:6px 9px;border-radius:999px;background:#f3f5f7;color:#657487;font-size:.76rem}.ugl-community-facts strong{color:#374d65}.ugl-ministry-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 13px}.ugl-ministry-tags span{padding:5px 8px;border-radius:8px;background:#eef2f8;color:#52677f;font-size:.74rem;font-weight:700}.ugl-institution-list{display:grid;gap:7px}.ugl-institution-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border-radius:13px;border:1px solid #e4e9ee;background:#fff;text-decoration:none;color:inherit}.ugl-institution-row:hover{border-color:#aab9c8}.ugl-institution-row.needs-team{background:#fffaf3;border-color:#ead8ba}.ugl-institution-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#e9f4ed;color:#4b735b;font-weight:900}.ugl-institution-row.needs-team .ugl-institution-icon{background:#fff0d8;color:#8a642b}.ugl-institution-row strong,.ugl-institution-row small{display:block}.ugl-institution-row strong{color:#354b62;font-size:.88rem}.ugl-institution-row small{color:#788699;font-size:.75rem;margin-top:2px}.ugl-institution-row em{font-style:normal;color:#788699;font-size:.78rem}.ugl-review-detail{margin-top:11px;padding:10px 12px;border-radius:13px;background:#fff7ea;border:1px solid #edd9b7}.ugl-review-detail summary{cursor:pointer;font-weight:800;color:#7b5b2c;font-size:.82rem}.ugl-review-detail p{margin:8px 0 0;color:#75654e;font-size:.82rem;line-height:1.5}.ugl-empty-inline{padding:12px;border-radius:13px;background:#f5f7f9;color:#738093;font-size:.82rem}.ugl-review-zone{background:linear-gradient(145deg,#fffdf9,#fff)}.ugl-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.ugl-review-grid>article{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border-radius:18px;border:1px solid #e4e7eb;background:#fff}.ugl-review-grid small{color:#768497}.ugl-review-grid h3{margin:3px 0 7px;color:#33475f;font-size:1rem}.ugl-review-grid p{margin:6px 0;color:#68778a;line-height:1.5;font-size:.86rem}.ugl-review-grid a{color:#405d7b}.ugl-review-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#eef2f7;color:#526a83;font-weight:900}.ugl-compact-names{display:grid;gap:4px;margin-top:9px}.ugl-compact-names a{padding:5px 7px;border-radius:8px;background:#f5f7fa;text-decoration:none;font-size:.78rem}.ugl-spelling-list{margin-top:8px}.ugl-spelling-list summary{cursor:pointer;font-weight:800;color:#526a83}.ugl-spelling-list>div{max-height:280px;overflow:auto;margin-top:8px;padding-right:5px}.ugl-spelling-list p{padding-bottom:7px;border-bottom:1px solid #edf0f3}.ugl-zero-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ugl-zero-team-grid article{padding:16px;border-radius:17px;background:#fffaf3;border:1px solid #ead8b9}.ugl-zero-team-grid span{font-size:.72rem;font-weight:800;color:#846338;text-transform:uppercase;letter-spacing:.05em}.ugl-zero-team-grid h3{margin:5px 0}.ugl-zero-team-grid h3 a{color:#4a5f76;text-decoration:none}.ugl-zero-team-grid p{margin:0 0 7px;color:#756a5c;line-height:1.5;font-size:.84rem}.ugl-zero-team-grid small{color:#8b7d6a}.ugl-all-good,.ugl-final-note{display:flex;gap:13px;align-items:flex-start;padding:16px;border-radius:17px}.ugl-all-good{background:#f2f9f4;border:1px solid #d3e7d8}.ugl-final-note{margin:22px 0;background:#eef4fa;border:1px solid #d4e0ec;color:#41586f}.ugl-all-good>span,.ugl-final-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dfeee4;color:#4d7059;font-weight:900}.ugl-final-note>span{background:#dce7f1;color:#526a83}.ugl-all-good strong,.ugl-final-note strong{display:block}.ugl-all-good p,.ugl-final-note p{margin:3px 0 0;color:#68798a;line-height:1.5}
@media(max-width:1150px){.ugl-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ugl-community-grid{grid-template-columns:1fr}}
@media(max-width:780px){.ugl-hero{grid-template-columns:1fr;padding:23px}.ugl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ugl-section{padding:17px}.ugl-section-heading{display:block}.ugl-status-pill{margin-top:10px}.ugl-review-grid,.ugl-zero-team-grid{grid-template-columns:1fr}.ugl-community-card header{display:block}.ugl-community-count{display:inline-block;margin-top:10px}.ugl-community-facts{display:grid}.ugl-institution-row{grid-template-columns:30px minmax(0,1fr)}.ugl-institution-row em{display:none}}
@media(max-width:480px){.ugl-metrics{grid-template-columns:1fr}.ugl-hero-actions{display:grid}.ugl-hero-actions .button{width:100%;justify-content:center}}

/* v2.23.0 - Lourdes Province Directory Linkage */
.lpl-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:22px;padding:31px;border-radius:28px;background:linear-gradient(135deg,#596f93 0%,#778bb1 52%,#b5a9c8 100%);color:#fff;box-shadow:0 18px 44px rgba(66,78,110,.16);position:relative;overflow:hidden}.lpl-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.09);right:-120px;top:-130px}.lpl-hero-copy,.lpl-authority-card{position:relative;z-index:1}.lpl-breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.76)}.lpl-breadcrumbs a{color:#fff;text-decoration:none}.lpl-kicker,.lpl-eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.lpl-kicker{display:block;margin-top:16px;color:#f3effa}.lpl-hero h1{margin:7px 0 12px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.04}.lpl-hero p{max-width:820px;color:rgba(255,255,255,.91);font-size:1.02rem;line-height:1.66}.lpl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.lpl-button-primary{background:#fff!important;color:#526785!important;border-color:#fff!important}.lpl-button-soft{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important}.lpl-authority-card{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.13);backdrop-filter:blur(8px)}.lpl-authority-card span{font-size:.78rem;color:rgba(255,255,255,.78);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.lpl-authority-card strong{font-size:1rem}.lpl-authority-card small{color:rgba(255,255,255,.8);line-height:1.45}.lpl-authority-card hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.22);margin:10px 0}.lpl-source-rule,.lpl-info-note,.lpl-final-note,.lpl-all-good{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;border-radius:17px}.lpl-source-rule{margin:18px 0 0;background:#f4f9f6;border:1px solid #d2e5d8;color:#496456}.lpl-source-rule>span,.lpl-info-note>span,.lpl-final-note>span,.lpl-all-good>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;font-weight:900}.lpl-source-rule>span,.lpl-all-good>span{background:#dceee3;color:#4f715b}.lpl-source-rule strong,.lpl-info-note strong,.lpl-final-note strong,.lpl-all-good strong{display:block}.lpl-source-rule p,.lpl-info-note p,.lpl-final-note p,.lpl-all-good p{margin:3px 0 0;line-height:1.55}.lpl-source-rule p{color:#65796c}.lpl-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 26px}.lpl-metrics article{padding:17px;border-radius:18px;background:#fff;border:1px solid #e1e6ed;box-shadow:0 7px 22px rgba(53,64,87,.05)}.lpl-metrics span,.lpl-metrics small{display:block;color:#748197}.lpl-metrics span{font-weight:750;font-size:.77rem}.lpl-metrics strong{display:block;margin:5px 0 4px;font-size:1.72rem;color:#3e506e}.lpl-metrics article.is-good{background:#f7fbf8;border-color:#d8e8dd}.lpl-metrics article.is-warning{background:#fffaf3;border-color:#ead6b6}.lpl-section{margin:26px 0;padding:23px;border-radius:25px;background:#fff;border:1px solid #e2e7ee;box-shadow:0 9px 28px rgba(48,61,79,.055)}.lpl-family-section{background:linear-gradient(145deg,#fcfbff,#fff)}.lpl-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.lpl-section-heading h2{margin:4px 0 6px;color:#344764}.lpl-section-heading p{margin:0;max-width:820px;color:#6f7c90;line-height:1.56}.lpl-eyebrow{color:#7885a6}.lpl-status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:850;white-space:nowrap}.lpl-status-pill.is-good{background:#e9f4ed;color:#4c7059}.lpl-status-pill.is-warning{background:#fff0da;color:#825f2b}.lpl-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:11px}.lpl-family-grid article{padding:15px;border-radius:16px;background:#f7f6fb;border:1px solid #e5e1ee}.lpl-family-grid span,.lpl-family-grid small{display:block;color:#74788b}.lpl-family-grid span{font-size:.75rem;font-weight:800}.lpl-family-grid strong{display:block;margin:5px 0;font-size:1.55rem;color:#53617e}.lpl-info-note{margin-top:15px;background:#f0f5fb;border:1px solid #d6e2ef;color:#49627b}.lpl-info-note>span{background:#dce8f3;color:#56708a}.lpl-info-note p{color:#687b8e}.lpl-community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.lpl-community-card{padding:18px;border-radius:20px;border:1px solid #e1e6ed;background:linear-gradient(145deg,#fff,#fcfcfe)}.lpl-community-card.needs-review{border-color:#e5d5bb;background:linear-gradient(145deg,#fff,#fffaf4)}.lpl-community-card header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lpl-community-card h3{margin:4px 0 5px;font-size:1.15rem}.lpl-community-card h3 a{color:#405571;text-decoration:none}.lpl-community-card h3 a:hover{text-decoration:underline}.lpl-community-card header p{margin:0;color:#778398;font-size:.85rem;line-height:1.45}.lpl-community-count{min-width:58px;text-align:center;padding:9px;border-radius:14px;background:#f0eef6}.lpl-community-count strong,.lpl-community-count small{display:block}.lpl-community-count strong{font-size:1.35rem;color:#53617e}.lpl-community-count small{font-size:.7rem;color:#7c8295}.lpl-community-facts{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.lpl-community-facts span{padding:6px 9px;border-radius:999px;background:#f3f5f8;color:#69768a;font-size:.75rem}.lpl-community-facts strong{color:#405571}.lpl-ministry-tags{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 13px}.lpl-ministry-tags span{padding:5px 8px;border-radius:8px;background:#f0eef7;color:#5f6381;font-size:.73rem;font-weight:750}.lpl-institution-list{display:grid;gap:7px}.lpl-institution-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border-radius:13px;border:1px solid #e4e8ee;background:#fff;text-decoration:none;color:inherit}.lpl-institution-row:hover{border-color:#abb6ca}.lpl-institution-row.needs-team{background:#fffaf3;border-color:#e9d8bb}.lpl-institution-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#e8f3ec;color:#4d745b;font-weight:900}.lpl-institution-row.needs-team .lpl-institution-icon{background:#fff0d8;color:#89632b}.lpl-institution-row strong,.lpl-institution-row small{display:block}.lpl-institution-row strong{color:#40536d;font-size:.87rem}.lpl-institution-row small{color:#7a8799;font-size:.74rem;margin-top:2px}.lpl-institution-row em{font-style:normal;color:#7a8799;font-size:.77rem}.lpl-review-detail{margin-top:11px;padding:10px 12px;border-radius:13px;background:#fff7e9;border:1px solid #edd9b6}.lpl-review-detail summary{cursor:pointer;font-weight:800;color:#7e5f31;font-size:.81rem}.lpl-review-detail p{margin:8px 0 0;color:#746650;font-size:.81rem;line-height:1.5}.lpl-empty-inline{padding:12px;border-radius:13px;background:#f5f7f9;color:#758194;font-size:.81rem}.lpl-review-zone{background:linear-gradient(145deg,#fffdf9,#fff)}.lpl-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.lpl-review-grid>article{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:16px;border-radius:18px;border:1px solid #e4e7ec;background:#fff}.lpl-review-grid small{color:#788598}.lpl-review-grid h3{margin:3px 0 7px;color:#40536d;font-size:1rem}.lpl-review-grid p{margin:6px 0;color:#6a778a;line-height:1.5;font-size:.85rem}.lpl-review-grid details{margin-top:8px}.lpl-review-grid summary{cursor:pointer;font-weight:800;color:#5b6d8a}.lpl-review-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f0eef7;color:#5c6787;font-size:.82rem;font-weight:900}.lpl-name-list{display:grid;gap:5px;margin-top:8px;max-height:270px;overflow:auto}.lpl-name-list a{padding:6px 8px;border-radius:9px;background:#f6f7fa;color:#4b607b;text-decoration:none;font-size:.79rem}.lpl-source-list{max-height:290px;overflow:auto;padding-right:5px}.lpl-source-list p{padding-bottom:7px;border-bottom:1px solid #edf0f3}.lpl-zero-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lpl-zero-team-grid article{padding:16px;border-radius:17px;background:#fffaf3;border:1px solid #ead8b9}.lpl-zero-team-grid span{font-size:.71rem;font-weight:850;color:#84633a;text-transform:uppercase;letter-spacing:.05em}.lpl-zero-team-grid h3{margin:5px 0}.lpl-zero-team-grid h3 a{color:#50627c;text-decoration:none}.lpl-zero-team-grid p{margin:0 0 7px;color:#766b5c;line-height:1.5;font-size:.83rem}.lpl-zero-team-grid small{color:#8b7e6d}.lpl-all-good{background:#f2f9f4;border:1px solid #d3e7d8}.lpl-all-good p{color:#687c70}.lpl-final-note{margin:22px 0;background:#f0f2f8;border:1px solid #d9deea;color:#4b5c78}.lpl-final-note>span{background:#e1e5f0;color:#5a6683}.lpl-final-note p{color:#6b778b}
@media(max-width:1150px){.lpl-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.lpl-community-grid{grid-template-columns:1fr}}
@media(max-width:780px){.lpl-hero{grid-template-columns:1fr;padding:23px}.lpl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.lpl-section{padding:17px}.lpl-section-heading{display:block}.lpl-status-pill{margin-top:10px}.lpl-review-grid,.lpl-zero-team-grid{grid-template-columns:1fr}.lpl-community-card header{display:block}.lpl-community-count{display:inline-block;margin-top:10px}.lpl-community-facts{display:grid}.lpl-institution-row{grid-template-columns:30px minmax(0,1fr)}.lpl-institution-row em{display:none}}
@media(max-width:480px){.lpl-metrics{grid-template-columns:1fr}.lpl-actions{display:grid}.lpl-actions .button{width:100%;justify-content:center}}

/* v2.28.0 Congregation Master Intelligence & Verification Centre */
.miv-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.45fr);gap:22px;padding:32px;border-radius:30px;background:linear-gradient(135deg,#425b72 0%,#667f94 48%,#8c879f 100%);color:#fff;box-shadow:0 18px 44px rgba(50,65,82,.16);position:relative;overflow:hidden}.miv-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;background:rgba(255,255,255,.075);right:-125px;top:-145px}.miv-hero-copy,.miv-authority-card{position:relative;z-index:1}.miv-breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:rgba(255,255,255,.76)}.miv-breadcrumbs a{color:#fff;text-decoration:none}.miv-kicker,.miv-eyebrow{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.miv-kicker{display:block;margin-top:16px;color:#eef3f7}.miv-hero h1{margin:7px 0 12px;font-size:clamp(2rem,4vw,3.45rem);line-height:1.03;max-width:920px}.miv-hero p{max-width:890px;color:rgba(255,255,255,.91);font-size:1.02rem;line-height:1.66}.miv-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.miv-button-primary{background:#fff!important;color:#435d73!important;border-color:#fff!important}.miv-button-soft{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.34)!important}.miv-authority-card{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}.miv-authority-card span{font-size:.76rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.miv-authority-card strong{font-size:1rem}.miv-authority-card small{color:rgba(255,255,255,.82);line-height:1.45}.miv-authority-card hr{width:100%;border:0;border-top:1px solid rgba(255,255,255,.2);margin:10px 0}.miv-rule,.miv-all-good,.miv-final-note{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;border-radius:17px}.miv-rule{margin:18px 0 0;background:#f4f8f5;border:1px solid #d4e4d8;color:#4d6656}.miv-rule>span,.miv-all-good>span,.miv-final-note>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;font-weight:900}.miv-rule>span,.miv-all-good>span{background:#dcebe0;color:#55705e}.miv-rule strong,.miv-all-good strong,.miv-final-note strong{display:block}.miv-rule p,.miv-all-good p,.miv-final-note p{margin:3px 0 0;line-height:1.55}.miv-rule p{color:#687a6e}.miv-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 14px}.miv-kpis article{padding:17px;border-radius:18px;background:#fff;border:1px solid #e1e6eb;box-shadow:0 7px 22px rgba(48,61,78,.05)}.miv-kpis span,.miv-kpis small{display:block;color:#748091}.miv-kpis span{font-weight:750;font-size:.77rem}.miv-kpis strong{display:block;margin:5px 0 4px;font-size:1.72rem;color:#3e5367}.miv-kpis article.is-good{background:#f6faf7;border-color:#d8e7dc}.miv-kpis article.is-warning{background:#fff9f2;border-color:#ead6b8}.miv-insight-strip{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:12px;margin:0 0 27px}.miv-insight-strip article{padding:16px 18px;border-radius:18px;background:#f8f9fb;border:1px solid #e4e8ed}.miv-insight-strip span{display:block;font-size:.76rem;font-weight:800;color:#758195;text-transform:uppercase;letter-spacing:.05em}.miv-insight-strip strong{display:block;margin:5px 0;font-size:1.45rem;color:#415970}.miv-insight-strip small,.miv-insight-strip p{color:#748193;line-height:1.5}.miv-insight-strip p{margin:5px 0 0;font-size:.84rem}.miv-progress{height:8px;border-radius:999px;background:#e6e9ee;overflow:hidden;margin:8px 0}.miv-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#647f8f,#81949f)}.miv-section{margin:26px 0;padding:23px;border-radius:25px;background:#fff;border:1px solid #e2e7ec;box-shadow:0 9px 28px rgba(48,61,79,.055)}.miv-verification-section{background:linear-gradient(145deg,#fffdf9,#fff)}.miv-section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.miv-section-heading.compact{display:block}.miv-section-heading h2{margin:4px 0 6px;color:#344b61}.miv-section-heading p{margin:0;max-width:850px;color:#6f7d8d;line-height:1.56}.miv-eyebrow{color:#78879a}.miv-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-size:.8rem;font-weight:850;white-space:nowrap;background:#eef1f5;color:#617084}.miv-pill.is-good{background:#e9f3ec;color:#4e6e59}.miv-pill.is-warning{background:#fff0d9;color:#825f2d}.miv-unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.miv-unit-card{display:block;padding:18px;border-radius:20px;border:1px solid #e2e6eb;background:linear-gradient(145deg,#fff,#fbfcfd);color:inherit;text-decoration:none;position:relative;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.miv-unit-card:hover{transform:translateY(-2px);border-color:#bdc7d0;box-shadow:0 12px 30px rgba(47,61,76,.08)}.miv-unit-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#75899b}.miv-unit-card.tone-generalate:before{background:#7c7893}.miv-unit-card.tone-lourdes:before{background:#7899a8}.miv-unit-card.tone-stjoseph:before{background:#9a806f}.miv-unit-card.tone-infant:before{background:#a28a99}.miv-unit-card.tone-assisi:before{background:#738e79}.miv-unit-card.tone-dupuis:before{background:#8b7fa1}.miv-unit-card header{display:flex;justify-content:space-between;gap:12px}.miv-unit-card header span{font-size:.73rem;color:#7b8796;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.miv-unit-card h3{margin:3px 0;color:#3f566a;font-size:1.05rem}.miv-unit-card header b{min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:12px;background:#fff1dc;color:#805f31;font-size:.85rem}.miv-unit-placement{display:flex;align-items:baseline;gap:8px;margin-top:15px}.miv-unit-placement strong{font-size:1.85rem;color:#40586d}.miv-unit-placement span{font-size:.78rem;color:#7b8797}.miv-unit-bar{height:7px;border-radius:999px;background:#eceff2;overflow:hidden;margin:8px 0 14px}.miv-unit-bar i{display:block;height:100%;border-radius:999px;background:#7a8d9d}.miv-unit-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px}.miv-unit-facts span{padding:7px 8px;border-radius:10px;background:#f5f7f9;color:#778394;font-size:.74rem}.miv-unit-facts strong{color:#455d72}.miv-unit-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;padding-top:11px;border-top:1px solid #edf0f2;color:#748293;font-size:.76rem}.miv-unit-foot em{font-style:normal;font-weight:800;color:#526b80}.miv-priority-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.miv-priority-grid article{display:grid;grid-template-columns:58px 1fr;gap:13px;padding:16px;border-radius:17px;background:#fff;border:1px solid #e4e7eb}.miv-priority-grid article.severity-high{border-color:#e5c8c6;background:#fff8f7}.miv-priority-grid article.severity-medium{border-color:#e7d8bd;background:#fffbf4}.miv-priority-grid article.severity-good{border-color:#d2e4d7;background:#f7fbf8}.miv-priority-count{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#eef1f5;color:#445c70;font-size:1.35rem;font-weight:900}.severity-high .miv-priority-count{background:#f4dedd;color:#845553}.severity-medium .miv-priority-count{background:#f5e8d3;color:#806133}.severity-good .miv-priority-count{background:#dfeee3;color:#54725d}.miv-priority-grid h3{margin:2px 0 5px;color:#40576b;font-size:.98rem}.miv-priority-grid p{margin:0;color:#748092;line-height:1.5;font-size:.83rem}.miv-table-wrap{overflow:auto;border:1px solid #e4e8ec;border-radius:17px}.miv-table{width:100%;border-collapse:collapse;min-width:960px}.miv-table th{background:#f4f6f8;color:#657386;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:11px 12px;border-bottom:1px solid #e2e6ea}.miv-table td{padding:11px 12px;border-bottom:1px solid #edf0f2;color:#596a7d;font-size:.81rem;vertical-align:top;line-height:1.45}.miv-table tbody tr:last-child td{border-bottom:0}.miv-table td strong{color:#40576b}.miv-table td a{color:#506e86;text-decoration:none;font-weight:800;white-space:nowrap}.miv-type-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef1f5;color:#657486;font-size:.7rem;font-weight:800}.miv-two-column{display:grid;grid-template-columns:1.12fr .88fr;gap:14px}.miv-two-column .miv-section{margin:0}.miv-ministry-list{display:grid;gap:12px}.miv-ministry-row{display:grid;grid-template-columns:minmax(220px,.9fr) 1.1fr;gap:14px;align-items:center}.miv-ministry-label{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center}.miv-ministry-label>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#f0f2f5;color:#5c6f83}.miv-ministry-label strong{font-size:.83rem;color:#465d72}.miv-ministry-label small{font-size:.72rem;color:#7a8795;text-align:right}.miv-ministry-bar{height:9px;border-radius:999px;background:#eceff2;overflow:hidden}.miv-ministry-bar i{display:block;height:100%;border-radius:999px;background:#758b9c}.miv-ministry-bar i.tone-lavender{background:#8b84a4}.miv-ministry-bar i.tone-mint{background:#6f9380}.miv-ministry-bar i.tone-rose{background:#a6828b}.miv-ministry-bar i.tone-gold{background:#a79066}.miv-ministry-bar i.tone-blue{background:#718ba2}.miv-ministry-bar i.tone-sand{background:#9a8873}.miv-ministry-bar i.tone-teal{background:#6d9294}.miv-ministry-bar i.tone-peach{background:#a88472}.miv-ministry-bar i.tone-plum{background:#8f7b97}.miv-ministry-bar i.tone-slate{background:#828a94}.miv-reference-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.miv-reference-stats div{padding:14px;border-radius:15px;background:#f6f7f9;border:1px solid #e6e9ed}.miv-reference-stats strong{display:block;font-size:1.45rem;color:#40586e}.miv-reference-stats span{display:block;margin-top:3px;color:#758193;font-size:.77rem;line-height:1.4}.miv-text-link{display:inline-block;margin-top:15px;color:#506e86;font-weight:850;text-decoration:none}.miv-all-good{background:#f3f9f5;border:1px solid #d5e6da}.miv-all-good p{color:#697d70}.miv-final-note{margin:22px 0;background:#eff3f6;border:1px solid #d9e0e6;color:#4b6074}.miv-final-note>span{background:#dfe7ed;color:#557087}.miv-final-note p{color:#6d7b8a}
@media(max-width:1180px){.miv-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.miv-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.miv-two-column{grid-template-columns:1fr}.miv-insight-strip{grid-template-columns:1fr 1fr}.miv-insight-strip article:last-child{grid-column:1/-1}}
@media(max-width:820px){.miv-hero{grid-template-columns:1fr;padding:23px}.miv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.miv-unit-grid,.miv-priority-grid,.miv-insight-strip{grid-template-columns:1fr}.miv-insight-strip article:last-child{grid-column:auto}.miv-section{padding:17px}.miv-section-heading{display:block}.miv-pill{margin-top:10px}.miv-ministry-row{grid-template-columns:1fr}.miv-ministry-label{grid-template-columns:32px 1fr}.miv-ministry-label small{grid-column:2;text-align:left}.miv-reference-stats{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.miv-kpis{grid-template-columns:1fr}.miv-actions{display:grid}.miv-actions .button{width:100%;justify-content:center}.miv-unit-grid{grid-template-columns:1fr}.miv-reference-stats{grid-template-columns:1fr}}

/* v2.29.0 — Login Activity & Live Readiness */
.login-audit-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px;padding:25px 27px;border-radius:25px;background:linear-gradient(135deg,#f3f7f7,#fbfcfd);border:1px solid #dfe7e8;box-shadow:0 10px 30px rgba(50,68,78,.055)}.login-audit-hero h1{margin:5px 0 8px;color:#344f5e}.login-audit-hero p{margin:0;max-width:850px;color:#687b85;line-height:1.6}.login-audit-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.login-audit-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:17px}.login-audit-kpis article{padding:16px;border-radius:18px;background:#fff;border:1px solid #e1e7e9;box-shadow:0 7px 20px rgba(49,65,76,.045)}.login-audit-kpis article.is-good{background:#f5faf7;border-color:#d7e8dc}.login-audit-kpis article.is-warning{background:#fffaf3;border-color:#eadcc5}.login-audit-kpis span,.login-audit-kpis small{display:block;color:#74828a}.login-audit-kpis span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.login-audit-kpis strong{display:block;margin:5px 0 3px;color:#3e5968;font-size:1.65rem}.login-audit-filter-panel{margin-bottom:17px}.login-audit-filters{display:grid;grid-template-columns:170px 210px minmax(240px,1fr) auto auto;gap:11px;align-items:end}.login-audit-filters label{display:grid;gap:5px}.login-audit-filters label>span{font-size:.74rem;font-weight:800;color:#687985}.login-audit-filters select,.login-audit-filters input{width:100%;min-height:41px;padding:8px 10px;border-radius:11px;border:1px solid #d8e0e3;background:#fff;color:#425b68}.login-audit-heading{align-items:flex-start}.login-audit-heading p{margin:5px 0 0;color:#75828a}.login-audit-table-wrap{overflow:auto;border:1px solid #e2e8ea;border-radius:16px}.login-audit-table{width:100%;min-width:1050px;border-collapse:collapse}.login-audit-table th{padding:10px 11px;text-align:left;background:#f4f7f8;color:#657680;font-size:.71rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dfe6e8}.login-audit-table td{padding:11px;border-bottom:1px solid #edf1f2;color:#5c6f79;font-size:.8rem;vertical-align:top;line-height:1.42}.login-audit-table tbody tr:last-child td{border-bottom:0}.login-audit-table td strong,.login-audit-table td small{display:block}.login-audit-table td strong{color:#405967}.login-audit-table td small{margin-top:3px;color:#7b8991}.login-audit-table code{font-size:.75rem;color:#536a77;background:#f2f5f6;border-radius:7px;padding:4px 6px}.login-audit-chip{display:inline-flex!important;width:max-content;padding:5px 8px;border-radius:999px;font-size:.69rem!important;font-weight:850;color:#61727c;background:#eef2f3}.login-audit-chip.tone-good{background:#e7f3ea;color:#4f7158}.login-audit-chip.tone-warning{background:#fff0dc;color:#815f32}.login-audit-chip.tone-info{background:#e8f0f5;color:#4e6b7e}.login-audit-chip.tone-neutral{background:#eef1f3;color:#65747d}.login-audit-unavailable{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start}.login-audit-unavailable h2{margin:3px 0 7px;color:#405a68}.login-audit-unavailable p{margin:6px 0;color:#708089;line-height:1.55}.login-audit-unavailable code{background:#eef2f3;border-radius:6px;padding:2px 5px}.login-audit-shield{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#e4efec;color:#4f7569;font-size:1.5rem;font-weight:900}.login-audit-note{display:flex;gap:12px;align-items:flex-start;margin-top:17px;padding:15px 17px;border-radius:16px;background:#f3f8f5;border:1px solid #d7e6dc;color:#526c5a}.login-audit-note>span{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:50%;background:#dcebe1;font-weight:900}.login-audit-note strong{display:block}.login-audit-note p{margin:3px 0 0;color:#6d7e72;line-height:1.5}.empty-state{padding:28px;text-align:center;color:#718089}.empty-state strong{display:block;color:#465e6b}.empty-state p{margin:5px 0 0}
@media(max-width:1120px){.login-audit-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.login-audit-filters{grid-template-columns:1fr 1fr}.login-audit-search{grid-column:1/-1}.login-audit-filters .button{justify-content:center}}
@media(max-width:720px){.login-audit-hero{display:block;padding:20px}.login-audit-hero-actions{margin-top:15px}.login-audit-kpis{grid-template-columns:1fr 1fr}.login-audit-filters{grid-template-columns:1fr}.login-audit-search{grid-column:auto}}
@media(max-width:480px){.login-audit-kpis{grid-template-columns:1fr}}
