/* DataNet Auth + Submission Form Theme Add-on */
/* Loaded by auth/guest layouts and available for submission forms. No Vite required. */

:root{
  --dn-bg:#f6fbff;
  --dn-surface:#ffffff;
  --dn-border:#dbeafe;
  --dn-text:#0f172a;
  --dn-muted:#64748b;
  --dn-blue:#38bdf8;
  --dn-blue-2:#0ea5e9;
  --dn-blue-3:#0369a1;
  --dn-shadow:0 18px 45px rgba(15,23,42,.08);
  --dn-shadow-soft:0 10px 30px rgba(14,165,233,.10);
  --dn-radius:24px;
}

.dn-auth-page{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,520px);
  background:
    radial-gradient(circle at 12% 8%, rgba(186,230,253,.75), transparent 28rem),
    radial-gradient(circle at 84% 82%, rgba(56,189,248,.22), transparent 24rem),
    linear-gradient(135deg,#f8fcff 0%,#ffffff 48%,#eef9ff 100%);
}

.dn-auth-hero{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:64px;
  background:
    linear-gradient(135deg,rgba(15,23,42,.92),rgba(12,74,110,.88)),
    radial-gradient(circle at 70% 18%, rgba(56,189,248,.55), transparent 22rem);
  color:white;
}

.dn-auth-hero:after{
  content:"";
  position:absolute;
  inset:auto -120px -160px auto;
  width:420px;
  height:420px;
  border-radius:999px;
  background:rgba(125,211,252,.24);
  filter:blur(8px);
}

.dn-auth-hero-inner{
  position:relative;
  z-index:2;
  max-width:720px;
}

.dn-auth-logo{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-bottom:44px;
}

.dn-auth-mark{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#7dd3fc,#0ea5e9);
  box-shadow:0 18px 36px rgba(14,165,233,.28);
  color:white;
  font-weight:950;
}

.dn-auth-logo-title{
  display:block;
  font-size:1.2rem;
  font-weight:950;
  letter-spacing:-.04em;
}

.dn-auth-logo-sub{
  display:block;
  color:#bae6fd;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.dn-auth-kicker{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.10);
  border-radius:999px;
  padding:8px 12px;
  color:#e0f2fe;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dn-auth-hero h1{
  margin:18px 0 18px;
  font-size:clamp(2.4rem,5vw,5rem);
  line-height:.94;
  letter-spacing:-.075em;
}

.dn-auth-hero p{
  margin:0;
  max-width:650px;
  color:#e0f2fe;
  line-height:1.8;
  font-size:1.08rem;
}

.dn-auth-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}

.dn-auth-point{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(14px);
  border-radius:22px;
  padding:16px;
}

.dn-auth-point strong{
  display:block;
  font-size:1.08rem;
  margin-bottom:5px;
}

.dn-auth-point span{
  color:#bae6fd;
  font-size:.86rem;
  line-height:1.45;
}

.dn-auth-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:36px;
}

.dn-auth-card{
  width:100%;
  max-width:460px;
  background:rgba(255,255,255,.92);
  border:1px solid #dbeafe;
  border-radius:30px;
  box-shadow:0 24px 70px rgba(15,23,42,.10);
  padding:30px;
}

.dn-auth-card h2{
  margin:0 0 8px;
  color:#0f172a;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.055em;
}

.dn-auth-card p{
  color:#64748b;
  line-height:1.65;
}

.dn-auth-form{
  display:grid;
  gap:16px;
  margin-top:22px;
}

.dn-auth-field{
  display:grid;
  gap:7px;
}

.dn-auth-field label,
.dn-form-section label{
  font-weight:850;
  color:#334155;
  font-size:.9rem;
}

.dn-auth-input,
.dn-form-section input[type="text"],
.dn-form-section input[type="email"],
.dn-form-section input[type="url"],
.dn-form-section input[type="tel"],
.dn-form-section input[type="number"],
.dn-form-section input[type="date"],
.dn-form-section input[type="file"],
.dn-form-section select,
.dn-form-section textarea{
  width:100%;
  min-height:46px;
  border:1px solid #cbd5e1;
  background:#fff;
  border-radius:16px;
  padding:12px 14px;
  color:#0f172a;
  outline:0;
  transition:.18s ease;
}

.dn-auth-input:focus,
.dn-form-section input:focus,
.dn-form-section select:focus,
.dn-form-section textarea:focus{
  border-color:#38bdf8;
  box-shadow:0 0 0 4px rgba(56,189,248,.15);
}

.dn-auth-check{
  display:flex;
  align-items:center;
  gap:9px;
  color:#475569;
  font-weight:700;
}

.dn-auth-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.dn-auth-link{
  color:#0369a1;
  font-weight:850;
}

.dn-auth-link:hover{
  color:#0ea5e9;
}

.dn-auth-error{
  color:#b91c1c;
  font-size:.84rem;
  font-weight:750;
}

.dn-form-shell{
  display:grid;
  gap:22px;
}

.dn-form-progress{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}

.dn-form-step{
  background:white;
  border:1px solid #dbeafe;
  border-radius:22px;
  padding:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.dn-form-step strong{
  display:block;
  color:#075985;
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.dn-form-step span{
  display:block;
  color:#64748b;
  margin-top:5px;
  font-size:.9rem;
}

.dn-form-section{
  background:rgba(255,255,255,.94);
  border:1px solid #dbeafe;
  border-radius:28px;
  box-shadow:0 14px 38px rgba(14,165,233,.09);
  overflow:hidden;
}

.dn-form-section-head{
  padding:22px 24px;
  border-bottom:1px solid #dbeafe;
  background:
    radial-gradient(circle at 92% 0%, rgba(56,189,248,.18), transparent 15rem),
    linear-gradient(135deg,#ffffff,#f0f9ff);
}

.dn-form-section-head p{
  margin:0 0 6px;
  color:#0284c7;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dn-form-section-head h2,
.dn-form-section-head h3{
  margin:0;
  color:#0f172a;
  letter-spacing:-.04em;
}

.dn-form-section-body{
  padding:24px;
}

.dn-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.dn-form-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.dn-form-full{
  grid-column:1 / -1;
}

.dn-form-help{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:.82rem;
  line-height:1.45;
}

.dn-form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:20px 24px;
  border-top:1px solid #dbeafe;
  background:#f8fbff;
}

.dn-form-error-summary{
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#991b1b;
  border-radius:22px;
  padding:16px 18px;
  line-height:1.6;
}

.dn-form-error-summary strong{
  display:block;
  margin-bottom:6px;
}

.dn-file-note{
  border:1px dashed #bae6fd;
  background:#f0f9ff;
  border-radius:18px;
  padding:13px;
  color:#075985;
  font-size:.88rem;
  line-height:1.55;
}

@media (max-width: 1040px){
  .dn-auth-page{grid-template-columns:1fr}
  .dn-auth-hero{padding:42px 24px}
  .dn-auth-panel{padding:24px}
}

@media (max-width: 720px){
  .dn-auth-points,
  .dn-form-progress,
  .dn-form-grid,
  .dn-form-grid-3{
    grid-template-columns:1fr;
  }
  .dn-auth-card{padding:22px;border-radius:24px}
  .dn-auth-footer{align-items:flex-start;flex-direction:column}
}
