/* Hamyara 0.15.31 — hierarchy optics, quantity geometry, dashboard density and micro-spacing */

/* Tree disclosure: draw the plus/minus from two centered bars instead of font glyphs.
   This removes optical off-centering and gives a smooth, deterministic animation. */
body :is(.tree-toggle-v159,.tree-toggle-v158){
  position:relative!important;display:grid!important;place-items:center!important;
  width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;
  padding:0!important;border-radius:50%!important;overflow:hidden!important;
  font-size:0!important;line-height:0!important;color:transparent!important;box-sizing:border-box!important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .14s ease!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158)>*{display:none!important}
body :is(.tree-toggle-v159,.tree-toggle-v158)::before,
body :is(.tree-toggle-v159,.tree-toggle-v158)::after{
  content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;
  margin:0!important;padding:0!important;background:#2f6986!important;border-radius:999px!important;
  transform-origin:center!important;pointer-events:none!important;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .16s ease,background-color .18s ease!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158)::before{
  width:12px!important;height:2.5px!important;transform:translate(-50%,-50%) rotate(0deg)!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158)::after{
  width:2.5px!important;height:12px!important;transform:translate(-50%,-50%) rotate(0deg) scaleY(1)!important;opacity:1!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158)[aria-expanded="true"]::before{
  transform:translate(-50%,-50%) rotate(180deg)!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158)[aria-expanded="true"]::after{
  transform:translate(-50%,-50%) rotate(90deg) scaleY(0)!important;opacity:0!important;
}
body :is(.tree-toggle-v159,.tree-toggle-v158):hover{transform:scale(1.05)!important}
body :is(.tree-toggle-v159,.tree-toggle-v158):active{transform:scale(.96)!important}
body :is(.tree-toggle-v159,.tree-toggle-v158):focus-visible{outline:2px solid #65a9cf!important;outline-offset:2px!important}

/* Quantity: exact equal side buttons, centered signs, and a 20% wider desktop control. */
body.transaction-page .number-field{
  grid-template-columns:46px minmax(66px,1fr) 46px!important;
  width:158.4px!important;min-width:158.4px!important;max-width:158.4px!important;
  height:50px!important;min-height:50px!important;max-height:50px!important;
  direction:ltr!important;box-sizing:border-box!important;
}
body.transaction-page .number-field>button{
  position:relative!important;inset:auto!important;box-sizing:border-box!important;
  width:46px!important;min-width:46px!important;max-width:46px!important;
  height:50px!important;min-height:50px!important;max-height:50px!important;flex:0 0 46px!important;
  margin:0!important;padding:0!important;display:grid!important;place-items:center!important;
  text-align:center!important;text-indent:0!important;transform:none!important;
  font-family:Arial,"Segoe UI",sans-serif!important;font-size:22px!important;font-weight:800!important;line-height:50px!important;
}
body.transaction-page .number-field>button[data-qty-plus],
body.transaction-page .number-field>button[data-qty-minus]{padding:0!important;justify-content:center!important;align-items:center!important}
body.transaction-page .number-field>input{height:50px!important;min-height:50px!important;max-height:50px!important;line-height:50px!important}
body.transaction-page .transaction-workbench .quantity-field{min-width:158.4px!important}
@media(max-width:900px){
  body.transaction-page .number-field{width:100%!important;min-width:0!important;max-width:none!important;grid-template-columns:46px minmax(66px,1fr) 46px!important}
  body.transaction-page .transaction-workbench .quantity-field{min-width:0!important}
}

/* Invoice discount caption: only a slight extra breathing room above the box. */
body.transaction-page .invoice-discount-field-v183>span{margin-bottom:5px!important}

/* Six AI/BI cards should fill the adviser panel without a visually empty tail. */
body .ai-suggestion-grid-v17{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
body .ai-suggestion-grid-v17>.ai-suggestion-v17{height:100%!important;min-height:154px!important}
@media(max-width:1180px){body .ai-suggestion-grid-v17{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){body .ai-suggestion-grid-v17{grid-template-columns:1fr!important}}
