/* Med Academy Platform Template V2
   Design only. No route/access/content/QCM/summary/3D logic is modified. */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

:root{
  --ma-navy:#06243d;
  --ma-navy-2:#08385d;
  --ma-teal:#008c95;
  --ma-teal-2:#00a7b3;
  --ma-cyan:#22c7d6;
  --ma-bg:#f3f9fc;
  --ma-soft:#eaf8fb;
  --ma-card:#ffffff;
  --ma-line:#d7edf5;
  --ma-text:#0b2238;
  --ma-muted:#61758c;
  --ma-green:#14a38b;
  --ma-blue:#1479b8;
  --ma-shadow:0 18px 48px rgba(6,36,61,.09);
  --ma-shadow-soft:0 10px 28px rgba(6,36,61,.065);
  --ma-radius:24px;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Poppins","Inter","Segoe UI",Arial,sans-serif !important;
  color:var(--ma-text) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(34,199,214,.13), transparent 34%),
    radial-gradient(circle at 90% 10%, rgba(0,140,149,.10), transparent 35%),
    linear-gradient(180deg,#fbfdff 0%,var(--ma-bg) 100%) !important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{
  transition:all .18s ease;
}

h1,h2,h3,h4{
  color:var(--ma-navy) !important;
  letter-spacing:-.035em;
}

h1{
  font-weight:900 !important;
}

h2,h3{
  font-weight:850 !important;
}

p{
  color:var(--ma-muted);
}

/* Existing headers: polish, do not duplicate */
header,
.navbar,
.topbar,
.app-header,
.qsm-header,
.med-header{
  font-family:"Poppins","Inter","Segoe UI",Arial,sans-serif !important;
}

header:not(.qsm-step-header),
.navbar,
.app-header,
.qsm-header,
.med-header{
  background:rgba(255,255,255,.92) !important;
  border-bottom:1px solid rgba(215,237,245,.9) !important;
  backdrop-filter:blur(14px);
  box-shadow:0 12px 32px rgba(6,36,61,.055);
}

header a,
.navbar a,
.app-header a,
.qsm-header a,
.med-header a{
  color:var(--ma-navy) !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

header a:hover,
.navbar a:hover,
.app-header a:hover,
.qsm-header a:hover,
.med-header a:hover{
  color:var(--ma-teal) !important;
}

/* Containers */
main,
.container,
.page-container,
.app-container,
.content,
.qsm-app-rz-wrap{
  max-width:1320px;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Hero areas */
.hero,
.hero-section,
.qsm-app-rz-hero,
[class*="hero"]{
  border-radius:30px !important;
  background:
    radial-gradient(circle at 72% 20%, rgba(34,199,214,.23), transparent 30%),
    linear-gradient(135deg,var(--ma-navy) 0%,var(--ma-navy-2) 50%,#007c8b 100%) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 24px 70px rgba(6,36,61,.16) !important;
  overflow:hidden;
}

.hero h1,
.hero h2,
.hero-section h1,
.hero-section h2,
.qsm-app-rz-hero h1,
.qsm-app-rz-hero h2,
[class*="hero"] h1,
[class*="hero"] h2{
  color:#fff !important;
}

.hero p,
.hero-section p,
.qsm-app-rz-hero p,
[class*="hero"] p{
  color:#e8fbff !important;
}

/* Cards */
.card,
.module-card,
.year-card,
.lesson-card,
.exam-card,
.qsm-app-rz-card,
.qsm-rz-resource-card,
[class*="card"]{
  border-radius:var(--ma-radius) !important;
}

.card,
.module-card,
.year-card,
.lesson-card,
.exam-card,
.qsm-app-rz-card,
.qsm-rz-resource-card{
  background:var(--ma-card) !important;
  border:1px solid var(--ma-line) !important;
  box-shadow:var(--ma-shadow-soft) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover,
.module-card:hover,
.year-card:hover,
.lesson-card:hover,
.exam-card:hover,
.qsm-app-rz-card:hover,
.qsm-rz-resource-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--ma-shadow) !important;
  border-color:rgba(0,167,179,.38) !important;
}

.qsm-app-rz-card h2,
.qsm-app-rz-card h3,
.module-card h2,
.module-card h3,
.year-card h2,
.year-card h3,
.card h2,
.card h3{
  line-height:1.15 !important;
}

/* Chips */
.badge,
.chip,
.qsm-app-rz-chip,
[class*="badge"],
[class*="chip"]{
  border-radius:999px !important;
  background:var(--ma-soft) !important;
  border:1px solid var(--ma-line) !important;
  color:var(--ma-teal) !important;
  font-weight:850 !important;
}

/* Buttons / action links */
.btn,
button,
a.button,
.qsm-rz-action-btn,
.qsm-app-rz-card a,
.module-card a,
.year-card a,
.exam-card a{
  font-family:"Poppins","Inter","Segoe UI",Arial,sans-serif !important;
}

a[href*="/qcm-qcs"],
a[href*="/exam/"][href*="qcm"],
.qsm-rz-action-btn.is-primary,
.btn-primary,
button[type="submit"]{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2)) !important;
  color:#fff !important;
  border:1px solid rgba(0,140,149,.20) !important;
  border-radius:14px !important;
  box-shadow:0 12px 26px rgba(0,140,149,.22) !important;
  font-weight:850 !important;
  text-decoration:none !important;
}

a[href*="resume"],
a[href*="résumé"],
a[href*="summary"],
.qsm-rz-action-btn.is-secondary{
  background:#fff !important;
  color:var(--ma-navy) !important;
  border:1px solid var(--ma-line) !important;
  border-radius:14px !important;
  font-weight:850 !important;
  text-decoration:none !important;
}

a[href*="/3d"],
a[href*="3d"],
.qsm-rz-action-btn.is-ghost{
  background:#ecfbfd !important;
  color:var(--ma-teal) !important;
  border:1px solid rgba(34,199,214,.30) !important;
  border-radius:14px !important;
  font-weight:850 !important;
  text-decoration:none !important;
}

/* Résidanat layout */
.qsm-app-rz-wrap{
  padding:24px 18px 52px !important;
}

.qsm-app-rz-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.qsm-app-rz-card{
  padding:20px !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
}

.qsm-rz-action-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:auto !important;
  padding-top:12px !important;
}

.qsm-rz-action-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:10px 15px !important;
  font-size:13px !important;
}

/* Résidanat section navigation / context */
.qsm-app-rz-back{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  background:#fff !important;
  color:var(--ma-teal) !important;
  border:1px solid var(--ma-line) !important;
  border-radius:999px !important;
  padding:10px 14px !important;
  text-decoration:none !important;
  font-weight:850 !important;
  box-shadow:var(--ma-shadow-soft) !important;
}

/* QCM pages */
.quiz-container,
.quiz-card,
.question-card,
.review-card,
.results-card{
  border-radius:var(--ma-radius) !important;
  background:#fff !important;
  border:1px solid var(--ma-line) !important;
  box-shadow:var(--ma-shadow-soft) !important;
}

.question,
.question-text{
  color:var(--ma-navy) !important;
  font-weight:750 !important;
}

.option,
.answer-option,
.choice{
  border-radius:16px !important;
  border:1px solid var(--ma-line) !important;
  background:#fff !important;
}

.option:hover,
.answer-option:hover,
.choice:hover{
  border-color:rgba(0,167,179,.42) !important;
  background:#f2fbfd !important;
}

/* 3D pages */
[class*="3d"] .card,
[class*="3D"] .card{
  overflow:hidden;
}

/* Language widget should stay, but not dominate */
#qsm-translate-widget,
.qsm-translate-widget,
[class*="translate"]{
  font-family:"Poppins","Inter","Segoe UI",Arial,sans-serif !important;
}

/* Mobile */
@media (max-width: 900px){
  main,
  .container,
  .page-container,
  .app-container,
  .content,
  .qsm-app-rz-wrap{
    width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .qsm-app-rz-grid,
  .grid,
  [class*="grid"]{
    grid-template-columns:1fr !important;
  }

  .qsm-app-rz-card,
  .card,
  .module-card,
  .year-card,
  .lesson-card,
  .exam-card{
    border-radius:22px !important;
    padding:16px !important;
  }

  .qsm-rz-action-row{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .qsm-rz-action-btn{
    width:100% !important;
  }

  h1{
    font-size:30px !important;
  }

  h2{
    font-size:23px !important;
  }
}

@media (max-width: 520px){
  body{
    background:#f5fbfd !important;
  }

  .hero,
  .hero-section,
  .qsm-app-rz-hero,
  [class*="hero"]{
    border-radius:22px !important;
    padding:18px !important;
  }

  .qsm-app-rz-wrap{
    padding-top:14px !important;
    padding-bottom:34px !important;
  }

  .qsm-app-rz-card p,
  .card p{
    font-size:14px !important;
  }
}

/* QSMQCS RESIDANAT NATIVE PRO TEMPLATE V1 CSS */
.ma-rz-body{
  background:
    radial-gradient(circle at 10% 0%, rgba(34,199,214,.14), transparent 34%),
    linear-gradient(180deg,#fbfdff 0%,#f2f9fc 100%) !important;
}

.ma-rz-app{
  min-height:100vh;
}

.ma-rz-header{
  position:sticky;
  top:0;
  z-index:50;
  max-width:1320px;
  margin:0 auto;
  padding:12px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(215,237,245,.9) !important;
  border-top:0 !important;
  border-radius:0 0 24px 24px;
  box-shadow:0 14px 34px rgba(6,36,61,.06);
  backdrop-filter:blur(14px);
}

.ma-rz-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none !important;
  color:var(--ma-navy) !important;
}

.ma-rz-brand img{
  height:42px;
  width:auto;
  max-width:158px;
}

.ma-rz-brand span{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.ma-rz-brand strong{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.035em;
}

.ma-rz-brand small{
  font-size:12px;
  font-weight:700;
  color:var(--ma-muted);
}

.ma-rz-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.ma-rz-nav a{
  text-decoration:none !important;
  color:var(--ma-navy) !important;
  font-weight:850;
  font-size:13px;
  padding:10px 13px;
  border-radius:999px;
}

.ma-rz-nav a.active,
.ma-rz-nav a:hover{
  background:var(--ma-soft);
  color:var(--ma-teal) !important;
}

.ma-rz-main{
  max-width:1320px;
  margin:0 auto;
  padding:20px 18px 56px;
}

.ma-rz-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:stretch;
  margin:0 0 18px;
  padding:28px;
  border-radius:30px;
  background:
    radial-gradient(circle at 78% 18%, rgba(34,199,214,.25), transparent 28%),
    linear-gradient(135deg,var(--ma-navy),var(--ma-navy-2) 55%,#007f8e);
  color:white;
  box-shadow:0 24px 70px rgba(6,36,61,.16);
  overflow:hidden;
}

.ma-rz-kicker{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#dffcff;
  font-size:12px;
  font-weight:900;
  margin-bottom:12px;
}

.ma-rz-hero h1{
  color:#fff !important;
  margin:0 0 10px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.05;
}

.ma-rz-hero p{
  color:#e9fbff !important;
  max-width:760px;
  margin:0;
  line-height:1.75;
}

.ma-rz-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.ma-rz-hero-stats span{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:850;
  color:#fff;
}

.ma-rz-hero-mark{
  min-width:180px;
  display:grid;
  place-items:center;
  font-size:120px;
  color:rgba(255,255,255,.22);
  line-height:1;
}

.ma-rz-context{
  background:#fff;
  border:1px solid var(--ma-line);
  border-radius:22px;
  box-shadow:var(--ma-shadow-soft);
  padding:15px 18px;
  margin-bottom:18px;
}

.ma-rz-pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.ma-rz-pills span,
.ma-rz-meta span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:7px 10px;
  background:var(--ma-soft);
  color:var(--ma-teal);
  border:1px solid var(--ma-line);
  font-size:12px;
  font-weight:900;
}

.ma-rz-breadcrumb{
  color:var(--ma-muted);
  font-size:13px;
  font-weight:700;
}

.ma-rz-breadcrumb a{
  color:var(--ma-navy) !important;
  text-decoration:none !important;
}

.ma-rz-breadcrumb b{
  color:#9eb3c6;
  padding:0 6px;
}

.ma-rz-simple-card{
  position:relative;
  display:flex !important;
  align-items:center;
  gap:14px;
  min-height:132px;
  text-decoration:none !important;
}

.ma-rz-card-icon,
.ma-rz-module-icon{
  flex:0 0 auto;
  width:58px;
  height:58px;
  border-radius:20px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#eaf8fb,#fff);
  color:var(--ma-teal);
  border:1px solid var(--ma-line);
  font-size:28px;
  font-weight:900;
}

.ma-rz-card-content h2{
  margin:0 0 6px !important;
}

.ma-rz-card-content p{
  margin:0 !important;
}

.ma-rz-card-arrow{
  margin-left:auto;
  font-size:28px;
  font-weight:700;
  color:var(--ma-teal);
}

.ma-rz-module-card{
  gap:14px;
}

.ma-rz-module-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.ma-rz-module-head h2{
  margin:0 0 8px !important;
  font-size:clamp(20px,2vw,26px);
}

.ma-rz-module-head p{
  margin:0 !important;
  line-height:1.65;
}

.ma-rz-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.ma-rz-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  padding-top:16px;
}

.ma-rz-btn{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border-radius:14px;
  font-size:13px;
  font-weight:900;
  text-decoration:none !important;
}

.ma-rz-btn-primary{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2));
  color:#fff !important;
  box-shadow:0 12px 24px rgba(0,140,149,.22);
}

.ma-rz-btn-light{
  background:#fff;
  color:var(--ma-navy) !important;
  border:1px solid var(--ma-line);
}

.ma-rz-btn-ghost{
  background:#ecfbfd;
  color:var(--ma-teal) !important;
  border:1px solid rgba(34,199,214,.30);
}

@media(max-width:900px){
  .ma-rz-header{
    flex-direction:column;
    align-items:stretch;
    border-radius:0 0 20px 20px;
  }

  .ma-rz-nav{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:3px;
  }

  .ma-rz-nav a{
    white-space:nowrap;
  }

  .ma-rz-main{
    padding:14px 12px 36px;
  }

  .ma-rz-hero{
    padding:20px;
    border-radius:24px;
  }

  .ma-rz-hero-mark{
    display:none;
  }

  .ma-rz-module-head{
    align-items:flex-start;
  }

  .ma-rz-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .ma-rz-btn{
    width:100%;
  }
}

/* QSMQCS RESIDANAT NATIVE PRO TEMPLATE V2 CSS */
.ma-rz-body-v2{
  background:
    radial-gradient(circle at 8% 0%, rgba(34,199,214,.14), transparent 35%),
    radial-gradient(circle at 96% 12%, rgba(0,140,149,.10), transparent 36%),
    linear-gradient(180deg,#fbfdff 0%,#f3f9fc 100%) !important;
}

.ma-rz-shell-v2{
  min-height:100vh;
}

.ma-rz-header-v2{
  position:sticky;
  top:0;
  z-index:60;
  max-width:1280px;
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(215,237,245,.95);
  border-top:0;
  border-radius:0 0 22px 22px;
  box-shadow:0 14px 34px rgba(6,36,61,.06);
  backdrop-filter:blur(16px);
}

.ma-rz-brand-v2{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ma-navy) !important;
  text-decoration:none !important;
}

.ma-rz-brand-v2 img{
  width:38px;
  height:38px;
  object-fit:contain;
  border-radius:12px;
}

.ma-rz-brand-v2 span{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.ma-rz-brand-v2 strong{
  font-size:17px;
  font-weight:900;
  letter-spacing:-.035em;
}

.ma-rz-brand-v2 small{
  font-size:11px;
  font-weight:700;
  color:var(--ma-muted);
}

.ma-rz-topnav-v2{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.ma-rz-topnav-v2 a{
  text-decoration:none !important;
  font-size:13px;
  font-weight:850;
  color:var(--ma-navy) !important;
  padding:9px 12px;
  border-radius:999px;
}

.ma-rz-topnav-v2 a.active,
.ma-rz-topnav-v2 a:hover{
  background:var(--ma-soft);
  color:var(--ma-teal) !important;
}

.ma-rz-main-v2{
  max-width:1280px;
  margin:0 auto;
  padding:18px 16px 52px;
}

.ma-rz-hero-v2{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:18px;
  align-items:center;
  padding:24px;
  border-radius:28px;
  background:
    radial-gradient(circle at 78% 18%, rgba(34,199,214,.25), transparent 30%),
    linear-gradient(135deg,var(--ma-navy) 0%, var(--ma-navy-2) 52%, #007f8e 100%);
  color:#fff;
  box-shadow:0 22px 60px rgba(6,36,61,.15);
  overflow:hidden;
  margin-bottom:16px;
}

.ma-rz-kicker-v2{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border-radius:999px;
  padding:7px 11px;
  background:rgba(255,255,255,.13);
  color:#e6fdff;
  font-size:12px;
  font-weight:900;
  margin-bottom:10px;
}

.ma-rz-hero-v2 h1{
  color:#fff !important;
  margin:0 0 8px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.04;
}

.ma-rz-hero-v2 p{
  color:#e9fbff !important;
  max-width:780px;
  margin:0;
  line-height:1.7;
  font-size:15px;
}

.ma-rz-hero-points-v2{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ma-rz-hero-points-v2 span{
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  padding:8px 11px;
  font-size:12px;
  font-weight:850;
  color:#fff;
}

.ma-rz-hero-visual-v2{
  display:grid;
  place-items:center;
  height:150px;
  border-radius:24px;
  background:rgba(2,20,38,.26);
  border:1px solid rgba(255,255,255,.12);
}

.ma-rz-hero-visual-v2 div{
  font-size:82px;
  color:rgba(255,255,255,.28);
  line-height:1;
}

.ma-rz-control-panel-v2{
  background:#fff;
  border:1px solid var(--ma-line);
  border-radius:22px;
  box-shadow:var(--ma-shadow-soft);
  padding:15px;
  margin-bottom:16px;
}

.ma-rz-breadcrumb-v2{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  color:var(--ma-muted);
  font-size:13px;
  font-weight:800;
  margin-bottom:12px;
}

.ma-rz-breadcrumb-v2 a{
  color:var(--ma-navy) !important;
  text-decoration:none !important;
}

.ma-rz-breadcrumb-v2 b{
  color:#9db4c7;
}

.ma-rz-panel-title{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ma-muted);
  font-weight:900;
  margin:12px 0 8px;
}

.ma-rz-faculty-nav-v2,
.ma-rz-section-nav-v2{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.ma-rz-faculty-nav-v2 a,
.ma-rz-section-nav-v2 a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:9px 12px;
  border-radius:14px;
  background:#fff;
  color:var(--ma-navy) !important;
  border:1px solid var(--ma-line);
  text-decoration:none !important;
  font-size:13px;
  font-weight:850;
}

.ma-rz-faculty-nav-v2 a.active,
.ma-rz-section-nav-v2 a.active,
.ma-rz-faculty-nav-v2 a:hover,
.ma-rz-section-nav-v2 a:hover{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2));
  color:#fff !important;
  border-color:rgba(0,140,149,.25);
  box-shadow:0 12px 22px rgba(0,140,149,.18);
}

.ma-rz-grid-v2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
  align-items:stretch;
}

.ma-rz-module-card,
.ma-rz-simple-card{
  background:#fff !important;
  border:1px solid var(--ma-line) !important;
  border-radius:22px !important;
  box-shadow:0 10px 26px rgba(6,36,61,.065) !important;
  transition:.18s ease;
}

.ma-rz-module-card:hover,
.ma-rz-simple-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(6,36,61,.10) !important;
  border-color:rgba(0,167,179,.35) !important;
}

.ma-rz-module-card{
  min-height:238px;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px;
}

.ma-rz-module-top-v2{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.ma-rz-module-icon-v2,
.ma-rz-card-icon-v2{
  flex:0 0 auto;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#eaf8fb,#ffffff);
  border:1px solid var(--ma-line);
  color:var(--ma-teal);
  font-weight:900;
  font-size:23px;
}

.ma-rz-module-top-v2 h2{
  margin:0 0 6px !important;
  color:var(--ma-navy) !important;
  font-size:20px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em;
}

.ma-rz-module-top-v2 p{
  margin:0 !important;
  color:var(--ma-muted) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

.ma-rz-meta-v2{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:2px;
}

.ma-rz-meta-v2 span{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--ma-soft);
  color:var(--ma-teal);
  border:1px solid var(--ma-line);
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
}

.ma-rz-actions-v2{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.ma-rz-actions-v2 .ghost{
  grid-column:auto;
}

.ma-rz-btn-v2{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  text-decoration:none !important;
}

.ma-rz-btn-v2.primary{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2));
  color:#fff !important;
  box-shadow:0 10px 18px rgba(0,140,149,.20);
}

.ma-rz-btn-v2.light{
  background:#fff;
  color:var(--ma-navy) !important;
  border:1px solid var(--ma-line);
}

.ma-rz-btn-v2.ghost{
  background:#ecfbfd;
  color:var(--ma-teal) !important;
  border:1px solid rgba(34,199,214,.32);
}

.ma-rz-simple-card{
  min-height:118px;
  display:flex !important;
  align-items:center;
  gap:12px;
  padding:16px !important;
  color:var(--ma-navy) !important;
  text-decoration:none !important;
}

.ma-rz-card-text-v2 h2{
  margin:0 0 5px !important;
  font-size:19px !important;
}

.ma-rz-card-text-v2 p{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.5;
}

.ma-rz-card-arrow-v2{
  margin-left:auto;
  font-size:24px;
  font-weight:900;
  color:var(--ma-teal);
}

.ma-rz-empty-v2{
  background:#fff;
  border:1px dashed var(--ma-line);
  border-radius:22px;
  min-height:120px;
  display:grid;
  place-items:center;
  color:var(--ma-muted);
  font-weight:800;
}

.ma-rz-exam-shell{
  background:#fff;
  border:1px solid var(--ma-line);
  border-radius:22px;
  box-shadow:var(--ma-shadow-soft);
  padding:16px;
  overflow:hidden;
}

@media(max-width:1000px){
  .ma-rz-grid-v2{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  }
}

@media(max-width:760px){
  .ma-rz-header-v2{
    margin:0;
    border-radius:0 0 20px 20px;
    flex-direction:column;
    align-items:stretch;
    padding:10px 12px;
  }

  .ma-rz-topnav-v2{
    overflow-x:auto;
    flex-wrap:nowrap;
    justify-content:flex-start;
    padding-bottom:4px;
  }

  .ma-rz-topnav-v2 a{
    white-space:nowrap;
  }

  .ma-rz-main-v2{
    padding:14px 12px 36px;
  }

  .ma-rz-hero-v2{
    grid-template-columns:1fr;
    padding:20px;
    border-radius:24px;
  }

  .ma-rz-hero-visual-v2{
    display:none;
  }

  .ma-rz-control-panel-v2{
    border-radius:20px;
    padding:12px;
  }

  .ma-rz-faculty-nav-v2,
  .ma-rz-section-nav-v2{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }

  .ma-rz-faculty-nav-v2 a,
  .ma-rz-section-nav-v2 a{
    white-space:nowrap;
  }

  .ma-rz-grid-v2{
    grid-template-columns:1fr;
    gap:12px;
  }

  .ma-rz-module-card{
    min-height:auto;
  }

  .ma-rz-actions-v2{
    grid-template-columns:1fr;
  }

  .ma-rz-btn-v2{
    width:100%;
  }
}

/* QSMQCS RESIDANAT COMPACT PROFESSIONAL V3 CSS */
.ma-rz-body-v3{
  background:#f5fbfd !important;
  color:var(--ma-text) !important;
}

.ma-rz-app-v3{
  min-height:100vh;
}

.ma-rz-header-v3{
  position:sticky;
  top:0;
  z-index:80;
  max-width:1160px;
  margin:0 auto;
  height:64px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--ma-line);
  border-top:0;
  border-radius:0 0 18px 18px;
  box-shadow:0 10px 24px rgba(6,36,61,.055);
  backdrop-filter:blur(14px);
}

.ma-rz-brand-v3{
  display:flex;
  align-items:center;
  gap:9px;
  text-decoration:none !important;
  color:var(--ma-navy) !important;
}

.ma-rz-brand-v3 img{
  width:34px;
  height:34px;
  object-fit:contain;
}

.ma-rz-brand-v3 span{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.ma-rz-brand-v3 strong{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.035em;
}

.ma-rz-brand-v3 small{
  font-size:11px;
  font-weight:700;
  color:var(--ma-muted);
}

.ma-rz-nav-v3{
  display:flex;
  align-items:center;
  gap:6px;
}

.ma-rz-nav-v3 a{
  color:var(--ma-navy) !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:850;
  padding:8px 11px;
  border-radius:999px;
}

.ma-rz-nav-v3 a.is-active,
.ma-rz-nav-v3 a:hover{
  color:var(--ma-teal) !important;
  background:var(--ma-soft);
}

.ma-rz-main-v3{
  max-width:1160px;
  margin:0 auto;
  padding:18px 14px 44px;
}

.ma-rz-titlebar-v3{
  background:#fff;
  border:1px solid var(--ma-line);
  border-left:5px solid var(--ma-teal);
  border-radius:18px;
  padding:16px 18px;
  box-shadow:0 10px 24px rgba(6,36,61,.055);
  margin-bottom:12px;
}

.ma-rz-titlebar-v3 h1{
  margin:5px 0 4px !important;
  color:var(--ma-navy) !important;
  font-size:clamp(24px,3vw,34px) !important;
  line-height:1.1 !important;
}

.ma-rz-titlebar-v3 p{
  margin:0 !important;
  color:var(--ma-muted) !important;
  font-size:14px;
  line-height:1.55;
}

.ma-rz-breadcrumb-v3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  font-size:12px;
  font-weight:850;
  color:var(--ma-muted);
}

.ma-rz-breadcrumb-v3 a{
  color:var(--ma-teal) !important;
  text-decoration:none !important;
}

.ma-rz-breadcrumb-v3 b{
  color:#a8bacb;
}

.ma-rz-navigator-v3{
  background:#fff;
  border:1px solid var(--ma-line);
  border-radius:18px;
  padding:12px;
  box-shadow:0 8px 20px rgba(6,36,61,.045);
  margin-bottom:14px;
}

.ma-rz-tabs-label-v3{
  font-size:11px;
  font-weight:900;
  color:var(--ma-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:0 0 8px;
}

.ma-rz-tabs-v3{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}

.ma-rz-section-tabs-v3{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--ma-line);
}

.ma-rz-tabs-v3 a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--ma-line);
  color:var(--ma-navy) !important;
  font-size:12px;
  font-weight:850;
  text-decoration:none !important;
}

.ma-rz-tabs-v3 a.is-active,
.ma-rz-tabs-v3 a:hover{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2));
  color:#fff !important;
  border-color:rgba(0,140,149,.25);
  box-shadow:0 8px 18px rgba(0,140,149,.16);
}

.ma-rz-list-v3{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.ma-rz-row-v3,
.ma-rz-listitem-v3{
  background:#fff !important;
  border:1px solid var(--ma-line) !important;
  border-radius:16px !important;
  box-shadow:0 8px 20px rgba(6,36,61,.045) !important;
  transition:.16s ease;
}

.ma-rz-row-v3:hover,
.ma-rz-listitem-v3:hover{
  transform:translateY(-2px);
  border-color:rgba(0,167,179,.36) !important;
  box-shadow:0 14px 30px rgba(6,36,61,.075) !important;
}

.ma-rz-row-v3{
  min-height:88px;
  padding:12px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}

.ma-rz-row-icon-v3,
.ma-rz-dot-v3{
  width:40px;
  height:40px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#eefbfe;
  color:var(--ma-teal);
  border:1px solid var(--ma-line);
  font-weight:900;
  font-size:20px;
}

.ma-rz-row-main-v3 h2{
  margin:0 0 6px !important;
  color:var(--ma-navy) !important;
  font-size:18px !important;
  line-height:1.18 !important;
  letter-spacing:-.025em;
}

.ma-rz-row-meta-v3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.ma-rz-row-meta-v3 span{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:var(--ma-soft);
  color:var(--ma-teal);
  border:1px solid var(--ma-line);
  font-size:11px;
  font-weight:850;
}

.ma-rz-row-actions-v3{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:6px;
  max-width:230px;
}

.ma-rz-row-actions-v3 a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:11px;
  border:1px solid var(--ma-line);
  background:#fff;
  color:var(--ma-navy) !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:900;
}

.ma-rz-row-actions-v3 a.primary{
  background:linear-gradient(135deg,var(--ma-teal),var(--ma-teal-2));
  color:#fff !important;
  border-color:rgba(0,140,149,.25);
}

.ma-rz-listitem-v3{
  min-height:78px;
  padding:12px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  color:var(--ma-navy) !important;
  text-decoration:none !important;
}

.ma-rz-list-text-v3{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.ma-rz-list-text-v3 strong{
  font-size:16px;
  font-weight:900;
  color:var(--ma-navy);
  line-height:1.2;
}

.ma-rz-list-text-v3 small{
  color:var(--ma-muted);
  font-size:12px;
  line-height:1.35;
  margin-top:3px;
}

.ma-rz-chevron-v3{
  color:var(--ma-teal);
  font-size:22px;
  font-weight:900;
}

.ma-rz-empty-v3{
  background:#fff;
  border:1px dashed var(--ma-line);
  border-radius:16px;
  padding:20px;
  color:var(--ma-muted);
  font-weight:800;
  text-align:center;
}

.ma-rz-exam-v3{
  background:#fff;
  border:1px solid var(--ma-line);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(6,36,61,.055);
  padding:14px;
  overflow:hidden;
}

@media(max-width:860px){
  .ma-rz-header-v3{
    height:auto;
    min-height:60px;
    margin:0;
    border-radius:0 0 18px 18px;
    flex-direction:column;
    align-items:stretch;
    padding:10px 12px;
  }

  .ma-rz-nav-v3{
    overflow-x:auto;
    justify-content:flex-start;
    padding-bottom:3px;
  }

  .ma-rz-nav-v3 a{
    white-space:nowrap;
  }

  .ma-rz-main-v3{
    padding:12px 10px 34px;
  }

  .ma-rz-titlebar-v3{
    padding:14px;
    border-radius:16px;
  }

  .ma-rz-navigator-v3{
    padding:10px;
  }

  .ma-rz-tabs-v3{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:3px;
  }

  .ma-rz-tabs-v3 a{
    white-space:nowrap;
  }

  .ma-rz-list-v3{
    grid-template-columns:1fr;
    gap:9px;
  }

  .ma-rz-row-v3{
    grid-template-columns:38px minmax(0,1fr);
    min-height:auto;
    padding:11px;
  }

  .ma-rz-row-icon-v3,
  .ma-rz-dot-v3{
    width:36px;
    height:36px;
    border-radius:12px;
    font-size:18px;
  }

  .ma-rz-row-main-v3 h2{
    font-size:16px !important;
  }

  .ma-rz-row-actions-v3{
    grid-column:1 / -1;
    max-width:none;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .ma-rz-row-actions-v3 a{
    width:100%;
  }
}

@media(max-width:420px){
  .ma-rz-row-actions-v3{
    grid-template-columns:1fr;
  }
}


/* QSMQCS RZ PREMIUM CARDS V4 START
   Design-only layer for Résidanat.
   Does not change content, QCM links, summaries, 3D, access, subscription, API, or qsmApp.
*/
body:has(.ma-rz-app-v3){
  background:
    radial-gradient(circle at 12% 0%, rgba(0,166,180,.08), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(0,140,149,.08), transparent 30%),
    linear-gradient(180deg,#fbfeff 0%,#f3f9fc 100%) !important;
}

.ma-rz-body-v3,
.ma-rz-app-v3{
  font-family:"Poppins","Inter","Segoe UI",Arial,sans-serif !important;
  color:#071f38 !important;
}

.ma-rz-app-v3{
  min-height:100vh;
  background:transparent !important;
}

.ma-rz-header-v3{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(202,229,239,.85) !important;
  box-shadow:0 10px 32px rgba(6,36,61,.055) !important;
}

.ma-rz-header-v3,
.ma-rz-main-v3{
  padding-left:clamp(14px,4vw,42px) !important;
  padding-right:clamp(14px,4vw,42px) !important;
}

.ma-rz-main-v3{
  max-width:1380px !important;
  margin:0 auto !important;
  padding-top:24px !important;
  padding-bottom:70px !important;
}

.ma-rz-brand-v3{
  gap:12px !important;
  text-decoration:none !important;
}

.ma-rz-brand-v3 strong{
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  color:#061f3b !important;
}

.ma-rz-brand-v3 small{
  color:#008c95 !important;
  font-weight:850 !important;
}

.ma-rz-nav-v3{
  gap:8px !important;
}

.ma-rz-nav-v3 a{
  border-radius:999px !important;
  padding:11px 16px !important;
  color:#071f38 !important;
  font-weight:850 !important;
  text-decoration:none !important;
  border:1px solid transparent !important;
}

.ma-rz-nav-v3 a:hover,
.ma-rz-nav-v3 a.is-active{
  color:#007f8b !important;
  background:#edfafd !important;
  border-color:#c7eef6 !important;
}

.ma-rz-titlebar-v3{
  position:relative;
  margin:8px 0 24px !important;
  padding:8px 0 6px !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

.ma-rz-titlebar-v3::after{
  content:"";
  position:absolute;
  right:8px;
  top:4px;
  width:190px;
  height:120px;
  pointer-events:none;
  opacity:.55;
  background:
    radial-gradient(circle at 70% 46%, rgba(0,140,149,.14) 0 38px, transparent 39px),
    radial-gradient(circle, rgba(0,140,149,.22) 0 2px, transparent 2.5px);
  background-size:auto,18px 18px;
  border-radius:36px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 100%);
}

.ma-rz-breadcrumb-v3{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:12px !important;
  color:#008c95 !important;
  font-weight:850 !important;
  font-size:.9rem !important;
}

.ma-rz-breadcrumb-v3 a{
  color:#008c95 !important;
  text-decoration:none !important;
}

.ma-rz-breadcrumb-v3 b{
  color:#9fb7c8 !important;
  font-weight:800 !important;
}

.ma-rz-titlebar-v3 h1{
  margin:0 !important;
  color:#061f3b !important;
  font-weight:950 !important;
  letter-spacing:-.055em !important;
  line-height:1.03 !important;
  font-size:clamp(2.05rem,4.8vw,3.85rem) !important;
}

.ma-rz-titlebar-v3 p{
  max-width:720px !important;
  margin:12px 0 0 !important;
  color:#5f7288 !important;
  font-size:clamp(.98rem,1.5vw,1.14rem) !important;
  line-height:1.7 !important;
}

.ma-rz-navigator-v3{
  background:rgba(255,255,255,.88) !important;
  border:1px solid #d7edf5 !important;
  border-radius:22px !important;
  box-shadow:0 16px 48px rgba(6,36,61,.06) !important;
  padding:18px 20px !important;
  margin:0 0 18px !important;
}

.ma-rz-tabs-label-v3{
  color:#60758b !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin:0 0 10px !important;
}

.ma-rz-tabs-v3{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  padding:0 0 14px !important;
  margin:0 0 14px !important;
  border-bottom:1px solid #e2f1f6 !important;
}

.ma-rz-tabs-v3:last-child,
.ma-rz-section-tabs-v3{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}

.ma-rz-tabs-v3 a{
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  padding:10px 18px !important;
  background:#ffffff !important;
  border:1px solid #cfe8f1 !important;
  color:#071f38 !important;
  text-decoration:none !important;
  font-weight:850 !important;
  box-shadow:0 6px 18px rgba(6,36,61,.035) !important;
}

.ma-rz-tabs-v3 a:hover{
  border-color:#8bd8e3 !important;
  transform:translateY(-1px);
}

.ma-rz-tabs-v3 a.is-active{
  background:linear-gradient(135deg,#0094a2,#00adbb) !important;
  border-color:#0094a2 !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(0,140,149,.18) !important;
}

.ma-rz-list-v3{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  margin-top:14px !important;
}

.ma-rz-row-v3{
  position:relative;
  min-height:112px;
  display:grid !important;
  grid-template-columns:72px minmax(0,1fr) auto !important;
  gap:18px !important;
  align-items:center !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid #d7edf5 !important;
  border-radius:20px !important;
  padding:18px 20px !important;
  box-shadow:0 14px 38px rgba(6,36,61,.065) !important;
  overflow:hidden !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.ma-rz-row-v3::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#00a7b3,#008c95);
  opacity:0;
  transition:opacity .18s ease;
}

.ma-rz-row-v3:hover{
  transform:translateY(-2px) !important;
  border-color:#abdfea !important;
  box-shadow:0 22px 54px rgba(6,36,61,.095) !important;
}

.ma-rz-row-v3:hover::before{
  opacity:1;
}

.ma-rz-row-icon-v3{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:18px !important;
  background:
    radial-gradient(circle at 32% 22%, rgba(255,255,255,.9), transparent 35%),
    linear-gradient(135deg,#eaf9fc,#dff5f8) !important;
  border:1px solid #ccecf3 !important;
  color:#008c95 !important;
  font-size:1.45rem !important;
  font-weight:900 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65) !important;
}

.ma-rz-row-main-v3{
  min-width:0 !important;
}

.ma-rz-row-main-v3 h2{
  margin:0 0 9px !important;
  color:#061f3b !important;
  font-size:clamp(1rem,1.5vw,1.24rem) !important;
  line-height:1.15 !important;
  font-weight:950 !important;
  letter-spacing:-.04em !important;
  overflow-wrap:anywhere !important;
}

.ma-rz-row-meta-v3{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.ma-rz-row-meta-v3 span{
  min-height:26px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  border-radius:999px !important;
  padding:5px 10px !important;
  background:#eaf8fb !important;
  border:1px solid #d3edf4 !important;
  color:#007f8b !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.ma-rz-row-meta-v3 span:first-child::before{
  content:"?";
  width:15px;
  height:15px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  border:1.6px solid #008c95;
  font-size:.66rem;
  line-height:1;
  font-weight:950;
}

.ma-rz-row-actions-v3{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}

.ma-rz-row-actions-v3 a{
  min-width:96px !important;
  min-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  padding:10px 15px !important;
  text-decoration:none !important;
  border:1px solid #9edce7 !important;
  background:#fff !important;
  color:#007f8b !important;
  font-weight:900 !important;
  box-shadow:0 8px 18px rgba(6,36,61,.045) !important;
}

.ma-rz-row-actions-v3 a:hover{
  transform:translateY(-1px);
  border-color:#00a7b3 !important;
}

.ma-rz-row-actions-v3 a.primary{
  background:linear-gradient(135deg,#008c95,#00a7b3) !important;
  color:#fff !important;
  border-color:#008c95 !important;
  box-shadow:0 14px 28px rgba(0,140,149,.19) !important;
}

.ma-rz-row-actions-v3 a[href*="/3d"],
.ma-rz-row-actions-v3 a[href*="3d"]{
  min-width:58px !important;
  background:#f2fbfd !important;
}

.ma-rz-listitem-v3{
  background:#fff !important;
  border:1px solid #d7edf5 !important;
  border-radius:18px !important;
  box-shadow:0 12px 32px rgba(6,36,61,.055) !important;
}

.ma-rz-listitem-v3:hover{
  transform:translateY(-2px);
  border-color:#abdfea !important;
  box-shadow:0 18px 42px rgba(6,36,61,.08) !important;
}

.ma-rz-exam-v3{
  background:#fff !important;
  border:1px solid #d7edf5 !important;
  border-radius:22px !important;
  box-shadow:0 16px 44px rgba(6,36,61,.06) !important;
  padding:18px !important;
}

@media (max-width: 1020px){
  .ma-rz-list-v3{
    grid-template-columns:1fr !important;
  }

  .ma-rz-titlebar-v3::after{
    display:none !important;
  }
}

@media (max-width: 760px){
  .ma-rz-header-v3{
    position:relative !important;
  }

  .ma-rz-main-v3{
    padding-top:16px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .ma-rz-titlebar-v3{
    margin-bottom:16px !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:2rem !important;
    letter-spacing:-.045em !important;
  }

  .ma-rz-navigator-v3{
    border-radius:18px !important;
    padding:14px !important;
  }

  .ma-rz-tabs-v3{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .ma-rz-tabs-v3 a{
    width:100% !important;
    min-height:40px !important;
    padding:9px 10px !important;
    font-size:.86rem !important;
  }

  .ma-rz-row-v3{
    grid-template-columns:56px minmax(0,1fr) !important;
    gap:13px !important;
    padding:15px !important;
    border-radius:18px !important;
    min-height:0 !important;
  }

  .ma-rz-row-icon-v3{
    width:50px !important;
    height:50px !important;
    border-radius:16px !important;
  }

  .ma-rz-row-actions-v3{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
  }

  .ma-rz-row-actions-v3 a{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
  }
}

@media (max-width: 430px){
  .ma-rz-main-v3{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .ma-rz-tabs-v3{
    grid-template-columns:1fr !important;
  }

  .ma-rz-row-v3{
    grid-template-columns:1fr !important;
  }

  .ma-rz-row-icon-v3{
    width:46px !important;
    height:46px !important;
  }

  .ma-rz-row-actions-v3{
    grid-template-columns:1fr !important;
  }

  .ma-rz-row-meta-v3 span{
    font-size:.75rem !important;
  }
}
/* QSMQCS RZ PREMIUM CARDS V4 END */


/* QSMQCS RZ MOBILE APP V5 START
   Design-only improvements for Résidanat mobile/app-like UX.
   Keeps all content, links, QCM/QCS, résumé, 3D, qsmApp, access and subscriptions unchanged.
*/

/* Fix active tabs turning white on hover/touch */
.ma-rz-tabs-v3 a.is-active,
.ma-rz-tabs-v3 a.is-active:hover,
.ma-rz-tabs-v3 a.is-active:focus,
.ma-rz-tabs-v3 a.is-active:active,
.ma-rz-nav-v3 a.is-active,
.ma-rz-nav-v3 a.is-active:hover,
.ma-rz-nav-v3 a.is-active:focus,
.ma-rz-nav-v3 a.is-active:active{
  background:linear-gradient(135deg,#008c95,#00a7b3) !important;
  color:#fff !important;
  border-color:#008c95 !important;
  box-shadow:0 12px 26px rgba(0,140,149,.20) !important;
}

/* Keep inactive hover refined, not blank/washed */
.ma-rz-tabs-v3 a:not(.is-active):hover,
.ma-rz-nav-v3 a:not(.is-active):hover{
  background:#eefbfe !important;
  color:#007f8b !important;
  border-color:#9edce7 !important;
}

/* Better touch feedback */
.ma-rz-tabs-v3 a,
.ma-rz-row-actions-v3 a,
.ma-rz-nav-v3 a{
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}

.ma-rz-tabs-v3 a:active,
.ma-rz-row-actions-v3 a:active{
  transform:scale(.985) !important;
}

/* Premium app-like mobile layout */
@media (max-width: 760px){
  body:has(.ma-rz-app-v3){
    background:
      radial-gradient(circle at 0% 0%, rgba(0,166,180,.10), transparent 32%),
      linear-gradient(180deg,#f8fdff 0%,#eef8fb 100%) !important;
  }

  .ma-rz-header-v3{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    border-bottom:1px solid rgba(199,238,246,.9) !important;
    box-shadow:0 10px 28px rgba(6,36,61,.055) !important;
  }

  .ma-rz-main-v3{
    padding:14px 10px 82px !important;
  }

  .ma-rz-titlebar-v3{
    padding:4px 4px 2px !important;
    margin:0 0 12px !important;
  }

  .ma-rz-breadcrumb-v3{
    font-size:.78rem !important;
    gap:6px !important;
    margin-bottom:8px !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
  }

  .ma-rz-breadcrumb-v3::-webkit-scrollbar{
    display:none !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:clamp(1.65rem,8vw,2.15rem) !important;
    line-height:1.06 !important;
    letter-spacing:-.05em !important;
  }

  .ma-rz-titlebar-v3 p{
    font-size:.92rem !important;
    line-height:1.55 !important;
    margin-top:7px !important;
  }

  /* App-like filter panel */
  .ma-rz-navigator-v3{
    position:sticky !important;
    top:64px !important;
    z-index:70 !important;
    margin:0 -10px 14px !important;
    padding:11px 10px 12px !important;
    border-radius:0 0 22px 22px !important;
    border-left:0 !important;
    border-right:0 !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:0 12px 28px rgba(6,36,61,.06) !important;
  }

  .ma-rz-tabs-label-v3{
    padding:0 4px !important;
    margin-bottom:8px !important;
    font-size:.68rem !important;
    letter-spacing:.10em !important;
    color:#60758b !important;
  }

  /* Horizontal, smooth app menus */
  .ma-rz-tabs-v3,
  .ma-rz-section-tabs-v3{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    padding:0 4px 10px !important;
    margin:0 0 10px !important;
    border-bottom:1px solid #e1f0f5 !important;
  }

  .ma-rz-section-tabs-v3{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
    border-bottom:0 !important;
  }

  .ma-rz-tabs-v3::-webkit-scrollbar,
  .ma-rz-section-tabs-v3::-webkit-scrollbar{
    display:none !important;
  }

  .ma-rz-tabs-v3 a,
  .ma-rz-section-tabs-v3 a{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    min-height:42px !important;
    scroll-snap-align:start !important;
    border-radius:14px !important;
    padding:10px 15px !important;
    font-size:.86rem !important;
    box-shadow:0 8px 20px rgba(6,36,61,.045) !important;
  }

  .ma-rz-tabs-v3 a.is-active,
  .ma-rz-section-tabs-v3 a.is-active{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .ma-rz-list-v3{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:10px !important;
  }

  /* Card becomes mobile app tile */
  .ma-rz-row-v3{
    grid-template-columns:52px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:0 !important;
    padding:13px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:0 10px 26px rgba(6,36,61,.06) !important;
  }

  .ma-rz-row-v3::before{
    width:3px !important;
    opacity:.55 !important;
  }

  .ma-rz-row-icon-v3{
    width:48px !important;
    height:48px !important;
    border-radius:16px !important;
    font-size:1.22rem !important;
  }

  .ma-rz-row-main-v3 h2{
    margin-bottom:7px !important;
    font-size:1.02rem !important;
    line-height:1.18 !important;
  }

  .ma-rz-row-meta-v3{
    gap:6px !important;
  }

  .ma-rz-row-meta-v3 span{
    min-height:24px !important;
    padding:5px 9px !important;
    font-size:.73rem !important;
  }

  .ma-rz-row-actions-v3{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
    margin-top:2px !important;
  }

  .ma-rz-row-actions-v3 a{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    border-radius:14px !important;
    font-size:.88rem !important;
    box-shadow:0 8px 18px rgba(6,36,61,.045) !important;
  }

  .ma-rz-row-actions-v3 a.primary{
    box-shadow:0 12px 24px rgba(0,140,149,.18) !important;
  }

  .ma-rz-row-actions-v3 a[href*="/3d"],
  .ma-rz-row-actions-v3 a[href*="3d"]{
    grid-column:1 / -1 !important;
    min-height:40px !important;
  }

  .ma-rz-listitem-v3{
    border-radius:18px !important;
    padding:14px !important;
  }

  .ma-rz-exam-v3{
    border-radius:20px !important;
    padding:12px !important;
  }
}

/* Very small phones */
@media (max-width: 420px){
  .ma-rz-main-v3{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  .ma-rz-navigator-v3{
    margin-left:-9px !important;
    margin-right:-9px !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:1.52rem !important;
  }

  .ma-rz-titlebar-v3 p{
    font-size:.86rem !important;
  }

  .ma-rz-row-v3{
    padding:12px !important;
    gap:10px !important;
  }

  .ma-rz-row-icon-v3{
    width:44px !important;
    height:44px !important;
  }

  .ma-rz-row-actions-v3{
    grid-template-columns:1fr !important;
  }

  .ma-rz-tabs-v3 a,
  .ma-rz-section-tabs-v3 a{
    min-height:40px !important;
    padding:9px 13px !important;
    font-size:.82rem !important;
  }
}
/* QSMQCS RZ MOBILE APP V5 END */


/* QSMQCS RZ MOBILE DRAWER FOCUS V6 START
   Design/UX only. Content, QCM/QCS, résumés, 3D, Annales, qsmApp, access and subscriptions are unchanged.
*/

/* Desktop keeps normal layout; mobile becomes app-like */
.ma-rz-mobile-menu-v6,
.ma-rz-drawer-overlay-v6,
.ma-rz-drawer-v6{
  display:none;
}

.ma-rz-tabs-v3 a.is-active,
.ma-rz-tabs-v3 a.is-active:hover,
.ma-rz-tabs-v3 a.is-active:focus,
.ma-rz-tabs-v3 a.is-active:active,
.ma-rz-nav-v3 a.is-active,
.ma-rz-nav-v3 a.is-active:hover,
.ma-rz-nav-v3 a.is-active:focus,
.ma-rz-nav-v3 a.is-active:active{
  background:linear-gradient(135deg,#008c95,#00a7b3) !important;
  color:#fff !important;
  border-color:#008c95 !important;
  box-shadow:0 12px 26px rgba(0,140,149,.20) !important;
}

/* Exam answering focus mode: remove outer platform chrome */
body:has(#qsmApp) .ma-rz-header-v3,
body:has(#qsmApp) .ma-rz-titlebar-v3,
body:has(#qsmApp) .ma-rz-navigator-v3,
body:has(#qsmApp) .ma-rz-mobile-menu-v6,
html.rz-focus-mode .ma-rz-header-v3,
html.rz-focus-mode .ma-rz-titlebar-v3,
html.rz-focus-mode .ma-rz-navigator-v3,
html.rz-focus-mode .ma-rz-mobile-menu-v6{
  display:none !important;
}

body:has(#qsmApp) .ma-rz-main-v3,
html.rz-focus-mode .ma-rz-main-v3{
  max-width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

body:has(#qsmApp) .ma-rz-exam-v3,
html.rz-focus-mode .ma-rz-exam-v3{
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  background:#fff !important;
}

body:has(#qsmApp) .qsm-step-hero,
html.rz-focus-mode .qsm-step-hero{
  display:none !important;
}

body:has(#qsmApp) .qsm-step-shell,
html.rz-focus-mode .qsm-step-shell{
  min-height:100vh !important;
  border-radius:0 !important;
}

/* Mobile navigation drawer */
@media (max-width: 820px){
  body:has(.ma-rz-app-v3){
    background:
      radial-gradient(circle at 0% 0%, rgba(0,166,180,.10), transparent 30%),
      linear-gradient(180deg,#f8fdff 0%,#eef8fb 100%) !important;
  }

  .ma-rz-header-v3{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    min-height:58px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:0 10px 28px rgba(6,36,61,.055) !important;
  }

  .ma-rz-nav-v3{
    display:none !important;
  }

  .ma-rz-mobile-menu-v6{
    position:fixed !important;
    left:12px !important;
    bottom:14px !important;
    z-index:110 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:9px !important;
    min-height:48px !important;
    padding:12px 16px !important;
    border-radius:999px !important;
    border:1px solid rgba(0,140,149,.22) !important;
    background:linear-gradient(135deg,#008c95,#00a7b3) !important;
    color:#fff !important;
    font-weight:950 !important;
    font-size:.92rem !important;
    box-shadow:0 18px 42px rgba(0,140,149,.28) !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .ma-rz-mobile-menu-v6:active{
    transform:scale(.98) !important;
  }

  .ma-rz-drawer-overlay-v6{
    position:fixed !important;
    inset:0 !important;
    z-index:120 !important;
    background:rgba(3,18,32,.42) !important;
    backdrop-filter:blur(4px) !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
    display:block !important;
  }

  .ma-rz-drawer-v6{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    z-index:130 !important;
    width:min(86vw,360px) !important;
    height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    background:#ffffff !important;
    border-right:1px solid #d7edf5 !important;
    box-shadow:28px 0 70px rgba(6,36,61,.18) !important;
    transform:translateX(-105%);
    transition:transform .24s cubic-bezier(.2,.8,.2,1);
  }

  body.rz-drawer-open-v6{
    overflow:hidden !important;
  }

  body.rz-drawer-open-v6 .ma-rz-drawer-overlay-v6{
    opacity:1;
    pointer-events:auto;
  }

  body.rz-drawer-open-v6 .ma-rz-drawer-v6{
    transform:translateX(0);
  }

  .ma-rz-drawer-head-v6{
    padding:18px 16px 12px !important;
    border-bottom:1px solid #e1f0f5 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .ma-rz-drawer-title-v6{
    min-width:0 !important;
  }

  .ma-rz-drawer-title-v6 strong{
    display:block !important;
    color:#061f3b !important;
    font-size:1rem !important;
    font-weight:950 !important;
    letter-spacing:-.035em !important;
  }

  .ma-rz-drawer-title-v6 span{
    display:block !important;
    margin-top:2px !important;
    color:#008c95 !important;
    font-size:.78rem !important;
    font-weight:850 !important;
  }

  .ma-rz-drawer-close-v6{
    width:40px !important;
    height:40px !important;
    border-radius:14px !important;
    border:1px solid #d7edf5 !important;
    background:#f3fbfd !important;
    color:#061f3b !important;
    font-size:1.25rem !important;
    font-weight:950 !important;
  }

  .ma-rz-drawer-content-v6{
    overflow:auto !important;
    padding:12px 12px 24px !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .ma-rz-drawer-note-v6{
    color:#60758b !important;
    font-size:.8rem !important;
    line-height:1.55 !important;
    margin:0 4px 12px !important;
  }

  .ma-rz-faculty-group-v6{
    border:1px solid #d7edf5 !important;
    border-radius:18px !important;
    background:#fbfeff !important;
    margin-bottom:10px !important;
    overflow:hidden !important;
  }

  .ma-rz-faculty-btn-v6{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    min-height:52px !important;
    padding:13px 14px !important;
    border:0 !important;
    background:#fff !important;
    color:#061f3b !important;
    font-weight:950 !important;
    text-align:left !important;
    font-size:.94rem !important;
  }

  .ma-rz-faculty-btn-v6::after{
    content:"›";
    color:#008c95;
    font-size:1.4rem;
    line-height:1;
    transition:transform .18s ease;
  }

  .ma-rz-faculty-group-v6.is-open .ma-rz-faculty-btn-v6::after{
    transform:rotate(90deg);
  }

  .ma-rz-faculty-group-v6.is-active .ma-rz-faculty-btn-v6{
    background:linear-gradient(135deg,#eefbfd,#ffffff) !important;
    color:#008c95 !important;
  }

  .ma-rz-sections-v6{
    display:none !important;
    padding:0 10px 12px !important;
    gap:8px !important;
  }

  .ma-rz-faculty-group-v6.is-open .ma-rz-sections-v6{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .ma-rz-sections-v6 a{
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:13px !important;
    border:1px solid #d7edf5 !important;
    background:#fff !important;
    color:#061f3b !important;
    text-decoration:none !important;
    font-size:.84rem !important;
    font-weight:900 !important;
  }

  .ma-rz-sections-v6 a.is-active{
    background:linear-gradient(135deg,#008c95,#00a7b3) !important;
    color:#fff !important;
    border-color:#008c95 !important;
  }

  /* Hide the old horizontal filter on mobile; drawer replaces it */
  .ma-rz-navigator-v3{
    display:none !important;
  }

  .ma-rz-main-v3{
    padding:14px 10px 82px !important;
  }

  .ma-rz-titlebar-v3{
    padding:0 4px !important;
    margin:0 0 12px !important;
  }

  .ma-rz-breadcrumb-v3{
    display:none !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:clamp(1.45rem,7vw,2rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
    margin:0 !important;
  }

  .ma-rz-titlebar-v3 p{
    display:none !important;
  }

  .ma-rz-list-v3{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:8px !important;
  }

  .ma-rz-row-v3{
    grid-template-columns:50px minmax(0,1fr) !important;
    gap:12px !important;
    padding:13px !important;
    border-radius:20px !important;
    min-height:0 !important;
  }

  .ma-rz-row-icon-v3{
    width:46px !important;
    height:46px !important;
    border-radius:16px !important;
    font-size:1.18rem !important;
  }

  .ma-rz-row-main-v3 h2{
    font-size:1rem !important;
    line-height:1.18 !important;
    margin:0 0 7px !important;
  }

  .ma-rz-row-meta-v3 span{
    font-size:.72rem !important;
    min-height:24px !important;
  }

  .ma-rz-row-actions-v3{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    width:100% !important;
  }

  .ma-rz-row-actions-v3 a{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    border-radius:14px !important;
    font-size:.88rem !important;
  }

  .ma-rz-row-actions-v3 a[href*="/3d"],
  .ma-rz-row-actions-v3 a[href*="3d"]{
    grid-column:1 / -1 !important;
    min-height:40px !important;
  }

  .ma-rz-listitem-v3{
    border-radius:18px !important;
    padding:14px !important;
  }
}

@media (max-width: 420px){
  .ma-rz-faculty-group-v6.is-open .ma-rz-sections-v6{
    grid-template-columns:1fr !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:1.42rem !important;
  }

  .ma-rz-row-v3{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .ma-rz-row-icon-v3{
    width:44px !important;
    height:44px !important;
  }

  .ma-rz-row-actions-v3{
    grid-template-columns:1fr !important;
  }
}
/* QSMQCS RZ MOBILE DRAWER FOCUS V6 END */


/* QSMQCS RZ TOP DOTS MENU V7 START
   Design-only: replaces bottom floating "Menu" button with top three-dots button.
   Drawer logic, faculties, sections, Annales, QCM/QCS, résumés, qsmApp and subscriptions unchanged.
*/
@media (max-width: 820px){
  .ma-rz-mobile-menu-v6{
    left:auto !important;
    right:12px !important;
    top:calc(env(safe-area-inset-top, 0px) + 8px) !important;
    bottom:auto !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    border-radius:16px !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.96) !important;
    color:#061f3b !important;
    border:1px solid #cfe8f1 !important;
    box-shadow:0 10px 26px rgba(6,36,61,.13) !important;
    backdrop-filter:blur(14px) !important;
    font-size:0 !important;
  }

  .ma-rz-mobile-menu-v6 span{
    display:none !important;
  }

  .ma-rz-mobile-menu-v6::before{
    content:"⋮";
    display:block;
    color:#008c95;
    font-size:2rem;
    line-height:1;
    font-weight:950;
    transform:translateY(-1px);
  }

  .ma-rz-mobile-menu-v6:hover,
  .ma-rz-mobile-menu-v6:focus{
    background:#eefbfe !important;
    border-color:#9edce7 !important;
    color:#008c95 !important;
  }

  .ma-rz-mobile-menu-v6:active{
    transform:scale(.96) !important;
  }

  body.rz-drawer-open-v6 .ma-rz-mobile-menu-v6{
    opacity:0;
    pointer-events:none;
  }

  .ma-rz-header-v3{
    padding-right:66px !important;
  }
}
/* QSMQCS RZ TOP DOTS MENU V7 END */


/* QSMQCS RZ MOBILE CLEAN UX V8 START
   Mobile UX cleanup only.
   Keeps content, links, QCM/QCS, résumés, 3D, Annales, qsmApp, access and subscriptions unchanged.
*/
@media (max-width: 820px){
  /* Hide floating translator on Résidanat mobile because it covers the title */
  body:has(.ma-rz-app-v3) #qsm-translate-widget,
  body:has(.ma-rz-app-v3) .qsm-translate-widget,
  body:has(.ma-rz-app-v3) .qsm-tw-floating,
  body:has(.ma-rz-app-v3) .qsm-tw-panel{
    display:none !important;
  }

  .ma-rz-titlebar-v3{
    margin-top:8px !important;
    margin-bottom:12px !important;
    padding-right:54px !important;
  }

  .ma-rz-titlebar-v3 h1{
    max-width:calc(100vw - 88px) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    font-size:clamp(1.5rem,7vw,2rem) !important;
  }

  /* Cleaner module cards: no duplicated Résumé / 3D chips */
  .ma-rz-row-meta-v3 span:not(:first-child){
    display:none !important;
  }

  .ma-rz-row-v3{
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    padding:13px !important;
  }

  .ma-rz-row-main-v3 h2{
    font-size:1rem !important;
    letter-spacing:-.035em !important;
    margin-bottom:7px !important;
  }

  .ma-rz-row-meta-v3 span:first-child{
    font-size:.73rem !important;
    padding:5px 10px !important;
  }

  /* App-like action layout: QCM first, then secondary actions */
  .ma-rz-row-actions-v3{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin-top:2px !important;
  }

  .ma-rz-row-actions-v3 a.primary{
    grid-column:1 / -1 !important;
    min-height:46px !important;
    font-size:.9rem !important;
  }

  .ma-rz-row-actions-v3 a:not(.primary){
    min-height:42px !important;
    font-size:.86rem !important;
    background:#ffffff !important;
  }

  .ma-rz-row-actions-v3 a:not(.primary):last-child:nth-child(2){
    grid-column:1 / -1 !important;
  }

  .ma-rz-row-actions-v3 a[href*="/3d"],
  .ma-rz-row-actions-v3 a[href*="3d"]{
    grid-column:auto !important;
    min-height:42px !important;
    background:#f1fbfd !important;
  }

  /* Make the three-dots button cleaner */
  .ma-rz-mobile-menu-v6{
    top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
    right:10px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:15px !important;
  }

  .ma-rz-mobile-menu-v6::before{
    font-size:1.85rem !important;
  }
}

@media (max-width: 420px){
  .ma-rz-titlebar-v3{
    padding-right:52px !important;
  }

  .ma-rz-titlebar-v3 h1{
    font-size:1.45rem !important;
  }

  .ma-rz-row-actions-v3{
    grid-template-columns:1fr 1fr !important;
  }

  .ma-rz-row-actions-v3 a.primary{
    grid-column:1 / -1 !important;
  }

  .ma-rz-row-actions-v3 a:not(.primary):last-child:nth-child(2){
    grid-column:1 / -1 !important;
  }
}
/* QSMQCS RZ MOBILE CLEAN UX V8 END */


/* QSMQCS RZ DESKTOP META CHIPS CLEAN V22 START */
/* Desktop: keep only the useful question-count chip in meta.
   Hide duplicate Résumé / 3D chips inside meta; keep real action buttons on the right. */
@media (min-width: 901px) {
  body .ma-rz-app-v3 .ma-rz-row-v3 .ma-rz-row-meta-v3 > *:not(:first-child) {
    display: none !important;
  }

  body .ma-rz-app-v3 .ma-rz-row-v3 .ma-rz-row-meta-v3 {
    gap: 0 !important;
    min-height: 28px !important;
  }

  body .ma-rz-app-v3 .ma-rz-row-v3 .ma-rz-row-actions-v3 {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
  }

  body .ma-rz-app-v3 .ma-rz-row-v3 .ma-rz-row-actions-v3 > * {
    display: inline-flex !important;
    white-space: nowrap !important;
  }
}
/* QSMQCS RZ DESKTOP META CHIPS CLEAN V22 END */


/* QSMQCS RZ MOBILE TRIAL BUTTON COLOR V52 START */

/* Force the Cytologie free-trial CTA to stay orange on mobile */
html body .ma-rz-app-v3 .ma-rz-row-v3.qsm-rz-free-card-v51 .ma-rz-row-actions-v3 a.qsm-rz-cytologie-try-v51,
html body .ma-rz-app-v3 .ma-rz-row-v3.qsm-rz-free-card-v51 a.qsm-rz-try-btn-v51.qsm-rz-cytologie-try-v51 {
  background: linear-gradient(135deg, #ff8a00, #ff4d00) !important;
  background-color: #ff6a00 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(255,102,0,.26) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  text-indent: 0 !important;
  text-decoration: none !important;
}

/* Mobile full-width version */
@media (max-width: 760px) {
  html body .ma-rz-app-v3 .ma-rz-row-v3.qsm-rz-free-card-v51 .ma-rz-row-actions-v3 a.qsm-rz-cytologie-try-v51,
  html body .ma-rz-app-v3 .ma-rz-row-v3.qsm-rz-free-card-v51 a.qsm-rz-try-btn-v51.qsm-rz-cytologie-try-v51 {
    width: 100% !important;
    flex: 1 1 100% !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 16px !important;
    border-radius: 14px !important;
  }
}

/* QSMQCS RZ MOBILE TRIAL BUTTON COLOR V52 END */

