/* Hamyara 0.15.6 — pre-v1 hardening and layout polish */
:root{--v156-control:52px}

/* Sidebar: hamburger, HamYara mark and store avatar share one 54px square. */
@media(min-width:901px){
  .brand-v154{min-height:116px!important;padding-top:2px!important}
  .sidebar-control-row-v154{height:54px!important;min-height:54px!important}
  .brand-v154 .sidebar-collapse,.brand-v154 .brand-mark,.business-switcher-v151 .business-avatar{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
  .brand-v154 .sidebar-collapse{font-size:0!important;line-height:1!important}
  .brand-v154 .sidebar-collapse>span{font-size:31px!important;line-height:1!important;display:grid!important;place-items:center!important;transform:translateY(-1px)!important}
  .business-switcher-v151{min-height:60px!important;height:60px!important;padding-block:3px!important}
  .business-card-link-v150,.business-switcher-v151 .store-cycle-arrow{height:54px!important;min-height:54px!important}
  .nav-list-v17{margin-top:0!important}
  .nav-list .nav-caption{margin-top:8px!important}
  .app-shell.sidebar-collapsed-v17:not(.sidebar-hover-expanded-v153) .brand-v154{min-height:116px!important;grid-template-rows:54px 54px!important}
  .app-shell.sidebar-collapsed-v17:not(.sidebar-hover-expanded-v153) .business-switcher-v151{height:60px!important;min-height:60px!important}
}

/* Transaction pages: deterministic spacing and baseline alignment. */
body.transaction-page .retail-item-main{gap:14px!important;align-items:start!important}
body.transaction-page .retail-item-main>.mini-field,
body.transaction-page .retail-payment>.mini-field{display:grid!important;grid-template-rows:24px var(--v156-control) 28px!important;align-content:start!important;min-height:104px!important}
body.transaction-page .retail-item-main .step-picker-host-v153,
body.transaction-page .retail-item-main .variant-picker-v154,
body.transaction-page .retail-item-main .money-input-wrap,
body.transaction-page .retail-item-main .number-field,
body.transaction-page .retail-payment .step-picker-host-v153,
body.transaction-page .retail-payment .money-input-wrap,
body.transaction-page .retail-payment .select{height:var(--v156-control)!important;min-height:var(--v156-control)!important;width:100%!important}
body.transaction-page .retail-payment{gap:14px!important;align-items:start!important}
body.transaction-page .fill-remaining{height:28px!important;min-height:28px!important;display:flex!important;align-items:center!important;padding:0!important;margin:0!important}
body.transaction-page .field-spacer{height:28px!important;min-height:28px!important;display:block!important}
body.transaction-page .retail-item-main>.row-action,
body.transaction-page .retail-payment>.row-action{margin-top:32px!important;position:static!important;transform:none!important}

@media(min-width:1401px){
  body.transaction-page .transaction-workbench .retail-item-main{grid-template-columns:70px minmax(250px,1fr) 126px 138px 128px 126px 38px!important;gap:14px!important}
  body.transaction-page .retail-payment{grid-template-columns:minmax(300px,1.55fr) minmax(160px,.78fr) minmax(170px,.78fr) 38px!important;gap:14px!important}
}
@media(max-width:1180px) and (min-width:901px){
  body.transaction-page .transaction-workbench .retail-item-main{gap:12px!important}
  body.transaction-page .retail-payment{gap:12px!important}
}

/* Expense document controls: category/date/time share the same top baseline. */
body.transaction-page[data-tx-type="expense"] .document-fields{align-items:start!important}
body.transaction-page .document-fields>.field{align-self:start!important}
body.transaction-page .document-fields>.field>.field-label{min-height:24px!important;display:flex!important;align-items:center!important}
body.transaction-page .document-fields .step-control-v153,
body.transaction-page .document-fields .input,
body.transaction-page .document-fields .field-composite{min-height:52px!important;height:52px!important}

/* Settings: buttons stay in normal flow, never overlap cards. */
.settings-save-v17{position:static!important;inset:auto!important;margin-top:16px!important;display:flex!important;justify-content:flex-start!important;clear:both!important}
.settings-section-v17{overflow:visible!important}
.disabled-currency-v156{opacity:.48!important;cursor:not-allowed!important;filter:grayscale(.35)}
.settings-links-note-v156{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 4px}
.ai-onboarding-v156{margin:14px 0;border:1px solid #d9e6ef;background:#f8fbfd;border-radius:14px;padding:14px 16px}
.ai-onboarding-v156 h3{margin:0 0 8px;font-size:15px}.ai-onboarding-v156 ol{margin:0;padding-inline-start:22px;display:grid;gap:7px}.ai-onboarding-v156 li,.ai-onboarding-v156 p{font-size:11.5px;line-height:1.9;color:#526d84}.ai-onboarding-v156 p{margin:8px 0 0}
.unit-create-v156{display:grid;grid-template-columns:minmax(220px,1fr) 120px minmax(170px,.65fr) auto;gap:12px;align-items:end;padding:16px}
.unit-list-v156{padding:0 16px 16px;display:grid;gap:8px}.unit-row-v156{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #e0e8ef;border-radius:12px}.unit-row-v156>div{display:grid;gap:2px}.unit-row-v156>div small{font-size:10px;color:#71859a}.unit-row-v156>form{display:flex;gap:8px;align-items:center}.unit-row-v156 .input{min-width:0}
@media(max-width:900px){.unit-create-v156,.unit-row-v156{grid-template-columns:1fr}.unit-row-v156>form{flex-wrap:wrap}}

/* Separate hierarchy/behavior administration pages. */
.hierarchy-admin-v156,.behavior-page-v156{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.35fr);gap:16px;align-items:start}.hierarchy-form-v156,.behavior-form-page-v156{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.hierarchy-form-v156 .full,.behavior-form-page-v156 .full{grid-column:1/-1}.visual-tree-v156{padding:8px 14px 16px;display:grid;gap:7px}.visual-tree-node-v156{margin-inline-start:calc((var(--level) - 1) * 20px);display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px solid #dfe8ef;border-radius:12px;padding:9px 11px;background:#fff}.visual-tree-node-v156>i{width:8px;height:8px;border-radius:50%;background:#2f92ad}.visual-tree-node-v156>div{display:grid;gap:2px}.visual-tree-node-v156>div small{font-size:10px;color:#788ca0}.tree-edit-v156{position:absolute;z-index:13000;inset-inline-end:0;margin-top:8px;width:min(520px,calc(100vw - 28px));background:#fff;border:1px solid #d7e3ec;border-radius:14px;padding:12px;box-shadow:0 18px 40px rgba(17,45,69,.2);display:grid;gap:9px}.visual-tree-node-v156 details{position:relative}.behavior-list-v156{padding:10px 14px 16px;display:grid;gap:8px}.behavior-list-v156 article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid #dfe8ef;border-radius:12px}.behavior-list-v156 article>div{display:grid;gap:2px}.behavior-list-v156 article small{font-size:10px;color:#71859a}.behavior-edit-v156{position:absolute;z-index:12000;inset-inline-end:0;margin-top:8px;width:min(500px,calc(100vw - 28px));background:#fff;border:1px solid #d8e4ec;border-radius:14px;padding:12px;display:grid;gap:9px;box-shadow:0 18px 40px rgba(17,45,69,.2)}.behavior-list-v156 details{position:relative}
@media(max-width:1000px){.hierarchy-admin-v156,.behavior-page-v156{grid-template-columns:1fr}}@media(max-width:680px){.hierarchy-form-v156,.behavior-form-page-v156{grid-template-columns:1fr}.hierarchy-form-v156 .full,.behavior-form-page-v156 .full{grid-column:auto}.tree-edit-v156,.behavior-edit-v156{position:fixed;inset:12px;width:auto;max-height:calc(100dvh - 24px);overflow:auto}}

/* Party list: explicit tree/path structure. */
.party-tree-v156{padding:8px 14px 16px;display:grid;gap:7px}.party-tree-row-v156{margin-inline-start:calc((var(--level) - 1) * 18px);display:grid;grid-template-columns:8px 44px minmax(0,1fr) minmax(120px,.45fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #dfe8ef;border-radius:12px;background:#fff}.party-tree-line-v156{width:8px;height:8px;border-radius:50%;background:#2e91ad}.party-tree-copy-v156{display:grid;gap:3px;min-width:0}.party-tree-copy-v156>small{font-size:10px;color:#75899d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-tree-copy-v156>strong{font-size:13px}.party-tree-meta-v156{display:grid;gap:3px;text-align:start}.party-tree-meta-v156 span,.party-tree-meta-v156 small{font-size:10px;color:#72869a}.role-code-v156{display:block;margin-top:3px;font:600 10px/1.2 ui-sans-serif,system-ui;color:#7d8da0;direction:ltr}.locked-action-v156{font-size:10px;color:#8a99a8}
@media(max-width:760px){.party-tree-row-v156{margin-inline-start:0;grid-template-columns:8px 40px minmax(0,1fr) auto}.party-tree-meta-v156{grid-column:3/-1}}

/* Better staged picker labels for parties as well as categories. */
.step-panel-v153{box-shadow:0 22px 56px rgba(13,42,65,.22)!important}.step-option-v153.navigation-only .step-option-main-v153{background:#f8fbfd!important}.step-option-v153.navigation-only .step-option-cue-v153{color:#2e7899!important}.step-chosen-path-v153{line-height:1.8!important}

/* 0.15.6 QA corrections discovered by the 1280px interaction audit. */
@media(min-width:901px) and (max-width:1400px){
  body.transaction-page .focus-layout{grid-template-columns:1fr!important}
  body.transaction-page .focus-summary{position:static!important}
  body.transaction-page .summary-panel-v5{position:static!important}
}
@media(min-width:1401px){
  body.transaction-page .transaction-workbench .retail-item-main{
    grid-template-columns:70px minmax(230px,1fr) 120px 130px 120px 120px 36px!important;
    grid-template-areas:'image product qty price discount total remove'!important;
    gap:12px!important
  }
  body.transaction-page .retail-payment{
    grid-template-columns:minmax(280px,1.55fr) minmax(150px,.75fr) minmax(160px,.75fr) 36px!important;
    grid-template-areas:'account amount method remove'!important;
    gap:12px!important
  }
}
.transaction-workbench[data-tx-type="expense"] .document-fields{align-items:start!important}
.transaction-workbench[data-tx-type="expense"] .document-fields>.field{align-self:start!important}

/* The operations/status edge must stay visible while the wide transaction table scrolls. */
.transaction-table-v14{min-width:1120px!important}
.transaction-table-v14 th:last-child,.transaction-table-v14 td:last-child{
  position:sticky!important;left:0!important;z-index:4!important;background:#fff!important;
  box-shadow:8px 0 15px -14px rgba(15,35,55,.55)!important
}
.transaction-table-v14 th:last-child{z-index:5!important;background:#f7fafc!important}
.table-wrap{max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain}

/* Item row: explicit column gaps and a line-total control aligned with every other input. */
@media(min-width:901px){
  body.transaction-page .retail-line-total{
    grid-template-columns:1fr!important;
    grid-template-rows:24px var(--v156-control) 28px!important;
    gap:6px!important;
    min-height:104px!important
  }
  body.transaction-page .retail-line-total>span{grid-row:1!important;height:24px!important;align-items:center!important}
  body.transaction-page .retail-line-total>strong{grid-row:2!important;height:var(--v156-control)!important;min-height:var(--v156-control)!important}
  body.transaction-page .retail-line-total>small{grid-row:3!important;height:28px!important;align-items:flex-start!important}
  body.transaction-page .number-field{grid-template-columns:42px minmax(48px,1fr) 42px!important;min-width:0!important}
  body.transaction-page .number-field>button{width:42px!important;min-width:42px!important;display:grid!important;place-items:center!important}
}
@media(min-width:1181px) and (max-width:1400px){
  body.transaction-page .transaction-workbench .retail-item-main{
    grid-template-columns:70px minmax(205px,1fr) 140px 128px 116px 108px 36px!important;
    grid-template-areas:'image product qty price discount total remove'!important;
    gap:12px!important
  }
}
@media(min-width:1401px){
  body.transaction-page .transaction-workbench .retail-item-main{
    grid-template-columns:70px minmax(230px,1fr) 140px 135px 125px 120px 36px!important;
    gap:14px!important
  }
}
