/* V52 - Responsividade profissional multiplataforma para SGP CMus/PMGO */
:root{
  --sgp-blue:#0f568c;
  --sgp-blue-dark:#0b3553;
  --sgp-bg:#edf4fa;
  --sgp-card:#ffffff;
  --sgp-border:#d9e4ef;
  --sgp-shadow:0 10px 28px rgba(15,23,42,.08);
  --sgp-radius:16px;
  --sgp-side:292px;
  --sgp-side-collapsed:72px;
  --sgp-top:68px;
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:0;overflow-x:hidden;background:var(--sgp-bg)}
img,svg,video,canvas{max-width:100%;height:auto}
button,.btn,a,input,select,textarea{touch-action:manipulation}
input,select,textarea,button{font:inherit;max-width:100%}
textarea{min-height:92px;resize:vertical}
.table-scroll{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.table-scroll table{min-width:760px}
table{width:100%;border-collapse:collapse}
.card,.login-card,.public-section{border-radius:var(--sgp-radius);box-shadow:var(--sgp-shadow)}
.main,.content,main{min-width:0}
.top{position:sticky;top:0;z-index:60;min-height:var(--sgp-top);display:flex;align-items:center;gap:14px;padding:10px 18px;box-shadow:0 4px 20px rgba(15,23,42,.12)}
.top .brand{min-width:0}.top .brand strong{display:block;font-size:20px;line-height:1}.top .brand span{display:block;font-size:12px}.top .version{white-space:nowrap}.top .userbar{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;text-align:right}
.side-collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;font-size:22px;cursor:pointer}
.layout{display:grid;grid-template-columns:var(--sgp-side) minmax(0,1fr);min-height:calc(100vh - var(--sgp-top));transition:grid-template-columns .22s ease}
.side{width:auto;max-width:var(--sgp-side);overflow-y:auto;overflow-x:hidden;position:sticky;top:var(--sgp-top);height:calc(100vh - var(--sgp-top));z-index:50;scrollbar-width:thin}
.main,.content,main,.layout>section,.layout>.page{padding:22px;min-width:0}
body.side-collapsed .layout{grid-template-columns:var(--sgp-side-collapsed) minmax(0,1fr)}
body.side-collapsed .side{max-width:var(--sgp-side-collapsed)}
body.side-collapsed .side-title,body.side-collapsed .side .menu-label,body.side-collapsed .side a span:not(.icon),body.side-collapsed .side .accordion-title span:not(.icon),body.side-collapsed .side .menu-text{display:none!important}
body.side-collapsed .side a,body.side-collapsed .side .accordion-title{justify-content:center;padding-left:8px;padding-right:8px}
.grid{display:grid;gap:16px;min-width:0}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-row{display:grid;gap:14px;align-items:start}.form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.btn,button.btn{min-height:40px;border-radius:9px;font-weight:700}.btn.wide{width:100%}
.kpi{min-height:110px;display:flex;flex-direction:column;justify-content:center}.kpi .n{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1;font-weight:900}.kpi .t{font-size:.9rem;color:#56708a}
.login-body.public-update-body,.login-body{min-height:100vh;padding:22px;display:flex;align-items:flex-start;justify-content:center}.public-update-card{max-width:1180px!important;width:min(1180px,96vw)!important}.public-update-card h1{font-size:clamp(1.35rem,4vw,2rem)}
.public-section{padding:clamp(12px,2.3vw,20px)!important;margin:clamp(10px,2vw,16px) 0!important}.public-section h2{font-size:clamp(1.05rem,3vw,1.35rem)}
.romaneio-table input,.romaneio-table select{min-width:120px}.readonly-box{line-height:1.5}
.cmus-global-watermark-img,.cmus-global-watermark{pointer-events:none;max-width:min(34vw,420px);opacity:.085;left:calc(var(--sgp-side) + (100vw - var(--sgp-side))/2)!important;top:54%!important;transform:translate(-50%,-50%)!important;transition:left .22s ease,opacity .22s ease}
body.side-collapsed .cmus-global-watermark-img,body.side-collapsed .cmus-global-watermark{left:calc(var(--sgp-side-collapsed) + (100vw - var(--sgp-side-collapsed))/2)!important}
@media(max-width:1280px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row.four{grid-template-columns:repeat(2,minmax(0,1fr))}.cmus-global-watermark-img,.cmus-global-watermark{max-width:min(42vw,360px)}}
@media(max-width:980px){
  :root{--sgp-top:64px;--sgp-side:286px}
  .layout{display:block}.side{position:fixed;left:0;top:var(--sgp-top);height:calc(100vh - var(--sgp-top));width:min(86vw,var(--sgp-side));max-width:min(86vw,var(--sgp-side));transform:translateX(-104%);transition:transform .22s ease;box-shadow:18px 0 30px rgba(15,23,42,.25);z-index:100}
  body.mobile-menu-open .side{transform:translateX(0)}
  body.mobile-menu-open::after{content:"";position:fixed;inset:var(--sgp-top) 0 0 0;background:rgba(15,23,42,.45);z-index:90;backdrop-filter:blur(2px)}
  body.side-collapsed .layout{grid-template-columns:1fr}.main,.content,main,.layout>section,.layout>.page{padding:16px}.top{padding:9px 12px}.top .version{display:none}.top .userbar{font-size:13px}.g2,.g3,.g4{grid-template-columns:1fr}.form-row.two,.form-row.three,.form-row.four{grid-template-columns:1fr}.card{padding:14px}.cmus-global-watermark-img,.cmus-global-watermark{left:50%!important;max-width:min(62vw,320px);opacity:.06}.public-update-card{width:100%!important}.login-body.public-update-body,.login-body{padding:12px}
}
@media(max-width:640px){
  html{font-size:15px}.top .brand strong{font-size:18px}.top .brand span{font-size:11px}.top .userbar{max-width:48vw}.top .userbar .badge{display:none}.main,.content,main,.layout>section,.layout>.page{padding:12px}h1{font-size:clamp(1.35rem,6vw,1.7rem)}h2{font-size:clamp(1.1rem,5vw,1.35rem)}.actions .btn,.actions button,.search button{width:100%}.search{display:grid!important;grid-template-columns:1fr!important;gap:10px}.card,.login-card{border-radius:14px}.kpi{min-height:92px}.table-scroll table{min-width:700px}.public-section{padding:12px!important}.readonly-box{font-size:13px}.romaneio-table{font-size:13px}.romaneio-table input,.romaneio-table select{min-width:105px}.cmus-global-watermark-img,.cmus-global-watermark{max-width:70vw;opacity:.045}
}
@media(max-width:420px){.top{gap:8px}.side-collapse-btn{width:38px;height:38px}.top .userbar{font-size:12px}.btn,button.btn{min-height:42px}.table-scroll table{min-width:640px}}
@media print{.top,.side,.side-collapse-btn,.actions,.no-print,.cmus-global-watermark-img,.cmus-global-watermark{display:none!important}.layout{display:block!important}.main,.content,main,.layout>section,.layout>.page{padding:0!important}.card{box-shadow:none!important;border:0!important}.table-scroll{overflow:visible!important}.table-scroll table{min-width:0!important}}
