:root {
  --navy: var(--pel-azul-profundo, #16324f);
  --gold: var(--pel-oro-calido, #c99a3d);
  --ivory: var(--pel-marfil-suave, #f7f3ea);
  --teal: var(--pel-teal, #2f7a78);
  --coal: var(--pel-carbon, #263238);
  --white: #fff;
  --surface: #fff;
  --background: #f4f7f8;
  --muted: #60747e;
  --line: #d9e2e5;
  --success: #187451;
  --danger: #b42318;
  --shadow: 0 14px 38px rgb(22 50 79 / 9%);
  --font: var(--pel-font, "Manrope", "Plus Jakarta Sans", system-ui, sans-serif);
}

* { box-sizing: border-box; }
html { width: 100%; font-family: var(--font); color: var(--coal); background: var(--background); }
body { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; min-height: 100vh; background: var(--background); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.guest-body {
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 12% 15%, rgb(201 154 61 / 17%), transparent 26%),
    radial-gradient(circle at 90% 85%, rgb(47 122 120 / 12%), transparent 28%),
    linear-gradient(145deg, var(--ivory), #f5f8f9);
}
.guest-shell { width: min(100%, 470px); }
.login-card {
  padding: 34px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
}
.login-logo-wrap {
  margin: -6px 0 28px;
  padding-bottom: 23px;
  border-bottom: 1px solid var(--line);
}
.login-logo { display: block; width: min(100%, 260px); height: auto; }
.login-card h1 { margin: 5px 0 0; color: var(--navy); font-size: 2rem; letter-spacing: -.03em; }
.eyebrow { color: var(--teal); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lead { margin: 12px 0 22px; color: var(--muted); }
.login-card label { display: block; margin: 17px 0 7px; color: var(--navy); font-size: .88rem; font-weight: 750; }
.login-card input {
  width: 100%;
  padding: 12px 13px;
  color: var(--coal);
  background: #fff;
  border: 1px solid #b6c6cc;
  border-radius: 10px;
}
.login-card input:focus { border-color: var(--teal); outline: 3px solid rgb(47 122 120 / 15%); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 17px;
  font-weight: 750;
  text-decoration: none;
  cursor: pointer;
  border: 0;
  border-radius: 10px;
}
.button-primary, .button:not(.button-ghost):not(.button-block) { color: #fff; background: var(--teal); }
.button-primary:hover { background: #286967; }
.button-ghost { color: var(--navy); background: #edf3f4; }
.button-ghost:hover { background: #e1ebed; }
.button-block { width: 100%; margin-top: 22px; }
.security-note { margin: 18px 0 0; color: var(--muted); font-size: .78rem; text-align: center; }
.alert { padding: 12px 14px; border-radius: 10px; }
.alert-error { color: #7a271a; background: #fff0ef; border: 1px solid #f5c8c4; }

.app-shell { display: grid; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 20px 18px 24px;
  color: #fff;
  background: var(--navy);
  border-right: 1px solid rgb(255 255 255 / 7%);
}
.brand { display: block; min-height: 82px; margin: 0 5px 24px; text-decoration: none; }
.brand-full { display: block; width: 220px; height: auto; }
.brand-icon { display: none; width: 42px; height: 42px; }
.sidebar nav { display: flex; flex-direction: column; gap: 6px; }
.nav-section { margin: 20px 10px 6px; color: #91a8b7; font-size: .68rem; letter-spacing: .13em; text-transform: uppercase; }
.nav-link { display: block; padding: 11px 12px; color: #dce7ec; text-decoration: none; border-radius: 9px; }
.nav-link:hover, .nav-link.active { color: #fff; background: rgb(255 255 255 / 10%); }
.nav-link.active { box-shadow: inset 3px 0 var(--gold); }
.nav-link.muted { color: #7f96a7; cursor: not-allowed; }

.app-main { display: flex; width: 100%; min-width: 0; max-width: none; flex-direction: column; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  padding: 0 30px;
  background: rgb(255 255 255 / 94%);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.topbar > div { display: flex; flex-direction: column; }
.topbar-mobile-logo { display: none; width: 40px; height: 40px; }
.menu-button { display: none; padding: 9px 11px; color: var(--navy); background: #edf2f4; border: 0; border-radius: 8px; }
.content { width: 100%; max-width: 1500px; margin: 0 auto; padding: 30px; background: var(--background) !important; }

.page-heading { display: flex; gap: 20px; align-items: flex-start; justify-content: space-between; margin-bottom: 24px; }
.page-heading h1 { margin: 5px 0 6px; color: var(--navy); font-size: clamp(1.7rem, 3vw, 2.35rem); letter-spacing: -.03em; }
.page-heading p { margin: 0; color: var(--muted); }
.status-pill { display: inline-flex; align-items: center; padding: 8px 12px; color: var(--teal); font-size: .82rem; font-weight: 800; white-space: nowrap; background: #eaf6f4; border: 1px solid #b8ded9; border-radius: 999px; }

.tenant-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 28px;
  margin-bottom: 20px;
  color: #fff;
  background: linear-gradient(125deg, var(--navy), #214b68);
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.tenant-banner h2 { margin: 5px 0; }
.tenant-banner p { margin: 0; color: #cbdbe4; }
.tenant-banner .eyebrow { color: #e7c777; }
.tenant-code { padding: 10px 12px; font-weight: 800; border: 1px solid rgb(255 255 255 / 25%); border-radius: 10px; }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.metric-card, .panel { background: var(--surface); border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 6px 20px rgb(22 50 79 / 5%); }
.metric-card { display: flex; min-height: 145px; padding: 20px; flex-direction: column; border-top: 3px solid transparent; }
.metric-card:nth-child(2), .metric-card:nth-child(4) { border-top-color: var(--teal); }
.metric-card:nth-child(1), .metric-card:nth-child(3) { border-top-color: var(--gold); }
.metric-card span { color: var(--muted); font-size: .8rem; font-weight: 700; }
.metric-card strong { margin: 12px 0 8px; color: var(--navy); font-size: 1.25rem; }
.metric-card small { color: var(--muted); line-height: 1.45; }
.panel { padding: 24px; margin-top: 20px; }
.panel h2 { margin: 4px 0 16px; color: var(--navy); }
.panel-heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.delivery-list { display: grid; gap: 10px; }
.delivery { display: grid; grid-template-columns: 90px minmax(0, 1fr) 110px; gap: 15px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 12px; }
.delivery > span { color: var(--navy); font-weight: 850; }
.delivery div { display: flex; flex-direction: column; gap: 4px; }
.delivery small, .muted-text { color: var(--muted); }
.delivery b { color: var(--muted); font-size: .8rem; text-align: right; }
.delivery.complete { background: #f2faf6; border-color: #bce2cd; }
.delivery.complete b { color: var(--success); }
.delivery.next { background: var(--ivory); border-color: #e8d4a0; }
.delivery.next b { color: #806119; }
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 11px; text-align: left; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.footer { padding: 20px 30px; margin-top: auto; color: var(--muted); font-size: .78rem; }
.error-card { text-align: center; }
.error-code { color: var(--gold); font-size: 4rem; font-weight: 900; }
.split-grid { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr); gap:20px; }
.form-grid { display:grid; gap:13px; }
.form-grid label { display:grid; gap:6px; color:var(--navy); font-size:.85rem; font-weight:750; }
.form-grid input,.form-grid select,.form-grid textarea,.topbar select { width:100%; padding:10px 11px; color:var(--coal); background:#fff; border:1px solid #b6c6cc; border-radius:9px; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.topbar select:focus { border-color:var(--teal); outline:3px solid rgb(47 122 120 / 15%); }
.form-grid .check { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:8px; }
.topbar-actions { display:flex!important; flex-direction:row!important; align-items:center; gap:10px; }
code { color:var(--teal); }
.resource-dot { display:inline-block; width:10px; height:10px; margin-right:7px; border-radius:999px; }
.agenda-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.inline-status { display:grid; min-width:190px; gap:6px; }
.inline-status select,.inline-status input { width:100%; padding:8px; border:1px solid var(--line); border-radius:8px; }

@media (max-width: 1050px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agenda-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: 270px; transform: translateX(-102%); transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); }
  .brand-full { width: 210px; }
  .menu-button { display: block; }
  .topbar { padding: 0 16px; }
  .topbar-mobile-logo { display: block; margin-left: 10px; }
  .topbar > div { margin-right: auto; margin-left: 12px; }
  .content { padding: 20px 16px; }
  .page-heading, .tenant-banner, .panel-heading { align-items: flex-start; flex-direction: column; }
  .metric-grid { grid-template-columns: 1fr; }
  .agenda-metrics { grid-template-columns: 1fr; }
  .delivery { grid-template-columns: 72px minmax(0, 1fr); }
  .delivery b { grid-column: 2; text-align: left; }
  .footer { padding: 18px 16px; }
  .login-card { padding: 25px; }
  .split-grid { grid-template-columns:1fr; }
  .topbar-actions select { max-width:150px; }
}
@media (max-width: 390px) {
  .topbar .eyebrow { display: none; }
  .topbar strong { max-width: 98px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .button-ghost { padding: 9px 10px; }
  .guest-body { padding: 12px; }
}
.document-review-list{display:grid;gap:10px;margin-top:10px;min-width:280px}.document-review-list>div{padding:10px;border:1px solid var(--line,#d9e2e5);border-radius:10px;background:#f8fafb}.document-review-list a{color:#2f7a78;font-weight:800;text-decoration:none}.document-review-list .inline-status{margin-top:7px}

/* PEL-1.7.1 · Marco responsive global */
html{overflow-x:hidden;scroll-behavior:smooth}body{overflow-x:hidden}.app-shell,.app-main,.content,.panel,.metric-card,.tenant-banner,.page-heading,.panel-heading,.split-grid>*{min-width:0}.app-main{overflow-x:clip}.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}.sidebar nav{padding-bottom:max(34px,env(safe-area-inset-bottom))}.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff35;border-radius:999px}.sidebar-backdrop{display:none}.topbar{height:auto;min-height:76px;gap:12px}.topbar-identity{min-width:0}.topbar-identity strong{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{min-width:0;margin-left:auto}.topbar-actions form{min-width:0;margin:0}.topbar-actions select{max-width:230px}.content{overflow-wrap:anywhere}.panel{max-width:100%}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:680px}.form-grid input,.form-grid select,.form-grid textarea,.update-form input{min-width:0;max-width:100%}input[type="file"]{overflow:hidden;text-overflow:ellipsis}.button{min-height:42px}.nav-link{line-height:1.35}.document-review-list{max-width:100%;min-width:240px}.document-review-list .inline-status{min-width:0}
@media(max-height:850px) and (min-width:1025px){.sidebar{padding-top:14px}.brand{min-height:58px;margin-bottom:10px}.brand-full{width:190px}.sidebar nav{gap:2px}.nav-section{margin-top:12px}.nav-link{padding-block:8px}}
@media(max-width:1024px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;width:min(310px,88vw);padding-top:max(18px,env(safe-area-inset-top));box-shadow:18px 0 45px rgb(5 24 42 / 28%);transform:translateX(-105%);visibility:hidden;transition:transform .22s ease,visibility .22s}.sidebar.open{transform:translateX(0);visibility:visible}.sidebar-backdrop{position:fixed;inset:0;z-index:45;width:100%;height:100%;padding:0;background:rgb(6 25 43 / 52%);border:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.nav-open{overflow:hidden}.nav-open .sidebar-backdrop{display:block;opacity:1;visibility:visible}.menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;font-size:1.2rem;cursor:pointer}.topbar-mobile-logo{display:block;margin:0}.topbar>div{margin:0}.content{padding:24px 20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.agenda-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}.footer{padding-inline:20px}}
@media(max-width:700px){.topbar{padding:10px 14px}.topbar-actions select{max-width:145px}.topbar-actions{gap:7px}.content{padding:20px 14px}.page-heading,.tenant-banner,.panel-heading{align-items:flex-start;flex-direction:column}.page-heading{gap:12px}.status-pill{white-space:normal}.metric-grid,.agenda-metrics{grid-template-columns:1fr}.panel,.tenant-banner{padding:20px}.delivery{grid-template-columns:68px minmax(0,1fr)}.delivery b{grid-column:2;text-align:left}.footer{padding:18px 14px}.login-card{padding:24px}.diagnostic-row{align-items:flex-start}.table-wrap{margin-inline:0}.document-review-list{min-width:210px}}
@media(max-width:520px){.topbar-identity{display:none}.topbar-actions{flex:1;justify-content:flex-end}.topbar-actions select{max-width:125px}.topbar-mobile-logo{width:36px;height:36px}.button-ghost{padding-inline:11px}.content{padding-inline:12px}.panel{padding:17px}.tenant-banner{padding:18px}.tenant-banner,.panel-heading{gap:12px}.delivery{grid-template-columns:1fr}.delivery b{grid-column:1}.page-heading h1{font-size:1.75rem}.login-card{padding:21px}.guest-body{padding:12px}.form-grid .button{width:100%}}
@media(max-width:370px){.topbar-actions select{max-width:104px;font-size:.82rem}.topbar-actions .button{font-size:.82rem;padding-inline:8px}.menu-button{min-width:38px}.topbar{padding-inline:9px}.content{padding-inline:9px}.panel{padding:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.sidebar,.sidebar-backdrop{transition:none!important}}

/* PEL-1.7.2 · Navegación estable y acceso público */
html,body{overflow-x:clip!important}.app-main{overflow:visible}.button-portal{color:#fff;background:var(--teal);white-space:nowrap}.button-portal:hover{background:#286967}.portal-short{display:none}.nav-external{display:flex;align-items:center;justify-content:space-between;color:#fff;background:rgb(47 122 120 / 28%);border:1px solid rgb(255 255 255 / 10%)}.guest-portal-link{display:block;margin-top:18px;color:var(--teal);font-weight:800;text-align:center;text-decoration:none}.portal-help{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:18px;align-items:center;padding:18px 20px;margin-bottom:20px;background:#eaf6f4;border:1px solid #b8ded9;border-radius:14px}.portal-help div{display:grid;gap:5px;color:var(--navy)}.portal-help span{color:var(--teal);font-size:.88rem;overflow-wrap:anywhere}.portal-help p{margin:0;color:var(--muted)}.roles-panel{padding:20px}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.role-card{min-width:0;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.role-card-heading{display:flex;gap:12px;align-items:center}.role-card-heading h2{margin:0 0 3px;font-size:1.08rem}.role-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;color:#fff;font-weight:900;background:var(--navy);border-radius:11px}.role-card code{font-size:.78rem;overflow-wrap:anywhere}.role-card dl{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0 0}.role-card dl div{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--line)}.role-card dt{color:var(--muted);font-size:.78rem}.role-card dd{color:var(--navy);font-weight:800;text-align:right}.empty-state{grid-column:1/-1;padding:28px;text-align:center;background:var(--background);border-radius:12px}
@media(min-width:1101px){.app-shell{display:grid!important;grid-template-columns:264px minmax(0,1fr)!important}.sidebar{position:sticky!important;inset:auto!important;top:0!important;width:auto!important;height:100dvh!important;transform:none!important;visibility:visible!important;box-shadow:none!important}.sidebar-backdrop{display:none!important}.menu-button,.topbar-mobile-logo{display:none!important}}
@media(max-width:1100px){.app-shell{display:block!important}.sidebar{position:fixed!important;top:0!important;bottom:0!important;left:-360px!important;right:auto!important;z-index:50;width:min(310px,88vw)!important;height:100dvh!important;transform:none!important;visibility:hidden!important;transition:left .22s ease,visibility .22s!important}.sidebar.open{left:0!important;transform:none!important;visibility:visible!important}.menu-button{display:inline-flex!important}.topbar-mobile-logo{display:block!important}.content{width:100%;max-width:100%}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-help{grid-template-columns:1fr}.portal-wide{display:none}.portal-short{display:inline}}
@media(max-width:720px){.role-grid{grid-template-columns:1fr}.topbar-actions .button-portal{padding-inline:11px}.roles-panel{padding:15px}.portal-help{padding:16px}.topbar-actions{flex-wrap:wrap}}
@media(max-width:560px){.topbar-actions .button-portal{display:none}.role-card{padding:17px}}

/* PEL-1.7.3 · Jerarquía parroquia/sede y listados adaptables */
.concept-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.concept-guide article{display:grid;gap:5px;padding:17px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:12px}.concept-guide strong{color:var(--navy)}.concept-guide span,.form-grid small,.responsive-list-row small,.topbar-identity small{color:var(--muted);font-size:.78rem}.notice{padding:15px 18px;margin:0 0 20px;border-radius:12px}.notice-info{color:var(--navy);background:#eaf6f4;border:1px solid #b8ded9}.notice a{color:var(--teal)}.optional{color:var(--muted);font-size:.76rem;font-weight:600}.responsive-list{display:grid}.responsive-list-head,.responsive-list-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(160px,1fr) minmax(90px,.55fr) minmax(140px,.7fr);gap:15px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.responsive-list-head{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.responsive-list-row>div{display:flex;min-width:0;gap:8px;align-items:center;flex-wrap:wrap}.responsive-list-row>div:first-child{display:grid;grid-template-columns:auto 1fr}.responsive-list-row>div:first-child strong{min-width:0}.responsive-list-row .status-pill{padding:5px 9px}.responsive-list-row code{max-width:100%;overflow-wrap:anywhere}.responsive-list-row.is-current{background:#f1faf8}.responsive-list-row.is-muted{opacity:.65}.row-actions{align-items:stretch!important}.row-actions form{margin:0}.row-actions .button{width:100%}.topbar-identity{display:grid!important}.topbar-identity small{max-width:30ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:850px){.concept-guide{grid-template-columns:1fr}.responsive-list-head{display:none}.responsive-list-row{grid-template-columns:1fr;gap:10px;padding:17px 4px}.responsive-list-row>div{display:grid!important;grid-template-columns:115px minmax(0,1fr)!important;align-items:start}.responsive-list-row>div::before{content:attr(data-label);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.responsive-list-row>div:first-child strong{grid-column:2}.responsive-list-row>div:first-child .status-pill,.responsive-list-row>div:first-child small{grid-column:2}.row-actions form{width:100%}}
@media(max-width:480px){.responsive-list-row>div{grid-template-columns:1fr!important}.responsive-list-row>div::before,.responsive-list-row>div:first-child strong,.responsive-list-row>div:first-child .status-pill,.responsive-list-row>div:first-child small{grid-column:1}.topbar-identity small{display:none}}

/* PEL-1.7.4 · Legibilidad estable de listados */
.site-list .responsive-list-row>div:first-child,.org-list .responsive-list-row>div:first-child{display:flex;flex-direction:column;align-items:flex-start}.site-list .responsive-list-row>div:first-child strong,.site-list .responsive-list-row>div:first-child small,.site-list .responsive-list-row>div:first-child .status-pill,.org-list .responsive-list-row>div:first-child strong,.org-list .responsive-list-row>div:first-child .status-pill{min-width:0;max-width:100%;grid-column:auto;overflow-wrap:break-word;word-break:normal}.site-list .responsive-list-row{grid-template-columns:minmax(230px,1.45fr) minmax(125px,.8fr) minmax(75px,.5fr) minmax(165px,1fr)}.site-list .row-actions{display:grid;grid-template-columns:1fr;gap:8px}.site-list .row-actions .button{white-space:normal}.site-list code,.site-list small{word-break:normal;overflow-wrap:break-word}
@media(max-width:1250px){.sites-grid{grid-template-columns:1fr}.site-list .responsive-list-row{grid-template-columns:minmax(250px,1.45fr) minmax(135px,.8fr) 90px minmax(180px,.9fr)}}
@media(max-width:850px){.site-list .responsive-list-row,.org-list .responsive-list-row{grid-template-columns:1fr}.site-list .responsive-list-row>div:first-child,.org-list .responsive-list-row>div:first-child{display:grid}.site-list .responsive-list-row>div:first-child strong,.site-list .responsive-list-row>div:first-child small,.site-list .responsive-list-row>div:first-child .status-pill,.org-list .responsive-list-row>div:first-child strong,.org-list .responsive-list-row>div:first-child .status-pill{grid-column:2}}
@media(max-width:480px){.site-list .responsive-list-row>div:first-child strong,.site-list .responsive-list-row>div:first-child small,.site-list .responsive-list-row>div:first-child .status-pill,.org-list .responsive-list-row>div:first-child strong,.org-list .responsive-list-row>div:first-child .status-pill{grid-column:1}}

/* PEL-1.7.6 · Selector global de parroquia */
.organization-switcher label{display:grid;gap:3px}.organization-switcher label>span{color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.organization-switcher select{min-width:220px;max-width:290px}.topbar-actions{align-items:center}.topbar-actions .organization-switcher{flex:0 1 auto}.topbar-actions .organization-switcher select{height:44px}.topbar-identity strong{color:var(--navy)}
@media(max-width:1250px){.organization-switcher label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.organization-switcher select{min-width:175px;max-width:220px}.topbar-actions .button-portal{display:none}}
@media(max-width:700px){.organization-switcher{flex:1;min-width:0}.organization-switcher label,.organization-switcher select{width:100%;min-width:0;max-width:none}.topbar-actions{flex-wrap:nowrap}.topbar-actions>form:last-child .button{font-size:0;width:44px;padding:0}.topbar-actions>form:last-child .button::after{content:'Salir';font-size:.78rem}}
@media(max-width:430px){.topbar-actions>form:last-child{display:none}.organization-switcher select{font-size:.82rem}.topbar-actions{min-width:0}}
.organization-switcher.is-submitting{position:relative;opacity:.72}.organization-switcher.is-submitting::after{content:'Cambiando…';position:absolute;inset:0;display:grid;place-items:center;color:var(--navy);font-size:.75rem;font-weight:850;background:rgb(255 255 255 / 88%);border-radius:9px}.topbar form.is-submitting select{cursor:wait}

/* PEL-1.8 · Pagos, caja y comprobantes */
.alert-success{color:#145c41;background:#effaf4;border:1px solid #bce2cd}.alert-warning{color:#73550e;background:#fff8e6;border:1px solid #ead49b}.finance-metrics .metric-card strong{font-size:1.55rem}.finance-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);gap:20px}.finance-panel{margin-top:0}.cash-register-list{display:grid;gap:14px}.cash-register{padding:17px;background:#f7f9fa;border:1px solid var(--line);border-radius:12px}.cash-register.is-open{background:#f1faf8;border-color:#b8ded9}.cash-register-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cash-register-heading>div{display:grid;gap:4px;min-width:0}.cash-register-heading strong{color:var(--navy)}.cash-register-heading small{color:var(--muted);overflow-wrap:anywhere}.cash-open-form{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:10px;align-items:end;margin-top:16px}.cash-open-form label{display:grid;gap:6px;color:var(--navy);font-size:.82rem;font-weight:750}.cash-open-form input{width:100%;padding:10px 11px;border:1px solid #b6c6cc;border-radius:9px}.cash-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.cash-totals div{display:grid;gap:4px;padding:10px;background:#fff;border-radius:9px}.cash-totals dt{color:var(--muted);font-size:.7rem}.cash-totals dd{margin:0;color:var(--navy);font-weight:850}.finance-action,.reverse-action{margin-top:12px}.finance-action summary,.reverse-action summary{color:var(--teal);font-weight:800;cursor:pointer}.finance-action form,.reverse-action form{padding-top:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.receipt-link{color:var(--teal);font-weight:850;text-decoration:none;white-space:nowrap}.finance-table small{color:var(--muted)}.status-reversed{color:#8a2b23;background:#fff0ef;border-color:#f5c8c4}.button-danger{color:#fff!important;background:var(--danger)!important}.button-danger:hover{background:#8f1d15!important}.reverse-action{min-width:180px}.finance-table{min-width:980px!important}
@media(max-width:1100px){.finance-grid{grid-template-columns:1fr}}
@media(max-width:650px){.form-row,.cash-totals,.cash-open-form{grid-template-columns:1fr}.cash-register-heading{align-items:flex-start}.cash-open-form .button{width:100%}}

/* PEL-1.9.2 · Editor del perfil público */
.public-profile-editor{display:grid;gap:20px}.public-profile-editor fieldset{display:grid;gap:14px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:13px}.public-profile-editor legend{padding:0 8px;color:var(--navy);font-weight:850}.public-profile-editor label{display:grid;gap:7px;color:var(--navy);font-weight:750}.public-profile-editor input,.public-profile-editor textarea{width:100%;min-width:0}.publish-control{display:flex!important;gap:11px!important;align-items:flex-start}.publish-control input{width:18px!important;height:18px;margin-top:2px}.publish-control span{display:grid;gap:3px}.publish-control small{color:var(--muted);font-weight:500}.public-profile-editor>.button{justify-self:start;min-width:210px}@media(max-width:650px){.public-profile-editor fieldset{padding:16px}.public-profile-editor>.button{width:100%}}

/* PEL-1.9 · Reportes financieros y conciliación */
.nav-sub{margin-left:12px;padding-block:8px;color:#bfd0d9;font-size:.9rem}.report-filter-panel{margin-top:0}.report-filters{display:grid;grid-template-columns:repeat(4,minmax(125px,.7fr)) minmax(230px,1.4fr) auto auto;gap:12px;align-items:end}.report-filters label{display:grid;gap:6px;color:var(--navy);font-size:.8rem;font-weight:750}.report-filters input,.report-filters select{width:100%;min-width:0;padding:10px 11px;background:#fff;border:1px solid #b6c6cc;border-radius:9px}.filter-help{margin:12px 0 0;color:var(--muted);font-size:.76rem}.report-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:20px}.report-panel{margin-top:0}.method-breakdown,.cash-history{display:grid;gap:12px}.method-row{display:grid;grid-template-columns:minmax(125px,.8fr) minmax(110px,1fr) auto;gap:12px;align-items:center}.method-row>div:first-child{display:grid;gap:3px}.method-row span{color:var(--muted);font-size:.72rem}.method-row b{color:var(--navy);white-space:nowrap}.method-bar{width:100%;height:9px;overflow:hidden;background:#e8eff1;border:0;border-radius:999px;appearance:none}.method-bar::-webkit-progress-bar{background:#e8eff1;border-radius:999px}.method-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--teal),#56a6a2);border-radius:999px}.method-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--teal),#56a6a2);border-radius:999px}.cash-history article{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;padding:14px;background:#f7f9fa;border:1px solid var(--line);border-radius:11px}.cash-history article>div:first-child{display:grid;gap:4px}.cash-history small{color:var(--muted)}.cash-history dl{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 0}.cash-history dl div{display:grid;gap:3px;padding:9px;background:#fff;border-radius:8px}.cash-history dt{color:var(--muted);font-size:.7rem}.cash-history dd{margin:0;color:var(--navy);font-weight:800}.status-neutral{color:var(--muted);background:#edf3f4;border-color:#d9e2e5}.amount-warning{color:#a34017!important}.report-table{min-width:920px!important}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:20px}.pagination a{padding:9px 13px;color:var(--teal);font-weight:800;text-decoration:none;background:#edf6f5;border-radius:9px}.pagination span{color:var(--muted);font-size:.82rem}
@media(max-width:1280px){.report-filters{grid-template-columns:repeat(4,minmax(120px,1fr))}.report-search{grid-column:span 2}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.report-filters{grid-template-columns:1fr 1fr}.report-search{grid-column:1/-1}.report-filters .button{width:100%}.method-row{grid-template-columns:1fr auto}.method-bar{grid-column:1/-1;grid-row:2}.cash-history dl{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:480px){.report-filters{grid-template-columns:1fr}.report-search{grid-column:auto}.cash-history article{grid-template-columns:1fr}.cash-history .status-pill{justify-self:start}.cash-history dl{grid-template-columns:1fr}.pagination{justify-content:space-between}.pagination span{font-size:.72rem}}
