/* Céleres shell: shared navigation only. Analytical styles and data remain unchanged. */
:root{--sidebar-width:248px;--sidebar-bg:var(--primary-hover);--sidebar-text:#e9f0f2;--sidebar-muted:#c1d3dc}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:50;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;padding:30px 18px 22px;overflow-y:auto;overscroll-behavior:contain}
.sidebar-brand{padding:0 14px 28px;margin-bottom:12px;border-bottom:1px solid #ffffff26}
.sidebar-brand strong{display:block;font-size:25px;letter-spacing:.14em;font-weight:750;color:#fff}
.sidebar-brand strong::after{content:"";display:block;width:32px;height:3px;background:var(--green);margin:10px 0 18px}
.sidebar-brand p{font-size:19px;line-height:1.3;margin:0 0 8px;font-weight:550}
.sidebar-brand small{font-size:12px;color:var(--sidebar-muted)}
.sidebar .navigation{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;background:none;border:0;min-height:0;overflow:visible}
.sidebar .nav-item{display:flex;align-items:center;gap:12px;min-width:0;width:100%;min-height:60px;padding:13px 12px;border:1px solid transparent;border-left:3px solid transparent;border-radius:6px;text-decoration:none;color:var(--sidebar-text);font-size:13px;line-height:1.5;background:transparent;white-space:normal;font-weight:450}
.sidebar .nav-item svg{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sidebar .nav-item.selected{background:#ffffff12;border-color:#ffffff26;border-left-color:var(--green);color:#fff;font-weight:650}
.sidebar .nav-item:not(:disabled):hover{background:#ffffff14;color:#fff}
.sidebar .nav-item:focus-visible,.sidebar-close:focus-visible{outline:3px solid #c3d9ac;outline-offset:2px}
.sidebar .nav-item:disabled{opacity:.55}
.sidebar-footer{margin-top:auto;padding:32px 14px 0;font-size:12px;line-height:1.7;color:var(--sidebar-muted)}
.sidebar-footer strong{display:flex;align-items:center;gap:8px;color:var(--sidebar-text);font-weight:550}
.sidebar-footer p{margin:8px 0 0;font-size:11px}
.workspace{margin-left:var(--sidebar-width);min-width:0;container-type:inline-size}
.workspace .topbar{height:66px;padding:0 28px;background:var(--surface);gap:16px}
.shell-title{font-size:14px;font-weight:600;color:var(--primary);margin-right:auto}
.workspace main{max-width:1560px;width:100%;padding:28px 28px 20px;min-width:0}
.sidebar-open,.sidebar-close{display:none}
.sidebar-backdrop{position:fixed;inset:0;z-index:49;background:#102c3e80;border:0;margin:0;padding:0;border-radius:0}
.skip{z-index:70}
/* Breakpoints refer to the analysis width after reserving the sidebar. */
@container (max-width:1100px){
 .workspace .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
 .workspace .new-scatter-grid{grid-template-columns:minmax(0,1fr)}
 .workspace .new-monthly-pair{grid-template-columns:minmax(0,1fr)}
 .workspace .territory-grid,.workspace .influence-grid{grid-template-columns:minmax(0,1fr)}
 .workspace .upper-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .workspace .territory-kpis.five{grid-template-columns:repeat(3,minmax(0,1fr))}
 .workspace .new-heading{flex-wrap:wrap}
 .workspace .new-legend{text-align:left}
}
@container (max-width:850px){
 .workspace .filter-grid,.workspace .new-fields,.workspace .lower-fields,.workspace .upper-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace .upper-fields label:nth-child(4),.workspace .upper-fields label:nth-child(5){grid-row:auto}
 .workspace .page-heading{align-items:flex-start;flex-direction:column;gap:14px}
 .workspace .query-extra{grid-template-columns:1fr}
 .workspace .query-extra>label:last-child{grid-column:auto}
 .workspace .filter-footer{flex-wrap:wrap}
 .workspace .analysis-context{flex-wrap:wrap;gap:12px}
}
@media(max-width:800px){
 .sidebar{width:min(292px,calc(100vw - 44px));padding-top:24px;transform:translateX(-100%);visibility:hidden}
 .sidebar-is-open .sidebar{transform:translateX(0);visibility:visible}
 .sidebar-is-open{overflow:hidden}
 .workspace{margin-left:0}
 .workspace .topbar{padding:0 16px;height:62px}
 .workspace main{padding:22px 16px 20px}
 .workspace .internal{font-size:11px}
 .workspace .internal .separator,.workspace .internal .restricted-label{display:none}
 .sidebar-open{display:inline-flex;align-items:center;gap:8px;min-height:40px;background:var(--surface);color:var(--primary);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:13px;font-weight:600}
 .sidebar-open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
 .sidebar-close{display:block;position:absolute;right:16px;top:20px;width:36px;height:36px;color:white;background:transparent;border:1px solid #ffffff40;border-radius:6px;font-size:23px;line-height:1}
 .sidebar-brand{padding-right:36px}
 .sidebar-footer{padding-top:24px}
 .shell-title{font-size:12px}
}
@media(max-width:520px){
 .workspace .internal{display:none}
 .workspace .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace .filter-grid,.workspace .new-fields,.workspace .lower-fields,.workspace .upper-fields{grid-template-columns:minmax(0,1fr)}
 .sidebar .navigation{display:flex;grid-template-columns:none}
}
@media print{.sidebar,.topbar,.sidebar-backdrop{display:none!important}.workspace{margin-left:0}}

/* Identidade somente na lateral; no celular, apenas o acesso às abas. */
.workspace .topbar{display:none}
.sidebar-brand small{display:block;max-width:24ch;line-height:1.5}
.sidebar-brand{padding-bottom:22px;margin-bottom:14px}.sidebar-brand p{font-size:24px;letter-spacing:-.02em;font-weight:650}
.sidebar-footer{padding-top:28px}.institutional-logo{display:block;width:180px;max-width:100%;height:auto;object-fit:contain;margin-bottom:16px}
.sidebar-footer strong{font-size:11px}.sidebar-close{top:20px}
@media(max-width:800px){.workspace .topbar{display:flex;justify-content:flex-start;background:transparent;border:0;height:auto;min-height:0;padding:16px 16px 0}.institutional-logo{width:180px}}
.sidebar-base{display:grid;gap:8px;margin-top:20px;padding:18px 14px 0;border-top:1px solid #ffffff26}
.sidebar-base label{font-size:12px;font-weight:600;color:var(--sidebar-muted)}.sidebar-base select{margin-top:0}
