/* GREAT Portal: one navigation and shared interaction scale. Loaded after legacy surfaces. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/montserrat-latin-variable.woff2') format('woff2')}
:root{--header:64px;--portal-sidebar-width:260px;--portal-paper:#f8f9fa;--portal-ink:#202228;--portal-red:#c8102e;--portal-border:#dfe2e6;--portal-muted:#5e6570;--portal-radius:8px}
body{background:var(--portal-paper);color:var(--portal-ink);font-family:"Inter Variable",Inter,Arial,sans-serif}
[hidden]{display:none!important}
.app-shell{padding-top:var(--header);padding-bottom:0}
.app-shell .topbar{position:fixed;inset:0 0 auto;height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 0 16px;background:#191b20;color:#f9fafb;border-bottom:1px solid #33363e;box-shadow:none;z-index:120}
.portal-header-brand{display:flex;align-items:center;gap:12px;min-width:0}
.app-shell .portal-brand{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:#fff;font-family:Montserrat,"Inter Variable",sans-serif;font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.5px;cursor:pointer;white-space:nowrap}
.app-shell .portal-brand img{width:32px;height:32px;object-fit:contain}.app-shell .portal-brand b{color:#d9dce3;font-weight:600}
.app-shell .portal-toggle{flex:0 0 44px;width:44px;height:44px;border-radius:8px;color:#e4e6ec;display:grid;place-items:center}
.app-shell .top-actions{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0}
.app-shell .top-actions .icon-btn{width:44px;height:44px;color:#e4e6ec;background:transparent;border:0}
.app-shell .top-actions .avatar-btn{width:40px;height:40px;min-width:40px;background:#383d48;color:#fff;border:1px solid #626976;font:600 14px "Inter Variable",sans-serif}
.portal-role-badge{padding:6px 10px;border:1px solid #525964;border-radius:6px;background:#292d35;color:#f4f5f7;font-size:12px;font-weight:500;line-height:1.35;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-shell .top-actions #quickAnswerBtn,.app-shell .top-actions #captureBtn{display:none!important}
body:not(.portal-command-active) .top-actions :is(#searchBtn,#alertBtn){display:none!important}
body.portal-choosing .top-actions #portalRoleBadge{display:inline-block!important}
.app-shell .main-shell{width:calc(100% - 64px);max-width:1440px;padding:28px 0 48px;margin:0 auto}
.app-shell .portal-sidebar{inset:var(--header) auto 0 0;width:var(--portal-sidebar-width);padding:24px 14px 16px;display:flex;background:#191b20;z-index:110;border-right:1px solid #33363e}
.portal-sidebar-nav{gap:4px}.portal-sidebar-nav .portal-nav-label{color:#a8afb9;font-size:11px;font-weight:600;letter-spacing:.06em;margin:0 12px 8px;line-height:1.5}
.portal-sidebar-nav button{min-height:46px;padding:11px 12px;gap:12px;border-radius:8px;color:#c8cdd7}
.portal-sidebar-nav button>span{display:grid;place-items:center;flex:0 0 22px;width:22px}
.portal-sidebar-nav svg{width:21px;height:21px;display:block}
.portal-sidebar-nav b{font-size:14px;font-weight:500;line-height:1.4}
.portal-sidebar-nav button.selected{background:#30343d;color:#fff}
.portal-sidebar-nav button.active{background:#30343d;color:#fff}
.portal-sidebar-nav button.active:before{left:-14px;top:10px;bottom:10px;background:#ef455b}
.portal-nav-divider{margin:16px 10px;height:1px;background:#363a43}
.portal-sidebar-foot{padding:28px 12px 0;gap:6px;color:#c9ced7;font-size:12px}.portal-sidebar-foot small{font-size:11px;color:#a9b0bc}
body.portal-sidebar-collapsed{--portal-sidebar-width:76px}
body.portal-sidebar-collapsed .portal-header-brand .portal-brand{display:flex}
body.portal-sidebar-collapsed .portal-nav-label{display:none}
body.portal-sidebar-collapsed .portal-sidebar-nav button{padding:11px 0;justify-content:center}
body.portal-sidebar-collapsed .portal-sidebar-nav b,body.portal-sidebar-collapsed .portal-sidebar-foot{display:none}
.portal-sidebar-backdrop{position:fixed;inset:var(--header) 0 0;background:#11182766;border:0;z-index:105;border-radius:0}
.app-shell .portal-mobile-modules,.app-shell .mobile-nav{display:none!important}
.app-shell .portal-unit-context{padding:0 0 16px;margin:0 0 24px;border-bottom:1px solid var(--portal-border);align-items:center}
.portal-unit-context label{font-size:13px;color:var(--portal-muted);gap:12px}.portal-unit-context select{font-size:14px;min-height:44px;border:1px solid var(--portal-border);border-radius:8px;background:#fff;color:var(--portal-ink)}
body:not(.present-mode) .app-shell :is(.page-head h1,.agenda-page-head h1,#todayTitle,#portalWeekly h1,.portal-module h1,.portal-picker h1){font-family:Montserrat,"Inter Variable",sans-serif;font-size:30px;font-weight:700;line-height:1.25;letter-spacing:-.7px;margin:0 0 8px;overflow-wrap:break-word}
body:not(.present-mode) .app-shell :is(.portal-module h2,.portal-picker-grid h2){font-family:"Inter Variable",Inter,sans-serif;font-size:20px;font-weight:650;line-height:1.35;letter-spacing:-.3px}
.app-shell :is(p,label,.btn,input,select,textarea){font-family:"Inter Variable",Inter,Arial,sans-serif}
.app-shell :is(.portal-module p,.portal-module label,.portal-module .form-hint,.portal-module th,.portal-module td){font-size:14px;line-height:1.55}
.app-shell .portal-module .form-hint{color:var(--portal-muted)}
.app-shell :is(.page-head,.agenda-page-head,.today-master-head){gap:20px;margin-bottom:24px;align-items:flex-start}
.app-shell .page-head p{margin:0;color:var(--portal-muted);max-width:720px;font-size:14px;line-height:1.6}
.app-shell .eyebrow{font-size:11px;line-height:1.4;letter-spacing:.08em;font-weight:650}
.app-shell .btn{font-size:14px;line-height:1.4;min-height:44px;border-radius:8px;padding:11px 16px;white-space:normal}
.app-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px;border-radius:8px;line-height:1.4}
.app-shell :is(.portal-module .panel,.portal-module .card,.portal-module .stat-card,.today-focus-surface,.today-attention,.portal-picker-grid article){border-radius:8px;border:1px solid var(--portal-border);background:#fff;box-shadow:none}
.app-shell .portal-module :is(.panel,.card){padding:24px}
.app-shell .portal-module .form-grid{gap:16px}.portal-card-grid{gap:24px}
.app-shell .portal-module :is(.card h2,.panel h2){margin:0 0 12px}
.app-shell .portal-module :is(.table-wrap,table){max-width:100%}
.app-shell .portal-module :is(td,th){padding:14px 12px}
.app-shell .portal-module th{font-size:12px;font-weight:650;color:#535b68}
.app-shell .today-clock{font-family:"Inter Variable",sans-serif;font-size:20px;font-weight:600;letter-spacing:-.4px;color:var(--portal-muted)}
.app-shell .today-focus-surface .empty-focus{min-height:144px}.app-shell .today-focus-surface .empty-focus strong{font-size:21px;line-height:1.4}
.app-shell .today-focus-surface{min-height:220px}.app-shell .today-focus-surface:before{opacity:.08}
.app-shell .portal-picker{max-width:960px;margin:18px auto 24px}
.portal-picker .portal-greeting{font-size:14px;color:var(--portal-muted);margin:0 0 10px}
.portal-picker header>p:last-child{font-size:16px;line-height:1.6;margin:8px 0 0}
.portal-picker-grid{gap:24px;margin:28px 0 24px}
.app-shell .portal-picker-grid article{position:relative;padding:24px;align-items:stretch;transition:border-color .15s ease,box-shadow .15s ease}
.portal-module-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#fbecef;color:#b51632;margin-bottom:20px}
.portal-module-icon svg{width:24px;height:24px}
.portal-picker-grid .portal-card-kicker{flex:0;margin:0 0 5px;font-size:12px;font-weight:600;color:var(--portal-muted)}
.portal-picker-grid h2{margin:0 0 10px}.portal-picker-grid p{font-size:14px;line-height:1.65;max-width:340px;margin:0 0 24px;color:var(--portal-muted)}
.portal-picker-grid .btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:#23262e;border-color:#23262e;color:#fff;text-align:left}
.portal-picker-grid .btn span{font-size:20px;line-height:1}
.portal-remember{font-size:14px;line-height:1.5;align-items:center;gap:12px;margin:16px 0}.portal-remember input{accent-color:#c8102e}
.portal-picker-help{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--portal-border);padding-top:16px}.portal-picker-help p{font-size:12px;line-height:1.5;color:var(--portal-muted);margin:0}
.invitation-steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none;counter-reset:step}
.invitation-steps button{min-height:44px;border-radius:8px;font-size:14px}
.invitation-readiness{padding:16px;border:1px solid #dedfe4;border-radius:8px;background:#f8f9fa;line-height:1.6;margin:16px 0}
.invitation-recipient-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px;background:#f8f9fa;border-radius:8px;margin:16px 0}
.invitation-recipient-state dt{font-size:12px;color:#5e6570;margin-bottom:4px}.invitation-recipient-state dd{margin:0;font-size:14px}
.invitation-queue-context{margin-bottom:24px}.invitation-queue-context p{margin:4px 0}.invitation-queue-complete{padding:24px;border:1px solid #c7ddcd;background:#eef6f0;border-radius:8px}
[data-att-location-state]{padding:16px;border-radius:8px;border:1px solid #dfe2e6;background:#f8f9fa}
[data-att-location-state=inside],[data-gb-success]{border-color:#bed7c4;background:#eff7f1;color:#215c30}
[data-att-location-state=outside],[data-att-location-state=inaccurate],[data-att-location-state=unavailable]{border-color:#e7c796;background:#fff6e9;color:#88400a}
[data-gb-optional]{border-top:1px solid var(--portal-border);padding-top:12px;margin-top:4px}[data-gb-optional] summary{min-height:44px;cursor:pointer;font-size:14px}
[data-gb-success]{border:1px solid #bed7c4;border-radius:8px;padding:16px;line-height:1.6;margin:16px 0}
.auth-shell{background:#f8f9fa}.auth-panel{border-radius:8px}.auth-panel h1,.boot-card h1{font-family:Montserrat,"Inter Variable",sans-serif;font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.5px}
.auth-panel :is(input,.btn){border-radius:8px}.auth-panel .great-command-wordmark img,.boot-wordmark img{height:32px;max-height:32px;object-fit:contain}
.app-shell :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #a9102a;outline-offset:3px;box-shadow:none}
.app-shell :is(.topbar,.portal-sidebar) :is(button,a):focus-visible{outline-color:#ffa7b5}
@media(hover:hover) and (pointer:fine){.portal-picker-grid article:hover{border-color:#aeb4be;box-shadow:0 4px 14px #2022280a}.portal-picker-grid .btn:hover{background:#373d48}.portal-sidebar-nav button:hover{background:#303640;color:#fff}}
@media(min-width:981px){.app-shell{padding-left:var(--portal-sidebar-width)}body.portal-choosing .app-shell{padding-left:0}}
@media(max-width:980px){
 .app-shell{padding-left:0}.app-shell .main-shell{width:calc(100% - 32px);padding:24px 0 40px}
 .app-shell .topbar{padding:0 12px;gap:8px}.portal-header-brand{gap:8px}.app-shell .portal-brand{font-size:19px;gap:8px}.app-shell .portal-brand img{width:28px;height:28px}
 .app-shell .portal-sidebar{width:min(288px,calc(100vw - 44px));display:none;padding:20px 14px;overscroll-behavior:contain}
 body.portal-menu-open{overflow:hidden}body.portal-menu-open .portal-sidebar{display:flex}
 body.portal-sidebar-collapsed .portal-sidebar-nav b{display:block}body.portal-sidebar-collapsed .portal-nav-label{display:block}body.portal-sidebar-collapsed .portal-sidebar-foot{display:flex}
 body.portal-sidebar-collapsed .portal-sidebar-nav button{justify-content:flex-start;padding:11px 12px}
 .app-shell .top-actions{gap:6px}.portal-role-badge{display:none!important}.app-shell .top-actions :is(#searchBtn,#alertBtn){display:none!important}
 body:not(.present-mode) .app-shell :is(.page-head h1,.agenda-page-head h1,#todayTitle,#portalWeekly h1,.portal-module h1,.portal-picker h1){font-size:27px;line-height:1.3;letter-spacing:-.55px}
 .app-shell .portal-unit-context{margin-bottom:20px;gap:12px}.portal-unit-context label{flex-wrap:wrap}
 .app-shell :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
 .app-shell .portal-module :is(.panel,.card){padding:20px}.portal-card-grid{gap:16px}
 .app-shell :is(.page-head,.agenda-page-head,.today-master-head){flex-wrap:wrap;gap:16px;margin-bottom:20px}
 .app-shell .portal-picker{margin:8px auto 16px}.app-shell .portal-picker-grid{gap:16px;margin-top:24px}
 .app-shell .portal-picker-grid article{padding:20px}.portal-module-icon{margin-bottom:16px}
 .app-shell .today-clock{font-size:16px}
}
@media(max-width:600px){.portal-picker-grid{grid-template-columns:1fr}.portal-picker-grid p{max-width:none}.portal-picker-grid .btn{min-height:48px}.portal-picker-help{align-items:flex-start;flex-direction:column;gap:8px}.invitation-recipient-state{grid-template-columns:1fr}.portal-remember{align-items:flex-start}.portal-remember input{margin-top:2px}.app-shell .portal-module .btn{min-height:48px}.app-shell .portal-unit-context label{width:100%}.portal-unit-context select{flex:1;min-width:0}}
@media(max-width:360px){.app-shell .topbar{padding-inline:8px}.portal-header-brand{gap:4px}.app-shell .portal-brand{font-size:17px;gap:6px}.app-shell .portal-brand img{width:24px;height:24px}.app-shell .top-actions .avatar-btn{width:36px;height:36px;min-width:36px}.app-shell .main-shell{width:calc(100% - 24px)}.app-shell .portal-module :is(.panel,.card){padding:16px}}
@media(prefers-reduced-motion:reduce){.app-shell *,.auth-shell *,.boot-screen *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.app-shell .topbar,.portal-sidebar-backdrop{display:none!important}.app-shell{padding:0}.app-shell .main-shell{width:100%;padding:0}}

:root{--ivory:#f8f9fa;--paper:#fff;--paper-2:#f8f9fa;--ink:#202228;--ink-2:#343a45;--muted:#5e6570;--line:#dfe2e6;--line-2:#bbc1cb;--r:8px;--r-sm:8px}
html{scroll-padding-top:88px}.app-shell #main:focus{outline:none;box-shadow:none}.app-shell :is(h1,h2,h3,form){scroll-margin-top:88px}
.app-shell .btn-ghost{background:#fff}.app-shell .portal-module input,.app-shell .portal-module select,.app-shell .portal-module textarea{background:#fff;border-color:#dfe2e6}
.app-shell .portal-module .stack{gap:16px}
@media(max-width:600px){
 .app-shell .portal-picker-grid{gap:12px;margin-top:20px}
 .app-shell .portal-picker-grid article{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;column-gap:14px;row-gap:3px;padding:18px 16px;min-height:100px;align-content:center}
 .portal-picker-grid article .portal-module-icon{grid-column:1;grid-row:1/3;margin:0;align-self:center}
 .portal-picker-grid article .portal-card-kicker{grid-column:2;grid-row:1;margin:0;font-size:12px}
 body:not(.present-mode) .app-shell .portal-picker-grid article h2{grid-column:2;grid-row:2;margin:0;font-size:18px;line-height:1.3}
 .portal-picker-grid article>p:not(.portal-card-kicker){display:none}
 .app-shell .portal-picker-grid article .btn{position:absolute;inset:0;width:100%;height:100%;margin:0;background:transparent;border:0;color:transparent;padding:0;border-radius:8px}
 .portal-picker-grid article .btn span{position:absolute;right:16px;top:calc(50% - 10px);color:#3e4653;font-size:20px}
 .portal-picker-help{gap:8px}.portal-picker-help p{max-width:300px}
}

@media(max-width:980px){body.portal-choosing .top-actions #portalRoleBadge{display:none!important}}

/* Keep work navigation and detail forms usable when users enlarge text spacing. */
.app-shell #workTabs{display:flex;flex-wrap:wrap;max-width:100%}
.app-shell #workTabs .tab{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#drawer{display:flex;flex-direction:column}
#drawer>.drawer-head{flex:0 0 auto}
#drawer>.drawer-body{flex:1 1 auto;min-height:0;height:auto}

/* Present uses the shared typography and reserves space for its return control. */
body.present-mode .main-shell{padding-top:84px}
body.present-mode .exit-present{opacity:1;border-radius:8px}
body.present-mode .brief-stage-date{margin-right:0}
body.present-mode .brief-stage{gap:24px}
body.present-mode .brief-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
body.present-mode :is(.brief-next-time,.brief-day-row time,.brief-stage-date strong,.brief-kpis strong){font-family:"Inter Variable",Inter,Arial,sans-serif;letter-spacing:-.03em}
body.present-mode .brief-kpis>div:last-child{border-right:0}
body.present-mode .brief-next-card{grid-template-columns:minmax(150px,.55fr) minmax(0,1fr)}
body.present-mode :is(.brief-next-copy,.brief-weekly-stage,.weekly-meeting-view){min-width:0}
body.present-mode #presentBriefPanel h2{font-family:Montserrat,"Inter Variable",sans-serif;font-weight:650;line-height:1.25;letter-spacing:-.03em;overflow-wrap:anywhere}
body.present-mode .brief-next-copy h2{font-size:clamp(1.6rem,2.6vw,2.6rem)}
body.present-mode .brief-next-time{font-size:clamp(3rem,6vw,5rem)}
body.present-mode .brief-weekly-stage .weekly-meeting-view{background:#191b20;border-radius:8px}
body.present-mode .brief-weekly-stage .weekly-meeting-view>header{background:#191b20}
body.present-mode .brief-weekly-stage h2{font-size:clamp(1.35rem,2.1vw,2rem)}
body.present-mode .brief-weekly-stage .weekly-published-list h3{color:#f8f9fa;overflow-wrap:anywhere}
body.present-mode .brief-weekly-stage .weekly-published-list :is(p,small){color:#c6cad1}
body.present-mode .brief-weekly-stage .weekly-published-list article{border-color:#424650}
body.present-mode .brief-weekly-stage .weekly-meeting-view>footer{background:#202228;color:#c6cad1;border-color:#424650;flex-wrap:wrap}
@media(max-width:980px){
 body.present-mode .brief-stage-grid{grid-template-columns:1fr}
 body.present-mode .brief-next-card{grid-template-columns:1fr;min-height:0}
}
@media(max-width:600px){
 body.present-mode .brief-kpis{grid-template-columns:1fr}
 body.present-mode .brief-kpis>div{border-right:0;border-bottom:1px solid #424650}
 body.present-mode .brief-kpis>div:last-child{border-bottom:0}
 body.present-mode .brief-weekly-stage{padding:14px}
 body.present-mode .brief-day-row{grid-template-columns:70px minmax(0,1fr);gap:12px}
 body.present-mode .brief-stage-date strong{font-size:1.3rem}
}
body.present-mode .brief-weekly-stage :is(.eyebrow.red,.weekly-published-list article>div){color:#ff7189}
body.present-mode #presentBriefPanel [role="alert"]{color:#d8dbe1}
body.present-mode #presentBriefPanel [role="alert"] h2{color:#ff7189}
