*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#142338;font:15px system-ui,Arial}header{background:#102b46;color:white;padding:17px max(22px,5vw);display:flex;justify-content:space-between;align-items:center}header b{font-size:23px}header small{display:block;color:#b9c9da}main{max-width:1200px;margin:24px auto;padding:0 18px}nav{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:25px}button{border:1px solid #cad5e0;background:white;border-radius:9px;padding:10px 14px;cursor:pointer;color:#17334d;font-weight:600}button.active,button.primary{background:#127cba;border-color:#127cba;color:white}button:hover{filter:brightness(.95)}h1{font-size:26px}.panel{background:white;border:1px solid #dde5ef;border-radius:15px;padding:21px;margin:16px 0;box-shadow:0 2px 12px #17334d0b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.metric{font-size:27px;font-weight:700;color:#127cba}.muted{color:#62768a}.error{color:#b52238}.good{color:#147d56}.warn{color:#ad5a08}input,select{width:100%;padding:10px;border:1px solid #bdccdb;border-radius:8px;background:white;margin-top:5px}label{font-size:13px;font-weight:600;display:block}form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}form button{height:40px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{padding:11px;text-align:left;border-bottom:1px solid #e8edf2}th{background:#edf4f9} .scroll{overflow:auto}.tag{display:inline-block;border-radius:20px;background:#eaf4fc;padding:4px 10px}.stack{display:grid;gap:12px}#auth{max-width:540px;margin:50px auto}#auth form{grid-template-columns:1fr}#logout{background:#234967;color:white;border:0}@media(max-width:650px){header{padding:14px}main{margin:12px auto}h1{font-size:22px}.panel{padding:14px}nav button{flex:1 1 43%}}
.wide{grid-column:1/-1}.itemrow{display:grid;grid-template-columns:minmax(240px,2fr) minmax(120px,1fr) auto;gap:8px;margin:8px 0;align-items:end}.costbreak{background:#eef6fc;border-radius:10px;padding:14px;display:grid;gap:7px}.costbreak strong{font-size:18px;color:#116a9b}@media(max-width:650px){.itemrow{grid-template-columns:1fr}.itemrow button{width:max-content}}
/* TridLab v7 */
progress{height:16px;accent-color:#157f65} .itemrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0} .itemrow>span{flex:1;min-width:180px} .warn{color:#b42318;font-weight:600}.good{color:#087443;font-weight:600} #orderCart,#orderStock,#orderSuggestion{margin:12px 0} #ordersList .panel{margin-bottom:16px} @media print{header,nav,form,button,#auth{display:none!important}main,#workspace,#content{display:block!important;width:100%!important}table{font-size:10px} .panel{box-shadow:none;border:1px solid #ddd}}
/* Ajustes de usabilidade: Compras e Custos */
.purchase-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.purchase-form>label,.purchase-form>.purchase-new-fields{min-width:0}
.purchase-new-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #d6e5f1;background:#f6faff;border-radius:12px}
.purchase-new-fields h4{grid-column:1/-1;margin:0;font-size:15px}
.purchase-summary{background:#eaf5fb;padding:14px;border-radius:10px;color:#12567c}
.cost-toggle{display:flex;align-items:center;gap:12px;border:1px solid #d8e4ee;border-radius:12px;padding:12px 14px;background:#f7fafc;cursor:pointer;font-size:14px}
.cost-toggle input[type=checkbox]{width:19px;height:19px;margin:0;flex:none;accent-color:#127cba}
.cost-toggle span{display:block}.cost-toggle small{display:block;color:#61758b;font-size:12px;font-weight:400;margin-top:3px}
input:disabled,select:disabled{background:#eef1f5;color:#8593a2;cursor:not-allowed;border-color:#d8dfe7}
.disabled-field{opacity:.55}
@media(max-width:850px){.purchase-form,.purchase-new-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.purchase-form,.purchase-new-fields{grid-template-columns:1fr}}

/* v7.4 — materiais da ficha técnica */
#pieceForm .piece-material-section{min-width:0;display:block;border:1px solid #d7e3ed;border-radius:14px;padding:18px;background:#f8fbff}
#pieceForm .piece-material-section h4{margin:0 0 5px}
#pieceForm .piece-material-list{display:grid;grid-template-columns:1fr;gap:14px;margin:14px 0}
#pieceForm .piece-material-card{min-width:0;padding:16px;border:1px solid #d6e1ec;border-radius:12px;background:#fff;box-shadow:0 1px 5px #152b400a}
#pieceForm .piece-material-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#pieceForm .piece-material-heading button{height:auto;padding:7px 12px}
#pieceForm .piece-material-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(125px,1fr) minmax(85px,.65fr);gap:12px;align-items:end}
#pieceForm .piece-material-fields label{min-width:0}
#pieceForm .piece-material-fields input,#pieceForm .piece-material-fields select{min-width:0;max-width:100%}
#pieceForm .piece-material-fields input[readonly]{background:#f1f5f9;color:#475569}
#pieceForm .piece-material-meta{font-size:12px;margin-top:10px}
@media(max-width:750px){#pieceForm .piece-material-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#pieceForm .piece-material-select{grid-column:1/-1}}
@media(max-width:450px){#pieceForm .piece-material-fields{grid-template-columns:1fr}#pieceForm .piece-material-select{grid-column:auto}}

/* TridLab 7.4.6 — painel de estimativa das peças */
.piece-estimate{border:1px solid #dbe3ec;border-radius:16px;padding:18px;background:#fff;color:#1f2937;margin-top:12px}
.piece-estimate-header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.piece-estimate-header h3{margin:0;font-size:1.18rem}.piece-estimate-header>span{font-size:.82rem;color:#64748b}
.piece-estimate-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.piece-estimate-tile{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:14px;min-width:0;display:flex;flex-direction:column;gap:6px}
.piece-estimate-tile span,.piece-estimate-footer span{color:#475569;font-size:.85rem}.piece-estimate-tile strong{font-size:clamp(1.15rem,2.6vw,1.55rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.piece-estimate-tile.featured{background:#ecfdf5;border-color:#a7f3d0}.piece-estimate-tile.featured strong{color:#047857}
.piece-estimate-details{margin-top:18px}.piece-estimate-details h4{margin:0 0 8px;font-size:1rem}
.piece-estimate-line{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e2e8f0;font-size:.93rem;align-items:center}
.piece-estimate-line strong{font-variant-numeric:tabular-nums;text-align:right}.piece-estimate-line em{font-size:.82rem;color:#64748b;font-weight:400;font-style:normal}
.piece-estimate-line.total{font-weight:700;border-top:2px solid #cbd5e1;border-bottom:0;margin-top:4px}
.piece-estimate-footer{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.piece-estimate-footer>div{display:flex;flex-direction:column;gap:4px}.piece-estimate-footer strong{font-size:.98rem;overflow-wrap:anywhere}
@media(max-width:580px){.piece-estimate{padding:12px}.piece-estimate-highlights{gap:8px}.piece-estimate-tile{padding:10px}.piece-estimate-footer{grid-template-columns:1fr 1fr}}

/* v7.6: etapas de fabricação por quantidade */
.production-piece{border:1px solid #d5dce5;border-radius:12px;padding:16px;margin:14px 0;background:var(--panel,#fff)}
.production-piece h4{margin:0 0 12px}.production-piece h4 small{font-weight:400;opacity:.7}
.production-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.production-stages>div{border-radius:9px;background:#eef2f6;padding:12px;text-align:center;display:flex;flex-direction:column;gap:5px}
.production-stages span{font-size:12px;color:#425466}.production-stages strong{font-size:24px}
.production-track{display:flex;overflow:hidden;border-radius:30px;height:11px;margin:12px 0;background:#eee}
.production-move{display:grid;grid-template-columns:1fr 1fr 100px auto;gap:10px;align-items:end}
.production-move label{display:flex;flex-direction:column;gap:5px;min-width:0}.production-move select,.production-move input{width:100%;box-sizing:border-box}
@media(max-width:720px){.production-move{grid-template-columns:1fr 1fr}.production-move button{grid-column:span 2}}

/* TridLab v7.7 — lista compacta e detalhes expansíveis */
.order-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.order-toolbar label{display:flex;flex-direction:column;gap:5px;min-width:min(100%,300px)}.order-toolbar select{width:100%}.order-summary{padding:0!important;overflow:hidden;margin-bottom:10px}.order-summary-toggle{appearance:none;background:transparent;color:inherit;border:0;width:100%;padding:16px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.order-summary-toggle:hover{background:rgba(128,128,128,.07)}.order-summary-main{display:flex;flex-direction:column;gap:5px;min-width:0}.order-summary-main small{opacity:.7}.order-summary-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.order-pill{border:1px solid currentColor;border-radius:999px;padding:5px 9px;font-size:.8rem;white-space:nowrap}.order-pill.paid{color:#16834a}.order-pill.pending{color:#9c6b14}.order-expand-icon{font-size:.75rem;opacity:.7}.order-detail{padding:14px 16px 20px;border-top:1px solid rgba(128,128,128,.25)}.order-detail[hidden]{display:none!important}@media(max-width:640px){.order-summary-toggle{align-items:flex-start;flex-direction:column}.order-summary-badges{justify-content:flex-start}}

/* v7.7.1 - Legendas explicitas dos status */
.order-summary-badges .order-pill{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.3}
.order-pill-label{font-size:11px;font-weight:600;opacity:.75;display:block}
.production-stage-caption{font-size:12px;font-weight:600;margin:12px 0 5px;opacity:.8}

/* v7.7.5: ação destrutiva separada das ações rotineiras */
.order-delete-button{margin-top:14px;margin-left:10px;border:1px solid #b91c1c;color:#b91c1c;background:transparent;border-radius:8px;padding:9px 12px;cursor:pointer}
.order-delete-button:hover{background:#fef2f2}
.order-delete-button:disabled{opacity:.55;cursor:wait}

/* TridLab v7.7.6 — filtros compactos de pedidos.
   Adicionar ao FINAL do assets/style.css existente. */
#orderFilters.order-filters{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:10px;
  row-gap:9px;
  align-items:end;
  margin:10px 0 8px;
  padding:12px;
  background:#f8fafc;
  border:1px solid #dce4ed;
  border-radius:11px;
}
#orderFilters.order-filters>label{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;font-size:12px;line-height:1.3}
#orderFilters.order-filters>label input,
#orderFilters.order-filters>label select{
  display:block;width:100%;min-width:0;height:35px;
  margin:0;padding:6px 9px;font-size:13px;
  border-radius:7px;
}
#orderFilters.order-filters>label:nth-child(1){grid-column:span 4} /* busca */
#orderFilters.order-filters>label:nth-child(2),
#orderFilters.order-filters>label:nth-child(3){grid-column:span 2} /* datas */
#orderFilters.order-filters>label:nth-child(4){grid-column:span 4} /* produção */
#orderFilters.order-filters>label:nth-child(5){grid-column:span 4} /* pagamento */
#orderFilters.order-filters>label:nth-child(6){grid-column:span 4} /* ordenação */
#orderFilters.order-filters>label:nth-child(7){grid-column:span 2} /* por página */
#orderFilters.order-filters>.order-filter-actions{grid-column:span 2;min-width:0;display:flex;align-items:end}
#orderFilters.order-filters>.order-filter-actions button{
  width:100%;height:35px;min-width:0;margin:0;padding:5px 7px;
  font-size:12px;white-space:nowrap;border-radius:7px;
}
#orderFilterCount.order-filter-count{margin:6px 0 12px;font-size:12px}
@media(max-width:900px){
  #orderFilters.order-filters{grid-template-columns:repeat(6,minmax(0,1fr))}
  #orderFilters.order-filters>label:nth-child(1){grid-column:span 6}
  #orderFilters.order-filters>label:nth-child(2),
  #orderFilters.order-filters>label:nth-child(3),
  #orderFilters.order-filters>label:nth-child(7){grid-column:span 3}
  #orderFilters.order-filters>label:nth-child(4),
  #orderFilters.order-filters>label:nth-child(5),
  #orderFilters.order-filters>label:nth-child(6){grid-column:span 3}
  #orderFilters.order-filters>.order-filter-actions{grid-column:span 3}
}
@media(max-width:520px){
  #orderFilters.order-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:8px}
  #orderFilters.order-filters>label:nth-child(1),
  #orderFilters.order-filters>label:nth-child(4),
  #orderFilters.order-filters>label:nth-child(5),
  #orderFilters.order-filters>label:nth-child(6){grid-column:1/-1}
  #orderFilters.order-filters>label:nth-child(2),
  #orderFilters.order-filters>label:nth-child(3),
  #orderFilters.order-filters>label:nth-child(7),
  #orderFilters.order-filters>.order-filter-actions{grid-column:span 1}
}


/* TridLab v7.9 */
.catalog-admin-item,.quote-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:10px;border-bottom:1px solid #e5e7eb}.catalog-admin-item b{flex:2;min-width:200px}.catalog-admin-item span{flex:1}.quote-admin{padding:16px;border:1px solid #dce5ee;border-radius:12px;margin:12px 0}.quote-actions select{width:auto;min-width:150px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin:15px 0}.photo-grid img{width:100%;height:120px;object-fit:cover;border-radius:8px}.photo-grid button{width:100%;margin-top:5px}textarea{width:100%;padding:10px;border:1px solid #bdccdb;border-radius:8px;font:inherit;margin-top:5px}
/* TridLab 7.10 - módulo independente de produção própria */
.own-sale-line{display:flex;gap:12px;flex-wrap:wrap;align-items:end;border-bottom:1px solid #ddd;padding:10px 0}
.own-sale-line label{flex:1 1 180px}.own-sale-line button{margin-bottom:4px}
.ownCompleteForm{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.ownCompleteForm label{min-width:130px}

/* TridLab 7.11 — shell responsivo da marca, sem alterar formulários ou módulos */
:root{--tl-orange:#ff6a00;--tl-graphite:#444444;--tl-silver:#bfc3c7;--tl-dark:#202326;--tl-sidebar:250px;--tl-topbar:76px}
body{background:#f5f6f8;color:#262b32;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body:not(.is-logged) .app-sidebar,body:not(.is-logged) .sidebar-backdrop,body:not(.is-logged) .sidebar-toggle,body:not(.is-logged) .topbar-context,body:not(.is-logged) .topbar-right{display:none!important}
body:not(.is-logged) .app-topbar{justify-content:center;background:#242424}
body:not(.is-logged) .app-topbar:after{content:'TridLab · Gestão de impressão 3D';font-weight:700;color:#fff;letter-spacing:.02em}
body:not(.is-logged) .app-main{margin:0;max-width:680px;padding:40px 20px}
.app-topbar{position:fixed;z-index:60;top:0;left:var(--tl-sidebar);right:0;height:var(--tl-topbar);padding:0 28px;display:flex;justify-content:space-between;align-items:center;background:#fff;color:#292d32;border-bottom:1px solid #e8e9ed;box-shadow:0 1px 6px #11111106}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}.topbar-context{display:grid;gap:3px;font-size:15px;font-weight:700}.topbar-overline{font-size:10px;letter-spacing:.13em;color:#8c939d;font-weight:800}.factory-pill{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:#f5f6f8;color:#555d68;font-size:12px;font-weight:650;max-width:210px}.factory-pill span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.factory-dot,.sidebar-footer-dot{display:inline-block;width:7px;height:7px;flex:none;background:#ff6a00;border-radius:50%}.user-profile{display:flex;align-items:center;gap:10px}.profile-avatar{height:36px;width:36px;border-radius:11px;background:#fff0e6;color:#d95600;display:grid;place-items:center;font-weight:800;font-size:12px}.profile-info{display:grid;gap:1px;max-width:175px}.profile-info strong,.profile-info small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-info strong{font-size:13px}.profile-info small{font-size:11px;color:#88909a}.logout-button{padding:9px 12px;border-radius:9px;font-size:12px;background:#fff;border:1px solid #e5e7eb;color:#515966}.sidebar-toggle{display:none;border:0;background:transparent;color:#333;font-size:23px;padding:7px 11px}
.app-sidebar{position:fixed;z-index:70;top:0;bottom:0;left:0;width:var(--tl-sidebar);background:var(--tl-dark);display:flex;flex-direction:column;color:#fff;box-shadow:2px 0 15px #00000008}.brand-area{padding:27px 22px 22px;border-bottom:1px solid #ffffff12}.brand-logo{width:100%;max-height:61px;object-fit:contain;object-position:left center}.brand-caption{font-size:11px;color:#a9adb2;letter-spacing:.025em;margin-top:4px}.app-sidebar #nav{display:block;flex:1;overflow-y:auto;padding:16px 11px 20px;margin:0}.nav-group{margin-bottom:18px}.nav-group-label{font-size:10px;letter-spacing:.12em;font-weight:800;text-transform:uppercase;color:#858b93;padding:8px 13px;margin-bottom:3px}.app-sidebar #nav .nav-link{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:10px;background:transparent;color:#d1d4d9;padding:11px 13px;font-size:13px;font-weight:580;margin:2px 0;transition:background .15s,color .15s}.app-sidebar #nav .nav-link:hover{background:#ffffff12;color:white;filter:none}.app-sidebar #nav .nav-link.active{background:#ff6a00;color:#fff;box-shadow:0 5px 14px #ff6a0026}.nav-glyph{width:19px;text-align:center;font-size:17px;line-height:1;font-weight:500}.sidebar-footer{border-top:1px solid #ffffff16;padding:17px 22px;display:flex;align-items:center;gap:9px;font-size:12px;color:#c3c7cc}.sidebar-version{margin-left:auto;color:#878d94}.sidebar-backdrop{display:none}
.app-main{margin:var(--tl-topbar) 0 0 var(--tl-sidebar);padding:25px clamp(16px,3vw,42px) 55px;max-width:none}.app-main #workspace{max-width:1500px;margin:0 auto}.page-heading{margin-bottom:19px}.page-eyebrow{color:#9a9fa8;font-size:10px;font-weight:800;letter-spacing:.13em;margin-bottom:6px}.page-heading h1{margin:0;font-size:27px;letter-spacing:-.03em;color:#24272c}.panel{border:1px solid #e7e9ed;border-radius:14px;box-shadow:0 3px 14px #10182008}.metric{color:#e76100}button.primary,button.active{background:#ff6a00;border-color:#ff6a00;color:white}button.primary:hover{background:#e65f00;filter:none}input:focus,select:focus{outline:2px solid #ff6a0040;outline-offset:1px;border-color:#ff6a00}th{background:#f7f8fa;color:#555c67}.tag{background:#fff1e6;color:#b24b00}
@media(max-width:980px){:root{--tl-sidebar:225px}.app-topbar{padding:0 17px}.factory-pill{max-width:140px}.profile-info{max-width:125px}.app-main{padding:22px 20px 40px}}
@media(max-width:760px){:root{--tl-sidebar:260px;--tl-topbar:64px}.app-sidebar{transform:translateX(-105%);transition:transform .22s ease;box-shadow:6px 0 20px #0002}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#0b121db0;z-index:65}.sidebar-open .sidebar-backdrop{display:block}.app-topbar{left:0;padding:0 13px}.sidebar-toggle{display:block}.topbar-right{gap:8px}.factory-pill{display:none}.profile-info{display:none}.logout-button{padding:8px 10px}.app-main{margin-left:0;padding:17px 12px 35px}.page-heading h1{font-size:23px}.panel{padding:15px}.brand-area{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.app-sidebar{transition:none}}

.brand-area{background:#111111}

/* v7.11.1 — Login: cabeçalho inteiro e formulário centralizado, sem afetar área autenticada */
body:not(.is-logged) .app-topbar{
  left:0;right:0;width:100%;height:76px;
  justify-content:center;padding:0 18px;
  background:#202326;border-bottom:3px solid var(--tl-orange);
}
body:not(.is-logged) .app-topbar:after{content:none}
body:not(.is-logged) .guest-brand{display:flex;align-items:center;justify-content:center;height:100%;max-width:230px}
body:not(.is-logged) .guest-brand img{display:block;max-height:53px;max-width:100%;width:auto;object-fit:contain}
body.is-logged .guest-brand{display:none!important}
body:not(.is-logged) .app-main{
  margin:76px 0 0!important;max-width:none;width:100%;
  min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px);
  padding:28px 16px 48px;display:flex;align-items:center;justify-content:center;
}
body:not(.is-logged) #auth{width:min(100%,480px);max-width:480px;margin:0 auto;min-width:0}
body:not(.is-logged) #auth .panel{margin:0;padding:clamp(20px,4vw,32px);box-shadow:0 14px 40px #20232612}
body:not(.is-logged) #auth form{grid-template-columns:minmax(0,1fr)}
body:not(.is-logged) #auth input,body:not(.is-logged) #auth button{max-width:100%}
@media(max-width:760px){body:not(.is-logged) .app-topbar{height:68px}body:not(.is-logged) .app-main{margin-top:68px!important;min-height:calc(100dvh - 68px);padding:20px 14px 32px}body:not(.is-logged) .guest-brand img{max-height:47px}}

/* v7.11.2 — Logo oficial visível dentro do cartão de autenticação */
body:not(.is-logged) #auth .login-brand{background:#111;display:flex;align-items:center;justify-content:center;border-radius:12px;padding:13px 18px;margin:0 0 20px;min-height:95px}
body:not(.is-logged) #auth .login-brand img{display:block;width:100%;max-width:310px;height:auto;max-height:92px;object-fit:contain}
body:not(.is-logged) #auth .panel>h2{margin-top:0;text-align:center}

/* v7.11.3 — Logomarca oficial visível na navegação e no cabeçalho */
.topbar-brand{display:none;align-items:center;flex:none;text-decoration:none}
.topbar-brand img{display:block;width:142px;height:46px;object-fit:contain}
.app-sidebar .brand-logo{display:block;width:100%;height:auto;max-height:75px;object-fit:contain;object-position:left center}
body.is-logged .topbar-brand{display:none} /* Desktop: logomarca já está no canto superior esquerdo da barra lateral */
@media(max-width:760px){body.is-logged .topbar-brand{display:flex}.topbar-brand img{width:112px;height:40px}.topbar-left{gap:7px}.topbar-context{display:none}}
@media(max-width:390px){.topbar-brand img{width:94px}.topbar-left{gap:3px}}

/* v7.11.4 — Painel visual de materiais */
.stock-overview{margin-bottom:18px}.stock-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.stock-overview-head h3{margin:0 0 6px}.stock-overview-stats{display:flex;gap:12px;flex-wrap:wrap}.stock-overview-stats span{padding:9px 12px;background:#f4f5f6;border:1px solid #e5e7e9;border-radius:10px;font-size:13px}.stock-overview-stats b{font-size:16px}.stock-alert-text{color:#b93823!important}.stock-overview-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr));gap:12px;margin:16px 0}.stock-overview-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px}.stock-overview-filters input,.stock-overview-filters select{width:100%}.stock-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:14px}.stock-visual-card{padding:16px;border:1px solid #e0e2e4;border-radius:12px;background:#fff;min-width:0}.stock-visual-alert{border-color:#e5a18f;background:#fff9f7}.stock-visual-title{display:flex;align-items:center;gap:10px;min-width:0}.stock-visual-title>div{min-width:0}.stock-visual-title strong{display:block;overflow-wrap:anywhere}.stock-visual-title small{display:block;color:#697078;font-size:12px;margin-top:3px}.stock-color-dot{flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:2px solid #c8cbd0;box-shadow:0 0 0 2px #fff}.stock-visual-qty{font-size:25px;font-weight:750;margin:16px 0 10px}.stock-bar{height:17px;border-radius:5px;background:#e9ebed;position:relative;overflow:visible;border:1px solid #c8cbd0}.stock-bar-fill{height:100%;border-radius:4px;box-shadow:inset 0 0 0 1px #0002;min-width:0}.stock-min-marker{position:absolute;top:-5px;height:25px;width:3px;background:#b93823;border:1px solid #fff;transform:translateX(-50%);z-index:1}.stock-visual-foot{display:flex;justify-content:space-between;gap:8px;margin-top:11px;font-size:12px}.stock-visual-value{font-size:12px;color:#697078;margin-top:8px}@media(max-width:650px){.stock-overview-filters{grid-template-columns:1fr}.stock-overview-stats{width:100%}.stock-overview-stats span{flex:1}}

/* v7.11.5: seletor de cor dos indicadores de estoque */
.stock-color-edit{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:#59616b}.stock-color-picker{width:48px;height:32px;padding:2px;border:1px solid #c8cbd0;border-radius:7px;cursor:pointer;background:#fff}
