/* =========================================================
   Portal blank template shell (Premium SaaS)
   - prevents theme header overlap
   - ensures readable text/inputs
   ========================================================= */

body.los-portal-blank{
  margin:0;
  background:linear-gradient(180deg,#f6f8fb 0%, #eef2f7 60%, #f6f8fb 100%);
  color:#0f172a;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* Topbar with small centered logo */
.los-portal-topbar{
  height:auto;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
}
.los-portal-logo img{
  max-height:110px;
  width:auto;
  display:block;
}
.los-portal-logo-text{
  font-weight:800;
  letter-spacing:.2px;
  font-size:18px;
}

.los-portal-shell{padding:16px 16px 30px; max-width:1200px; margin:0 auto;}

/* Make common headings readable */
.los-portal-shell h1,.los-portal-shell h2,.los-portal-shell h3{color:#0b1220; margin-top:0;}

/* Improve greeting contrast (Bonjour, ... ) */
.los-dashboard-hero, .los-dashboard-header{color:#e2e8f0;}
.los-dashboard-hero .los-hello, .los-dashboard-header .los-hello{color:#ffffff; opacity:1;}

/* Inputs readability */
.los-portal-shell input[type=text],
.los-portal-shell input[type=number],
.los-portal-shell input[type=email],
.los-portal-shell select,
.los-portal-shell textarea{
  color:#0f172a;
  background:#ffffff;
  border:1px solid rgba(148,163,184,.35);
  border-radius:12px;
  padding:12px 14px;
  outline:none;
  font-size:16px;
  line-height:1.4;
  box-sizing:border-box;
}
.los-portal-shell select{
  /* Fix: avoid option text being clipped vertically in Chrome */
  min-height:48px;
  line-height:24px;
  padding-top:10px;
  padding-bottom:10px;
}
.los-portal-shell input:focus,
.los-portal-shell select:focus,
.los-portal-shell textarea:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 3px rgba(96,165,250,.18);
}

/* Buttons */
.los-portal-shell .button,
.los-portal-shell button,
.los-portal-shell input[type=submit]{
  border:0;
  border-radius:12px;
  padding:12px 16px;
  cursor:pointer;
}

/* Tracking bar styling (so it doesn't look like plain text) */
.los-track{display:flex;align-items:flex-start;gap:10px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.los-track-step{display:flex;flex-direction:column;align-items:center;min-width:92px}
.los-track-dot{width:24px;height:24px;border-radius:999px;border:2px solid rgba(148,163,184,.55);display:flex;align-items:center;justify-content:center;font-weight:800;color:#0b1220;background:#fff;font-size:12px}
.los-track-label{margin-top:6px;font-size:12px;line-height:1.2;text-align:center;color:#334155;max-width:110px}
.los-track-line{height:3px;flex:1;min-width:36px;border-radius:999px;background:rgba(148,163,184,.35);margin-top:11px}
.los-track-step.is-done .los-track-dot{background:#16a34a;border-color:#16a34a;color:#fff}
.los-track-step.is-current .los-track-dot{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.los-track-line.is-done{background:#16a34a}

/* =========================================================
   Create Order form spacing fixes (fields/labels not clipped)
   ========================================================= */
#lens-order-form .los-section-body{padding-top:10px !important; overflow:visible !important;}
#lens-order-form .los-field-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:10px 0 16px;
}
#lens-order-form .los-field{
  flex:1 1 220px;
  min-width:200px;
}
#lens-order-form .los-field label{
  display:block;
  margin:0 0 6px !important;
  font-size:12px;
  font-weight:800;
  color:#475569;
  letter-spacing:.02em;
  line-height:1.2;
}
#lens-order-form select,
#lens-order-form input[type="text"],
#lens-order-form input[type="number"],
#lens-order-form input[type="email"],
#lens-order-form textarea{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.55);
  background:#fff;
  outline:none;
}
#lens-order-form select:focus,
#lens-order-form input:focus,
#lens-order-form textarea:focus{
  border-color:rgba(37,99,235,.65);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
}
#lens-order-form h4{
  margin:14px 0 8px !important;
}

/* Fix clipped text inside <select> on Chrome/Windows: enforce stable height/line-height */
.los-portal-shell select{
  padding-top:0 !important;
  padding-bottom:0 !important;
  height:48px !important;
  min-height:48px !important;
  line-height:48px !important;
}
/* Lens order form selects sometimes inherit odd line-height; normalize */
#lens-order-form select{
  padding-top:0 !important;
  padding-bottom:0 !important;
  height:48px !important;
  min-height:48px !important;
  line-height:48px !important;
}


/* Tracking compact: allow wrap on small screens */
@media (max-width: 640px){
  .los-track{flex-wrap:wrap;overflow-x:visible}
  .los-track-line{min-width:28px}
}
