/* AME MAIS — camada de usabilidade, fotos e experiência mobile */
:root { --app-accent:#1c5348; --app-line:#e1e9e5; }
button, select, input, textarea { touch-action: manipulation; }
.button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.button.small { min-height:38px; }
.field input, .field select { min-height:46px; }
.modal .field input, .modal .field select { font-size:16px; }
.form-section { border:1px solid var(--app-line); border-radius:11px; padding:16px; background:#fcfdfc; display:flex; flex-direction:column; gap:12px; }
.form-section.wide { grid-column:1 / -1; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.section-head strong { font-size:.96rem; }
.section-head small { font-size:.77rem; color:#75817b; }
.cat-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.cat-field { display:flex; align-items:end; gap:7px; min-width:0; }
.cat-field .field { flex:1; min-width:0; }
.cat-field .button.square { width:46px; height:46px; padding:0; flex:0 0 46px; font-size:1.32rem; border:1px solid #bfd0c8; color:var(--app-accent); }
.cat-field select:disabled { opacity:.5; background:#f0f3f2; }
.tag-choices { display:flex; flex-direction:column; gap:9px; max-height:none; overflow:visible; padding:4px 1px 9px; }
.tag-choice { cursor:pointer; position:relative; user-select:none; }
.tag-choice input { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; margin:0; }
.tag-choice span { display:flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; font-size:.87rem; border:1px solid #d5e0da; border-radius:999px; color:#425e54; background:white; }
.tag-choice input:checked + span { background:#dfeee7; color:#144e3d; border-color:#85b2a1; font-weight:700; }
.tag-choice input:checked + span::before { content:"✓"; margin-right:5px; }
.tag-choice input:focus-visible + span { outline:3px solid #83b0a1; outline-offset:2px; }
.tag-choice[hidden] { display:none; }
.tag-search { margin:0; max-width:100%; }
.tag-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; border-bottom:1px solid #edf2ef; padding:12px 0; }
.tag-row small { flex:1; }
.tag-row:last-child { border-bottom:0; }
.category-name { display:flex; align-items:center; gap:6px; }
.category-name.tier-2 { padding-left:20px; }
.category-name.tier-3 { padding-left:40px; }
.photo-editor { display:flex; align-items:center; gap:18px; }
.photo-preview { width:170px; height:155px; background:#f4f6f5; border:2px dashed #cbd9d2; border-radius:12px; overflow:hidden; flex-shrink:0; display:grid; place-items:center; padding:0; }
.photo-preview img { width:100%; height:100%; object-fit:contain; background:#fff; }
.photo-empty { display:flex; flex-direction:column; align-items:center; gap:4px; color:#758a80; font-size:.83rem; }
.photo-empty span { font-size:2.5rem; }
.photo-editor-actions { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.photo-editor-actions small { color:#75847e; }
.photo-editor-actions .button { min-width:190px; }
.product-photo { padding:0; border:0; background:transparent; border-radius:9px; display:block; cursor:zoom-in; flex-shrink:0; }
.product-photo .thumb { width:56px; height:56px; border-radius:9px; object-fit:cover; }
.product-photo .placeholder { display:grid; place-items:center; background:#eff3f0; }
.product-photo:focus-visible { outline:3px solid #7aafa0; outline-offset:2px; }
.photo-lightbox { position:fixed; inset:0; z-index:200; background:rgba(12,23,21,.94); display:flex; justify-content:center; align-items:center; flex-direction:column; gap:12px; padding:68px 18px 25px; cursor:zoom-out; }
.photo-lightbox img { max-width:95vw; max-height:calc(100dvh - 160px); object-fit:contain; border-radius:9px; background:white; cursor:default; }
.photo-lightbox .lightbox-close { position:absolute; top:max(14px,env(safe-area-inset-top)); right:16px; border:1px solid #687b71; background:#fff; border-radius:8px; padding:11px 17px; min-height:44px; font-weight:700; cursor:pointer; }
.photo-lightbox .lightbox-title { color:white; font-size:.9rem; max-width:90vw; text-align:center; }
.mobile-products, .bottom-nav { display:none; }
.mobile-more-overlay { display:none; }
.readonly-field { background:#f4f6f5; border-radius:8px; padding:13px 10px; min-height:46px; color:#6f8178; }
@media(max-width:920px){
 .cat-three { grid-template-columns:1fr; }
 .form-section { padding:12px; }
}
@media(max-width:760px) {
 body { background:#f8faf9; }
 .sidebar { display:none; }
 .app-shell { min-height:100dvh; }
 .main { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
 .topbar { position:sticky; top:0; z-index:10; min-height:56px; background:#fff; padding:9px 14px; box-shadow:0 1px 0 #edf0ee; }
 .content { padding:17px 12px 30px; max-width:none; }
 .pagehead { margin-bottom:14px; align-items:flex-start; }
 .pagehead .actions .button { min-height:46px; }
 .bottom-nav { position:fixed; z-index:30; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:rgba(255,255,255,.97); border-top:1px solid #dce5df; padding:5px 5px calc(5px + env(safe-area-inset-bottom)); box-shadow:0 -4px 20px #183e2d0c; backdrop-filter:blur(8px); }
 .bottom-nav button { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; padding:8px 2px 7px; border:0; border-radius:9px; background:transparent; color:#61736a; min-height:57px; }
 .bottom-nav button span { font-size:1.32rem; line-height:1.2; }
 .bottom-nav button small { font-size:.68rem; font-weight:650; letter-spacing:.01em; white-space:nowrap; }
 .bottom-nav button.active { color:var(--app-accent); background:#e9f2ec; }
 .mobile-more-overlay { position:fixed; inset:0; z-index:70; display:flex; align-items:flex-end; background:#122b2180; }
 .mobile-more-sheet { border-radius:20px 20px 0 0; background:white; width:100%; display:flex; flex-direction:column; gap:9px; padding:18px 18px calc(22px + env(safe-area-inset-bottom)); }
 .mobile-more-sheet > .button { width:100%; justify-content:flex-start; padding-left:16px; min-height:53px; }
 .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .cards .metric { font-size:1.4rem; }
 .eventgrid { grid-template-columns:1fr; }
 .table th, .table td { padding:12px; }
 .products-panel > .tablewrap { display:none; }
 .products-panel .mobile-products { display:flex; flex-direction:column; gap:0; }
 .products-panel .toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px; }
 .products-panel .toolbar .search { grid-column:1/-1; width:100%; }
 .products-panel .toolbar select { width:100%!important; max-width:none!important; min-width:0; min-height:46px; }
 .products-panel .toolbar .button { grid-column:1/-1; width:100%; min-height:44px; }
 .mobile-product-card { display:flex; align-items:flex-start; gap:13px; padding:15px 13px; background:white; border-bottom:1px solid #eaf0ec; }
 .mobile-product-card:last-child { border-bottom:0; }
 .mobile-product-card .product-photo .thumb { width:108px; height:108px; border-radius:11px; }
 .mobile-product-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
 .mobile-product-info > strong { font-size:.94rem; line-height:1.28; }
 .mobile-product-info > small { color:#718078; overflow-wrap:anywhere; }
 .product-tags { display:flex; flex-wrap:wrap; gap:2px; }
 .mobile-product-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:6px; }
 .mobile-product-actions .qty { margin-right:auto; font-size:.84rem; }
 .mobile-product-actions .button { min-height:42px; }
 .modalback { padding:0; align-items:stretch; }
 .modal { max-width:100%; width:100%; height:100dvh; max-height:100dvh; border-radius:0; display:flex; flex-direction:column; }
 .modalhead { flex:0 0 auto; padding:14px 17px; min-height:59px; }
 .modalhead h2 { font-size:1.08rem; }
 .modalhead .plain { min-height:42px; min-width:42px; }
 .modal form { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; overflow-y:auto; padding:15px 15px 20px; gap:3px; overscroll-behavior:contain; }
 .formgrid { display:grid; grid-template-columns:1fr; gap:16px; }
 .field.wide,.form-section.wide { grid-column:1/-1; }
 .field input,.field select,.field textarea { min-height:48px; }
 .modalfooter { position:sticky; bottom:-21px; z-index:1; padding:12px 0 calc(12px + env(safe-area-inset-bottom)); margin-top:auto; background:linear-gradient(#fff,#fff); border-top:1px solid #e9efea; }
 .modalfooter .button { min-height:49px; flex:1; }
 .modalfooter .button.primary { flex:1.6; }
 .cat-three { grid-template-columns:1fr; gap:10px; }
 .cat-field { gap:8px; }
 .cat-field .button.square { height:48px; width:48px; flex-basis:48px; }
 .tag-choice span { min-height:45px; }
 .photo-editor { display:flex; flex-direction:column; gap:11px; align-items:stretch; }
 .photo-preview { width:100%; height:196px; }
 .photo-editor-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .photo-editor-actions .button { min-width:0; width:100%; min-height:50px; padding:8px; font-size:.84rem; }
 .photo-editor-actions small { grid-column:1/-1; }
 .tag-row { gap:8px; }
 .category-name.tier-2 { padding-left:9px; }
 .category-name.tier-3 { padding-left:18px; }
 .category-name strong { white-space:normal; overflow-wrap:anywhere; }
 .toast { bottom:calc(85px + env(safe-area-inset-bottom)); left:12px; right:12px; width:auto; max-width:none; }
}
@media(max-width:380px){
 .mobile-product-card .product-photo .thumb { width:88px; height:88px; }
 .mobile-product-actions .button { padding:8px; }
 .topbar .userpill { max-width:175px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Leitor de códigos de barras — acessível e confortável no celular */
.scan-backdrop{
  position:fixed;inset:0;z-index:120;background:rgba(13,30,25,.87);
  display:grid;place-items:center;padding:12px;
}
.scan-panel{
  display:flex;flex-direction:column;gap:12px;width:min(540px,100%);
  max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border-radius:14px;padding:17px;
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.scan-panel header{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.scan-panel header strong{font-size:1.06rem;}
.scan-panel .plain{min-height:44px;}
.scan-video-wrap{position:relative;border-radius:10px;overflow:hidden;background:#16231c;}
.scan-video-wrap video{
  display:block;width:100%;height:min(46dvh,320px);max-height:320px;
  object-fit:cover;background:#17231b;margin:0;
}
.scan-guide{
  pointer-events:none;position:absolute;
  left:8%;right:8%;top:29%;bottom:29%;
  border:2px solid #bcfbd0;border-radius:8px;
  box-shadow:0 0 0 800px rgba(0,0,0,.08);
}
.scan-panel p[data-status]{color:#52665f;font-size:.87rem;margin:0;min-height:38px;}
.scan-panel p[data-status].scan-error{color:#a63e31;}
.scan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.scan-actions>.button,.scan-file-button{
  display:flex;align-items:center;justify-content:center;
  text-align:center;cursor:pointer;min-height:48px;
  padding:10px;border:1px solid #d8e1dc;border-radius:8px;font-size:.85rem;
}
.scan-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.scan-manual{display:flex;flex-direction:column;gap:7px;border-top:1px solid #edf1ee;padding-top:12px;}
.scan-manual>label{font-size:.86rem;font-weight:650;color:#455b51;}
.scan-manual-row{display:flex;gap:9px;align-items:stretch;}
.scan-manual input{
  min-width:0;flex:1;border:1px solid #ccd9d1;border-radius:8px;
  padding:10px 12px;min-height:48px;font-size:16px;
}
.scan-manual .button{min-height:48px;}
@media(max-width:760px){
  .scan-backdrop{padding:0;align-items:stretch;}
  .scan-panel{
    width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0;
    padding:calc(12px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom));
  }
  .scan-video-wrap video{height:min(43dvh,380px);max-height:43dvh;}
  .scan-actions{gap:8px;}
  .scan-actions>.button,.scan-file-button{font-size:.83rem;min-height:52px;}
  .scan-manual .button{padding-inline:12px;}
}


/* Categorias encadeadas: qualquer profundidade sem sobrecarregar o formulário */
.cat-levels{
  display:flex;
  flex-direction:column;
  gap:11px;
  width:100%;
}
.cat-levels .cat-field{
  display:flex;
  align-items:flex-end;
  width:100%;
  max-width:700px;
}
.cat-levels .cat-field .field{
  flex:1;
  min-width:0;
}
.cat-levels .cat-field .field select{
  width:100%;
  min-height:48px;
}
.cat-levels .cat-field .button.square{
  min-width:48px;
  width:48px;
  height:48px;
  flex:0 0 48px;
}
@media(max-width:760px){
  .cat-levels{gap:14px;}
  .cat-levels .cat-field{gap:10px;}
  .cat-levels .cat-field .field select{min-height:50px;}
  .cat-levels .cat-field .button.square{
    width:52px;
    height:50px;
    min-width:52px;
    flex-basis:52px;
  }
}


/* AME MAIS — seletor visual de categorias, busca e árvore com cores discretas */
.tax-backdrop{position:fixed;inset:0;z-index:140;background:rgba(18,37,31,.58);display:flex;align-items:center;justify-content:center;padding:16px}
.tax-sheet{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(90dvh,820px);min-height:350px;background:#fff;border:1px solid #dbe5df;border-radius:18px;box-shadow:0 22px 70px #0c231f4d;overflow:hidden}
.tax-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 14px;gap:12px;flex:0 0 auto}
.tax-header small{font-size:.72rem;color:#6b8177;font-weight:700;letter-spacing:.04em}
.tax-header h2{font-size:1.15rem;margin:4px 0 0;color:#223b31}
.tax-close{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:10px;background:#f0f4f2;color:#39594d;font-size:1.2rem}
.tax-search{margin:0 20px 12px;display:flex;align-items:center;gap:9px;border:1px solid #cbdcd2;border-radius:11px;background:#fafcfb;padding:0 12px;min-height:49px;flex:0 0 auto}
.tax-search:focus-within{outline:2px solid #8ebbae;outline-offset:1px}
.tax-search>span{font-size:1.35rem;color:#627f71}
.tax-search input{width:100%;min-width:0;padding:12px 0;min-height:47px;border:0;outline:0!important;background:transparent;font-size:16px;color:#263e35}
.tax-trail{display:flex;align-items:center;gap:6px;flex:0 0 auto;max-width:100%;overflow-x:auto;white-space:nowrap;padding:3px 20px 12px;color:#52675e;font-size:.81rem;border-bottom:1px solid #e9efea;scrollbar-width:thin}
.tax-trail button{flex:none;border:0;border-radius:7px;padding:6px 8px;color:#2a6150;background:#eaf2ed;font-weight:600;min-height:35px;font-size:.78rem}
.tax-trail>span{flex:none}
.tax-results{overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:90px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.tax-item-row{display:flex;align-items:stretch;gap:0;border:1px solid #e0e8e2;border-radius:11px;overflow:hidden;background:#fff}
.tax-item-row.tax-level-1{background:#eaf3ee}
.tax-item-row.tax-level-2{background:#f3f7ec}
.tax-item-row.tax-level-3{background:#edf4f9}
.tax-item-row.tax-level-4{background:#fcf5e9}
.tax-item-row.tax-level-5{background:#f7f0f8}
.tax-item-row.tax-level-6{background:#eff5f2}
.tax-item{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:0;background:transparent;padding:13px 15px;min-height:60px;min-width:0;flex:1;color:#2f4a3f}
.tax-item-name{display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere;min-width:0}
.tax-item-name strong{font-size:.94rem;line-height:1.35}
.tax-item-name small{font-size:.76rem;color:#61746a}
.tax-item>span:last-child{color:#508c72;font-size:1.05rem}
.tax-item:hover,.tax-drill:hover,.tax-item:focus-visible,.tax-drill:focus-visible{background:#dcece2}
.tax-drill{flex:0 0 55px;width:55px;min-height:60px;border:0;border-left:1px solid #d8e3dc;background:#ffffff80;color:#215c47;font-size:2rem;line-height:1}
.tax-current{display:block;background:#e2f0e8;border:1px solid #91bc9f;color:#245943;border-radius:9px;min-height:50px;padding:12px;text-align:left;font-weight:750}
.tax-item-tag{border:1px solid #dee8e0;border-radius:10px;background:#f5f9f6;width:100%;min-height:54px}
.tax-empty{padding:23px;text-align:center;color:#6b7d74;margin:0}
.tax-footer{display:flex;gap:9px;justify-content:space-between;border-top:1px solid #e5ece7;background:#fafcfb;padding:13px 18px;flex:0 0 auto}
.tax-footer .button{min-height:46px;flex:1}
.taxonomy-control{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.taxonomy-trigger{display:flex;align-items:center;text-align:left;gap:12px;background:white;border:1px solid #cdded4;min-height:62px;padding:10px 12px;border-radius:10px;color:#27473b;flex:1;min-width:200px;max-width:100%;width:100%}
.taxonomy-trigger:hover,.taxonomy-filter-button:hover{background:#f0f7f3;border-color:#87b29f}
.taxonomy-trigger:focus-visible,.taxonomy-filter-button:focus-visible{outline:3px solid #80b19e;outline-offset:2px}
.taxonomy-icon{display:grid;place-items:center;background:#e8f3ec;border-radius:9px;width:39px;height:39px;flex:0 0 39px;font-size:1.22rem;color:#285a45}
.taxonomy-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.taxonomy-text small{font-size:.7rem;color:#71867b}
.taxonomy-text strong{font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.taxonomy-arrow{font-size:1.2rem;color:#587365}
.taxonomy-control>.button{white-space:nowrap}
.taxonomy-filter-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;max-width:250px;min-width:168px;text-align:left;background:#fff;border:1px solid #d5e2da;border-radius:9px;padding:9px 12px;color:#36594a;font-size:.87rem}
.taxonomy-filter-button>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-tree-table{border-collapse:separate;border-spacing:0;width:100%}
.category-tree-table tr[class*="category-tone-"] td{border-bottom:1px solid #fff;padding-top:14px;padding-bottom:14px}
.category-tone-1{background:#e8f2ec!important}
.category-tone-2{background:#f3f7eb!important}
.category-tone-3{background:#edf4f9!important}
.category-tone-4{background:#fcf5ea!important}
.category-tone-5{background:#f7eff9!important}
.category-tone-6{background:#eef5f2!important}
.category-tree-table tr.category-root td{border-top:2px solid #cadfd3;font-weight:650}
.category-tree-table tr[class*="category-tone-"]:hover td{box-shadow:inset 0 0 0 999px #ffffff27}
.category-hierarchy-name{display:flex;align-items:center;gap:8px;min-width:170px;margin-left:var(--category-indent,0px)}
.category-hierarchy-name>span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0}
.category-hierarchy-name strong{font-size:.91rem;line-height:1.3;color:#2a4639;overflow-wrap:anywhere}
.category-hierarchy-name small{font-size:.7rem;color:#65796f;font-weight:400;max-width:370px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.category-fold,.category-fold-spacer{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:34px;border:0;border-radius:7px;color:#436d5b}
.category-fold{background:#ffffffaa;font-size:1.05rem}
.category-fold:hover{background:#fff}
.category-fold-spacer{opacity:.55}
.category-level-chip{display:inline-flex;padding:5px 9px;border:1px solid #d6e3d9;background:#ffffffa6;border-radius:999px;font-size:.71rem;font-weight:700;color:#475d50;white-space:nowrap}
.category-tree-table td .inline{gap:6px}
.category-mobile-tree{display:none}

@media(max-width:760px){
 .tax-backdrop{padding:0;align-items:flex-end}
 .tax-sheet{width:100%;height:92dvh;max-height:92dvh;min-height:0;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 .tax-header{padding:18px 17px 12px}
 .tax-search{margin:0 16px 10px}
 .tax-trail{padding:3px 16px 11px}
 .tax-results{padding:10px 12px;gap:9px}
 .tax-item,.tax-drill{min-height:62px}
 .tax-drill{flex-basis:62px;width:62px}
 .tax-footer{padding:12px 13px}
 .taxonomy-control{flex-direction:column;align-items:stretch}
 .taxonomy-control .taxonomy-trigger{width:100%;flex:none}
 .taxonomy-control>.button{min-height:46px;align-self:flex-start}
 .products-panel .toolbar .taxonomy-filter-button{grid-column:auto;min-width:0;max-width:none;width:100%;height:48px}
 .products-panel .toolbar .taxonomy-filter-button>span:first-child{font-size:.83rem}
 .category-table-wrap{display:none}
 .category-mobile-tree{display:flex;flex-direction:column}
 .category-mobile-row{padding:14px 13px 16px;border-bottom:2px solid #fff}
 .category-mobile-row.category-root{border-top:3px solid #c9e0d2}
 .category-mobile-row .category-hierarchy-name{margin-left:min(var(--category-indent,0px),65px)}
 .category-mobile-row .category-hierarchy-name small{white-space:normal;max-width:none}
 .category-mobile-details{display:flex;align-items:center;gap:9px;margin:10px 0 10px 38px}
 .category-mobile-details small{color:#617267}
 .category-mobile-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:38px}
 .category-mobile-actions .button{min-height:43px}
}
@media(prefers-reduced-motion:reduce){
 .tax-sheet,.tax-backdrop{animation:none;transition:none}
}


/* Balanço rápido: cartões focados na contagem, sem campos apertados. */
.quick-balance-intro{background:#f4f8f5;border:1px solid #dce9df;padding:16px;border-radius:12px;margin-bottom:15px}
.quick-balance-search{display:flex;gap:10px;align-items:stretch}
.quick-balance-search .search{min-height:49px;flex:1;min-width:0;width:100%;font-size:16px}
.quick-balance-search .button{min-height:49px;white-space:nowrap}
.quick-balance-intro .help{margin:12px 0 0;color:#64756b}
.quick-count-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));align-items:stretch;gap:12px}
.quick-count-card{background:#fff;border:1px solid #dce6df;border-radius:13px;padding:15px;box-shadow:0 1px 3px #18382b08;display:flex;flex-direction:column;gap:15px}
.quick-count-main{display:flex;gap:13px;align-items:flex-start}
.quick-count-main .product-photo .thumb{width:84px;height:84px;border-radius:11px;object-fit:cover}
.quick-count-name{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}
.quick-count-name strong{font-size:.99rem;overflow-wrap:anywhere;line-height:1.3}
.quick-count-name small{color:#627268;overflow-wrap:anywhere}
.quick-count-balance{padding:7px 10px;background:#eaf3ee;color:#295844;border-radius:8px;align-self:flex-start;font-size:.89rem}
.quick-count-balance b{font-size:1.15rem}
.quick-count-fields{display:flex;align-items:end;gap:10px;margin-top:auto}
.quick-count-fields label{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;color:#53695d;font-size:.83rem;font-weight:650}
.quick-count-fields input{width:100%;min-width:0;min-height:53px;border-radius:9px;border:1px solid #cbdcd0;padding:10px;font-size:18px;color:#1b392b}
.quick-count-fields input:focus{outline:2px solid #75ab91;outline-offset:1px}
.quick-count-fields .button{min-height:53px;padding-inline:18px}
.bottom-nav:not(.bottom-nav-two){grid-template-columns:repeat(6,minmax(0,1fr))}
.bottom-nav-two{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){
 .quick-count-list{display:flex;flex-direction:column;gap:10px}
 .quick-balance-intro{padding:12px}
 .quick-balance-search{display:grid;grid-template-columns:1fr auto}
 .quick-balance-search .button{padding-inline:12px}
 .quick-count-card{padding:14px 13px}
 .quick-count-main .product-photo .thumb{width:92px;height:92px}
 .quick-count-fields .button{min-width:110px}
 .bottom-nav:not(.bottom-nav-two) button small{font-size:.61rem}
 .bottom-nav:not(.bottom-nav-two) button span{font-size:1.23rem}
}
@media(max-width:365px){.quick-balance-search{grid-template-columns:1fr}.quick-count-fields{flex-wrap:wrap}.quick-count-fields .button{min-width:100px}.bottom-nav:not(.bottom-nav-two) button small{font-size:.58rem}}


/* Roupas — modelo único, grade de variações e controles amplos no celular */
.apparel-help,.apparel-empty{
  padding:16px 18px;background:#eef6f0;border:1px solid #d9e8dd;border-radius:12px;
  color:#2b493b;margin-bottom:14px
}
.apparel-help>strong,.apparel-empty>strong{font-size:1rem}
.apparel-help p,.apparel-empty p{margin:8px 0 0;line-height:1.5;font-size:.89rem}
.apparel-help .help{color:#687e70;font-size:.78rem}
.apparel-model-list{display:flex;flex-direction:column;gap:12px}
.apparel-model-card{border:1px solid #dce8df;background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 1px 4px #263f330a}
.apparel-model-main{display:flex;align-items:center;gap:14px;padding:15px 17px}
.apparel-model-main .product-photo .thumb{width:83px;height:83px;object-fit:cover;border-radius:10px}
.apparel-no-photo{width:83px;height:83px;background:#edf3ee;border-radius:10px;display:grid;place-items:center;font-size:2rem;color:#789585;flex-shrink:0}
.apparel-model-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}
.apparel-model-info>strong{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.apparel-model-info>small{font-size:.84rem;color:#64786a}
.apparel-model-meta{display:flex;flex-wrap:wrap;gap:6px}
.apparel-model-meta span{font-size:.76rem;background:#eaf4ed;color:#3d6a50;border-radius:50px;padding:5px 9px}
.apparel-variants-list{border-top:1px solid #dce7df;background:#fafcfb}
.apparel-detail-variant{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e9eeea}
.apparel-detail-variant:last-child{border-bottom:none}
.apparel-detail-variant>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.apparel-detail-variant strong{font-size:.9rem}
.apparel-detail-variant small{font-size:.78rem;color:#6a7c71;overflow-wrap:anywhere}
.apparel-detail-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.apparel-detail-right>span{font-weight:700;font-size:.92rem;color:#2c5b42}
.apparel-form{display:flex;flex-direction:column;gap:14px}
.apparel-form .form-section{display:flex;flex-direction:column;gap:13px}
.apparel-form .formgrid{gap:14px}
.apparel-variant{padding:14px;border:1px solid #d6e3d9;border-radius:11px;background:#f7faf8;margin-bottom:11px}
.apparel-variant:nth-child(even){background:#f1f6fb;border-color:#d9e5ed}
.apparel-variant-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.apparel-variant-head strong{font-size:.92rem}
.apparel-variant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.apparel-variant-grid label{min-width:0}
.apparel-ean{display:flex;flex-wrap:nowrap;gap:7px}
.apparel-ean input{flex:1;min-width:0}
.apparel-ean button{flex:none;min-width:49px}
.apparel-add{width:100%;min-height:47px;border:1px dashed #87b19a;color:#246344;background:#e8f4eb;font-weight:650}
@media(max-width:760px){
 .apparel-help,.apparel-empty{padding:14px}
 .apparel-model-main{padding:13px;gap:10px;flex-wrap:wrap}
 .apparel-model-main .product-photo .thumb,.apparel-no-photo{width:77px;height:77px}
 .apparel-model-main>.button{width:100%;min-height:43px}
 .apparel-detail-variant{padding:13px;gap:8px}
 .apparel-detail-right{gap:7px}
 .apparel-detail-right>.button{min-height:42px}
 .apparel-variant-grid{grid-template-columns:1fr;gap:11px}
 .apparel-variant{padding:12px}
 .apparel-form .form-section{padding:12px}
}

/* Ações de modelo e tamanhos rápidos */
.apparel-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.apparel-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.apparel-add-actions .button{min-height:49px;padding:9px;font-size:.86rem}
.apparel-add-actions .apparel-add{min-width:0}
.apparel-detail-right .button{font-size:.78rem}
@media(max-width:760px){
 .apparel-model-main .apparel-card-actions{width:100%}
 .apparel-model-main .apparel-card-actions>.button{flex:1;min-height:45px}
 .apparel-add-actions{grid-template-columns:1fr}
 .apparel-detail-right{flex-wrap:wrap;justify-content:flex-end}
 .apparel-detail-right>span{width:100%;text-align:right}
}

/* Cadastro unificado de produtos: localização e grade de tamanhos legível */
.single-fields,.location-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.single-fields .field,.location-fields .field{min-width:0}
.variation-switch-section{background:#f2f7f3;border-color:#c7ddd0}
.variation-switch{display:flex;align-items:center;gap:13px;cursor:pointer;margin:0;min-height:58px}
.variation-switch input{width:23px;height:23px;flex:0 0 23px;accent-color:#1c5348}
.variation-switch>span:last-child{display:flex;flex:1;flex-direction:column;gap:5px}
.variation-switch strong{font-size:.96rem;color:#234834}
.variation-switch small{color:#657669;font-size:.82rem;line-height:1.45}
.variation-switch-indicator{display:none}
[data-variant-panel]{padding-top:13px;border-top:1px solid #dce8df;margin-top:3px}
[data-variant-panel][hidden],[data-size-variant][hidden],[data-single-fields][hidden],[data-single-stock][hidden]{display:none!important}
.size-common-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.size-common-fields .field{min-width:0}
.size-selector-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 10px}
.size-selector-title strong{font-size:.9rem}
.size-selector-title .button{min-height:44px}
.size-chip-group{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:12px}
.size-chip{border:1px solid #b9cbbf;background:#fff;color:#2f5b45;border-radius:9px;min-height:49px;padding:9px 4px;font-size:.8rem;font-weight:750;cursor:pointer}
.size-chip.selected{color:#fff;border-color:#1c5348;background:#1c5348}
.size-chip:focus-visible{outline:3px solid #81b39d;outline-offset:2px}
.size-variant-list{display:flex;flex-direction:column;gap:11px}
.size-variant-card{border:1px solid #d5e3d9;border-radius:11px;background:#fff;padding:13px}
.size-variant-card:nth-child(even){background:#f4f7fb;border-color:#d7e2e9}
.size-variant-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.size-variant-heading strong{font-size:.94rem}
.size-variant-heading .button{min-height:40px}
.size-fields{display:grid;grid-template-columns:1fr 1fr 120px;gap:10px}
.size-fields .field{min-width:0}
.size-fields .field input{width:100%;min-width:0;font-size:16px;min-height:48px}
.size-fields .inline{display:flex;flex-wrap:nowrap}
.size-fields .inline input{min-width:0;flex:1}
.size-fields .inline .button{flex:0 0 auto;min-height:48px}
.location-section{background:#f6f8fb;border-color:#dce5ed}
@media(max-width:900px){
 .size-chip-group{grid-template-columns:repeat(4,minmax(0,1fr))}
 .size-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .single-fields,.location-fields,.size-common-fields,.size-fields{grid-template-columns:1fr;gap:13px}
 .variation-switch{align-items:flex-start}
 .variation-switch input{margin-top:3px}
 .size-selector-title{align-items:stretch;flex-direction:column}
 .size-selector-title .button{width:100%}
 .size-chip-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
 .size-chip{min-height:54px}
 .size-variant-card{padding:12px}
}


/* Seletor hierárquico v2 — categorias antigas e novas, sem aparência nativa. */
.tax-helper{
  margin:0;padding:0 20px 10px;font-size:.82rem;line-height:1.45;
  color:#647a6e;flex:0 0 auto
}
.tax-trail{background:#f8fbf8;min-height:43px;gap:7px}
.tax-trail button{background:#e7f0e9;border:1px solid #d8e6da;border-radius:8px}
.tax-trail button:focus-visible{outline:2px solid #7ba68d;outline-offset:2px}
.tax-category-entry,.tax-tag-choice,.tax-current-choice{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;min-width:0;gap:12px;text-align:left;
  border:1px solid #d9e4dc;border-radius:12px;
  padding:14px 15px;min-height:72px;
  color:#27473a;background:#fff;cursor:pointer;
}
.tax-category-entry.tax-level-1{background:#eaf3ed}
.tax-category-entry.tax-level-2{background:#f4f7ec}
.tax-category-entry.tax-level-3{background:#edf4f9}
.tax-category-entry.tax-level-4{background:#fcf5e9}
.tax-category-entry.tax-level-5{background:#f7eff8}
.tax-category-entry.tax-level-6{background:#eef5f2}
.tax-category-entry.tax-selected{border:2px solid #6eab88}
.tax-category-entry:hover,.tax-category-entry:focus-visible,
.tax-current-choice:hover,.tax-current-choice:focus-visible,
.tax-tag-choice:hover,.tax-tag-choice:focus-visible{
  border-color:#93b9a1;background:#e5f2e8;outline:none;
}
.tax-category-entry-text,.tax-current-choice>span:first-child{
  display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;
}
.tax-category-entry-text strong,.tax-current-choice strong,.tax-tag-choice strong{
  font-size:.96rem;line-height:1.35;overflow-wrap:anywhere
}
.tax-category-entry-text small,.tax-current-choice small{
  font-size:.78rem;color:#60776b;line-height:1.35
}
.tax-category-entry-action,.tax-tag-choice>span:last-child,.tax-current-choice>span:last-child{
  display:inline-flex;align-items:center;flex:0 0 auto;gap:3px;
  font-size:.82rem;font-weight:700;color:#2a6448;
  padding:8px;border-radius:8px;background:#ffffffa6;
}
.tax-category-entry-action span{font-size:1.35rem;line-height:.8}
.tax-current-choice{
  border:1px solid #78ab8d;background:#dceee2;
  min-height:67px;
}
.tax-current-choice strong{font-size:1rem}
.tax-tag-choice{min-height:62px;background:#f6faf7}
.tax-sheet{max-height:calc(100dvh - 32px)}
@media(max-width:760px){
 .tax-sheet{
  height:87dvh;max-height:87dvh;min-height:0;
  border-radius:20px 20px 0 0
 }
 .tax-header{padding:15px 17px 9px}
 .tax-header h2{font-size:1.09rem}
 .tax-header .tax-close{height:43px;width:43px}
 .tax-search{margin:0 15px 8px;min-height:46px}
 .tax-helper{padding:0 16px 9px;font-size:.78rem}
 .tax-trail{padding:5px 14px 9px}
 .tax-results{gap:8px;padding:10px 12px}
 .tax-category-entry{min-height:69px;padding:13px 12px}
 .tax-category-entry-action{font-size:.77rem;padding:7px 6px}
 .tax-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
}
