/* ============================================================
   KURE v2 · "Royal Midnight" design language
   Layered on top of design-system.css. Adds the --k-* prefix.
   Nothing here removes or overrides --r-* tokens.
============================================================ */

:root{
  /* ── Type families ─────────────────────────────────────── */
  --k-font-display: 'Fraunces', 'Times New Roman', Georgia, serif;
  --k-font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --k-font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ── Editorial type scale ──────────────────────────────── */
  --k-fs-eyebrow: 11px;
  --k-fs-micro:   12px;
  --k-fs-meta:    13px;
  --k-fs-body:    14px;
  --k-fs-lead:    17px;
  --k-fs-h4:      20px;
  --k-fs-h3:      26px;
  --k-fs-h2:      36px;
  --k-fs-h1:      56px;
  --k-fs-display: 96px;
  --k-fs-mega:    128px;

  --k-tracking-display: -0.035em;
  --k-tracking-heading: -0.018em;
  --k-tracking-body:    -0.005em;
  --k-tracking-eyebrow:  0.18em;
  --k-tracking-mono:     -0.01em;

  /* ── Royal Midnight palette (OKLCH, light surface) ────── */
  /* Warm sepia paper, deep navy ink, jewel accents */
  --k-paper:      oklch(97.4% 0.008 78);     /* warm off-white */
  --k-paper-2:    oklch(94.6% 0.012 78);     /* sunken */
  --k-paper-3:    oklch(91.0% 0.015 75);     /* divider tint */
  --k-card:       oklch(99.0% 0.005 78);     /* card surface */
  --k-vellum:     oklch(98.2% 0.010 80);     /* tinted parchment */
  --k-line:       oklch(86% 0.012 75);
  --k-line-soft:  oklch(92% 0.010 75);
  --k-line-strong:oklch(74% 0.014 70);

  --k-ink:        oklch(18% 0.030 252);      /* near-black navy */
  --k-ink-2:      oklch(32% 0.034 252);
  --k-ink-3:      oklch(44% 0.025 250); /* WCAG AA · paper-2 üstü 4.5:1+ kontrast */
  --k-ink-4:      oklch(54% 0.018 248); /* dekoratif · sadece large-text/non-text */
  --k-ink-5:      oklch(74% 0.012 245);

  /* Royal Midnight — primary brand */
  --k-navy:       oklch(28% 0.080 252);      /* #0B2240-ish */
  --k-navy-2:     oklch(22% 0.075 252);
  --k-navy-3:     oklch(18% 0.065 254);
  --k-navy-soft:  oklch(88% 0.035 250);
  --k-navy-wash:  oklch(94% 0.020 250);

  /* Emerald — money / ok */
  --k-emerald:     oklch(54% 0.115 165);     /* #0F8B6E-ish */
  --k-emerald-2:   oklch(44% 0.105 165);
  --k-emerald-soft:oklch(90% 0.045 165);
  --k-emerald-wash:oklch(95% 0.022 165);

  /* Amber — attention / warmth */
  --k-amber:       oklch(76% 0.130 75);      /* #E0A050-ish */
  --k-amber-2:     oklch(64% 0.125 70);      /* dekoratif — icon bg, focus rings */
  --k-amber-3:     oklch(46% 0.140 60);      /* text-grade — paper-2/wash üstü WCAG AA 4.5:1+ */
  --k-amber-soft:  oklch(92% 0.045 78);
  --k-amber-wash:  oklch(96% 0.022 78);

  /* Plum — secondary accent */
  --k-plum:        oklch(48% 0.095 328);
  --k-plum-soft:   oklch(89% 0.038 328);

  /* Bad / sage / dust supports */
  --k-bad:         oklch(54% 0.165 27);
  --k-bad-soft:    oklch(91% 0.045 27);
  --k-sage:        oklch(68% 0.045 150);

  /* ── Shadows: layered, soft, low-saturation ─────────────── */
  --k-shadow-xs:  0 1px 0 oklch(15% 0.03 250 / .035);
  --k-shadow-sm:  0 1px 2px oklch(15% 0.03 250 / .04),
                  0 1px 1px oklch(15% 0.03 250 / .04);
  --k-shadow-md:  0 8px 24px -10px oklch(15% 0.03 250 / .14),
                  0 2px 6px -2px oklch(15% 0.03 250 / .06);
  --k-shadow-lg:  0 30px 64px -22px oklch(15% 0.03 250 / .26),
                  0 10px 22px -10px oklch(15% 0.03 250 / .10);
  --k-shadow-inset: inset 0 0 0 1px oklch(100% 0 0 / .04),
                    inset 0 1px 0 oklch(100% 0 0 / .04);
  --k-ring-navy:  0 0 0 3px oklch(28% 0.08 252 / .25);
  --k-ring-amber: 0 0 0 3px oklch(76% 0.13 75 / .35);

  /* ── Radii ─────────────────────────────────────────────── */
  --k-r-1: 6px;
  --k-r-2: 10px;
  --k-r-3: 14px;
  --k-r-4: 20px;
  --k-r-5: 28px;
  --k-r-pill: 999px;

  /* ── Motion ────────────────────────────────────────────── */
  --k-ease-out:    cubic-bezier(.22,.61,.36,1);
  --k-ease-spring: cubic-bezier(.34,1.4,.5,1);
  --k-ease-in-out: cubic-bezier(.65,.05,.36,1);
  --k-d-1: 120ms;
  --k-d-2: 200ms;
  --k-d-3: 320ms;
  --k-d-4: 560ms;
  --k-d-5: 840ms;
}

/* ── Base type rules used inside the v2 artboard ─────────── */
.kv2{
  font-family: var(--k-font-body);
  font-feature-settings: 'cv11','ss01','ss03','cv10';
  color: var(--k-ink);
  background: var(--k-paper);
  letter-spacing: var(--k-tracking-body);
  -webkit-font-smoothing: antialiased;
}
.kv2 .k-display{
  font-family: var(--k-font-display);
  font-weight: 360;
  font-style: italic;
  font-variation-settings: 'opsz' 144, 'SOFT' 50;
  letter-spacing: var(--k-tracking-display);
  line-height: 0.92;
  color: var(--k-ink);
}
.kv2 .k-display-up{
  font-family: var(--k-font-display);
  font-weight: 500;
  font-style: normal;
  font-variation-settings: 'opsz' 144, 'SOFT' 0;
  letter-spacing: var(--k-tracking-heading);
  line-height: 1.0;
  color: var(--k-ink);
}
.kv2 .k-h1{ font-family: var(--k-font-display); font-weight: 480; font-style: normal;
  font-variation-settings: 'opsz' 96; letter-spacing: var(--k-tracking-heading);
  font-size: var(--k-fs-h1); line-height: 1.02; color: var(--k-ink); }
.kv2 .k-h2{ font-family: var(--k-font-display); font-weight: 500; font-size: var(--k-fs-h2);
  font-variation-settings: 'opsz' 48; letter-spacing: -0.015em; line-height: 1.08;
  color: var(--k-ink); }
.kv2 .k-h3{ font-family: var(--k-font-body); font-weight: 600; font-size: var(--k-fs-h3);
  letter-spacing: -0.012em; line-height: 1.18; color: var(--k-ink); }
.kv2 .k-h4{ font-family: var(--k-font-body); font-weight: 600; font-size: var(--k-fs-h4);
  letter-spacing: -0.008em; line-height: 1.25; color: var(--k-ink); }
.kv2 .k-lead{ font-size: var(--k-fs-lead); font-weight: 400; line-height: 1.45;
  color: var(--k-ink-2); letter-spacing: -0.005em; }
.kv2 .k-body{ font-size: var(--k-fs-body); line-height: 1.5; color: var(--k-ink-2); }
.kv2 .k-meta{ font-size: var(--k-fs-meta); color: var(--k-ink-3); line-height: 1.45; }
.kv2 .k-micro{ font-size: var(--k-fs-micro); color: var(--k-ink-3); }
.kv2 .k-eyebrow{
  font-size: var(--k-fs-eyebrow); font-weight: 600;
  letter-spacing: var(--k-tracking-eyebrow); text-transform: uppercase;
  color: var(--k-ink-3); /* AA: 11px text · ink-4 yetersiz · ink-3'e taşındı */
  font-feature-settings: 'cpsp';
}
.kv2 .k-mono{
  font-family: var(--k-font-mono);
  font-feature-settings: 'liga' 0,'calt' 0,'tnum' 1,'zero' 1;
  letter-spacing: var(--k-tracking-mono);
}
.kv2 .k-num{ font-variant-numeric: tabular-nums lining-nums; }
.kv2 .k-italic-display{ font-family: var(--k-font-display); font-style: italic;
  font-variation-settings: 'opsz' 144, 'SOFT' 100; font-weight: 360; }

/* ── Surface primitives ──────────────────────────────────── */
.kv2 .k-card{
  background: var(--k-card);
  border: 1px solid var(--k-line);
  border-radius: var(--k-r-3);
  box-shadow: var(--k-shadow-xs);
  position: relative;
  transition: transform var(--k-d-2) var(--k-ease-out),
              box-shadow var(--k-d-2) var(--k-ease-out),
              border-color var(--k-d-2) var(--k-ease-out);
}
.kv2 .k-card:hover{
  transform: translateY(-1px);
  box-shadow: var(--k-shadow-md);
  border-color: var(--k-line-strong);
}
.kv2 .k-card--lift{ box-shadow: var(--k-shadow-md); }
.kv2 .k-card--ink{
  background: var(--k-navy-3);
  border-color: oklch(30% 0.05 250);
  color: oklch(94% 0.012 75);
  box-shadow: var(--k-shadow-md);
}
.kv2 .k-card--ink:hover{
  box-shadow: var(--k-shadow-lg);
  border-color: oklch(38% 0.06 250);
}
.kv2 .k-card--ink *{ color: inherit; }
.kv2 .k-card--vellum{ background: var(--k-vellum); }
.kv2 .k-card--paper{ background: var(--k-paper-2); border-color: var(--k-line); }

/* Atmospheric grain — fine noise overlay for ink surfaces */
.kv2 .k-card--ink::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  border-radius: inherit;
  background-image:
    radial-gradient(oklch(100% 0 0 / .025) 1px, transparent 1px),
    radial-gradient(oklch(100% 0 0 / .015) 1px, transparent 1px);
  background-size: 3px 3px, 7px 7px;
  background-position: 0 0, 1px 2px;
  mix-blend-mode: screen;
  opacity: .6;
}

/* Subtle paper texture overlay (very faint) */
.kv2 .k-paper-grain{
  position: relative;
}
.kv2 .k-paper-grain::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(oklch(15% 0.03 250 / .025) 1px, transparent 1px);
  background-size: 4px 4px;
  border-radius: inherit;
  mix-blend-mode: multiply;
  opacity:.5;
}

/* ── Atmospheric gradient mesh (canvas-painted SVG via CSS) ── */
.kv2 .k-mesh-warm{
  background:
    radial-gradient(620px 480px at 12% 8%, oklch(76% 0.13 75 / .14), transparent 60%),
    radial-gradient(820px 600px at 92% 18%, oklch(54% 0.115 165 / .10), transparent 65%),
    radial-gradient(720px 540px at 60% 110%, oklch(28% 0.08 252 / .11), transparent 60%),
    linear-gradient(180deg, var(--k-paper) 0%, oklch(96% 0.012 78) 100%);
}
.kv2 .k-mesh-ink{
  background:
    radial-gradient(540px 380px at 10% 0%, oklch(38% 0.10 252 / .55), transparent 65%),
    radial-gradient(640px 460px at 100% 100%, oklch(54% 0.115 165 / .25), transparent 60%),
    radial-gradient(440px 320px at 80% 8%, oklch(76% 0.13 75 / .20), transparent 60%),
    linear-gradient(160deg, var(--k-navy-3) 0%, oklch(14% 0.06 252) 100%);
}

/* Yönetim mode mesh — emerald-dominant, cooler, paper-leaning */
.kv2 .k-mesh-emerald{
  background:
    radial-gradient(720px 540px at 8% 6%, oklch(54% 0.115 165 / .14), transparent 60%),
    radial-gradient(780px 580px at 96% 22%, oklch(48% 0.095 328 / .07), transparent 60%),
    radial-gradient(680px 480px at 70% 110%, oklch(28% 0.08 252 / .10), transparent 60%),
    linear-gradient(180deg, var(--k-paper) 0%, oklch(96% 0.012 78) 100%);
}

/* Operasyon mode mesh — amber-dominant (subtle warm wash) */
.kv2 .k-mesh-amber{
  background:
    radial-gradient(720px 540px at 12% 8%, oklch(76% 0.13 75 / .15), transparent 60%),
    radial-gradient(820px 600px at 92% 18%, oklch(54% 0.115 165 / .07), transparent 65%),
    radial-gradient(720px 540px at 60% 110%, oklch(28% 0.08 252 / .08), transparent 60%),
    linear-gradient(180deg, var(--k-paper) 0%, oklch(96% 0.012 78) 100%);
}

/* SaaS admin mode mesh — cool navy-dominant (platform owner) */
.kv2 .k-mesh-saas{
  background:
    radial-gradient(820px 600px at 14% 8%, oklch(28% 0.08 252 / .14), transparent 60%),
    radial-gradient(780px 540px at 96% 30%, oklch(48% 0.095 328 / .09), transparent 60%),
    radial-gradient(680px 480px at 70% 110%, oklch(54% 0.115 165 / .08), transparent 60%),
    linear-gradient(180deg, oklch(96% 0.013 252) 0%, oklch(94% 0.015 252) 100%);
}

/* Sheen / highlight on dark surfaces */
.kv2 .k-sheen{
  position:relative; overflow:hidden;
}
.kv2 .k-sheen::before{
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, oklch(100% 0 0 / .08), transparent 40%);
  pointer-events:none;
}

/* ── Pills + chips ───────────────────────────────────────── */
.kv2 .k-pill{
  display:inline-flex; align-items:center; gap:6px;
  padding: 4px 10px;
  font-size: var(--k-fs-micro);
  font-weight: 500;
  border-radius: var(--k-r-pill);
  background: var(--k-paper-2);
  color: var(--k-ink-2);
  border: 1px solid var(--k-line);
  line-height: 1.4;
}
.kv2 .k-pill .dot{ width:6px; height:6px; border-radius:50%; background: currentColor; flex-shrink:0; }
.kv2 .k-pill--emerald{ background: var(--k-emerald-wash); color: var(--k-emerald-2); border-color: oklch(75% 0.06 165); }
.kv2 .k-pill--amber{   background: var(--k-amber-wash);   color: var(--k-amber-3);   border-color: oklch(80% 0.07 75); }
.kv2 .k-pill--navy{    background: var(--k-navy-wash);    color: var(--k-navy-2);    border-color: oklch(82% 0.04 250); }
.kv2 .k-pill--plum{    background: var(--k-plum-soft);    color: var(--k-plum);      border-color: oklch(80% 0.05 328); }
.kv2 .k-pill--ink{     background: var(--k-ink); color: var(--k-paper); border-color: transparent; }

/* ── Buttons ─────────────────────────────────────────────── */
.kv2 .k-btn{
  --_bg: transparent; --_fg: var(--k-ink); --_bd: var(--k-line-strong); --_hov: var(--k-paper-2);
  display:inline-flex; align-items:center; justify-content:center; gap: 8px;
  height: 36px; padding: 0 14px; border-radius: var(--k-r-2);
  font: 500 13px/1 var(--k-font-body);
  letter-spacing: -0.005em;
  background: var(--_bg); color: var(--_fg);
  border: 1px solid var(--_bd);
  cursor: pointer; user-select: none; white-space: nowrap;
  transition: background var(--k-d-1) var(--k-ease-out),
              border-color var(--k-d-1) var(--k-ease-out),
              transform var(--k-d-1) var(--k-ease-out),
              box-shadow var(--k-d-1) var(--k-ease-out);
}
.kv2 .k-btn:hover{ background: var(--_hov); }
.kv2 .k-btn:active{ transform: translateY(0.5px); }
.kv2 .k-btn--primary{ --_bg: var(--k-ink); --_fg: var(--k-paper); --_bd: var(--k-ink);
  --_hov: var(--k-navy-2); box-shadow: var(--k-shadow-sm), var(--k-shadow-inset); }
.kv2 .k-btn--emerald{ --_bg: var(--k-emerald); --_fg: oklch(99% 0 0); --_bd: var(--k-emerald);
  --_hov: var(--k-emerald-2); }
.kv2 .k-btn--ghost{ --_bg: transparent; --_bd: transparent; --_fg: var(--k-ink-2);
  --_hov: var(--k-paper-2); }
.kv2 .k-btn--icon{ width: 36px; padding: 0; }
.kv2 .k-btn--sm{ height: 30px; padding: 0 10px; font-size: 12.5px; border-radius: 8px; }
.kv2 .k-btn--sm.k-btn--icon{ width: 30px; }

.kv2 .k-kbd{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 18px; height: 18px; padding: 0 5px;
  font-family: var(--k-font-mono); font-size: 10.5px; font-weight: 500;
  color: var(--k-ink-3);
  background: var(--k-paper-2);
  border: 1px solid var(--k-line);
  border-bottom-width: 2px;
  border-radius: 4px;
  line-height: 1;
}
.kv2 .k-card--ink .k-kbd{
  background: oklch(100% 0 0 / .06); color: oklch(90% 0.012 75);
  border-color: oklch(100% 0 0 / .12);
}

/* ── Editorial divider / rule ─────────────────────────────── */
.kv2 .k-rule{ height:1px; background: var(--k-line); }
.kv2 .k-rule-soft{ height:1px; background: var(--k-line-soft); }
.kv2 .k-vrule{ width:1px; align-self: stretch; background: var(--k-line); }

/* ── Animations ──────────────────────────────────────────── */
@keyframes kv2-rise {
  from{ opacity: 0; transform: translate3d(0, 14px, 0); }
  to  { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes kv2-fade {
  from{ opacity: 0; } to{ opacity: 1; }
}
@keyframes kv2-fade-soft {
  from{ opacity: 0; } to{ opacity: 0.22; }
}
@keyframes kv2-rise-soft {
  from{ opacity: 0; transform: translate3d(0, 8px, 0); }
  to  { opacity: 0.88; transform: translate3d(0, 0, 0); }
}
@keyframes kv2-pulse {
  0%,100%{ transform: scale(1); opacity:.55; }
  50%    { transform: scale(1.6); opacity:0; }
}
@keyframes kv2-draw {
  from{ stroke-dashoffset: var(--len, 1000); }
  to  { stroke-dashoffset: 0; }
}
.kv2 .k-rise{ animation: kv2-rise var(--k-d-5) var(--k-ease-out) both; }
.kv2 .k-fade{ animation: kv2-fade var(--k-d-4) var(--k-ease-out) both; }

/* Live dot */
.kv2 .k-live{
  position: relative; width: 8px; height: 8px; border-radius: 50%;
  background: var(--k-emerald); flex-shrink: 0;
}
.kv2 .k-live::after{
  content:''; position:absolute; inset:0; border-radius:50%;
  background: var(--k-emerald);
  animation: kv2-pulse 1.8s var(--k-ease-out) infinite;
}

/* Focus rings */
.kv2 :focus-visible{ outline: none; box-shadow: var(--k-ring-navy); border-radius: 6px; }

/* Scrollbar (within artboard) */
.kv2 *::-webkit-scrollbar{ width: 8px; height: 8px; }
.kv2 *::-webkit-scrollbar-thumb{ background: var(--k-line-strong); border-radius: 4px; }
.kv2 *::-webkit-scrollbar-track{ background: transparent; }

/* ── Reduced motion ─────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  .kv2 *, .kv2 *::before, .kv2 *::after{
    animation-duration: 1ms !important; animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

/* ─────────────────────────────────────────────────────────────
   v2 auth shell — center-card layout
   login · signup · forgot-password · reset-password · mfa için ortak
   ───────────────────────────────────────────────────────────── */
.kv2.v2-auth-page,
.kv2 .v2-auth-page {
  min-height: 100vh;
  background: var(--k-paper-2);
  display: grid;
  place-items: center;
  padding: 48px 24px;
  font-family: var(--k-font-body);
}
.kv2 .v2-auth-card {
  max-width: 440px;
  width: 100%;
  background: var(--k-card);
  border: 1px solid var(--k-line);
  border-radius: 18px;
  padding: 44px 36px 32px;
  box-shadow: 0 24px 64px oklch(20% 0.04 78 / .08), 0 2px 8px oklch(20% 0.04 78 / .04);
  text-align: center;
}
.kv2 .v2-auth-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--k-emerald-wash);
  border: 1px solid oklch(78% 0.06 165);
  margin-bottom: 18px;
}
.kv2 .v2-auth-icon i { font-size: 28px; color: var(--k-emerald-2); }
.kv2 .v2-auth-icon--amber { background: var(--k-amber-wash); border-color: oklch(80% 0.07 75); }
.kv2 .v2-auth-icon--amber i { color: var(--k-amber-2); }
.kv2 .v2-auth-icon--ink   { background: var(--k-ink); border-color: var(--k-ink); }
.kv2 .v2-auth-icon--ink i { color: var(--k-paper); }

.kv2 .v2-auth-h1 {
  font-family: var(--k-font-display); font-weight: 400;
  font-size: 38px; letter-spacing: -0.025em; line-height: 1.05;
  color: var(--k-ink); margin: 12px 0 10px;
}
.kv2 .v2-auth-h1 em { font-style: italic; }
.kv2 .v2-auth-body {
  font-size: 13px; color: var(--k-ink-2); line-height: 1.55;
  margin: 0 0 26px;
}
.kv2 .v2-auth-form { text-align: left; margin-top: 8px; }
.kv2 .v2-auth-row {
  display: flex; align-items: center; justify-content: space-between;
  margin: 6px 0 22px;
}
.kv2 .v2-checkbox {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: var(--k-ink-2); cursor: pointer;
}
.kv2 .v2-checkbox input {
  width: 16px; height: 16px; accent-color: var(--k-emerald-2);
  cursor: pointer; flex-shrink: 0;
}
.kv2 .v2-auth-link {
  font-family: var(--k-font-mono); font-size: 11px;
  color: var(--k-emerald-2); font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px;
}
.kv2 .v2-auth-link:hover { text-decoration-thickness: 2px; }
.kv2 .v2-auth-submit {
  width: 100%; min-height: 48px;
  background: var(--k-ink); color: var(--k-paper);
  border: 1px solid var(--k-ink); border-radius: 12px;
  font-family: var(--k-font-body); font-size: 14px; font-weight: 500;
  letter-spacing: -0.005em; padding: 12px 16px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  cursor: pointer; transition: background 140ms ease;
}
.kv2 .v2-auth-submit:hover { background: oklch(15% 0.030 252); }
.kv2 .v2-auth-submit:focus-visible { outline: 2px solid var(--k-emerald-2); outline-offset: 2px; }
.kv2 .v2-auth-submit i { font-size: 12px; }
.kv2 .v2-auth-submit i[hidden] { display: none; }
.kv2 .v2-auth-submit.is-loading > i:not(.fa-spinner) { display: none; }
.kv2 .v2-auth-submit.is-loading .fa-spinner { display: inline-block !important; }
.kv2 .v2-auth-footnote {
  margin-top: 26px; padding-top: 20px;
  border-top: 1px solid var(--k-line-soft);
  font-size: 12px; color: var(--k-ink-3);
  text-align: center;
}
.kv2 .v2-auth-footnote a {
  color: var(--k-emerald-2); font-weight: 600; text-decoration: none;
}
.kv2 .v2-auth-footnote a:hover { text-decoration: underline; }

/* MFA / OTP code input */
.kv2 .v2-otp-group {
  display: flex; gap: 8px; justify-content: center;
  margin: 8px 0 18px;
}
.kv2 .v2-otp-group input {
  width: 48px; height: 56px;
  border: 1.5px solid var(--k-line); border-radius: 10px;
  background: var(--k-card);
  font-family: var(--k-font-mono); font-size: 22px; font-weight: 500;
  text-align: center; color: var(--k-ink);
  letter-spacing: 0;
}
.kv2 .v2-otp-group input:focus {
  outline: none;
  border-color: var(--k-emerald-2);
  box-shadow: 0 0 0 3px oklch(54% 0.115 165 / .15);
}


/* ──────────────────────────────────────────────────────────
 * Resident Auth Shell (VResidentLoginMobV2 Port)
 * ────────────────────────────────────────────────────────── */
.k-resident-auth {
  background: oklch(96% 0.020 75); /* warm sepia */
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}
.k-resident-auth-shell {
  width: 100%;
  max-width: 420px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 32px 24px;
  background: oklch(96% 0.020 75);
}
@media (min-width: 768px) {
  .k-resident-auth-shell {
    height: auto;
    min-height: 600px;
    border-radius: 20px;
    box-shadow: var(--k-shadow-soft);
  }
}
.k-resident-auth-header {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 32px;
}
.k-brand-kure {
  font-family: var(--k-font-display);
  font-style: italic;
  font-size: 26px;
  color: var(--k-ink);
  letter-spacing: -0.025em;
  line-height: 1;
}
.k-brand-sub {
  font-family: var(--k-font-display);
  font-weight: 480;
  font-size: 22px;
  color: var(--k-ink);
  letter-spacing: -0.02em;
  line-height: 1;
}
.k-resident-auth-h1 {
  font-family: var(--k-font-display);
  font-weight: 400;
  font-size: 26px;
  letter-spacing: -0.025em;
  margin: 4px 0 8px;
  line-height: 1.1;
  color: var(--k-ink);
}
.k-resident-auth-h1 em {
  font-style: italic;
}
.k-resident-auth-sub {
  font-size: 12px;
  color: var(--k-ink-3);
  margin-bottom: 24px;
  line-height: 1.4;
}
.k-resident-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.k-resident-auth-field label {
  display: block;
  font-family: var(--k-font-mono);
  font-size: 10px;
  text-transform: uppercase;
  color: var(--k-ink-3);
  margin-bottom: 6px;
  letter-spacing: 0.05em;
}
.k-input-group {
  position: relative;
  display: flex;
  align-items: center;
}
.k-input-icon {
  position: absolute;
  left: 12px;
  color: var(--k-ink-3);
  font-size: 12px;
}
.k-input-group input {
  width: 100%;
  height: 44px;
  background: white;
  border: 1px solid var(--k-line-soft);
  border-radius: 8px;
  padding: 0 12px 0 36px;
  font-family: var(--k-font-mono);
  font-size: 14px;
  color: var(--k-ink);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.k-input-group input:focus {
  outline: none;
  border-color: var(--k-emerald-2);
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.k-resident-auth-info {
  margin-top: 16px;
  padding: 12px;
  background: var(--k-paper-2);
  border-radius: 10px;
  border: 1px solid var(--k-line-soft);
  font-size: 11px;
  color: var(--k-ink-3);
  line-height: 1.55;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.k-resident-auth-info i {
  color: var(--k-emerald-2);
  margin-top: 2px;
}
.k-resident-auth-footer {
  margin-top: auto;
  padding-top: 20px;
  text-align: center;
}
.k-link-emerald {
  color: var(--k-emerald-2);
  font-weight: 600;
}


/* --- Layout Containers --- */
.v2-container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
@media (max-width: 768px) {
    .v2-container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}
