/* ============================================================
   File: wp-content/plugins/dynamic-estimator/assets/css/contractor/login.css
   Purpose: Modern, responsive login form (matches registration style).
   ============================================================ */

:root{
  --de-bg:#ffffff; --de-card:#ffffff; --de-border:#e5e7eb; --de-muted:#6b7280;
  --de-text:#0f172a; --de-primary:#2563eb; --de-primary-600:#1d4ed8;
  --de-shadow:0 1px 2px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04);
  --de-radius:14px; --de-gap:14px;
  --de-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.de-login{ padding:32px 16px; background:var(--de-bg); font-family:var(--de-font); color:var(--de-text); }
.de-login__container{ max-width:520px; margin:0 auto; background:var(--de-card); border:1px solid var(--de-border); border-radius:var(--de-radius); box-shadow:var(--de-shadow); padding:24px; }
.de-login__header{ margin-bottom:8px; }
.de-login__title{ margin:0 0 6px; font-size:clamp(1.4rem,3vw,1.8rem); line-height:1.2; }
.de-login__subtitle{ margin:0; color:var(--de-muted); font-size:.95rem; }

.de-login__form{ margin-top:12px; }
.de-field{ display:flex; flex-direction:column; gap:6px; margin-top:12px; }
.de-label{ font-weight:600; font-size:.95rem; }
.de-input{
  width:100%; padding:12px 14px; border:1px solid var(--de-border); border-radius:10px; background:#fff; font-size:1rem;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.de-input:focus{ outline:none; border-color:var(--de-primary); box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.de-help{ margin:0; color:var(--de-muted); font-size:.85rem; }

.de-row{ display:flex; justify-content:space-between; align-items:center; margin-top:10px; }
.de-check{ display:flex; align-items:center; gap:8px; color:var(--de-text); }
.de-link{ color:#e11d48; text-decoration:none; font-weight:600; }
.de-link:hover{ text-decoration:underline; }

.de-actions{ margin-top:16px; }
.de-btn{
  display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:10px; border:1px solid transparent;
  font-weight:600; cursor:pointer; transition:background-color .15s ease, box-shadow .15s ease, transform .02s ease;
}
.de-btn--primary{ background:var(--de-primary); color:#fff; }
.de-btn--primary:hover{ background:var(--de-primary-600); }
.de-btn:active{ transform:translateY(1px); }

/* Responsive tweaks */
@media (max-width: 720px){
  .de-login{ padding:24px 12px; }
  .de-login__container{ border-radius:12px; padding:20px; }
}
.de-input--error { border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,0.12); }
