/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* =========================
   ROOT VARIABLES - ENHANCED
========================= */
:root {
  --primary: #0ea5e9;
  --primary-dark: #0284c7;
  --primary-gradient: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%);
  --secondary: #10b981;
  --secondary-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);
  --accent: #8b5cf6;
  --bg-color: #f8fafc;
  --surface: #ffffff;
  --glass: rgba(255, 255, 255, 0.25);
  --glass-dark: rgba(255, 255, 255, 0.1);
  --text-main: #0f172a;
  --text-muted: #64748b;
  --border-color: #e2e8f0;
  --border-gradient: linear-gradient(90deg, var(--border-color), transparent);
  --danger: #ef4444;
  --success: #10b981;
  --radius: 16px;
  --radius-sm: 12px;
  --radius-lg: 24px;

  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-glass: 0 8px 32px 0 rgb(31 38 135 / 0.37);
  --backdrop-blur: blur(20px);
}

/* Dark mode overrides */
.dark {
  --bg-color: #020617;
  --surface: #0f172a;
  --glass: rgba(15, 23, 42, 0.7);
  --glass-dark: rgba(2, 6, 23, 0.8);
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --border-color: #1e293b;
  --shadow-glass: 0 8px 32px 0 rgb(0 0 0 / 0.5);
}

@media (prefers-color-scheme: dark) {
  :root:not(.light) {
    --bg-color: #020617;
    --surface: #0f172a;
    --glass: rgba(15, 23, 42, 0.7);
    --glass-dark: rgba(2, 6, 23, 0.8);
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --border-color: #1e293b;
  }
}

/* =========================
   BASE RESET
========================= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', -apple-system, sans-serif;
  background: var(--bg-color);
  background-image: 
    radial-gradient(50% 50% at 50% 50%, rgba(14, 165, 233, 0.1) 0%, transparent 50%),
    linear-gradient(135deg, var(--bg-color) 0%, #f1f5f9 100%);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

/* =========================
   LAYOUT
========================= */
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

@media (min-width: 768px) { .container { padding: 0 2rem; } }
@media (min-width: 1024px) { .container { padding: 0 3rem; } }

/* Page wrapper */
.page-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* =========================
   TYPOGRAPHY
========================= */
h1 { 
  font-size: clamp(1.875rem, 5vw, 3.75rem); 
  font-weight: 800; 
  line-height: 1.2;
  background: var(--primary-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

h2 { font-size: 2rem; font-weight: 700; line-height: 1.3; }
h3 { font-size: 1.5rem; font-weight: 700; line-height: 1.4; }
p { font-size: 1rem; }

.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-muted { color: var(--text-muted) !important; }
.text-primary { color: var(--primary) !important; }

/* =========================
   FLEX & GRID
========================= */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }

.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) {
  .md\\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.w-full { width: 100%; }
.max-w-2xl { max-width: 42rem; }
.max-w-4xl { max-width: 56rem; }

/* =========================
   SPACING
========================= */
.m-0 { margin: 0 !important; }
.mx-auto { margin-left: auto; margin-right: auto; }
.p-4 { padding: 1rem; }
.p-6 { padding: 1.5rem; }
.p-8 { padding: 2rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.space-y-8 > * + * { margin-top: 2rem; }

/* =========================
   BUTTONS - PREMIUM
========================= */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius);
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  border: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  text-decoration: none;
  min-height: 44px;
  box-shadow: var(--shadow-md);
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.btn:hover::before { left: 100%; }

.btn-primary {
  background: var(--primary-gradient);
  color: white;
  box-shadow: 0 4px 14px 0 rgb(14 165 233 / 40%);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px 0 rgb(14 165 233 / 50%);
}

.btn-secondary {
  background: var(--secondary-gradient);
  color: white;
  box-shadow: 0 4px 14px 0 rgb(16 185 129 / 40%);
}

.btn-danger {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: white;
}

/* =========================
   CARDS - GLASSMORPHISM
========================= */
.card, .glass-card {
  background: var(--glass);
  -webkit-backdrop-filter: var(--backdrop-blur);
          backdrop-filter: var(--backdrop-blur);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  padding: 2.5rem;
  box-shadow: var(--shadow-xl);
  position: relative;
  border-image: var(--border-gradient) 1;
  transition: all 0.4s ease;
}

/* Printable card physical sizing: CR80 standard credit/ID card */
#card-print-template {
  width: 85.6mm;
  height: 53.98mm;
  box-sizing: border-box;
  overflow: visible;
}

/* Ensure the print-area wrapper centers the card on screen preview */
.print-area { display: flex; justify-content: center; align-items: center; padding: 40px; }

.glass-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--glass-dark);
  border-radius: var(--radius-lg);
  padding: 2px;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  z-index: -1;
}

.card:hover, .glass-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-glass);
}

.card-basic {
  background: var(--surface);
  border: 1px solid var(--border-color);
  box-shadow: var(--shadow-lg);
}

/* =========================
   FORM ELEMENTS - MODERN
========================= */
.form-group {
  position: relative;
}

.form-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.75rem;
  color: var(--text-main);
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

.input-modern, .textarea-modern, .select-modern {
  width: 100%;
  padding: 1rem 1.25rem;
  border: 2px solid transparent;
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  font-size: 1rem;
  font-family: inherit;
  color: var(--text-main);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-sm);
}

.input-modern:focus, .textarea-modern:focus, .select-modern:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgb(14 165 233 / 0.15);
  transform: translateY(-1px);
}

.file-upload {
  border: 2px dashed var(--border-color);
  border-radius: var(--radius-lg);
  padding: 3rem 2rem;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.5);
}

.file-upload:hover, .file-upload.dragover {
  border-color: var(--primary);
  background: rgba(14, 165, 233, 0.08);
  transform: scale(1.02);
}

/* =========================
   ALERTS - ADVANCED
========================= */
.alert-modern {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  border-left: 5px solid;
  box-shadow: var(--shadow-md);
  animation: slideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.alert-error {
  background: rgba(239, 68, 68, 0.1);
  border-left-color: var(--danger);
  color: var(--danger);
}

.alert-success {
  background: rgba(16, 185, 129, 0.1);
  border-left-color: var(--success);
  color: var(--success);
}

/* =========================
   NAVBAR - MODERN
========================= */
.navbar-modern {
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border-color);
  padding: 1rem 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: var(--shadow-sm);
}

.navbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.nav-links a {
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
}

.nav-links a:hover {
  background: var(--primary-gradient);
  color: white;
  transform: translateY(-1px);
}

.nav-user {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  border-radius: var(--radius);
  background: rgba(14, 165, 233, 0.1);
}

/* =========================
   FOOTER - MODERN
========================= */
.footer-modern {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.95) 0%, #0f0f23 100%);
  color: rgba(255, 255, 255, 0.8);
  padding: 4rem 0 2rem;
  margin-top: auto;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 2rem;
  gap: 2rem;
  margin-bottom: 2rem;
}

.footer-section h3 {
  color: white;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.footer-section a:hover {
  color: var(--primary);
}

.footer-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  margin: 2rem 0;
}

.footer-copyright {
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
}

/* =========================
   UTILITIES - RESPONSIVE
========================= */
.text-center { text-align: center; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }

.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }

.hidden { display: none !important; }
.opacity-0 { opacity: 0; }

/* =========================
   ANIMATIONS
========================= */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

.fade-in {
  animation: fadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  opacity: 0;
}

.slide-in { animation: slideIn 0.4s ease-out; }
.pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.2, 1) infinite; }
.float { animation: float 3s ease-in-out infinite; }

/* Loading spinner */
.spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top: 2px solid white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* =========================
   TABLE, BADGES - ENHANCED
========================= */
.table-modern {
  background: var(--surface);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border-collapse: separate;
  border-spacing: 0;
}

.table-modern th {
  background: var(--primary-gradient);
  color: white;
  padding: 1.25rem;
  text-align: left;
  font-weight: 600;
}

.badge-modern {
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.badge-primary { background: rgba(14, 165, 233, 0.2); color: var(--primary); }

/* Print styles preserved */
@media print {
  body * { visibility: hidden; }
  .print-area, .print-area * { visibility: visible !important; }
  .print-area { position: absolute; left: 0; top: 0; width: 100%; padding: 20px; }
  .no-print { display: none !important; }
  canvas, svg { display: block !important; visibility: visible !important; }
  .print-qr-container { display: flex !important; justify-content: center; align-items: center; }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Public MedQR landing experience */
.medqr-home{overflow:hidden;background:#f7fafc;color:#102a43}.medqr-home h1,.medqr-home h2{background:none;-webkit-text-fill-color:currentColor;color:#102a43}.medqr-hero{min-height:690px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;grid-gap:3rem;gap:3rem;padding-top:5rem;padding-bottom:5rem}.hero-copy{max-width:650px;animation:homeReveal .7s ease both}.eyebrow,.section-kicker{color:#0a7f83;font-size:.73rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;background:#e7f7f5;padding:.5rem .8rem;border-radius:99px}.live-dot{width:7px;height:7px;background:#14b8a6;border-radius:50%;box-shadow:0 0 0 5px rgba(20,184,166,.14);animation:livePulse 2s infinite}.hero-copy h1{font-size:clamp(3rem,5.1vw,5rem);letter-spacing:-.06em;line-height:.99;margin:1.4rem 0 1.5rem;font-weight:800}.hero-copy h1 span{color:#0a7f83}.hero-copy>p{font-size:1.13rem;color:#486581;max-width:580px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:1rem;margin:2.15rem 0;flex-wrap:wrap}.medqr-primary-cta,.medqr-secondary-cta{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.25rem;font-weight:750;text-decoration:none;border-radius:11px;transition:transform .25s ease,box-shadow .25s ease}.medqr-primary-cta{color:#fff;background:#0a7f83;box-shadow:0 14px 25px rgba(10,127,131,.22)}.medqr-primary-cta:hover{transform:translateY(-3px);box-shadow:0 18px 30px rgba(10,127,131,.31)}.medqr-secondary-cta{color:#173f5f;border:1px solid #c9d8e4;background:#fff}.trust-row{display:flex;align-items:center;gap:.55rem;color:#627d98;font-size:.86rem;font-weight:600}.trust-row svg{color:#0a7f83}
.care-orbit{min-height:495px;position:relative;isolation:isolate;animation:homeReveal .85s .12s ease both}.orbit-glow{position:absolute;width:300px;height:300px;top:91px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.25),rgba(125,211,252,.12) 43%,transparent 70%);filter:blur(8px)}.orbit-ring{position:absolute;border:1px dashed rgba(10,127,131,.3);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.ring-one{width:315px;height:315px;animation:orbitSpin 24s linear infinite}.ring-two{width:445px;height:445px;border-color:rgba(59,130,246,.16);animation:orbitSpin 34s linear infinite reverse}.care-core{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;color:#fff;background:linear-gradient(145deg,#0b9796,#0a6382);border-radius:38px;box-shadow:0 24px 45px rgba(10,100,130,.31);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem}.care-core span{font-weight:850;font-size:.95rem;line-height:.85;letter-spacing:.12em}.orbit-node{position:absolute;z-index:3;background:#fff;color:#0a7f83;border-radius:15px;box-shadow:0 14px 28px rgba(35,73,105,.13);padding:.78rem .9rem;display:grid;grid-gap:.25rem;gap:.25rem;animation:nodeFloat 4s ease-in-out infinite}.orbit-node small{color:#486581;font-weight:700;font-size:.63rem;white-space:nowrap}.node-qr{top:42px;left:15%}.node-clinic{right:5%;top:39%;animation-delay:-1.2s}.node-payment{bottom:32px;left:16%;animation-delay:-2.4s}.patient-card{position:absolute;z-index:4;top:0;right:14%;background:rgba(255,255,255,.94);display:flex;align-items:center;gap:.65rem;padding:.72rem .85rem;border-radius:14px;box-shadow:0 14px 30px rgba(35,73,105,.15);font-size:.75rem}.patient-card small{display:block;color:#829ab1;margin-top:.14rem}.patient-card svg{color:#20b486}.patient-avatar{background:#dff7f0;color:#087f76;font-weight:800;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.float-card{animation:cardFloat 5s ease-in-out infinite}.status-pulse{position:absolute;z-index:3;bottom:0;right:11%;font-weight:700;font-size:.72rem;color:#087f76;background:#edfcf7;padding:.55rem .75rem;border-radius:99px}.status-pulse span{display:inline-block;width:7px;height:7px;background:#20b486;border-radius:50%;margin-right:.4rem;animation:livePulse 1.4s infinite}
.medqr-proof{background:#102a43;color:#fff}.proof-grid{min-height:112px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.proof-grid>div{padding:0 2rem;border-left:1px solid rgba(255,255,255,.16)}.proof-grid>div:first-child{border-left:0}.proof-grid strong,.proof-grid span{display:block}.proof-grid strong{font-size:1.05rem}.proof-grid span{color:#a9c2d4;font-size:.85rem;margin-top:.25rem}.workflow-section{padding:7rem 3rem}.section-intro{max-width:650px}.section-intro h2,.roles-layout h2,.final-cta h2{font-size:clamp(2.25rem,4vw,3.45rem);letter-spacing:-.045em;line-height:1.05;margin:.8rem 0 1rem}.section-intro p,.roles-layout p{color:#627d98;line-height:1.75}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-top:3.5rem}.workflow-card{min-height:245px;position:relative;padding:1.35rem;background:#fff;border:1px solid #e4edf3;border-radius:17px;transition:transform .3s,box-shadow .3s;overflow:hidden}.workflow-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px rgba(35,73,105,.1)}.step-number{color:#afc2d2;font-size:.72rem;font-weight:800}.workflow-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#e7f7f5;color:#078780;margin:1rem 0}.workflow-card h3{font-size:1.1rem}.workflow-card p{color:#627d98;font-size:.87rem;line-height:1.6;margin-top:.5rem}.workflow-line{position:absolute;bottom:0;left:0;height:4px;width:100%;background:linear-gradient(90deg,#16b8a6,#51a8e0);transform:scaleX(0);transform-origin:left;transition:transform .35s}.workflow-card:hover .workflow-line{transform:scaleX(1)}
.roles-section{background:#edf7f8;padding:6.5rem 0}.roles-layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:5rem;gap:5rem;align-items:center}.text-link{display:inline-flex;align-items:center;gap:.5rem;color:#087f76;font-weight:800;text-decoration:none;margin-top:1.5rem}.roles-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem}.role-card{background:#fff;min-height:142px;border-radius:15px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;border:1px solid #e0ecf0;transition:transform .25s}.role-card:hover{transform:translateY(-4px)}.role-card svg{color:#0a7f83}.role-card b{font-size:.95rem}.role-card span{color:#627d98;font-size:.8rem;line-height:1.4}.role-card.highlighted{color:#fff;background:linear-gradient(145deg,#0d8a8b,#0a6681);border:0;box-shadow:0 17px 25px rgba(10,100,130,.18)}.role-card.highlighted svg,.role-card.highlighted span{color:#d3faf3}.final-cta{margin:5.5rem auto;padding:3.25rem 3.5rem;border-radius:22px;background:linear-gradient(115deg,#102a43,#175678);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden}.final-cta:after{content:'';position:absolute;right:-70px;top:-140px;width:310px;height:310px;border-radius:50%;background:rgba(45,212,191,.14)}.final-cta h2{color:#fff}.final-cta p{color:#c1d7e5}.final-cta .medqr-primary-cta{z-index:1;background:#fff;color:#0a6e7e;box-shadow:none;white-space:nowrap}
@keyframes homeReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes nodeFloat{50%{transform:translateY(-10px)}}@keyframes cardFloat{50%{transform:translateY(-8px)}}@keyframes livePulse{50%{box-shadow:0 0 0 8px rgba(20,184,166,0)}}
@media(max-width:900px){.medqr-hero{grid-template-columns:1fr;padding-top:3.5rem;text-align:center}.hero-copy{margin:auto}.hero-actions,.trust-row{justify-content:center}.care-orbit{width:min(100%,560px);margin:auto}.workflow-grid{grid-template-columns:repeat(2,1fr)}.roles-layout{grid-template-columns:1fr;gap:2.5rem}.proof-grid{grid-template-columns:1fr;padding:1.4rem 0;gap:1rem}.proof-grid>div{border-left:0;border-top:1px solid rgba(255,255,255,.16);padding:1rem 0}.proof-grid>div:first-child{border-top:0}}@media(max-width:600px){.navbar-inner{padding:0 1rem}.nav-links{gap:.55rem}.nav-links>a:not(.btn),.nav-links span{display:none}.medqr-hero{min-height:auto;padding:3rem 1.5rem}.hero-copy h1{font-size:3rem}.care-orbit{min-height:405px;transform:scale(.88);margin:-1.5rem auto}.workflow-section{padding:4rem 1.5rem}.workflow-grid{grid-template-columns:1fr}.workflow-card{min-height:0}.roles-section{padding:4rem 0}.roles-layout{padding:0 1.5rem}.final-cta{margin:3.5rem 1.5rem;padding:2rem;align-items:flex-start;flex-direction:column}}

/* Login and shared theme polish */
.login-shell{min-height:100vh;position:relative;overflow:hidden;background:#f4fafb;color:#102a43}.login-header{height:78px;max-width:1280px;padding:0 2rem;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.login-brand{display:flex;align-items:center;gap:.65rem;color:#123451;text-decoration:none;font-weight:850;font-size:1.2rem;letter-spacing:-.04em}.login-brand span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#087f76;color:white}.theme-button{display:grid;place-items:center;width:39px;height:39px;border:1px solid #dce8ed;background:rgba(255,255,255,.74);color:#486581;border-radius:11px;cursor:pointer;transition:.2s}.theme-button:hover{transform:translateY(-2px);border-color:#55bfb4;color:#087f76}.login-layout{max-width:1120px;min-height:calc(100vh - 78px);padding:4rem 2rem 5rem;margin:auto;display:grid;grid-template-columns:1fr 460px;align-items:center;grid-gap:6rem;gap:6rem;position:relative;z-index:1}.login-ambient{position:absolute;border-radius:50%;filter:blur(5px);pointer-events:none}.ambient-one{width:580px;height:580px;top:-220px;right:-190px;background:radial-gradient(circle,rgba(89,204,188,.24),rgba(89,204,188,0) 68%)}.ambient-two{width:560px;height:560px;bottom:-280px;left:-160px;background:radial-gradient(circle,rgba(107,178,234,.2),rgba(107,178,234,0) 69%)}.story-eyebrow{font-size:.7rem;letter-spacing:.13em;font-weight:850;color:#087f76;display:flex;align-items:center;gap:.55rem}.story-eyebrow i{display:block;width:23px;height:2px;background:#17a89c}.login-story h1{font-size:clamp(2.6rem,4.5vw,4.25rem);line-height:1.02;letter-spacing:-.065em;margin:1.1rem 0 1.3rem;background:none;-webkit-text-fill-color:#102a43;color:#102a43}.login-story h1 em{font-style:normal;color:#087f76}.login-story p{color:#627d98;line-height:1.75;max-width:475px;font-size:1.05rem}.story-points{margin-top:2.4rem;display:grid;grid-gap:.85rem;gap:.85rem}.story-points span{display:flex;align-items:center;gap:.65rem;color:#486581;font-size:.88rem;font-weight:700}.story-points svg{width:17px;color:#0a9b8c}.login-card-wrap{padding:1px;border-radius:23px;background:linear-gradient(145deg,rgba(9,135,126,.22),rgba(255,255,255,.8));box-shadow:0 27px 70px rgba(33,79,104,.12)}.login-card{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;padding:2.15rem}.back-link{color:#627d98;display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;font-size:.78rem;font-weight:750}.back-link:hover{color:#087f76}.login-card-heading{margin:1.65rem 0 1.7rem;display:flex;align-items:center;gap:.9rem}.login-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#087f76;background:#e6f7f4}.login-card h2{font-size:1.65rem;letter-spacing:-.045em;line-height:1.1}.login-card-heading p{font-size:.84rem;color:#829ab1;margin-top:.25rem}.login-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:.3rem;gap:.3rem;background:#eff5f7;border-radius:12px;padding:.3rem;margin-bottom:1.5rem}.login-tabs button{border:0;background:transparent;color:#627d98;cursor:pointer;border-radius:9px;padding:.67rem .5rem;font:700 .83rem inherit;display:flex;justify-content:center;align-items:center;gap:.42rem;transition:.2s}.login-tabs button.active{background:#fff;color:#087f76;box-shadow:0 2px 8px rgba(32,72,95,.09)}.login-error{margin:-.4rem 0 1.05rem;background:#fff0f0;color:#b42318;border:1px solid #ffd0cc;padding:.7rem .8rem;border-radius:9px;font-size:.8rem;font-weight:650}.login-form{display:grid;grid-gap:1.15rem;gap:1.15rem}.login-field>span{display:block;color:#334e68;font-size:.78rem;font-weight:800;margin-bottom:.48rem}.login-field>div{position:relative}.login-field i{position:absolute;z-index:1;left:.9rem;top:50%;transform:translateY(-50%);color:#829ab1;display:grid}.login-field input{width:100%;height:49px;padding:0 .9rem 0 2.8rem;border:1px solid #d9e5ea;border-radius:10px;background:#fff;color:#243b53;font:500 .9rem inherit;outline:0;transition:.2s}.login-field input::placeholder{color:#a4b6c5}.login-field input:focus{border-color:#13a394;box-shadow:0 0 0 4px rgba(19,163,148,.12)}.login-submit{margin-top:.4rem;width:100%;height:50px;border:0;border-radius:10px;color:white;background:#087f76;font:800 .9rem inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.55rem;box-shadow:0 10px 20px rgba(8,127,118,.2);transition:.2s}.login-submit:hover:not(:disabled){transform:translateY(-2px);background:#066d6a}.login-submit:disabled{opacity:.7;cursor:not-allowed}.login-card-footer{border-top:1px solid #e6eef1;margin-top:1.7rem;padding-top:1rem;display:flex;justify-content:space-between;color:#829ab1;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.login-card-footer i{width:6px;height:6px;border-radius:50%;background:#20b486;display:inline-block;margin-right:.35rem}.spin{animation:spin 1s linear infinite}
.dark .login-shell{background:#071c2b;color:#f0f7fa}.dark .login-brand,.dark .login-story h1{color:#f0f7fa;-webkit-text-fill-color:#f0f7fa}.dark .theme-button{background:rgba(18,48,67,.85);border-color:#244b61;color:#d0e1e9}.dark .login-story p,.dark .story-points span{color:#a9c2d4}.dark .login-card-wrap{background:linear-gradient(145deg,rgba(42,179,164,.28),rgba(31,63,82,.7))}.dark .login-card{background:rgba(12,39,55,.94)}.dark .back-link,.dark .login-card-heading p,.dark .login-card-footer{color:#9db7c6}.dark .login-card h2,.dark .login-field>span{color:#eff8fa}.dark .login-tabs{background:#102f42}.dark .login-tabs button.active{background:#1a4053;color:#5ee2d1}.dark .login-field input{background:#0d2b3d;border-color:#244b61;color:#eef8fb}.dark .login-card-footer{border-color:#244355}.dark .login-error{background:#482326;border-color:#743235;color:#ffd3d0}
@media(max-width:800px){.login-layout{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}.login-story{max-width:560px}.login-card-wrap{max-width:460px;width:100%;justify-self:center}}@media(max-width:520px){.login-header{padding:0 1.25rem;height:68px}.login-layout{padding:2rem 1.1rem 3.5rem;min-height:calc(100vh - 68px)}.login-story h1{font-size:2.5rem}.login-card{padding:1.5rem}.login-card-footer{font-size:.6rem}.story-points{display:none}}

/* Clear, accessible theme switcher and full public dark palette. */
.theme-toggle{display:inline-flex;align-items:center;gap:.48rem;min-height:38px;padding:4px 10px 4px 4px;border:1px solid var(--border-color);border-radius:999px;background:var(--surface);color:var(--text-main);cursor:pointer;font:750 .78rem 'Inter',sans-serif;box-shadow:var(--shadow-sm);transition:all .2s ease}.theme-toggle:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.theme-toggle-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#087f76;background:#e5f7f4;transition:all .25s ease}.dark .theme-toggle{background:#173247;border-color:#315167;color:#edf7fa}.dark .theme-toggle-icon{color:#ffd166;background:#25495f}
.dark .medqr-home{background:#081d2b;color:#eff9fb}.dark .medqr-home h1,.dark .medqr-home h2{color:#eff9fb;-webkit-text-fill-color:#eff9fb}.dark .hero-copy h1 span{color:#55ded0}.dark .hero-copy>p,.dark .section-intro p,.dark .roles-layout p{color:#aac3d1}.dark .eyebrow{background:#103b47;color:#62e6d8}.dark .trust-row{color:#aac3d1}.dark .medqr-secondary-cta{background:#102d40;color:#e3f4f7;border-color:#31566a}.dark .orbit-node,.dark .patient-card{background:#12364a;box-shadow:0 16px 28px rgba(0,0,0,.25)}.dark .orbit-node small,.dark .patient-card small{color:#b4ccda}.dark .patient-card b{color:#f0fbfc}.dark .patient-avatar{background:#164d56;color:#6ee8d9}.dark .status-pulse{background:#103e43;color:#65eadb}.dark .workflow-section{background:#081d2b}.dark .workflow-card{background:#102d40;border-color:#254b5e}.dark .workflow-card h3{color:#f0fbfc}.dark .workflow-card p{color:#aac3d1}.dark .step-number{color:#668ca1}.dark .workflow-icon{background:#123f48;color:#64e5d7}.dark .roles-section{background:#0d2838}.dark .role-card{background:#123448;border-color:#285064}.dark .role-card b{color:#f0fbfc}.dark .role-card span{color:#b5cdda}.dark .role-card.highlighted{background:linear-gradient(145deg,#108b89,#0c5570)}.dark .final-cta{background:linear-gradient(115deg,#12384b,#10566b)}.dark .proof-grid{color:#f0fbfc}

/* Keep navigation visually part of the selected theme. */
.theme-toggle{width:40px;height:40px;padding:0;justify-content:center;border-radius:12px}.theme-toggle-icon{width:100%;height:100%;background:transparent}.theme-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dark .navbar-modern{background:#081d2b;border-color:#17394d;box-shadow:0 1px 0 rgba(255,255,255,.03)}.dark .navbar-modern a:not(.btn){color:#c3d9e4}.dark .navbar-modern a:hover{color:#fff}.dark .navbar-modern>a,.dark .navbar-inner>a{color:#63ded3!important}.dark .navbar-modern .btn-primary{background:#119b91;box-shadow:0 8px 18px rgba(0,0,0,.18)}.dark .theme-toggle{background:#123348;border-color:#285168;color:#ffd166}.dark .theme-toggle-icon{background:transparent;color:#ffd166}.light .theme-toggle{background:#fff;border-color:#d8e5ea;color:#087f76}.light .theme-toggle-icon{background:transparent;color:#087f76}

.navbar-brand{display:flex;align-items:center;text-decoration:none}.medqr-logo{display:inline-flex;align-items:center;gap:.55rem;line-height:1}.medqr-logo svg{display:block;filter:drop-shadow(0 5px 8px rgba(19,114,162,.16))}.medqr-logo-word{color:#143b57;font-size:1.2rem;font-weight:850;letter-spacing:-.06em}.medqr-logo-word span{color:#0c8d8b}.dark .medqr-logo-word{color:#eef9fb}.dark .medqr-logo-word span{color:#62e6d8}.login-brand .medqr-logo-word{font-size:1.23rem}.login-brand>.medqr-logo{width:auto;height:auto;display:inline-flex;background:none;border-radius:0;color:inherit;gap:.55rem}.login-brand>.medqr-logo .medqr-logo-word{display:inline;width:auto;height:auto;background:none;border-radius:0;color:#143b57}.dark .login-brand>.medqr-logo .medqr-logo-word{color:#eef9fb}

.login-brand .medqr-logo span{display:inline;width:auto;height:auto;background:transparent;border-radius:0;color:inherit}.login-brand .medqr-logo{display:inline-flex}.login-brand .medqr-logo-word{color:#143b57}.login-brand .medqr-logo-word span{color:#0c8d8b}.dark .login-brand .medqr-logo-word{color:#eef9fb}.dark .login-brand .medqr-logo-word span{color:#62e6d8}

