/* Desktop portal: shared app tokens, 8 px spacing rhythm, no native layout changes. */
@media (min-width:1024px) {
 .mcf-foundation .mcf-web-portal{grid-template-columns:224px minmax(0,1fr)!important;grid-template-rows:72px minmax(0,1fr)!important;align-items:start}
 .mcf-foundation .mcf-web-portal aside.ws-sidebar{position:sticky;top:0;height:100dvh;padding:24px 16px;gap:8px;overflow-y:auto;border-right:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .ws-brand{padding:0 8px 32px;gap:8px;font-size:18px}
 .mcf-foundation .mcf-web-portal .ws-legacy-tools{display:none}
 .mcf-foundation .mcf-web-portal .ws-portal-utilities{display:grid;gap:8px;margin-top:auto;padding-top:24px;border-top:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .ws-nav-item{min-height:48px;padding:12px;gap:8px;color:var(--mcf-muted);font-size:14px}
 .mcf-foundation .mcf-web-portal .ws-nav-item[aria-current=page]{background:var(--mcf-soft);color:var(--mcf-link)}
 .mcf-foundation .mcf-web-portal .mcf-navigation{gap:8px}
 .mcf-foundation .mcf-web-portal .mcf-navigation--desktop{background:transparent!important}
 .mcf-foundation .mcf-web-portal header.ws-topbar{height:72px;padding:0 32px;gap:16px;border-bottom:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .ws-topbar-title{font-size:20px}
 .mcf-foundation .mcf-web-portal .ws-sync-status{font-size:12px;color:var(--mcf-muted)}
 .mcf-foundation .mcf-web-portal .ws-sync-status button{min-height:40px;color:var(--mcf-danger);text-decoration:underline}
 .mcf-foundation .mcf-web-portal .ws-profile-name{font-size:14px;font-weight:600;color:var(--mcf-ink)}
 .mcf-foundation .mcf-web-portal .ws-profile-chip{padding:8px;gap:8px;border-radius:8px;background:var(--mcf-paper)}
 .mcf-foundation .mcf-web-portal .ws-avatar{background:var(--mcf-soft);color:var(--mcf-link);width:32px;height:32px}
 .mcf-foundation .mcf-web-portal .ws-period-picker{width:224px;min-width:0}
 .mcf-foundation .mcf-web-portal main.ws-main{min-width:0;padding:32px;overflow-x:clip}
 .mcf-foundation .mcf-web-portal :is(.mcf-home-dashboard,.mcf-page){max-width:1200px;padding:0 0 32px;margin:0 auto}
 .mcf-foundation .mcf-web-portal .mcf-home-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;row-gap:24px;align-items:start}
 .mcf-foundation .mcf-web-portal .mcf-home-heading{grid-column:1/-1;margin:0;padding-bottom:16px;border-bottom:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .mcf-home-today{font-size:20px}
 .mcf-foundation .mcf-web-portal :is(.mcf-home-budget-card,.mcf-home-funding,.mcf-budget-action-bar,.mcf-home-add){grid-column:1;margin:0}
 .mcf-foundation .mcf-web-portal .mcf-home-records{grid-column:2;grid-row:2/span 5;min-width:0;background:var(--mcf-paper);border:1px solid var(--mcf-line);border-radius:8px;padding:24px}
 .mcf-foundation .mcf-web-portal .mcf-home-records .mcf-home-section-head:first-child{margin-top:0}
 .mcf-foundation .mcf-web-portal .mcf-home-budget-card{border-radius:8px;box-shadow:none}
 .mcf-foundation .mcf-web-portal :is(.mcf-home-budget-body,.mcf-home-budget-meta,.mcf-home-budget-foot){padding:24px}
 .mcf-foundation .mcf-web-portal .mcf-home-budget-body>strong{font-size:40px;line-height:1.2;margin:8px 0}
 .mcf-foundation .mcf-web-portal .mcf-home-budget-body dl{gap:16px}
 .mcf-foundation .mcf-web-portal .mcf-home-budget-foot{padding:16px 24px;background:var(--mcf-soft)!important;color:var(--mcf-ink)!important}
 .mcf-foundation .mcf-web-portal .mcf-home-budget-foot strong{color:var(--mcf-ink)!important}
 .mcf-foundation .mcf-web-portal :is(.mcf-home-section-head button,.mcf-home-next button){color:var(--mcf-link)}
 .mcf-foundation .mcf-web-portal .mcf-page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .mcf-expense-toolbar{grid-template-columns:minmax(0,1fr) 224px;gap:16px}
 .mcf-foundation .mcf-web-portal .mcf-expense-row{padding:16px 24px}
 .mcf-foundation .mcf-web-portal .mcf-expense-form{max-width:880px;margin:24px auto}
 .mcf-foundation .mcf-web-portal .mcf-page-expenses{position:relative}
 .mcf-foundation .mcf-web-portal .mcf-page-expenses .mcf-page-header{padding-right:192px;min-height:72px}
 .mcf-foundation .mcf-web-portal .mcf-page-expenses>button.app-primary-btn{position:absolute;top:0;right:0;width:auto;min-width:160px;max-width:none;margin:0;padding:12px 24px}
 .mcf-foundation .mcf-web-portal .mcf-diary-shell{padding:24px}
 .mcf-foundation .mcf-web-portal .mcf-diary-grid{gap:8px}
 .mcf-foundation .mcf-web-portal .mcf-diary-date{min-height:80px;aspect-ratio:auto}
 .mcf-foundation .mcf-web-portal .mcf-diary:has(.mcf-diary-agenda){display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px 24px;align-items:start}
 .mcf-foundation .mcf-web-portal .mcf-diary:has(.mcf-diary-agenda)>*{grid-column:1}
 .mcf-foundation .mcf-web-portal .mcf-diary .mcf-diary-agenda{grid-column:2;grid-row:1/span 4;margin:0;padding:16px}
 .mcf-foundation .mcf-web-portal .mcf-statements{position:relative;max-width:1200px;margin:auto;background:transparent!important}
 .mcf-foundation .mcf-web-portal .mcf-statements>div:first-child{padding:0 320px 16px 0!important;background:transparent!important;min-height:72px;border-bottom:1px solid var(--mcf-line)}
 .mcf-foundation .mcf-web-portal .mcf-statements.mcf-statements-page>.mcf-panel-header{background:transparent!important}
 .mcf-foundation .mcf-web-portal .mcf-statements>div:nth-child(2){position:absolute;top:0;right:0;padding:0!important;background:transparent!important;border:0;width:304px}
 .mcf-foundation .mcf-web-portal .mcf-statements>div:nth-child(2)>p{display:none}
 .mcf-foundation .mcf-web-portal .mcf-statement-list{padding:24px 0;overflow:visible}
 .mcf-foundation .mcf-web-portal .mcf-statement-list>div{max-width:none}
 .mcf-foundation .mcf-web-portal .mcf-reconcile{left:224px;top:72px;padding:24px 32px;background:var(--mcf-bg)!important;z-index:25}
 .mcf-foundation .mcf-web-portal .mcf-settings-group{background:var(--mcf-paper);border:1px solid var(--mcf-line);border-radius:8px;padding:0 24px}
 .mcf-foundation .mcf-web-portal .mcf-settings-group-title{margin-top:32px}
 .mcf-foundation .mcf-web-portal .mcf-coming-row{padding:16px 0}
}

.mcf-portal-skip{display:none}
@media(min-width:1024px){
 .mcf-web-portal .mcf-portal-skip{display:block;position:fixed;left:240px;top:8px;z-index:10010;padding:12px 16px;border-radius:8px;background:var(--mcf-paper);color:var(--mcf-link);border:1px solid var(--mcf-line);transform:translateY(-160%)}
 .mcf-web-portal .mcf-portal-skip:focus{transform:translateY(0)}
 .mcf-foundation .mcf-web-portal .ws-topbar-title{flex-shrink:0}
 .mcf-foundation .mcf-web-portal .ws-profile-chip{min-width:0;max-width:240px;flex-shrink:1}
 .mcf-foundation .mcf-web-portal .ws-profile-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .mcf-foundation .mcf-web-portal .ws-avatar{flex-shrink:0}
 .mcf-foundation .mcf-web-portal .ws-sync-status{max-width:144px;line-height:1.4}
 .mcf-foundation .mcf-web-portal .ws-period-picker{flex:0 1 224px}
 .mcf-foundation .mcf-web-portal main.ws-main:focus{outline:none}
}
@media(min-width:1024px) and (max-width:1279px){
 .mcf-foundation .mcf-web-portal header.ws-topbar{padding:0 24px;gap:8px}
 .mcf-foundation .mcf-web-portal main.ws-main{padding:24px}
 .mcf-foundation .mcf-web-portal .ws-profile-chip{max-width:160px}
 .mcf-foundation .mcf-web-portal .mcf-diary:has(.mcf-diary-agenda){grid-template-columns:minmax(0,1fr)}
 .mcf-foundation .mcf-web-portal .mcf-diary .mcf-diary-agenda{grid-column:1;grid-row:auto;margin-top:16px}
 .mcf-foundation .mcf-web-portal .mcf-home-dashboard{gap:24px}
 .mcf-foundation .mcf-web-portal .mcf-home-records{padding:16px}
}
