/* DilseTalk — shared brand stylesheet for the auth/booking system.
   Uses the same design tokens as the main site's css/styles.css so every
   page (register, login, verify, dashboard, services, payment, bookings)
   looks like one continuous product instead of a bolted-on backend. */

:root{
  --navy:#1b1a4b;
  --navy-2:#221f5e;
  --coral:#f0396b;
  --coral-2:#f4527d;
  --orange:#f6a721;
  --orange-2:#f9c04c;
  --cream:#fff8f2;
  --pink-tint:#fdeef0;
  --text-dark:#1b1a4b;
  --text-muted:#6b6a8a;
  --border:#eee6f2;
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:10px;
  --shadow:0 10px 30px rgba(27,26,75,0.08);
  --shadow-sm:0 4px 14px rgba(27,26,75,0.06);
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;
  background:var(--cream);
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
}

a{color:var(--coral); text-decoration:none;}
a:hover{text-decoration:underline;}

/* ---- Top bar with DilseTalk logo, present on every auth page ---- */
.auth-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1000px;
  margin:0 auto;
  padding:22px 24px;
}
.auth-topbar .brand{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:20px;
  font-weight:800;
  color:var(--navy);
}
.auth-topbar .brand .mark{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--orange),var(--coral));
  display:flex;align-items:center;justify-content:center;
  color:#fff; font-size:15px;
}
.auth-topbar .back-link{
  font-size:13.5px;
  font-weight:700;
  color:var(--navy);
}

/* ---- Centered card used by register/login/verify/dashboard/booking_success ---- */
.page-center{
  display:flex;
  justify-content:center;
  padding:24px 24px 72px;
}
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
  padding:36px;
  width:100%;
  max-width:400px;
}
.card h2{
  margin:0 0 6px;
  font-size:22px;
  color:var(--navy);
}
.card .subtitle{
  font-size:13.5px;
  color:var(--text-muted);
  margin:0 0 22px;
}

label{
  display:block;
  margin:16px 0 8px;
  font-size:13px;
  font-weight:700;
  color:var(--navy);
}
label:first-of-type{margin-top:0;}

input[type=email],
input[type=password],
input[type=text]{
  width:100%;
  padding:12px 14px;
  border:1.5px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:14px;
  font-family:inherit;
  color:var(--text-dark);
  outline:none;
  transition:border-color .15s ease;
}
input[type=email]:focus,
input[type=password]:focus,
input[type=text]:focus{
  border-color:var(--coral);
}

button, .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin-top:22px;
  padding:14px 24px;
  border:none;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  font-family:inherit;
  cursor:pointer;
  text-decoration:none;
  background:linear-gradient(90deg,var(--orange) 0%,var(--coral) 100%);
  color:#fff;
  box-shadow:0 8px 20px rgba(240,57,107,0.28);
  transition:transform .18s ease;
}
button:hover, .btn:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.btn-outline{
  background:#fff;
  color:var(--coral);
  border:2px solid var(--coral);
  box-shadow:none;
}

.msg-success{
  background:#dff5ea;
  color:#1f7a4a;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  font-size:13.5px;
  font-weight:600;
  margin-bottom:14px;
}
.msg-error{
  background:#fde3ea;
  color:#c0265a;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  font-size:13.5px;
  font-weight:600;
  margin-bottom:14px;
}

.footer-link{
  text-align:center;
  margin-top:20px;
  font-size:13.5px;
  color:var(--text-muted);
}
.footer-link a{font-weight:700;}

/* ---- Dashboard info rows ---- */
.info-row{
  display:flex;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid var(--border);
  font-size:13.5px;
}
.info-row:last-child{border-bottom:none;}
.info-label{color:var(--text-muted);}
.info-value{font-weight:700; color:var(--navy); text-align:right;}

.dash-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:22px;
}
.dash-links a{
  display:block;
  text-align:center;
  padding:13px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
}
.dash-links a.primary{
  background:linear-gradient(90deg,var(--orange),var(--coral));
  color:#fff;
}
.dash-links a.secondary{
  background:var(--cream);
  color:var(--navy);
}
.dash-links a.muted{
  color:var(--text-muted);
  font-weight:600;
}
