:root{
  --bg:#f7f7f8;--card:#fff;--ink:#1f2a33;--muted:#585e61;--brand:#0ea5e9;--brand-ink:#075985;--ok:#84bb3c;--warn:#f59e0b;--danger:#ef4444;--ring:#93c5fd;
  --radius:16px; --btn:#84bb3c;--btn-hover:#76a735;--btn-active:#6da12d;
}
.apicare-wrap{max-width:980px;margin:0 auto;padding:0 16px 24px}
.apicare-card{background:var(--card);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.04);padding:16px}
.apicare-header{text-align:center;margin:12px 0 16px}
.apicare-header h2 {
  color: #595959 !important;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  margin: 0 0 6px;
}
.apicare-header p{margin:0;color:var(--muted)}
.apicare-steps{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}
.apicare-step{flex:1;min-width:160px;background:#e8f3ff;color:#595959;padding:8px 10px;border-radius:12px;font-size:.9rem;display:flex;align-items:center;gap:8px}
.apicare-step.done{background:#C2DD9E;color:#595959}
.apicare-step.current{outline:3px solid var(--ring)}
.apicare-step small{opacity:.7}
.apicare-form{display:grid;gap:16px}
.apicare-fieldset{border:0;padding:0;margin:0}
.apicare-two{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.apicare-label{font-weight:600;font-size:.95rem;color:var(--ink)}
.apicare-hint{color:var(--muted);font-size:.85rem;margin-top:4px}
.apicare-input, .apicare-select, .apicare-textarea{width:100%;padding:10px 12px;border:1px solid #d7dbe0;border-radius:12px;background:#fff;font:inherit}
.apicare-textarea{min-height:90px;resize:vertical}
.apicare-input:focus, .apicare-select:focus, .apicare-textarea:focus{outline:3px solid var(--ring);border-color:transparent}
.apicare-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.apicare-btn{border:0;border-radius:12px;padding:.7rem 1rem;cursor:pointer;background:#1f2a33;color:#fff}
.apicare-btn.primary{background:var(--btn)!important;color:#fff!important}
.apicare-btn.secondary{background:var(--btn)!important;color:#fff!important}
.apicare-btn:hover{background:var(--btn-hover)!important}
.apicare-btn:active{background:var(--btn-active)!important}
.apicare-signpad{background:#fff;border:1px solid #d7dbe0;border-radius:12px;touch-action:none;width:100%;height:180px;display:block;box-sizing:border-box}
.apicare-sign-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.apicare-upload-line{padding:12px 0;border-bottom:1px solid #e5e7eb}
.apicare-upload-line:last-child{border-bottom:0}
.apicare-upload-label{width:100%;max-width:360px;font-weight:600}
.apicare-file-list{color:#333;margin-top:6px;font-size:.9rem}
.apicare-summary table{width:100%;border-collapse:separate;border-spacing:0}
.apicare-summary td{padding:8px;vertical-align:top}
.apicare-summary tr:nth-child(odd){background:#f5f7fa}
.apicare-summary td.key{width:42%;font-weight:600;border-right:1px solid #e5e7eb}
.apicare-error{outline:3px solid #fca5a5;border-color:transparent}
.apicare-note{font-size:.9rem;color:var(--muted);margin-top:6px}
.apicare-success{background:#85bb3c;border:1px solid #85bb3c;color:#fff;border-radius:12px;padding:10px;margin-top:10px}
.apicare-fail{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;border-radius:12px;padding:10px;margin-top:10px}


/* Heading color as requested */
.apicare-header h2 {
  color: #595959 !important;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  margin: 0 0 6px;
}


/* Strukturierte Darstellung für Versorgungsleistungen */
.apicare-groups{display:grid;gap:14px}
.apicare-group-title{font-weight:700;color:#595959;margin-bottom:6px}
.apicare-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:560px){.apicare-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.apicare-grid{grid-template-columns:repeat(3,1fr)}}
.apicare-grid label{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e6e9ee;background:#fff;border-radius:12px;line-height:1.35}
.apicare-grid input[type="checkbox"]{margin-top:2px;flex:0 0 auto}


/* Card-Rahmen für einzelne Leistungen (mobilfreundlich) */
.apicare-grid label{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  line-height:1.4;
}
.apicare-grid input[type="checkbox"]{margin-top:3px;transform:translateY(1px)}
/* Checked-Highlight */
.apicare-grid label:has(input[type="checkbox"]:checked){
  border-color:#85bb3c;
  box-shadow:0 0 0 3px rgba(133,187,60,.18);
  background:#f7fbf1;
}
/* Tastaturfokus sichtbar */
.apicare-grid label:has(input[type="checkbox"]:focus-visible){
  outline:3px solid rgba(147,197,253,.8);
  outline-offset:2px;
}
/* Kompaktere Typo auf kleinen Screens */
@media (max-width:420px){
  .apicare-grid label{padding:10px 12px;font-size:.95rem}
}


/* === Better structure & cards for Versorgungsleistungen (v2) === */
.apicare-groups{display:grid;gap:16px}
.apicare-group{background:#f8faf7;border:1px solid #e2e8f0;border-radius:14px;padding:12px}
.apicare-group-title{font-weight:700;color:#595959;margin:0 0 10px 0}

.apicare-groups .apicare-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:560px){.apicare-groups .apicare-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.apicare-groups .apicare-grid{grid-template-columns:repeat(3,1fr)}}

.apicare-groups .apicare-grid > label{
  display:flex !important;
  width:100%;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  line-height:1.4;
  margin:0;
  white-space:normal;
}

.apicare-groups .apicare-grid > label input[type="checkbox"]{
  margin-top:3px;flex:0 0 auto;
}

.apicare-groups .apicare-grid > label.is-checked{
  border-color:#85bb3c;
  background:#f6fbef;
  box-shadow:0 0 0 3px rgba(133,187,60,.18);
}

@media (hover:hover){
  .apicare-groups .apicare-grid > label:hover{
    border-color:#cbd5e1;
    box-shadow:0 1px 6px rgba(16,24,40,.08);
  }
}

@media (max-width:420px){
  .apicare-groups .apicare-grid > label{padding:10px 12px;font-size:.95rem}
}


/* === Structured cards for Versorgungsleistungen (v3) === */
.apicare-group{background:#f8faf7;border:1px solid #e3e7ee;border-radius:14px;padding:12px}
.apicare-group legend.apicare-group-title{font-weight:800;color:#595959;margin:0 0 10px 0;padding:0 4px}
.apicare-group-text{background:#f8faf7;border:1px solid #e3e7ee;border-radius:14px;padding:12px}

.apicare-cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:560px){.apicare-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.apicare-cards{grid-template-columns:repeat(3,1fr)}}

.apicare-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e6eaef;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);line-height:1.35;white-space:normal}
.apicare-card input[type="checkbox"]{margin-top:3px;flex:0 0 auto}
.apicare-card.is-checked{border-color:#85bb3c;background:#f6fbef;box-shadow:0 0 0 3px rgba(133,187,60,.18)}
@media (hover:hover){.apicare-card:hover{border-color:#cbd5e1;box-shadow:0 1px 6px rgba(16,24,40,.08)}}
@media (max-width:420px){.apicare-card{padding:10px 12px;font-size:.95rem}}


/* Inline Layout-Fix Backup (falls <style> block entfernt wird) */
.apicare-card{display:flex;flex-direction:column;align-items:stretch;width:100%}
.apicare-steps{display:flex;flex-wrap:wrap;gap:8px;width:100%;margin:8px 0 16px}
.apicare-form{display:block;width:100%;clear:both}
