/* ==========================================================================
   مرکز قلب و عروق مانا اهواز — لایهٔ یکپارچهٔ Clinical Luxury (نسخه ۲)
   ترتیب بارگذاری:  style.css  →  admin.css (فقط پنل مدیر)  →  mana-clinical-luxury.css
   این فایل هیچ فایل قبلی را تغییر نمی‌دهد؛ فقط توکن‌ها و ظاهر را یکپارچه می‌کند.
   ========================================================================== */

/* ---------- ۱) توکن‌های واحد (فاز ۱) ---------- */
:root{
  --mx-void:#070C16; --mx-glass-1:#0D1627; --mx-glass-2:#132038;
  --mx-cyan:#0EA5E9; --mx-cyan-hi:#38BDF8;
  --mx-crimson:#E11D48; --mx-crimson-hi:#FB7185;
  --mx-ink:#F8FAFC; --mx-mute:#94A3B8; --mx-faint:#64748B;
  --mx-ok:#34D399; --mx-warn:#FBBF24;
  --mx-line:rgba(255,255,255,.12); --mx-line-soft:rgba(255,255,255,.07);
  --mx-r-sm:10px; --mx-r-md:16px; --mx-r-lg:24px;
  --mx-ease:cubic-bezier(.22,1,.36,1);
  --mx-shadow:0 20px 60px -20px rgba(0,0,0,.7);

  /* نگاشت متغیرهای قدیمی به توکن‌های جدید (admin.css و style.css هم‌رنگ می‌شوند) */
  --theme-primary:14,165,233; --theme-primary-hover:2,132,199;
  --theme-accent:225,29,72; --theme-accent-light:251,113,133;
  --theme-canvas:7,12,22; --theme-canvas-rgb:7,12,22;
  --theme-surface-1:13,22,39; --theme-surface-2:19,32,56;
  --theme-border:14,165,233; --theme-glow:14,165,233;
  --theme-text-primary:#F8FAFC; --theme-text-secondary:#94A3B8; --theme-text-muted:#64748B;
  --bg:var(--mx-void); --sidebar:var(--mx-glass-1); --sidebar-text:#cbd5e1;
  --sidebar-active:rgba(56,189,248,.12); --primary:var(--mx-cyan);
  --primary-soft:rgba(14,165,233,.16); --success:var(--mx-ok);
  --warning:var(--mx-warn); --danger:var(--mx-crimson-hi);
}

/* تم روشن قدیمی (.clinical-ui) را به تم واحد برمی‌گردانیم */
.clinical-ui{
  color-scheme:dark;
  --theme-primary:14,165,233; --theme-primary-hover:2,132,199; --theme-accent:225,29,72;
  --theme-canvas:7,12,22; --theme-canvas-rgb:7,12,22;
  --theme-surface-1:13,22,39; --theme-surface-2:19,32,56;
  --theme-surface-glass:rgba(13,22,39,.78);
  --theme-border:14,165,233; --theme-border-opacity:.18;
  --theme-text-primary:#F8FAFC; --theme-text-secondary:#94A3B8; --theme-text-muted:#64748B;
  background-color:var(--mx-void);
  background-image:
    radial-gradient(900px 500px at 85% -10%,rgba(14,165,233,.14),transparent 60%),
    radial-gradient(700px 500px at 5% 20%,rgba(225,29,72,.09),transparent 60%);
  background-attachment:fixed;
  color:var(--mx-ink);
}
body{font-variant-numeric:tabular-nums}
::selection{background:var(--mx-cyan);color:#fff}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:#1c2c48;border-radius:8px}
.fa-solid::before,.fa-regular::before,.fa-brands::before{font-family:inherit}

.prep-checklist-card .custom-checkbox{
  position:relative;
  display:grid;
  flex:0 0 24px;
  width:24px;
  height:24px;
  margin:0;
  place-items:center;
  appearance:none;
  -webkit-appearance:none;
  border:1.5px solid rgba(125,211,252,.75);
  border-radius:7px;
  background:rgba(7,12,22,.72);
  cursor:pointer;
  transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.prep-checklist-card .custom-checkbox::after{
  width:7px;
  height:12px;
  border:solid #07131e;
  border-width:0 2.5px 2.5px 0;
  content:"";
  opacity:0;
  transform:translateY(-1px) rotate(45deg) scale(.65);
  transition:opacity .15s,transform .15s;
}
.prep-checklist-card .custom-checkbox:checked{
  border-color:#67e8f9;
  background:#67e8f9;
  box-shadow:0 0 0 4px rgba(56,189,248,.12),0 0 16px rgba(56,189,248,.32);
}
.prep-checklist-card .custom-checkbox:checked::after{
  opacity:1;
  transform:translateY(-1px) rotate(45deg) scale(1);
}
.prep-checklist-card .custom-checkbox:focus-visible{
  outline:3px solid rgba(56,189,248,.35);
  outline-offset:3px;
}
.prep-checklist-card label[for^="chk"]{
  flex:1;
  min-width:0;
  line-height:1.8;
  cursor:pointer;
}
.prep-checklist-card input:checked+label{color:#bae6fd!important}

.home-page .hero-copy .hero-title{
  font-size:clamp(32px,4.3vw,48px);
}
.home-page .hero-copy .hero-title-second-line{display:block}
@media(max-width:767px){
  .home-page .hero-copy .hero-title{font-size:clamp(29px,7.7vw,36px)}
}

.footer-social-row{align-items:center}
.footer-social-btn{
  width:44px;
  height:44px;
  border-radius:13px;
  color:#cbd5e1;
  font-size:20px;
  transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.footer-social-btn.whatsapp{color:#4ade80;background:rgba(34,197,94,.1);border-color:rgba(74,222,128,.25)}
.footer-social-btn.map{color:#7dd3fc;background:rgba(14,165,233,.1);border-color:rgba(56,189,248,.24)}
.footer-social-btn.phone{color:#fda4af;background:rgba(225,29,72,.1);border-color:rgba(251,113,133,.24)}
.footer-social-btn:hover,
.footer-social-btn:focus-visible{
  background:rgba(14,165,233,.2);
  border-color:rgba(56,189,248,.55);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(14,165,233,.2);
}
.footer-social-btn.is-unconfigured{opacity:.5;cursor:not-allowed}
.footer-social-btn.is-unconfigured:hover{transform:none;box-shadow:none}

/* ---------- ۲) هدر سه‌منطقه‌ای (راست: لوگو | وسط: ۴ لینک | چپ: CTA) ---------- */
.site-header,
.clinical-ui .site-header,
.clinical-ui.home-page .site-header,
.clinical-ui.home-page .site-header.is-scrolled{
  background:rgba(7,12,22,.72);
  border-bottom:1px solid var(--mx-line-soft);
  box-shadow:none;
  backdrop-filter:blur(20px) saturate(140%);
}
.site-header.is-scrolled,
.clinical-ui.home-page .site-header.is-scrolled{background:rgba(7,12,22,.92);box-shadow:0 10px 30px -12px rgba(0,0,0,.8)}
@media (min-width:1200px){
  .header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
  .header-inner .brand{justify-self:start}
  .header-inner .main-nav{justify-self:center;gap:34px}
  .header-inner .header-actions{justify-self:end}
}
.brand-logo-frame,.clinical-ui .brand-logo-frame{background:var(--mx-glass-1);border:1px solid var(--mx-line);box-shadow:0 0 18px rgba(225,29,72,.25)}
.brand-text strong,.clinical-ui .brand-text strong{color:var(--mx-ink)}
.brand-text strong span{color:var(--mx-crimson-hi)}
.brand-text small,.clinical-ui .brand-text small{color:var(--mx-mute)}
.main-nav a,.clinical-ui .main-nav a{color:var(--mx-mute);background:transparent}
.main-nav a:hover,.main-nav a:focus-visible,.clinical-ui .main-nav a:hover{color:var(--mx-ink)}
.main-nav a::after{height:1.5px;background:linear-gradient(90deg,var(--mx-cyan-hi),var(--mx-crimson-hi))}
.main-nav i{display:none}               /* خلوت‌سازی: بدون آیکن کنار لینک‌ها */
.menu-toggle span,.clinical-ui .menu-toggle span{background:var(--mx-cyan-hi)}
@media (max-width:1199px){
  .main-nav,.clinical-ui .main-nav{background:rgba(13,22,39,.98);border-color:var(--mx-line)}
  .main-nav a,.clinical-ui .main-nav a{background:rgba(255,255,255,.04)}
}

/* ---------- ۳) دکمه‌ها: کریستالی + لیزر شیمر ---------- */
.btn-primary-fx,.primary-button,
.clinical-ui .btn-primary-fx,.clinical-ui .vcard-quick-cta .btn-primary-fx{
  background:linear-gradient(135deg,var(--mx-cyan),#0b7fb8);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 28px -8px rgba(14,165,233,.7),inset 0 1px 0 rgba(255,255,255,.3);
}
.btn-primary-fx:hover,.primary-button:hover,
.clinical-ui .btn-primary-fx:hover{background:linear-gradient(135deg,var(--mx-cyan-hi),var(--mx-cyan));box-shadow:0 14px 34px -8px rgba(14,165,233,.8)}
.btn-pulse-fx,.emergency-sos-header-btn{background:linear-gradient(135deg,var(--mx-crimson),#a31235)!important;box-shadow:0 10px 28px -8px rgba(225,29,72,.7)}
/* CTA «رزرو نوبت» هدر همیشه شیمر دارد */
.header-actions .btn-primary-fx{position:relative;overflow:hidden}
.header-actions .btn-primary-fx::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);pointer-events:none;
  animation:laserSweep 4.5s cubic-bezier(.4,0,.2,1) infinite}
.outline-button,.clinical-ui .outline-button{background:rgba(255,255,255,.04);border:1px solid var(--mx-line);color:var(--mx-ink)}
.outline-button:hover,.clinical-ui .outline-button:hover{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.5);color:var(--mx-cyan-hi)}
.digital-card-button{color:var(--mx-crimson-hi);background:rgba(225,29,72,.08);border-color:rgba(225,29,72,.3)}
.light-button,.clinical-ui .light-button{background:rgba(255,255,255,.06);color:var(--mx-ink);border:1px solid var(--mx-line);box-shadow:none}

/* ---------- ۴) سطوح شیشه‌ای (کارت‌ها) ---------- */
.spotlight-card,.service-card,.doctor-option,.feature-box,.reserve-card,.booking-receipt,.vcard-card,
.clinical-ui .hero-card-tilt,.clinical-ui .service-card,.clinical-ui .doctor-option,.clinical-ui .reserve-card,
.clinical-ui .booking-receipt,.clinical-ui .feature-box,.clinical-ui .vcard-card,
.clinical-ui .service-product-card,.clinical-ui .products-empty-state{
  background:linear-gradient(160deg,rgba(19,32,56,.72),rgba(13,22,39,.72));
  border:1px solid var(--mx-line);
  box-shadow:var(--mx-shadow),inset 0 1px 0 rgba(255,255,255,.07);
  color:var(--mx-ink);
}
.clinical-ui .hero-card-footer strong,.clinical-ui .service-card h3,.clinical-ui .service-card h4,
.clinical-ui .doctor-option strong,.clinical-ui .reserve-card h2,.clinical-ui .reserve-card h3,
.clinical-ui .feature-box h3,.clinical-ui .feature-box h4,
.clinical-ui .hero-copy h1,.clinical-ui .hero-title,.clinical-ui .section-heading h2,.clinical-ui .section-title,
.clinical-ui .reserve-hero h1,.clinical-ui .products-shell .hero-title{color:var(--mx-ink)}
.clinical-ui .hero-copy p,.clinical-ui .hero-desc,.clinical-ui .section-subtitle,.clinical-ui .hero-meta-bar,
.clinical-ui .hero-card-footer small,.clinical-ui .service-card p,.clinical-ui .doctor-option p,
.clinical-ui .reserve-card p,.clinical-ui .feature-box p,.clinical-ui .reserve-hero p{color:var(--mx-mute)}
.clinical-ui .products-shell .text-slate-300,.clinical-ui .products-shell .text-slate-400,
.clinical-ui .results-shell .text-slate-300,.clinical-ui .reserve-shell .text-slate-300,
.clinical-ui .reserve-shell .text-slate-400{color:var(--mx-mute)!important}
.clinical-ui .products-shell .text-white,.clinical-ui .results-shell .text-white,
.clinical-ui .reserve-shell .text-white{color:var(--mx-ink)!important}
.spotlight-card:hover,.service-card:hover,.doctor-option:hover,.feature-box:hover{border-color:rgba(56,189,248,.45);box-shadow:0 24px 50px -14px rgba(14,165,233,.25),inset 0 1px 0 rgba(255,255,255,.14)}
.section-kicker,.section-heading .eyebrow,.clinical-ui .section-kicker,.clinical-ui .section-heading .eyebrow,
.clinical-ui .highlight-vital,.clinical-ui .hero-address-link,.clinical-ui .contact-phone-link{color:var(--mx-cyan-hi)}
.service-icon-box,.feature-icon,.clinical-ui .service-product-card .service-card-icon{background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.28);color:var(--mx-cyan-hi)!important}
.feature-box-icon{background:rgba(225,29,72,.1);border-color:rgba(225,29,72,.3);color:var(--mx-crimson-hi)}
.clinical-ui .text-cyan{color:var(--mx-cyan-hi)!important}
.clinical-ui .text-rose{color:var(--mx-crimson-hi)!important}
.clinical-ui .text-emerald{color:var(--mx-ok)!important}

/* ---------- ۵) هیرو (لندینگ) ---------- */
.clinical-ui.home-page .home-hero,.home-page .home-hero{
  background:radial-gradient(ellipse at 80% 0%,rgba(14,165,233,.12),transparent 48%),radial-gradient(ellipse at 10% 90%,rgba(225,29,72,.08),transparent 45%)}
.clinical-ui.home-page .hero-title,.clinical-ui.home-page .hero-copy h1{color:var(--mx-ink)}
.clinical-ui.home-page .hero-desc,.clinical-ui.home-page .hero-meta-bar,.clinical-ui.home-page .hero-card-footer small{color:var(--mx-mute)}
.clinical-ui.home-page .highlight-vital,.highlight-vital,.home-page .highlight-vital{
  background:linear-gradient(120deg,var(--mx-cyan-hi),#fff 45%,var(--mx-crimson-hi));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.clinical-ui.home-page .hero-address-link{color:var(--mx-cyan-hi)}
.hero-meta-bar,.clinical-ui.home-page .hero-meta-bar{border-top:1px solid var(--mx-line)}
/* خلوت‌سازی کپسول‌ها: نشانگر زنده = نقطه + متن، بدون قاب کپسولی */
.radar-pulse-badge,.clinical-ui .radar-pulse-badge,.clinical-ui.home-page .radar-pulse-badge,.home-page .radar-pulse-badge{
  background:none;border:0;border-bottom:1px solid var(--mx-line);border-radius:0;padding:4px 0;color:var(--mx-ok)}
.badge-pulse-glow{background:none;border:0;border-inline-start:2px solid var(--mx-cyan-hi);border-radius:0;padding:0 8px;color:var(--mx-cyan-hi)}
.ai-badge,.ai-chip-btn{background:none;border:0;border-bottom:1px solid rgba(225,29,72,.5);border-radius:0;padding:2px 0}
.doctor-days{background:none;border-top:1px dashed var(--mx-line);border-radius:0;padding:10px 0 0}
/* قلب ۷۲ ضربه در دقیقه = ۰٫۸۳۳ ثانیه */
.heart-pulsing{animation-duration:.8333s;filter:drop-shadow(0 0 14px rgba(225,29,72,.7))}
.hero-image-crystal-frame,.hero-image-frame{border:1px solid var(--mx-line)}

/* اسیلوسکوپ ECG: فیروزه‌ای + یاقوتی */
.clinical-ui.home-page .ecg-wave-glow,.ecg-wave-glow{stroke:var(--mx-crimson)}
.clinical-ui.home-page .ecg-wave-path,.ecg-wave-path{stroke:var(--mx-cyan-hi)}
.clinical-ui.home-page .ecg-scan-line,.ecg-scan-line{stroke:var(--mx-cyan-hi)}
.clinical-ui.home-page .ecg-education-strip>div strong,.clinical-ui.home-page .ecg-monitor-footer>span i{color:var(--mx-cyan-hi)}
.clinical-ui.home-page .ecg-play-toggle{border-color:rgba(56,189,248,.35);background:rgba(14,165,233,.1);color:#bae6fd}
.monitor-mode-btn.active,.monitor-mode-btn:hover{border-color:rgba(56,189,248,.6);background:rgba(14,165,233,.14);color:#e0f2fe;box-shadow:0 0 18px rgba(14,165,233,.15)}

/* ---------- ۶) کارت ویزیت دیجیتال (Hero Luxury VCard) ---------- */
.vcard-shell{background:radial-gradient(700px 400px at 50% 0%,rgba(14,165,233,.12),transparent 70%)}
.vcard-card{position:relative;transform-style:preserve-3d;will-change:transform;border-radius:28px;max-width:480px}
.vcard-card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(56,189,248,.65),transparent 35%,transparent 65%,rgba(251,113,133,.65));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.vcard-header-banner{background:linear-gradient(160deg,rgba(19,32,56,.95),rgba(14,165,233,.16));border-bottom:1px solid var(--mx-line-soft)}
.vcard-logo-ring{border:1px solid rgba(56,189,248,.6);position:relative;box-shadow:0 0 28px rgba(14,165,233,.35)}
.vcard-logo-ring::before,.vcard-logo-ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--mx-crimson-hi);opacity:0;animation:mxRipple 2.5s infinite}
.vcard-logo-ring::after{animation-delay:1.25s}
@keyframes mxRipple{0%{transform:scale(.9);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.vcard-info-box{background:rgba(7,12,22,.55);border:1px solid var(--mx-line-soft)}
.vcard-info-item i{color:var(--mx-cyan-hi)}
.vcard-quick-actions a{transition:transform .18s var(--mx-ease)}
.vcard-quick-actions a:active{transform:scale(.95)}

/* ---------- ۷) رزرو نوبت: Stepper + رسید Boarding-Pass ---------- */
.clinical-ui.reserve-page,.reserve-page{background:transparent}
.reserve-hero,.clinical-ui .reserve-hero{background:linear-gradient(135deg,rgba(13,22,39,.9),rgba(19,32,56,.7));border-bottom:1px solid var(--mx-line)}
.clinical-ui .reserve-hero-badge{background:rgba(255,255,255,.04);border-color:var(--mx-line);box-shadow:none}
.reserve-steps .active{color:var(--mx-cyan-hi)}
.reserve-steps .active b{background:var(--mx-cyan);box-shadow:0 0 14px rgba(14,165,233,.6)}
.clinical-ui .booking-wizard-steps .step-badge{color:var(--mx-mute)}
.clinical-ui .booking-wizard-steps .step-badge.active{color:var(--mx-cyan-hi)}
.clinical-ui .booking-wizard-steps .step-divider{background:var(--mx-line)}
.doctor-option{transition:transform .18s var(--mx-ease),border-color .18s,background .18s}
.doctor-option.selected{border-color:var(--mx-cyan-hi);background:rgba(56,189,248,.1);box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.slot-grid label{transition:all .18s var(--mx-ease)}   /* زیر ۱۸۰ms */
.slot-radio:checked+label{background:var(--mx-cyan);border-color:var(--mx-cyan-hi)}
.jalali-picker{background:rgba(7,12,22,.6);border:1px solid var(--mx-line)}
.clinical-ui .reserve-shell .reserve-card,.clinical-ui .reserve-shell .booking-receipt,
.clinical-ui .reserve-shell .booking-receipt .tracking-code-box{background-color:transparent;color:var(--mx-ink);border-color:var(--mx-line)}
/* رسید: برش پانچ‌شده + خط‌چین */
.booking-receipt{border-color:var(--mx-line);border-radius:var(--mx-r-lg);
  -webkit-mask:radial-gradient(circle 11px at 0 62%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 62%,transparent 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 62%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 62%,transparent 98%,#000) right/51% 100% no-repeat}
.receipt-grid>div{background:rgba(7,12,22,.5);border:1px solid var(--mx-line-soft)}
.tracking-code{background:rgba(14,165,233,.08);border:1px dashed rgba(56,189,248,.45)}
.tracking-code strong{color:var(--mx-cyan-hi);font-variant-numeric:tabular-nums}

/* ---------- ۸) فرم‌های واحد (عمومی + مدیر + بیمار) ---------- */
.form-control,.form-select,.input-group-text,
.clinical-ui .form-control,.clinical-ui .form-select,
.admin-page .main-content .form-control,.admin-page .main-content .form-select,
.patient-portal-main .form-control{
  background-color:rgba(7,12,22,.6);color:var(--mx-ink);
  border:1px solid var(--mx-line);border-radius:12px;min-height:44px;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
textarea.form-control,.clinical-ui textarea.form-control,.admin-page .main-content textarea.form-control{min-height:initial}
.form-control::placeholder{color:var(--mx-faint)}
.form-control:focus,.form-select:focus,.clinical-ui .form-control:focus,.clinical-ui .form-select:focus,
.admin-page .main-content .form-control:focus,.admin-page .main-content .form-select:focus{
  background-color:rgba(7,12,22,.8);color:var(--mx-ink);border-color:var(--mx-cyan-hi);box-shadow:0 0 0 4px rgba(56,189,248,.16)}
.form-control:disabled,.form-select:disabled{background-color:rgba(255,255,255,.04);color:var(--mx-faint)}
.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2394A3B8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
.form-label,.form-text{color:var(--mx-mute)}
.form-check-input{background-color:rgba(7,12,22,.6);border-color:var(--mx-line)}
.form-check-input:checked{background-color:var(--mx-cyan);border-color:var(--mx-cyan)}
.form-check-input:focus{box-shadow:0 0 0 4px rgba(56,189,248,.16);border-color:var(--mx-cyan-hi)}
.form-switch .form-check-input{width:2.6em;height:1.45em;cursor:pointer}   /* Toggle Switch مدرن (شیفت‌ها) */
.password-toggle{color:var(--mx-mute)}

/* ---------- ۹) OTP: فوکوس خودکار + فیزیک فنری ---------- */
.auth-otp-digit,.clinical-ui .auth-otp-digit{
  height:4.2rem;border-radius:16px;font-size:1.7rem;font-weight:700;font-variant-numeric:tabular-nums;
  background:rgba(7,12,22,.6);color:var(--mx-ink);border:1px solid var(--mx-line);
  transition:border-color .2s,box-shadow .2s,transform .25s var(--mx-ease)}
.auth-otp-digit:focus{border-color:var(--mx-cyan-hi);box-shadow:0 0 0 4px rgba(56,189,248,.18);transform:translateY(-3px)}
.auth-otp-form.is-error .auth-otp-digit{border-color:var(--mx-crimson-hi);animation:mxSpring .5s}
.auth-otp-form.is-success .auth-otp-digit{border-color:var(--mx-ok);animation:mxPop .5s var(--mx-ease)}
@keyframes mxSpring{0%,100%{transform:translateX(0)}15%{transform:translateX(-10px)}30%{transform:translateX(8px)}45%{transform:translateX(-6px)}60%{transform:translateX(4px)}80%{transform:translateX(-2px)}}
@keyframes mxPop{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
.clinical-ui.auth-page .card{background:linear-gradient(160deg,rgba(19,32,56,.78),rgba(13,22,39,.78));color:var(--mx-ink);border:1px solid var(--mx-line);backdrop-filter:blur(20px)}
.clinical-ui.auth-page .container{color:var(--mx-ink)}
.clinical-ui.auth-page .card-body > .text-center:last-child .text-muted,
.clinical-ui.auth-page .card-body > .text-center:last-child a{color:var(--mx-ink)!important}

/* ---------- ۱۰) پنل بیمار (پرونده الکترونیک سلامت) ---------- */
body.patient-portal-page{color:var(--mx-ink);background:var(--mx-void);
  background-image:radial-gradient(800px 480px at 85% -10%,rgba(14,165,233,.12),transparent 60%),radial-gradient(600px 480px at 0% 30%,rgba(225,29,72,.07),transparent 60%);background-attachment:fixed}
.patient-portal-sidebar{background:linear-gradient(180deg,rgba(13,22,39,.95),rgba(7,12,22,.95));box-shadow:inset -1px 0 var(--mx-line-soft);border-inline-start:0}
.patient-portal-brand{border-bottom-color:var(--mx-line-soft)}
.patient-portal-brand-icon{background:linear-gradient(135deg,var(--mx-crimson),var(--mx-cyan));box-shadow:0 0 20px rgba(225,29,72,.35)}
.patient-portal-nav a,.patient-portal-logout{color:var(--mx-mute)}
.patient-portal-nav a.active,.patient-portal-nav a:hover{color:var(--mx-cyan-hi);background:rgba(56,189,248,.1);border-color:transparent;box-shadow:inset -3px 0 0 var(--mx-cyan-hi)}
.patient-portal-logout{color:var(--mx-crimson-hi);background:rgba(225,29,72,.08);border-color:rgba(225,29,72,.2)}
.patient-portal-logout:hover{background:var(--mx-crimson);color:#fff}
.patient-portal-main{color:var(--mx-ink);background:transparent}
.patient-portal-main .patient-panel-card,.patient-portal-main .card,.clinical-ui .patient-panel-card,
.patient-portal-main .results-shell .spotlight-card,.clinical-ui .results-shell .spotlight-card{
  color:var(--mx-ink);background:linear-gradient(160deg,rgba(19,32,56,.72),rgba(13,22,39,.72));
  border:1px solid var(--mx-line);border-radius:var(--mx-r-lg);box-shadow:var(--mx-shadow);backdrop-filter:blur(20px)}
.patient-portal-main h1,.patient-portal-main h2,.patient-portal-main h3,
.patient-portal-main h4,.patient-portal-main h5,.patient-portal-main h6,
.patient-portal-main .text-body{color:var(--mx-ink)!important}
.patient-portal-main .text-muted,.patient-portal-main .small.text-muted{color:var(--mx-mute)!important}
.patient-portal-main .card-header.bg-white,
.patient-portal-main .card-header{
  color:var(--mx-ink);
  background:rgba(7,12,22,.3)!important;
  border-color:var(--mx-line-soft)!important;
}
.patient-portal-main .alert-light{
  color:#cbd5e1!important;
  background:rgba(255,255,255,.045)!important;
  border-color:var(--mx-line)!important;
}
.patient-portal-main .list-group-item{
  color:var(--mx-ink);
  background:transparent;
  border-color:var(--mx-line-soft);
}
.patient-portal-main .table{
  --bs-table-color:var(--mx-ink);
  --bs-table-bg:transparent;
  --bs-table-border-color:var(--mx-line-soft);
  --bs-table-striped-color:var(--mx-ink);
  --bs-table-hover-color:#fff;
}
.patient-portal-main .table thead th{color:var(--mx-mute)}
.patient-portal-main .empty-state-card{color:var(--mx-mute)}
.patient-portal-main .empty-state-card strong{color:var(--mx-ink)}
.patient-page-eyebrow{color:var(--mx-cyan-hi)}
.patient-portal-main .results-header-block .hero-title,.patient-portal-main .results-shell .text-white{color:var(--mx-ink)!important}
.patient-portal-main .results-header-block p,.patient-portal-main .results-shell .text-slate-300,
.patient-portal-main .results-shell .text-slate-400{color:var(--mx-mute)!important}
.panel-mobile-toolbar{background:rgba(13,22,39,.92);border-color:var(--mx-line);backdrop-filter:blur(16px);box-shadow:var(--mx-shadow)}
.panel-menu-toggle{background:rgba(255,255,255,.05);border-color:var(--mx-line)}
.panel-menu-toggle span{background:var(--mx-cyan-hi)}
.panel-mobile-title{color:var(--mx-ink)}.panel-mobile-title span{color:var(--mx-mute)}
/* تیکت‌ها: حباب‌های چت دوطرفه */
.clinical-ui .ticket-thread{gap:14px}
.clinical-ui .ticket-thread-message{border:1px solid var(--mx-line);background:var(--mx-glass-2);color:var(--mx-ink);border-radius:18px}
.clinical-ui .ticket-thread-message.from-patient{background:linear-gradient(135deg,var(--mx-cyan),#0b7fb8);border-color:transparent;border-end-start-radius:4px}
.clinical-ui .ticket-thread-message.from-support{background:var(--mx-glass-2);border-end-end-radius:4px}
.clinical-ui .ticket-thread-message strong{color:#fff}
.clinical-ui .ticket-message-text{color:#e2e8f0}
.clinical-ui .ticket-meta,.clinical-ui .ticket-preview-text{color:var(--mx-mute)}
.clinical-ui .empty-state-card{background:rgba(255,255,255,.03);border:1px dashed var(--mx-line);color:var(--mx-mute)}
.clinical-ui .empty-state-card strong{color:var(--mx-ink)}.clinical-ui .empty-state-card>i{color:var(--mx-cyan-hi)}
/* وضعیت‌ها: نقطه + متن (بدون کپسول پرحجم) */
.ticket-status-badge,.clinical-ui .ticket-status-badge,.admin-page .ticket-status-badge{
  background:none!important;border:0;padding:0;min-height:0;font-weight:600;gap:7px;color:var(--mx-cyan-hi)}
.ticket-status-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;margin-inline-end:7px;box-shadow:0 0 8px currentColor}
.status-open,.status-user_reply{color:var(--mx-cyan-hi)!important}.status-in_progress{color:var(--mx-warn)!important}
.status-answered{color:var(--mx-ok)!important}.status-closed{color:var(--mx-faint)!important}.status-cancelled{color:var(--mx-crimson-hi)!important}

/* ---------- ۱۱) پنل مدیریت: داشبورد شیشه‌ای تیره (Enterprise) ---------- */
.admin-page{
  color-scheme:dark;color:var(--mx-ink);background:var(--mx-void);
  --bs-body-bg:var(--mx-void);--bs-body-color:var(--mx-ink);--bs-heading-color:var(--mx-ink);
  --bs-border-color:var(--mx-line);--bs-secondary-color:var(--mx-mute);--bs-emphasis-color:#fff;
  --bs-link-color:var(--mx-cyan-hi);--bs-link-hover-color:#7dd3fc;
  --bs-card-bg:transparent;--bs-card-cap-bg:rgba(255,255,255,.03);--bs-card-border-color:var(--mx-line);
  --bs-dropdown-bg:var(--mx-glass-1);--bs-dropdown-color:var(--mx-ink);--bs-dropdown-link-color:var(--mx-ink);
  --bs-dropdown-link-hover-bg:rgba(56,189,248,.1);--bs-dropdown-border-color:var(--mx-line);
  --bs-modal-bg:var(--mx-glass-1);--bs-modal-color:var(--mx-ink);--bs-modal-border-color:var(--mx-line);
  --bs-list-group-bg:transparent;--bs-list-group-color:var(--mx-ink);--bs-list-group-border-color:var(--mx-line-soft);
  --bs-pagination-bg:transparent;--bs-pagination-color:var(--mx-mute);--bs-pagination-border-color:var(--mx-line);
  --bs-pagination-hover-bg:rgba(56,189,248,.1);--bs-pagination-hover-color:var(--mx-cyan-hi);--bs-pagination-hover-border-color:var(--mx-line);
  --bs-pagination-active-bg:var(--mx-cyan);--bs-pagination-active-border-color:var(--mx-cyan);--bs-pagination-disabled-bg:transparent;
  background-image:radial-gradient(800px 480px at 90% -10%,rgba(14,165,233,.12),transparent 60%),radial-gradient(600px 480px at 0% 40%,rgba(225,29,72,.07),transparent 60%);
  background-attachment:fixed;
}
.admin-page .sidebar{background:linear-gradient(180deg,rgba(13,22,39,.96),rgba(7,12,22,.96));box-shadow:inset -1px 0 var(--mx-line-soft)}
.admin-page .sidebar .nav-link{color:var(--mx-mute);border-radius:12px}
.admin-page .sidebar .nav-link:hover{color:var(--mx-ink);background:rgba(255,255,255,.05);border-color:transparent}
.admin-page .sidebar .nav-link.active{color:var(--mx-cyan-hi);background:rgba(56,189,248,.1);border-color:transparent;box-shadow:inset -3px 0 0 var(--mx-cyan-hi)}
.admin-page .sidebar hr{border-color:var(--mx-line-soft);opacity:1}
.admin-brand-icon{background:linear-gradient(135deg,rgba(225,29,72,.25),rgba(14,165,233,.25));border:1px solid var(--mx-line)}
.admin-logo{background:linear-gradient(135deg,var(--mx-crimson),var(--mx-cyan));box-shadow:0 0 30px rgba(225,29,72,.35)}
.admin-page .main-content{color:var(--mx-ink);background:transparent}
.admin-page .main-content h2,.admin-page .main-content h3,.admin-page .main-content h4,.admin-page .main-content h5,.admin-page .main-content>h2{color:var(--mx-ink)}
.admin-page .text-muted,.admin-page .text-secondary,.admin-page small.text-muted{color:var(--mx-mute)!important}
.admin-page .text-dark{color:var(--mx-ink)!important}
.admin-page .bg-white,.admin-page .bg-light{background:rgba(255,255,255,.04)!important;color:var(--mx-ink)}
.admin-page .border,.admin-page .border-bottom,.admin-page .border-top{border-color:var(--mx-line)!important}
.admin-page a:not(.btn):not(.nav-link):not(.dropdown-item){color:var(--mx-cyan-hi)}
/* کارت‌ها */
.admin-page .main-content>.card,.admin-page .main-content .card{
  background:linear-gradient(160deg,rgba(19,32,56,.72),rgba(13,22,39,.72))!important;
  border:1px solid var(--mx-line)!important;border-radius:var(--mx-r-lg)!important;
  box-shadow:var(--mx-shadow)!important;backdrop-filter:blur(20px) saturate(140%);color:var(--mx-ink)}
.admin-page .main-content .card-header{background:rgba(255,255,255,.03)!important;border-bottom:1px solid var(--mx-line-soft);color:var(--mx-ink);border-radius:var(--mx-r-lg) var(--mx-r-lg) 0 0}
.admin-page .main-content .card-footer{background:transparent;border-top:1px solid var(--mx-line-soft)}
/* کارت‌های خلاصهٔ وضعیت (آیکن مینیمال) */
.stat-card,.admin-page .stat-card{background:linear-gradient(160deg,rgba(19,32,56,.72),rgba(13,22,39,.72));border:1px solid var(--mx-line);
  border-radius:var(--mx-r-lg);box-shadow:var(--mx-shadow);color:var(--mx-ink);transition:transform .25s var(--mx-ease),border-color .25s}
.stat-card:hover{transform:translateY(-4px);border-color:rgba(56,189,248,.4)}
.stat-card h4{font-variant-numeric:tabular-nums;font-size:1.7rem}
.stat-card small{color:var(--mx-mute)}
.stat-card .icon{background:rgba(14,165,233,.1)!important;border:1px solid rgba(14,165,233,.28);color:var(--mx-cyan-hi);border-radius:14px;box-shadow:none}
.stat-card.success .icon{background:rgba(52,211,153,.1)!important;border-color:rgba(52,211,153,.3);color:var(--mx-ok)}
.stat-card.warning .icon{background:rgba(251,191,36,.1)!important;border-color:rgba(251,191,36,.3);color:var(--mx-warn)}
.stat-card.danger .icon{background:rgba(225,29,72,.1)!important;border-color:rgba(225,29,72,.3);color:var(--mx-crimson-hi)}
/* جدول‌های متراکم (ارتفاع ردیف ۳۸px) */
.admin-page .main-content .table,.patient-portal-main .table,.clinical-ui .table{
  --bs-table-color:var(--mx-ink);--bs-table-bg:transparent;--bs-table-border-color:var(--mx-line-soft);
  --bs-table-striped-bg:rgba(255,255,255,.02);--bs-table-striped-color:var(--mx-ink);
  --bs-table-hover-bg:rgba(56,189,248,.06);--bs-table-hover-color:var(--mx-ink);font-size:.86rem;vertical-align:middle}
.admin-page .main-content .table thead th,.clinical-ui .table thead th,.patient-portal-main .table thead th{
  background:transparent;color:var(--mx-faint);font-size:.74rem;font-weight:600;letter-spacing:.02em;
  border-bottom:1px solid var(--mx-line);height:34px;padding:.3rem .75rem;position:sticky;top:0}
.admin-page .main-content .table td,.clinical-ui .table td,.patient-portal-main .table td{
  border-color:var(--mx-line-soft);height:38px;padding:.3rem .75rem;color:var(--mx-ink)}
.admin-page .main-content .table tbody tr:hover{background:rgba(56,189,248,.06)}
.mx-table-search{display:block;width:min(260px,100%);margin:0 0 12px auto;min-height:36px!important;font-size:.84rem;padding:6px 14px!important}
/* برچسب‌ها: خطّ مویرگی به‌جای کپسول توپُر */
.admin-page .badge{background:transparent!important;border:1px solid var(--mx-line);border-radius:6px;font-weight:500;padding:.28em .6em;color:var(--mx-mute)}
.admin-page .badge.bg-success{color:var(--mx-ok)!important;border-color:rgba(52,211,153,.4)}
.admin-page .badge.bg-warning{color:var(--mx-warn)!important;border-color:rgba(251,191,36,.4)}
.admin-page .badge.bg-danger{color:var(--mx-crimson-hi)!important;border-color:rgba(225,29,72,.45)}
.admin-page .badge.bg-primary,.admin-page .badge.bg-info{color:var(--mx-cyan-hi)!important;border-color:rgba(56,189,248,.4)}
.admin-page .badge.bg-secondary,.admin-page .badge.bg-dark{color:var(--mx-mute)!important}
/* دکمه‌های بوت‌استرپ → همان زبان دکمه‌های سایت */
.admin-page .btn,.patient-portal-main .btn{border-radius:12px;font-weight:600;transition:transform .18s var(--mx-ease),box-shadow .18s,background .18s,border-color .18s}
.admin-page .btn:active,.patient-portal-main .btn:active{transform:scale(.97)}
.admin-page .btn-primary,.patient-portal-main .btn-primary{--bs-btn-bg:var(--mx-cyan);--bs-btn-border-color:transparent;--bs-btn-hover-bg:var(--mx-cyan-hi);--bs-btn-hover-border-color:transparent;--bs-btn-active-bg:#0b7fb8;--bs-btn-color:#fff;--bs-btn-hover-color:#fff;
  background-image:linear-gradient(135deg,var(--mx-cyan),#0b7fb8);box-shadow:0 8px 24px -8px rgba(14,165,233,.7)}
.admin-page .btn-danger{--bs-btn-bg:var(--mx-crimson);--bs-btn-border-color:transparent;--bs-btn-hover-bg:#f43f5e;--bs-btn-hover-border-color:transparent;box-shadow:0 8px 24px -8px rgba(225,29,72,.7)}
.admin-page .btn-success{--bs-btn-bg:#059669;--bs-btn-border-color:transparent;--bs-btn-hover-bg:#10b981;--bs-btn-hover-border-color:transparent}
.admin-page .btn-warning{--bs-btn-bg:var(--mx-warn);--bs-btn-border-color:transparent;--bs-btn-color:#1f2937}
.admin-page .btn-outline-primary,.admin-page .btn-outline-secondary,.admin-page .btn-outline-dark,.admin-page .btn-light,.admin-page .btn-secondary{
  --bs-btn-color:var(--mx-ink);--bs-btn-border-color:var(--mx-line);--bs-btn-bg:rgba(255,255,255,.04);
  --bs-btn-hover-color:var(--mx-cyan-hi);--bs-btn-hover-bg:rgba(56,189,248,.1);--bs-btn-hover-border-color:rgba(56,189,248,.5);
  --bs-btn-active-bg:rgba(56,189,248,.16);--bs-btn-active-color:var(--mx-cyan-hi);--bs-btn-active-border-color:rgba(56,189,248,.5)}
.admin-page .btn-outline-danger{--bs-btn-color:var(--mx-crimson-hi);--bs-btn-border-color:rgba(225,29,72,.45);--bs-btn-hover-bg:var(--mx-crimson);--bs-btn-hover-border-color:var(--mx-crimson);--bs-btn-hover-color:#fff}
.admin-page .btn-close{filter:invert(1) grayscale(1) brightness(2)}
/* تب‌ها */
.admin-page .admin-section-tabs{border-bottom:1px solid var(--mx-line)}
.admin-page .admin-section-tabs .nav-link{color:var(--mx-mute);background:none;border-color:transparent;border-radius:12px 12px 0 0;position:relative}
.admin-page .admin-section-tabs .nav-link:hover{color:var(--mx-ink);background:rgba(255,255,255,.04);border-color:transparent}
.admin-page .admin-section-tabs .nav-link.active{color:var(--mx-cyan-hi);background:rgba(56,189,248,.08);border-color:transparent;box-shadow:none}
.admin-page .admin-section-tabs .nav-link.active::after{content:"";position:absolute;bottom:-1px;inset-inline:0;height:2px;background:linear-gradient(90deg,var(--mx-cyan-hi),var(--mx-crimson-hi))}
/* آلرت‌ها، مودال، لیست */
.admin-page .alert{border-radius:14px;border:1px solid var(--mx-line);background:rgba(255,255,255,.04);color:var(--mx-ink)}
.admin-page .alert-success{border-color:rgba(52,211,153,.4);color:#a7f3d0;background:rgba(52,211,153,.08)}
.admin-page .alert-danger{border-color:rgba(225,29,72,.45);color:#fecdd3;background:rgba(225,29,72,.08)}
.admin-page .alert-warning{border-color:rgba(251,191,36,.4);color:#fde68a;background:rgba(251,191,36,.08)}
.admin-page .alert-info{border-color:rgba(56,189,248,.4);color:#bae6fd;background:rgba(14,165,233,.08)}
.admin-page .modal-content{border-radius:var(--mx-r-lg);backdrop-filter:blur(24px);box-shadow:var(--mx-shadow)}
.admin-page .modal-header,.admin-page .modal-footer{border-color:var(--mx-line-soft)}
.admin-page .dropdown-menu{border-radius:14px;box-shadow:var(--mx-shadow)}
.admin-page .progress{background:rgba(255,255,255,.08);border-radius:99px;height:8px}
.admin-page .progress-bar{background:linear-gradient(90deg,var(--mx-cyan),var(--mx-crimson-hi))}
.admin-page .ticket-message{background:rgba(255,255,255,.04);border:1px solid var(--mx-line);color:var(--mx-ink);border-radius:16px}
.admin-page .ticket-message.internal{background:rgba(251,191,36,.07);border-color:rgba(251,191,36,.35)}
.admin-page .empty-state-card{color:var(--mx-mute)}.admin-page .empty-state-card strong{color:var(--mx-ink)}.admin-page .empty-state-card i{color:var(--mx-cyan-hi)}
.admin-page .ticket-admin-preview{color:var(--mx-mute)}
.tree-item{background:rgba(255,255,255,.04);border-color:var(--mx-line);color:var(--mx-ink)}
@media (max-width:767.98px){
  .admin-page .main-content .mobile-card-table tbody tr,
  .patient-portal-main .mobile-card-table tbody tr{background:rgba(19,32,56,.7);border:1px solid var(--mx-line);box-shadow:none}
  .admin-page .main-content .mobile-card-table tbody td,
  .patient-portal-main .mobile-card-table tbody td{border-bottom-color:var(--mx-line-soft)}
  .admin-page .main-content .mobile-card-table tbody td::before,
  .patient-portal-main .mobile-card-table tbody td::before{color:var(--mx-faint)}
  .mx-table-search{margin-inline:0}
}

/* ---------- ۱۲) فوتر، چت، مودال اورژانس ---------- */
.site-footer,.clinical-ui .site-footer{background:#040810;color:var(--mx-mute);border-top:1px solid var(--mx-line-soft)}
.clinical-ui .copyright-bar{background:transparent}
.clinical-ui .footer-desc,.clinical-ui .site-footer .brand-text small{color:var(--mx-mute)}
.mana-chat-toggle-btn{background:linear-gradient(135deg,var(--mx-cyan),var(--mx-crimson))}
.mana-chat-box{background:rgba(13,22,39,.96);border-color:var(--mx-line)}
.mana-msg.user{background:linear-gradient(135deg,var(--mx-cyan),#0b7fb8)}
.mana-msg.agent{background:var(--mx-glass-2);border-color:var(--mx-line)}
.emergency-modal-card{border-color:rgba(251,113,133,.4)}
.emergency-call-actions a:first-child{background:linear-gradient(100deg,#a31235,var(--mx-crimson))}
.clinical-ui :focus-visible,.home-page :focus-visible,.admin-page :focus-visible{outline:3px solid var(--mx-cyan-hi);outline-offset:3px}

/* ---------- ۱۳) حرکت کاسته ---------- */
@media (prefers-reduced-motion:reduce){
  .heart-pulsing,.vcard-logo-ring::before,.vcard-logo-ring::after,.header-actions .btn-primary-fx::after,
  .auth-otp-form.is-error .auth-otp-digit,.auth-otp-form.is-success .auth-otp-digit{animation:none!important}
}

/* Bring the existing full-page vCard layout into the shared clinical theme. */
body.vcard-page .vcard-viewport-wrapper{
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(14,165,233,.14),transparent 60%),
    radial-gradient(700px 500px at 5% 20%,rgba(225,29,72,.09),transparent 60%),
    var(--mx-void);
}
body.vcard-page .vcard-fullscreen-container{
  background:linear-gradient(160deg,rgba(19,32,56,.82),rgba(13,22,39,.9));
  border-color:var(--mx-line);
  box-shadow:var(--mx-shadow),inset 0 1px 0 rgba(255,255,255,.07);
}
body.vcard-page .vcard-interactive-column{
  color:var(--mx-ink);
  background:linear-gradient(160deg,rgba(19,32,56,.78),rgba(13,22,39,.92));
  border-inline-start:1px solid var(--mx-line-soft);
}
body.vcard-page .vcard-interactive-column .text-white{color:var(--mx-ink)!important}
body.vcard-page .vcard-interactive-column .text-slate-300,
body.vcard-page .vcard-interactive-column .text-slate-400{color:var(--mx-mute)!important}
body.vcard-page .vcard-interactive-column .text-cyan,
body.vcard-page .vcard-interactive-column .text-emerald{color:var(--mx-cyan-hi)!important}
body.vcard-page .vcard-interactive-column .text-rose{color:var(--mx-crimson-hi)!important}
body.vcard-page .vcard-info-item{
  background:rgba(7,12,22,.48);
  border-color:var(--mx-line-soft);
}
body.vcard-page .vcard-info-item strong{color:var(--mx-mute)}
body.vcard-page .vcard-info-item span{color:var(--mx-ink)}
body.vcard-page .vcard-nav-link{
  color:var(--mx-mute);
  background:rgba(255,255,255,.04);
  border-color:var(--mx-line);
}
body.vcard-page .vcard-nav-link:hover{
  color:var(--mx-cyan-hi);
  background:rgba(56,189,248,.1);
  border-color:rgba(56,189,248,.5);
}
body.vcard-page .vcard-doctor-highlight{
  background:rgba(14,165,233,.08);
  border-color:rgba(56,189,248,.25);
}
body.vcard-page .vcard-info-symbol{
  color:var(--mx-cyan-hi);
  background:rgba(14,165,233,.12);
  border-color:rgba(56,189,248,.45);
}
body.vcard-page .vcard-service-badge{
  color:#bae6fd;
  background:rgba(14,165,233,.1);
  border-color:rgba(56,189,248,.28);
}
body.vcard-page .vcard-btn-call,
body.vcard-page .vcard-btn-download{
  color:var(--mx-ink);
  background:rgba(255,255,255,.05);
  border-color:var(--mx-line);
}
body.vcard-page .vcard-btn-call:hover,
body.vcard-page .vcard-btn-download:hover{
  color:#fff;
  background:rgba(56,189,248,.16);
  border-color:rgba(56,189,248,.5);
}
body.vcard-page .vcard-mobile-bottom-bar{
  background:rgba(7,12,22,.96);
  border-top-color:var(--mx-line);
  backdrop-filter:blur(16px);
}
body.vcard-page .vcard-mobile-bottom-bar .mobile-bar-btn{color:var(--mx-ink)}

/* Shared animated clinic card used on the homepage and digital business card. */
.mana-heart-card{
  position:relative;
  isolation:isolate;
  transform-style:preserve-3d;
  transition:transform .24s var(--mx-ease);
  width:100%;
  padding:clamp(20px,3vw,32px);
  overflow:hidden;
  color:var(--mx-ink);
  text-align:right;
  background:
    radial-gradient(ellipse at 88% 12%,rgba(14,165,233,.16),transparent 42%),
    radial-gradient(ellipse at 12% 88%,rgba(225,29,72,.1),transparent 46%),
    linear-gradient(145deg,#101b30,#0b1323 74%);
  border:1px solid rgba(56,189,248,.34);
  border-radius:28px;
  box-shadow:var(--mx-shadow),inset 0 1px 0 rgba(255,255,255,.08);
}
.mana-heart-card::after{
  position:absolute;
  z-index:-1;
  inset:0;
  border:1px solid rgba(251,113,133,.28);
  border-radius:inherit;
  content:"";
  pointer-events:none;
}
.mana-heart-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.mana-heart-card-brand h2{
  margin:0;
  color:var(--mx-ink);
  font-size:clamp(1rem,1.8vw,1.28rem);
  font-weight:800;
  line-height:1.5;
}
.mana-heart-card-brand p{
  margin:3px 0 0;
  color:var(--mx-mute);
  font-size:.8rem;
}
.mana-heart-card-status{
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  gap:8px;
  padding:6px 11px;
  color:var(--mx-ok);
  font-size:.78rem;
  white-space:nowrap;
  background:rgba(52,211,153,.07);
  border:1px solid rgba(52,211,153,.28);
  border-radius:999px;
}
.mana-heart-card-status i{
  width:8px;
  height:8px;
  background:var(--mx-ok);
  border-radius:50%;
  box-shadow:0 0 12px rgba(52,211,153,.75);
  animation:manaStatusPulse 2s ease-in-out infinite;
}
@keyframes manaStatusPulse{50%{box-shadow:0 0 0 6px rgba(52,211,153,0)}}
.mana-heart-card-pulse{
  position:relative;
  display:grid;
  width:min(100%,250px);
  aspect-ratio:1;
  margin:5px auto -5px;
  place-items:center;
}
.mana-heart-card-ring{
  position:absolute;
  width:48%;
  aspect-ratio:1;
  border:1px solid rgba(251,113,133,.7);
  border-radius:50%;
  animation:manaHeartRipple 3s ease-out infinite;
}
.mana-heart-card-ring:nth-child(2){animation-delay:1s}
.mana-heart-card-ring:nth-child(3){animation-delay:2s}
@keyframes manaHeartRipple{
  0%{transform:scale(.72);opacity:.65}
  100%{transform:scale(2.05);opacity:0}
}
.mana-heart-card-heart{
  z-index:1;
  width:34%;
  overflow:visible;
  filter:drop-shadow(0 0 17px rgba(225,29,72,.72));
  animation:manaHeartBeat .9s ease-in-out infinite;
}
@keyframes manaHeartBeat{
  0%,100%{transform:scale(1)}
  18%{transform:scale(1.12)}
  34%{transform:scale(.98)}
  48%{transform:scale(1.07)}
}
.mana-heart-card-bpm{
  position:absolute;
  right:0;
  bottom:7%;
  display:flex;
  align-items:baseline;
  gap:7px;
  color:var(--mx-mute);
  font-size:.78rem;
}
.mana-heart-card-bpm strong{
  color:var(--mx-crimson-hi);
  font-size:1.45rem;
  line-height:1;
}
.mana-heart-card-ecg{
  height:clamp(48px,8vw,72px);
  overflow:hidden;
}
.mana-heart-card-ecg svg{display:block;width:100%;height:100%;overflow:visible}
.mana-heart-card-ecg path{
  fill:none;
  stroke:url(#manaEcgGradient);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mana-heart-card-ecg-glow{
  stroke-width:7;
  opacity:.2;
  filter:blur(4px);
}
.mana-heart-card-ecg-line{
  stroke-width:2.2;
  stroke-dasharray:260 1200;
  animation:manaEcgSweep 4s linear infinite;
}
@keyframes manaEcgSweep{to{stroke-dashoffset:-1460}}
.mana-heart-card-note{
  margin:0 0 13px;
  color:var(--mx-faint);
  font-size:.68rem;
  text-align:center;
}
.mana-heart-card-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
  margin:0;
}
.mana-heart-card-details>div{min-width:0}
.mana-heart-card-details dt{
  margin:0 0 3px;
  color:var(--mx-mute);
  font-size:.73rem;
}
.mana-heart-card-details dd{
  margin:0;
  color:var(--mx-ink);
  font-size:.82rem;
  font-weight:600;
  line-height:1.7;
  overflow-wrap:anywhere;
}
.mana-heart-card-details dd a{color:var(--mx-cyan-hi)}
.mana-heart-card-maps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:17px;
}
.mana-heart-card-maps a{
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:7px;
  color:var(--mx-ink);
  font-size:.78rem;
  font-weight:700;
  text-align:center;
  background:rgba(255,255,255,.035);
  border:1px solid var(--mx-line);
  border-radius:13px;
  transition:background .2s,border-color .2s,transform .2s;
}
.mana-heart-card-maps a:hover{
  transform:translateY(-2px);
  background:rgba(56,189,248,.1);
  border-color:rgba(56,189,248,.5);
}
.home-page .hero-visual .mana-heart-card{max-width:560px;margin-inline:auto}
.vcard-page .vcard-visual-column{
  justify-content:center;
  gap:18px;
  padding:clamp(18px,3vw,36px);
  background:radial-gradient(ellipse at 50% 0%,rgba(14,165,233,.1),transparent 56%),var(--mx-void);
}
.vcard-page .vcard-return-nav{justify-content:flex-start}
@keyframes vcard-mobile-ambient-glow{
  0%{background-position:0% 0%,100% 100%,center}
  100%{background-position:35% 45%,65% 55%,center}
}
@keyframes vcard-mobile-card-glow{
  50%{box-shadow:0 18px 48px rgba(14,165,233,.2),0 0 30px rgba(225,29,72,.12),inset 0 1px 0 rgba(255,255,255,.08)}
}
@media(max-width:991px){
  .vcard-page .vcard-visual-column{align-items:stretch;text-align:right}
  .vcard-page .vcard-return-nav{align-self:flex-start}
  body.vcard-page .vcard-viewport-wrapper{
    background:
      radial-gradient(ellipse 78% 24% at 8% 8%,rgba(14,165,233,.28),transparent 76%),
      radial-gradient(ellipse 74% 25% at 92% 38%,rgba(225,29,72,.2),transparent 76%),
      var(--mx-void);
    background-size:160% 160%,160% 160%,auto;
    animation:vcard-mobile-ambient-glow 12s ease-in-out infinite alternate;
  }
  .vcard-page .mana-heart-card{
    animation:vcard-mobile-card-glow 5s ease-in-out infinite;
  }
}
@media(max-width:520px){
  .mana-heart-card{padding:18px;border-radius:22px}
  .mana-heart-card-header{align-items:flex-start}
  .mana-heart-card-status{gap:6px;padding:5px 8px;font-size:.68rem}
  .mana-heart-card-details{grid-template-columns:1fr;gap:9px}
  .mana-heart-card-maps{gap:6px}
  .mana-heart-card-maps a{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){
  .mana-heart-card-status i,.mana-heart-card-ring,.mana-heart-card-heart,.mana-heart-card-ecg-line{animation:none!important}
  body.vcard-page .vcard-viewport-wrapper,.vcard-page .mana-heart-card{animation:none!important}
}

/* Keep every administration surface on the same dark, high-contrast theme. */
.admin-page{
  color-scheme:dark;
  --mx-admin-surface:rgba(13,22,39,.88);
  --mx-admin-surface-raised:rgba(19,32,56,.92);
}
.admin-page .main-content{
  color:var(--mx-ink);
}
.admin-page .sidebar .nav-link,
.admin-page .admin-section-tabs .nav-link{
  color:var(--mx-mute);
}
.admin-page .sidebar .nav-link:hover,
.admin-page .sidebar .nav-link:focus-visible,
.admin-page .admin-section-tabs .nav-link:hover,
.admin-page .admin-section-tabs .nav-link:focus-visible{
  color:var(--mx-ink);
  background:rgba(56,189,248,.08);
}
.admin-page .sidebar .nav-link.active,
.admin-page .admin-section-tabs .nav-link.active{
  color:var(--mx-cyan-hi);
  background:rgba(56,189,248,.1);
}
.admin-page .admin-section-tabs .nav-link.active{
  border-color:transparent;
  box-shadow:none;
}
.admin-page .bg-white,
.admin-page .bg-light,
.admin-page .text-bg-light,
.admin-page .table-light,
.admin-page .badge.bg-light,
.admin-page .badge.text-bg-light{
  color:var(--mx-ink)!important;
  background:rgba(255,255,255,.045)!important;
}
.admin-page .form-control,
.admin-page .form-select,
.admin-page input:not([type="checkbox"]):not([type="radio"]),
.admin-page textarea{
  color:var(--mx-ink);
  background-color:rgba(7,12,22,.72);
  border-color:var(--mx-line);
}
.admin-page .form-control::placeholder,
.admin-page input::placeholder,
.admin-page textarea::placeholder{
  color:var(--mx-faint);
  opacity:1;
}
.admin-page .form-control:focus,
.admin-page .form-select:focus,
.admin-page input:focus,
.admin-page textarea:focus{
  color:var(--mx-ink);
  background-color:rgba(7,12,22,.9);
  border-color:var(--mx-cyan);
}
.admin-page .form-control:disabled,
.admin-page .form-select:disabled,
.admin-page input:disabled,
.admin-page textarea:disabled{
  color:var(--mx-mute);
  background-color:rgba(255,255,255,.035);
  opacity:1;
}
.admin-page .form-select option{
  color:var(--mx-ink);
  background:#0d1627;
}
.admin-page input[type="checkbox"],
.admin-page input[type="radio"]{
  accent-color:var(--mx-cyan);
}
.admin-page input[type="date"]::-webkit-calendar-picker-indicator,
.admin-page input[type="time"]::-webkit-calendar-picker-indicator{
  filter:invert(.82);
}
.admin-page .form-control[type="file"]::file-selector-button{
  color:var(--mx-ink);
  background:rgba(56,189,248,.1);
  border-inline-end:1px solid var(--mx-line);
}
.admin-page .form-control:-webkit-autofill,
.admin-page .form-control:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--mx-ink);
  box-shadow:0 0 0 1000px #0d1627 inset;
}
.admin-page .dropdown-menu{
  color:var(--mx-ink);
  background:var(--mx-admin-surface-raised);
  border-color:var(--mx-line);
}
.admin-page .dropdown-item{
  color:var(--mx-ink);
}
.admin-page .dropdown-item:hover,
.admin-page .dropdown-item:focus{
  color:var(--mx-ink);
  background:rgba(56,189,248,.1);
}
.admin-page .list-group-item{
  color:var(--mx-ink);
  background:transparent;
  border-color:var(--mx-line-soft);
}
.admin-page .main-content .mobile-card-table tbody tr{
  background:var(--mx-admin-surface);
  border-color:var(--mx-line);
}
.admin-page .main-content .mobile-card-table tbody td{
  border-color:var(--mx-line-soft);
}
.admin-page .main-content .mobile-card-table tbody td::before,
.admin-page .ticket-admin-preview{
  color:var(--mx-mute);
}
.admin-page .main-content .table thead th{
  color:var(--mx-mute);
  background:rgba(255,255,255,.025);
}
.admin-page .main-content .table tbody tr:hover{
  background:rgba(56,189,248,.055);
}
.admin-page .dashboard-live-indicator{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  color:#86efac;
  background:rgba(34,197,94,.1);
  border:1px solid rgba(34,197,94,.18);
  border-radius:999px;
  font-size:.76rem;
}
.admin-page .dashboard-live-indicator i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 10px rgba(74,222,128,.65);
  animation:dashboard-live-pulse 1.8s ease-in-out infinite;
}
.admin-page .dashboard-gauges{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.admin-page .dashboard-gauge-card{
  min-width:0;
  padding:12px 8px 6px;
  overflow:hidden;
  text-align:center;
  background:linear-gradient(155deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid var(--mx-line-soft);
  border-radius:16px;
}
.admin-page .dashboard-gauge-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--mx-mute);
  font-size:.79rem;
  white-space:nowrap;
}
.admin-page .dashboard-gauge-label i{color:var(--mx-cyan-hi)}
.admin-page .dashboard-gauge{
  display:block;
  width:100%;
  max-width:210px;
  margin:5px auto 0;
  overflow:visible;
}
.admin-page .dashboard-gauge-track,
.admin-page .dashboard-gauge-value{
  fill:none;
  stroke-width:9;
  stroke-linecap:round;
}
.admin-page .dashboard-gauge-track{stroke:rgba(255,255,255,.09)}
.admin-page .dashboard-gauge-value{
  transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1);
}
.admin-page .dashboard-gauge-value.cpu{stroke:#38bdf8}
.admin-page .dashboard-gauge-value.ram{stroke:#a78bfa}
.admin-page .dashboard-gauge-tick{
  stroke:rgba(226,232,240,.55);
  stroke-width:1.5;
  stroke-linecap:round;
}
.admin-page .dashboard-gauge-needle{
  stroke-width:2.5;
  stroke-linecap:round;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}
.admin-page .dashboard-gauge-needle.cpu{stroke:#bae6fd}
.admin-page .dashboard-gauge-needle.ram{stroke:#ddd6fe}
.admin-page .dashboard-gauge-pivot{
  fill:#e2e8f0;
  stroke:#111b2e;
  stroke-width:2;
}
.admin-page .dashboard-gauge-reading{
  fill:var(--mx-ink);
  font-size:16px;
  font-weight:800;
  text-anchor:middle;
  direction:ltr;
}
.admin-page .dashboard-gauge-scale{
  fill:var(--mx-mute);
  font-size:8px;
}
.admin-page .dashboard-gauge-footnote{
  color:var(--mx-mute);
  font-size:.72rem;
  line-height:1.8;
}
.admin-page .dashboard-trend-wrap{
  padding:12px 10px 6px;
  background:rgba(7,12,22,.32);
  border:1px solid var(--mx-line-soft);
  border-radius:14px;
}
.admin-page .dashboard-trend-title{
  color:var(--mx-mute);
  font-size:.78rem;
  font-weight:600;
}
.admin-page .dashboard-trend-legend{
  display:flex;
  gap:12px;
  font-size:.7rem;
  direction:ltr;
}
.admin-page .dashboard-trend-legend span::before{
  display:inline-block;
  width:7px;
  height:7px;
  margin-inline-end:4px;
  border-radius:50%;
  content:"";
}
.admin-page .dashboard-trend-legend .cpu{color:#7dd3fc}
.admin-page .dashboard-trend-legend .cpu::before{background:#38bdf8}
.admin-page .dashboard-trend-legend .ram{color:#c4b5fd}
.admin-page .dashboard-trend-legend .ram::before{background:#a78bfa}
.admin-page .dashboard-trend-chart{
  display:block;
  width:100%;
  height:110px;
  overflow:visible;
}
.admin-page .dashboard-trend-grid{
  fill:none;
  stroke:rgba(203,213,225,.11);
  stroke-dasharray:3 6;
  stroke-width:1;
}
.admin-page .dashboard-trend-line{
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.admin-page .dashboard-trend-line.cpu{
  stroke:#38bdf8;
  filter:drop-shadow(0 0 4px rgba(56,189,248,.4));
}
.admin-page .dashboard-trend-line.ram{
  stroke:#a78bfa;
  filter:drop-shadow(0 0 4px rgba(167,139,250,.35));
}
.admin-page .dashboard-trend-axis{
  fill:var(--mx-mute);
  font-size:9px;
  text-anchor:start;
}
@keyframes dashboard-live-pulse{
  50%{opacity:.45;box-shadow:0 0 3px rgba(74,222,128,.25)}
}
.admin-page .panel-mobile-toolbar{
  color:var(--mx-ink);
  background:rgba(13,22,39,.96);
  border-color:var(--mx-line);
  box-shadow:0 8px 26px rgba(0,0,0,.28);
  backdrop-filter:blur(16px);
}
.admin-page .panel-mobile-title{
  color:var(--mx-ink);
}
.admin-page .panel-mobile-title span{
  color:var(--mx-mute);
}
.admin-page .panel-mobile-title{flex:1;min-width:0}
.admin-page .panel-mobile-logout{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:7px 11px;
  color:var(--mx-crimson-hi);
  background:rgba(225,29,72,.09);
  border:1px solid rgba(225,29,72,.22);
  border-radius:11px;
  font-size:.8rem;
  font-weight:700;
  text-decoration:none;
}
.admin-page .panel-mobile-logout:hover,
.admin-page .panel-mobile-logout:focus-visible{
  color:#fff;
  background:var(--mx-crimson);
}
.admin-page .panel-menu-toggle{
  background:rgba(255,255,255,.05);
  border-color:var(--mx-line);
}
.admin-page .panel-menu-toggle span{
  background:var(--mx-cyan-hi);
}
@media(min-width:768px){
  .admin-page #sidebarMenu.sidebar.bg-dark{
    background:linear-gradient(180deg,#0d1627 0%,#070c16 100%)!important;
    color:var(--mx-ink);
    border-inline-start:1px solid var(--mx-line-soft);
  }
  .admin-page #sidebarMenu .nav-link{
    display:flex;
    align-items:center;
    min-height:46px;
    margin:3px 0;
    padding:10px 12px;
    color:var(--mx-mute);
    border:1px solid transparent;
    border-radius:12px;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease;
  }
  .admin-page #sidebarMenu .nav-link:hover,
  .admin-page #sidebarMenu .nav-link:focus-visible{
    color:var(--mx-ink);
    background:rgba(255,255,255,.06);
    border-color:var(--mx-line-soft);
  }
  .admin-page #sidebarMenu .nav-link.active{
    color:var(--mx-cyan-hi);
    background:rgba(56,189,248,.12);
    border-color:rgba(56,189,248,.2);
    box-shadow:inset -3px 0 0 var(--mx-cyan-hi);
  }
  .admin-page #sidebarMenu .nav-link i{
    width:20px;
    color:var(--mx-cyan-hi);
    text-align:center;
  }
  .admin-page #sidebarMenu .nav-link.text-danger{
    color:var(--mx-crimson-hi)!important;
  }
}
@media(max-width:575.98px){
  .admin-page .dashboard-gauges{gap:6px}
  .admin-page .dashboard-gauge-card{padding:10px 4px 5px}
  .admin-page .dashboard-gauge-label{gap:5px;font-size:.69rem}
  .admin-page .dashboard-trend-chart{height:92px}
}

.admin-page .doctor-weekly-schedule,
.admin-page .doctor-working-dates{
  padding:16px;
  border:1px solid var(--mx-line);
  border-radius:16px;
  background:rgba(7,12,22,.36);
}
.admin-page .doctor-weekly-days{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:8px;
}
.admin-page .doctor-weekday-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid var(--mx-line);
  border-radius:10px;
  background:rgba(255,255,255,.025);
}
.admin-page .doctor-weekday-row input[type="text"]:disabled{
  background:rgba(255,255,255,.035);
}
.admin-page .doctor-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
  color:var(--mx-mute);
  font-size:.82rem;
}
.admin-page .doctor-calendar-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
.admin-page .doctor-legend-dot{
  display:inline-block;
  width:11px;
  height:11px;
  border-radius:50%;
}
.admin-page .doctor-legend-dot.recurring,
.admin-page .doctor-calendar-day.recurring{--doctor-state:52,211,153}
.admin-page .doctor-legend-dot.cancelled,
.admin-page .doctor-calendar-day.cancelled{--doctor-state:251,113,133}
.admin-page .doctor-legend-dot.overtime,
.admin-page .doctor-calendar-day.overtime{--doctor-state:56,189,248}
.admin-page .doctor-legend-dot{background:rgb(var(--doctor-state))}
.admin-page .doctor-calendar-toolbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:12px;
}
.admin-page .doctor-calendar-selectors{
  display:flex;
  gap:8px;
}
.admin-page .doctor-calendar-selectors .form-select{
  min-width:125px;
}
.admin-page .doctor-calendar-title{
  margin:14px 0 8px;
  color:var(--mx-ink);
  text-align:center;
  font-size:1rem;
  font-weight:700;
}
.admin-page .doctor-calendar-weekdays,
.admin-page .doctor-working-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
  direction:rtl;
}
.admin-page .doctor-calendar-weekdays{
  margin-bottom:6px;
  color:var(--mx-mute);
  text-align:center;
  font-size:.78rem;
  font-weight:700;
}
.admin-page .doctor-working-calendar{
  padding:10px;
  border:1px solid var(--mx-line);
  border-radius:14px;
  background:rgba(7,12,22,.45);
}
.admin-page .doctor-calendar-day,
.admin-page .doctor-calendar-empty{
  min-width:0;
  min-height:52px;
}
.admin-page .doctor-calendar-day{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:3px 1px;
  border:1px solid var(--mx-line);
  border-radius:9px;
  color:var(--mx-ink);
  background:rgba(255,255,255,.04);
  cursor:pointer;
  font:inherit;
}
.admin-page .doctor-calendar-day:hover:not(:disabled){
  background:rgba(255,255,255,.09);
}
.admin-page .doctor-calendar-day.recurring,
.admin-page .doctor-calendar-day.cancelled,
.admin-page .doctor-calendar-day.overtime{
  border-color:rgba(var(--doctor-state),.55);
  color:rgb(var(--doctor-state));
  background:rgba(var(--doctor-state),.12);
}
.admin-page .doctor-calendar-day-time{
  overflow:hidden;
  max-width:100%;
  font-size:.55rem;
  line-height:1.2;
  white-space:nowrap;
}
.admin-page .doctor-calendar-day:disabled{
  color:var(--mx-faint);
  background:rgba(255,255,255,.025);
  cursor:not-allowed;
  opacity:.8;
}
.admin-page .doctor-calendar-day.cancelled:disabled,
.admin-page .doctor-calendar-day.overtime:disabled{
  opacity:1;
}
.admin-page .doctor-selected-dates{
  margin-top:14px;
}
.admin-page .doctor-selected-dates-list{
  display:grid;
  gap:8px;
}
.admin-page .doctor-exception-card{
  display:grid;
  grid-template-columns:minmax(130px,1fr) minmax(150px,2fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--mx-line);
  border-radius:10px;
  background:rgba(255,255,255,.035);
}
.admin-page .doctor-exception-card.cancelled{
  border-color:rgba(251,113,133,.5);
  background:rgba(251,113,133,.09);
}
.admin-page .doctor-exception-card.overtime{
  border-color:rgba(56,189,248,.5);
  background:rgba(56,189,248,.09);
}
.admin-page .doctor-exception-card small{
  color:var(--mx-mute);
}
.admin-page .doctor-calendar-empty{
  visibility:hidden;
}
.admin-page .slots-page .slot-card{
  height:100%;
  border:1px solid var(--mx-line);
}
.admin-page .slots-page .slot-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.admin-page .slots-page .doctor-mark{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:13px;
  color:var(--mx-cyan-hi);
  background:rgba(56,189,248,.12);
  font-size:20px;
}
.admin-page .slots-page .slot-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:8px;
}
.admin-page .slots-page .slot-choice{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px;
  border:1px solid var(--mx-line);
  border-radius:10px;
  color:var(--mx-ink);
  background:rgba(255,255,255,.035);
  cursor:pointer;
}
.admin-page .slots-page .slot-choice:has(input:checked){
  border-color:rgba(56,189,248,.55);
  color:var(--mx-cyan-hi);
  background:rgba(56,189,248,.1);
}
.admin-page .slots-page .slot-choice input{
  accent-color:var(--mx-cyan);
}
.admin-page .slots-page .schedule-note{
  color:var(--mx-mute);
  font-size:12px;
}
.admin-page .slots-page .legend-dot{
  display:inline-block;
  width:8px;
  height:8px;
  margin-left:4px;
  border-radius:50%;
  background:var(--mx-ok);
}
@media(max-width:600px){
  .admin-page .doctor-weekly-schedule,
  .admin-page .doctor-working-dates{padding:10px}
  .admin-page .doctor-weekday-row{
    grid-template-columns:82px minmax(0,1fr);
    gap:4px;
    padding:6px;
  }
  .admin-page .doctor-calendar-toolbar{flex-wrap:wrap}
  .admin-page .doctor-calendar-selectors .form-select{min-width:100px}
  .admin-page .doctor-calendar-weekdays,
  .admin-page .doctor-working-calendar{gap:3px}
  .admin-page .doctor-calendar-weekdays{font-size:.65rem}
  .admin-page .doctor-calendar-day,
  .admin-page .doctor-calendar-empty{min-height:42px}
  .admin-page .doctor-calendar-day{font-size:.78rem}
  .admin-page .doctor-calendar-day-time{font-size:.48rem}
  .admin-page .doctor-exception-card{grid-template-columns:minmax(0,1fr) auto}
  .admin-page .doctor-exception-card .doctor-overtime-times{
    grid-column:1/-1;
    grid-row:2;
  }
}

.stent-3d-stage{
  position:relative;
  overflow:hidden;
  min-height:210px;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(14,165,233,.08),transparent 68%),
    rgba(6,11,20,.7);
  border:1px solid rgba(255,255,255,.1);
  touch-action:pan-y;
}
.stent-3d-canvas{
  display:none;
  width:100%;
  height:clamp(210px,30vw,300px);
  cursor:grab;
  touch-action:none;
}
.stent-3d-canvas:active{cursor:grabbing}
.stent-3d-stage.is-3d-ready svg{display:none}
.stent-3d-stage.is-3d-ready .stent-3d-canvas{display:block}
.stent-3d-hint{
  position:absolute;
  right:12px;
  bottom:10px;
  display:none;
  padding:5px 9px;
  color:var(--mx-mute);
  background:rgba(7,12,22,.72);
  border:1px solid var(--mx-line-soft);
  border-radius:999px;
  font-size:.72rem;
  pointer-events:none;
}
.stent-3d-stage.is-3d-ready .stent-3d-hint{display:block}
