/* Palette, hierarchy and home layout from the approved mipo-blue-refined-v2 design. */
:root{--green:#0879bb;--ink:#173f67;--bg:#f5f9fd;--line:#dbe9f4;--muted:#476d8c}
body{background:#eaf2f9;color:#173f67}.app{background:#f5f9fd;max-width:520px;box-shadow:0 10px 35px #1b77960c}header{height:84px;background:#fff;border-color:#dfeaf5;padding:0 20px;backdrop-filter:none}.brand{gap:9px}.brand .brand-logo{width:49px;height:49px;object-fit:contain;flex-shrink:0}.brand small{font-size:10px;color:#416b91;font-weight:500;margin-bottom:5px}.brand strong{font-size:18px;font-weight:750;color:#075c9c;letter-spacing:-.05em}.header-actions{gap:7px;flex-wrap:nowrap}.header-actions .signout-link,.header-notices{display:grid;place-items:center;padding:0;width:38px;min-height:40px;border:0;border-radius:11px;background:#e7f2fc;color:#0968ad;font-weight:700}.header-notices svg{width:21px;height:21px;stroke-width:2}main{padding:23px 20px}.app-welcome{gap:10px;align-items:center;margin-bottom:18px}.app-welcome h1{font-size:20px;line-height:1.4;letter-spacing:-.045em;color:#21496c;font-weight:500;margin:0}.app-welcome h1 strong{font-weight:750;color:#104f85;white-space:nowrap}.app-welcome .my-link{display:flex;align-items:center;gap:5px;background:#e2effb;color:#075e9f;border:1px solid #c9e1f6;border-radius:10px;min-height:44px;flex-shrink:0;padding:9px 11px;font-size:12px;font-weight:700;white-space:nowrap}.my-link svg{width:17px;height:17px;stroke-width:2.2}.search{background:#fff;border-color:#c9dff2;margin-bottom:12px}.search svg{color:#096fba;stroke-width:2.2}.search input{font-size:14px;color:#173f67}.search input::placeholder{color:#476d8c}.cohort-entry{display:flex;align-items:center;gap:13px;width:100%;margin:0 0 20px;padding:14px 16px;background:#fff;border:1px solid #cfe3f5;border-radius:12px;text-align:left;min-height:76px}.cohort-entry .menu-icon{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;background:#0879bb;border-radius:12px;color:#fff}.cohort-entry strong{display:block;font-size:16px;color:#07558f;font-weight:750}.cohort-entry small{display:block;margin-top:5px;font-size:12px;color:#456e91}.cohort-entry>.chev{margin-left:auto;color:#0870b6}.app-card{background:#e8f4fe;border:1px solid #d1e8fa;margin:0 0 23px;padding:23px 22px;border-radius:15px;position:relative;overflow:hidden}.app-card:after{background:#d5ebfc}.app-card small{color:#356d9c;font-weight:600}.app-card h2{font-size:25px;font-weight:750;letter-spacing:-.05em;line-height:1.45;margin:10px 0 13px;color:#096bb4}.app-card button{color:#145d96;font-weight:600}.quick{display:flex;gap:10px;margin-bottom:26px}.quick button{flex:1;min-height:78px;font-size:12px;font-weight:700;border:1px solid #cfe3f5;background:#fff;border-radius:12px;color:#095b98}.quick button svg{color:#0879bb;stroke-width:2.2}.section-head h2{font-size:20px;color:#084e88;font-weight:800;letter-spacing:-.04em}.section-head button{color:#17649a;font-weight:600;font-size:12px}.panel{border-color:#d6e6f4;background:#fff;border-radius:13px}.intro-menu button{border-color:#e1edf7;padding:17px 16px}.intro-menu .menu-icon{background:#0879bb;color:#fff;border-radius:10px}.intro-menu svg{stroke-width:2.1}.intro-menu strong{font-size:15px;font-weight:700;color:#12578b}.intro-menu small{color:#456b8a;font-size:12px}.intro-menu .chev{color:#0872b7}.notice strong{color:#1c4d73;font-weight:600}.notice .tag{color:#0767a8;font-weight:700}.notice small{color:#426f94}.page-title,.admin-card h2{color:#09568f}.member h3{color:#0c538b;font-weight:750}.member p{color:#416c8d}.primary{background:#0879bb;color:#fff}.outline{border-color:#cfe3f5;color:#075e9f}.bottom{border-color:#d5e6f4}.bottom button{color:#3873a3;font-weight:600}.bottom button.active{color:#005da4;font-weight:800}.bottom svg{stroke-width:2}.bottom button.active svg{background:#e2effc}.promotion-invite{background:#fff;border-color:#d3e5f4}.promotion-invite strong{color:#12578b}.large .app-welcome h1{font-size:23px}.large .intro-menu strong{font-size:19px}.large .intro-menu small{font-size:15px}.footer-note{color:#476d8c}button:focus-visible,a:focus-visible{outline:3px solid #1670e6;outline-offset:3px}@media(max-width:370px){header{padding:0 13px}.brand{gap:6px}.brand .brand-logo{width:42px;height:42px}.brand strong{font-size:16px}.brand small{font-size:9px}.header-actions{gap:4px}.header-actions .signout-link,.header-notices{width:33px}main{padding-left:16px;padding-right:16px}.app-welcome h1{font-size:18px}.app-welcome .my-link{padding:8px;font-size:11px}}

/* Header wordmark and shortcut spacing, approved blue/white layout. */
.brand{text-align:left}.brand>span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.brand small{margin:0;line-height:1.2;letter-spacing:0}.brand strong{display:block;margin:0;line-height:1.2}
.quick button{gap:4px;justify-content:center;padding:9px 4px 11px}.quick button svg{padding:8px;margin:0}.quick button{line-height:1.35}
.role-editor{border:1px solid var(--line);border-radius:12px;padding:14px;margin:20px 0}.role-editor legend{font-size:13px;font-weight:700}.role-editor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 44px;gap:6px;align-items:center}.role-editor-row .admin-input{min-width:0;margin:5px 0;padding:10px 7px}.role-remove{font-size:12px;color:#9b3636;min-height:44px}.row strong{text-align:right;overflow-wrap:anywhere}


/* Official greetings: title-only outline, plain name, aligned to the portrait's lower edge. */
.greeting-card--leadership .greeting-person{align-items:flex-end;gap:16px}
.greeting-card--leadership .greeting-identity{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-wrap:anywhere}
.greeting-card--leadership .greeting-identity .eyebrow{display:inline-block;max-width:100%;padding:5px 9px;border:1px solid #bacbd9;border-radius:5px;background:transparent;box-shadow:none;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0;color:#23668f}
.greeting-card--leadership .greeting-identity h2{margin:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.035em;color:#173f67}
.large .greeting-card--leadership .greeting-identity .eyebrow{font-size:14px}
.large .greeting-card--leadership .greeting-identity h2{font-size:26px}
@media(max-width:360px){.greeting-card--leadership .greeting-person{gap:12px}.greeting-card--leadership .greeting-identity .eyebrow{font-size:11px;padding:5px 8px}.greeting-card--leadership .greeting-identity h2{font-size:22px}}

/* Three independent home cards, using distinct light shades within the approved blue palette. */
.home-forum-card{background:transparent;border:0;padding:0;overflow:visible}
.home-forum-card:after{display:none}
.home-forum-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:0}
.app-card .home-intro-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;text-align:left;font-size:15px;font-weight:750;line-height:1.5;min-height:138px;padding:17px 14px;border:1px solid #b9d8ef;border-radius:14px;background:#dceefa;color:#075d96;box-shadow:none;word-break:keep-all}
.app-card .home-intro-link{position:relative;isolation:isolate;overflow:hidden}
.home-intro-link:after{content:'';position:absolute;width:130px;height:130px;border:24px solid #ffffff47;border-radius:50%;background:#cce5f7;right:-50px;top:-40px;pointer-events:none;z-index:0}
.home-intro-link>span{position:relative;z-index:1}
.home-intro-slogan{font-size:clamp(15px,4.3vw,20px);font-weight:750;line-height:1.6;letter-spacing:-.045em}
.home-intro-slogan>span{display:block;white-space:nowrap}
.home-intro-caption{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.4}
.home-intro-link .home-intro-caption svg{width:14px;height:14px;flex:none}
.large .home-intro-slogan{font-size:clamp(17px,4.8vw,22px)}
.large .home-intro-caption{font-size:14px}
.home-editorial-links{display:grid;grid-template-rows:repeat(2,minmax(64px,auto));gap:10px;min-width:0}
.app-card .home-editorial-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;width:100%;min-height:64px;padding:12px 14px;text-align:left;line-height:1.5;border:1px solid #c4ddea;border-radius:14px;box-shadow:none}
.app-card .home-editorial-link--person{background:#fff;border-color:#c4ddea}
.app-card .home-editorial-link--column{background:#eaf0fc;border-color:#ccd8ee}
.home-editorial-link strong{font-size:14px;color:#07558f;font-weight:750}
.home-editorial-link--column strong{color:#3b568d}
.home-editorial-link span{font-size:12px;color:#355e7e;word-break:keep-all;overflow-wrap:anywhere;font-weight:500}
.editorial-list{margin-top:18px}.editorial-article{background:#fff;border:1px solid #dbe9f4;border-radius:14px;padding:24px;margin:16px 0}
.editorial-article h2{font-size:23px;line-height:1.5;margin:10px 0;color:#173f67;overflow-wrap:anywhere}
.editorial-photo{display:block;max-width:100%;max-height:440px;object-fit:contain;border-radius:10px;margin:18px auto 24px}
.editorial-editor{min-height:320px;line-height:1.8}.editorial-article .notice-body{font-size:16px;line-height:1.9}
.large .home-editorial-link strong,.large .app-card .home-intro-link{font-size:16px}.large .home-editorial-link span{font-size:14px}.large .editorial-article .notice-body{font-size:19px}
@media(max-width:360px){.home-forum-links{gap:10px}.app-card .home-intro-link{padding:14px 12px;font-size:14px}.app-card .home-editorial-link{padding:11px 12px}.home-editorial-link strong{font-size:13px}.home-editorial-link span{font-size:12px}}

/* Portrait and author identity follow the official greeting layout. */
.editorial-person{padding-bottom:22px;border-bottom:1px solid #e3edf5}
.editorial-person-placeholder{width:116px;height:145px}
.editorial-cohort{font-size:13px;font-weight:500;line-height:1.4;color:#476d8c}
.editorial-legacy-byline{margin:0;font-size:16px;line-height:1.6;color:#173f67;overflow-wrap:anywhere}
.editorial-profile-fields{border:1px solid #dbe9f4;border-radius:12px;padding:14px;margin:16px 0}
.editorial-profile-fields legend{font-size:14px;font-weight:700;color:#173f67}
.large .editorial-cohort{font-size:15px}.large .editorial-legacy-byline{font-size:18px}

/* Organization: identical gutters, compact horizontal portraits, column-first pairs. */
.orgchart-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:2px 1px 10px;margin:0 0 14px}
.orgchart-tabs button{flex:none;white-space:nowrap;padding:10px 12px;min-height:44px;border:1px solid #cbdfee;border-radius:9px;color:#235f8c;background:#fff;font-size:13px;font-weight:650}
.orgchart-tabs button.selected{background:#0879bb;border-color:#0879bb;color:#fff}
.orgchart{display:grid;gap:16px}.orgchart-section{min-width:0}
.orgchart-section h2{font-size:15px;line-height:1.4;color:#075d96;margin:0 0 8px;padding:0;font-weight:750}
.orgchart-grid{display:grid;gap:8px;align-items:stretch}
.orgchart-grid--1{grid-template-columns:minmax(0,1fr)}
.orgchart-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(var(--org-rows),auto)}
.orgchart-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.orgchart-person{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px 8px;align-items:center;align-content:center;min-width:0;width:100%;min-height:74px;padding:9px;text-align:left;border:1px solid #d6e5f1;border-radius:10px;background:#fff;color:#173f67;box-shadow:none}
.orgchart-person img,.orgchart-avatar{display:block;width:44px;height:54px;object-fit:cover;object-position:center top;border-radius:6px;background:#edf5fb}
.orgchart-avatar{display:grid;place-items:center;color:#729bb8}.orgchart-avatar svg{width:25px;height:25px}
.orgchart-identity{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:7px;row-gap:3px;min-width:0}
.orgchart-identity strong{font-size:15px;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.orgchart-cohort{font-size:12px;line-height:1.4;color:#4d708a;white-space:nowrap}
.orgchart-role{flex-basis:100%;font-size:11px;line-height:1.4;color:#0871ab;font-weight:650;overflow-wrap:anywhere}
.orgchart-term{grid-column:1/-1;font-size:11px;line-height:1.5;color:#34678b;text-align:left;overflow-wrap:anywhere}
.orgchart-grid--1 .orgchart-person{grid-template-columns:58px minmax(0,1fr);padding:10px 14px;column-gap:14px}
.orgchart-grid--1 .orgchart-person img,.orgchart-grid--1 .orgchart-avatar{width:58px;height:68px}
.orgchart-grid--1 .orgchart-identity strong{font-size:18px}.orgchart-grid--1 .orgchart-cohort{font-size:14px}
.orgchart-grid--3 .orgchart-person{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:9px 5px;gap:6px}
.orgchart-grid--3 .orgchart-identity{justify-content:center;column-gap:5px}.orgchart-grid--3 .orgchart-identity strong{font-size:14px}
.large .orgchart-section h2{font-size:18px}.large .orgchart-identity strong{font-size:18px}.large .orgchart-role,.large .orgchart-cohort,.large .orgchart-term{font-size:14px}
@media(max-width:370px){.orgchart-person{grid-template-columns:36px minmax(0,1fr);column-gap:6px;padding:8px 6px}.orgchart-person img,.orgchart-avatar{width:36px;height:46px}.orgchart-identity strong{font-size:14px}.orgchart-term{font-size:10px}.orgchart-grid--3 .orgchart-identity{flex-direction:column;align-items:center}}
