/* Page Moi only: personal landscape, grouped ivory cards, sourced timeline. */
#application #page-profile.active { background:transparent!important; gap:0!important; }
#application #page-profile > .page-heading { order:0!important; display:block!important; min-height:210px!important; margin:0 0 0!important; padding:26px!important; border-radius:24px!important; background:linear-gradient(90deg,#061d26b0,#061d2610),url('/mygablink-home-moonlagoon-v1.webp') center/cover!important; }
#application #page-profile > .page-heading::before,#application #page-profile > .page-heading::after { content:none!important; }
#application #page-profile > .page-heading > div { display:block!important; }
#application #page-profile > .page-heading .eyebrow { display:block!important; color:#f8f1df!important; font-size:12px!important; letter-spacing:.14em!important; }
#application #page-profile > .page-heading h1 { color:#fff8eb!important; font:700 56px/1.1 Georgia,serif!important; margin:8px 0!important; }
#application #page-profile > .page-heading .page-intro { max-width:none!important; margin:0!important; font:400 21px/1.4 Georgia,serif!important; color:#fff8eb!important; }
#application #page-profile > .profile-journey { order:1!important; display:grid!important; position:relative!important; grid-template-columns:76px minmax(0,1fr) 24px!important; gap:18px!important; margin:8px 0 0!important; min-height:114px!important; padding:18px!important; border:1px solid #e6dccb!important; border-radius:20px!important; background:#fffdf7!important; box-shadow:0 6px 20px #173f3510!important; }
#application #page-profile .profile-journey::before,#application #page-profile .profile-journey::after,#application #page-profile .profile-journey-pattern,#application #page-profile .profile-journey-copy p { display:none!important; }
#application #page-profile .profile-journey-avatar { position:static!important; grid-column:1!important; grid-row:1!important; width:76px!important; height:76px!important; margin:0!important; align-self:center!important; border-radius:50%!important; }
#application #page-profile .profile-journey-copy { grid-column:2!important; grid-row:1!important; padding:0!important; min-width:0!important; width:auto!important; }
#application #page-profile .profile-journey-copy h2 { font:700 26px/1.25 Georgia,serif!important; margin:0 0 8px!important; overflow-wrap:anywhere!important; }
#application #page-profile .profile-private-label { color:#41675c!important; font-size:12px!important; padding:7px 10px!important; white-space:normal!important; }
#application #page-profile .moi-person-open { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; border:0!important; border-radius:20px!important; padding:0 18px 0 0!important; text-align:right!important; background:transparent!important; color:#244d45!important; font-size:24px!important; }
#application #page-profile .moi-person-open:focus-visible { outline:3px solid #b76946!important; outline-offset:2px!important; }
#application #page-profile > #admin-opening-card { order:2!important; margin:0!important; padding:16px 20px!important; border:1px solid #e6dccb!important; border-radius:18px!important; background:#fffdf7!important; position:relative!important; }
#application #page-profile #admin-opening-card[hidden] { display:none!important; }
#application #page-profile #admin-opening-card .card-title-row { display:flex!important; align-items:center!important; gap:12px!important; margin:0!important; }
#application #page-profile #admin-opening-card .card-title-row > div { display:grid!important; grid-template-columns:44px minmax(0,1fr)!important; gap:4px 14px!important; flex:1!important; }
#application #page-profile .moi-admin-icon { grid-column:1!important; grid-row:1/3!important; display:grid!important; place-items:center!important; width:44px!important; height:44px!important; border-radius:50%!important; background:#eaf0e7!important; font-size:26px!important; }
#application #page-profile #admin-opening-card h2 { grid-column:2!important; margin:0!important; color:#173f35!important; font:600 17px/1.4 Manrope,sans-serif!important; }
#application #page-profile #admin-opening-card p { grid-column:2!important; margin:0!important; font-size:13px!important; color:#63736b!important; }
#application #page-profile #admin-opening-button { min-width:44px!important; min-height:44px!important; border:0!important; box-shadow:none!important; background:transparent!important; padding:8px!important; }
#application #page-profile > #profile-hub { order:3!important; margin:0!important; padding:22px 22px 12px!important; background:#fbf6ed!important; border-radius:20px 20px 0 0!important; }
#application #page-profile > .profile-timeline-preview { order:4!important; margin:0!important; padding:20px 22px!important; border:1px solid #e5d9c4!important; border-radius:20px!important; background:#fffaf2!important; box-shadow:none!important; }
#application #page-profile > .moi-secondary { order:5!important; margin:0!important; padding:0 22px 22px!important; border-radius:0 0 20px 20px!important; background:#fbf6ed!important; }
#application #page-profile .moi-group-heading { display:flex!important; align-items:center!important; justify-content:space-between!important; gap:14px!important; padding:18px 0 12px!important; }
#application #page-profile #profile-hub .moi-group-heading { padding-top:0!important; }
#application #page-profile .moi-group-heading h2 { margin:0!important; color:#102f35!important; font:700 28px/1.2 Georgia,serif!important; }
#application #page-profile .moi-group-heading > span { flex:0 0 140px!important; text-align:right!important; text-transform:uppercase!important; letter-spacing:.14em!important; color:#627575!important; font:600 10px/1.6 Manrope,sans-serif!important; }
#application #page-profile .profile-hub-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; margin:0!important; }
#application #page-profile .profile-hub-card.moi-card { display:grid!important; grid-template-columns:48px minmax(0,1fr) 18px!important; grid-template-rows:auto auto!important; gap:6px 14px!important; align-content:center!important; align-items:center!important; min-height:102px!important; padding:16px!important; border:1px solid #e9ddc9!important; border-radius:18px!important; background:#fffdf8!important; text-align:left!important; color:#143e37!important; box-shadow:0 5px 14px #5b482408!important; }
#application #page-profile .moi-card > .moi-icon { grid-column:1!important; grid-row:1/3!important; display:grid!important; place-items:center!important; width:48px!important; height:48px!important; border-radius:50%!important; background:#e1ece4!important; color:#225e4d!important; }
#application #page-profile .moi-icon svg { width:27px!important; height:27px!important; }
#application #page-profile .moi-card > strong { grid-column:2!important; grid-row:1!important; font:700 21px/1.25 Georgia,serif!important; overflow-wrap:anywhere!important; }
#application #page-profile .moi-card > small { grid-column:2!important; grid-row:2!important; color:#657974!important; font:400 14px/1.4 Manrope,sans-serif!important; }
#application #page-profile .moi-card > b { grid-column:3!important; grid-row:1/3!important; position:static!important; font-size:20px!important; font-weight:400!important; }
#application #page-profile .moi-parents .moi-icon,#application #page-profile .moi-invites .moi-icon { background:#f9e4d6!important; color:#b9603f!important; }
#application #page-profile .moi-children .moi-icon,#application #page-profile .moi-union .moi-icon { background:#174f43!important; color:#fff8eb!important; }
#application #page-profile .moi-privacy .moi-icon { background:#b85b3e!important; color:#fff8eb!important; }
#application #page-profile .profile-timeline-preview::after { content:none!important; }
#application #page-profile .profile-timeline-preview .eyebrow { display:none!important; }
#application #page-profile .profile-timeline-preview h2 { font:700 32px/1.2 Georgia,serif!important; margin:0!important; color:#102f35!important; }
#application #page-profile .profile-timeline-preview .section-heading { gap:14px!important; align-items:center!important; flex-wrap:wrap!important; }
#application #page-profile .profile-timeline-item { grid-template-columns:70px 22px minmax(0,1fr)!important; min-height:96px!important; width:100%!important; }
#application #page-profile .profile-timeline-year { font:700 18px/1.25 Georgia,serif!important; overflow-wrap:anywhere!important; }
#application #page-profile .profile-timeline-card { grid-template-columns:50px minmax(0,1fr)!important; gap:14px!important; padding:14px!important; }
#application #page-profile .profile-timeline-visual { display:grid!important; place-items:center!important; width:50px!important; height:50px!important; border-radius:50%!important; background:#fce9dd!important; color:#b9603f!important; }
#application #page-profile .profile-timeline-visual svg { width:28px!important; height:28px!important; }
#application #page-profile .profile-timeline-copy strong { font:700 20px/1.25 Georgia,serif!important; overflow-wrap:anywhere!important; }
#application #page-profile .profile-timeline-copy small { font-size:10px!important; line-height:1.4!important; }
#application #page-profile .profile-timeline-copy > span { font-size:13px!important; line-height:1.4!important; overflow-wrap:anywhere!important; }
#application #page-profile .moi-secondary[hidden],#application #page-profile #profile-hub[hidden] { display:none!important; }
@media(max-width:760px) {
 #application #page-profile.active { width:100%!important; max-width:100%!important; margin:0!important; padding:0 0 108px!important; }
 #application #page-profile > .page-heading { min-height:190px!important; padding:22px!important; }
 #application #page-profile > .page-heading h1 { font-size:48px!important; }
 #application #page-profile > .profile-journey { grid-template-columns:64px minmax(0,1fr) 12px!important; gap:12px!important; padding:14px!important; }
 #application #page-profile .profile-journey-avatar { width:64px!important; height:64px!important; }
 #application #page-profile .profile-journey-copy h2 { font-size:21px!important; }
 #application #page-profile > #profile-hub,#application #page-profile > .moi-secondary { padding-left:14px!important; padding-right:14px!important; }
 #application #page-profile > .profile-timeline-preview { padding:18px 14px!important; }
 #application #page-profile .moi-group-heading h2 { font-size:24px!important; }
 #application #page-profile .moi-group-heading > span { flex-basis:96px!important; font-size:9px!important; }
 #application #page-profile .profile-hub-grid { gap:10px!important; }
 #application #page-profile .profile-hub-card.moi-card { grid-template-columns:minmax(0,1fr) 18px!important; grid-template-rows:36px auto auto!important; gap:8px!important; padding:12px!important; min-height:154px!important; }
 #application #page-profile .moi-card > .moi-icon { grid-column:1!important; grid-row:1!important; width:36px!important; height:36px!important; }
 #application #page-profile .moi-card > strong { grid-column:1/3!important; grid-row:2!important; font-size:18px!important; }
 #application #page-profile .moi-card > small { grid-column:1/3!important; grid-row:3!important; font-size:13px!important; }
 #application #page-profile .moi-card > b { grid-column:2!important; grid-row:1!important; }
 #application #page-profile .moi-icon svg { width:23px!important; height:23px!important; }
 #application #page-profile .profile-timeline-item { grid-template-columns:58px 18px minmax(0,1fr)!important; }
 #application #page-profile .profile-timeline-card { grid-template-columns:36px minmax(0,1fr)!important; gap:9px!important; padding:10px!important; }
 #application #page-profile .profile-timeline-visual { width:36px!important; height:36px!important; }
 #application #page-profile .profile-timeline-copy strong { font-size:18px!important; }
 #application #page-profile .profile-timeline-preview h2 { font-size:28px!important; }
}
@media(max-width:359px) {
 #application #page-profile .profile-hub-grid { grid-template-columns:1fr!important; }
 #application #page-profile .profile-hub-card.moi-card { grid-template-columns:36px minmax(0,1fr) 16px!important; grid-template-rows:auto auto!important; min-height:90px!important; }
 #application #page-profile .moi-card > .moi-icon { grid-column:1!important; grid-row:1/3!important; }
 #application #page-profile .moi-card > strong { grid-column:2!important; grid-row:1!important; }
 #application #page-profile .moi-card > small { grid-column:2!important; grid-row:2!important; }
 #application #page-profile .moi-card > b { grid-column:3!important; grid-row:1/3!important; }
 #application #page-profile .moi-group-heading { align-items:start!important; flex-direction:column!important; gap:4px!important; }
 #application #page-profile .moi-group-heading > span { flex-basis:auto!important; text-align:left!important; }
 #application #page-profile .profile-timeline-card { grid-template-columns:minmax(0,1fr)!important; }
 #application #page-profile .profile-timeline-visual { display:none!important; }
}

#application #page-profile[data-profile-view]:not([data-profile-view="hub"]) > #admin-opening-card { display:none!important; }

#application #page-profile .profile-hub-card.moi-card { grid-column:auto!important; grid-row:auto!important; position:relative!important; }
#application #page-profile .profile-timeline-preview .section-heading .eyebrow { display:none!important; }
#application #page-profile .profile-timeline-preview .section-heading::after { content:none!important; }
#application #page-profile .profile-timeline-copy { min-width:0!important; }

#application #page-profile .profile-timeline-preview .section-heading { text-align:left!important; justify-content:space-between!important; gap:12px!important; }
#application #page-profile .profile-timeline-preview .section-heading > div { min-width:0!important; }
@media(min-width:480px) and (max-width:760px) {
 #application #page-profile .profile-hub-card.moi-card { grid-template-columns:36px minmax(0,1fr) 16px!important; grid-template-rows:auto auto!important; min-height:104px!important; }
 #application #page-profile .moi-card > .moi-icon { grid-column:1!important; grid-row:1/3!important; }
 #application #page-profile .moi-card > strong { grid-column:2!important; grid-row:1!important; }
 #application #page-profile .moi-card > small { grid-column:2!important; grid-row:2!important; }
 #application #page-profile .moi-card > b { grid-column:3!important; grid-row:1/3!important; }
}
@media(max-width:760px) {
 #application #page-profile .profile-timeline-preview h2 { font-size:26px!important; }
 #application #page-profile #profile-timeline-add { font-size:12px!important; padding:10px 12px!important; min-height:44px!important; }
}
#application #page-profile .moi-person-open { z-index:4!important; }
#application #page-profile .profile-timeline-preview .section-heading { flex-direction:row!important; align-items:center!important; }
#application #page-profile .profile-timeline-preview .section-heading > div { margin:0!important; text-align:left!important; }
#application #page-profile .profile-timeline-preview h2 { text-align:left!important; }
#application #page-profile #admin-opening-card .card-title-row { flex-direction:row!important; flex-wrap:nowrap!important; }
#application #page-profile #admin-opening-button { flex:0 0 44px!important; width:44px!important; }
@media(max-width:760px) {
 #application #page-profile .profile-timeline-preview .section-heading { margin:0 0 16px!important; gap:8px!important; }
 #application #page-profile .profile-timeline-preview h2 { font-size:25px!important; }
}

/* Mission 20: breathing room between the dashboard's independent blocks. */
#application #page-profile[data-profile-view="hub"] > :is(.profile-journey,#admin-opening-card,#profile-hub,.profile-timeline-preview,#profile-hub-secondary) { margin-top:16px!important; }
#application #page-profile[data-profile-view="hub"] > #profile-hub { padding-bottom:22px!important; border-radius:20px!important; }
#application #page-profile > #profile-hub-secondary { display:grid; gap:16px!important; padding:0!important; background:transparent!important; border-radius:0!important; }
#application #page-profile .moi-spaced-group { padding:22px; border-radius:20px; background:#fbf6ed; }
#application #page-profile .moi-spaced-group > .moi-group-heading { padding-top:0!important; }
@media(max-width:760px) {
 #application #page-profile .moi-spaced-group { padding:18px 14px; }
}
