.ltcf-wrap{
  --ltcf-card-bg:#ffffff;
  --ltcf-border:#e5e7eb;
  --ltcf-shadow:0 10px 25px rgba(16,24,40,.06);
  --ltcf-title:#111827;
  --ltcf-sub:#6b7280;
  --ltcf-label:#111827;
  --ltcf-note:#6b7280;
  --ltcf-input-bg:#ffffff;
  --ltcf-input-border:#e5e7eb;
  --ltcf-input-color:#111827;
  --ltcf-focus:#2563eb;
  --ltcf-focus-ring:rgba(37,99,235,.12);
  --ltcf-btn-bg:#2563eb;
  --ltcf-btn-text:#ffffff;
  --ltcf-btn-shadow:rgba(37,99,235,.25);
  --ltcf-toast-ok-bg:#ecfdf5;
  --ltcf-toast-ok-text:#065f46;
  --ltcf-toast-ok-border:#a7f3d0;
  --ltcf-toast-err-bg:#fef2f2;
  --ltcf-toast-err-text:#991b1b;
  --ltcf-toast-err-border:#fecaca;
  max-width:760px;
  margin:20px auto;
  padding:10px;
  border-radius:18px;
}
.ltcf-card{
  background:var(--ltcf-card-bg);
  border:1px solid var(--ltcf-border);
  border-radius:16px;
  box-shadow:var(--ltcf-shadow);
  padding:18px;
}
.ltcf-head{margin-bottom:12px}
.ltcf-title{margin:0;font-size:20px;line-height:1.2;color:var(--ltcf-title)}
.ltcf-sub{margin:6px 0 0;color:var(--ltcf-sub);font-size:13px}
.ltcf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ltcf-field{display:flex;flex-direction:column;gap:6px}
.ltcf-field-full{grid-column:1/-1}
.ltcf-field label{font-weight:600;font-size:13px;color:var(--ltcf-label)}
.ltcf-field .req{color:#dc2626}
.ltcf-field input,
.ltcf-field textarea{
  border:1px solid var(--ltcf-input-border);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  outline:none;
  transition:all .15s ease;
  background:var(--ltcf-input-bg);
  color:var(--ltcf-input-color);
}
.ltcf-field input::placeholder,
.ltcf-field textarea::placeholder{
  color:#94a3b8;
}
.ltcf-field input:focus,
.ltcf-field textarea:focus{
  border-color:var(--ltcf-focus);
  box-shadow:0 0 0 4px var(--ltcf-focus-ring);
}
.ltcf-field input.is-invalid,
.ltcf-field textarea.is-invalid{
  border-color:#dc2626;
  box-shadow:0 0 0 4px rgba(220,38,38,.12);
}
.ltcf-err{min-height:16px;font-size:12px;color:#dc2626}
.ltcf-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.ltcf-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--ltcf-btn-bg);
  color:var(--ltcf-btn-text);
  border:none;
  border-radius:12px;
  padding:12px 16px;
  font-weight:700;
  cursor:pointer;
  transition:all .15s ease;
}
.ltcf-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px var(--ltcf-btn-shadow)}
.ltcf-form.is-loading .ltcf-btn{opacity:.85;transform:none;box-shadow:none;cursor:not-allowed}
.ltcf-spinner{
  width:16px;
  height:16px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:var(--ltcf-btn-text);
  display:none;
  animation:ltcfspin .8s linear infinite;
}
.ltcf-form.is-loading .ltcf-spinner{display:inline-block}
.ltcf-note{color:var(--ltcf-note);font-size:12px}
.ltcf-toast{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:13px;display:none}
.ltcf-toast.is-show{display:block}
.ltcf-toast.is-ok{background:var(--ltcf-toast-ok-bg);color:var(--ltcf-toast-ok-text);border:1px solid var(--ltcf-toast-ok-border)}
.ltcf-toast.is-err{background:var(--ltcf-toast-err-bg);color:var(--ltcf-toast-err-text);border:1px solid var(--ltcf-toast-err-border)}
.ltcf-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
@keyframes ltcfspin{to{transform:rotate(360deg)}}

.ltcf-wrap.ltcf-theme-ocean{
  --ltcf-card-bg:linear-gradient(180deg,#fbfeff 0%,#f2fbff 100%);
  --ltcf-border:#bae6fd;
  --ltcf-shadow:0 14px 30px rgba(2,132,199,.14);
  --ltcf-focus:#0284c7;
  --ltcf-focus-ring:rgba(2,132,199,.16);
  --ltcf-btn-bg:#0284c7;
  --ltcf-btn-shadow:rgba(2,132,199,.32);
  --ltcf-note:#0369a1;
  background:radial-gradient(circle at top right,rgba(14,165,233,.12),transparent 58%);
}

.ltcf-wrap.ltcf-theme-glass{
  --ltcf-card-bg:rgba(255,255,255,.76);
  --ltcf-border:rgba(148,163,184,.38);
  --ltcf-shadow:0 16px 34px rgba(14,116,144,.18);
  --ltcf-focus:#0ea5e9;
  --ltcf-focus-ring:rgba(14,165,233,.2);
  --ltcf-btn-bg:#0ea5e9;
  --ltcf-btn-shadow:rgba(14,165,233,.34);
  --ltcf-note:#155e75;
  background:linear-gradient(120deg,#e0f2fe 0%,#f0f9ff 42%,#dbeafe 100%);
}
.ltcf-wrap.ltcf-theme-glass .ltcf-card{
  backdrop-filter:blur(9px);
}

.ltcf-wrap.ltcf-theme-sunset{
  --ltcf-card-bg:#fffaf5;
  --ltcf-border:#fed7aa;
  --ltcf-shadow:0 12px 28px rgba(249,115,22,.16);
  --ltcf-focus:#f97316;
  --ltcf-focus-ring:rgba(249,115,22,.16);
  --ltcf-btn-bg:#f97316;
  --ltcf-btn-shadow:rgba(249,115,22,.33);
  --ltcf-note:#9a3412;
  background:radial-gradient(circle at 90% 0,rgba(251,146,60,.19),transparent 52%);
}

.ltcf-wrap.ltcf-theme-forest{
  --ltcf-card-bg:#f7fdf8;
  --ltcf-border:#bbf7d0;
  --ltcf-shadow:0 12px 28px rgba(21,128,61,.15);
  --ltcf-focus:#15803d;
  --ltcf-focus-ring:rgba(21,128,61,.16);
  --ltcf-btn-bg:#15803d;
  --ltcf-btn-shadow:rgba(21,128,61,.32);
  --ltcf-note:#14532d;
  background:radial-gradient(circle at 85% 0,rgba(74,222,128,.17),transparent 48%);
}

.ltcf-wrap.ltcf-theme-graphite{
  --ltcf-card-bg:#0f172a;
  --ltcf-border:#334155;
  --ltcf-shadow:0 14px 32px rgba(2,6,23,.35);
  --ltcf-title:#e2e8f0;
  --ltcf-sub:#94a3b8;
  --ltcf-label:#e2e8f0;
  --ltcf-note:#94a3b8;
  --ltcf-input-bg:#111827;
  --ltcf-input-border:#334155;
  --ltcf-input-color:#f8fafc;
  --ltcf-focus:#93c5fd;
  --ltcf-focus-ring:rgba(147,197,253,.22);
  --ltcf-btn-bg:#334155;
  --ltcf-btn-shadow:rgba(51,65,85,.42);
  --ltcf-toast-ok-bg:rgba(16,185,129,.12);
  --ltcf-toast-ok-text:#6ee7b7;
  --ltcf-toast-ok-border:rgba(16,185,129,.3);
  --ltcf-toast-err-bg:rgba(239,68,68,.12);
  --ltcf-toast-err-text:#fca5a5;
  --ltcf-toast-err-border:rgba(239,68,68,.3);
  background:radial-gradient(circle at top left,rgba(30,41,59,.75),rgba(15,23,42,1) 56%);
}
.ltcf-wrap.ltcf-theme-graphite .ltcf-field .req{
  color:#fca5a5;
}

@media (max-width:680px){
  .ltcf-grid{grid-template-columns:1fr}
  .ltcf-wrap{padding:0}
  .ltcf-card{border-radius:14px}
}
