/* ==========================================================================
   MELLIFERA TECH B2B - FORMS & DEALER ONBOARDING
   B2B Registration, Application Status & Login Styling
   ========================================================================== */

/* Legacy portal header compatibility: product, cart, login and application pages. */
.top-bar{background:#1b2a4a;color:#fff;font-size:.78rem}.top-bar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between}.top-bar-item{display:flex;align-items:center;gap:.35rem}.top-bar-item svg{width:15px;height:15px;color:#ffe600}.top-bar-right{display:flex;align-items:center;gap:1rem}.main-header{background:#fff;border-bottom:1px solid #e5e9f0}.header-inner{min-height:84px;display:flex;align-items:center;gap:2rem}.brand-logo{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ffe600;color:#1b2a4a}.brand-text{display:grid;line-height:1.1}.brand-name{font-family:var(--font-heading);font-size:1.05rem;font-weight:900;letter-spacing:.04em;color:#1b2a4a}.brand-tagline{margin-top:.22rem;font-size:.61rem;letter-spacing:.09em;font-weight:800;color:#64748b}.search-container{position:relative;flex:1;max-width:520px;margin-left:auto}.search-form{display:flex;width:100%}.search-input{width:100%;height:42px;padding:0 .85rem;border:1px solid #d9e0ea;border-radius:8px 0 0 8px;font:inherit}.search-btn{width:45px;border:0;border-radius:0 8px 8px 0;background:#ffe600;color:#1b2a4a;cursor:pointer}.header-actions,#header-user-actions{display:flex;align-items:center;gap:.7rem;margin-left:auto}.header-actions .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.68rem .9rem;font:800 .78rem var(--font-main);background:#ffe600;color:#1b2a4a;border:0}.main-footer{background:#1b2a4a;color:#dce5f3}.footer-bottom{min-height:64px;display:flex;align-items:center;justify-content:space-between;font-size:.78rem}.footer-bottom a{color:#ffe600;font-weight:800}@media(max-width:760px){.header-inner{min-height:70px;gap:.8rem}.brand-tagline,.search-container{display:none}.header-actions{margin-left:auto}.footer-bottom{padding:1rem 0;gap:.5rem;align-items:flex-start;flex-direction:column}}

.auth-page-wrapper {
  min-height: calc(100vh - 200px);
  padding: 3.5rem 0 5rem;
  background: linear-gradient(180deg, #f8fafc 0%, #edf2f7 100%);
}

.auth-container {
  max-width: 860px;
  margin: 0 auto;
}

.auth-card {
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
  overflow: hidden;
}

.auth-card-header {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
  padding: 2.25rem 2.5rem;
  position: relative;
}

.auth-card-header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #ffe600;
}

.auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #ffe600;
  border: 1px solid #ffe600;
  color: #1b2a4a;
  font-size: 0.775rem;
  font-weight: 700;
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-full);
  margin-bottom: 0.75rem;
}

.auth-title {
  font-size: 1.85rem;
  color: #ffffff;
  margin-bottom: 0.5rem;
}

.auth-subtitle {
  color: #94a3b8;
  font-size: 0.95rem;
  line-height: 1.5;
}

.auth-card-body {
  padding: 2.5rem;
}

/* Notice Box in Forms */
.b2b-notice-box {
  background: #f8fafc;
  border: 1px solid #dce3ec;
  border-left: 4px solid #1b2a4a;
  border-radius: var(--radius-md);
  padding: 1.15rem 1.25rem;
  margin-bottom: 2rem;
  display: block;
}

.b2b-notice-box.warning {
  background: rgba(255, 230, 0, 0.12);
  border-color: #ffe600;
}

.b2b-notice-icon { display:none; }

.b2b-notice-box.warning .b2b-notice-icon {
  color: #1b2a4a;
}

.b2b-notice-content h5 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1b2a4a;
  margin-bottom: 0.25rem;
}

.b2b-notice-box.warning .b2b-notice-content h5 {
  color: #92400e;
}

.b2b-notice-content p {
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.45;
}

.b2b-notice-box.warning .b2b-notice-content p {
  color: #b45309;
}

/* Form Sections */
.form-section {
  margin-bottom: 2.25rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--border-color);
}

.form-section:last-of-type {
  border-bottom: none;
  margin-bottom: 1.5rem;
  padding-bottom: 0;
}

.form-section-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.form-section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.secondary-contact-toggle{border:1px solid #1b2a4a;border-radius:8px;background:#fff;color:#1b2a4a;padding:.58rem .8rem;cursor:pointer;font:800 .76rem var(--font-main)}.secondary-contact-toggle:hover{background:#1b2a4a;color:#fff}.secondary-contact-panel{margin:1.25rem 0 0;padding:1.1rem;border:1px solid #dce3ec;border-radius:10px;background:#f8fafc}.secondary-contact-panel[hidden]{display:none}.secondary-contact-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.secondary-contact-head strong,.secondary-contact-head span{display:block}.secondary-contact-head strong{color:#1b2a4a;font-size:.9rem}.secondary-contact-head span{margin-top:.15rem;color:#64748b;font-size:.72rem}.secondary-contact-head button{border:0;background:transparent;color:#64748b;cursor:pointer;font:800 .72rem var(--font-main)}

.form-section-number {
  width: 26px;
  height: 26px;
  border-radius: var(--radius-full);
  background: var(--primary);
  color: var(--accent-amber);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 800;
}

/* Form Fields */
.form-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.form-row.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.form-row.single {
  grid-template-columns: 1fr;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.form-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-main);
  margin-bottom: 0.45rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.form-label .required {
  color: var(--danger);
}

.form-label .hint {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--text-muted);
}

.form-control {
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 0.925rem;
  border: 1.5px solid var(--border-color);
  border-radius: var(--radius-md);
  background: #f8fafc;
  color: var(--text-main);
  outline: none;
  transition: var(--transition);
}

.form-control:focus {
  border-color: var(--accent-amber);
  background: #ffffff;
  box-shadow: 0 0 0 3px var(--accent-amber-glow);
}

select.form-control {
  cursor: pointer;
}

textarea.form-control {
  resize: vertical;
  min-height: 90px;
}

/* Document Upload Dropzone */
.file-upload-box {
  border: 2px dashed #cbd5e1;
  border-radius: var(--radius-md);
  padding: 1.75rem;
  text-align: center;
  background: #f8fafc;
  cursor: pointer;
  transition: var(--transition);
  position: relative;
}

.file-upload-box:hover {
  border-color: var(--accent-amber);
  background: rgba(255, 230, 0, 0.12);
}

.file-upload-icon {
  font-size: 2rem;
  color: #6b5800;
  margin-bottom: 0.5rem;
}

.file-upload-text {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-main);
}

.file-upload-subtext {
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

.file-input-hidden {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.uploaded-file-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--success-light);
  color: #065f46;
  padding: 0.4rem 0.85rem;
  border-radius: var(--radius-full);
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 0.75rem;
}
.status-waiting-text{color:#1b2a4a}.badge-amber{border-color:#ffe600!important;background:#ffe600!important;color:#1b2a4a!important}

/* Category Checkbox Grid for Application Form */
.category-select-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.cat-check-card {
  border: 1.5px solid var(--border-color);
  border-radius: var(--radius-md);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
  background: #f8fafc;
  transition: var(--transition);
}

.cat-check-card:hover {
  background: #ffffff;
  border-color: #cbd5e1;
}

.cat-check-card input[type="checkbox"] {
  accent-color: var(--accent-amber);
  width: 18px;
  height: 18px;
}

.cat-check-card span {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-secondary);
}

/* Application Status / Feedback Screen */
.status-card {
  text-align: center;
  padding: 3.5rem 2.5rem;
}

.status-icon-wrapper {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  margin: 0 auto 1.5rem;
}

.status-icon-pending {
  background: rgba(255, 230, 0, 0.12);
  color: #1b2a4a;
  border: 4px solid #ffe600;
  animation: pulseAmber 2s infinite;
}

.status-icon-approved {
  background: var(--success-light);
  color: var(--success);
  border: 4px solid #a7f3d0;
}

.status-icon-rejected {
  background: var(--danger-light);
  color: var(--danger);
  border: 4px solid #fecaca;
}

.status-title {
  font-size: 1.75rem;
  color: var(--primary);
  margin-bottom: 0.75rem;
}

.status-desc {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 580px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}

.status-details-box {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: var(--radius-md);
  max-width: 500px;
  margin: 0 auto 2.5rem;
  padding: 1.25rem 1.5rem;
  text-align: left;
}

.status-detail-row {
  display: flex;
  justify-content: space-between;
  padding: 0.45rem 0;
  border-bottom: 1px solid #e2e8f0;
  font-size: 0.875rem;
}

.status-detail-row:last-child {
  border-bottom: none;
}

.status-detail-label {
  color: var(--text-muted);
}

.status-detail-val {
  font-weight: 700;
  color: var(--text-main);
}

@keyframes pulseAmber {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* Login Page Specifics */
.login-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
}

.login-perks-side {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.login-perks-side h3 {
  color: #ffffff;
  font-size: 1.65rem;
  margin-bottom: 1rem;
}

.login-perks-side p {
  color: #94a3b8;
  font-size: 0.925rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.login-perk-item {
  display: flex;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.login-perk-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  background: rgba(255, 230, 0, 0.12);
  color: #6b5800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.login-perk-content h5 {
  color: #f1f5f9;
  font-size: 0.95rem;
}

.login-perk-content p {
  color: #64748b;
  font-size: 0.8rem;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .form-section-heading-row{align-items:stretch;flex-direction:column}.secondary-contact-toggle{align-self:flex-start;margin-top:-.5rem;margin-bottom:1rem}
  .form-row, .form-row.cols-3 {
    grid-template-columns: 1fr;
  }
  .category-select-grid {
    grid-template-columns: 1fr;
  }
  .login-split {
    grid-template-columns: 1fr;
  }
  .login-perks-side {
    display: none;
  }
  .auth-card-body {
    padding: 1.5rem;
  }
}
.legal-acceptance-box{display:grid;gap:.8rem;margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid #d7dee9;border-radius:12px;background:#f8fafc}.legal-check{display:flex;align-items:flex-start;gap:.7rem;color:#334155;font-size:.82rem;line-height:1.5;cursor:pointer}.legal-check input{flex:0 0 auto;width:18px;height:18px;margin-top:.12rem;accent-color:#1b2a4a}.legal-check a{color:#1b2a4a;font-weight:800;text-decoration:underline}.legal-check b{color:#dc2626}.legal-acceptance-box>small{color:#64748b;line-height:1.45}.cart-legal-acceptance{margin:1rem 0}
