/* Aparência aprovada da Central: mesma estrutura visual, sobre as rotas existentes. */
:root{--brand:#7B2FFF;--brand-strong:#5920ba;--brand-soft:#f1eaff;--brand-line:#dac8fa;--ink:#25212A;--muted:#655F6B;--line:#E4DFE8;--page:#FBF9FF;--card:#fff;--radius-card:12px;--radius-btn:9px;--shadow:0 12px 44px #21132d08;color-scheme:light}
body{font:400 14px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#faf9fc;color:var(--ink);padding:20px max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea,summary{outline-offset:4px;-webkit-tap-highlight-color:transparent}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--brand)}
.app-shell{display:grid;grid-template-columns:214px minmax(0,1fr);grid-template-rows:auto auto 1fr;max-width:1572px;min-height:calc(100dvh - 40px);margin:auto;border:1px solid var(--line);border-radius:20px;background:var(--page);box-shadow:var(--shadow);overflow:clip;align-items:start}
.central-sidebar{grid-column:1;grid-row:1/5;align-self:stretch;background:#f7f4fa;border-right:1px solid var(--line);padding:30px 14px 20px;display:flex;flex-direction:column;gap:24px;min-width:0}
.central-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 12px 2px}
.central-brand .brand-logo{height:33px;width:115px;max-width:100%}
.central-brand .brand-pill{border:0;background:none;padding:0;font:500 12px/1.5 system-ui;color:var(--muted);letter-spacing:.05em}
#tabs.central-nav{display:flex;flex-direction:column;position:static;gap:18px;max-height:none;overflow:visible;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;align-items:stretch;flex-wrap:nowrap}
#tabs.central-nav .tab-group{display:flex;flex-direction:column;width:100%;gap:0;padding:0;border:0;margin:0}
#tabs.central-nav .tab-group-label{display:block;border:0;background:none;padding:0 12px 5px;margin:0;font:400 11px/1.6 system-ui;color:var(--muted);letter-spacing:0;text-transform:none;cursor:default}
#tabs.central-nav .tab-group-label::after{display:none}
#tabs.central-nav .tab-group-items{display:flex;flex-direction:column;gap:1px;min-width:0}
#tabs.central-nav .tab{display:flex;align-items:center;gap:9px;min-height:44px;height:auto;width:100%;margin:0;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:400 13px/1.45 system-ui;letter-spacing:0;text-align:left;white-space:normal;text-decoration:none;box-shadow:none;justify-content:flex-start}
#tabs.central-nav .tab[data-icon]::before{content:attr(data-icon);font:500 16px/1 system-ui;width:16px;flex:0 0 16px;text-align:center;color:var(--muted)}
#tabs.central-nav .tab:hover{background:#fff;color:var(--brand-strong)}
#tabs.central-nav .tab.active{color:var(--brand-strong);background:#fff;font-weight:600;box-shadow:0 2px 9px #21132d08}
#tabs.central-nav .tab.active::before{color:var(--brand)}
#tabs.central-nav .tab:disabled{opacity:.5;cursor:not-allowed}
#tabs.central-nav .tab-badge{margin-left:auto;font-size:11px;background:var(--brand-soft);color:var(--brand-strong)}
.central-nav-more{min-width:0}
.central-nav-more>summary{min-height:38px;padding:9px 12px;font-size:11px;color:var(--muted);cursor:pointer;list-style:none}
.central-nav-more>summary::before{content:'›';display:inline-block;margin-right:7px}
.central-nav-more[open]>summary::before{transform:rotate(90deg)}
.central-nav-more .tab{padding-left:20px!important}
.central-sidebar-foot{display:flex;flex-direction:column;gap:16px;margin-top:auto;padding:16px 12px 0;font-size:11px;color:var(--muted)}
.central-sidebar-foot>a{color:var(--muted);min-height:44px;display:flex;align-items:center;text-decoration:none}
.central-sidebar-foot .sacolometro{display:flex;flex-wrap:wrap;border:0;padding:0;font-size:11px;background:none;max-width:100%;box-shadow:none;white-space:normal}
.central-sidebar-foot .sacolometro b{font-size:15px}
.topbar{grid-column:2;grid-row:1;display:flex;align-items:center;position:relative;top:auto;min-height:78px;height:auto;gap:18px;padding:18px 32px;border:0;background:none;z-index:15}
.central-context{color:var(--muted);font-size:12px;white-space:nowrap}
.top-search{max-width:340px;min-width:120px;flex:1;margin-left:auto}
.top-search input{min-height:40px;background:#fff;border-radius:9px;border:1px solid var(--line);font-size:12px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}
.top-user{font-size:12px;font-weight:400;color:var(--muted)}
.top-actions,.top-right .top-actions{display:flex;gap:8px;margin:0}
.topbar .btn-ghost{font-size:12px;font-weight:400;background:transparent;border:1px solid var(--line);border-radius:9px;min-height:40px;padding:8px 12px;white-space:nowrap}
.central-context-menu{position:relative;font-size:12px;color:var(--muted)}
.central-context-menu:has(.env-switch[hidden]){display:none}
.central-context-menu>summary{min-height:40px;padding:10px 4px;cursor:pointer;white-space:nowrap}
.central-context-menu .env-switch{position:absolute;right:0;top:100%;z-index:20;display:flex;flex-direction:column;padding:8px;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.central-context-menu .env-btn{min-height:44px;width:100%;text-align:left;border-radius:8px;font:400 13px system-ui}
.env-band{grid-column:2;grid-row:2;margin:0 32px;border-radius:9px;font-size:12px}
#panelView{display:block;grid-column:2;grid-row:3;width:100%;max-width:none;min-width:0;margin:0;padding:20px 32px 38px}
/* A navegação já pertence ao shell; não conservar a segunda grade do CSS antigo. */
#panelView:not([hidden]){display:block;grid-template-columns:none;column-gap:normal}
.app-shell #panelView > *:not(#tabs):not(.nav-mobile):not(.mapa-btn):not(.mapa-panel){grid-column:auto;grid-row:auto}
#panelView>.hero,#panelView>div[id$=View]{min-width:0}
.hero{margin:0 0 27px;gap:20px}
.hero h1{font:600 28px/1.25 system-ui;letter-spacing:-.8px}
.hero .eyebrow{display:none}
.hero .subtitle{max-width:640px;font-size:13px;color:var(--muted);margin-top:9px}
#produtosView .hero,#fornView .hero{align-items:flex-start}
#fornView .hero .source-health{display:none}
.mapa-btn{position:static;float:right;margin:0 0 10px 12px;min-height:40px;border-radius:9px;font:400 12px system-ui}
.mapa-panel{position:relative;z-index:14}
.nav-mobile{display:none}
.login-wrap{grid-column:1/-1;width:min(460px,calc(100% - 32px));margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.login-wrap :is(input,button){border-radius:9px;min-height:44px;font-size:16px}
.login-wrap h1{font:600 24px/1.3 system-ui}
.app-shell:has(#panelView[hidden]){display:block;min-height:calc(100dvh - 40px)}
.app-shell:has(#panelView[hidden]) :is(.central-sidebar,.topbar){display:none}
body.env-rimcol .topbar,body.env-pessoal .topbar{border-bottom:0}
@media(min-width:801px){
 .central-sidebar{padding-top:24px;padding-bottom:16px;gap:18px}
 #tabs.central-nav{gap:12px}
 #tabs.central-nav .tab{min-height:36px;padding-top:7px;padding-bottom:7px}
 #tabs.central-nav .tab-group-label{padding-bottom:4px}
 .central-nav-more>summary{min-height:30px;padding-top:6px;padding-bottom:6px}
}
@media(max-width:1100px){.top-search{max-width:220px}.top-user{display:none}.central-context{display:none}.topbar{gap:12px}.topbar,#panelView{padding-left:24px;padding-right:24px}}
@media(max-width:800px){
 body{padding:0;background:var(--page)}
 .app-shell{display:flex;flex-direction:column;min-height:100dvh;border:0;border-radius:0;box-shadow:none;overflow:clip}
 .topbar{order:0;width:100%;min-height:66px;padding:12px 16px;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--page)}
 .nav-mobile{display:block;margin:0}
 .nav-toggle{display:flex;align-items:center;gap:8px;min-height:44px;width:auto;margin:0;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:none;font:500 13px system-ui}
 .central-context{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:130px}
 .top-search{order:4;flex:1 0 100%;max-width:none;margin:0}
 .top-search input{min-height:44px;font-size:16px}
 .topbar .btn-ghost{min-height:44px}
 #refreshBtn{display:none}
 .top-right{gap:8px}.central-context-menu>summary{min-height:44px;padding:12px 0}
 .central-sidebar{order:1;display:contents;padding:0;border:0}
 .central-brand,.central-sidebar-foot{display:none}
 #tabs.central-nav{order:1;display:none;width:100%;padding:18px 16px;background:#f7f4fa;border-bottom:1px solid var(--line)}
 #tabs.central-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 #tabs.central-nav .tab{font-size:13px;min-height:44px;padding:10px}
 .central-nav-more>summary{min-height:44px;padding-top:12px;padding-bottom:12px}
 #tabs.central-nav .central-nav-more>summary{min-height:44px}
 .env-band{order:2;margin:12px 16px 0;width:calc(100% - 32px)}
 #panelView{order:3;width:100%;padding:24px 16px 32px}
 .hero{margin-bottom:22px}.hero h1{font-size:25px}.hero .subtitle{font-size:13px;line-height:1.6}
 .mapa-btn{float:none;margin:0 0 12px}
}
@media(max-width:380px){.topbar{padding:10px 12px}.central-context{max-width:100px}.central-context-menu>summary{font-size:11px}.topbar .btn-ghost{padding:8px 10px}#panelView{padding:22px 12px 28px}#tabs.central-nav.open{grid-template-columns:1fr}.top-right{gap:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
