/* KBM Servis - Muhasebe ekranı */
body.accounting-light {
  background: linear-gradient(180deg, #dceae7 0, #eef5f3 260px, #f6faf9 100%);
}

.accounting-light .wrap {
  width: min(980px, 100%);
  margin: 0 auto;
}

.accounting-light .wrap > .card {
  min-height: 100vh;
  padding: 12px 14px 36px;
  border-radius: 0;
  background: #fbfdfc;
  box-shadow: 0 0 38px rgba(13, 68, 57, .10);
}

.accounting-light .top-homebar {
  position: sticky;
  top: 0;
  z-index: 40;
  margin: 0 0 12px;
  padding: 7px 0 10px;
  background: rgba(251, 253, 252, .95);
  backdrop-filter: blur(8px);
}

.accounting-page { padding: 0 2px; }

.accounting-heading {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 11px;
  padding: 16px;
  border: 2px solid #0b6d5b;
  border-radius: 16px;
  background: linear-gradient(135deg, #0d806a, #165348);
  color: #fff;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(10, 82, 68, .18);
}

.accounting-heading::before {
  content: "₺";
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(255,255,255,.55);
  border-radius: 14px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 1.55rem;
  font-weight: 950;
}

.accounting-heading h1 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 1.4rem;
}

.accounting-heading p {
  margin: 0;
  color: #d9f2ec;
  font-size: .75rem;
}

.accounting-heading > span {
  padding: 7px 10px;
  border: 1.5px solid rgba(255,255,255,.45);
  border-radius: 9px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: .66rem;
  font-weight: 900;
  white-space: nowrap;
}

.accounting-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 12px;
}

.accounting-tabs a {
  min-height: 47px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #278172;
  border-radius: 11px;
  background: #fff;
  color: #176356;
  font-size: .79rem;
  font-weight: 900;
  text-decoration: none;
  transition: .18s ease;
}

.accounting-tabs a:nth-child(2) {
  border-color: #d28a2d;
  color: #92520a;
}

.accounting-tabs a:hover,
.accounting-tabs a.active {
  transform: translateY(-1px);
  background: #08715d;
  border-color: #08715d;
  color: #fff;
  box-shadow: 0 6px 14px rgba(8, 113, 93, .16);
}

.accounting-tabs a:nth-child(2):hover,
.accounting-tabs a:nth-child(2).active {
  background: #c67718;
  border-color: #c67718;
}

.accounting-subheading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin: 15px 3px 9px;
}

.accounting-subheading h2 { margin: 0; color: #173c33; font-size: 1.05rem; }
.accounting-subheading p { margin: 0; color: #70817c; font-size: .68rem; }

.accounting-empty {
  min-height: 145px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 14px;
  border: 2px dashed #a9c7bf;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fcfb, #edf7f4);
  color: #5d746e;
  text-align: center;
  font-size: .72rem;
}

.accounting-empty::before {
  content: "₺";
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #dceee9;
  color: #16705e;
  font-size: 1.2rem;
  font-weight: 950;
}

.payment-service-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 11px;
  margin-bottom: 10px;
  padding: 13px;
  border: 2px solid #6fae9d;
  border-radius: 14px;
  background: linear-gradient(135deg, #effaf6, #f9fcfb);
}

.payment-service-main > span {
  display: block;
  margin-bottom: 5px;
  color: #477268;
  font-size: .62rem;
  font-weight: 900;
  text-transform: uppercase;
}

.payment-service-main h2 { margin: 0 0 6px; color: #123c32; font-size: 1.08rem; }
.payment-service-main p { margin: 0 0 6px; color: #4e625c; font-size: .74rem; line-height: 1.4; }
.payment-service-main small { color: #08715d; font-size: .7rem; font-weight: 850; }
.payment-service-main em { display: block; margin-top: 5px; color: #74837f; font-size: .61rem; font-style: normal; }

.payment-totals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}

.payment-totals > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 9px 5px;
  border: 1.5px solid #bfd4ce;
  border-radius: 9px;
  background: #fff;
  text-align: center;
}

.payment-totals span { display: block; margin-bottom: 5px; color: #687b75; font-size: .55rem; font-weight: 850; }
.payment-totals strong { display: block; color: #245247; font-size: .73rem; white-space: nowrap; }
.payment-totals .remaining { border-color: #dd963f; background: #fff5e7; }
.payment-totals .remaining strong { color: #a85708; }

.payment-entry-form {
  padding: 13px;
  border: 2px solid #78aa9e;
  border-radius: 14px;
  background: #f5fbf9;
}

.payment-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.payment-method-grid label { display: grid; gap: 5px; margin: 0; color: #365b51; font-size: .68rem; font-weight: 900; }
.payment-method-grid label > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border: 1.7px solid #aac9c1; border-radius: 10px; background: #fff; overflow: hidden; }
.payment-method-grid input { width: 100%; min-height: 47px; margin: 0; padding: 9px 10px; border: 0; background: transparent; color: #132821; font-size: .84rem; box-shadow: none; }
.payment-method-grid b { padding-right: 9px; color: #687a75; font-size: .66rem; }

.payment-entry-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  padding: 10px 12px;
  border: 1.5px solid #b2ccc5;
  border-radius: 10px;
  background: #fff;
}

.payment-entry-summary span { color: #536b64; font-size: .68rem; font-weight: 850; }
.payment-entry-summary strong { color: #08715d; font-size: .92rem; }
.payment-entry-summary strong.error { color: #b42318; }
.payment-save { width: 100%; min-height: 47px; margin: 8px 0 0; border: 2px solid #08715d; border-radius: 10px; background: linear-gradient(135deg, #0b8a72, #08705d); color: #fff; font-size: .77rem; font-weight: 950; box-shadow: none; }
.payment-save:hover { background: #075749; }
.accounting-completed-link { min-height: 43px; display: flex; align-items: center; justify-content: center; border: 2px solid #08715d; border-radius: 10px; color: #08715d; font-weight: 900; text-decoration: none; }

.payment-waiting-list { display: grid; gap: 7px; }
.payment-waiting-list > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px; border: 1.7px solid #b8d0c9; border-radius: 11px; background: #fff; color: #172e27; text-decoration: none; transition: .16s ease; }
.payment-waiting-list > a:hover { transform: translateX(2px); border-color: #08715d; background: #eff9f6; }
.payment-waiting-list span { min-width: 0; }
.payment-waiting-list strong, .payment-waiting-list small { display: block; }
.payment-waiting-list strong { font-size: .8rem; }
.payment-waiting-list small { margin-top: 4px; color: #657771; font-size: .62rem; }
.payment-waiting-list b { color: #a65308; font-size: .76rem; white-space: nowrap; }

.receivable-list { display: grid; gap: 9px; }
.receivable-card { display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 12px; padding: 12px; border: 2px solid #df8a3f; border-radius: 13px; background: linear-gradient(135deg, #fffaf3, #fff); }
.receivable-info { min-width: 0; }
.receivable-info time { display: block; margin-bottom: 5px; color: #8b6a4a; font-size: .6rem; font-weight: 800; }
.receivable-info h2 { margin: 0 0 8px; color: #8e3d0b; font-size: .98rem; }
.receivable-info p { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 6px; margin: 5px 0; color: #4c5d58; font-size: .69rem; line-height: 1.35; overflow-wrap: anywhere; }
.receivable-info p b { color: #315c51; }
.receivable-info > small { display: block; margin-top: 7px; color: #778681; font-size: .59rem; }
.receivable-card aside { display: flex; flex-direction: column; justify-content: center; padding: 10px; border-left: 1.5px solid #ebc39e; text-align: right; }
.receivable-card aside > span { color: #88694d; font-size: .59rem; font-weight: 900; text-transform: uppercase; }
.receivable-card aside > strong { margin: 5px 0; color: #b24d08; font-size: 1.03rem; }
.receivable-card aside > small { color: #7a8581; font-size: .57rem; }
.receivable-card aside > a { min-height: 37px; display: flex; align-items: center; justify-content: center; margin-top: 9px; border: 1.7px solid #08715d; border-radius: 8px; background: #08715d; color: #fff; font-size: .65rem; font-weight: 900; text-decoration: none; }

.partial-payment-modal[hidden] { display: none !important; }
.partial-payment-modal { position: fixed; inset: 0; z-index: 1500; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(16, 37, 31, .68); backdrop-filter: blur(4px); }
.partial-payment-card { width: min(480px, 100%); padding: 18px; border: 2px solid #afc8c1; border-radius: 17px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.partial-payment-card > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.partial-payment-card h2 { margin: 0; font-size: 1.05rem; }
.partial-payment-card > div > button { width: 36px; min-width: 36px; height: 36px; margin: 0; padding: 0; border: 1.7px solid #c6d5d1; border-radius: 9px; background: #fff; color: #35594f; font-size: 1.15rem; box-shadow: none; }
.partial-payment-card > p { margin: 10px 0; color: #65756f; font-size: .73rem; line-height: 1.4; }
.partial-payment-card textarea { width: 100%; min-height: 120px; margin: 0; border: 1.7px solid #bdcec9; border-radius: 10px; font-size: .81rem; }
.partial-payment-card > small { display: block; margin: 6px 0; color: #b42318; font-size: .65rem; font-weight: 850; }
.partial-payment-card > button { width: 100%; min-height: 44px; margin: 9px 0 0; border: 2px solid #08715d; border-radius: 10px; background: #08715d; color: #fff; font-size: .69rem; font-weight: 950; box-shadow: none; }

@media (max-width: 650px) {
  .accounting-light .wrap > .card { padding: 6px 6px 24px; }
  .accounting-light .top-homebar { margin-bottom: 7px; }
  .accounting-page { padding: 0; }
  .accounting-heading { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 8px; padding: 10px 8px; border-width: 1.5px; border-radius: 12px; }
  .accounting-heading::before { width: 38px; height: 38px; border-radius: 10px; font-size: 1.1rem; }
  .accounting-heading h1 { font-size: 1.02rem; }
  .accounting-heading p { font-size: .55rem; }
  .accounting-heading > span { padding: 5px 6px; font-size: .5rem; }
  .accounting-tabs { gap: 5px; margin-bottom: 8px; }
  .accounting-tabs a { min-height: 40px; border-width: 1.5px; border-radius: 9px; font-size: .67rem; }
  .accounting-subheading { display: block; margin: 10px 2px 6px; }
  .accounting-subheading h2 { font-size: .91rem; }
  .accounting-subheading p { margin-top: 2px; font-size: .58rem; }
  .accounting-empty { min-height: 120px; padding: 18px 8px; border-width: 1.5px; font-size: .62rem; }
  .payment-service-card { grid-template-columns: minmax(0, 1fr) 120px; gap: 5px; padding: 8px; border-width: 1.5px; border-radius: 10px; }
  .payment-service-main > span { font-size: .49rem; }
  .payment-service-main h2 { font-size: .79rem; }
  .payment-service-main p { font-size: .59rem; }
  .payment-service-main small { font-size: .55rem; }
  .payment-totals { grid-template-columns: 1fr; gap: 3px; }
  .payment-totals > div { padding: 5px 3px; border-width: 1px; border-radius: 6px; }
  .payment-totals span { margin-bottom: 2px; font-size: .45rem; }
  .payment-totals strong { font-size: .57rem; }
  .payment-entry-form { padding: 8px 6px; border-width: 1.5px; border-radius: 10px; }
  .payment-method-grid { gap: 4px; }
  .payment-method-grid label { gap: 3px; font-size: .53rem; }
  .payment-method-grid label > div { border-width: 1.4px; border-radius: 7px; }
  .payment-method-grid input { min-height: 40px; padding: 6px 5px; font-size: .68rem; }
  .payment-method-grid b { padding-right: 5px; font-size: .5rem; }
  .payment-entry-summary { margin-top: 7px; padding: 7px 8px; }
  .payment-entry-summary span { font-size: .57rem; }
  .payment-entry-summary strong { font-size: .73rem; }
  .payment-save { min-height: 42px; margin-top: 6px; font-size: .65rem; }
  .payment-waiting-list > a { padding: 8px; }
  .payment-waiting-list strong { font-size: .69rem; }
  .payment-waiting-list small { font-size: .54rem; }
  .payment-waiting-list b { font-size: .64rem; }
  .receivable-card { grid-template-columns: minmax(0, 1fr) 102px; gap: 6px; padding: 8px; border-width: 1.5px; border-radius: 9px; }
  .receivable-info time { font-size: .5rem; }
  .receivable-info h2 { margin-bottom: 6px; font-size: .75rem; }
  .receivable-info p { grid-template-columns: 53px minmax(0, 1fr); gap: 4px; margin: 4px 0; font-size: .57rem; }
  .receivable-card aside { padding: 6px; border-width: 1px; }
  .receivable-card aside > span { font-size: .46rem; }
  .receivable-card aside > strong { font-size: .67rem; }
  .receivable-card aside > small { font-size: .47rem; }
  .receivable-card aside > a { min-height: 34px; padding: 3px; font-size: .53rem; }
  .partial-payment-modal { align-items: flex-end; padding: 8px; }
  .partial-payment-card { padding: 14px 10px; border-radius: 15px; }
  .partial-payment-card h2 { font-size: .91rem; }
  .partial-payment-card textarea { min-height: 105px; font-size: 16px; }
}
