/* Shared portal shell: consistent geometry and brand header in every section. */
body>header,body.executive-view>header,body.conferente-mode>header{
 height:120px!important;min-height:120px!important;box-sizing:border-box!important;
 padding:10px 24px!important;display:flex!important;align-items:center;justify-content:space-between;gap:20px;
 background:#343e49;color:#fff
}
body>header .brand{display:flex;align-items:center;gap:20px;min-width:0}
body>header .header-logo,body.executive-view>header .header-logo,body.conferente-mode>header .header-logo{
 width:144px!important;height:100px!important;object-fit:contain;padding:0!important;margin:0!important;flex-shrink:0
}
body>header .brand h1,body.executive-view>header h1,body.conferente-mode>header h1{font-size:28px!important;line-height:1.25;color:#fff;margin:0}
body>header .brand p,body.executive-view>header .brand p,body.conferente-mode>header .brand p{font-size:11px!important;line-height:1.5;letter-spacing:1.4px;color:#bcc7d6;margin:7px 0 0}
body>main,body.executive-view>main,body.conferente-mode>main{box-sizing:border-box;max-width:none;padding:20px 24px 28px!important;min-width:0;min-height:calc(100dvh - 120px)}
body.conferente-mode>header,body.conferente-mode>main{width:100%;margin-left:0;margin-right:0}
body>main>section:not([hidden]){box-sizing:border-box;min-width:0}
body .executive-header-meta{display:flex;align-items:center;gap:16px;font-size:11px;color:#c0ccdc}
body.conferente-mode .executive-header-meta{display:none}
@media(min-width:761px){
 body:not(.conferente-mode),body.executive-view{--portal-sidebar:64px}
 body:not(.conferente-mode) #appSidebar,body.executive-view #appSidebar{width:64px}
 body:not(.conferente-mode):has(#appSidebar:hover),body:not(.conferente-mode):has(#appSidebar :focus-visible){--portal-sidebar:200px}
 body:not(.conferente-mode) #appSidebar:hover,body:not(.conferente-mode) #appSidebar:has(:focus-visible){width:200px}
 body>header,body>main{margin-left:var(--portal-sidebar);width:calc(100% - var(--portal-sidebar))}
 body.conferente-mode{--portal-sidebar:0px}
 body.conferente-mode>header,body.conferente-mode>main{margin-left:0;width:100%}
}
@media(max-width:1000px){body .executive-header-meta>span{display:none}}
@media(max-width:760px){
 body:not(.conferente-mode),body.executive-view{--portal-sidebar:0px}
 body>header,body.executive-view>header{height:112px!important;min-height:112px!important;padding:40px 16px 8px!important;gap:12px}
 body>header .brand{gap:12px}
 body>header .header-logo,body.executive-view>header .header-logo,body.conferente-mode>header .header-logo{width:88px!important;height:60px!important}
 body>header .brand h1,body.executive-view>header h1,body.conferente-mode>header h1{font-size:21px!important}
 body>header .brand p,body.executive-view>header .brand p,body.conferente-mode>header .brand p{font-size:9px!important;letter-spacing:.6px;margin-top:5px}
 body>main,body.executive-view>main,body.conferente-mode>main{margin:0;width:100%;padding:16px 12px 24px!important;min-height:calc(100dvh - 112px)}
 body.conferente-mode>header{height:88px!important;min-height:88px!important;padding:8px 16px!important}
 body .executive-header-meta{display:none!important}
}
@media print{body>header,body>main{margin-left:0;width:100%}body>main{padding:0!important;min-height:0}body .executive-header-meta{display:none}}
/* Use the summary area for the current day's loading progress. */
#operationsOverview .overview-content{padding:18px 22px;gap:22px}
#operationsOverview .overview-loads{align-self:stretch;padding-right:22px}
#operationsOverview .stats{margin:18px 0 16px}
#operationsOverview .overview-movement{border-top:1px solid #e0e7f0;padding-top:13px;margin-top:auto}
.overview-movement-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.overview-movement-heading strong{font-size:12px;color:#405a78}
.overview-movement-heading>span{font-size:11px;color:#7b8ba0}
.overview-movement-numbers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:11px 0}
.overview-movement-numbers>div{display:flex;align-items:center;gap:9px}
.overview-movement-numbers b{font-size:24px;line-height:1.2;color:#4d729b}
.overview-movement-numbers>div:last-child b{color:#39765e}
.overview-movement-numbers span{font-size:11px;color:#75869d}
.overview-movement-track{display:flex;height:8px;background:#edf1f6;border-radius:5px;overflow:hidden}
.overview-movement-track>i{display:block;height:100%;background:#c6d1de}
.overview-movement-track>i:nth-child(2){background:#7397be}
.overview-movement-track>i:last-child{background:#79a98e}
.overview-movement-foot{display:flex;justify-content:space-between;gap:10px;margin-top:7px;font-size:10px;color:#7a8ca2}
.overview-movement-foot strong{font-weight:600;color:#4f7764}
.executive-team .executive-team-table .executive-person{gap:11px}
.employee-name-role{display:grid;gap:3px;text-align:left}
.executive-team .executive-team-table .employee-name-role strong{font-size:14px;color:#355b89;font-weight:650}
.executive-team .executive-team-table .employee-name-role small{font-size:11px;color:#78899f;font-weight:400;line-height:1.4}
@media(max-width:700px){
#operationsOverview .overview-content{padding:16px;gap:16px}
#operationsOverview .overview-loads{padding-right:0}
#operationsOverview .stats{margin:15px 0}
.overview-movement-numbers span{font-size:11px}
}
@media(min-width:761px){html{scrollbar-gutter:stable}}
.reschedule-history-entry{padding:16px 0;border-bottom:1px solid #dce3ec}.reschedule-history-entry p{margin:8px 0;color:#52647b}.reschedule-history-entry strong{color:#293d54}#rescheduleHistoryDialog{width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #dce3ec;border-radius:12px;padding:22px}.journey-note-rescheduled[type=button]{width:100%;cursor:pointer;text-align:left;font:inherit;font-size:12px}
/* The active section never changes navigation alignment. */
body #appSidebar #mainTabs{padding-left:9px!important;padding-right:9px!important}
body #appSidebar #mainTabs .tab,body #appSidebar #mainTabs .tab.active{box-sizing:border-box;display:grid!important;grid-template-columns:20px minmax(0,1fr);gap:12px!important;align-items:center!important;justify-content:start!important;padding:11px 12px!important;text-align:left!important;min-height:43px!important;font-size:12px!important;line-height:1.35!important}
body #appSidebar #mainTabs .tab img{width:18px!important;height:18px!important;justify-self:start;margin:0!important}
body #appSidebar #mainTabs .tab>span{text-align:left!important;margin:0!important;line-height:1.35!important}
body #appSidebar #mainTabs .tab.tab.tab{padding:11px 12px!important}
/* Breathing room above the sidebar tabs on every section. */
body #appSidebar{padding-top:96px!important}
@media(max-width:760px){body #appSidebar{padding-top:72px!important}}
.portal-online-button{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto;border:1px solid #69798a;border-radius:20px;background:#ffffff0a;color:#e7edf4;padding:9px 13px;font:600 12px Inter,Arial;cursor:pointer}.portal-online-button i,.portal-online-person>i{width:9px;height:9px;background:#45c57b;border-radius:50%;flex:none}.portal-online-dialog{width:min(460px,calc(100vw - 24px));max-height:80dvh;overflow:auto;padding:22px;border:1px solid #dce3ec;border-radius:14px;color:#293d54}.portal-online-dialog::backdrop{background:#14223680}.portal-online-heading{display:flex;gap:15px;align-items:flex-start;justify-content:space-between}.portal-online-heading h2{font-size:20px;margin:0 0 8px}.portal-online-heading p,.portal-online-message{font-size:12px;color:#74849a;line-height:1.5}.portal-online-person{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e8edf3}.portal-online-person>i{background:#a8b3c2}.portal-online-person>i.is-online{background:#27b26c}.portal-online-person>div{display:grid;gap:4px;flex:1}.portal-online-person strong{font-size:14px}.portal-online-person small,.portal-online-person>span{font-size:12px;color:#728299}@media(max-width:760px){.portal-online-button{position:absolute;right:12px;top:8px;padding:6px 10px;font-size:11px}}
/* Account panel: identity, self-service actions, approvals and navigation. */
#authGate{font-family:Inter,Arial,sans-serif!important;box-sizing:border-box}
#authGate .account-access-card{box-sizing:border-box;width:min(520px,100%)!important;max-height:calc(100dvh - 36px);overflow:auto;padding:24px!important}
.account-access-brand{display:flex;gap:14px!important;padding-bottom:18px;border-bottom:1px solid #e5eaf0;margin-bottom:18px!important}
.account-access-brand>img{width:100px;height:54px;object-fit:contain}.account-access-brand>div{display:grid;gap:5px}.account-access-brand strong{font-size:17px;color:#293d54}.account-access-brand span{font-size:12px;color:#7c899b}
.account-access-identity{display:flex;align-items:center;gap:14px;padding:0 0 16px}.account-access-identity[hidden]{display:none}.account-access-avatar{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:50%;background:#e8eff8;color:#42648b;font-size:18px;font-weight:700}.account-access-identity>div{min-width:0}.account-access-identity h2{font-size:19px;line-height:1.3;margin:0 0 4px;color:#293d54}.account-access-identity p{font-size:13px;color:#63768d;margin:0 0 4px}.account-access-identity small{font-size:12px;color:#8491a2;overflow-wrap:anywhere}
#authGate.account-is-logged #authMessage.account-status-quiet{display:none}#authLoggedActions{margin-top:0!important}.account-access-options{display:grid;gap:10px}.account-access-option{display:flex;align-items:center;gap:12px;min-height:76px;width:100%;box-sizing:border-box;padding:14px;border:1px solid #dee6ef;border-radius:10px;background:#f8fafc;color:#344b67;text-align:left;cursor:pointer;font:inherit}.account-access-option:hover{background:#edf3f9;border-color:#afc2d9}.account-option-icon{display:grid;place-items:center;background:#e7eef7;border-radius:9px;width:38px;height:38px;flex:none;font-size:22px}.account-access-option>span:nth-child(2){display:grid;gap:5px;flex:1}.account-access-option strong{font-size:14px}.account-access-option small{font-size:12px;color:#7a8a9e}.account-access-option>span:last-child{font-size:25px;color:#8b9aab}
#authGate #adminApprovalBox{margin:18px 0 0!important;padding:16px!important;border:1px solid #e2e8f0!important;border-radius:10px;background:#fff}#authGate #adminApprovalBox h3{font-size:14px;margin:0 0 9px!important;color:#344b67}#authGate #pendingUsers{font-size:13px;line-height:1.6;color:#77879b}.account-access-footer{display:flex;gap:10px;align-items:center;padding-top:20px;margin-top:18px;border-top:1px solid #e5eaf0}.account-access-footer>.btn{min-height:44px;padding:11px 16px;flex:1;font-size:13px}.account-access-footer .account-access-logout{background:#fff;color:#b0525b;border:1px solid #e7cfd3}
@media(max-width:540px){#authGate{padding:12px!important}.account-access-brand>img{width:86px;height:48px}#authGate .account-access-card{padding:20px!important;border-radius:14px!important;max-height:calc(100dvh - 24px)}.account-access-footer{flex-direction:column;align-items:stretch}.account-access-footer>.btn{width:100%;flex:none}.account-access-option{min-height:70px}}
body>header{position:relative}body .executive-header-meta{margin-left:auto;justify-content:flex-end}body>header>.portal-online-button{position:absolute;top:12px;right:24px;margin:0}body>header:has(>.portal-online-button) .executive-header-meta{padding-top:28px}@media(max-width:760px){body>header>.portal-online-button{top:8px;right:12px}}
/* Header only keeps account access and the master's online indicator. */
body .executive-header-meta>img,body .executive-header-meta>span{display:none!important}body .executive-header-meta button{border-left:0;padding-left:0}
/* Online indicator and account access share one right-aligned row. */
@media(min-width:761px){body>header>.portal-online-button{position:static;margin:0;order:1}body>header .executive-header-meta{order:2;padding-top:0!important;margin-left:0}body>header>.brand{margin-right:auto}}
@media(max-width:760px){body>header>.portal-online-button{right:52px}body>header .executive-header-meta{display:flex!important;position:absolute;right:14px;top:10px;padding:0!important}body>header .executive-header-meta button img{width:23px;height:23px}}
/* Reserve a clear top area before the navigation, even in Dashboard mode. */
body #appSidebar{padding-top:0!important;box-sizing:border-box}
body #appSidebar #mainTabs{padding-top:144px!important}
@media(max-width:760px){body #appSidebar #mainTabs{padding-top:88px!important}}

/* Mantém o botão de análise compacto no menu lateral. */
body #appSidebar #mainTabs #tabAnalise>span{min-width:0;white-space:nowrap}


/* Crédito fixo no rodapé lateral; somente a navegação rola. */
body #appSidebar{overflow:hidden}
body #appSidebar #mainTabs{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}
body #appSidebar #mainTabs .tab{flex-shrink:0}
body #appSidebar .sidebar-account{flex-shrink:0;margin-top:12px;margin-bottom:12px}
.sidebar-credit{flex:none;box-sizing:border-box;min-height:84px;padding:14px 15px;border-top:1px solid #445263;color:#b6c6db;font:10px/1.5 Inter,Arial,sans-serif}
.sidebar-credit-text{display:grid;gap:3px;white-space:nowrap}.sidebar-credit strong{font-size:10px;color:#e5edf7;font-weight:600}.sidebar-credit-mark{display:none}
@media(min-width:761px){.sidebar-credit-mark{display:block;text-align:center;font-weight:600;color:#b6c6db}.sidebar-credit-text{display:none}#appSidebar:hover .sidebar-credit-text,#appSidebar:has(:focus-visible) .sidebar-credit-text{display:grid}#appSidebar:hover .sidebar-credit-mark,#appSidebar:has(:focus-visible) .sidebar-credit-mark{display:none}}

/* Assinatura disponível também para perfis sem menu lateral e no celular. */
.portal-credit-all{display:none}
body.conferente-mode>.portal-credit-all{display:flex}
body.conferente-mode>main{padding-bottom:70px!important}
.portal-credit-all{position:fixed;bottom:0;left:0;right:0;z-index:58;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;box-sizing:border-box;min-height:42px;padding:10px 12px;border-top:1px solid #445263;background:#2d3743;color:#b6c6db;font:10px/1.4 Inter,Arial,sans-serif}
.portal-credit-all strong{color:#e5edf7;font-size:10px;font-weight:600}
@media(max-width:760px){body>.portal-credit-all{display:flex}body>main{padding-bottom:70px!important}body.sidebar-open:not(.conferente-mode)>.portal-credit-all{display:none}}
@media print{body>.portal-credit-all{display:none!important}}
