/* KifCard shared visual system — RTL Persian pages */
:root {
  --kc-green: #173e33;
  --kc-green-2: #285648;
  --kc-gold: #b79a62;
  --kc-ink: #20372d;
  --kc-muted: #778178;
  --kc-cream: #f4f3ee;
  --kc-paper: #fffdf9;
  --kc-line: #e8e4da;
  --kc-radius-card: 20px;
  --kc-radius-control: 12px;
  --kc-shadow-card: 0 10px 28px rgba(27, 53, 41, .07);
}
html { color-scheme: light; }
body {
  font-family: Vazirmatn, Tahoma, Arial, sans-serif !important;
  color: var(--kc-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select, textarea { font-family: inherit; }
a { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(183, 154, 98, .65);
  outline-offset: 3px;
}
button, .btn { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.btn, button.btn {
  min-height: 42px;
  border-radius: var(--kc-radius-control);
  font-weight: 700;
}
.btn:disabled, button:disabled { opacity: .62; cursor: not-allowed; }

/* Sign-in page */
body:has(> .panel) {
  background:
    radial-gradient(ellipse at 85% 8%, rgba(223, 234, 222, .9), transparent 35%),
    var(--kc-cream) !important;
}
.panel {
  border: 1px solid var(--kc-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--kc-shadow-card) !important;
}
.panel .mark, .mark {
  background-color: var(--kc-green);
  color: #ead7a4;
}
.field-label { color: #46564b; font-weight: 700; }
.panel input:not([type=hidden]) {
  border: 1px solid #dedfd5;
  border-radius: 11px;
  min-height: 46px;
  background: #fff;
}
.panel input:focus {
  border-color: #67907a;
  box-shadow: 0 0 0 3px rgba(103, 144, 122, .15);
}
.panel button.btn, .panel button[type=submit] {
  background: var(--kc-green);
  border-radius: 12px;
}
.panel button.btn:hover, .panel button[type=submit]:hover { background: var(--kc-green-2); }

/* Admin panel */
.shell { color: var(--kc-ink); }
.top h1 { color: var(--kc-green); letter-spacing: -.35px; }
.card {
  border: 1px solid var(--kc-line) !important;
  border-radius: var(--kc-radius-card) !important;
  box-shadow: var(--kc-shadow-card);
  background: var(--kc-paper) !important;
}
.section-title { color: var(--kc-green); }
.field input, .field select, .field textarea {
  border: 1px solid #dedfd5;
  border-radius: 11px;
  min-height: 44px;
  color: var(--kc-ink);
  background: #fff;
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none;
  border-color: #67907a;
  box-shadow: 0 0 0 3px rgba(103, 144, 122, .15);
}
.btn-main, .btn:not(.btn-light):not(.btn-soft):not(.btn-danger) {
  background: var(--kc-green);
  color: #fff;
}
.btn-main:hover, .btn:not(.btn-light):not(.btn-soft):not(.btn-danger):hover {
  background: var(--kc-green-2);
}
.btn-light, .btn-soft {
  background: #f6f4ed;
  border: 1px solid var(--kc-line);
  color: #385247;
}
.btn-danger { border-radius: 11px; }
.alert { border-radius: 12px; }
.foot { color: #81877e; }

/* Public customer page — preserve the intentionally narrow mobile-first canvas */
.page { border: 1px solid rgba(232, 228, 218, .8); }
.hero { color: var(--kc-ink); }
.content { color: var(--kc-ink); }
.account-main {
  border: 1px solid var(--kc-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 22px rgba(27, 53, 41, .055);
}
.bank-head { gap: 12px; }
.bank-name { color: var(--kc-green); }
.bank-tag {
  border-radius: 999px;
  font-weight: 700;
}
.field {
  border-radius: 12px;
}
.field .digits, .field .iban {
  font-variant-numeric: tabular-nums;
}
.page .btn, .page button {
  border-radius: 12px;
}
.footer {
  color: #7b837a;
  line-height: 2;
}
.footer a { color: var(--kc-green); font-weight: 700; text-decoration: none; }
.toast { border-radius: 12px; }

/* Shared feedback and small-screen behavior */
.error, .alert.error { background: #fff0ee; color: #a03d32; }
.success, .alert.success { background: #edf7ef; color: #2e7045; }
@media (max-width: 620px) {
  .shell { padding: 12px !important; }
  .top { gap: 12px; }
  .card { padding: 16px !important; }
  .top .btn { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.kc-top-brand { display:flex; align-items:center; gap:13px; min-width:0; }
.kc-brandmark {
  display:grid; place-items:center; flex:none;
  width:46px; height:46px; border-radius:15px;
  background:var(--kc-green); color:#ead7a4;
  box-shadow:0 7px 18px rgba(23,62,51,.14);
  font-size:23px; font-weight:800;
}
.kc-top-brand h1 { margin:0; }
.kc-top-brand p { margin:4px 0 0; }
@media (max-width:420px) {
  .kc-brandmark { width:40px; height:40px; border-radius:13px; }
  .kc-top-brand { gap:10px; }
}

.links {
  border-top: 1px solid var(--kc-line);
  padding-top: 14px;
  color: var(--kc-muted);
  align-items: center;
}
.foot, .footer {
  border-top: 1px solid rgba(232, 228, 218, .75);
  margin-top: 18px;
  padding: 16px 8px 6px;
  text-align: center;
  font-size: 11px;
}
