.repayment-panel { color: var(--color-base-content, #111827); }
.repayment-header h2 { font-size: 1.9rem; font-weight: 900; }
.repayment-header p { color: color-mix(in srgb, currentColor 58%, transparent); }
.repayment-create,.repayment-card {
  margin-top: 1.2rem; padding: 1.3rem; border: 1px solid color-mix(in srgb,currentColor 11%,transparent);
  border-radius: 1.5rem; background: var(--color-base-100,#fff); box-shadow: 0 10px 25px #0000000f;
}
.repayment-main-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:.8rem; }
.repayment-panel label>span:first-child { display:block; margin:0 0 .35rem .15rem; font-size:.76rem; font-weight:800; }
.repayment-panel input:not([type=radio]),.repayment-panel select {
  width:100%; min-height:3rem; padding:.65rem .85rem; border:1px solid color-mix(in srgb,currentColor 22%,transparent);
  border-radius:1rem; outline:0; background:var(--color-base-200,#f4f4f5);
}
.repayment-panel input:focus,.repayment-panel select:focus { border-color:var(--color-primary,#4f46e5); box-shadow:0 0 0 3px #4f46e51f; }
.repayment-mode { display:flex; gap:1rem; margin:1rem 0; }
.repayment-mode label { display:flex; align-items:center; gap:.45rem; font-weight:750; }
.repayment-expense-fields { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.7rem; padding:1rem; border-radius:1rem; background:var(--color-base-200,#f4f4f5); }
.repayment-expense-fields[hidden] { display:none; }
.repayment-shares-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:1.2rem 0 .7rem; }
.repayment-shares-heading h3 { font-weight:900; }
.repayment-shares-heading p { font-size:.8rem; opacity:.6; }
.repayment-shares-heading>strong { color:var(--color-primary,#4f46e5); }
.repayment-shares-heading>strong.is-invalid { color:var(--color-error,#dc2626); }
.repayment-share-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.repayment-share-card { padding:.8rem; border-radius:1rem; background:var(--color-base-200,#f4f4f5); }
.repayment-share-card>span { display:flex!important; align-items:center; gap:.4rem; margin-top:.5rem; }
.repayment-share-card small { display:block; margin-top:.4rem; font-size:.72rem; opacity:.65; }
.repayment-share-card input { background:var(--color-base-100,#fff)!important; box-shadow:0 1px 3px #00000010; }
.repayment-monthly-total { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; padding:1rem; border-radius:1rem; background:color-mix(in srgb,var(--color-primary,#4f46e5) 7%,transparent); font-weight:800; }
.repayment-submit { display:flex; justify-content:flex-end; margin-top:1rem; padding-top:1rem; border-top:1px solid #7772; }
.repayment-panel button { min-height:2.8rem; padding:.6rem 1.1rem; border:0; border-radius:1rem; background:var(--color-primary,#4f46e5); color:#fff; font-weight:850; cursor:pointer; }
.repayment-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.repayment-card-top,.repayment-totals { display:flex; justify-content:space-between; gap:1rem; }
.repayment-card-top h3 { font-size:1.2rem; font-weight:900; }
.repayment-card-top p { font-size:.8rem; opacity:.6; }
.repayment-card-top>strong { color:var(--color-primary,#4f46e5); }
.repayment-card progress { width:100%; height:.45rem; margin:.9rem 0; accent-color:var(--color-primary,#4f46e5); }
.repayment-totals { font-size:.85rem; }
.repayment-installment { display:grid; grid-template-columns:1fr 1.2fr auto; gap:.6rem; align-items:center; margin-top:.7rem; padding:.7rem; border-radius:1rem; background:var(--color-base-200,#f4f4f5); }
.repayment-installment div { display:grid; }.repayment-installment small { opacity:.6; }
.repayment-funded { margin-top:1rem; padding:1rem; border-radius:1rem; background:#16a34a16; }
.repayment-funded h4 { font-weight:900; color:var(--color-success,#16a34a); }
.repayment-funded form { display:grid; grid-template-columns:1fr auto; gap:.6rem; margin-top:.7rem; }
.repayment-completed { margin-top:1rem; color:var(--color-success,#16a34a); font-weight:900; }
.repayment-edit { margin-top:1rem; border:1px solid #7772; border-radius:1rem; background:var(--color-base-200,#f4f4f5); }
.repayment-edit summary { padding:.8rem 1rem; color:var(--color-primary,#4f46e5); font-weight:850; cursor:pointer; }
.repayment-edit form { padding:0 1rem 1rem; }
.repayment-edit-main { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:.65rem; }
.repayment-edit-shares { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:.8rem 0; }
.repayment-edit-shares label>span:last-child { display:flex; align-items:center; gap:.35rem; }
.repayment-delete { display:flex; justify-content:flex-end; margin-top:.7rem; }
.repayment-delete button { min-height:2.3rem; background:transparent; color:var(--color-error,#dc2626); box-shadow:none; }
.repayment-locked { margin-top:.8rem; font-size:.76rem; opacity:.55; }
@media(max-width:900px){.repayment-main-grid,.repayment-expense-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.repayment-card-grid{grid-template-columns:1fr}}
@media(max-width:600px){.repayment-main-grid,.repayment-expense-fields,.repayment-share-grid,.repayment-installment,.repayment-funded form,.repayment-edit-main,.repayment-edit-shares{grid-template-columns:1fr}.repayment-mode{flex-direction:column}}
