/* MeFlow visual system — shared typography, header/footer rhythm, and restrained glass surfaces. */
:root{
    --mf-blue:#2f61e9;
    --mf-blue-deep:#2857dc;
    --mf-bg:#f5f7fb;
    --mf-text:#1d1d1f;
    --mf-muted:#6e6e73;
    --mf-muted-2:#86868b;
    --mf-surface:rgba(255,255,255,.82);
    --mf-surface-strong:rgba(255,255,255,.94);
    --mf-line:rgba(44,57,78,.08);
    --mf-glass-line:rgba(255,255,255,.58);
    --mf-shadow:0 12px 36px rgba(31,51,92,.065);
    --mf-shadow-soft:0 7px 24px rgba(31,51,92,.045);
    --mf-radius-xl:24px;
    --mf-radius-lg:20px;
    --mf-radius-md:14px;
    --mf-header-height:70px;
    --mf-title-hero:38px;
    --mf-title-page:32px;
    --mf-title-section:22px;
    --mf-title-card:16px;
    --mf-body:14px;
    --mf-secondary:12px;
    --mf-meta:11px;
}

body.dashboard-page,
.meflow-home-page{
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",sans-serif;
    color:var(--mf-text);
    background:
        radial-gradient(circle at 14% -8%,rgba(47,97,233,.08),transparent 34rem),
        radial-gradient(circle at 88% 10%,rgba(115,147,255,.045),transparent 28rem),
        linear-gradient(180deg,#fbfcff 0%,var(--mf-bg) 34%,#f6f7fa 100%);
    min-height:100vh;
}

/* One header rhythm across Home, MeProgram and MePeople. */
.meflow-home-topbar,
.modern-topbar.meprogram-topbar,
.modern-topbar.mepeople-topbar{
    position:sticky;
    top:0;
    z-index:1040;
    height:var(--mf-header-height)!important;
    min-height:var(--mf-header-height)!important;
    display:flex;
    align-items:center;
    background:linear-gradient(90deg,rgba(40,87,220,.96) 0%,rgba(53,101,231,.94) 58%,rgba(59,104,223,.94) 100%)!important;
    border-bottom:1px solid rgba(255,255,255,.14);
    box-shadow:0 8px 28px rgba(34,72,170,.11)!important;
    backdrop-filter:blur(16px) saturate(145%);
    -webkit-backdrop-filter:blur(16px) saturate(145%);
}
.meflow-home-topbar-inner,
.modern-topbar.meprogram-topbar .topbar-flex,
.modern-topbar.mepeople-topbar .topbar-flex{
    min-height:var(--mf-header-height)!important;
    height:var(--mf-header-height)!important;
}
.meflow-home-topbar .prodi-logo,
.meprogram-topbar .prodi-logo,
.mepeople-topbar .prodi-logo{
    height:40px!important;
    width:auto!important;
    max-width:none;
    object-fit:contain;
}
.meflow-home-logo-shell{
    height:auto!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.meflow-home-brand-divider,
.meprogram-brand-divider,
.mepeople-brand-divider{
    width:1px!important;
    height:27px!important;
    background:rgba(255,255,255,.28)!important;
}
.meflow-home-brand-name,
.meprogram-brand-name,
.mepeople-brand-name{
    color:#fff!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:650!important;
    letter-spacing:-.025em!important;
}
.meprogram-topbar .btn-light,
.mepeople-topbar .btn-light{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    padding:.5rem .85rem!important;
    font-size:12px!important;
    font-weight:600!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    transition:background-color .18s ease,transform .18s ease;
}
.meprogram-topbar .btn-light:hover,
.mepeople-topbar .btn-light:hover{
    background:rgba(255,255,255,.19)!important;
    color:#fff!important;
    transform:translateY(-1px);
}

/* Shared page width and vertical rhythm. */
.meflow-home-page .modern-container,
.meprogram-page .modern-container,
.mepeople-page .modern-container{
    width:min(1200px,calc(100% - 40px));
    max-width:1200px;
}
.dashboard-modern{
    min-height:auto;
    padding:40px 0 34px;
    background:transparent!important;
}
.meprogram-page,
.mepeople-page{background:transparent!important}

/* Typography scale: Home can be heroic; modules use one consistent page scale. */
.meflow-home-welcome h1{font-size:var(--mf-title-hero)!important;font-weight:700!important;letter-spacing:-.045em!important}
.meflow-home-section-head h2{font-size:var(--mf-title-section)!important;font-weight:680!important;letter-spacing:-.035em!important}
.meflow-home-welcome p{font-size:15px!important;line-height:1.5!important}
.meflow-home-service-copy strong{font-size:var(--mf-title-card)!important;font-weight:650!important}
.meflow-home-service-copy small,
.meflow-home-agenda-card p,
.meflow-home-agenda-location,
.meflow-home-program-role{font-size:var(--mf-secondary)!important}

.meprogram-pagehead h1,
.meprogram-form-intro h1,
.mepeople-v2-hero h1{
    font-size:var(--mf-title-page)!important;
    line-height:1.12!important;
    font-weight:700!important;
    letter-spacing:-.04em!important;
}
.meprogram-hero-main h1{
    font-size:30px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:-.038em!important;
}
.meprogram-pagehead p,
.meprogram-form-intro p,
.mepeople-v2-hero p,
.meprogram-workspace-description{
    font-size:var(--mf-body)!important;
    line-height:1.65!important;
    color:var(--mf-muted)!important;
}
.meprogram-eyebrow,
.meprogram-panel-kicker,
.mepeople-page .portal-chip{
    font-size:var(--mf-meta)!important;
    font-weight:600!important;
    letter-spacing:.025em!important;
}
.meprogram-panel-head h2{
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:650!important;
    letter-spacing:-.025em!important;
}
.meprogram-card-body h2,
.mepeople-page .mp2-profile-head h3{
    font-size:17px!important;
    font-weight:650!important;
    letter-spacing:-.025em!important;
}
.meprogram-timeline-copy h3,
.meprogram-agenda-copy h3,
.meprogram-person-copy strong,
.meprogram-task-copy strong,
.meprogram-task-preview-item strong{
    font-size:14px!important;
    font-weight:650!important;
}
.meprogram-program-meta,
.meprogram-agenda-description,
.meprogram-side-description,
.meprogram-timeline-copy p,
.meprogram-agenda-copy p,
.meprogram-person-copy span,
.meprogram-task-copy span,
.meprogram-task-copy small{
    font-size:var(--mf-secondary)!important;
    line-height:1.55!important;
}
.meprogram-page .btn,
.mepeople-page .btn{font-size:13px;font-weight:600}
.meprogram-page .form-label,
.mepeople-page .form-label{font-size:13px!important;font-weight:600!important}
.meprogram-page .form-control,
.meprogram-page .form-select,
.mepeople-page .form-control,
.mepeople-page .form-select{font-size:14px!important}

.mepeople-v2-hero{padding:28px 0 22px!important}
.mp2-metric span,.mp2-metric small{font-size:var(--mf-secondary)!important}
.mp2-metric strong{font-size:26px!important;font-weight:700!important;letter-spacing:-.035em}
.mp2-table tbody td{font-size:13px!important}
.mp2-table thead th{font-size:10px!important;font-weight:650!important;letter-spacing:.055em!important}
.mp2-person-copy strong{font-size:13px!important;font-weight:650!important}
.mp2-person-copy small,.mp2-login-state small{font-size:11px!important}
.mp2-badge,.mepeople-status{font-size:11px!important;font-weight:600!important}

/* Restrained glassmorphism: only major surfaces, not every small row. */
.meprogram-workspace-hero,
.meprogram-workspace-shell,
.meprogram-panel,
.meprogram-metric-card,
.meprogram-program-card,
.meprogram-create-card,
.mp2-panel,
.mp2-metric,
.mp2-profile-head,
.meflow-home-agenda-card,
.meflow-home-program-card,
.meflow-home-service-card.is-active{
    background:var(--mf-surface)!important;
    border-color:var(--mf-glass-line)!important;
    box-shadow:var(--mf-shadow-soft)!important;
    backdrop-filter:blur(12px) saturate(125%);
    -webkit-backdrop-filter:blur(12px) saturate(125%);
}
.meprogram-workspace-hero,
.meprogram-workspace-shell,
.mp2-panel{
    box-shadow:var(--mf-shadow)!important;
}
.meprogram-workspace-hero,
.meprogram-program-card,
.mp2-panel,
.mp2-metric{border:1px solid rgba(255,255,255,.62)!important}
.meprogram-tabs,
.mp2-toolbar{
    background:rgba(250,251,254,.72)!important;
    border-color:var(--mf-line)!important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}
.meprogram-sticky-nav{
    top:var(--mf-header-height)!important;
    background:rgba(250,251,254,.82)!important;
    border-color:rgba(255,255,255,.62)!important;
    backdrop-filter:blur(16px) saturate(130%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(130%)!important;
}
.meprogram-tab-content{background:rgba(255,255,255,.72)!important;border-color:rgba(255,255,255,.64)!important}

/* Softer corners and less rigid cards. */
.meprogram-workspace-hero,.mp2-panel{border-radius:var(--mf-radius-xl)!important}
.meprogram-panel,.meprogram-program-card,.mp2-metric{border-radius:var(--mf-radius-lg)!important}
.meprogram-program-card,.mp2-metric,.meprogram-metric-card{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.meprogram-program-card:hover,.mp2-metric:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(31,51,92,.08)!important}

/* One footer across all portal modules. The old Home footer is hidden. */
.meflow-home-footer{display:none!important}
.mf-global-footer{
    margin-top:8px;
    padding:0 0 28px;
    color:#96969c;
    font-size:11px;
    line-height:1.5;
}
.mf-global-footer-inner{
    width:min(1200px,calc(100% - 40px));
    margin:0 auto;
    padding-top:20px;
    border-top:1px solid rgba(44,57,78,.08);
    text-align:center;
}

@media(max-width:900px){
    :root{--mf-header-height:64px}
    .meflow-home-topbar .prodi-logo,
    .meprogram-topbar .prodi-logo,
    .mepeople-topbar .prodi-logo{height:36px!important}
    .meflow-home-brand-divider,
    .meprogram-brand-divider,
    .mepeople-brand-divider{height:24px!important}
    .meflow-home-brand-name,
    .meprogram-brand-name,
    .mepeople-brand-name{font-size:15px!important}
    .meprogram-sticky-nav{top:var(--mf-header-height)!important}
}

@media(max-width:767.98px){
    .meflow-home-page .modern-container,
    .meprogram-page .modern-container,
    .mepeople-page .modern-container,
    .mf-global-footer-inner{width:min(100% - 24px,1200px)}
    .meflow-home-main,.dashboard-modern{padding-top:30px}
    .meflow-home-welcome h1{font-size:31px!important}
    .meflow-home-section-head h2{font-size:20px!important}
    .meprogram-pagehead h1,
    .meprogram-form-intro h1,
    .mepeople-v2-hero h1{font-size:28px!important}
    .meprogram-hero-main h1{font-size:26px!important}
    .meprogram-panel-head h2{font-size:17px!important}
    .mf-global-footer{padding-bottom:22px}
}

@media(prefers-reduced-motion:reduce){
    .meprogram-program-card,.mp2-metric,.meprogram-topbar .btn-light,.mepeople-topbar .btn-light{transition:none!important}
}
