/* Extended Center Portal Sections */
.portal-page{background:#f5f8fc;min-height:70vh}
.portal-hero{position:relative;overflow:hidden;padding:58px 0;color:#fff;background:radial-gradient(circle at 88% 18%,rgba(45,212,191,.18),transparent 28%),linear-gradient(135deg,#081f36,#123b5d 56%,#0f766e)}
.portal-hero.indigo{background:radial-gradient(circle at 85% 20%,rgba(167,139,250,.18),transparent 28%),linear-gradient(135deg,#17183f,#3730a3 58%,#7c3aed)}
.portal-hero.cyan{background:radial-gradient(circle at 88% 18%,rgba(34,211,238,.18),transparent 27%),linear-gradient(135deg,#08334a,#0e6470 58%,#0891b2)}
.portal-hero.gold{background:radial-gradient(circle at 86% 20%,rgba(251,191,36,.18),transparent 28%),linear-gradient(135deg,#38210a,#93520b 56%,#d97706)}
.portal-hero.green{background:radial-gradient(circle at 86% 20%,rgba(52,211,153,.18),transparent 28%),linear-gradient(135deg,#082f2a,#0f5a4e 58%,#0f766e)}
.portal-hero:after{content:"";position:absolute;width:320px;height:320px;right:-125px;top:-135px;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 55px rgba(255,255,255,.02),0 0 0 110px rgba(255,255,255,.012)}
.portal-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.portal-kicker{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.portal-hero h1{margin:12px 0 8px;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.2}.portal-hero p{margin:0;max-width:760px;color:#d7e7ef;line-height:1.75;font-size:14px}
.portal-hero-side{padding:19px;border-radius:19px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}
.portal-hero-side strong{display:block;font-size:17px}.portal-hero-side small{display:block;color:#cfe0e9;margin-top:5px;line-height:1.55}
.portal-section{padding:58px 0}.portal-section.white{background:#fff}.portal-section.soft{background:linear-gradient(180deg,#f6f9fc,#eef5f9)}
.portal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:22px}.portal-head h2{margin:7px 0 0;color:#102a43;font-size:30px}.portal-head p{margin:5px 0 0;color:#667085}.portal-label{display:inline-flex;padding:5px 8px;border-radius:999px;background:linear-gradient(135deg,#eef5ff,#ecfdf5);border:1px solid #d8e7ed;color:#1d4ed8;font-size:8px;font-weight:900;letter-spacing:.07em}
.portal-search{min-width:280px;border:1px solid #d5e0e9;border-radius:11px;padding:10px 11px;background:#fff}
.portal-empty{text-align:center;padding:44px 20px;border:1px dashed #cbd8e2;border-radius:18px;background:#fff;color:#64748b}
.portal-empty b{display:block;font-size:34px;margin-bottom:7px}

/* Calendar */
.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-card{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:17px;border-radius:18px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 8px 24px rgba(8,35,61,.05)}
.event-date{display:grid;place-items:center;align-content:center;border-radius:14px;background:linear-gradient(135deg,#eaf2ff,#ecfdf5);border:1px solid #d8e7ed}.event-date strong{font-size:24px;color:#1d4ed8}.event-date small{font-size:9px;color:#0f766e;font-weight:900}
.event-card h3{margin:2px 0 5px;color:#102a43;font-size:15px}.event-card p{margin:0;color:#667085;font-size:10px;line-height:1.6}.event-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.event-meta span{padding:5px 7px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#526172;font-size:8.5px;font-weight:800}

/* Directory */
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.directory-card{position:relative;overflow:hidden;padding:19px;border-radius:19px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 9px 26px rgba(8,35,61,.05);transition:.18s ease}.directory-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(8,35,61,.09)}
.directory-no{position:absolute;right:14px;top:10px;color:#e2e8f0;font-size:28px;font-weight:900}.directory-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#dbeafe,#ccfbf1);font-size:20px}.directory-card h3{margin:12px 38px 5px 0;color:#102a43;font-size:14px;line-height:1.45}.directory-card>p{margin:0;color:#64748b;font-size:9.5px}.directory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.directory-stats div{padding:8px;border-radius:10px;background:#f8fafc;border:1px solid #edf1f5}.directory-stats strong,.directory-stats small{display:block}.directory-stats strong{color:#17324d;font-size:13px}.directory-stats small{font-size:7.5px;color:#7a8795}

/* Resources */
.resource-category{margin-bottom:25px}.resource-category h3{margin:0 0 10px;color:#102a43}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource-card{display:flex;gap:11px;align-items:flex-start;padding:14px;border-radius:15px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 6px 18px rgba(8,35,61,.04)}.resource-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#eaf2ff,#ecfdf5);font-size:18px}.resource-card strong{display:block;color:#102a43;font-size:11px}.resource-card p{margin:4px 0 7px;color:#667085;font-size:9px;line-height:1.5}.resource-card a{font-size:9px;font-weight:900;color:#1d4ed8}

/* Best practices */
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.practice-card{position:relative;overflow:hidden;padding:19px;border-radius:19px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 9px 26px rgba(8,35,61,.05)}.practice-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e,#f59e0b)}.practice-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#eef5ff,#ecfdf5);font-size:20px}.practice-card h3{margin:11px 0 5px;color:#102a43;font-size:14px}.practice-card p{margin:0;color:#667085;font-size:10px;line-height:1.65}.practice-school{display:block;margin-top:10px;color:#0f766e;font-size:9px;font-weight:900}.practice-details{margin-top:9px;padding-top:9px;border-top:1px solid #edf1f5;color:#526172!important}

/* Contact/help */
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.contact-card,.help-card{padding:21px;border-radius:20px;background:#fff;border:1px solid #dfe8ef;box-shadow:0 10px 28px rgba(8,35,61,.055)}.contact-item{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f5}.contact-item:last-child{border-bottom:0}.contact-item b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#dbeafe,#ccfbf1)}.contact-item strong,.contact-item small{display:block}.contact-item strong{color:#102a43;font-size:11px}.contact-item small{color:#718096;font-size:9px;margin-top:2px}
.help-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-form .wide{grid-column:1/-1}.help-form label{font-size:10px;font-weight:900;color:#526172}.help-form input,.help-form select,.help-form textarea{display:block;width:100%;margin-top:5px;border:1px solid #d5e0e9;border-radius:10px;padding:10px;background:#fff}.help-form textarea{min-height:110px;resize:vertical}
.help-history{margin-top:16px;display:grid;gap:8px}.help-row{padding:11px;border-radius:12px;background:#f8fafc;border:1px solid #e7edf2}.help-row-head{display:flex;justify-content:space-between;gap:10px}.help-row strong{font-size:10px;color:#17324d}.help-row p{margin:4px 0 0;color:#667085;font-size:9px}.help-status{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.help-status.pending{background:#fff7ed;color:#b45309}.help-status.in_progress{background:#eff6ff;color:#1d4ed8}.help-status.resolved{background:#dcfce7;color:#166534}

/* Admin */
.portal-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.portal-admin-grid .wide{grid-column:1/-1}.portal-admin-grid label{font-size:10px;font-weight:900;color:#526172}.portal-admin-grid input,.portal-admin-grid select,.portal-admin-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid #d5e0e9;border-radius:10px;padding:9px;background:#fff}.portal-admin-grid textarea{min-height:80px;resize:vertical}
.admin-list{display:grid;gap:10px}.admin-item{padding:14px;border-radius:14px;background:#fff;border:1px solid #e1e9ef}.admin-item-grid{display:grid;grid-template-columns:1.2fr .65fr .65fr;gap:8px}.admin-item-grid textarea{grid-column:1/-1}.admin-item input,.admin-item select,.admin-item textarea{width:100%;border:1px solid #d5e0e9;border-radius:9px;padding:8px}.admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}

@media(max-width:980px){.portal-hero-inner,.contact-grid{grid-template-columns:1fr}.directory-grid,.resource-grid,.practice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.event-grid,.directory-grid,.resource-grid,.practice-grid{grid-template-columns:1fr}.portal-head{align-items:flex-start;flex-direction:column}.portal-search{width:100%;min-width:0}.help-form,.portal-admin-grid,.admin-item-grid{grid-template-columns:1fr}.help-form .wide,.portal-admin-grid .wide,.admin-item-grid textarea{grid-column:auto}.event-card{grid-template-columns:62px 1fr}}

.contact-link{
  color:#0f5f78;
  font-weight:850;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:color .16s ease,transform .16s ease;
}
.contact-link:hover{color:#1d4ed8;text-decoration:underline}
