/* Shared entry layout for invoices, vouchers, journal and opening balances.
   Change shared geometry here; per-kind rules only define column structure.
   Financial calculations, permissions and persistence stay in their existing handlers. */
/* Visible base-currency counterpart for the deployed voucher server. */
body #voucherForm.studio170 .voucher-line>.voucher-counterpart274{display:flex!important;flex-direction:column;grid-column:1/-1!important;align-items:flex-start;margin:0;padding:2px 8px}
body #voucherForm.studio170 .voucher-counterpart274 input{width:155px!important;min-height:28px!important;background:#eef3ff;border:1px solid #a9b8d3;color:#132647}

/* Voucher totals: independent currencies followed by converted total. */
body #voucherTotal{display:flex!important;flex-wrap:wrap;gap:6px;align-items:center}
body #voucherTotal .voucher-total274-currency{display:block;background:#fff;border:1px solid #a8badb;border-radius:6px;padding:6px 10px;white-space:nowrap}
body #voucherTotal .voucher-total274-base{display:block;flex-basis:100%;padding:5px 2px;font-weight:700}

/* Voucher 274 repair: explicit cells prevent an added counterpart from creating implicit columns. */
body #voucherForm.studio170 .voucher-line,body #voucherForm.studio170 .studio170-columns{grid-template-columns:24px minmax(160px,2fr) minmax(85px,1fr) 66px minmax(164px,1.4fr) minmax(90px,1fr) 28px!important;min-width:0!important;width:100%;box-sizing:border-box}
body #voucherForm.studio170 .voucher-line>label.studio170-account{grid-column:2!important}
body #voucherForm.studio170 .voucher-line>label.studio170-amount{grid-column:3!important}
body #voucherForm.studio170 .voucher-line>label.studio170-currency{grid-column:4!important}
body #voucherForm.studio170 .voucher-line>label.studio170-rate{grid-column:5!important}
body #voucherForm.studio170 .voucher-line>label.studio170-description{grid-column:6!important}
body #voucherForm.studio170 .voucher-line>.studio170-delete{grid-column:7!important;grid-row:1!important}
body #voucherForm.studio170 .voucher-line>.voucher-counterpart274{grid-row:2!important;grid-column:2/7!important;font-size:12px!important;display:flex!important;flex-direction:row;align-items:center;gap:8px!important}
body #voucherForm.studio170 #voucherLines{min-width:0!important;width:100%;overflow:visible}
body #voucherForm.studio170 .voucher-line>label{max-width:100%;min-width:0!important}

/* Counterpart beside reciprocal, within the same rate cell. */
body #voucherForm.studio170 .voucher-line,body #voucherForm.studio170 .studio170-columns{grid-template-columns:24px minmax(150px,2fr) minmax(80px,1fr) 62px minmax(260px,2fr) minmax(80px,1fr) 28px!important}
body #voucherForm.studio170 .voucher-line>label.studio170-rate{display:grid!important;grid-template-columns:minmax(65px,1fr) minmax(65px,1fr) minmax(110px,1.4fr)!important}
body #voucherForm.studio170 .studio170-rate>.voucher-counterpart274{grid-column:3!important;grid-row:1/3!important;display:grid!important;gap:2px!important;font-size:11px!important;line-height:1.4;min-width:0}
body #voucherForm.studio170 .studio170-rate>.voucher-counterpart274 input{width:100%!important;min-width:0!important;box-sizing:border-box}
body #voucherForm.studio170 .studio170-rate>.voucher-counterpart274,body #voucherForm.studio170 .studio170-rate>.equivalent83{align-self:stretch!important;align-content:end}

/* Voucher header labels above one aligned input row. */
body #voucherForm.studio170 .voucher-rate-head274{display:grid;grid-template-columns:minmax(65px,1fr) minmax(65px,1fr) minmax(110px,1.4fr);gap:0;text-align:start}
body #voucherForm.studio170 .voucher-line>label.studio170-rate{grid-template-rows:30px!important;align-items:center!important;column-gap:0!important}
body #voucherForm.studio170 .studio170-rate>.rate-caption196,body #voucherForm.studio170 .voucher-counterpart274>span{display:none!important}
body #voucherForm.studio170 .studio170-rate>.line-rate{grid-row:1!important;grid-column:1!important}
body #voucherForm.studio170 .studio170-rate>.equivalent83{grid-row:1!important;grid-column:2!important;font-size:0!important;line-height:0!important;display:block!important;align-self:center!important}
body #voucherForm.studio170 .studio170-rate>.voucher-counterpart274{grid-row:1!important;grid-column:3!important;display:block!important;align-self:center!important;line-height:0!important}
body #voucherForm.studio170 .studio170-rate input{height:30px!important;min-height:30px!important;margin:0!important}

body #voucherForm.studio170 .document126-head{grid-template-columns:65px 145px 115px 175px minmax(180px,1.4fr) minmax(125px,1fr)!important;align-items:end!important;padding:8px!important;gap:6px 8px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274 .duplicate-account274{display:none!important}
body #voucherForm.studio170 .voucher-line>.studio170-account{padding-inline-end:0!important}
@media(max-width:900px){body #voucherForm.studio170 .document126-head{grid-template-columns:repeat(3,minmax(0,1fr))!important}}

/* Shared compact headers 274: preserve controls and handlers across document types. */
body form :is(.document126-head,.invoice-head274).compact-head274{align-items:end!important;padding:8px!important;gap:6px 8px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>.document126-title{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274 .document126-title>.voucher-tools274{display:inline-flex!important;width:auto!important;flex:0 0 auto!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;min-height:0!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274 .voucher-tools274 button{padding:4px 8px!important;min-height:30px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label{align-self:end!important;min-width:0!important;gap:3px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:17px 30px!important;min-width:0!important;align-items:end!important;gap:3px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196>.rate-caption196{white-space:nowrap;font-size:12px!important;line-height:17px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196>.equivalent83{grid-template-rows:17px 30px!important;gap:3px!important;font-size:12px!important;line-height:17px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196 input{height:30px!important;min-height:30px!important;box-sizing:border-box}

body #journalForm.studio170 :is(#journalLines>.line,.studio170-columns){grid-template-columns:24px minmax(150px,2fr) minmax(65px,1fr) minmax(65px,1fr) 62px 164px minmax(80px,1fr) 28px!important;min-width:0!important;box-sizing:border-box}
body #journalForm.studio170 .journal-rate-head274{display:grid;grid-template-columns:1fr 1fr;text-align:start}
body #journalForm.studio170 .studio170-rate.rate-pair196{grid-template-columns:1fr 1fr!important;grid-template-rows:30px!important;gap:0!important;align-items:center!important}
body #journalForm.studio170 .studio170-rate>.rate-caption196{display:none!important}
body #journalForm.studio170 .studio170-rate>.line-rate{grid-row:1!important;grid-column:1!important}
body #journalForm.studio170 .studio170-rate>.equivalent83{grid-row:1!important;grid-column:2!important;display:block!important;font-size:0!important;line-height:0!important}
body #journalForm.studio170 .studio170-rate input{height:30px!important;min-height:30px!important;margin:0!important}
body #journalForm.studio170 .studio170-account{padding-inline-end:0!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196>.rate-caption196{grid-column:1!important;grid-row:1!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196>input{grid-column:1!important;grid-row:2!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196>.equivalent83{display:grid!important;grid-column:2!important;grid-row:1/3!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196 :is(input,.equivalent83){align-self:end!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.rate-pair196 input{height:30px!important;min-height:30px!important;margin:0!important}

/* Journal counterpart shares the aligned rate group, including the legacy runtime. */
body #journalForm.studio170 :is(#journalLines>.line,.studio170-columns){grid-template-columns:24px minmax(140px,2fr) minmax(65px,1fr) minmax(65px,1fr) 62px 264px minmax(75px,1fr) 28px!important}
body #journalForm.studio170 :is(.journal-rate-head274,.studio170-rate.rate-pair196){grid-template-columns:1fr 1fr 1.4fr!important;min-width:0}
body #journalForm.studio170 .studio170-rate>.voucher-counterpart274{grid-row:1!important;grid-column:3!important;display:block!important;min-width:0;margin:0;padding:0;line-height:0!important}
body #journalForm.studio170 .voucher-counterpart274>span{display:none!important}
body #journalForm.studio170 .voucher-counterpart274 input{width:100%!important;min-width:0!important;box-sizing:border-box}
/* 276: shared colored document header, with clear editable controls. */
body form .document126-head{
 background:#dce9f8!important;
 border-color:#9bb8d9!important;
 box-shadow:inset 0 3px 0 #477bb5!important;
 color:#183652!important;
}
body form .document126-head .document126-title{background:transparent!important;border-bottom-color:#aec6e2!important;color:#183652!important}
body form .document126-head label{color:#294968!important}
body form .document126-head :is(input,select,textarea){background:#fff!important;color:#183652!important;border-color:#7e9dbe!important}
body form .document126-head :is(input,select,textarea):disabled{background:#e9eff6!important;color:#52657b!important}
@media print{body form .document126-head{background:#fff!important;box-shadow:none!important}}
/* 276: invoice counterpart aligns with the other compact header inputs. */
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.counterpart272{display:grid!important;grid-template-rows:17px 30px!important;gap:2px!important;align-self:end!important;align-content:end!important;min-width:0;margin:0!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.counterpart272>span{grid-row:1;line-height:17px!important;white-space:nowrap;font-size:12px!important}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.counterpart272>input{grid-row:2;height:30px!important;min-height:30px!important;margin:0!important;width:100%!important;box-sizing:border-box}
body :is(#stock41Editor,#documentForm,#voucherForm,#journalForm,#openingForm).studio170 .compact-head274>label.counterpart272>small{display:none!important}

/* 276: opening balances use explicit columns, including the counterpart. */
body #openingForm.studio170 :is(.opening-line,.studio170-columns){grid-template-columns:24px minmax(170px,2.5fr) minmax(70px,1fr) minmax(70px,1fr) 68px minmax(76px,1fr) minmax(76px,1fr) minmax(100px,1.3fr) 28px!important;min-width:0!important;box-sizing:border-box}
body #openingForm.studio170 .opening-line>label{grid-row:1!important;min-width:0!important;padding:0!important;margin:0!important;align-self:center!important;font-size:0!important;line-height:0!important}
body #openingForm.studio170 .opening-line>.counterpart272{grid-column:8!important;display:block!important}
body #openingForm.studio170 .opening-line>.studio170-delete{grid-column:9!important;grid-row:1!important}
body #openingForm.studio170 .opening-line :is(.rate-caption196,.counterpart272>span,.counterpart272>small,.opening-rate-fetch,.opening-rate-info,.studio170-more){display:none!important}
body #openingForm.studio170 .opening-line .studio170-rate{display:block!important}
body #openingForm.studio170 .opening-line :is(input,select){height:30px!important;min-height:30px!important;margin:0!important;width:100%!important;min-width:0!important;box-sizing:border-box;font-size:13px!important;line-height:normal!important}
body #openingForm.studio170 .opening-line .equivalent83{display:block!important;margin:0!important;padding:0!important;font-size:0!important;line-height:0!important}
