
/* KlinikDiyetisyenim Auth Flow v2
   Scoped to login / forgot / reset pages only. */
:root{
  --kda-green:#167449;
  --kda-green-2:#0f5e3a;
  --kda-green-soft:#eaf6ef;
  --kda-blue-soft:#edf4ff;
  --kda-ink:#172438;
  --kda-muted:#6d7787;
  --kda-line:#dfe5e2;
  --kda-danger:#b42318;
  --kda-danger-bg:#fff1ef;
  --kda-ok:#176b43;
  --kda-ok-bg:#edf8f2;
  --kda-card:#ffffff;
  --kda-shadow:0 28px 80px rgba(22,50,39,.14);
}
html,body{min-height:100%}
body.kd-auth-page{
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:24px;
  box-sizing:border-box;
  background:
    radial-gradient(circle at 12% 8%,rgba(22,116,73,.10),transparent 28rem),
    radial-gradient(circle at 88% 88%,rgba(70,98,180,.08),transparent 30rem),
    #f4f7f6;
  color:var(--kda-ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.kd-auth-shell,.kd-fg-wrap,.kd-rs-wrap{
  width:100%;
  max-width:470px;
  margin:0 auto;
  box-sizing:border-box;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--kda-ink);
}
.kd-auth-box,.kd-fg-card,.kd-rs-card{
  position:relative;
  overflow:hidden;
  width:100%;
  box-sizing:border-box;
  padding:28px;
  border:1px solid rgba(22,116,73,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(250,252,251,.98));
  box-shadow:var(--kda-shadow);
}
.kd-auth-box::before,.kd-fg-card::before,.kd-rs-card::before{
  content:"";
  position:absolute;
  width:150px;height:150px;border-radius:50%;
  right:-58px;top:-72px;
  background:linear-gradient(135deg,rgba(22,116,73,.14),rgba(84,114,190,.07));
  pointer-events:none;
}
.kd-auth-brand{
  display:flex;align-items:center;gap:11px;margin-bottom:22px;
}
.kd-auth-brand-mark{
  width:40px;height:40px;border-radius:13px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--kda-green),#0f766e);
  color:#fff;font-weight:900;font-size:18px;
  box-shadow:0 9px 24px rgba(22,116,73,.18);
}
.kd-auth-brand-text b{display:block;font-size:13px;line-height:1.15}
.kd-auth-brand-text span{display:block;font-size:10px;color:var(--kda-muted);margin-top:3px}
.kd-auth-title,.kd-fg-title,.kd-rs-title{
  position:relative;
  margin:0;
  font-size:26px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.7px;
  color:var(--kda-ink);
}
.kd-auth-sub,.kd-fg-sub,.kd-rs-sub{
  position:relative;
  margin:7px 0 20px;
  color:var(--kda-muted);
  font-size:13px;
  font-weight:650;
  line-height:1.55;
}
.kd-auth-box form{display:grid;gap:11px}
.kd-inp,.kd-fg-inp,.kd-rs-inp,.kd-fg-row select{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid #d7dfdb;
  border-radius:14px;
  background:#fff;
  color:var(--kda-ink);
  padding:0 14px;
  outline:none;
  font:650 13px/1.2 Inter,system-ui,sans-serif;
  transition:border-color .16s,box-shadow .16s,background .16s;
}
.kd-fg-row{margin-bottom:10px}
.kd-fg-row select{appearance:auto}
.kd-inp:focus,.kd-fg-inp:focus,.kd-rs-inp:focus,.kd-fg-row select:focus{
  border-color:rgba(22,116,73,.55);
  box-shadow:0 0 0 4px rgba(22,116,73,.09);
  background:#fff;
}
.kd-btn,.kd-fg-btn,.kd-rs-btn{
  width:100%;
  min-height:49px;
  margin-top:2px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,var(--kda-green),var(--kda-green-2));
  color:#fff;
  cursor:pointer;
  font:850 13px/1 Inter,system-ui,sans-serif;
  box-shadow:0 10px 22px rgba(22,116,73,.18);
  transition:transform .15s,filter .15s,box-shadow .15s;
}
.kd-btn:hover,.kd-fg-btn:hover,.kd-rs-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.kd-btn:disabled,.kd-fg-btn:disabled,.kd-rs-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.kd-links,.kd-fg-link{
  display:flex;justify-content:space-between;gap:12px;
  margin-top:15px;font-size:11.5px;font-weight:800;
}
.kd-fg-link{justify-content:center}
.kd-links a,.kd-fg-link a{
  color:var(--kda-green-2);
  text-decoration:none;
}
.kd-links a:hover,.kd-fg-link a:hover{text-decoration:underline}
.kd-err,.kd-fg-err,.kd-rs-err,.kd-fg-ok,.kd-rs-ok{
  display:none;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:12px;
  font-size:11.5px;
  font-weight:750;
  line-height:1.45;
}
.kd-err,.kd-fg-err,.kd-rs-err{
  background:var(--kda-danger-bg);
  color:var(--kda-danger);
  border:1px solid rgba(180,35,24,.14);
}
.kd-fg-ok,.kd-rs-ok{
  background:var(--kda-ok-bg);
  color:var(--kda-ok);
  border:1px solid rgba(23,107,67,.14);
}
.kd-auth-note{
  margin-top:17px;padding-top:15px;border-top:1px solid var(--kda-line);
  text-align:center;color:var(--kda-muted);font-size:10.5px;line-height:1.45;
}
.kd-reset-email{
  margin:-7px 0 15px;padding:9px 11px;border-radius:11px;
  background:var(--kda-green-soft);color:var(--kda-green-2);
  font-size:11px;font-weight:750;overflow-wrap:anywhere;
}
@media(max-width:640px){
  body.kd-auth-page{padding:12px}
  .kd-auth-shell,.kd-fg-wrap,.kd-rs-wrap{max-width:none}
  .kd-auth-box,.kd-fg-card,.kd-rs-card{
    padding:22px 18px;
    border-radius:20px;
    box-shadow:0 18px 52px rgba(22,50,39,.12);
  }
  .kd-auth-title,.kd-fg-title,.kd-rs-title{font-size:23px}
  .kd-auth-sub,.kd-fg-sub,.kd-rs-sub{font-size:12px;margin-bottom:17px}
  .kd-inp,.kd-fg-inp,.kd-rs-inp,.kd-fg-row select{min-height:50px;font-size:14px}
  .kd-btn,.kd-fg-btn,.kd-rs-btn{min-height:50px;font-size:14px}
}
@media(max-width:360px){
  .kd-auth-box,.kd-fg-card,.kd-rs-card{padding:19px 14px}
  .kd-links{font-size:10.8px}
}
