/* Refinamento progressivo da interface: preserva a marca, formulários e impressão existentes. */
:root{--green:#8abf39;--dark:#18231b;--ink:#26352b;--muted:#68776d;--line:#e1e9e1;--bg:#f6f8f6}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-size:13.5px;line-height:1.5}
header{padding:9px max(18px,calc((100% - 1280px)/2));border-bottom:2px solid var(--green);min-height:66px}
.brand-lockup img{width:155px;max-height:45px;object-fit:contain}
.brand-lockup h1{font-size:16px;letter-spacing:-.3px}
.brand-lockup p{font-size:11px;margin-top:2px}
main{max-width:1280px;padding:18px 20px 34px}
.tabs{position:sticky;top:0;z-index:7;gap:5px;padding:5px;margin-bottom:14px;background:#f1f4ef;border-color:#e4eae1;box-shadow:0 2px 12px #1b2d1610}
.tabs button{padding:8px 11px;font-size:12px}
.card,.stat,.overview-panel,.overview-kpi{box-shadow:0 1px 5px #23331d0b}
.card{padding:16px}
.field input,.field select,.field textarea{min-height:39px}
button:focus-visible,.module-tile:focus-visible,a:focus-visible{outline:3px solid #83b735;outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.56}
button svg,.module-icon svg{display:inline-block;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.module-icon svg{width:27px;height:27px}
.module-tile{transition:transform .15s,box-shadow .15s,border-color .15s}
.module-tile:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 22px #23331d14}
#modules .module-intro{margin-bottom:13px}
#modules .module-intro h2{letter-spacing:-.55px}
.refine-utility{display:flex;align-items:center;gap:8px}
.refine-tools{position:relative}
.refine-tools summary{list-style:none;cursor:pointer;background:#fff;color:#1f3420;border:1px solid #d5dfd2;border-radius:8px;padding:8px 11px;font-weight:700;font-size:12px}
.refine-tools summary::-webkit-details-marker{display:none}
.refine-tools[open] .refine-tools-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:20;display:flex;flex-direction:column;gap:7px;min-width:195px;padding:10px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px #15231626}
.refine-tools-panel button{width:100%;text-align:left}
.refine-quiet-notice{display:none}
#syncConflicts:not(.hidden){border-left:4px solid #bf6c25}
.refine-searchbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:10px 0 14px}
.refine-searchbar input,.refine-searchbar select{flex:1;min-width:145px;max-width:340px;border:1px solid #cbd8cb;background:white;border-radius:8px;padding:9px 11px;font:inherit}
.refine-searchbar small{color:var(--muted)}
.refine-actions{white-space:nowrap;min-width:122px}
.refine-actions button{padding:5px 8px;font-size:11px;margin:2px}
.refine-extra{display:block;color:#768477;font-size:11px;margin:3px 0}
.refine-notice{border:1px solid #d8e4cf;background:#f4f8ef;padding:9px 12px;border-radius:9px;font-size:12px;margin:10px 0}
.refine-dashboard-note{font-size:12px;color:var(--muted)}
.refine-action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.refine-action-row .secondary{background:#f7faf6}
.refine-back-top{position:fixed;right:18px;bottom:20px;border-radius:50%;width:42px;height:42px;padding:0;display:none;align-items:center;justify-content:center;background:#1f3322;color:white;border-color:#1f3322;box-shadow:0 5px 18px #1324163b;z-index:9}
.refine-back-top.is-visible{display:flex}
.refine-back-top svg{width:18px;height:18px}
.refine-filter-note{color:#66766c;margin-bottom:8px;font-size:11px}
.ana-thread{display:flex;flex-direction:column;gap:13px;max-height:440px;overflow:auto;background:#fbfcfa;border:1px solid #e2e9e0;border-radius:12px;padding:16px;white-space:pre-wrap}
.ana-message{max-width:min(94%,720px);padding:12px 14px;border-radius:12px;line-height:1.55}
.ana-message.user{align-self:flex-end;background:#e5efdb}
.ana-message.assistant{align-self:flex-start;background:white;border:1px solid #dfe8dc}
.ana-message strong{display:block;font-size:11px;margin-bottom:5px}
.ana-form{display:flex;gap:9px;margin-top:12px}
.ana-form input{min-width:0;flex:1;border-radius:8px;border:1px solid #cbd8cb;padding:11px}
.ana-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.ana-suggestions button{background:#f0f5eb;font-size:12px}
.ana-disclaimer{font-size:12px;color:#5e6d60}
@media(max-width:760px){
 header{padding:10px 13px;min-height:56px}
 .brand-lockup img{width:88px;max-height:38px}
 .brand-lockup h1{font-size:13px}
 .brand-lockup p{font-size:10px}
 main{padding:12px 10px 25px}
 .tabs{top:0;overflow-x:auto;flex-wrap:nowrap}
 .card{padding:13px}
 .refine-searchbar input,.refine-searchbar select{max-width:100%}
 .ana-form{flex-direction:column}
}
@media print{
 .refine-back-top,.refine-utility,.refine-searchbar{display:none!important}
 html{scroll-behavior:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.module-tile{transition:none}}

/* Painéis derivados, sem introdução de novos campos no banco. */
.refine-production-macro{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
.refine-production-macro .overview-kpi strong{font-size:23px}
.refine-works-secondary{grid-template-columns:minmax(220px,1fr);max-width:390px}
.refine-works-secondary .overview-kpi{padding:14px 16px}
.refine-works-secondary .overview-kpi strong{font-size:23px}
.refine-searchbar select{max-width:215px}
tr[hidden]{display:none!important}
.refine-sync-status{margin-bottom:9px;padding:9px 12px;font-size:12px}
.refine-sync-status.refine-quiet-notice{display:none}
@media(max-width:760px){
 .refine-production-macro{grid-template-columns:1fr}
 .refine-works-secondary{max-width:none}
 .refine-searchbar select{max-width:100%}
 .refine-utility{gap:5px}
 .refine-utility>button,.refine-tools summary{padding:7px 9px;font-size:11px}
}

.refine-stock-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 12px}
.refine-stock-tabs button{padding:9px 15px}
#stock .stock-cards.refine-single{grid-template-columns:minmax(0,1fr);max-width:930px}
#stockCatalogCard .stock-scope-note button{display:inline-flex;margin:7px 0 0;vertical-align:middle}

/* Aviso explícito de segurança na prévia conectada ao mesmo Supabase. */
.refine-preview-warning{margin:0 0 16px;padding:13px 16px;border:1px solid #d4aa50;border-left:5px solid #a56b18;
 border-radius:9px;background:#fff9e9;color:#62430f;font-weight:700;font-size:12.5px;line-height:1.65}
#stockDemandPanel table td:nth-child(2),#stockDemandPanel table td:nth-child(3){font-variant-numeric:tabular-nums;white-space:nowrap}
#stockDemandPanel .refine-filter-note{margin-bottom:11px;line-height:1.5}
#stockDemandPanel td:last-child{min-width:190px}

/* Refinamento mobile: módulos compactos, alvos de toque e conteúdo legível. */
@media(max-width:650px){
  .module-intro{padding:18px 18px 20px;border-radius:14px;margin-bottom:12px}
  .module-intro h2{font-size:21px;line-height:1.25}
  .module-intro p{font-size:12px;line-height:1.5}
  .module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .module-tile{min-width:0;min-height:160px;padding:14px 12px;gap:6px;border-radius:13px}
  .module-tile .module-icon{width:40px;height:40px}
  .module-icon svg{width:23px;height:23px}
  .module-tile strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
  .module-tile span.module-desc{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
  .module-tile .module-link{font-size:11px}
  .module-topbar{align-items:flex-start;gap:6px}
  .module-topbar #modulesRole{font-size:11px;overflow-wrap:anywhere}
  .tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-padding-inline:10px}
  .tabs button{flex:0 0 auto;min-height:42px}
  .refine-tools summary,.refine-utility>button{min-height:39px}
  #stock .stock-buttons button{min-height:41px}
  #stock .stock-filterbar input,#stock .stock-filterbar select,
  #stock .stock-form-grid input,#stock .stock-form-grid select{min-height:42px}
  #stock .stock-history,#stock .stock-table{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  #stock .stock-cards.refine-single{max-width:none}
}
@media(max-width:380px){
 .module-grid{gap:8px}
 .module-tile{padding:12px 10px;min-height:160px}
 .module-tile strong{font-size:13px}
 .module-tile .module-link{font-size:10px}
 header{gap:7px}
 .brand-lockup img{width:68px}
 .brand-lockup h1{font-size:12px}
 .brand-lockup p{font-size:9px}
}

/* PWA: instruções de instalação amigáveis a toque e leitores de tela. */
.pwa-dialog{border:0;border-radius:18px;padding:0;max-width:min(430px,calc(100% - 24px));
 box-shadow:0 24px 90px #111b12a8;color:#1b291d;background:white}
.pwa-dialog::backdrop{background:#0d180e99;backdrop-filter:blur(2px)}
.pwa-dialog-inner{padding:25px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.pwa-dialog-inner img{border-radius:13px}
.pwa-dialog-inner h2{font-size:22px;margin:0;color:#172217}
.pwa-dialog-inner p{font-size:13px;line-height:1.65;margin:2px 0 10px}
.pwa-dialog-inner button{min-height:44px;min-width:100px}
#pwaInstall{color:#1d3b21;font-weight:800;border-color:#92b36d;background:#eff8e7}
@media(max-width:650px){
 .pwa-dialog-inner{padding:21px}
 .refine-tools-panel button{min-height:42px}
}
