.psa{--psa-gold:#b79b65;--psa-gold-d:#8a7140;--psa-bg:#f6f2ea;--psa-line:#ddd3c1;--psa-ink:#1f1f1f;--psa-mut:#666;--psa-err:#b3261e;color:var(--psa-ink);font-size:16px;line-height:1.5;max-width:860px;margin:0 auto}
.psa *{box-sizing:border-box}
.psa [hidden]{display:none!important}
.psa-preview{background:#fff4d6;border:1px solid #e3c46c;border-radius:14px;padding:12px 16px;margin-bottom:16px;font-size:14px}
.psa-intro p{margin:0 0 8px}
.psa-small{font-size:13px;color:var(--psa-mut)}
.psa-req{color:var(--psa-err)}
.psa-nav{display:flex;gap:6px;list-style:none;margin:18px 0 22px;padding:0;counter-reset:none}
.psa-nav li{flex:1;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:var(--psa-bg);color:var(--psa-mut);font-size:14px;font-weight:600;margin:0;min-width:0}
.psa-nav li::before{content:none}
.psa-nav-n{flex:0 0 26px;height:26px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}
.psa-nav-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.psa-nav li.is-active{background:var(--psa-gold);color:#fff}
.psa-nav li.is-active .psa-nav-n{color:var(--psa-gold-d)}
.psa-nav li.is-done{color:var(--psa-gold-d)}
.psa-nav li.is-done .psa-nav-n{background:var(--psa-gold);color:#fff}
.psa-h2{font-size:24px;line-height:1.3;margin:0 0 14px;font-weight:600}
.psa-sec{border:0;margin:0 0 18px;padding:22px;background:var(--psa-bg);border-radius:24px;min-width:0}
.psa-h3{font-size:18px;font-weight:600;padding:0;margin:0 0 6px;float:left;width:100%}
.psa-h3+*{clear:both}
.psa-hint{margin:0 0 12px;color:var(--psa-mut);font-size:14px;clear:both}
.psa-grid{display:flex;flex-wrap:wrap;gap:14px 16px;clear:both}
.psa-f{min-width:0}
.psa-w-full{flex:1 1 100%}
.psa-w-half{flex:1 1 calc(50% - 8px)}
.psa-w-third{flex:1 1 calc(33.333% - 11px)}
.psa-w-twothird{flex:1 1 calc(66.666% - 6px)}
.psa-l{display:block;font-size:14px;font-weight:600;margin:0 0 5px}
.psa-in{width:100%;padding:11px 13px;border:1px solid var(--psa-line);border-radius:12px;background:#fff;font:inherit;color:inherit;min-height:46px}
.psa-in:focus{outline:2px solid var(--psa-gold);outline-offset:1px;border-color:var(--psa-gold)}
textarea.psa-in{min-height:84px;resize:vertical}
.psa-opts{display:flex;flex-wrap:wrap;gap:8px}
.psa-chip{position:relative;display:inline-flex;margin:0;cursor:pointer}
.psa-chip input,.psa-seg input{position:absolute;opacity:0;width:1px;height:1px}
.psa-chip span{display:inline-block;padding:9px 15px;border:1px solid var(--psa-line);border-radius:999px;background:#fff;font-size:15px;line-height:1.3}
.psa-chip input:checked+span{background:var(--psa-gold);border-color:var(--psa-gold);color:#fff}
.psa-chip input:focus-visible+span,.psa-seg input:focus-visible+span{outline:2px solid var(--psa-gold-d);outline-offset:2px}
.psa-ynbox{background:#fff;border-radius:18px;padding:6px 14px}
.psa-ynhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--psa-line)}
.psa-h4{font-weight:600}
.psa-allno{background:none;border:1px solid var(--psa-gold);color:var(--psa-gold-d);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.psa-allno:hover{background:var(--psa-bg)}
.psa-ynrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eee6d8}
.psa-ynrow:last-child{border-bottom:0}
.psa-ynsingle{background:#fff;border-radius:18px;padding:10px 14px;border:0}
.psa-ynq{flex:1;font-size:15px}
.psa-seg{display:inline-flex;flex:0 0 auto;border:1px solid var(--psa-line);border-radius:999px;overflow:hidden;background:#fff}
.psa-seg label{margin:0;cursor:pointer;position:relative}
.psa-seg span{display:block;padding:7px 16px;font-size:14px;min-width:58px;text-align:center}
.psa-seg label+label span{border-left:1px solid var(--psa-line)}
.psa-seg input[value=ja]:checked+span{background:var(--psa-gold);color:#fff}
.psa-seg input[value=nein]:checked+span{background:#5f5f5f;color:#fff}
.psa-meds{background:#fff;border-radius:18px;padding:12px}
.psa-medhead,.psa-medrow{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.4fr) repeat(4,minmax(0,.7fr)) 34px;gap:6px;align-items:center}
.psa-medhead{font-size:12px;color:var(--psa-mut);font-weight:600;padding:0 2px 4px}
.psa-medrow{margin-bottom:6px}
.psa-medrow .psa-in{padding:8px 9px;min-height:40px;font-size:15px}
.psa-medrow .psa-in.psa-dose{text-align:center;padding:8px 4px}
.psa-delmed{border:0;background:none;color:var(--psa-mut);font-size:22px;line-height:1;cursor:pointer;padding:0}
.psa-consent{display:flex;gap:12px;align-items:flex-start;background:#fff;border-radius:16px;padding:12px 14px;margin:0;cursor:pointer;font-size:15px}
.psa-consent input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:var(--psa-gold)}
.psa-info{font-size:14px;background:#fff;border-radius:16px;padding:12px 16px}
.psa-info p{margin:0 0 8px}.psa-info p:last-child{margin:0}
.psa-sigwrap{position:relative;background:#fff;border:1px dashed var(--psa-gold);border-radius:16px;aspect-ratio:1000/350;touch-action:none}
.psa-sig,.psa-sigbig{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.psa-sighint{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:#aaa;font-size:13px;pointer-events:none}
.psa-sigwrap.has-sig .psa-sighint{display:none}
.psa-sigbtns{display:flex;gap:18px;flex-wrap:wrap;margin-top:6px}
.psa-link{background:none;border:0;padding:0;color:var(--psa-gold-d);text-decoration:underline;font:inherit;font-size:14px;cursor:pointer}
.psa-buttons{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
.psa-stepinfo{flex:1;text-align:center;color:var(--psa-mut);font-size:14px}
.psa-btn{background:var(--psa-gold);color:#fff;border:1px solid var(--psa-gold);border-radius:999px;padding:12px 26px;font:inherit;font-weight:600;cursor:pointer;min-height:48px}
.psa-btn:hover{background:var(--psa-gold-d);border-color:var(--psa-gold-d)}
.psa-btn[disabled]{opacity:.6;cursor:wait}
.psa-btn-ghost{background:#fff;color:var(--psa-gold-d)}
.psa-btn-ghost:hover{background:var(--psa-bg);color:var(--psa-gold-d)}
.psa-addmed{margin-top:4px;min-height:40px;padding:8px 16px;font-size:14px}
.psa-errors{background:#fbeceb;border-left:5px solid var(--psa-err);border-radius:14px;padding:12px 16px;margin:0 0 14px;font-size:14px}
.psa-errors ul{margin:6px 0 0 18px;padding:0}
.psa-f.is-err .psa-in,.psa-f.is-err .psa-seg,.psa-f.is-err .psa-sigwrap{border-color:var(--psa-err)}
.psa-f.is-err>.psa-l,.psa-f.is-err .psa-consent,.psa-ynrow.is-err .psa-ynq{color:var(--psa-err)}
.psa-ynrow.is-err .psa-seg{border-color:var(--psa-err)}
.psa-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.psa-done{background:var(--psa-bg);border-radius:24px;padding:26px}
.psa-done p{margin:0 0 10px}
.psa-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100000;display:flex;align-items:center;justify-content:center;padding:12px}
.psa-modal-box{background:#fff;border-radius:18px;padding:14px;width:min(980px,100%);height:min(560px,100%);display:flex;flex-direction:column;gap:10px}
.psa-modal-t{margin:0;font-weight:600}
.psa-sigbig{flex:1;border:1px dashed var(--psa-gold);border-radius:12px;min-height:0}
.psa-modal .psa-buttons{justify-content:flex-end;margin:0}
@media (max-width:640px){
.psa{font-size:16px}
.psa-sec{padding:16px 14px;border-radius:20px}
.psa-w-half,.psa-w-third,.psa-w-twothird{flex-basis:100%}
.psa-nav{gap:4px}
.psa-nav li{padding:8px;justify-content:center}
.psa-nav li:not(.is-active) .psa-nav-t{display:none}
.psa-nav li.is-active{flex:4}
.psa-ynrow{gap:10px}
.psa-ynq{font-size:15px}
.psa-seg span{padding:7px 12px;min-width:48px}
.psa-ynhead{align-items:flex-start;flex-direction:column;gap:6px}
.psa-medhead{display:none}
.psa-medrow{grid-template-columns:repeat(4,minmax(0,1fr)) 30px;background:var(--psa-bg);border-radius:12px;padding:8px;margin-bottom:8px}
.psa-medrow .psa-mname{grid-column:1/5}
.psa-medrow .psa-mstr{grid-column:1/5;grid-row:2}
.psa-medrow .psa-dose{grid-row:3}
.psa-medrow .psa-delmed{grid-column:5;grid-row:1}
.psa-stepinfo{order:-1;flex-basis:100%;text-align:left}
.psa-buttons .psa-btn{flex:1}
}