/* =============================================
   RTL & SPA Overrides for DiSP App
   Based on ZoFeb template, adapted for Persian/RTL
   ============================================= */

/* Base RTL direction */
html[dir="rtl"] .site_content { direction: rtl; }
html[dir="rtl"] body { font-family: 'Vazirmatn', 'Tahoma', sans-serif; direction: rtl; text-align: right; overflow: scroll !important;}

/* Navbar RTL fixes */
html[dir="rtl"] .top-header-full { flex-direction: row-reverse; }
html[dir="rtl"] .lets-section { flex-direction: row-reverse; }
html[dir="rtl"] .lets-section .lets-u-text { margin-right: 0; margin-left: auto; }
html[dir="rtl"] .back-btn a { margin-right: 0; margin-left: 10px; }

/* Input RTL */
html[dir="rtl"] .email-pass-main { direction: rtl; }
html[dir="rtl"] .form-item input { direction: rtl; text-align: right; }
html[dir="rtl"] .eye-off { left: 15px; right: auto; }

/* Offcanvas from right in RTL */
html[dir="rtl"] .offcanvas.offcanvas-start { direction: rtl; }
html[dir="rtl"] .offcanvas-start { --bs-offcanvas-transform: translateX(100%); }

/* Page loader centered */
.page-loader {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: #fff; z-index: 99999;
  display: flex; align-items: center; justify-content: center;
  direction: ltr;
}
.page-loader .blob {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, #4361ee, #7209b7);
  animation: blobPulse 1s ease-in-out infinite alternate;
}
@keyframes blobPulse {
  from { transform: scale(0.8); opacity: 0.6; }
  to { transform: scale(1.2); opacity: 1; }
}

/* Splash specific */
.splash-img1 { position: absolute; top: 0; left: 0; width: 100%; }
.splash-img2 { position: absolute; bottom: 0; right: 0; width: 100%; }
.splash-logo-box { text-align: center; position: relative; z-index: 2; }
.splash-logo-box img { width: 80px; }
.splash-logo-box .logo-text { font-size: 24px; font-weight: 700; color: #1a1a2e; margin-top: 10px; }
.splash-logo-box .logo-sub-text { font-size: 12px; color: #666; }

/* Onboarding slider */
.onboarding-slider { min-height: 100vh; direction: ltr; position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
z-index: 999;}
.Onboarding-main { min-height: 100vh; display: flex; align-items: flex-end; padding-bottom: 80px; position: relative; }
.boarding-title { text-align: center; margin-bottom: 30px; }
.boarding-title h2 { font-size: 22px; font-weight: 700; color: #fff; }
.boarding-title p { font-size: 14px; color: #fff; margin-top: 8px; }
.onboarding-next-btn { text-align: center; margin-top: 20px; }
.onboarding-next-btn img { width: 50px; }
.custom-slider-dots { width: 8px; height: 8px; border-radius: 50%; background: #ccc; border: none; margin: 0 3px; }
.custom-slider-dots.active { background: #4361ee; width: 24px; border-radius: 4px; }

/* Header - Inner pages */
.lets-section { display: flex; align-items: center; padding: 15px 20px; }
.lets-section .nav-header { width: 24px; }
.lets-section .lets-u-text { font-size: 18px; font-weight: 700; color: #1a1a2e; flex: 1; text-align: center; }

/* Header - Main pages */
.top-navbar { position: sticky; top: 0; z-index: 100; background: #fff; padding: 12px 0; transition: all 0.3s; }
.top-navbar.fixed { box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.top-header-full { display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; }
.back-btn a { display: flex; align-items: center; }
.back-btn img { width: 24px; }
.header-title h1 { font-size: 18px; font-weight: 700; color: #1a1a2e; }
.skip-header-btn img { width: 24px; }

/* Section main */
.section-main-ver { padding: 20px; min-height: calc(100vh - 120px); }
.section-main-ver.mb-4 { margin-bottom: 60px; }
.site_lr-spacer { padding: 0 20px; }

/* Buttons */
.button-main { padding: 0 20px; margin-top: 20px; }
.button-main a, .button-main button {
  display: block; text-align: center; padding: 14px 0; border-radius: 12px;
  background: #4361ee; color: #fff; font-size: 16px; font-weight: 600;
  text-decoration: none; border: none; width: 100%; cursor: pointer;
}
.button-main a:active, .button-main button:active { transform: scale(0.98); }

/* Remember section */
.remember-section { display: flex; justify-content: space-between; align-items: center; padding: 15px 20px; }
.footer-checkbox-sec { display: flex; align-items: center; gap: 8px; }
.footer-chec-txt { font-size: 13px; color: #666; }
.forget-btn a { font-size: 13px; color: #4361ee; text-decoration: none; font-weight: 600; }

/* Or section */
.or-section { text-align: center; padding: 20px; }
.or-section p { font-size: 13px; color: #999; }

/* Media icons (social login) */
.media-main { display: flex; justify-content: center; gap: 20px; padding: 0 20px; }
.let-media-icons { width: 50px; height: 50px; border-radius: 12px; border: 1px solid #eee;
  display: flex; align-items: center; justify-content: center; }
.let-media-icons img { width: 22px; }

/* Sign in/up link */
.sing-in-up { text-align: center; font-size: 13px; color: #666; padding: 20px; margin-bottom: 20px; }
.sing-in-up a { color: #4361ee; text-decoration: none; font-weight: 600; }

/* Profile picture */
.camera-main { position: relative; width: 100px; height: 100px; margin: 0 auto 20px; }
.circle-img-girl { width: 100px; height: 100px; border-radius: 50%; overflow: hidden; }
.circle-img-girl img { width: 100%; height: 100%; object-fit: cover; }
.camera-img-main { position: absolute; bottom: 0; right: 0; width: 30px; height: 30px;
  background: #4361ee; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.camera-img-main img { width: 16px; }
.file-upload { display: none; }

/* Verification text */
.veri-text { font-size: 14px; color: #666; text-align: center; padding: 20px 20px 0; margin-top: 10px; }
.img1-main { text-align: center; padding: 20px 0; }
.img1-main img { max-width: 200px; }

/* OTP field */
.otp-field { display: flex; gap: 12px; justify-content: center; padding: 20px; }
.otp-field input { width: 55px; height: 55px; border: 2px solid #eee; border-radius: 12px;
  text-align: center; font-size: 20px; font-weight: 700; outline: none; }
.otp-field input:focus, .otp-field input.filled { border-color: #4361ee; }
.no-spinners::-webkit-inner-spin-button, .no-spinners::-webkit-outer-spin-button { -webkit-appearance: none; }
.no-spinners { -moz-appearance: textfield; }

/* Confirmation */
.account-created-text { font-size: 20px; font-weight: 700; color: #1a1a2e; text-align: center; padding: 10px 20px; }

/* Finger screen btn (bottom button area) */
.finger-screen-btn { padding: 20px; }
.block-footer { text-align: center; font-size: 13px; color: #999; margin-bottom: 15px; }

/* Two button layout */
.traMyOrder-btn { display: flex; gap: 12px; }
.traMyOrder-btn a { flex: 1; }
.traMyOrder-btn a:first-child { background: #fff; color: #4361ee; border: 2px solid #4361ee; }

/* Form items (floating label style) */
.form-item { position: relative; padding: 0 20px; margin-top: 15px; }
.form-item input { width: 100%; padding: 16px 45px 8px; border: 2px solid #eee; border-radius: 12px;
  font-size: 14px; outline: none; background: #fafafa; }
.form-item input:focus { border-color: #4361ee; }
.form-item label.info-person { position: absolute; top: 12px; left: 45px; font-size: 14px;
  color: #999; transition: all 0.3s; pointer-events: none; }
.form-item input:focus + label.info-person,
.form-item input:not(:placeholder-shown) + label.info-person { top: -8px; left: 35px;
  font-size: 11px; color: #4361ee; background: #fff; padding: 0 5px; }
.form-item .eye-off, .form-item .mobile-message { position: absolute; top: 12px; right: 35px; width: 20px; }

/* Mobile message icon */
.mobile-message-main { position: absolute; top: 12px; right: 35px; }
.mobile-message { width: 24px; }

/* Account profile list */
.account-profile-main { display: flex; align-items: center; justify-content: space-between;
  padding: 15px 20px; border-bottom: 1px solid #f0f0f0; text-decoration: none; }
.account-profile-main-sub { display: flex; align-items: center; gap: 12px; }
.account-img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.Jessica { font-size: 16px; font-weight: 600; color: #1a1a2e; }
.Jessica-number { font-size: 13px; color: #666; margin-top: 2px; }
.edit-icon-svg img { width: 20px; }
.accountlistMain { margin-top: 5px; }
.accountlistMain .add-loc-icon { width: 40px; height: 40px; border-radius: 10px;
  background: #f5f5f5; display: flex; align-items: center; justify-content: center; }
.accountlistMain .add-loc-icon img { width: 20px; }
.accountListText { font-size: 15px; font-weight: 500; color: #1a1a2e; }

/* Bottom navigation */
.bottom-menu-svg-main { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 100; pointer-events: none; }
.bottom-menu-svg { position: relative; height: 80px; }
.bottom-menu-svg-design { position: absolute; bottom: 0; left: 0; width: 100%; }
.gol3 { position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 2; }
.add-to-cart-icon { width: 60px; height: 60px; border-radius: 50%; background: #4361ee;
  display: flex; align-items: center; justify-content: center; }
.add-to-cart-icon img { width: 26px; filter: brightness(0) invert(1); }
.navigation { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 101; }
.listWrap { display: flex; justify-content: space-around; list-style: none; padding: 10px 0 20px; margin: 0;
  background: transparent; }
.listWrap .list a { display: flex; flex-direction: column; align-items: center; text-decoration: none; }
.listWrap .list .icon img { width: 22px; opacity: 0.4; }
.listWrap .list.active .icon img { opacity: 1; }
.listWrap .list .white-circle { width: 40px; height: 4px; border-radius: 2px; background: transparent; margin-bottom: 5px; }
.listWrap .list.active .white-circle { background: #4361ee; }
.listWrap .list .text { font-size: 10px; color: #666; }
.listWrap .list.active .text { color: #4361ee; font-weight: 600; }

/* Offcanvas / Drawer */
.offcanvas { width: 280px; }
.offcanvas-body .profile-section { text-align: center; padding: 30px 0; }
.offcanvas-body .profile-img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.offcanvas-body .profile-name { font-size: 18px; font-weight: 700; margin-top: 10px; }
.offcanvas-body .profile-email { font-size: 13px; color: #666; }
.offcanvas-body .setting-list { list-style: none; padding: 0; margin: 20px 0 0; }
.offcanvas-body .setting-list li a { display: flex; align-items: center; gap: 12px; padding: 12px 20px;
  text-decoration: none; color: #1a1a2e; font-size: 15px; border-bottom: 1px solid #f5f5f5; }
.offcanvas-body .setting-list li a img { width: 22px; }
.offcanvas-body .setting-list li a:hover { background: #f8f9fa; }

/* Accordion (FAQ) */
.accordion { padding: 0 20px; }
.accordion-item { margin-bottom: 10px; border: 1px solid #eee; border-radius: 12px; overflow: hidden; }
.accordion-header { padding: 15px 20px; font-size: 15px; font-weight: 600; color: #1a1a2e;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: #fff; }
.accordion-header .icon { font-size: 20px; transition: transform 0.3s; }
.accordion-header.active .icon { transform: rotate(45deg); }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.accordion-content.open { max-height: 1000px; }
.sub-accordion { padding: 0 15px 10px; }
.sub-accordion-header { padding: 10px 0; font-size: 14px; font-weight: 500; color: #333;
  cursor: pointer; display: flex; justify-content: space-between; border-bottom: 1px solid #f0f0f0; }
.sub-accordion-header .icon { transition: transform 0.3s; }
.sub-accordion-header.active .icon { transform: rotate(45deg); }
.sub-accordion-content { max-height: max-content;
  overflow: scroll;
  transition: max-height 0.3s ease;
  font-size: 0.9em;
  color: #666;
  line-height: 1.8;
  display: block;
  text-align: justify; }
.sub-accordion-content.open { max-height: 500px; padding: 10px 0; }

/* About page */
.sit { font-size: 1.05em; color: #666; line-height: 1.8; padding: 5px 20px; text-align: justify;}
.contacsd-text { font-size: 1.2em; font-weight: 700; color: #1a1a2e; padding: 20px 20px 10px; }
.helksp-amian { display: flex; align-items: center; gap: 10px; padding: 5px 20px; text-decoration: none; justify-content: center; direction: ltr;}
.helksp-amian img { width: 24px; }
.helksp-amian .heklp { font-size: 14px; color: #4361ee; }
.media-icon-main { display: flex; justify-content: space-around; padding: 15px 20px; }
.media-icon-main a { display: flex; flex-direction: column; align-items: center; text-decoration: none; }
.media-icon { width: 50px; }
.media-icon-name { font-size: 0.9em; color: #666; margin-top: 5px; }

/* Contact page */
.conta-phone { display: flex; align-items: center; gap: 12px; padding: 15px 20px;
  border-bottom: 1px solid #f0f0f0; text-decoration: none; }
.conta-phone img { width: 22px; }
.conta-phone p { font-size: 14px; color: #1a1a2e; }

/* Privacy policy */
.wallet-amount.yseunf { padding: 15px 20px; border-top: 1px solid #f0f0f0; margin-top: 15px; }
.wallet-amount.yseunf h2 { font-size: 16px; font-weight: 700; color: #1a1a2e; margin: 0; }

/* Questionnaire - Question card */
.q-card { background: #fff; border-radius: 16px; padding: 20px; margin: 15px 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.q-card h3 { font-size: 16px; font-weight: 700; color: #1a1a2e; margin-bottom: 5px; }
.q-card .domain-badge { display: inline-block; padding: 3px 10px; border-radius: 20px;
  background: #eef1ff; color: #4361ee; font-size: 11px; font-weight: 600; margin-bottom: 12px; }
.q-card p { font-size: 14px; color: #333; line-height: 1.7; margin-bottom: 15px; }
.q-options { display: flex; flex-direction: column; gap: 10px; }
.q-option { padding: 12px 16px; border: 2px solid #eee; border-radius: 12px;
  cursor: pointer; font-size: 14px; color: #333; transition: all 0.2s; }
.q-option:active, .q-option.selected { border-color: #4361ee; background: #eef1ff; color: #4361ee; }

/* Progress bar */
.q-progress { padding: 10px 20px; }
.q-progress-bar { height: 4px; background: #eee; border-radius: 2px; overflow: hidden; }
.q-progress-fill { height: 100%; background: #4361ee; border-radius: 2px; transition: width 0.3s; }
.q-progress-text { font-size: 12px; color: #999; text-align: center; margin-top: 5px; }

/* Results page */
.result-card { background: #fff; border-radius: 16px; padding: 16px; margin: 10px 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.result-card h4 { font-size: 15px; font-weight: 700; color: #1a1a2e; }
.result-card .severity { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 600; }
.severity.high { background: #ffe5e5; color: #e74c3c; }
.severity.medium { background: #fff3cd; color: #f39c12; }
.severity.low { background: #d4edda; color: #27ae60; }
.result-card p { font-size: 13px; color: #666; margin-top: 5px; }

/* Service card */
.service-card { background: #fff; border-radius: 12px; padding: 14px; border: 1px solid #f0f0f0; }
.service-card h6 { font-size: 13px; font-weight: 600; color: #1a1a2e; }
.service-card p { font-size: 12px; color: #666; margin-top: 4px; }

/* Responsive */
@media (max-width: 480px) {
  .otp-field input { width: 48px; height: 48px; font-size: 18px; }
  .otp-field { gap: 8px; }
}

/* =============================================
   PWA Native Feel Enhancements
   ============================================= */

/* Prevent all overscroll/bounce effects */
html, body {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
}

/* Status bar safe area (iPhone notch) */
#app {
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Remove text selection on interactive elements */
button, a, .q-option, .bottom-menu-svg-main, .navigation {
  -webkit-user-select: none;
  user-select: none;
}

/* Smooth transitions for page changes */
#page-content {
  animation: fadeIn 0.2s ease;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Bottom nav safe area */
.bottom-menu-svg-main {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Top navbar safe area */
.top-navbar {
  padding-top: env(safe-area-inset-top, 0px);
}

/* Hide scrollbar but keep scrollable */
#app::-webkit-scrollbar { display: none; }
#app { -ms-overflow-style: none; scrollbar-width: none; }

/* Prevent zoom on input focus (iOS) */
input, select, textarea {
  font-size: 16px !important;
}

/* Offline indicator */
.offline-banner {
  position: fixed;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: 8px 20px;
  border-radius: 20px;
  font-size: 13px;
  z-index: 99999;
  display: none;
  font-family: 'Vazirmatn', sans-serif;
}
.offline-banner.show { display: block; }

/* Install prompt */
.install-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  padding: 20px;
  z-index: 99998;
  display: none;
  font-family: 'Vazirmatn', sans-serif;
}
.install-banner.show { display: block; }

/* Premium authentication screens */
.auth-page{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(145deg,#f4f7ff 0%,#fbfcff 52%,#eef8f7 100%);padding:28px 16px 44px;color:#18233d}
.auth-shell{position:relative;z-index:1;width:min(100%,520px);margin:0 auto}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;color:#172448;font-size:24px;font-weight:800;margin:4px 0 26px;letter-spacing:-.5px}.auth-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#4361ee,#13b8a6);color:#fff;box-shadow:0 10px 22px #4361ee35}.auth-card{background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:28px;padding:28px;box-shadow:0 22px 70px #253c7418;backdrop-filter:blur(14px)}.auth-card-wide{padding:26px 28px}.auth-card-head{margin-bottom:24px}.auth-eyebrow{display:inline-block;color:#4361ee;background:#eef1ff;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:700;margin-bottom:10px}.auth-card h1{font-size:27px;font-weight:800;line-height:1.35;margin:0 0 8px;color:#172448}.auth-card-head p{font-size:13px;line-height:1.9;color:#77819a;margin:0}.auth-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}.auth-orb-one{width:230px;height:230px;background:#b7c3ff;top:-100px;right:-90px}.auth-orb-two{width:180px;height:180px;background:#b9eee3;bottom:-60px;left:-70px}.auth-field{margin-bottom:16px}.auth-field label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#45516d;font-weight:700;margin:0 3px 7px}.auth-field label small{font-size:10px;color:#9aa4b8;font-weight:500}.auth-input-wrap{display:flex;align-items:center;min-height:52px;background:#f8faff;border:1px solid #e2e7f2;border-radius:15px;padding:0 14px;transition:.2s}.auth-input-wrap:focus-within{background:#fff;border-color:#4361ee;box-shadow:0 0 0 4px #4361ee12}.auth-input-wrap>i{width:22px;color:#8b96ae;font-size:15px;text-align:center;margin-left:10px}.auth-input-wrap input,.auth-input-wrap select{border:0;outline:0;background:transparent;width:100%;height:50px;color:#26324c;font:inherit;font-size:13px}.auth-input-wrap input::placeholder{color:#aeb6c7}.auth-input-wrap select{appearance:none;cursor:pointer}.auth-password-toggle{border:0;background:transparent;color:#9aa4b8;cursor:pointer;padding:5px}.auth-options{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:5px 2px 22px;font-size:11px}.auth-options a,.auth-switch a{color:#4361ee;font-weight:700;text-decoration:none}.auth-check{display:flex;align-items:center;gap:6px;color:#7e899e;cursor:pointer}.auth-check input{accent-color:#4361ee}.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border:0;border-radius:15px;background:linear-gradient(110deg,#4361ee,#536ff0);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 22px #4361ee30;transition:.2s}.auth-submit:hover{transform:translateY(-2px);box-shadow:0 16px 28px #4361ee38}.auth-submit:disabled{opacity:.6;cursor:wait;transform:none}.auth-submit i{font-size:13px}.auth-switch{text-align:center;color:#8a93a7;font-size:12px;margin:20px 0 0}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-divider{display:flex;align-items:center;gap:10px;color:#a2abbb;font-size:11px;font-weight:700;margin:22px 0 16px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e9edf4;flex:1}.forgot-progress{display:flex;align-items:center;justify-content:center;gap:9px;margin:6px 0 24px;direction:ltr}.forgot-progress span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf0f6;color:#a2aabc;font-size:12px;font-weight:800}.forgot-progress span.active,.forgot-progress span.done{background:#4361ee;color:#fff}.forgot-progress i{width:44px;height:2px;background:#e8ebf3}.forgot-progress i.done{background:#4361ee}.security-question-card{background:linear-gradient(135deg,#f0f3ff,#effbf8);border:1px solid #dfe6ff;border-radius:16px;padding:16px;margin-bottom:18px}.security-question-card i{color:#4361ee;font-size:20px;margin-left:8px}.security-question-card span{font-size:11px;color:#7a849b}.security-question-card strong{display:block;color:#26324c;font-size:15px;line-height:1.8;margin-top:9px}.auth-success-note{display:flex;align-items:center;gap:9px;background:#edf9f5;color:#16856c;border-radius:14px;padding:13px;font-size:12px;font-weight:700;margin-bottom:18px}.auth-success-note i{font-size:18px}.auth-page [hidden]{display:none!important}
@media(max-width:480px){.auth-page{padding:18px 12px 30px}.auth-card,.auth-card-wide{padding:22px 18px;border-radius:22px}.auth-card h1{font-size:23px}.auth-grid{grid-template-columns:1fr;gap:0}.auth-options{font-size:10px}.auth-input-wrap{min-height:50px}}

/* Unified DiaSP application theme */
:root{--diasp-primary:#4361ee;--diasp-primary-dark:#304bd0;--diasp-teal:#13b8a6;--diasp-ink:#172448;--diasp-muted:#77819a;--diasp-bg:#f4f7ff;--diasp-border:#e2e7f2;--diasp-card:rgba(255,255,255,.92)}
html,body{background:linear-gradient(145deg,#f4f7ff 0%,#fbfcff 52%,#eef8f7 100%);color:var(--diasp-ink)}
body{min-height:100vh}
#app{min-height:100vh;background:transparent}
#page-content{min-height:calc(100vh - 76px);padding-bottom:28px}
.top-navbar{background:rgba(255,255,255,.82);border-bottom:1px solid rgba(226,231,242,.8);box-shadow:0 8px 28px rgba(37,60,116,.06);backdrop-filter:blur(16px);padding-bottom:4px}
.top-header-full{max-width:560px;margin:auto;padding:16px 20px}.header-title h1{color:var(--diasp-ink);font-size:20px;letter-spacing:-.3px}.back-btn a,.top-header-full>div:last-child a{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f0f3ff;color:var(--diasp-primary)!important}.back-btn i,.top-header-full i{color:var(--diasp-primary)!important;font-size:16px!important}
.section-main-ver,.lets-sec,.site_content{max-width:560px;margin:0 auto}.section-main-ver{padding:24px 20px}.lets-section{max-width:560px;margin:auto;padding:18px 20px}.lets-section .lets-u-text{color:var(--diasp-ink)}
.section-main-ver,.q-card,.result-card,.service-card,.account-section,.profile-section,.progress-card,.message-card,.privacy-card,.contact-card{color:var(--diasp-ink)}
.q-card,.result-card,.service-card,.account-section,.profile-section,.progress-card,.message-card,.privacy-card,.contact-card,.wallet-amount,.accordion-item{background:var(--diasp-card);border:1px solid rgba(255,255,255,.95);border-radius:20px;box-shadow:0 14px 40px rgba(37,60,116,.08)}
.q-card,.result-card,.account-section,.profile-section,.progress-card,.message-card,.privacy-card,.contact-card{margin:14px 20px;padding:20px}.q-card h3,.result-card h4,.accountListText,.contacsd-text{color:var(--diasp-ink)}
.q-card .domain-badge,.severity,.service-card .badge{background:#eef1ff;color:#ffffff;border:0}.q-option{background:#f8faff;border:1px solid var(--diasp-border);border-radius:14px;transition:.2s}.q-option:hover,.q-option.selected{background:#eef1ff;border-color:var(--diasp-primary);color:var(--diasp-primary)}
.service-card{padding:18px;margin:12px 20px}.service-card h6{font-size:15px;color:var(--diasp-ink)}.service-card p,.result-card p{color:var(--diasp-muted);line-height:1.9}
.button-main{max-width:560px;margin:20px auto;padding:0 20px}.button-main a,.button-main button{background:linear-gradient(110deg,var(--diasp-primary),#536ff0);border-radius:15px;box-shadow:0 12px 22px #4361ee30;min-height:52px;font-weight:800;transition:.2s}.button-main a:hover,.button-main button:hover{transform:translateY(-2px);box-shadow:0 16px 28px #4361ee38}
.form-item{margin:14px 20px;padding:0}.form-item input,.form-item select,.form-item textarea,.email-pass-main{background:#f8faff;border:1px solid var(--diasp-border);border-radius:15px;box-shadow:none}.form-item input:focus,.form-item select:focus,.form-item textarea:focus,.email-pass-main:focus-within{border-color:var(--diasp-primary);box-shadow:0 0 0 4px #4361ee12}
.email-pass-main{min-height:52px;padding:0 14px;margin-top:12px}.email-pass-main input,.email-pass-main select{background:transparent;color:var(--diasp-ink)}
.remember-section{max-width:560px;margin:auto}.forget-btn a,.sing-in-up a{color:var(--diasp-primary)}
.img1-main{padding:24px 0}.img1-main img{filter:drop-shadow(0 15px 18px rgba(67,97,238,.14));max-height:180px}.veri-text{color:var(--diasp-muted);line-height:1.9}
.accordion{max-width:560px;margin:auto;padding:0 20px}.accordion-item{margin-bottom:12px}.accordion-header{background:transparent;color:var(--diasp-ink);padding:17px 18px}.accordion-content{background:#fbfcff}.sub-accordion{padding:0 18px 12px}
.wallet-amount.yseunf{margin:14px 20px;padding:20px;border:0}.accountlistMain .add-loc-icon{background:#eef1ff;color:var(--diasp-primary)}
.bottom-menu-svg-main{filter:drop-shadow(0 -8px 18px rgba(37,60,116,.08))}.navigation{background:rgba(255,255,255,.75);backdrop-filter:blur(14px)}.listWrap{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.listWrap .list.active .text{color:var(--diasp-primary)}
.offcanvas{background:#fbfcff;border:0;border-radius:0 24px 24px 0}.offcanvas-body .setting-list li a{border-radius:12px;margin:3px 10px}.offcanvas-body .setting-list li a:hover{background:#eef1ff;color:var(--diasp-primary)}
input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4361ee35;outline-offset:2px}
@media(min-width:601px){body{max-width:none}.top-header-full,.section-main-ver,.lets-section,.button-main,.accordion,.site_content{width:min(100%,720px)}#page-content{width:min(100%,720px);margin:auto}}

/* Splash / onboarding alignment and controls */
.onboarding-slider{position:fixed;inset:0;width:100%;height:100vh;min-height:100vh;overflow:hidden;background:#172448;z-index:20;direction:ltr}
.onboarding-slider .carousel-inner,.onboarding-slider .carousel-item{height:100%;min-height:100vh}
.onboarding-slider .carousel-item{position:relative}
.onboarding-slider .Onboarding-main{width:100%;max-width:none;height:100vh;min-height:100vh;margin:0 auto;background-position:center;background-size:cover}
.onboarding-slider .container{position:relative;width:100%;max-width:720px;height:100%;margin:0 auto;padding:0 24px}
.onboarding-slider .Onboarding-Screen-1-full{position:absolute;left:24px;right:24px;bottom:126px;width:auto;padding:0;text-align:center;direction:rtl}
.onboarding-slider .boarding-title{max-width:620px;margin:0 auto 16px;text-align:center}
.onboarding-slider .boarding-title h2{font-size:clamp(22px,4vw,32px);line-height:1.5;text-shadow:0 3px 14px rgba(0,0,0,.3)}
.onboarding-slider .boarding-title p{max-width:580px;margin:0 auto;padding-top:8px;font-size:clamp(13px,2vw,17px);line-height:1.9;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.onboarding-slider .position-relative{height:86px;width:100%;margin:0 auto}
.onboarding-slider img.shape-spalsh-btn{position:absolute;right:0;left:auto;bottom:0;width:min(230px,42vw);height:auto;display:block;transform:none;pointer-events:none}
.onboarding-slider .onboarding-next-btn{right:24px;bottom:-2px;width:52px;height:52px;margin:0;z-index:2}
.onboarding-slider .onboarding-next-btn img{width:52px;height:52px;object-fit:contain}
.onboarding-slider .skip_btn-onboading{position:absolute;top:24px;right:24px;z-index:4;padding:0;text-align:right}
.onboarding-slider .skip_btn-onboading a{font-size:13px;color:#fff;background:rgba(23,36,72,.35);border:1px solid rgba(255,255,255,.35);border-radius:20px;padding:8px 14px;backdrop-filter:blur(8px)}
.onboarding-slider .carousel-indicators{left:50%;right:auto;bottom:34px;transform:translateX(-50%);width:auto;margin:0;gap:6px;z-index:5}
.onboarding-slider .carousel-indicators [data-bs-target]{width:8px;height:8px;margin:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);opacity:1}
.onboarding-slider .carousel-indicators .active{width:26px!important;height:8px!important;background:#fff}
@media(max-width:480px){.onboarding-slider .container{padding:0 18px}.onboarding-slider .Onboarding-Screen-1-full{left:18px;right:18px;bottom:108px}.onboarding-slider .skip_btn-onboading{top:18px;right:18px}.onboarding-slider .position-relative{height:72px}.onboarding-slider img.shape-spalsh-btn{width:190px}.onboarding-slider .onboarding-next-btn{right:18px}.onboarding-slider .carousel-indicators{bottom:24px}}

/* Refined global header — aligned with the DiaSP auth/app visual system */
.top-navbar{position:sticky;top:0;z-index:100;width:100%;padding:0;background:rgba(248,250,255,.82);border-bottom:1px solid rgba(221,228,244,.82);box-shadow:0 10px 30px rgba(37,60,116,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.top-header-full{position:relative;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;width:min(100%,720px);min-height:76px;margin:0 auto;padding:14px 20px;direction:ltr}
.top-header-full .back-btn,.top-header-full>div:last-child{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
.top-header-full .back-btn a,.top-header-full>div:last-child a{display:grid;place-items:center;width:42px;height:42px;margin:0;border:1px solid #e2e7f2;border-radius:14px;background:rgba(255,255,255,.88);color:var(--diasp-primary)!important;box-shadow:0 6px 16px rgba(37,60,116,.08);transition:transform .2s,background .2s,box-shadow .2s}
.top-header-full .back-btn a:hover,.top-header-full>div:last-child a:hover{background:#eef1ff;box-shadow:0 9px 20px rgba(67,97,238,.16);transform:translateY(-1px)}
.top-header-full .back-btn i,.top-header-full>div:last-child i{font-size:16px!important;color:var(--diasp-primary)!important}
.top-header-full .header-title{min-width:0;text-align:center;direction:rtl}
.top-header-full .header-title h1{margin:0;color:var(--diasp-ink);font-size:18px;font-weight:850;line-height:1.4;letter-spacing:-.25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-header-full .header-title:after{content:"";display:block;width:24px;height:3px;margin:7px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--diasp-primary),var(--diasp-teal));opacity:.8}
@media(max-width:480px){.top-header-full{min-height:68px;padding:11px 14px;grid-template-columns:40px 1fr 40px;gap:8px}.top-header-full .back-btn,.top-header-full>div:last-child{width:40px;height:40px}.top-header-full .back-btn a,.top-header-full>div:last-child a{width:38px;height:38px;border-radius:12px}.top-header-full .header-title h1{font-size:16px}.top-header-full .header-title:after{margin-top:5px;width:20px;height:2px}}

/* Admin pages inside the same application shell */
.admin-page{max-width:1120px!important;width:100%!important;margin:0 auto;padding:24px 18px 70px;direction:rtl}.admin-page> .container{max-width:none!important;width:100%;padding:0}.admin-page .container.py-4{padding:0!important}.admin-page .card,.admin-page .kpi-card,.admin-page .chart-card,.admin-page .table-card{border:1px solid rgba(255,255,255,.95)!important;border-radius:22px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 16px 45px rgba(37,60,116,.09)!important}.admin-page h4,.admin-page h5,.admin-page h6{color:var(--diasp-ink)}.admin-page .text-muted{color:var(--diasp-muted)!important}.admin-page .btn-primary,.admin-page .bg-primary{background:linear-gradient(110deg,var(--diasp-primary),#536ff0)!important;border:0!important;box-shadow:0 10px 20px #4361ee25}.admin-page .btn-outline-primary{border-color:#b9c5fb;color:var(--diasp-primary)}.admin-page .btn-outline-primary:hover{background:#eef1ff;color:var(--diasp-primary)}.admin-page .form-control,.admin-page .form-select{min-height:46px;border:1px solid var(--diasp-border);border-radius:13px;background:#f8faff}.admin-page .form-control:focus,.admin-page .form-select:focus{border-color:var(--diasp-primary);box-shadow:0 0 0 4px #4361ee12}.admin-page .table{margin:0;color:var(--diasp-ink);vertical-align:middle}.admin-page .table thead th{background:#f4f6ff;border:0;color:#64708b;font-size:12px;font-weight:800;padding:16px 14px;white-space:nowrap}.admin-page .table tbody td{border-color:#eef1f7;padding:15px 14px;font-size:13px}.admin-page .table-hover tbody tr:hover{background:#f8faff}.admin-page .chart-box{min-height:280px}.admin-page .admin-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.admin-page .admin-status.is-active{background:#e9f8f2;color:#16856c}.admin-page .admin-status.is-muted{background:#f0f2f6;color:#7d879a}.admin-page .kpi-icon{border-radius:15px!important}.admin-page .modal-content{border:0;border-radius:22px;box-shadow:0 22px 70px rgba(37,60,116,.18)}.admin-menu-group{margin:12px 10px 4px;border-top:1px solid #e9edf5;padding-top:8px}.admin-menu-group a{display:flex;align-items:center;gap:12px;padding:11px 10px!important;margin:2px 0!important;border-radius:12px;color:#34415f!important}.admin-menu-group a i{width:22px;text-align:center;color:var(--diasp-primary)}.drawer-section-label{padding:5px 10px 7px;color:#98a2b7;font-size:10px;font-weight:800}
@media(max-width:700px){.admin-page{padding:18px 12px 60px}.admin-page .row{--bs-gutter-x:12px}.admin-page .table-responsive{border-radius:18px}.admin-page .chart-box{min-height:240px}}

/* Simple splash screen */
.simple-splash{position:relative;display:grid;place-items:center;min-height:100vh;overflow:hidden;background:linear-gradient(145deg,#f4f7ff 0%,#fbfcff 52%,#eef8f7 100%);color:var(--diasp-ink)}
.simple-splash-content{position:relative;z-index:1;text-align:center}.simple-splash-logo{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 18px;border-radius:26px;background:linear-gradient(135deg,#4361ee,#13b8a6);color:#fff;font-size:44px;font-weight:900;box-shadow:0 18px 38px #4361ee35}.simple-splash h1{margin:0;color:var(--diasp-ink);font-size:34px;font-weight:900;letter-spacing:-1px}.simple-splash p{margin:8px 0 26px;color:var(--diasp-muted);font-size:13px}.simple-splash-loader{display:block;width:34px;height:34px;margin:auto;border:3px solid #dce3fb;border-top-color:var(--diasp-primary);border-radius:50%;animation:simpleSplashSpin .8s linear infinite}@keyframes simpleSplashSpin{to{transform:rotate(360deg)}}.simple-splash-orb{position:absolute;border-radius:50%;opacity:.55}.simple-splash-orb-one{width:300px;height:300px;top:-130px;right:-120px;background:#b7c3ff}.simple-splash-orb-two{width:240px;height:240px;bottom:-110px;left:-90px;background:#b9eee3}
.security-settings-page{max-width:560px;margin:0 auto;padding:24px 20px 50px}.security-settings-card{background:rgba(255,255,255,.92);border:1px solid #fff;border-radius:24px;padding:22px;box-shadow:0 16px 45px rgba(37,60,116,.09)}.security-settings-intro{display:flex;align-items:center;gap:12px;margin-bottom:24px}.security-settings-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#eef1ff;color:var(--diasp-primary);font-size:21px}.security-settings-intro h2{margin:0 0 5px;color:var(--diasp-ink);font-size:19px}.security-settings-intro p{margin:0;color:var(--diasp-muted);font-size:12px;line-height:1.8}.security-settings-divider{display:flex;align-items:center;gap:10px;color:#8b96ae;font-size:11px;font-weight:800;margin:24px 0 16px}.security-settings-divider:before,.security-settings-divider:after{content:"";height:1px;background:#e9edf4;flex:1}

/* Home dashboard redesign */
.home-page{width:min(100%,720px);margin:0 auto;padding:24px 20px 112px;direction:rtl;color:var(--diasp-ink)}
.home-empty-state{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100vh - 160px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 24px;background:linear-gradient(145deg,#fff 0%,#f5f7ff 58%,#effbf8 100%);border:1px solid rgba(255,255,255,.95);border-radius:30px;box-shadow:0 20px 55px rgba(37,60,116,.09)}
.home-empty-orb{position:absolute;border-radius:50%;z-index:-1;opacity:.5}.home-empty-orb-one{width:260px;height:260px;top:-130px;right:-100px;background:#cbd3ff}.home-empty-orb-two{width:220px;height:220px;bottom:-120px;left:-100px;background:#c5f0e8}
.home-brand-mark{display:grid;place-items:center;width:76px;height:76px;margin-bottom:22px;border-radius:25px;background:linear-gradient(135deg,var(--diasp-primary),var(--diasp-teal));color:#fff;font-size:31px;box-shadow:0 18px 30px rgba(67,97,238,.24)}
.home-eyebrow,.section-kicker{display:block;color:var(--diasp-primary);font-size:11px;font-weight:800;letter-spacing:.1px;margin-bottom:8px}.home-empty-state h1,.dashboard-hero h1{margin:0;color:var(--diasp-ink);font-size:25px;font-weight:900;letter-spacing:-.5px}.home-empty-state p{max-width:390px;margin:13px auto 24px;color:var(--diasp-muted);font-size:13px;line-height:2}
.home-primary-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:min(100%,320px);min-height:54px;border:0;border-radius:16px;background:linear-gradient(110deg,var(--diasp-primary),#536ff0);color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 13px 24px rgba(67,97,238,.25);transition:.2s}.home-primary-btn:hover{transform:translateY(-2px)}.home-primary-btn i{font-size:13px}.home-trust-row{margin-top:18px;color:#8d97ad;font-size:10px}.home-trust-row i{color:var(--diasp-teal);margin-left:4px}
.dashboard-page{padding-top:20px}.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 4px 24px}.dashboard-hero h1{font-size:23px}.dashboard-hero p{margin:6px 0 0;color:var(--diasp-muted);font-size:12px}.dashboard-hero-icon{flex:0 0 58px;display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#eef1ff;color:var(--diasp-primary);font-size:23px}
.assessment-overview{padding:21px;border-radius:24px;background:linear-gradient(125deg,#263d8e 0%,#4361ee 62%,#5974f2 100%);color:#fff;box-shadow:0 18px 34px rgba(55,78,180,.23)}.assessment-overview .section-kicker{color:#cdd5ff}.assessment-overview h2{margin:0;color:#fff;font-size:17px;font-weight:800}.assessment-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.text-action{display:inline-flex;align-items:center;gap:7px;color:var(--diasp-primary);font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}.text-action i{font-size:10px}.assessment-overview .text-action{color:#fff;opacity:.9}.assessment-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.assessment-stat{display:flex;flex-direction:column;gap:2px;padding-left:10px;border-left:1px solid rgba(255,255,255,.2)}.assessment-stat:last-child{border-left:0;padding-left:0}.assessment-stat strong{font-size:23px;font-weight:900;line-height:1.2}.assessment-stat span{color:#dbe1ff;font-size:10px;line-height:1.6}.assessment-stat-date strong{font-size:20px;color:#bfeee5}
.home-section{margin-top:30px}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 2px 13px}.home-section-heading h2{margin:0;color:var(--diasp-ink);font-size:17px;font-weight:900}.section-count{padding:5px 10px;border-radius:999px;background:#eef1ff;color:var(--diasp-primary);font-size:10px;font-weight:800;white-space:nowrap}.needs-list{overflow:hidden;border:1px solid rgba(226,231,242,.8);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 12px 30px rgba(37,60,116,.05)}.needs-list:empty:after{content:'در حال آماده‌سازی نتایج...';display:block;padding:22px;color:var(--diasp-muted);font-size:12px;text-align:center}.need-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #edf0f6}.need-row:last-child{border-bottom:0}.need-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:12px;background:#eef1ff;color:var(--diasp-primary);font-size:14px}.need-content{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1}.need-content strong{display:block;color:var(--diasp-ink);font-size:12px}.need-content small{display:block;margin-top:2px;color:var(--diasp-muted);font-size:10px}.severity{border-radius:999px!important;padding:5px 9px!important;font-size:10px!important;white-space:nowrap}.severity.high{background:#ffebed;color:#d65361}.severity.medium{background:#fff4dc;color:#b27a12}.severity.low{background:#e7f8f2;color:#198a71}
.services-section{margin-top:30px}.nearby-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nearby-services .result-card{margin:0!important;padding:15px!important;min-height:116px;border-radius:18px!important;box-shadow:0 10px 25px rgba(37,60,116,.06)!important}.nearby-services .result-card h6{margin:0 0 7px;font-size:12px;font-weight:800}.nearby-services .result-card p{margin:0;font-size:10px!important;line-height:1.8}.home-loading{grid-column:1/-1;padding:22px;text-align:center;color:var(--diasp-muted);font-size:11px}.home-loading i{margin-left:6px;color:var(--diasp-primary)}
.quick-actions{display:flex;flex-direction:column;gap:10px;margin-top:30px}.quick-action{display:flex;align-items:center;gap:12px;width:100%;padding:14px 15px;border:1px solid #e5e9f2;border-radius:18px;background:rgba(255,255,255,.8);color:var(--diasp-ink);font:inherit;text-align:right;text-decoration:none;cursor:pointer;box-shadow:0 10px 25px rgba(37,60,116,.05)}.quick-action-primary{border-color:#dce2ff;background:#f5f7ff}.quick-action-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:13px;background:#eef1ff;color:var(--diasp-primary)}.quick-action-primary .quick-action-icon{background:var(--diasp-primary);color:#fff}.quick-action span:nth-child(2){flex:1}.quick-action strong,.quick-action small{display:block}.quick-action strong{font-size:12px;font-weight:800}.quick-action small{margin-top:3px;color:var(--diasp-muted);font-size:10px}.quick-action-arrow{color:#9aa4b8;font-size:11px}
@media(max-width:480px){.home-page{padding:16px 14px 106px}.home-empty-state{min-height:calc(100vh - 146px);padding:34px 18px;border-radius:24px}.dashboard-hero h1{font-size:21px}.assessment-overview{padding:18px}.assessment-stats{gap:5px}.assessment-stat strong{font-size:20px}}
