/* SAFE IT GUARD REV2-07-R3A — UX compacta / design system incremental.
   Escopo estritamente visual: não altera fluxos, credenciais, tenant, banco ou alarmes.
   Esta folha é carregada por último nas seis telas principais, para evitar conflito de cascata. */
:root{--sig-blue:#1769d1;--sig-teal:#147c83;--sig-deep:#102a43;--sig-nav:#10283e;--sig-nav-hover:#1b3c53;--sig-nav-active:#23465e;--sig-radius:9px}
/* Navegação alinhada: realce discreto, sem grandes blocos azuis preenchidos. */
body.m2 #m2-primary-nav .nav-link.active,
.sp-sidebar .sp-nav.active,.ops-sidebar .ops-nav a.active,
.layout>.sidebar nav a.active{background:var(--sig-nav-active);color:#f4fbff;box-shadow:inset 3px 0 0 #2bb4ba;border-color:transparent}
.sp-sidebar .sp-nav:hover:not([aria-disabled=true]),.ops-sidebar .ops-nav a:hover,
.layout>.sidebar nav a:hover{background:var(--sig-nav-hover);color:white}
.sp-sidebar .sp-nav,.ops-sidebar .ops-nav a,.layout>.sidebar nav a{min-height:38px;padding:8px 11px;font-size:12px;border-radius:7px;gap:10px}
.sp-sidebar .sp-menu,.ops-sidebar .ops-nav,.layout>.sidebar nav{gap:3px}
.sp-sidebar .sp-side-group{margin:16px 10px 9px}.sp-sidebar .sp-side-later{margin-top:18px}
.ops-sidebar .ops-context{padding:16px 16px 10px}.layout>.sidebar .nav-caption{padding:12px 14px}
.ops-sidebar .ops-brand,.layout>.sidebar .brand{min-height:65px;height:auto;padding:13px 16px}
.ops-sidebar .ops-nav svg,.layout>.sidebar nav svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#8fd2df;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.layout>.sidebar nav a{display:flex;align-items:center;text-align:left}
.layout>.sidebar nav a.active svg,.ops-sidebar .ops-nav a.active svg{stroke:#61d1d0}
/* Shopping Admin: canvas fluido, cartões mais baixos, campos e tabelas compactos. */
@media(min-width:781px){.sp-app .sp-sidebar{width:224px;flex-basis:224px;padding:17px 10px}.sp-app .sp-workspace{max-width:none;width:100%;margin:0;padding:18px clamp(16px,1.5vw,26px) 30px}}
.sp-app .sp-topbar{height:55px;padding-inline:clamp(14px,1.5vw,25px)}
.sp-app .sp-heading{margin-bottom:14px;gap:10px}.sp-app .sp-heading h1{margin:5px 0 4px;font-size:clamp(22px,2vw,29px)}
.sp-app .sp-summary-grid{gap:11px}.sp-app .sp-stat{min-height:100px;padding:14px 16px}.sp-app .sp-stat strong{font-size:28px;margin:4px 0}.sp-app .sp-stat-label{font-size:11px}
.sp-app .sp-start{margin-top:14px;padding:17px;gap:12px}.sp-app .sp-panel-icon{width:42px;height:42px}.sp-app .sp-panel-icon svg{width:22px;height:22px}.sp-app .sp-start p{margin-bottom:11px}
.sp-app .sp-explainer{padding:10px 13px;margin-top:12px}.sp-app .sp-section-head{margin-bottom:11px}
.sp-app .sp-toolbar{padding:11px 14px}.sp-app .sp-table th,.sp-app .sp-table td{padding:10px 13px}.sp-app .sp-table-footer{padding:9px 13px}
.sp-app .sp-search-wrap input{padding:9px 0}.sp-app .sp-primary,.sp-app .sp-secondary{padding:9px 12px;min-height:36px}
.sp-app .sp-panel{min-width:0}.sp-app .sp-heading p{line-height:1.5}
/* Master corporativo: largura integral e densidade consistente, sem alterar estrutura de cards. */
@media(min-width:801px){body.m2:not(.auth-state) .sidebar{width:225px;flex-basis:225px;padding:15px 10px}body.m2:not(.auth-state) .content{width:100%;max-width:none;margin:0;padding:18px clamp(16px,1.6vw,28px) 30px}}
body.m2:not(.auth-state) .topbar{min-height:55px;height:55px;padding-inline:clamp(15px,1.6vw,28px)}
body.m2:not(.auth-state) .page-head.m2-page-head{margin-bottom:14px}
body.m2:not(.auth-state) .m2-metrics{gap:11px;margin-bottom:12px}
body.m2:not(.auth-state) .m2-metrics .metric{padding:13px 15px;gap:4px}
body.m2:not(.auth-state) .m2-metrics .metric strong{font-size:26px}
body.m2:not(.auth-state) .dashboard-welcome.m2-welcome{padding:18px 20px}
body.m2:not(.auth-state) .m2-section-head{margin-bottom:12px}
body.m2:not(.auth-state) .m2-table-toolbar{padding:11px 14px}
body.m2:not(.auth-state) .m2-table-body .item{padding:11px 15px}
body.m2:not(.auth-state) .m2-table-header{padding:10px 15px}
body.m2 #m2-primary-nav .nav-link{min-height:38px;padding:8px 10px;gap:10px}
body.m2 .m2-workspace{padding:9px;margin:10px 0 16px}
/* SOC: alertas permanecem chamativos; reduz apenas estrutura e espaço ocioso. */
@media(min-width:851px){.ops-shell .ops-sidebar{width:225px;flex-basis:225px}.ops-shell .ops-content{max-width:none;margin:0;padding:18px clamp(16px,1.5vw,28px) 27px}}
.ops-shell .ops-topbar{height:56px;padding-inline:clamp(15px,1.5vw,26px)}
.ops-shell .ops-title-row{gap:14px;margin-bottom:13px}.ops-shell .ops-title-row h1{font-size:clamp(22px,2vw,29px)}
.ops-shell .ops-warning{margin-bottom:12px;padding:11px 14px}
.ops-shell .ops-metrics{gap:10px;margin-bottom:12px}
.ops-shell .ops-metric{min-height:95px;padding:12px 14px;gap:3px}
.ops-shell .ops-metric strong{font-size:28px}
.ops-shell .ops-command-bar{padding:11px 14px;margin-bottom:12px}
.ops-shell .ops-body-grid{gap:12px}
.ops-shell .ops-panel{min-height:360px}
.ops-shell .ops-panel-heading{padding:13px 16px;min-height:65px}
/* Mapa e Histórico: mais área para a planta/dados, com menu e barra superior compactos. */
@media(min-width:1160px){body>.layout{grid-template-columns:225px minmax(0,1fr)}body>.layout .page{max-width:none;width:100%;margin:0;padding:18px clamp(16px,1.5vw,28px) 30px}}
body>.layout .topbar{min-height:55px;padding-inline:clamp(15px,1.5vw,26px)}
body>.layout .heading{gap:12px}.layout .heading h1{font-size:clamp(22px,2vw,28px);margin:4px 0}.layout .heading p:not(.eyebrow){line-height:1.45}
body>.layout .warning{margin:13px 0;padding:11px 14px}
body>.layout .metrics{gap:10px;margin-bottom:12px}
body>.layout .metrics article{min-height:91px;padding:12px 14px}
body>.layout .metrics b{font-size:26px;margin-top:4px}
body>.layout .columns{gap:12px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}
body>.layout .tools{padding:15px}
body>.layout .section-head{margin-bottom:12px}
body>.layout .tools label{margin:10px 0 5px}
body>.layout .tools input:not([type=file]),body>.layout .tools select{padding:9px 10px}
body>.layout .btn{padding:9px 12px}
body>.layout .separator{margin:14px 0}
body>.layout .map-panel>.section-head{padding:13px 16px}
body>.layout .map-scroller{padding:11px;max-height:min(72vh,760px)}
body>.layout .audit-tabs{margin:12px 0}
body>.layout .filters{padding:12px;gap:9px}
body>.layout .filters input,body>.layout .filters select{min-height:36px;padding:8px 10px}
body>.layout .filters button{min-height:36px}
body>.layout .audit-actions{margin:12px 0 9px}
body>.layout .audit-table th,body>.layout .audit-table td{padding:10px 12px}
body>.layout .audit-title{padding:14px}
/* Preserve banner ORIGINAL COMPLETO; imagem fornecida inclui marca e slogan. */
body.m2.auth-state #login .auth-context,
body.m2-client .client-auth-art{background:#071828;display:grid;place-items:center;overflow:hidden}
body.m2.auth-state #login .auth-context img.login-banner,
body.m2-client .client-auth-art img{display:block;width:100%;height:100%;max-width:100%;max-height:100vh;min-height:0;object-fit:contain!important;object-position:center center;filter:none!important}
body.m2.auth-state #login .auth-context:after{display:none!important}
body.m2.auth-state #login .m2-auth-caption{display:none!important}
/* Atende visualização de 1366×768 sem cortar a marca ou o slogan. */
@media(min-width:801px){body.m2.auth-state #login.auth-layout{grid-template-columns:minmax(0,1.65fr) minmax(370px,.8fr)}body.m2-client .client-auth-shell{grid-template-columns:minmax(0,1.65fr) minmax(370px,.8fr)}body.m2.auth-state #login .auth-context,body.m2-client .client-auth-art{height:100vh;min-height:100vh}body.m2.auth-state #login .auth-context img.login-banner,body.m2-client .client-auth-art img{height:100vh}}
@media(max-width:800px){body.m2.auth-state #login.auth-layout,body.m2-client .client-auth-shell{grid-template-columns:1fr}body.m2.auth-state #login .auth-context,body.m2-client .client-auth-art{height:auto;min-height:0;max-height:none;aspect-ratio:1672/941}body.m2.auth-state #login .auth-context img.login-banner,body.m2-client .client-auth-art img{height:auto;max-height:none;min-height:0;aspect-ratio:1672/941}body.m2.auth-state #login .auth-card,body.m2-client .client-auth-card{min-height:auto;padding:24px 20px}}
@media(max-width:780px){.sp-app .sp-workspace{max-width:none;width:100%;margin:0;padding:18px 15px 26px}}
@media(max-width:700px){body>.layout .page{max-width:none;width:100%;padding:15px 12px 25px}.layout .metrics article{min-height:85px}.layout .columns{grid-template-columns:1fr}.layout>.sidebar nav a{padding:8px 10px}.ops-shell .ops-content{padding:16px 12px 25px}}
/* Do not animate critical information on users who ask for reduced motion. */
@media(prefers-reduced-motion:reduce){.sp-sidebar .sp-nav,.ops-sidebar .ops-nav a,.layout>.sidebar nav a{transition:none}}
