:root{--bg:#f8f7f2;--paper:#fffdf8;--ink:#21313a;--muted:#657278;--line:#e5ded1;--blue:#1276b8;--blue-dark:#0e4f86;--teal:#1faaa2;--lime:#96c038;--sand:#efe8da;--shadow:0 24px 70px rgba(14,79,134,.13)}*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.portal-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:13px clamp(18px,5vw,72px);background:rgba(248,247,242,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.portal-header img{width:min(280px,48vw)}.portal-header nav{display:flex;gap:18px;flex-wrap:wrap}.portal-header nav a{text-decoration:none;font-weight:800;color:var(--blue-dark)}.portal-hero{padding:64px clamp(20px,6vw,90px);display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;background:radial-gradient(circle at 90% 20%,rgba(150,192,56,.23),transparent 28%),linear-gradient(135deg,var(--paper),var(--sand))}.eyebrow{color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin:0 0 12px}h1,h2,h3{color:var(--blue-dark);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(40px,6vw,72px);margin:0 0 18px}h2{font-size:clamp(30px,4vw,48px);margin:0}.lead{font-size:clamp(17px,2vw,21px);color:var(--muted);max-width:800px}.notice,.instruction{background:var(--blue-dark);color:white;border-radius:28px;padding:28px;box-shadow:var(--shadow)}.notice strong,.notice span{display:block}.notice strong{font-size:20px;margin-bottom:8px}.portal-section,.exercise-page,.admin-page{padding:64px clamp(20px,6vw,90px);max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.exercise-card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:28px;text-decoration:none;box-shadow:0 16px 46px rgba(33,49,58,.08);transition:.2s transform,.2s box-shadow}.exercise-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.exercise-card>img,.image-placeholder{width:100%;height:260px;object-fit:cover;background:linear-gradient(135deg,#eaf1f4,#dbe9ed);display:grid;place-items:center;color:var(--blue-dark);font-weight:900}.card-copy{padding:24px}.card-copy span,.step span{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.card-copy h3{font-size:25px;margin:8px 0}.card-copy p{color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;text-decoration:none;font-weight:850;cursor:pointer}.primary{background:var(--blue);color:white}.secondary{background:white;border:2px solid rgba(18,118,184,.25);color:var(--blue-dark)}.empty,.editor-card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 16px 46px rgba(33,49,58,.07)}footer{display:flex;justify-content:space-between;gap:20px;padding:30px clamp(20px,6vw,90px);border-top:1px solid var(--line);color:var(--muted)}.exercise-page{max-width:1100px}.back-link{display:inline-block;margin-bottom:28px;color:var(--blue-dark);font-weight:800;text-decoration:none}.steps{display:grid;gap:26px;margin:40px 0}.step{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:28px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:0 16px 46px rgba(33,49,58,.07)}.step img{width:100%;height:360px;object-fit:contain;background:#f0f3f2;border-radius:20px}.step p{white-space:normal;font-size:18px}.instruction{margin-top:32px}.instruction h2{color:white;font-size:30px}.login-body{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 75% 15%,rgba(150,192,56,.25),transparent 30%),linear-gradient(135deg,var(--paper),var(--sand))}.login-card{width:min(520px,100%);background:rgba(255,253,248,.97);border:1px solid var(--line);border-radius:34px;padding:clamp(28px,6vw,52px);box-shadow:var(--shadow)}.portal-logo{width:min(300px,80%);margin-bottom:30px}.login-card h1{font-size:clamp(38px,7vw,56px)}label{display:grid;gap:7px;font-weight:800;margin:16px 0}input,textarea{width:100%;font:inherit;border:1px solid #cfd9dc;border-radius:14px;padding:13px 14px;background:white;color:var(--ink)}input:focus,textarea:focus{outline:3px solid rgba(18,118,184,.14);border-color:var(--blue)}.login-card .button{width:100%;margin-top:8px}.login-card .back-link{margin:24px 0 0}.alert,.success{padding:13px 15px;border-radius:14px;margin:18px 0}.alert{background:#fff0ef;color:#8a2e2a;border:1px solid #efc5c2}.success{background:#ecf8ef;color:#246a37;border:1px solid #bfe2c8}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:36px}.editor-card h2{font-size:30px}.upload-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;margin:12px 0;padding:12px;border-radius:16px;background:#f5f3ed}.admin-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.admin-item strong,.admin-item span{display:block}.admin-item span{color:var(--muted);font-size:14px}.danger{border:0;border-radius:999px;padding:9px 13px;background:#fff0ef;color:#8a2e2a;font-weight:800;cursor:pointer}@media(max-width:900px){.portal-hero,.admin-grid{grid-template-columns:1fr}.exercise-grid{grid-template-columns:repeat(2,1fr)}.step{grid-template-columns:1fr}.step img{height:auto;max-height:520px}.portal-header nav a:first-child{display:none}}@media(max-width:620px){.portal-header{align-items:flex-start}.portal-header nav{justify-content:flex-end}.exercise-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.upload-row{grid-template-columns:1fr}.portal-hero,.portal-section,.exercise-page,.admin-page{padding:42px 18px}.portal-header{padding:12px 16px}footer{flex-direction:column}.exercise-card>img,.image-placeholder{height:230px}}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.login-help{font-size:.86rem;color:#66736d;margin-top:1rem}.step-placeholder{min-height:220px;display:grid;place-items:center;background:linear-gradient(135deg,#edf3ef,#dfe9e3);border-radius:18px;color:#466154}.step-placeholder span{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;font-size:1.5rem;font-weight:700;box-shadow:0 8px 28px rgba(31,56,45,.12)}.instruction.compact{border-left-color:#729783}.instruction.warning{border-left-color:#b28a54;background:#fffaf2}
/* V10.0.3: Suche, Kategorien, Bearbeitung und persönliche Serien */
.searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;margin-bottom:44px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:24px}.searchbar label{margin:0}.searchbar label span{display:block;margin-bottom:6px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:54px}.category-card{display:flex;flex-direction:column;padding:20px;border-radius:20px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font-weight:900;color:var(--blue-dark);box-shadow:0 8px 26px rgba(33,49,58,.06)}.category-card small{font-weight:600;color:var(--muted);margin-top:4px}.category-card:hover,.category-card.active{border-color:var(--teal);background:#eef9f7}.exercises-head{margin-top:18px}select{width:100%;font:inherit;border:1px solid #cfd9dc;border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink)}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.admin-tabs a{padding:10px 16px;border-radius:999px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font-weight:800;color:var(--blue-dark)}.admin-section{margin-top:38px;scroll-margin-top:100px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.category-admin-list{margin-top:18px}.item-actions{display:flex;align-items:center;gap:8px}.item-actions form{margin:0}.button.mini{min-height:36px;padding:0 13px;font-size:14px}.existing-image{grid-template-columns:110px 1fr}.existing-image img{width:110px;height:80px;object-fit:cover;border-radius:10px}.step-editor{display:grid;grid-template-columns:.4fr 1fr;gap:10px;margin:10px 0;padding:12px;border-radius:16px;background:#f5f3ed}.patient-card,.series-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;margin:12px 0}.patient-card strong,.patient-card span{display:block}.patient-card span{color:var(--muted)}code{padding:2px 7px;border-radius:7px;background:#edf2f3;color:var(--blue-dark);font-weight:900}.check-row{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;margin:8px 0;padding:10px;border-radius:12px;background:#f8f7f2}.check-row input{width:auto;margin-top:4px}.check-row span,.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:16px;padding:14px;margin:18px 0}legend{font-weight:900;color:var(--blue-dark)}.narrow{max-width:560px}.series-banner{margin:28px 0 34px;background:var(--paper)}
/* Kontrastkorrekturen: helle Hinweisfelder dürfen keinen weißen Text erben. */
.instruction.warning{color:var(--ink)}.instruction.warning h2{color:var(--blue-dark)}.instruction.warning p{color:var(--ink)}.instruction.compact{color:#fff}.editor-card p,.editor-card label,.editor-card legend{color:var(--ink)}
@media(max-width:720px){.searchbar{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.step-editor{grid-template-columns:1fr}.patient-card,.series-banner{align-items:flex-start;flex-direction:column}.item-actions{align-items:flex-end;flex-direction:column}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.role-note{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:22px 0;padding:16px;border-radius:16px;background:#f1f6f2;color:var(--ink)}.role-note strong{color:var(--blue-dark)}.series-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:18px 0 24px}.series-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:54px}.series-card{display:flex;flex-direction:column;gap:5px;padding:20px;border-radius:20px;background:var(--paper);border:1px solid var(--line);text-decoration:none;box-shadow:0 8px 26px rgba(33,49,58,.06)}.series-card strong{color:var(--blue-dark);font-size:18px}.series-card span{color:var(--muted);font-size:14px}.series-card:hover{border-color:var(--teal);transform:translateY(-2px)}@media(max-width:720px){.series-search{grid-template-columns:1fr}}
/* V10.0.5 */
.legacy-hidden{display:none!important}.request-card{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line)}.request-card p{margin:.5rem 0 0}.exercise-hero-card{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:32px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow);margin:28px 0}.exercise-hero-card img{width:100%;max-height:430px;object-fit:contain;border-radius:22px;background:#eef3f0}.exercise-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.exercise-meta span{padding:8px 12px;border-radius:999px;background:#edf7f5;color:var(--blue-dark);font-weight:800}.step:nth-child(even){grid-template-columns:1.1fr minmax(260px,.9fr)}.step:nth-child(even)>img,.step:nth-child(even)>.step-placeholder{order:2}@media(max-width:900px){.exercise-hero-card,.step:nth-child(even){grid-template-columns:1fr}.step:nth-child(even)>img,.step:nth-child(even)>.step-placeholder{order:0}}@media(max-width:720px){.request-card{flex-direction:column}}
.filter-block{margin:26px 0}.filter-chips{display:flex;flex-wrap:wrap;gap:10px}.filter-chips a{display:inline-flex;padding:10px 15px;border:1px solid #d8e6df;border-radius:999px;background:#fff;color:#21483a;text-decoration:none;font-weight:700}.filter-chips a:hover,.filter-chips a.active{background:#2f7657;color:#fff;border-color:#2f7657}.type-chips a{background:#f7faf8}.card-tags{display:flex!important;gap:6px;flex-wrap:wrap}.card-tags span{display:inline-flex!important;width:auto!important;border-radius:999px;padding:4px 8px;background:#eef5f1;color:#315d4b;font-size:.75rem}.admin-nav{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 26px}.admin-nav details{background:#fff;border:1px solid #dce7e1;border-radius:16px;padding:10px 14px;min-width:240px}.admin-nav summary{cursor:pointer;font-weight:800;color:#21483a}.admin-nav details div{display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.admin-nav a{padding:8px 11px;border-radius:10px;text-decoration:none;background:#f2f7f4;color:#315d4b;font-weight:700}.admin-nav a.active,.admin-nav a:hover{background:#2f7657;color:#fff}@media(max-width:700px){.admin-nav details{width:100%}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.filter-chips a{white-space:nowrap}}

/* V10.0.7 – gemeinsames Backend, dynamische Schritte und Log */
.portal-backend-top{background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);padding:10px 18px}.backend-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.backend-brand img{width:42px;height:42px;object-fit:contain;border-radius:10px}.backend-brand span{display:grid}.backend-brand small{color:var(--muted)}.portal-backend-top nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.portal-backend-top nav>a,.portal-backend-top nav summary{display:inline-flex;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:800;color:var(--blue-dark);cursor:pointer}.portal-backend-top nav>a:hover,.portal-backend-top nav>a.active{background:#eaf4ef}.portal-backend-top details{position:relative}.portal-backend-top details>div{position:absolute;top:100%;left:0;min-width:235px;padding:10px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:4px}.portal-backend-top details a{padding:9px 11px;border-radius:9px;text-decoration:none;color:var(--ink)}.portal-backend-top details a:hover,.portal-backend-top details a.active{background:#eaf4ef;color:var(--blue-dark)}.backend-content{max-width:1320px}.step-editor{grid-template-columns:100px minmax(180px,.35fr) 1fr;align-items:start}.step-editor label{margin:0}.step-number{font-weight:900;color:var(--blue-dark);padding-top:12px}.remove-step{align-self:center}.log-table-wrap{overflow:auto}.log-table{width:100%;border-collapse:collapse;min-width:900px}.log-table th,.log-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}.log-table th{color:var(--blue-dark)}.patient-preview{border:1px solid #bdd8ca!important}.hint{color:var(--muted);font-size:.92rem}@media(max-width:900px){.portal-backend-top nav{display:none;width:100%;padding-top:10px}.portal-backend-top nav.is-open{display:flex}.portal-backend-top details{width:100%}.portal-backend-top details>div{position:static;box-shadow:none;margin-top:6px}.step-editor{grid-template-columns:1fr}.backend-brand img{width:38px;height:38px}}

/* V10.0.8: Website-Backend-Optik plus frühere kompakte Portalstruktur */
.portal-unified-top{position:sticky;top:0;z-index:40}.portal-unified-top .admin-logo-brand{display:flex;align-items:center;gap:10px;text-decoration:none;background:transparent;color:var(--ink);padding:0}.portal-unified-top .admin-logo-brand img{width:42px;height:42px;object-fit:contain}.portal-unified-top .admin-logo-brand span{display:grid}.portal-unified-top .admin-logo-brand small{font-size:12px;color:var(--muted)}body>.admin-nav{max-width:1500px;margin:18px auto 0;padding:0 clamp(20px,6vw,90px)}.admin-nav details{box-shadow:0 8px 24px rgba(33,49,58,.05)}@media(max-width:900px){.portal-unified-top nav{display:none}.portal-unified-top nav.is-open{display:grid}.portal-unified-top .admin-logo-brand img{width:36px;height:36px}}

.logout-icon{font-size:1.35rem!important;line-height:1!important;min-width:42px;text-align:center}.admin-nav{grid-template-columns:1fr!important}.admin-nav details{max-width:none}.admin-nav summary{cursor:pointer}


/* V10.0.11 – Portalverwaltung im selben Backend-Rahmen */
body:has(.portal-unified-top){background:#f6f4ee}
.backend-content{max-width:1180px;margin:28px auto;padding:0 18px}
.backend-content>.admin-nav:first-child{margin-top:0}
.admin-nav{margin:0 0 22px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.admin-nav details{border:1px solid #dbe5e2;border-radius:18px;background:#fff;padding:12px 14px;box-shadow:0 8px 24px rgba(25,52,45,.05)}
.admin-nav summary{font-weight:850;color:#285747;margin-bottom:10px}
.admin-nav details>div{display:flex;flex-wrap:wrap;gap:8px}
.admin-nav a{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border-radius:12px;background:#eef4f1;color:#285747;text-decoration:none;font-weight:800}
.admin-nav a.active,.admin-nav a:hover{background:#2f7d61;color:#fff}
.editor-card{border-color:#e2ddd2;background:#fffdf9;box-shadow:0 12px 34px rgba(33,49,58,.07)}
.item-actions{align-items:center}
.item-actions form{margin:0}
.item-actions .danger,.admin-item .danger,.patient-card .danger,.request-card .danger{margin:0;min-width:82px;padding:9px 14px;background:#a61f1f!important;color:#fff!important;border:1px solid #a61f1f!important}
@media(max-width:700px){.admin-nav details>div{display:grid;grid-template-columns:1fr 1fr}.admin-nav a{justify-content:center}.backend-content{padding:0 12px}}

.portal-site-body{background:var(--off,#f7f6f1)}.portal-login-shell{min-height:65vh;display:grid;place-items:center;padding:54px 18px}.portal-site-body .site-header{position:sticky;top:0;z-index:100}.portal-context-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid rgba(14,79,134,.12)}.portal-context-nav a{padding:9px 13px;border-radius:999px;text-decoration:none;font-weight:800;color:#28594a;background:#eef6f4}.portal-context-nav .portal-logout{font-size:1.1rem;padding-inline:14px}.portal-site-body main{max-width:1180px;margin-inline:auto}.portal-site-body .login-card{margin:0}.portal-site-body .site-footer{margin-top:50px}


/* V10.2.2 – breites, rahmenloses Übungsportal */
.portal-site-body main{max-width:none;width:100%;margin:0}
.portal-site-body main>section,.portal-site-body .portal-section,.portal-site-body .portal-hero{width:min(1480px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.portal-login-shell{min-height:calc(100vh - 190px);display:block;padding:clamp(44px,7vw,96px) clamp(24px,7vw,110px)}
.portal-login-shell .login-card{max-width:760px;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none}
.portal-login-shell .login-card h1{font-size:clamp(2.7rem,7vw,5.6rem);line-height:.96;margin:.15em 0 .25em}
.portal-login-shell .login-card form{max-width:620px}
.portal-login-shell .login-card input{font-size:1.1rem;min-height:58px}
.portal-login-shell .login-card .button{width:100%;min-height:54px}
.portal-context-nav{position:sticky;top:var(--header-height,0);z-index:80}
@media(max-width:700px){.portal-site-body main>section,.portal-site-body .portal-section,.portal-site-body .portal-hero{width:min(100% - 24px,1480px)}.portal-login-shell{padding:40px 18px}.portal-login-shell .login-card h1{font-size:clamp(2.5rem,14vw,4rem)}}

/* Einheitlicher Logout wie im Praxis-Backend */
.portal-logout{display:inline-grid!important;place-items:center!important;width:44px!important;min-width:44px!important;height:42px!important;padding:0!important;border-radius:12px!important;background:#eef4f1!important;color:#285747!important}
.portal-logout:hover{background:#285747!important;color:#fff!important}
.portal-logout .logout-door{display:grid;place-items:center}.portal-logout svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* V10.2.4: bündige, dauerhaft sichtbare Portalnavigation */
.portal-context-nav{
  position:sticky;
  top:var(--portal-header-height,72px);
  z-index:95;
  justify-content:flex-start;
  padding-left:max(16px,calc((100vw - 1480px)/2 + 24px));
  padding-right:max(16px,calc((100vw - 1480px)/2 + 24px));
  box-shadow:0 8px 18px rgba(14,79,134,.06);
}
.portal-context-nav a{transition:background-color .2s ease,color .2s ease,transform .2s ease}
.portal-context-nav a:hover{transform:translateY(-1px)}
@media(max-width:900px){
  .portal-context-nav{top:var(--portal-header-height,64px);justify-content:center;padding-left:12px;padding-right:12px}
}

/* V10.2.6 – Portalnavigation direkt unter der festen Hauptnavigation */
.portal-site-body.has-portal-nav main{
  padding-top:var(--portal-nav-height,62px);
}
.portal-site-body .portal-context-nav{
  position:fixed!important;
  top:var(--portal-header-height,72px)!important;
  left:0;
  right:0;
  width:100%;
  z-index:99;
  min-height:var(--portal-nav-height,62px);
  align-items:center;
  margin:0;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
@media(max-width:900px){
  .portal-site-body.has-portal-nav main{padding-top:var(--portal-nav-height,110px)}
  .portal-site-body .portal-context-nav{align-content:center}
}

/* V10.2.7 – lückenlose Portalnavigation und mobile Optimierung */
.portal-site-body .portal-context-nav{
  top:calc(var(--portal-header-height,72px) - 1px)!important;
  border-top:0!important;
  margin:0!important;
}
@media(max-width:900px){
  .portal-site-body .portal-context-nav{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:7px!important;
    padding:8px 12px!important;
    min-height:58px!important;
    white-space:nowrap;
  }
  .portal-site-body .portal-context-nav::-webkit-scrollbar{display:none}
  .portal-site-body .portal-context-nav a{
    flex:0 0 auto;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 13px;
  }
  .portal-site-body.has-portal-nav main{padding-top:var(--portal-nav-height,58px)!important;}
  .portal-site-body main>section,.portal-site-body .portal-section,.portal-site-body .portal-hero{width:calc(100% - 24px)!important;}
  .portal-grid,.exercise-grid,.category-grid,.series-grid{grid-template-columns:1fr!important;}
  .exercise-hero-card,.step,.step:nth-child(even){grid-template-columns:1fr!important;}
  .step:nth-child(even)>img,.step:nth-child(even)>.step-placeholder{order:0!important;}
  .portal-login-shell{min-height:auto;padding:34px 16px 48px!important;}
  .portal-login-shell .login-card form{max-width:100%;}
}
@media(max-width:520px){
  .portal-context-nav a{font-size:.9rem!important;padding:8px 12px!important;}
  .portal-context-nav .portal-logout{width:42px!important;min-width:42px!important;padding:0!important;}
  .portal-site-body main>section,.portal-site-body .portal-section,.portal-site-body .portal-hero{width:calc(100% - 20px)!important;}
  .exercise-card,.series-card,.category-card{border-radius:20px!important;}
  .exercise-card-content,.series-card-content{padding:17px!important;}
}

/* Öffentliche Übungsserien */
.series-library-head{margin-top:2rem}.series-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.series-library-card{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem;border:1px solid rgba(21,93,78,.18);border-radius:18px;background:var(--portal-surface,#fff);text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(26,59,51,.06);transition:transform .2s ease,box-shadow .2s ease}.series-library-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,59,51,.11)}.series-library-card h3{margin:.05rem 0 .35rem}.series-library-card p{margin:0 0 .5rem}.series-library-card small{font-weight:700;color:#2d6b5b}.series-library-icon{display:grid;place-items:center;min-width:42px;height:42px;border-radius:13px;background:#e9f3ef;color:#286a58;font-size:1.5rem;font-weight:800}@media(max-width:640px){.series-library-grid{grid-template-columns:1fr}}
