/* Shared text inputs; date and select internals retain their own themes. */
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])) {
  --reimbursement-input-border: #DDE3EC;
  --reimbursement-input-focus: #264AFF;
  --reimbursement-input-ring: rgba(38, 74, 255, .2);
  box-sizing: border-box;
  min-width: 0;
  padding: 6px 16px !important;
  border: 1px solid var(--reimbursement-input-border) !important;
  border-radius: 2px !important;
  background: #FFFFFF !important;
  color: #172033 !important;
  font: 400 14px/22px "D-DIN", "Noto Sans", "Noto Sans SC", sans-serif !important;
  caret-color: var(--reimbursement-input-focus);
  outline: none;
  box-shadow: none !important;
}
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])):not(textarea) { height: 36px !important; min-height: 36px !important; }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"]))::placeholder { color: #A8B1C1 !important; opacity: 1; }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])):hover { border-color: var(--reimbursement-input-focus) !important; }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])):focus { border-color: var(--reimbursement-input-focus) !important; box-shadow: 0 0 0 2px var(--reimbursement-input-ring) !important; }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"]))[data-status="warning"] { --reimbursement-input-border: #D97706; --reimbursement-input-focus: #D97706; --reimbursement-input-ring: rgba(217, 119, 6, .2); }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])):is(.is-invalid, [aria-invalid="true"], [data-status="error"]) { --reimbursement-input-border: #D92D3F; --reimbursement-input-focus: #D92D3F; --reimbursement-input-ring: rgba(217, 45, 63, .2); }
#content-area .is-personal-reimbursement-layout :is(textarea.form-control, input.form-control:not(.date-input, .date-hour-picker, [data-native-english-source], [data-english-date], [data-english-datetime], [type="date"], [type="datetime-local"], [type="file"], [type="hidden"])):disabled { border-color: #C2CAD7 !important; background: #F3F5F8 !important; color: #A8B1C1 !important; opacity: 1; box-shadow: none !important; }

/* Personal reimbursement: medium amount inputs and inline currency suffix. */
#content-area .is-personal-reimbursement-layout .expense-field-amount {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 36px auto;
}
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control {
  --expense-amount-border: #DDE3EC;
  --expense-amount-focus: #264AFF;
  --expense-amount-ring: rgba(38, 74, 255, .2);
  grid-column: 1 / -1;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 36px !important;
  min-height: 36px !important;
  padding: 6px 72px 6px 16px !important;
  border: 1px solid var(--expense-amount-border) !important;
  border-radius: 2px !important;
  background: #FFFFFF !important;
  color: #172033 !important;
  font: 400 14px/22px "D-DIN", "Noto Sans", "Noto Sans SC", sans-serif !important;
  caret-color: var(--expense-amount-focus);
  outline: none;
  box-shadow: none !important;
}
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control::placeholder { color: #A8B1C1; opacity: 1; }
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control:hover { border-color: var(--expense-amount-focus) !important; }
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control:focus { border-color: var(--expense-amount-focus) !important; box-shadow: 0 0 0 2px var(--expense-amount-ring) !important; }
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control[data-status="warning"] { --expense-amount-border: #D97706; --expense-amount-focus: #D97706; --expense-amount-ring: rgba(217, 119, 6, .2); }
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control:is(.is-invalid, [aria-invalid="true"], [data-status="error"]) { --expense-amount-border: #D92D3F; --expense-amount-focus: #D92D3F; --expense-amount-ring: rgba(217, 45, 63, .2); }
#content-area .is-personal-reimbursement-layout .expense-field-amount .expense-currency-suffix {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: end;
  align-self: center;
  z-index: 1;
  height: 22px !important;
  margin-right: 16px;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  color: #536079;
  font: 400 14px/22px "D-DIN", "Noto Sans", "Noto Sans SC", sans-serif;
  pointer-events: none;
}
#content-area .is-personal-reimbursement-layout :is(.expense-field-amount, .expense-original-payment-controls) input.field-control:disabled { background: #F3F5F8 !important; border-color: #C2CAD7 !important; color: #A8B1C1 !important; opacity: 1; box-shadow: none !important; }
#content-area .is-personal-reimbursement-layout .expense-field-amount:has(input:disabled) .expense-currency-suffix { color: #A8B1C1; }

/* Original payment has a separate currency selector, so no suffix space is needed. */
#content-area .is-personal-reimbursement-layout .expense-original-payment-controls input.field-control {
  padding: 6px 16px !important;
}

/* Auto-grow reimbursement textareas: two to six lines, then scroll inside. */
#content-area .is-personal-reimbursement-layout textarea.form-control {
  field-sizing: content;
  box-sizing: border-box;
  width: 100%;
  height: auto !important;
  min-height: 58px !important;
  max-height: 146px !important;
  overflow-y: auto;
  resize: none;
}
