.psr-form{max-width:760px}
.psr-section{margin:1.25rem 0;padding:1rem;border:1px solid #ddd;border-radius:.25rem;background:#fff}
.psr-section h3{margin:0 0 .5rem 0;color:#1a1a1a;font-size:1.15rem}
.psr-section-hint{margin:.25rem 0 .75rem 0;color:#555;font-size:.95rem;line-height:1.5}
.psr-egk-hint{background:#fff3cd;border-left:4px solid #ffc107;padding:.75rem;margin:.5rem 0;border-radius:.5rem;color:#856404;font-weight:500}
.psr-label{display:block;margin:.75rem 0 .5rem 0;font-weight:600;color:#1a1a1a;font-size:1rem;}
.psr-input{width:100%;max-width:100%;padding:.65rem .75rem;border:1px solid #c3c4c7;border-radius:.5rem;font-size:1rem;transition:border-color .2s ease}
.psr-input:focus{border-color:#2271b1;outline:2px solid rgba(34,113,177,.1);outline-offset:0}
.psr-required{color:#b32d2e;font-weight:700;margin-left:.15rem}
.psr-checkbox-row{margin:.75rem 0}
.psr-checkbox{display:flex;gap:.6rem;align-items:flex-start;padding:.85rem;border:1px solid #d4d4d4;border-radius:.75rem;background:#f6f8ff;transition:background-color .2s ease}
.psr-checkbox:hover{background:#f0f4ff}
.psr-checkbox input{margin-top:.2rem;transform:scale(1.35);cursor:pointer}
.psr-checkbox-label{display:flex;gap:.6rem;align-items:center;padding:.75rem;border:1px solid #d4d4d4;border-radius:.5rem;background:#f6f8ff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;margin:.75rem 0}
.psr-checkbox-label:hover{background:#f0f4ff;border-color:#2271b1}
.psr-checkbox-label input[type="checkbox"]{transform:scale(1.25);cursor:pointer;margin:0}
.psr-checkbox-label span{font-weight:600;color:#1a1a1a;cursor:pointer}
.psr-submit{padding:.75rem 1.5rem;border-radius:.6rem;background:#2271b1;color:#fff;font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:background-color .2s ease}
.psr-submit:hover{background:#135e96}
.psr-submit:active{background:#0a4a7a}
.psr-notice{padding:.75rem 1rem;border-radius:.75rem;margin:1rem 0}
.psr-notice-success{border:1px solid #b6e1b6;background:#f1fbf1;color:#0a6e0a}
.psr-notice-error{border:1px solid #e1b6b6;background:#fdf3f3;color:#9e2b2e}
.psr-global-error{font-weight:700}
.psr-field-error{margin:.45rem 0 0 0;color:#b32d2e;font-weight:600;font-size:.9rem}
.psr-invalid{border-color:#b32d2e !important; box-shadow:0 0 0 2px rgba(179,45,46,.12)}

/* Improved medication display */
.psr-meds{display:flex;flex-direction:column;gap:.75rem}
.psr-med-card{border:1px solid #e5e5e5;border-radius:.75rem;background:#f6f8ff;padding:.7rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}
.psr-med-title{font-size:1.05rem;font-weight:600;color:#1a1a1a}
.psr-med-body{display:flex;flex-direction:column;gap:.5rem;font-weight:600}
.psr-med-grid{display:flex;flex-wrap:wrap;gap:.5rem;background:#fff;color:#1a1a1a;padding:.45rem .75rem;border-radius:.5rem;cursor:pointer}

/* Repeater (gemeinsame Struktur für Rezepte und Überweisungen) */
.psr-repeater{display:flex;flex-direction:column;gap:.75rem}
.psr-card{border:1px solid #e5e5e5;border-radius:.75rem;background:#f6f8ff;padding:.9rem;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .2s ease}
.psr-card:hover{box-shadow:0 2px 5px rgba(0,0,0,.08)}
.psr-card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}
.psr-card-title{font-size:1.05rem;font-weight:700;color:#1a1a1a}
.psr-card-body{display:flex;flex-direction:column;gap:.75rem}
.psr-card-remove{border:1px solid #b32d2e;background:transparent;color:#b32d2e;border-radius:.25rem;padding:.35rem .65rem;font-size:.85rem;cursor:pointer;font-weight:600;transition:all .2s ease}
.psr-card-remove:hover{background:#b32d2e;color:#fff;transform:translateY(-1px)}
.psr-repeater-add{margin-top:.5rem;border:1px solid #2271b1;background:transparent;color:#2271b1;border-radius:.5rem;padding:.5rem .85rem;font-size:.95rem;cursor:pointer;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:.35rem}
.psr-repeater-add:hover{background:#2271b1;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px rgba(34,113,177,.2)}
.psr-repeater-add::before{content:"✚";font-size:1.1em}
.psr-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.psr-med-row{display:flex;gap:1rem;flex-wrap:wrap}
.psr-med-row > label{flex:1 1 220px;min-width:220px}
@media (max-width:480px){.psr-med-row{flex-direction:column}}
.psr-field-hint{margin:.25rem 0 0;color:#555;font-size:.85rem;line-height:1.4}

/* Better styling for specialty selection */
.psr-card--item .psr-card-body{gap:.5rem;}
.psr-card--item .psr-grid-2{gap:1rem;}
.psr-card--item .psr-grid-3{gap:1rem;}
.psr-card--item .psr-label{margin:.4rem 0 .25rem 0;}

/* Loading state for forms */
.psr-form.psr-submitting{opacity:.6;pointer-events:none}
.psr-form.psr-submitting .psr-submit::after{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-left:8px;
  border:2px solid #fff;
  border-radius:50%;
  border-top-color:transparent;
  animation:psr-spin .6s linear infinite;
}
@keyframes psr-spin{to{transform:rotate(360deg)}}

/* Accessibility improvements */
.psr-input:focus-visible,
.psr-submit:focus-visible,
.psr-repeater-add:focus-visible,
.psr-card-remove:focus-visible{
  outline:3px solid #2271b1;
  outline-offset:2px;
}

/* Screen reader only content */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border-width:0;
}
