/* HM-i Umsetzungsprofil – Frontend. Alles im Scope .uwp */
.uwp{--ground:#fff;--alt:#F5F5F8;--ink:#10201F;--soft:#465956;--line:#D3E0DC;--teal:#007078;--teal-deep:#004A4F;--sea:#003236;--mint:#E3F4F2;--violet:#4C3E80;--violet-soft:#EFEBF8;--lav:#B8A9EE;--warn:#8A5A00;--dev:#B8860B;--dev-soft:#FBF3DF;--shadow:0 1px 2px rgba(16,32,31,.06),0 8px 24px rgba(16,32,31,.07);
color:var(--ink);font-size:1.0625rem;line-height:1.65;max-width:58rem;margin:0 auto;container-type:inline-size;container-name:uwp}
.uwp *,.uwp *::before,.uwp *::after{box-sizing:border-box}
.uwp p{margin:0 0 .9rem}
.uwp h2,.uwp h3{color:var(--ink);margin:0;line-height:1.2;text-wrap:balance;font-weight:700}
.uwp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.uwp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.uwp-loading{padding:2rem;text-align:center;color:var(--soft)}

.uwp-card{background:var(--ground);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,2.5rem);margin:0 0 1.5rem}
.uwp-card>*,.uwp-res-grid>*,.uwp-keep-grid>*,.uwp-hl>*,.uwp-ifthen>*{min-width:0}
.uwp-soft{background:var(--alt);box-shadow:none}
.uwp-title{font-size:clamp(1.6rem,4.2vw,2.3rem);margin:.9rem 0 .4rem}
.uwp-subtitle{font-size:1.15rem;color:var(--teal-deep);font-weight:600;margin-bottom:1.4rem!important}
.uwp-h{font-size:clamp(1.35rem,3.2vw,1.75rem);margin:.6rem 0 .9rem}
.uwp-muted{color:var(--soft)}
.uwp-emph{font-weight:700;color:var(--teal-deep)}

.uwp-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.uwp-pill{display:inline-flex;align-items:center;flex-wrap:wrap;padding:.4rem .95rem;border-radius:999px;font-size:.9rem;font-weight:700;background:var(--mint);color:var(--teal-deep);border:1px solid #C5E6E2;line-height:1.35}
.uwp-pill b{color:var(--lav);padding:0 .3rem}
.uwp-pill-v{background:var(--violet-soft);color:var(--violet);border-color:#DCD4F1}
.uwp-pill-sea{background:var(--sea);color:#fff;border-color:var(--sea)}

.uwp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-weight:700;line-height:1.2;padding:.9rem 1.5rem;border-radius:.5rem;border:2px solid transparent;cursor:pointer;text-decoration:none!important;transition:background .15s,border-color .15s,color .15s}
.uwp-btn-primary{background:var(--violet);color:#fff!important}
.uwp-btn-primary:hover{background:#3d3168}
.uwp-btn-primary:disabled{background:#B9B3CF;cursor:not-allowed}
.uwp-btn-outline{background:#fff;color:var(--teal-deep)!important;border-color:var(--teal)}
.uwp-btn-outline:hover{background:var(--mint)}
.uwp-btn-ghost{background:transparent;color:var(--soft)!important;border-color:var(--line)}
.uwp-btn:focus-visible,.uwp-opt:focus-within,.uwp-chip:focus-within,.uwp textarea:focus,.uwp input:focus,.uwp summary:focus-visible{outline:3px solid var(--lav);outline-offset:2px}
.uwp-link{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}
.uwp-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;margin-top:1.6rem}
.uwp-actions-left{justify-content:flex-start}

.uwp-msg{margin:.6rem 0 0;font-size:.95rem;min-height:1.2em;color:var(--soft)}
.uwp-msg.is-warn{color:var(--warn);font-weight:600}
.uwp-msg.is-ok{color:var(--teal-deep);font-weight:600}
.uwp-alert{background:#FFF7E6;border:1px solid #F0D49B;color:#5C4200;border-radius:.75rem;padding:1rem 1.2rem;margin-bottom:1.5rem}

/* Start */
.uwp-dimprev{list-style:none;margin:1.2rem 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.uwp-dimprev li{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:.7rem;padding:.55rem .75rem;font-weight:600;font-size:.98rem;background:#fff}
.uwp-dimprev-n{flex:0 0 auto;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--sea);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.uwp-dimprev li:nth-child(even) .uwp-dimprev-n{background:var(--violet)}
.uwp-code{border:1px solid var(--line);border-radius:.75rem;padding:.9rem 1.1rem;margin:1.4rem 0;background:var(--alt)}
.uwp-code summary{cursor:pointer;font-weight:700;color:var(--teal-deep)}
.uwp-code-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.uwp-code-row input{flex:1 1 12rem;font:inherit;padding:.8rem 1rem;border:1px solid #B8C9C5;border-radius:.5rem;text-transform:uppercase;letter-spacing:.06em}
.uwp-groupok{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1.4rem 0;padding:.9rem 1.1rem;border-radius:.75rem;background:var(--mint)}
.uwp-consent{display:flex;gap:.75rem;align-items:flex-start;margin:1.2rem 0 0;font-size:.95rem;color:var(--soft);cursor:pointer}
.uwp-consent input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:0 0 auto;accent-color:var(--violet)}
.uwp-consent a{color:var(--teal)}
.uwp-consent-sm{font-size:.88rem;margin:.7rem 0}

/* Fortschritt und Aussagen */
.uwp-progress{height:.5rem;background:var(--alt);border-radius:999px;overflow:hidden}
.uwp-progress-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--violet));transition:width .3s}
.uwp-progress-txt{font-size:.88rem;color:var(--soft);margin:.5rem 0 1rem;font-weight:600}
.uwp-question{font-size:1.15rem;font-weight:700;color:var(--sea);margin-bottom:1.2rem!important}
.uwp-item{border:1px solid var(--line);border-radius:.85rem;padding:1.1rem 1.2rem 1.2rem;margin:0 0 1rem;min-width:0}
.uwp-item.is-missing{border-color:#D9A441;background:#FFFBF2}
.uwp-item legend{display:flex;gap:.75rem;align-items:flex-start;font-weight:600;font-size:1.05rem;padding:0;margin-bottom:.9rem;float:left;width:100%}
.uwp-item legend+*{clear:both}
.uwp-item-n{flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--sea);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:.05rem}
.uwp-scale{display:grid;grid-template-columns:repeat(5,1fr) 1.35fr;gap:.45rem}
.uwp-opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;text-align:center;padding:.6rem .3rem;border:1.5px solid #C9D6D3;border-radius:.6rem;cursor:pointer;background:#fff;min-height:4.1rem;transition:border-color .12s,background .12s}
.uwp-opt input{position:absolute;opacity:0;pointer-events:none}
.uwp-opt-n{font-weight:700;font-size:1.1rem;color:var(--sea)}
.uwp-opt-t{font-size:.8rem;line-height:1.2;color:var(--soft)}
.uwp-opt:hover{border-color:var(--teal)}
.uwp-opt.is-on{border-color:var(--teal);background:var(--teal)}
.uwp-opt.is-on .uwp-opt-n,.uwp-opt.is-on .uwp-opt-t{color:#fff}
.uwp-opt-x{background:var(--alt);border-style:dashed}
.uwp-opt-x.is-on{background:#6B7C79;border-color:#6B7C79;border-style:solid}

/* Kontext, Chips */
.uwp-ctx,.uwp-field fieldset,fieldset.uwp-field{border:0;padding:0;margin:0 0 1.4rem;min-width:0}
.uwp-ctx legend,fieldset.uwp-field legend{font-weight:700;margin-bottom:.6rem;padding:0}
.uwp-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.uwp-chip{position:relative;display:inline-flex;cursor:pointer}
.uwp-chip input{position:absolute;opacity:0;pointer-events:none}
.uwp-chip span{display:inline-block;padding:.55rem 1rem;border-radius:999px;border:1.5px solid #C9D6D3;font-weight:600;font-size:.95rem;background:#fff;line-height:1.3}
.uwp-chip.is-on span{background:var(--violet);border-color:var(--violet);color:#fff}

/* Ergebnis */
.uwp-res-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2rem;align-items:start;margin-top:1rem}
.uwp-radar-wrap{position:sticky;top:7rem}
.uwp-radar{width:100%;height:auto;display:block}
.uwp-ring{fill:none;stroke:#C9D6D3;stroke-width:1}
.uwp-ring-lbl{font-size:13px;fill:#6B7C79;font-family:inherit}
.uwp-axis{stroke:#C9D6D3;stroke-width:1}
.uwp-zone-strong{fill:#D7EFEB}.uwp-zone-base{fill:#EEF6F5}.uwp-zone-dev{fill:#F8EDD2}
.uwp-badge{fill:var(--sea)}
.uwp-badge-txt{fill:#fff;font-size:15px;font-weight:700;text-anchor:middle;font-family:inherit}
.uwp-radar-lbl{font-size:20px;font-weight:600;fill:var(--ink);font-family:inherit}
.uwp-shape{fill:rgba(0,112,120,.2);stroke:var(--teal);stroke-width:3;stroke-linejoin:round}
.uwp-shape-line{stroke:var(--teal);stroke-width:3;stroke-linecap:round}
.uwp-dot{fill:var(--violet);stroke:#fff;stroke-width:2.5}
.uwp-radar-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .5rem;font-size:.82rem;color:var(--soft);margin:.4rem 0 0!important}
.uwp-radar-legend .z{display:inline-block;width:.9rem;height:.9rem;border-radius:.2rem;border:1px solid var(--line);margin-left:.4rem}
.uwp-radar-legend .z-dev{background:#F8EDD2}.uwp-radar-legend .z-base{background:#EEF6F5}.uwp-radar-legend .z-strong{background:#D7EFEB}
.uwp-radar-act{display:flex;justify-content:center;margin-top:1rem}
.uwp-dims{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.uwp-dim{display:flex;gap:.85rem;border:1px solid var(--line);border-radius:.85rem;padding:.9rem 1.05rem;background:#fff}
.uwp-dim-n{flex:0 0 auto;width:2rem;height:2rem;border-radius:50%;background:var(--sea);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.uwp-dim-body{flex:1;min-width:0}
.uwp-dim-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}
.uwp-dim h3{font-size:1.02rem}
.uwp-dim-val{font-size:1.5rem;font-weight:700;color:var(--teal);white-space:nowrap;line-height:1}
.uwp-dim-val small{font-size:.75rem;color:var(--soft);font-weight:500}
.uwp-dim p{margin:.4rem 0 0;font-size:.93rem;color:var(--soft);line-height:1.5}
.uwp-basis{font-size:.85rem;font-style:italic;margin:.3rem 0 0!important}
.uwp-band{display:inline-block;margin-top:.35rem;padding:.2rem .7rem;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1.35}
.uwp-band-dev{background:var(--dev-soft);color:#7A5A00;border:1px solid #EAD6A0}
.uwp-band-base{background:var(--alt);color:var(--teal-deep);border:1px solid var(--line)}
.uwp-band-strong{background:var(--mint);color:var(--teal-deep);border:1px solid #BFE3DE}
.uwp-bandnote{font-size:.85rem;color:var(--soft);margin:1.2rem 0 0!important}

.uwp-hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1rem}
.uwp-hl-box{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:.85rem;padding:1.1rem 1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.uwp-hl-box.v{border-top-color:var(--violet)}
.uwp-hl-box .uwp-pill{align-self:flex-start}
.uwp-hl-box .uwp-muted{font-size:.93rem;margin:.6rem 0 .7rem}
.uwp-hl-item{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-top:1px solid var(--line);font-weight:700}
.uwp-hl-item i{color:var(--teal);width:1.3rem;text-align:center}
.uwp-hl-box.v .uwp-hl-item i{color:var(--violet)}
.uwp-hl-item span{flex:1}
.uwp-hl-item strong{color:var(--teal);font-size:1.2rem}
.uwp-hl-box .uwp-link{margin-top:auto;padding-top:.6rem;align-self:flex-start}
.uwp-flat{font-size:.92rem;color:var(--soft);margin:-.2rem 0 1.5rem!important}

.uwp-tip{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:.75rem;margin:0 0 .75rem;background:#fff}
.uwp-tip-dev{border-left-color:var(--dev)}
.uwp-tip-strong{border-left-color:var(--violet)}
.uwp-tip summary{list-style:none;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding:.85rem 1rem;cursor:pointer}
.uwp-tip summary::-webkit-details-marker{display:none}
.uwp-tip-n{flex:0 0 auto;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--sea);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.uwp-tip-t{font-weight:700;flex:1 1 10rem}
.uwp-tip summary .uwp-band{margin-top:0}
.uwp-tip-pm{flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid var(--teal);position:relative}
.uwp-tip-pm::before,.uwp-tip-pm::after{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:2px;background:var(--teal);transform:translate(-50%,-50%)}
.uwp-tip-pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
.uwp-tip[open] .uwp-tip-pm::after{transform:translate(-50%,-50%) rotate(0)}
.uwp-tip-body{padding:0 1.1rem 1rem 3.5rem}
.uwp-tiplist{margin:.2rem 0 .8rem;padding-left:1.2rem}
.uwp-tiplist li{margin:0 0 .45rem}
.uwp-team{background:var(--mint);border-radius:.5rem;padding:.6rem .85rem;color:var(--teal-deep);font-size:.95rem}
.uwp-reflect{font-size:.93rem;color:var(--violet);margin:0!important}

/* Wenn-dann-Plan */
.uwp-field{margin:0 0 1.2rem}
.uwp-field>label{display:block;font-weight:700;margin-bottom:.35rem}
.uwp-help{font-size:.92rem;color:var(--soft);margin:-.05rem 0 .5rem!important}
.uwp textarea,.uwp input[type=email]{width:100%;font:inherit;font-size:1rem;padding:.8rem 1rem;border:1px solid #B8C9C5;border-radius:.6rem;background:#fff;color:var(--ink);resize:vertical}
.uwp-ifthen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:2px solid var(--teal);border-radius:.85rem;overflow:hidden;margin:0 0 .6rem}
.uwp-ifthen .uwp-field{margin:0;padding:1rem 1.1rem;height:100%}
.uwp-if{background:var(--mint)}
.uwp-then{background:var(--violet-soft);border-left:2px solid var(--teal)}
.uwp-then .uwp-field>label{color:var(--violet)}
.uwp-if .uwp-field>label{color:var(--teal-deep)}
.uwp-ifthen .uwp-field>label{font-size:1.15rem}
.uwp-example{font-size:.9rem;color:var(--soft);font-style:italic;margin:0 0 1.2rem!important}

/* Weiter */
.uwp-flow{list-style:none;margin:1.6rem 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;position:relative}
.uwp-flow::before{content:"";position:absolute;left:8%;right:8%;top:1.35rem;height:3px;background:linear-gradient(90deg,var(--teal),var(--violet));border-radius:3px}
.uwp-flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem}
.uwp-flow-n{width:2.7rem;height:2.7rem;border-radius:50%;background:#fff;border:3px solid var(--teal);color:var(--sea);font-weight:700;display:flex;align-items:center;justify-content:center;position:relative}
.uwp-flow li:nth-child(even) .uwp-flow-n{border-color:var(--violet)}
.uwp-flow li:first-child .uwp-flow-n{background:var(--sea);border-color:var(--sea);color:#fff}
.uwp-flow-t{font-size:.9rem;font-weight:700;line-height:1.3}

/* Sichern */
.uwp-keep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.uwp-keep-box{background:var(--alt);border-radius:.85rem;padding:1.2rem 1.3rem;display:flex;flex-direction:column}
.uwp-keep-box h3{font-size:1.1rem;margin-bottom:.4rem}
.uwp-keep-box p{font-size:.95rem;color:var(--soft)}
.uwp-keep-box>.uwp-btn{margin-top:auto;align-self:flex-start}
.uwp-mail input[type=email]{margin-bottom:.4rem}
.uwp-answers{margin:1.4rem 0 0;border:1px solid var(--line);border-radius:.75rem;padding:.8rem 1.1rem}
.uwp-answers summary{cursor:pointer;font-weight:700;color:var(--teal-deep)}
.uwp-answers ol{margin:.9rem 0 0;padding-left:1.4rem}
.uwp-answers li{margin:0 0 .7rem;font-size:.95rem}
.uwp-answers li span{display:block}
.uwp-answers li strong{color:var(--teal-deep);font-size:.9rem}
.uwp-foot{font-size:.85rem;color:var(--soft);margin-top:1.4rem!important}

.uwp-busy{text-align:center;padding:3rem 1rem}
.uwp-spinner{width:2.6rem;height:2.6rem;border-radius:50%;border:4px solid var(--mint);border-top-color:var(--teal);margin:0 auto 1rem;animation:uwpspin 1s linear infinite}
@keyframes uwpspin{to{transform:rotate(360deg)}}

@container uwp (max-width:780px){
.uwp-res-grid{grid-template-columns:1fr}
.uwp-radar-wrap{position:static;max-width:30rem;margin:0 auto}
.uwp-flow{grid-template-columns:1fr;gap:.9rem}
.uwp-flow::before{left:1.35rem;right:auto;top:1rem;bottom:1rem;width:3px;height:auto;background:linear-gradient(180deg,var(--teal),var(--violet))}
.uwp-flow li{flex-direction:row;text-align:left;gap:.9rem}
.uwp-dimprev{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container uwp (max-width:600px){
.uwp-scale{grid-template-columns:repeat(5,minmax(0,1fr))}
.uwp-opt{min-height:3.6rem;padding:.5rem .15rem}
.uwp-opt-t{font-size:.7rem}
.uwp-opt-x{grid-column:1/-1;flex-direction:row;gap:.6rem;min-height:2.9rem}
.uwp-opt-x .uwp-opt-t{font-size:.88rem}
.uwp-card{padding:1.1rem .9rem}
.uwp-item{padding:1rem .85rem}
.uwp-hl,.uwp-keep-grid,.uwp-ifthen,.uwp-dimprev{grid-template-columns:1fr}
.uwp-then{border-left:0;border-top:2px solid var(--teal)}
.uwp-actions .uwp-btn{flex:1 1 auto}
.uwp-dim-head{flex-wrap:wrap}
.uwp-tip-body{padding:0 .9rem 1rem}
.uwp-radar-lbl{font-size:22px}
}
@container uwp (max-width:360px){
.uwp-opt-t{font-size:.64rem;hyphens:auto}
}
@media print{
.uwp-actions,.uwp-keep,.uwp-link,.uwp-radar-act{display:none!important}
.uwp-card{box-shadow:none;break-inside:avoid}
.uwp-radar-wrap{position:static}
.uwp-tip{break-inside:avoid}
.uwp-tip:not([open]) .uwp-tip-body{display:block}
}
