.hub-page{max-width:1440px;margin:auto;padding:30px 5% 60px;color:var(--text,#f8f5ed)}.hub-page h1,.hub-page h2,.hub-page h3{font-family:Georgia,serif;font-weight:400}.hub-page h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0}.hub-page h2{font-size:1.5rem;margin:0 0 14px}.hub-page p{line-height:1.65}.hub-toolbar,.hub-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.hub-toolbar{margin:20px 0}.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hub-card{padding:22px;background:var(--panel,#102b39);border:1px solid #b99b5c80;border-left:3px solid #edc66c;border-radius:8px;min-width:0}.hub-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hub-directory a{display:block;padding:20px;border:1px solid #b99b5c80;border-radius:8px;text-decoration:none;color:inherit;background:var(--panel,#102b39)}.hub-directory a:hover{border-color:#edc66c}.hub-directory strong{display:block;font:1.3rem Georgia;margin-bottom:8px}.hub-small{font-size:.84rem;opacity:.85}.hub-notice{border-left:2px solid #edc66c;background:#edc66c0c;padding:12px}.hub-page button,.hub-page select{font:inherit;background:transparent;color:inherit;border:1px solid #b99b5c80;padding:9px 13px;border-radius:5px;cursor:pointer}.hub-page select{background:var(--panel,#102b39)}.hub-page button:hover,.hub-page button[aria-pressed=true]{border-color:#edc66c;background:#edc66c18}.hub-page button:disabled{opacity:.5;cursor:default}.hub-page a{color:var(--gold,#edc66c)}.hub-page textarea{width:100%;min-height:140px;resize:vertical;border:1px solid #b99b5c80;border-radius:5px;padding:12px;font:inherit;color:inherit;background:var(--bg,#071b2a)}.hub-page button:focus-visible,.hub-page a:focus-visible,.hub-page select:focus-visible,.hub-page textarea:focus-visible{outline:2px solid #edc66c;outline-offset:3px}.hub-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.hub-calendar-grid>small{text-align:center}.hub-calendar-grid button{min-height:68px;display:flex;align-items:start;justify-content:space-between;text-align:left;padding:8px}.hub-calendar-grid button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #edc66c}.hub-calendar-grid button span{color:var(--gold,#edc66c);font-size:.75rem}.hub-event{border-top:1px solid #b99b5c60;padding:12px 0}.hub-event strong{display:block}.hub-calendar-detail{margin-top:18px}.hub-list{padding:0;list-style:none}.hub-list li{padding:10px 0;border-top:1px solid #b99b5c50}.hub-sources a{display:block;margin:10px 0}.hub-dialog{width:min(560px,92vw);max-height:85vh;overflow:auto;background:var(--panel,#102b39);color:inherit;border:1px solid #edc66c;border-radius:8px;padding:22px}.hub-dialog::backdrop{background:#0009}.hub-edit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #b99b5c50;padding:10px 0}.hub-edit-row label{display:flex;align-items:center;gap:10px}.hub-edit-row input{accent-color:#edc66c}.hub-dialog h2{margin-top:0}.hub-quick-links{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.hub-quick-links a{display:inline-block;padding:10px 15px;border:1px solid #b99b5c80;border-radius:6px;text-decoration:none}.hub-quick-links a:hover{border-color:#edc66c}html[data-theme=light] .hub-card,html[data-theme=light] .hub-directory a,html[data-theme=light] .hub-dialog{background:#fffdf7;color:#172c39}html[data-theme=light] .hub-page,html[data-theme=light] .hub-page textarea,html[data-theme=light] .hub-page select{color:#172c39}html[data-theme=light] .hub-page textarea,html[data-theme=light] .hub-page select{background:#faf7ef}html[data-theme=light] .hub-page a,html[data-theme=light] .hub-calendar-grid button span{color:#75561c}@media(max-width:800px){.hub-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid{grid-template-columns:1fr}}@media(max-width:480px){.hub-directory{grid-template-columns:1fr}.hub-card{padding:16px}.hub-calendar-grid button{padding:5px;min-height:52px}.hub-calendar-grid{gap:3px}.hub-toolbar{gap:8px}.hub-page{padding-inline:5%}}



/* Ministry directory: scoped to the directory, preserving personal hub tools. */
body[data-hub-mode=directory] .hub-page{max-width:1440px;padding-top:32px}
body[data-hub-mode=directory] .hub-directory-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:32px;align-items:center;position:relative;padding:10px 0 30px;margin-bottom:26px;border-bottom:1px solid #c4a96b35}
body[data-hub-mode=directory] .hub-directory-copy .eyebrow{color:#d8b96e;font-size:.69rem;letter-spacing:.18em;margin:0 0 12px}
body[data-hub-mode=directory] .hub-directory-copy h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.1;letter-spacing:-.035em;color:#f6f0e2;margin:0 0 14px}
body[data-hub-mode=directory] .hub-directory-copy p{display:block!important;max-width:65ch;font-size:.9rem;color:#b8c8ce;line-height:1.7;margin:0}
body[data-hub-mode=directory] .hub-directory-navigation{display:grid;gap:9px;position:static;background:transparent;border:0;padding:0;width:auto}
body[data-hub-mode=directory] .hub-directory-navigation a{display:flex;align-items:center;gap:11px;min-height:48px;padding:11px 15px;border:1px solid #c4a96b45;border-radius:12px;color:#e9d5a3;background:#b69d5b08;text-decoration:none;font-size:.83rem}
body[data-hub-mode=directory] .hub-directory-navigation svg{width:22px;height:22px;flex:none}
body[data-hub-mode=directory] .hub-directory-navigation svg:last-child{width:17px;height:17px;margin-left:auto}
body[data-hub-mode=directory] .hub-directory-navigation a:hover{border-color:#d8b96e;background:#c4a96b13}
body[data-hub-mode=directory] .hub-directory{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
body[data-hub-mode=directory] .hub-directory>li{min-width:0}
body[data-hub-mode=directory] .hub-directory>li>a{height:100%}
body[data-hub-mode=directory] .hub-directory .hub-ministry-link{--hub-accent:#dfbf79;--hub-tint:#d0b26a;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:1fr auto;gap:18px 16px;position:relative;overflow:hidden;min-height:158px;padding:23px;border:1px solid #a7bac32c;border-radius:15px;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--hub-tint) 8%,transparent),transparent 75%),linear-gradient(125deg,#122b39,#0c202e);color:#f4eee0;box-shadow:0 5px 15px #00000012;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
body[data-hub-mode=directory] .hub-ministry-link[data-tone=sage]{--hub-accent:#9dccb9;--hub-tint:#79baa5}
body[data-hub-mode=directory] .hub-ministry-link[data-tone=blue]{--hub-accent:#a7c7e4;--hub-tint:#75a5d0}
body[data-hub-mode=directory] .hub-ministry-link[data-tone=rose]{--hub-accent:#dfb7ae;--hub-tint:#ce9c8f}
body[data-hub-mode=directory] .hub-ministry-link::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--hub-accent);opacity:.6}
body[data-hub-mode=directory] .hub-ministry-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--hub-accent) 25%,transparent);border-radius:13px;background:color-mix(in srgb,var(--hub-tint) 9%,transparent);color:var(--hub-accent)}
body[data-hub-mode=directory] .hub-ministry-icon svg{width:30px;height:30px}
body[data-hub-mode=directory] .hub-ministry-copy{align-self:center;min-width:0}
body[data-hub-mode=directory] .hub-directory strong{font-family:Georgia,serif;font-size:clamp(1.12rem,1.6vw,1.4rem);font-weight:400;line-height:1.22;letter-spacing:-.015em;margin:0 0 7px;color:inherit;overflow-wrap:break-word}
body[data-hub-mode=directory] .hub-ministry-description{display:block;color:#b5c4cb;font-size:.77rem;line-height:1.45}
body[data-hub-mode=directory] .hub-ministry-open{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #afc0c51b;padding-top:13px;font-size:.74rem;letter-spacing:.02em;color:var(--hub-accent)}
body[data-hub-mode=directory] .hub-ministry-open svg{width:18px;height:18px;transition:transform .18s ease}
@media(hover:hover){body[data-hub-mode=directory] .hub-directory .hub-ministry-link:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--hub-accent) 65%,transparent);box-shadow:0 12px 24px #0003}body[data-hub-mode=directory] .hub-ministry-link:hover .hub-ministry-open svg{transform:translateX(3px)}}
html[data-theme=light] body[data-hub-mode=directory] .hub-directory-copy h1{color:#19313e}
html[data-theme=light] body[data-hub-mode=directory] .hub-directory-copy .eyebrow{color:#76591e}
html[data-theme=light] body[data-hub-mode=directory] .hub-directory-copy p,html[data-theme=light] body[data-hub-mode=directory] .hub-ministry-description{color:#516774}
html[data-theme=light] body[data-hub-mode=directory] .hub-directory-navigation a{color:#624c23;background:#fffaf0;border-color:#bda67466}
html[data-theme=light] body[data-hub-mode=directory] .hub-directory .hub-ministry-link{--hub-accent:#806021;--hub-tint:#b29757;color:#1b3542;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--hub-tint) 9%,transparent),transparent 80%),#fffdf8;border-color:#c3bca965;box-shadow:0 5px 15px #23394407}
html[data-theme=light] body[data-hub-mode=directory] .hub-ministry-link[data-tone=sage]{--hub-accent:#306c59;--hub-tint:#70a68f}
html[data-theme=light] body[data-hub-mode=directory] .hub-ministry-link[data-tone=blue]{--hub-accent:#396586;--hub-tint:#88aac8}
html[data-theme=light] body[data-hub-mode=directory] .hub-ministry-link[data-tone=rose]{--hub-accent:#955d52;--hub-tint:#cfaa9c}
html[data-theme=light] body[data-hub-mode=directory] .hub-ministry-open{border-color:#b4b7ae44}
@media(min-width:1350px){body[data-hub-mode=directory] .hub-directory{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){body[data-hub-mode=directory] .hub-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body[data-hub-mode=directory] .hub-page{padding-top:24px}body[data-hub-mode=directory] .hub-directory-intro{grid-template-columns:1fr;gap:20px;padding-bottom:24px;margin-bottom:20px}body[data-hub-mode=directory] .hub-directory-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-hub-mode=directory] .hub-directory-navigation a{padding:10px;font-size:.76rem;gap:8px}body[data-hub-mode=directory] .hub-directory-navigation svg:last-child{display:none}body[data-hub-mode=directory] .hub-directory-copy p{font-size:.86rem}}
@media(max-width:520px){body[data-hub-mode=directory] .hub-directory{grid-template-columns:1fr;gap:12px}body[data-hub-mode=directory] .hub-directory .hub-ministry-link{min-height:136px;padding:20px;gap:14px 16px}body[data-hub-mode=directory] .hub-directory strong{font-size:1.3rem}body[data-hub-mode=directory] .hub-ministry-open{padding-top:11px}}
@media(prefers-reduced-motion:reduce){body[data-hub-mode=directory] .hub-ministry-link,body[data-hub-mode=directory] .hub-ministry-open svg{transition:none!important;transform:none!important}}

.hub-access{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 20px;max-width:620px;margin:auto}
.hub-access[hidden]{display:none!important}.hub-access h1{font-size:clamp(1.65rem,3vw,2.3rem)!important;margin:22px 0 10px!important}.hub-access p{font-size:.9rem;color:var(--muted);line-height:1.6;max-width:42ch;display:block!important}.hub-access .portal-loading-logo{width:180px;height:102px;margin:0}.hub-access .hub-gate-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}.hub-loading-line{height:3px;width:150px;overflow:hidden;background:#c4a96b25;border-radius:9px;margin-top:24px}.hub-loading-line::after{content:"";display:block;height:100%;width:50%;background:var(--gold);border-radius:9px;animation:hub-wait 1.4s ease-in-out infinite alternate}@keyframes hub-wait{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.hub-loading-line::after{animation:none;width:100%}}
/* The shell displays the same branded gate before modules or session restoration finish. */
.hub-page:has(#hub-access)>#hub-status:empty{display:none}

.hub-design-toolbar{margin:18px 0 24px;padding:16px;border:1px solid #c4a96b55;border-radius:12px;background:var(--panel,#102b39)}.hub-design-actions{display:flex;gap:8px;flex-wrap:wrap}.hub-design-toolbar p{font-size:.8rem;line-height:1.5;margin:12px 0 0;display:block!important}.hub-design-toolbar button{min-height:44px}.hub-grid.hub-canvas{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(var(--hub-rows),64px);gap:16px;position:relative;align-items:stretch}.hub-canvas>.hub-card{min-height:0;overflow:auto;position:relative;isolation:isolate;background:var(--panel,#102b39)}.hub-canvas.is-editing{padding-bottom:20px;background-image:linear-gradient(#c4a96b12 1px,transparent 1px);background-size:100% 80px}.hub-card-editing{border-style:dashed!important;overflow:auto!important;z-index:1}.hub-card-editing>*:not(.hub-card-controls){pointer-events:none}.hub-card-editing textarea{resize:none}.hub-card-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-8px -8px 16px;padding:6px;border-bottom:1px solid #c4a96b55;background:var(--panel,#102b39);position:sticky;top:0;z-index:3}.hub-drag-handle{cursor:grab!important;touch-action:none;min-height:44px;min-width:44px;font-size:1.5rem!important}.hub-dragging{z-index:20!important;opacity:.85;box-shadow:0 20px 60px #0006;cursor:grabbing}.hub-size-controls{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.hub-size-controls button{min-height:44px;padding:5px!important;font-size:.7rem!important}.hub-palette{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.hub-palette button{min-height:44px}.hub-dialog input[type=file]{max-width:100%;font:inherit;font-size:.85rem;padding:12px 0}.hub-dialog label{display:block}.hub-canvas .hub-calendar-grid button{min-height:44px}.hub-canvas .hub-calendar-grid{gap:3px}.hub-canvas .hub-card h2{font-size:1.3rem}.hub-canvas .hub-card p{display:block!important}.hub-canvas .hub-card[hidden]{display:none!important}
@media(max-width:700px){.hub-grid.hub-canvas{display:flex;flex-direction:column;gap:16px;background:none}.hub-canvas>.hub-card{height:auto;min-height:180px;max-height:none;overflow:visible}.hub-drag-handle{display:none}.hub-card-controls{position:static}.hub-card-editing>*:not(.hub-card-controls){pointer-events:auto}.hub-canvas .hub-calendar-grid button{min-height:48px}.hub-size-controls [data-size]{display:none}}

body .hub-directory .hub-ministry-group{height:100%;padding:22px;border:1px solid #a7bac33f;border-radius:15px;background:linear-gradient(125deg,#142f3d,#0c202e);color:#f4eee0;--hub-accent:#dfbf79;--hub-tint:#d0b26a}body .hub-directory .hub-group-heading{display:flex;gap:16px;align-items:center;margin-bottom:17px}body .hub-directory .hub-group-links{display:grid;gap:7px}body .hub-directory .hub-group-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-radius:8px;padding:9px 12px;border:1px solid #c4a96b40;background:#c4a96b08;font-size:.82rem;color:inherit}body .hub-group-link svg{width:18px;height:18px;flex:none}html[data-theme=light] body .hub-directory .hub-ministry-group{background:#fffdf8;color:#1b3542;--hub-accent:#806021;--hub-tint:#b29757}body .hub-ministry-group .hub-ministry-icon{flex:none}@media(max-width:520px){body .hub-directory .hub-ministry-group{padding:20px}}

body[data-hub-mode=directory] .hub-ministry-link>.hub-ministry-icon{align-self:center}

.hub-previous{margin-top:24px;padding:18px;border:1px solid #c4a96b55;border-radius:12px;background:var(--panel,#102b39)}.hub-previous summary{cursor:pointer;min-height:44px;line-height:1.6}.hub-previous pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}.hub-previous article{padding:16px 0;border-top:1px solid #c4a96b35}.hub-previous button{margin:8px 8px 0 0;min-height:44px}.hub-group-ministries{font-size:.8rem;line-height:1.5;min-height:32px;margin:0 0 10px;color:inherit}
