
/* Shared compact, sticky product/currency/language bar. */
#language-toolbar.app-topbar { position:sticky; top:0; z-index:80; display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; align-items:center; gap:10px 20px; padding:10px clamp(12px,2vw,28px); background:color-mix(in srgb,var(--bg) 94%,transparent); backdrop-filter:blur(16px); border-bottom:1px solid var(--panel-border); box-shadow:0 4px 18px rgb(0 0 0 / 12%); overflow:visible; }
.app-topbar .topbar-brand { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:2px; font-size:13px; line-height:1.25; font-weight:700; color:var(--text); text-decoration:none; white-space:nowrap; }
.app-topbar .topbar-brand strong { color:var(--product-gold); font-size:14px; }
.app-topbar .finance-currency-group { grid-column:2; grid-row:1; display:flex; align-items:center; gap:12px; min-width:0; }
.app-topbar .finance-currency-control { display:flex; gap:7px; align-items:center; flex-shrink:0; color:var(--muted); font-size:12px; min-height:34px; margin:0; }
.app-topbar .finance-currency-control select { width:76px; min-height:34px; height:34px; padding:5px 8px; border:1px solid var(--panel-border); border-radius:8px; background:var(--panel); color:var(--text); font:inherit; font-weight:700; }
.app-topbar .finance-currency-note { min-width:0; margin:0; padding:0; font-size:11px; line-height:1.4; color:var(--muted); }
.app-topbar .finance-currency-note strong { color:var(--text); }
.app-topbar .finance-currency-note details { margin:3px 0 0; }
.app-topbar .finance-currency-note summary { cursor:pointer; color:var(--blue); }
.app-topbar .finance-currency-note details[open] { position:absolute; top:calc(100% - 5px); left:12px; right:12px; padding:14px; max-height:55vh; overflow:auto; background:var(--bg); border:1px solid var(--panel-border); border-radius:12px; box-shadow:var(--shadow); }
.app-topbar .language-selector { grid-column:3; grid-row:1; flex-wrap:nowrap; }
.app-topbar .language-selector button { width:30px; height:28px; }
.app-topbar .quick-theme-toggle { grid-column:4; grid-row:1; margin:0; }
.topbar-currency-retry { font:inherit; color:var(--blue); background:none; border:0; cursor:pointer; }
body[data-session-ready="false"] .app-topbar .finance-currency-group { display:none; }
.earnings-forecast-panel, .panel[id], .finance-page #workspace { scroll-margin-top:calc(var(--app-topbar-height,80px) + 12px); }
@media(max-width:1100px) {
 #language-toolbar.app-topbar { gap:8px 12px; }
 .app-topbar .finance-currency-group { flex-wrap:wrap; gap:4px 8px; }
 .app-topbar .finance-currency-note { flex-basis:100%; }
}
@media(max-width:760px) {
 #language-toolbar.app-topbar { grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:8px 12px; }
 .app-topbar .topbar-brand { grid-column:1; grid-row:1; font-size:12px; }
 .app-topbar .topbar-brand strong { font-size:13px; }
 #language-toolbar.app-topbar .finance-currency-group { display:contents; }
 .app-topbar .finance-currency-control { grid-column:2; grid-row:1; justify-content:flex-end; }
 #language-toolbar.app-topbar .language-selector { grid-column:1; grid-row:2; justify-self:start; flex:0 0 auto; justify-content:flex-start; }
 .app-topbar .quick-theme-toggle { grid-column:2; grid-row:2; justify-self:end; }
 .app-topbar .finance-currency-note { grid-column:1/-1; grid-row:3; font-size:10px; }
 .app-topbar .language-selector { gap:0; padding:2px; }
 .app-topbar .language-selector button { width:27px; height:25px; padding:0; }
 .app-topbar .quick-theme-toggle { min-width:60px; padding:0 7px; height:29px; }
 body[data-session-ready="false"] #language-toolbar.app-topbar .finance-currency-group { display:none; }
}
/* Clip horizontal overflow without creating a body scroll container that breaks sticky. */
@media(max-width:800px) { html,body { overflow-x:clip !important; } }

html[data-theme="light"] #language-toolbar.app-topbar {
  background: var(--surface-secondary); border-bottom-color: var(--border-subtle);
  box-shadow: 0 1px 6px rgb(32 45 64 / 5%);
}
html[data-theme="light"] .app-topbar .topbar-brand strong { color: var(--product-gold); }

/* The public sign-in header names all modules while account pages name one. */
.app-topbar .topbar-brand-login { grid-column:1 / 3; min-width:0; flex-direction:row; align-items:baseline; flex-wrap:wrap; column-gap:6px; white-space:normal; }
@media(max-width:760px) { .app-topbar .topbar-brand-login { grid-column:1 / -1; } }


/* A single desktop row; smaller screens scroll the compact header away. */
#language-toolbar.app-topbar {display:flex;flex-wrap:nowrap;gap:10px;position:relative;backdrop-filter:none;}
.app-topbar .topbar-brand{flex:0 0 auto;order:0;}
#language-toolbar.app-topbar .finance-currency-group{display:flex;flex:0 0 auto;order:2;flex-wrap:nowrap;}
.app-topbar .finance-currency-note{display:none;}
.app-topbar .language-selector{display:none;order:3;}
.compact-language-select{order:3;width:62px;min-width:0;height:36px;padding:5px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;}
.app-topbar .quick-theme-toggle{order:4;margin:0;}
.compact-account{order:1;display:flex;align-items:center;gap:2px;margin-right:auto;}
.compact-account-button{display:flex;align-items:center;gap:6px;height:36px;padding:5px 8px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit;font-size:12px;font-weight:600;}
.compact-profile-icon{width:20px;height:20px;}.compact-profile-icon svg{width:100%;height:100%;}
.compact-account-menu>summary{display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;width:28px;height:36px;border-radius:8px;border:1px solid var(--panel-border);}
.compact-account-menu>summary::-webkit-details-marker{display:none;}
.compact-account-menu>.session-toolbar{position:absolute;top:calc(100% + 4px);left:0;right:auto;z-index:90;width:min(360px,calc(100vw - 24px));box-sizing:border-box;max-width:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow);max-height:70vh;overflow:auto;}
.compact-account-menu:not([open])>.session-toolbar{display:none;}
.compact-account-menu .session-toolbar>*{width:100%;max-width:100%;margin:0;}
.compact-account-menu .session-toolbar>label{display:flex;flex:0 0 auto;flex-direction:column;gap:5px;}
.compact-account-menu .session-toolbar :is(button,select){width:100%;min-height:38px;font-size:13px;}
.compact-account-menu .session-profile-button{white-space:normal;}
.session-notices{max-width:1392px;margin:0 auto;padding:0 24px;}
.session-notices>:not([hidden]){margin:12px 0;}
.session-notices .session-preview-notice button{padding:8px 12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit;}
.session-notices #session-scope-notice{padding:8px 12px;font-size:12px;}
.session-management-container{scroll-margin-top:calc(var(--app-topbar-height,0px) + 12px);}
@media(min-width:1024px){
 #language-toolbar.app-topbar{position:sticky;top:0;}
 .compact-account{display:none;}

 #language-toolbar.app-topbar>.session-toolbar{display:flex;order:1;flex:1 1 auto;flex-wrap:nowrap;min-width:0;width:auto;max-width:none;margin:0;padding:0;border:0;gap:10px;font-size:12px;align-items:center;justify-content:flex-start;}
 .app-topbar .session-toolbar>label{flex-direction:row;align-items:center;gap:6px;white-space:nowrap;min-width:0;}
 .app-topbar .session-toolbar :is(button,select){height:36px;min-height:36px;padding:6px 9px;font-size:12px;}
 .app-topbar .session-toolbar select{max-width:180px;min-width:110px;}
 .app-topbar .session-toolbar .session-profile-group{flex:0 1 auto;min-width:80px;margin-right:0;}
 .app-topbar .session-profile-button{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;}
 .app-topbar .session-toolbar>button{white-space:nowrap;}
 .app-topbar .finance-currency-control>span{display:none;}
}
@media(max-width:1023px){
 .app-topbar .finance-currency-control>span{display:none;}
 .app-topbar .quick-theme-toggle-label{display:none;}
 .app-topbar .quick-theme-toggle{min-width:36px;width:36px;padding:0;height:36px;}
}
@media(max-width:500px){
 #language-toolbar.app-topbar{gap:6px;padding:8px 10px;}
 .app-topbar .topbar-brand{font-size:11px;}.app-topbar .topbar-brand strong{font-size:11px;}
 .app-topbar .finance-currency-control select{width:62px;font-size:11px;padding:4px;}
 .compact-language-select{width:50px;font-size:11px;}
 .compact-account-button{gap:4px;padding:5px;}
 .compact-account-menu>summary{width:22px;}
 .session-notices{padding:0 12px;}
}

/* Keep the account name and its disclosure comfortable to tap on phones. */
@media(max-width:1023px){
 .compact-account-button{height:42px;font-size:14px;padding:6px;gap:4px;}
 .compact-account-menu>summary{width:38px;height:42px;font-size:24px;line-height:1;}
 .app-topbar .finance-currency-control select{width:58px;min-width:0;padding:4px;font-size:12px;}
}
@media(max-width:500px){
 #language-toolbar.app-topbar{gap:4px;padding:7px 8px;}
 .app-topbar .finance-currency-control select{width:55px;}
 .compact-language-select{flex:0 0 46px;width:46px;box-sizing:border-box;font-size:12px;appearance:none;padding:4px 14px 4px 6px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%2394a8b6' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;}
}
@media(max-width:360px){
 #language-toolbar.app-topbar{padding-inline:5px;gap:3px;}
 .app-topbar .topbar-brand,.app-topbar .topbar-brand strong{font-size:10px;}
 .app-topbar .quick-theme-toggle{width:32px;min-width:32px;}
 .compact-account-menu>summary{width:36px;}
}

/* Finance uses the shared row too; notices and product links stay outside it. */
@media(min-width:1024px){
 .finance-page #language-toolbar.app-topbar > #session-toolbar{align-items:center;gap:8px;}
 .finance-page #language-toolbar.app-topbar #session-toolbar .session-profile-group{flex:0 1 auto;min-width:100px;margin-right:0;}
 .finance-page #language-toolbar.app-topbar #session-toolbar :is(button,select){min-height:36px;height:36px;font-size:12px;padding:6px 9px;}
 .finance-page #language-toolbar.app-topbar #session-toolbar > label{flex:0 1 auto;}
 .finance-page #language-toolbar.app-topbar #session-toolbar > button{flex:0 0 auto;}
}
@media(max-width:1023px){
 .finance-page #language-toolbar.app-topbar #session-toolbar{align-items:stretch;}
 .finance-page #language-toolbar.app-topbar #session-toolbar .session-profile-group{display:flex;flex:0 0 auto;}
}
.finance-page .session-notices .notice{max-width:none;}
@media(max-width:500px){
 .app-topbar .finance-currency-control select{appearance:none;padding:4px 14px 4px 5px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%2394a8b6' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;}
}

/* One profile disclosure holds account actions in every workspace. */
.session-profile-group[hidden],.compact-account-menu[hidden]{display:none !important;}
.session-account-menu{position:relative;width:fit-content;min-width:0;max-width:100%;}
.session-account-menu>summary{list-style:none;width:fit-content;max-width:100%;box-sizing:border-box;}
.session-account-menu>summary::-webkit-details-marker{display:none;}
.session-account-name{display:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.session-account-short{display:inline;}
.session-account-actions{position:absolute;right:0;top:calc(100% + 6px);z-index:100;display:flex;flex-direction:column;gap:6px;width:220px;max-width:calc(100vw - 20px);box-sizing:border-box;padding:10px;border:1px solid var(--panel-border);border-radius:12px;background:var(--bg);box-shadow:var(--shadow);}
.session-account-menu:not([open])>.session-account-actions{display:none;}
#language-toolbar .session-account-actions>button{width:100%;max-width:none;min-height:42px !important;height:auto !important;text-align:start;white-space:normal;padding:9px 12px !important;margin:0;}
.session-account-menu>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
@media(min-width:1024px){
 .session-account-actions{left:0;right:auto;}
 .session-account-name{display:inline;}
 .session-account-short{display:none;}
 .session-account-menu>summary{height:36px;font-size:12px;padding:6px 9px;}
}
@media(max-width:360px){
 .finance-page .app-topbar .topbar-brand strong{max-width:67px;white-space:normal;line-height:1.1;}
}

.app-topbar .session-fleet-link{white-space:nowrap;}

/* Use available compact-header space for the account name and a clear switcher. */
@media(max-width:1023px){
 .compact-account{min-width:0;flex:0 1 auto;}
 .compact-account .session-account-menu{min-width:0;flex:0 1 auto;}
 .compact-account-button .compact-profile-icon{flex:0 0 20px;}
 .session-account-short{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .compact-account-menu{flex:0 0 auto;}
 .compact-account-menu>summary{width:42px;height:42px;font-size:30px;line-height:1;color:var(--product-gold,#f4bf50);border-color:color-mix(in srgb,var(--product-gold,#f4bf50) 55%,var(--panel-border));}
 .compact-account-menu[open]>summary,.compact-account-menu>summary:hover{background:color-mix(in srgb,var(--product-gold,#f4bf50) 12%,var(--panel));}
 .compact-account-menu>summary:focus-visible{outline:2px solid var(--product-gold,#f4bf50);outline-offset:2px;}
}

/* Profile actions now open from the left side on every workspace. */
.app-topbar .session-account-actions{left:0;right:auto;}

/* Match the view-as field while keeping the gold profile icon. */
.app-topbar .session-account-menu > summary {
  border-color: #526582;
  background: var(--bg);
}
.app-topbar .compact-profile-icon {
  display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px;
  padding: 2px; box-sizing: border-box; border-radius: 50%; color: var(--product-gold);
  background: color-mix(in srgb, var(--product-gold) 14%, transparent);
}
.app-topbar .session-account-menu > summary:hover,
.app-topbar .session-account-menu[open] > summary { background: var(--bg); }
html[data-theme="light"] .app-topbar .session-account-menu > summary,
html[data-theme="light"] .app-topbar .session-account-menu > summary:hover,
html[data-theme="light"] .app-topbar .session-account-menu[open] > summary {
  background: var(--control-bg);
  border-color: var(--control-border);
}
.session-account-chevron { display: none; color: var(--product-gold); line-height: 1; }
@media(min-width:1024px) {
  .session-account-chevron { display: inline-block; flex: 0 0 16px; font-size: 22px; text-align: center; }
  .session-account-menu[open] .session-account-chevron { transform: rotate(180deg); }
}

/* Keep account controls available on laptops; collapse languages first. */
@media(min-width:1280px){
 .app-topbar .language-selector{display:flex;flex:0 0 auto;}
 .compact-language-select{display:none;}
}
@media(min-width:1024px) and (max-width:1279px){
 #language-toolbar.app-topbar{gap:8px;padding-inline:16px;}
 .app-topbar .session-toolbar select{width:150px;min-width:110px;}
 .app-topbar .session-account-menu{max-width:165px;}
 .app-topbar .quick-theme-toggle-label{display:none;}
 .app-topbar .quick-theme-toggle{min-width:36px;width:36px;padding:0;}
}
.compact-account-menu{position:relative;}
.app-topbar :is(.session-account-actions,.compact-account-menu>.session-toolbar){
 padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--panel-border);
 box-shadow:0 12px 30px rgb(0 0 0 / 22%);gap:8px;
}
.app-topbar .session-account-actions>button{border-radius:8px;border:1px solid var(--panel-border);background:var(--bg);color:var(--text);}
.app-topbar .session-account-actions>button:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--panel));}
.app-topbar .session-account-actions>button:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.session-account-chevron{display:inline-block;flex:0 0 12px;font-size:18px;text-align:center;}
.session-account-menu[open] .session-account-chevron{transform:rotate(180deg);}
.compact-account-menu>summary{color:var(--product-gold);background:color-mix(in srgb,var(--product-gold) 7%,var(--panel));}
@media(max-width:1023px){
 .session-account-short{max-width:180px;}
 .compact-account-button,.compact-account-menu>summary{box-sizing:border-box;height:40px;}
 .compact-account-menu>summary{width:36px;font-size:22px;}
}
@media(max-width:420px){
 .session-account-short{display:none;}
 .compact-account-button{gap:2px;padding-inline:4px;}
 .session-account-chevron{flex-basis:10px;font-size:16px;}
 .compact-account-menu>summary{width:30px;}
}

/* Preview mode stays with the identity controls, without a page-sized banner. */
#language-toolbar.app-topbar:has(> .session-preview-indicator) > .session-toolbar { flex: 0 1 auto; }
.app-topbar:has(> .session-preview-indicator) .compact-account { margin-right: 0; }
.app-topbar .session-preview-indicator {
  order: 1; flex: 0 1 auto; display: flex; align-items: center; flex-wrap: nowrap;
  gap: 8px; min-width: 0; max-width: 300px; margin: 0 auto 0 0; padding: 3px 4px 3px 9px;
  box-sizing: border-box; border-radius: 8px; border: 2px solid #ef4444;
  background: color-mix(in srgb, var(--product-gold) 8%, var(--panel)); color: var(--text);
}
html[data-theme="light"] .app-topbar .session-preview-indicator { border-color: #ef4444; }
.app-topbar .session-preview-warning { display: inline-flex; flex: 0 0 18px; width: 18px; height: 18px; color: #facc15; pointer-events: none; }
.app-topbar .session-preview-warning svg { display: block; width: 100%; height: 100%; }
.app-topbar .session-preview-copy { min-width: 0; font-size: 11px; line-height: 1.3; }
.app-topbar .session-preview-copy strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--product-gold); }
.app-topbar .session-preview-copy > span { display: block; color: var(--muted); }
.app-topbar .session-preview-exit {
  flex: 0 0 32px; display: grid; place-items: center; width: 32px; height: 30px; min-height: 30px;
  padding: 0; margin: 0; border: 0; border-radius: 6px; background: transparent; color: var(--text);
  font: inherit; font-size: 23px; line-height: 1; cursor: pointer;
}
.app-topbar .session-preview-exit:hover { background: color-mix(in srgb, var(--product-gold) 16%, var(--panel)); }
.app-topbar .session-preview-exit:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
@media(max-width:760px), (min-width:1024px) and (max-width:1399px) {
  #language-toolbar.app-topbar:has(> .session-preview-indicator) { flex-wrap: wrap; }
  #language-toolbar.app-topbar:has(> .session-preview-indicator) > .session-toolbar { flex: 1 1 auto; }
  .app-topbar:has(> .session-preview-indicator) .compact-account { margin-right: auto; }
  .app-topbar .session-preview-indicator { order: 5; flex: 1 0 100%; max-width: none; margin: 0; padding: 0 3px 0 9px; gap: 6px; }
  .app-topbar .session-preview-copy { flex: 1; display: flex; align-items: baseline; gap: 8px; }
  .app-topbar .session-preview-copy strong { min-width: 0; }
  .app-topbar .session-preview-copy > span { flex: 0 0 auto; }
  .app-topbar .session-preview-exit { width: 40px; height: 36px; flex-basis: 40px; }
}

@media(max-width:420px) {
  .app-topbar .session-preview-copy { display:block; }
}
