
:root{
  --red:#cf233a;
  --red-dark:#9f1427;
  --blue:#0f2f52;
  --blue-soft:#153f6d;
  --dark:#0e1621;
  --text:#172230;
  --muted:#6b7785;
  --line:#e5ebf2;
  --bg:#f4f7fb;
  --card:#ffffff;
  --shadow:0 16px 40px rgba(14,22,33,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,92%);margin:auto}
.topbar{
  background:linear-gradient(90deg,var(--red-dark),var(--red));
  color:#fff;
  font-size:.94rem;
}
.topbar-inner{
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:10px 0;
}
.topbar a{color:#fff;font-weight:700}
.site-header{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--line);
}
.nav-wrap{
  min-height:78px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{
  display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:800;text-decoration:none;
}
.brand-mark{
  width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;background:var(--red);color:#fff;font-size:1.5rem;
  box-shadow:0 10px 25px rgba(207,35,58,.35);
}
.nav{display:flex;gap:24px;align-items:center}
.nav a{text-decoration:none;font-weight:700;color:var(--text)}
.nav a:hover{color:var(--red)}
.nav-toggle{display:none;background:none;border:0;font-size:1.8rem}

.hero{
  position:relative;
  min-height:620px;
  color:#fff;
  display:flex;align-items:center;
  background:
    linear-gradient(90deg, rgba(10,17,26,.90), rgba(10,17,26,.62)),
    url('../img/hero_ambulance_v7.svg') center/cover no-repeat;
}
.hero::after{
  content:"";
  position:absolute;inset:auto 0 0 0;height:120px;
  background:linear-gradient(to top, var(--bg), transparent);
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;
  padding:90px 0;
}
.eyebrow{
  color:#ffd8dd;
  letter-spacing:.12em;text-transform:uppercase;font-weight:800;font-size:.88rem;
}
h1{
  font-size:clamp(2.4rem,5.2vw,4.4rem);
  line-height:1.02;margin:.2em 0;
}
h2{font-size:2rem;line-height:1.15;margin:0 0 18px}
h3{margin:0 0 12px}
.lead{
  font-size:1.14rem;max-width:720px;color:#e3eaf4;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 20px;border-radius:10px;border:0;cursor:pointer;
  text-decoration:none;font-weight:800;
  background:var(--red);color:#fff;box-shadow:0 14px 30px rgba(207,35,58,.25);
}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{
  background:rgba(255,255,255,.16);
  color:#fff;border:1px solid rgba(255,255,255,.28);box-shadow:none;
}
.btn.dark{background:var(--blue);color:#fff}
.btn.small{padding:8px 12px;font-size:.92rem}
.hero-side{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;padding:24px;
  backdrop-filter:blur(8px);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
.notice-card{
  background:#fff;color:var(--text);padding:24px;border-radius:18px;
  box-shadow:var(--shadow);
}
.notice-card strong{font-size:2.8rem;color:var(--red)}
.section{padding:72px 0}
.section.alt{background:#fff}
.kicker{
  color:var(--red);text-transform:uppercase;font-weight:800;letter-spacing:.1em;font-size:.88rem;
}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);overflow:hidden;
}
.card-body{padding:22px}
.service-image,.vehicle-image{
  aspect-ratio:16/10;
  object-fit:cover;
  width:100%;
  background:#eef3f8;
}
.badge{
  display:inline-flex;align-items:center;
  background:#ffe6eb;color:var(--red-dark);
  padding:5px 10px;border-radius:999px;font-size:.82rem;font-weight:800;
}
.muted{color:var(--muted)}
.check-list{padding-left:18px}
.stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;
}
.stat-box{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);
  border-radius:14px;padding:18px;text-align:center;
}
.stat-box strong{display:block;font-size:1.8rem}
.page-head{
  color:#fff;
  padding:56px 0;
  background:
    linear-gradient(100deg, rgba(15,47,82,.94), rgba(207,35,58,.82)),
    url('../img/page_header.svg') center/cover no-repeat;
}
.news-item{margin-bottom:20px}
.notice{
  padding:13px 15px;border-radius:10px;margin-bottom:18px;
}
.notice.ok{background:#eaf8f0;color:#156842}
.notice.err{background:#fde8ec;color:#9a1830}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
label{display:block;font-weight:700;margin-bottom:6px}
input,textarea,select{
  width:100%;padding:12px;border:1px solid #d1d8e3;border-radius:10px;
  font:inherit;background:#fff;color:var(--text);
}
textarea{min-height:140px;resize:vertical}
.footer{
  background:#0d1724;color:#d5deea;margin-top:50px;padding:46px 0 20px;
}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:18px;font-size:.92rem}
.footer a{color:#fff}

/* Installer */
.installer-page{
  min-height:100vh;
  background:
    linear-gradient(110deg, rgba(8,16,24,.78), rgba(16,45,77,.62)),
    url('../img/install_bg_ambulance.svg') center/cover no-repeat fixed;
  display:grid;place-items:center;padding:30px;
}
.installer-card{
  width:min(1080px,96%);
  display:grid;grid-template-columns:1fr 1fr;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;overflow:hidden;
  backdrop-filter:blur(12px);
  box-shadow:0 25px 70px rgba(0,0,0,.28);
}
.installer-info{
  padding:42px;color:#fff;
  background:linear-gradient(180deg, rgba(207,35,58,.26), rgba(15,47,82,.28));
}
.installer-form{
  padding:36px;background:rgba(255,255,255,.95);
}
.installer-title{font-size:2.3rem;line-height:1.06;margin:.2em 0}
.installer-list{padding-left:18px}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* Admin */
.admin-page{
  min-height:100vh;
  background:
    linear-gradient(120deg, rgba(8,16,24,.87), rgba(14,45,84,.70)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat fixed;
}
.admin-overlay{
  min-height:100vh;background:rgba(255,255,255,.06);backdrop-filter:blur(2px);
}
.admin-layout{
  display:grid;grid-template-columns:260px 1fr;min-height:100vh;
}
.sidebar{
  background:rgba(10,18,28,.88);color:#fff;padding:28px;border-right:1px solid rgba(255,255,255,.12)
}
.sidebar h2{margin-bottom:22px}
.sidebar a{
  display:block;color:#fff;text-decoration:none;padding:11px 14px;border-radius:10px;margin-bottom:7px;
  background:rgba(255,255,255,.03)
}
.sidebar a:hover{background:rgba(255,255,255,.12)}
.admin-main{
  padding:30px;
}
.admin-panel{
  background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.5);
  border-radius:20px;padding:24px;box-shadow:var(--shadow)
}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat-card{
  background:linear-gradient(180deg,#fff,#f6f9fc);
  border:1px solid var(--line);border-radius:16px;padding:18px;
}
.login-wrap{
  min-height:100vh;
  display:grid;place-items:center;
  background:
    linear-gradient(120deg, rgba(8,16,24,.86), rgba(14,45,84,.70)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat fixed;
  padding:30px;
}
.login-box{
  width:min(460px,96%);background:rgba(255,255,255,.95);
  border-radius:22px;padding:30px;box-shadow:0 30px 70px rgba(0,0,0,.3)
}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#f4f7fb}
.inline-form{display:inline}
.button-row{display:flex;gap:8px;flex-wrap:wrap}

@media(max-width:980px){
  .hero-grid,.installer-card,.admin-layout,.grid-4,.grid-3,.grid-2,.footer-grid,.form-row,.mini-grid,.admin-stats{grid-template-columns:1fr}
}
@media(max-width:840px){
  .nav-toggle{display:block}
  .nav{
    display:none;position:absolute;top:78px;left:0;right:0;background:#fff;
    padding:18px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)
  }
  .nav.open{display:flex}
}


/* V4: Moderner Baustellen-Hinweis */
.construction-section{
  padding:46px 0 18px;
  position:relative;
}
.construction-banner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  background:linear-gradient(135deg,#0e2f50,#123f6b 58%,#8f1728);
  color:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(15,47,82,.20);
  border:1px solid rgba(255,255,255,.12);
}
.construction-copy{
  padding:36px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.construction-copy h2{
  font-size:clamp(1.8rem,3.6vw,3rem);
  margin:.25em 0 .35em;
}
.construction-copy p{
  color:#e4edf6;
  max-width:650px;
  font-size:1.05rem;
}
.construction-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  background:#f6a800;
  color:#1f2937;
  padding:7px 12px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.8rem;
}
.construction-status::before{
  content:"";
  width:9px;height:9px;border-radius:50%;
  background:#cf233a;
  box-shadow:0 0 0 5px rgba(207,35,58,.14);
}
.construction-media{
  min-height:340px;
  background:#dceaf6;
}
.construction-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-intro{
  padding:34px 0 10px;
}
.home-intro-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:24px 28px;
}
.home-intro-card strong{
  display:block;
  font-size:1.25rem;
}
.service-card-modern{
  transition:transform .2s ease, box-shadow .2s ease;
}
.service-card-modern:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(14,22,33,.14);
}
.service-card-modern .service-image{
  transition:transform .25s ease;
}
.service-card-modern:hover .service-image{
  transform:scale(1.025);
}
.section-heading{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  margin-bottom:24px;
}
.section-heading p{
  max-width:650px;
  margin:0;
  color:var(--muted);
}
@media(max-width:900px){
  .construction-banner,.home-intro-card{grid-template-columns:1fr}
  .construction-media{min-height:260px}
  .section-heading{align-items:flex-start;flex-direction:column}
}


/* V5: Interner Rettungsdienst-Protokollbereich */
.internal-link{
  background:#0f2f52;
  color:#fff !important;
  padding:9px 13px;
  border-radius:9px;
}
.internal-link:hover{
  background:#cf233a;
  color:#fff !important;
}
.internal-page{
  min-height:100vh;
  background:
    linear-gradient(120deg,rgba(7,16,25,.90),rgba(13,55,96,.72)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat fixed;
}
.internal-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:250px 1fr;
}
.internal-sidebar{
  background:rgba(7,15,24,.90);
  color:#fff;
  padding:26px;
  border-right:1px solid rgba(255,255,255,.12);
}
.internal-sidebar h2{
  font-size:1.25rem;
  margin-bottom:20px;
}
.internal-sidebar a{
  display:block;
  color:#fff;
  text-decoration:none;
  padding:11px 13px;
  border-radius:9px;
  margin-bottom:7px;
  background:rgba(255,255,255,.035);
}
.internal-sidebar a:hover{background:rgba(255,255,255,.12)}
.internal-main{
  padding:30px;
}
.internal-panel{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.4);
  border-radius:20px;
  padding:26px;
  box-shadow:0 24px 60px rgba(0,0,0,.20);
}
.protocol-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  margin-bottom:14px;
}
.protocol-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:8px;
}
.status-open{
  background:#fff3cd;color:#765b00;
}
.status-done{
  background:#e8f7ee;color:#17663c;
}
.login-note{
  font-size:.9rem;
  color:var(--muted);
}
@media(max-width:900px){
  .internal-shell{grid-template-columns:1fr}
}


/* V6: Mitarbeiterübersicht + moderne Protokollansichten */
.employee-directory{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.employee-card{
  background:linear-gradient(180deg,#fff,#f7fafc);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:0 10px 28px rgba(14,22,33,.06);
}
.employee-avatar{
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#0f2f52,#17619b);
  color:#fff;font-size:1.2rem;font-weight:900;
  margin-bottom:12px;
}
.employee-card .role{
  color:var(--red);font-weight:800;font-size:.9rem;
}
.protocol-paper{
  background:#fff;
  border:1px solid #dfe6ee;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(14,22,33,.10);
}
.protocol-paper-head{
  display:grid;
  grid-template-columns:260px 1fr;
  align-items:center;
  gap:24px;
  padding:24px 28px;
  background:linear-gradient(135deg,#f9fbfd,#eef5fb);
  border-bottom:5px solid #cf233a;
}
.protocol-logo{
  width:100%;
  max-width:250px;
  height:auto;
}
.protocol-heading h1{
  margin:0;
  font-size:2rem;
  color:#0f2f52;
}
.protocol-number{
  color:#6b7785;
  font-weight:700;
}
.protocol-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-bottom:1px solid #e5ebf2;
}
.protocol-field{
  padding:16px 20px;
  border-right:1px solid #e5ebf2;
  border-bottom:1px solid #e5ebf2;
}
.protocol-field:nth-child(3n){border-right:0}
.protocol-label{
  display:block;
  color:#6b7785;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
  font-weight:800;
  margin-bottom:4px;
}
.protocol-value{
  color:#172230;
  font-weight:700;
}
.protocol-note{
  padding:24px 28px;
}
.protocol-note-box{
  background:#f7fafc;
  border:1px solid #e5ebf2;
  border-left:5px solid #0f2f52;
  border-radius:10px;
  padding:18px;
  min-height:130px;
}
.protocol-footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  padding:16px 28px;
  background:#0f2f52;
  color:#fff;
  font-size:.9rem;
}
.filter-bar{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:12px;
  align-items:end;
  margin:20px 0;
  background:#f7fafc;
  padding:16px;
  border-radius:14px;
  border:1px solid var(--line);
}
.admin-protocol-row{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr .8fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:10px;
  background:#fff;
}
.protocol-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:900px){
  .employee-directory,.protocol-grid{grid-template-columns:1fr}
  .protocol-paper-head{grid-template-columns:1fr}
  .protocol-field{border-right:0}
  .filter-bar,.admin-protocol-row{grid-template-columns:1fr}
}
@media print{
  body{background:#fff !important}
  .internal-sidebar,.sidebar,.protocol-actions,.no-print{display:none !important}
  .internal-shell,.admin-layout{display:block !important}
  .internal-main,.admin-main{padding:0 !important}
  .internal-panel,.admin-panel{box-shadow:none !important;border:0 !important;padding:0 !important}
  .protocol-paper{box-shadow:none !important;border:1px solid #bbb !important}
}

/* V7 additions */
.grid-services{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.protocol-type-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0 26px}
.protocol-type-card{display:block;text-decoration:none;background:linear-gradient(180deg,#fff,#f5f9fc);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 25px rgba(14,22,33,.06)}
.protocol-type-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(14,22,33,.10)}
.protocol-type-card strong{display:block;color:#0f2f52;font-size:1.12rem;margin-bottom:5px}
.handover-paper-head{border-bottom-color:#0f6bb0}
.handover-accent{border-left-color:#0f6bb0}
.handover-footer{background:#0f6bb0}
@media(max-width:1180px){.grid-services{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.grid-services,.protocol-type-switch{grid-template-columns:1fr}}


/* ================================================================
   V10 MODERNES RETTUNGSDIENST-DESIGN
   ================================================================ */
.admin-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 10%,rgba(42,154,255,.34),transparent 23rem),
    linear-gradient(120deg,rgba(5,14,23,.93),rgba(10,46,80,.78)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat fixed;
}
.admin-overlay{background:rgba(3,11,18,.16);backdrop-filter:blur(3px)}
.admin-layout{grid-template-columns:280px 1fr}
.sidebar{
  padding:0;
  background:linear-gradient(180deg,rgba(7,18,29,.97),rgba(10,37,61,.95));
  border-right:1px solid rgba(255,255,255,.12);
  box-shadow:18px 0 55px rgba(0,0,0,.20);
}
.admin-brand{
  padding:26px 22px 22px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.admin-brand-badge{
  width:50px;height:50px;border-radius:15px;
  background:linear-gradient(135deg,#cf233a,#8f1324);
  display:grid;place-items:center;font-size:1.65rem;
  box-shadow:0 12px 30px rgba(207,35,58,.28);
  margin-bottom:13px;
}
.admin-brand strong{display:block;font-size:1.08rem}
.admin-brand small{color:#9fb3c8}
.admin-nav{padding:18px 14px}
.admin-nav-label{
  padding:13px 10px 7px;
  color:#7993aa;font-size:.72rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.11em;
}
.sidebar .admin-nav a{
  display:flex;align-items:center;gap:11px;
  margin:3px 0;padding:11px 12px;border-radius:11px;
  background:transparent;color:#dce8f4;
  font-weight:700;font-size:.94rem;
}
.sidebar .admin-nav a:hover{
  background:linear-gradient(90deg,rgba(50,146,232,.20),rgba(255,255,255,.04));
  color:#fff;
}
.admin-nav-icon{
  width:30px;height:30px;border-radius:8px;
  display:grid;place-items:center;background:rgba(255,255,255,.07);
}
.admin-main{padding:30px}
.admin-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  color:#fff;margin-bottom:20px;
}
.admin-topbar-title strong{display:block;font-size:1.18rem}
.admin-topbar-title span{color:#b7cadb;font-size:.9rem}
.admin-user-pill{
  display:flex;align-items:center;gap:10px;
  padding:9px 13px;border:1px solid rgba(255,255,255,.16);
  border-radius:999px;background:rgba(255,255,255,.08);
}
.admin-user-dot{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#2a91e8,#0d5c9b);font-weight:900;
}
.admin-panel{
  background:rgba(249,252,255,.96);
  border-radius:22px;padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
.admin-dashboard-hero{
  position:relative;overflow:hidden;
  min-height:230px;border-radius:20px;padding:32px;
  display:flex;align-items:center;color:#fff;margin-bottom:24px;
  background:
    linear-gradient(90deg,rgba(7,23,37,.96),rgba(8,63,105,.76)),
    url('../img/admin_bg_ambulance.svg') center 57%/cover no-repeat;
}
.admin-dashboard-hero::after{
  content:"";position:absolute;right:7%;top:8%;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(55,166,255,.38),transparent 68%);
}
.admin-dashboard-hero-content{position:relative;z-index:2;max-width:650px}
.admin-dashboard-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin:.15em 0}
.admin-dashboard-hero p{color:#d6e6f4;max-width:610px}
.admin-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.admin-stats-v10{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;
}
.admin-stat-v10{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;
  box-shadow:0 10px 28px rgba(10,35,55,.06);
}
.admin-stat-v10-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.admin-stat-v10-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:#edf6fd;font-size:1.2rem;
}
.admin-stat-v10 strong{display:block;font-size:1.9rem;color:#0f2f52;margin-top:8px}
.admin-stat-v10 span{color:#758494;font-size:.9rem}
.admin-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.admin-quick-card{
  text-decoration:none;background:linear-gradient(180deg,#fff,#f7fafc);
  border:1px solid var(--line);border-radius:16px;padding:20px;
  transition:.2s ease;box-shadow:0 10px 28px rgba(10,35,55,.05);
}
.admin-quick-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(10,35,55,.11)}
.admin-quick-card strong{display:block;color:#0f2f52;font-size:1.05rem;margin:8px 0 4px}
.admin-quick-card span{color:#758494;font-size:.9rem}

/* Moderne Formularabschnitte */
.modern-form{max-width:1200px;margin:auto}
.form-section{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:22px;margin-bottom:18px;box-shadow:0 10px 30px rgba(15,47,82,.055);
}
.form-section-title{
  display:flex;align-items:center;gap:13px;margin-bottom:20px;padding-bottom:14px;
  border-bottom:1px solid #edf1f5;
}
.form-section-title > span{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#cf233a,#9d182a);color:#fff;font-weight:900;
}
.form-section-title.blue > span{background:linear-gradient(135deg,#1883d0,#0f5d98)}
.form-section-title strong{display:block;color:#0f2f52;font-size:1.08rem}
.form-section-title small{display:block;color:#7c8996;margin-top:2px}
.form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.form-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.textarea-large{min-height:190px}
.sticky-form-actions{
  position:sticky;bottom:16px;z-index:5;
  display:flex;justify-content:flex-end;gap:10px;
  padding:13px;border-radius:15px;background:rgba(255,255,255,.94);
  border:1px solid var(--line);box-shadow:0 16px 35px rgba(15,47,82,.13);
  backdrop-filter:blur(10px);
}

/* V10 Protokollansicht */
.protocol-paper-v10{border-radius:20px}
.protocol-paper-v10 .protocol-paper-head{
  grid-template-columns:250px 1fr auto;
  background:linear-gradient(135deg,#f9fcff,#eaf4fb);
}
.protocol-status-box{
  min-width:125px;text-align:center;background:#fff;border:1px solid var(--line);
  padding:12px;border-radius:13px;
}
.protocol-status-box span{display:block;color:#7c8996;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
.protocol-status-box strong{color:#0f2f52}
.protocol-section-v10{padding:22px 26px;border-bottom:1px solid #e8edf2}
.protocol-section-title{
  color:#0f2f52;font-weight:900;text-transform:uppercase;
  letter-spacing:.065em;font-size:.83rem;margin-bottom:13px;
}
.protocol-grid-4{grid-template-columns:repeat(4,1fr)}
.protocol-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.protocol-note-main{min-height:150px;background:#f8fbfd}
.protocol-signoff{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:18px;padding-top:16px;border-top:1px solid #e8edf2;
}
.protocol-signoff > div{
  background:#f8fbfd;border:1px solid #e8edf2;border-radius:11px;padding:12px;
}
.check-status-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
}
.check-status-card{
  background:#f8fbfd;border:1px solid #e3eaf0;border-radius:12px;padding:13px;
}
.check-status-card .protocol-label{margin-bottom:5px}

/* Dashboard */
@media(max-width:1100px){
 .admin-stats-v10{grid-template-columns:repeat(2,1fr)}
 .admin-quick-grid{grid-template-columns:repeat(2,1fr)}
 .form-grid-4,.check-status-grid{grid-template-columns:repeat(2,1fr)}
 .protocol-paper-v10 .protocol-paper-head{grid-template-columns:1fr}
}
@media(max-width:800px){
 .admin-layout{grid-template-columns:1fr}
 .sidebar{position:relative}
 .admin-main{padding:16px}
 .admin-stats-v10,.admin-quick-grid,.form-grid-2,.form-grid-3,.form-grid-4,.protocol-grid-4,.protocol-two-col,.protocol-signoff,.check-status-grid{grid-template-columns:1fr}
 .admin-topbar{align-items:flex-start;flex-direction:column}
 .sticky-form-actions{position:static}
}


/* ================================================================
   V12 - ausführliche Berichte / kompaktere Schrift in Kästchen
   ================================================================ */
.protocol-field{
  padding:12px 14px;
}
.protocol-label{
  font-size:.68rem;
  line-height:1.25;
}
.protocol-value{
  font-size:.88rem;
  line-height:1.35;
  word-break:break-word;
}
.protocol-note-box{
  font-size:.88rem;
  line-height:1.45;
  padding:14px;
  min-height:90px;
  overflow-wrap:anywhere;
}
.protocol-note-main{
  min-height:120px;
}
.check-status-card{
  padding:10px 11px;
}
.check-status-card strong{
  font-size:.86rem;
  line-height:1.3;
  display:block;
  overflow-wrap:anywhere;
}
.protocol-section-v10{
  padding:18px 20px;
}
.protocol-section-title{
  font-size:.76rem;
  margin-bottom:10px;
}
.protocol-paper-v10 .protocol-paper-head{
  padding:18px 20px;
}
.protocol-heading h1{
  font-size:1.7rem;
}
.protocol-number{
  font-size:.86rem;
}
.report-small-note{
  font-size:.82rem;
  line-height:1.45;
  color:#6e7b88;
}
.compact-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.compact-field{
  background:#f8fbfd;
  border:1px solid #e4ebf1;
  border-radius:10px;
  padding:10px 11px;
}
.compact-field strong{
  display:block;
  font-size:.82rem;
  line-height:1.3;
  color:#172230;
}
.compact-field span{
  display:block;
  margin-bottom:3px;
  color:#7a8794;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:.63rem;
  font-weight:900;
}
@media(max-width:900px){
  .compact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .compact-grid{grid-template-columns:1fr}
}
@media print{
  .protocol-field{padding:8px 10px}
  .protocol-label{font-size:8pt}
  .protocol-value,.protocol-note-box,.check-status-card strong{font-size:9pt}
  .protocol-section-v10{padding:12px 14px}
  .protocol-heading h1{font-size:18pt}
  .protocol-paper-head{padding:12px 14px !important}
  .protocol-footer{font-size:8pt}
}


/* ================================================================
   V13 MEDILAGER
   ================================================================ */
.inventory-toolbar{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  margin:18px 0;
}
.inventory-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:20px;
}
.inventory-summary-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:16px;
  box-shadow:0 10px 25px rgba(15,47,82,.06);
}
.inventory-summary-card span{
  color:#758493;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.inventory-summary-card strong{
  display:block;
  color:#0f2f52;
  font-size:1.75rem;
  margin-top:5px;
}
.inventory-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.inventory-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  box-shadow:0 9px 26px rgba(14,22,33,.055);
}
.inventory-card.low-stock{
  border-color:#f2b7c1;
  box-shadow:0 9px 26px rgba(207,35,58,.08);
}
.inventory-card.expiring{
  border-color:#eecb7d;
}
.inventory-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.inventory-card h3{
  font-size:1rem;
  margin:0 0 4px;
}
.inventory-meta{
  font-size:.78rem;
  color:#768493;
  line-height:1.45;
}
.inventory-qty{
  text-align:right;
  min-width:82px;
}
.inventory-qty strong{
  display:block;
  font-size:1.45rem;
  color:#0f2f52;
  line-height:1;
}
.inventory-qty span{
  font-size:.72rem;
  color:#788694;
}
.inventory-badges{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:10px 0;
}
.inventory-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#edf5fb;
  color:#0f5d98;
  font-size:.7rem;
  font-weight:800;
}
.inventory-badge.warn{
  background:#fff2d8;
  color:#8a5a00;
}
.inventory-badge.danger{
  background:#fde7eb;
  color:#9c1830;
}
.inventory-movement{
  display:grid;
  grid-template-columns:1fr 1fr 2fr auto;
  gap:10px;
  align-items:end;
  border-top:1px solid #edf1f5;
  padding-top:12px;
  margin-top:12px;
}
.inventory-table-small{
  font-size:.84rem;
}
.inventory-table-small th,
.inventory-table-small td{
  padding:9px 10px;
}
@media(max-width:1000px){
  .inventory-summary,.inventory-card-grid{grid-template-columns:repeat(2,1fr)}
  .inventory-movement{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .inventory-summary,.inventory-card-grid,.inventory-movement{grid-template-columns:1fr}
}


/* V14: Material austragen / Sauerstoffflaschen */
.inventory-badge.oxygen{
  background:#e8f4ff;
  color:#075f9e;
  border:1px solid #b7dcf5;
}
.btn-withdraw{
  background:#cf233a !important;
  color:#fff !important;
}
.withdraw-panel{
  border-top:1px solid #edf1f5;
  padding-top:12px;
  margin-top:12px;
}
.withdraw-panel .form-grid-3{
  grid-template-columns:1fr 1fr 2fr;
}
@media(max-width:760px){
  .withdraw-panel .form-grid-3{grid-template-columns:1fr}
}


/* ================================================================
   V15 INTERNER BEREICH / FAHRTENBUCH / DOKUMENTE
   ================================================================ */
.internal-page{
  background:
    radial-gradient(circle at 80% 7%,rgba(52,159,255,.28),transparent 20rem),
    linear-gradient(120deg,rgba(5,15,24,.94),rgba(10,54,91,.82)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat fixed;
}
.internal-sidebar{
  background:linear-gradient(180deg,rgba(6,17,28,.97),rgba(10,42,68,.96));
  box-shadow:16px 0 50px rgba(0,0,0,.18);
}
.internal-sidebar .internal-brand{
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.11);
  margin-bottom:16px;
}
.internal-sidebar .internal-brand-badge{
  width:48px;height:48px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#cf233a,#8e1325);
  font-size:1.5rem;margin-bottom:10px;
}
.internal-sidebar a{
  display:flex;align-items:center;gap:9px;
  font-size:.92rem;
}
.internal-main{
  padding:28px;
}
.internal-panel{
  background:rgba(249,252,255,.97);
  border-radius:22px;
  padding:26px;
}
.internal-dashboard-hero{
  min-height:210px;
  border-radius:20px;
  padding:28px;
  margin-bottom:22px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(6,25,41,.96),rgba(8,72,117,.72)),
    url('../img/admin_bg_ambulance.svg') center/cover no-repeat;
}
.internal-dashboard-hero h1{
  margin:.2em 0;
  font-size:clamp(2rem,4vw,3rem);
}
.internal-dashboard-hero p{
  max-width:700px;color:#dcebf6;
}
.internal-module-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  margin-top:18px;
}
.internal-module-card{
  text-decoration:none;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:0 10px 28px rgba(15,47,82,.055);
}
.internal-module-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(15,47,82,.10);
}
.internal-module-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:#edf6fd;margin-bottom:11px;
}
.internal-module-card strong{
  display:block;color:#0f2f52;margin-bottom:5px;
}
.internal-module-card span{
  color:#738292;font-size:.86rem;line-height:1.45;
}
.logbook-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.document-card{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  margin-bottom:10px;
}
.license-status{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:800;
}
.license-status.yes{background:#e8f7ee;color:#17663c}
.license-status.no{background:#fde7eb;color:#9c1830}
@media(max-width:1000px){
  .internal-module-grid{grid-template-columns:repeat(2,1fr)}
  .logbook-grid{grid-template-columns:repeat(2,1fr)}
  .document-card{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .internal-module-grid,.logbook-grid,.document-card{grid-template-columns:1fr}
}


/* ================================================================
   V16 MEDIKAMENTE / CHECKLISTEN / QUALIFIKATION
   ================================================================ */
.medication-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.medication-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 9px 26px rgba(14,22,33,.055)}
.medication-card.low{border-color:#efb0bb}.medication-card.expired{border-color:#cf233a;background:#fff8f9}
.medication-card h3{font-size:.98rem;margin:0 0 5px}.medication-card .med-small{font-size:.77rem;color:#748392;line-height:1.45}
.med-qty{font-size:1.25rem;font-weight:900;color:#0f2f52}
.context-badges{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.context-badge{background:#eef6fc;color:#155e8d;padding:4px 7px;border-radius:999px;font-size:.68rem;font-weight:800}
.checklist-layout{display:grid;grid-template-columns:320px 1fr;gap:20px}
.checklist-image{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;position:sticky;top:20px;align-self:start}
.checklist-image img{width:100%;height:auto;border-radius:12px}
.checklist-group{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden}
.checklist-group h3{margin:0;padding:12px 15px;background:#f2f7fb;color:#0f2f52;font-size:.95rem}
.checklist-row{display:grid;grid-template-columns:1fr 115px 115px 1fr;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid #edf1f5;font-size:.85rem}
.missing-checkbox{display:flex;align-items:center;gap:7px;font-weight:800;color:#9b1930}.missing-checkbox input{width:auto}
.standard-note{background:#eef7ff;border:1px solid #c8e3f6;border-radius:12px;padding:12px 14px;color:#285a7e;font-size:.82rem;line-height:1.45}
.check-result-card{background:#fff;border:1px solid var(--line);border-left:5px solid #cf233a;border-radius:14px;padding:14px;margin-bottom:10px}
.qualification-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eaf5fd;color:#0d5f95;font-weight:800;font-size:.75rem}
@media(max-width:980px){.medication-overview{grid-template-columns:repeat(2,1fr)}.checklist-layout{grid-template-columns:1fr}.checklist-image{position:static}}
@media(max-width:700px){.medication-overview{grid-template-columns:1fr}.checklist-row{grid-template-columns:1fr}}


/* ================================================================
   V17 RTW-EINSATZNACHWEIS / FAHRZEUGBESTAND
   ================================================================ */
.rtw-protocol-head{
  background:
    linear-gradient(135deg,rgba(5,31,51,.97),rgba(8,85,135,.90)),
    url('../img/vehicle_rtw_v7.svg') right center/45% auto no-repeat !important;
  color:#fff;
}
.rtw-protocol-head .protocol-heading h1,
.rtw-protocol-head .protocol-number,
.rtw-protocol-head .kicker{color:#fff}
.rtw-protocol-head .protocol-status-box{
  background:rgba(255,255,255,.94);
}
.rtw-time-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}
.rtw-time-card{
  background:#f7fbfe;
  border:1px solid #dfe9f1;
  border-radius:11px;
  padding:10px;
}
.rtw-time-card span{
  display:block;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.055em;
  color:#71808e;
  font-weight:900;
  margin-bottom:4px;
}
.rtw-time-card strong{
  font-size:.86rem;
  color:#102f4b;
}
.vehicle-stock-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.vehicle-stock-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 9px 26px rgba(14,22,33,.055);
}
.vehicle-stock-card-head{
  min-height:130px;
  padding:17px;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,27,46,.93),rgba(9,83,132,.78)),
    url('../img/vehicle_rtw_v7.svg') right center/52% auto no-repeat;
}
.vehicle-stock-card-head.ktw{
  background:
    linear-gradient(90deg,rgba(4,27,46,.93),rgba(9,83,132,.78)),
    url('../img/vehicle_ktw_v7.svg') right center/52% auto no-repeat;
}
.vehicle-stock-card-head h3{margin:0 0 5px;color:#fff}
.vehicle-stock-card-head p{margin:0;color:#d8eaf7;font-size:.8rem}
.vehicle-stock-body{padding:14px}
.vehicle-stock-item{
  display:grid;
  grid-template-columns:1fr 85px 85px;
  gap:8px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid #edf1f5;
  font-size:.8rem;
}
.vehicle-stock-item:last-child{border-bottom:0}
.vehicle-stock-item.missing{color:#9b1b30;font-weight:800}
.stock-ok{color:#17663c;font-weight:800}
.stock-missing{color:#9b1b30;font-weight:900}
.vehicle-stock-form{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 2fr auto;
  gap:10px;
  align-items:end;
}
@media(max-width:1100px){
  .rtw-time-grid{grid-template-columns:repeat(3,1fr)}
  .vehicle-stock-grid{grid-template-columns:repeat(2,1fr)}
  .vehicle-stock-form{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:700px){
  .rtw-time-grid,.vehicle-stock-grid,.vehicle-stock-form{grid-template-columns:1fr}
}


/* V20 Schnittstellen & Schulungen */
.training-content{
  font-size:.9rem;
  line-height:1.65;
  white-space:normal;
}
.api-code{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  background:#0d2234;
  color:#dff2ff;
  padding:12px;
  border-radius:12px;
  overflow:auto;
  font-size:.78rem;
}
.protocol-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  margin-bottom:12px;
  box-shadow:0 8px 24px rgba(15,47,82,.05);
}
.protocol-card h3{margin:.35rem 0;color:#0f2f52}


/* ================================================================
   V21 MOBILE APP / PWA
   ================================================================ */
.mobile-app-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 85% 5%,rgba(43,163,255,.24),transparent 18rem),
    linear-gradient(160deg,#061725,#0a3657 58%,#0b5f97);
  color:#fff;
  padding-bottom:92px;
}
.mobile-app-shell{
  max-width:760px;
  margin:0 auto;
  padding:16px;
}
.mobile-app-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.mobile-app-brand{
  display:flex;
  align-items:center;
  gap:11px;
}
.mobile-app-brand img{
  width:48px;height:48px;object-fit:contain;
  background:#fff;border-radius:13px;padding:4px;
}
.mobile-app-brand strong{display:block;font-size:1rem}
.mobile-app-brand span{font-size:.76rem;color:#c5d9e8}
.mobile-install-btn{
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:12px;
  padding:9px 12px;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
}
.mobile-app-hero{
  border-radius:20px;
  min-height:195px;
  padding:22px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(180deg,rgba(4,17,28,.14),rgba(5,29,47,.92)),
    url('../img/hero_ambulance_v7.svg') center/cover no-repeat;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}
.mobile-app-hero h1{
  margin:0 0 6px;font-size:1.65rem;color:#fff;
}
.mobile-app-hero p{
  margin:0;color:#d5e8f5;font-size:.88rem;line-height:1.45;
}
.mobile-app-status{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:14px 0;
}
.mobile-status-card{
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  padding:12px;
  backdrop-filter:blur(10px);
}
.mobile-status-card span{display:block;color:#c5d9e8;font-size:.68rem;text-transform:uppercase;font-weight:800}
.mobile-status-card strong{display:block;margin-top:3px;font-size:1.2rem;color:#fff}
.mobile-app-section-title{
  margin:22px 2px 10px;
  font-size:.83rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#b9d3e5;
  font-weight:900;
}
.mobile-app-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:11px;
}
.mobile-app-card{
  text-decoration:none;
  color:#14354f;
  background:#fff;
  border-radius:17px;
  padding:15px;
  min-height:130px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.mobile-app-card .icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:#edf6fd;font-size:1.2rem;
  margin-bottom:10px;
}
.mobile-app-card strong{display:block;font-size:.93rem;margin-bottom:5px}
.mobile-app-card span{display:block;font-size:.74rem;line-height:1.4;color:#748493}
.mobile-app-card.emergency{background:#cf233a;color:#fff}
.mobile-app-card.emergency .icon{background:rgba(255,255,255,.18)}
.mobile-app-card.emergency span{color:#ffe7eb}
.mobile-bottom-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);
  width:min(760px,100%);
  background:rgba(5,20,32,.96);
  border-top:1px solid rgba(255,255,255,.12);
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  z-index:50;
  backdrop-filter:blur(14px);
}
.mobile-bottom-nav a{
  text-decoration:none;color:#b9ccdb;
  text-align:center;font-size:.65rem;font-weight:800;
}
.mobile-bottom-nav a b{
  display:block;font-size:1.15rem;margin-bottom:2px;
}
.mobile-bottom-nav a.active{color:#fff}
.mobile-privacy-note{
  margin-top:16px;
  padding:12px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  color:#cbdde9;
  font-size:.75rem;
  line-height:1.45;
}
@media(max-width:520px){
  .mobile-app-shell{padding:12px}
  .mobile-app-grid{grid-template-columns:repeat(2,1fr)}
  .mobile-app-status{grid-template-columns:repeat(3,1fr)}
  .mobile-app-card{padding:13px;min-height:122px}
}

/* V22 Signaturen, Quiz, Checklisten */
.signature-box{background:#fff;border:2px dashed #a9bdcb;border-radius:14px;padding:8px;margin:8px 0 14px}.signature-pad{display:block;width:100%;height:220px;touch-action:none;background:#fff;border-radius:10px}.digital-signature{display:flex;flex-direction:column;gap:4px;padding:10px;background:#fff;border:1px solid #dce7ef;border-radius:12px}.digital-signature img{max-width:320px;max-height:120px;object-fit:contain;object-position:left center}.digital-signature span{font-size:.75rem;color:#6d7d8a}.check-status-buttons{display:flex;gap:5px;flex-wrap:wrap}.check-status-buttons label{padding:6px 8px;border-radius:9px;background:#edf4f8;font-size:.72rem;font-weight:800}.check-status-buttons input{width:auto;margin-right:3px}.quiz-option{display:block;background:#f6f9fb;border:1px solid #dce7ef;border-radius:11px;padding:11px;margin:7px 0;cursor:pointer}.quiz-option input{width:auto}.quiz-result{padding:12px;border-radius:12px;margin:9px 0}.quiz-ok{background:#e9f8ef;border:1px solid #b9e3c8}.quiz-bad{background:#fff0f2;border:1px solid #efbcc5}.checklist-row-v22{grid-template-columns:1.3fr 1.1fr .65fr 1fr}@media(max-width:760px){.checklist-row-v22{grid-template-columns:1fr}.signature-pad{height:190px}}


/* V23 RTW Patienten-/Vitaldokumentation */
.signal-choice{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:12px
}
.signal-choice label{
  background:#fff1f3;border:1px solid #efc1c8;border-radius:12px;padding:10px 12px;font-size:.83rem;font-weight:850;color:#86192a
}
.signal-choice input{width:auto;margin-right:5px}
.vital-form-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px
}
.vital-table{width:100%;border-collapse:collapse;font-size:.72rem}
.vital-table th,.vital-table td{border:1px solid #dce6ed;padding:6px;vertical-align:top}
.vital-table th{background:#0e3d60;color:#fff;font-size:.67rem}
.abcde-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:11px}
.abcde-card{background:#f5f9fc;border:1px solid #dce7ef;border-radius:12px;padding:11px;min-height:110px}
.abcde-card strong{color:#0e3d60}.abcde-card p{font-size:.77rem;line-height:1.4;margin:7px 0 0}
.signal-on strong{color:#b11930}
@media(max-width:1100px){.vital-form-grid{grid-template-columns:repeat(3,1fr)}.abcde-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.vital-form-grid{grid-template-columns:repeat(2,1fr)}.abcde-grid{grid-template-columns:1fr}.vital-table{font-size:.64rem}}
@media print{.vital-table{font-size:6.7pt}.abcde-card{min-height:0}.signal-choice{display:none}}

/* V23 Kategorien im Mitarbeiterbereich */
.internal-nav-category{
  margin:16px 10px 6px;
  padding:7px 9px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#8fc9ef;
  font-size:.64rem;
  line-height:1.2;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:900;
}
.internal-sidebar .internal-nav-category:first-of-type{margin-top:6px;border-top:0}

.internal-category-block{margin:18px 0 24px}
.internal-category-head{display:flex;align-items:center;gap:11px;margin:0 0 10px}
.internal-category-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0e5f97;color:#fff;font-size:.72rem;font-weight:900}
.internal-category-head strong{display:block;color:#12344f}
.internal-category-head small{display:block;color:#718392;font-size:.74rem;margin-top:2px}

/* V24 Erweiterter RTW-Bogen */
.check-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.check-chip{display:flex;align-items:center;gap:6px;background:#f5f9fc;border:1px solid #dbe7ef;border-radius:10px;padding:9px;font-size:.78rem;font-weight:750}
.check-chip input,.toggle-line input{width:auto}
.toggle-line{display:flex;align-items:center;gap:7px;font-weight:850}
@media(max-width:900px){.check-chip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.check-chip-grid{grid-template-columns:1fr}}
@media print{.protocol-page-break{break-before:page;page-break-before:always}}

/* V26 Leitstelle, GPS, Funk, Uniform */
.dispatch-map{height:62vh;min-height:480px;border-radius:18px;overflow:hidden;border:1px solid #c9d9e5;box-shadow:0 18px 46px rgba(0,0,0,.15);background:#e8f0f5}
.map-legend{display:flex;gap:12px;flex-wrap:wrap;padding:10px 2px;font-size:.76rem;color:#536a7b}
.gps-control-card{margin-top:14px;padding:16px;border-radius:15px;background:#f3f8fc;border:1px solid #d5e4ee;display:flex;align-items:center;justify-content:space-between;gap:15px}
.gps-control-card strong,.gps-control-card span{display:block}.gps-control-card span{font-size:.76rem;color:#6e8190;margin-top:4px}
.fleet-template-grid,.fleet-live-grid,.radio-device-grid,.air-rescue-grid,.uniform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fleet-template-card,.fleet-live-card,.radio-device-card,.air-rescue-card,.uniform-item-card{background:#fff;border:1px solid #dce7ef;border-radius:15px;padding:14px;box-shadow:0 10px 25px rgba(12,43,65,.06)}
.fleet-template-card strong,.fleet-template-card span,.fleet-template-card small{display:block}.fleet-template-card strong{font-size:1rem;color:#0d5b8f}.fleet-template-card span{font-weight:800;margin-top:4px}.fleet-template-card small{color:#758797;margin-top:5px}
.fleet-live-card{display:flex;flex-direction:column;gap:7px}.fleet-live-card strong,.fleet-live-card small{display:block}.fleet-live-status{font-size:.78rem;font-weight:900;background:#edf6fb;border-radius:8px;padding:6px 8px}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#7f919e}.status-anfahrt,.status-alarmiert{background:#df7d00}.status-einsatzort,.status-patiententransport{background:#c6223b}.status-frei_wache,.status-frei_funk{background:#16844b}
.air-rescue-card{display:grid;grid-template-columns:70px 1fr;gap:14px}.air-rescue-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:2rem;background:#eef7fc}.air-rescue-card h2{margin:0;color:#0d3e61}.air-rescue-card p{font-size:.82rem}
.radio-device-head{display:flex;gap:10px;align-items:center}.radio-device-head>span{font-size:1.5rem}.radio-device-head strong,.radio-device-head small{display:block}.radio-status{display:inline-block;margin:10px 0;padding:6px 9px;background:#eef6fb;border-radius:9px;font-size:.72rem;font-weight:900}
.uniform-item-card{display:flex;flex-direction:column;gap:7px}.uniform-check{display:flex;gap:7px;align-items:flex-start}.uniform-check input{width:auto}.uniform-item-card span,.uniform-item-card small{color:#667d8d;font-size:.73rem}
.order-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.order-head strong,.order-head span{display:block}.status-pill{background:#eaf4fb;border-radius:999px;padding:7px 11px;font-size:.74rem;font-weight:900}
.inline-stack{display:flex;flex-direction:column;gap:5px;min-width:180px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
@media(max-width:1050px){.fleet-template-grid,.fleet-live-grid,.radio-device-grid,.uniform-grid{grid-template-columns:repeat(2,1fr)}.air-rescue-grid{grid-template-columns:1fr}}
@media(max-width:650px){.fleet-template-grid,.fleet-live-grid,.radio-device-grid,.uniform-grid{grid-template-columns:1fr}.gps-control-card{align-items:stretch;flex-direction:column}.dispatch-map{height:55vh;min-height:380px}}

/* V27 Komplett-Fuhrpark & BOS-Monitor */
.fleet-public-grid,.fleet-catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fleet-public-card,.fleet-catalog-card{background:#fff;border:1px solid #dce7ef;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(10,44,66,.07)}
.fleet-public-card img,.fleet-catalog-card img,.fleet-template-image,.fleet-live-image{display:block;width:100%;aspect-ratio:300/210;object-fit:contain;background:#f7fafc}
.fleet-public-body,.fleet-catalog-card>div{padding:12px}.fleet-public-body>span,.fleet-catalog-card span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#0b6ea8}.fleet-public-body h3,.fleet-catalog-card h3{margin:5px 0 0;font-size:.94rem}.fleet-catalog-card strong{display:block;margin-top:6px;color:#163f59}
.fleet-template-image{border-radius:10px;margin-bottom:8px}.fleet-live-image{border-radius:10px;margin-bottom:8px;max-height:135px}
.bos-monitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bos-event-card{background:#fff;border:1px solid #dce7ef;border-radius:15px;padding:13px;box-shadow:0 9px 24px rgba(10,44,66,.06)}.bos-event-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.bos-event-top strong{font-size:.72rem;background:#eaf4fb;color:#075b91;padding:5px 8px;border-radius:999px}.bos-event-top span{font-size:.68rem;color:#758795}.bos-event-card h3{font-size:.95rem;margin:10px 0 5px}.bos-event-card p{font-size:.78rem}
@media(max-width:1100px){.fleet-public-grid,.fleet-catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.fleet-public-grid,.fleet-catalog-grid,.bos-monitor-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.fleet-public-grid,.fleet-catalog-grid,.bos-monitor-grid{grid-template-columns:1fr}}

.radio-device-image{width:100%;height:145px;object-fit:contain;background:#f7fafc;border-radius:10px;margin-bottom:9px}

.air-rescue-image{width:100%;max-width:170px;aspect-ratio:360/230;object-fit:contain;border-radius:12px;background:#f6fafc}

.tracker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tracker-card{background:#fff;border:2px solid #dce7ef;border-radius:16px;padding:14px;box-shadow:0 9px 26px rgba(10,44,66,.06)}.tracker-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tracker-head span{font-size:.68rem;font-weight:900;border-radius:999px;padding:5px 8px}.tracker-online{border-color:#68c990}.tracker-online .tracker-head span{background:#e4f7ec;color:#126c3b}.tracker-stale{border-color:#e8bf58}.tracker-stale .tracker-head span{background:#fff3cf;color:#8a6200}.tracker-offline{border-color:#e28a96}.tracker-offline .tracker-head span{background:#fde8eb;color:#9a2031}@media(max-width:900px){.tracker-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.tracker-grid{grid-template-columns:1fr}}

/* V29 Bewerbung Rettungssanitäter / Notfallsanitäter */
.career-nav-link{background:linear-gradient(135deg,#b81f35,#d52b43)!important;color:#fff!important;border-radius:10px;padding:8px 12px!important}
.career-btn{background:#fff!important;color:#a5182d!important;border:1px solid rgba(255,255,255,.7)!important}
.home-career-section{padding:60px 0;background:linear-gradient(180deg,#f6fafc,#eaf4f9)}
.home-career-card{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;background:linear-gradient(135deg,#082f4c,#0b6da7);border-radius:26px;padding:34px;color:#fff;box-shadow:0 24px 60px rgba(5,45,72,.2);overflow:hidden}
.home-career-copy .kicker{color:#9bdcff}.home-career-copy h2{font-size:2rem;line-height:1.08;margin:7px 0 12px;color:#fff}.home-career-copy p{max-width:720px;color:#e7f4fa}.home-career-media img{width:100%;display:block;border-radius:18px}
.career-badges{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.career-badges span{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);font-size:.78rem;font-weight:800}
.career-hero{padding:58px 0;background:linear-gradient(135deg,#052f4d,#0b699f);color:#fff}.career-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.career-hero h1{color:#fff;font-size:clamp(2.1rem,5vw,4rem);line-height:1.02;margin:8px 0 14px}.career-hero .lead{color:#ddecf5}.career-hero-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);padding:12px;border-radius:24px}.career-hero-card img{display:block;width:100%;border-radius:18px}
.application-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.application-form{min-width:0}.application-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:18px}.application-info-card{background:#fff;border:1px solid #dce8ef;border-radius:16px;padding:18px;box-shadow:0 10px 28px rgba(8,43,66,.06)}.application-info-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8f4fa;font-size:1.25rem}.application-info-card h2,.application-info-card h3{margin:10px 0 8px}.application-role{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid #e9eff3}.application-role span{color:#697e8b;font-size:.76rem}.application-consent{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;line-height:1.5}.application-consent input{width:auto;margin-top:4px}.application-submit{margin-top:14px;width:100%;font-size:1rem;padding:13px 16px}
.application-admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0 20px}.application-admin-stat{background:#fff;border:1px solid #dce7ee;border-radius:13px;padding:12px}.application-admin-stat span,.application-admin-stat strong{display:block}.application-admin-stat span{font-size:.7rem;color:#718491;text-transform:uppercase;font-weight:800}.application-admin-stat strong{font-size:1.45rem;margin-top:5px}
.application-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.application-text{white-space:normal;line-height:1.6;background:#f7fafc;border:1px solid #e0e9ef;border-radius:12px;padding:14px}.danger-zone{border:1px solid #efb7bd;background:#fff7f8}
.btn.danger{background:#b42335;color:#fff}
@media(max-width:1000px){.home-career-card,.career-hero-grid{grid-template-columns:1fr}.home-career-media,.career-hero-card{max-width:560px}.application-layout,.application-admin-layout{grid-template-columns:1fr}.application-sidebar{position:static}.application-admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.home-career-card{padding:22px}.home-career-copy h2{font-size:1.55rem}.application-admin-stats{grid-template-columns:repeat(2,1fr)}}

/* V29.1 Bewerbung fest in der Hauptnavigation */
.nav .career-nav-link{
    background:linear-gradient(135deg,#b51e34,#d62b43)!important;
    color:#fff!important;
    border-radius:10px;
    padding:9px 13px!important;
    font-weight:900!important;
    box-shadow:0 7px 18px rgba(181,30,52,.22);
}
.nav .career-nav-link:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(181,30,52,.3);
}
.home-application-shortcut{
    padding:18px 0 0;
    background:#f6fafc;
}
.home-application-shortcut-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#fff;
    border:1px solid #d9e7ef;
    border-left:5px solid #c5253c;
    border-radius:16px;
    padding:16px 18px;
    box-shadow:0 10px 28px rgba(8,43,66,.07);
}
.home-application-shortcut-copy{
    display:flex;
    align-items:center;
    gap:12px;
}
.home-application-shortcut-icon{
    width:46px;
    height:46px;
    border-radius:13px;
    display:grid;
    place-items:center;
    background:#fdecef;
    font-size:1.35rem;
}
.home-application-shortcut-copy strong,
.home-application-shortcut-copy span{
    display:block;
}
.home-application-shortcut-copy strong{
    color:#123d59;
    font-size:1rem;
}
.home-application-shortcut-copy span{
    color:#6c7f8b;
    font-size:.78rem;
    margin-top:3px;
}
@media(max-width:700px){
    .home-application-shortcut-card{
        align-items:stretch;
        flex-direction:column;
    }
    .home-application-shortcut-card .btn{
        width:100%;
        text-align:center;
    }
}
