/* HM-i Leadership Impact Profil – Frontend. Alles im Scope .lip */
.lip{--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;--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:lip}
.lip *,.lip *::before,.lip *::after{box-sizing:border-box}
.lip p{margin:0 0 .9rem}
.lip h2,.lip h3{color:var(--ink);margin:0;line-height:1.2;text-wrap:balance;font-weight:700}
.lip-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lip-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.lip-loading{padding:2rem;text-align:center;color:var(--soft)}

.lip-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}
.lip-card>*,.lip-res-grid>*,.lip-keep-grid>*,.lip-focus>*{min-width:0}
.lip-soft{background:var(--alt);box-shadow:none}
.lip-title{font-size:clamp(1.6rem,4.2vw,2.3rem);margin:.9rem 0 .4rem}
.lip-subtitle{font-size:1.15rem;color:var(--teal-deep);font-weight:600;margin-bottom:1.4rem!important}
.lip-h{font-size:clamp(1.35rem,3.2vw,1.75rem);margin:.6rem 0 .9rem}
.lip-h3{font-size:1.2rem;margin:0 0 .5rem}
.lip-muted{color:var(--soft)}
.lip-emph{font-weight:700;color:var(--teal-deep)}
.lip-strong{font-weight:700;margin-top:1.2rem}

.lip-pills{display:flex;flex-wrap:wrap;gap:.5rem}
.lip-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}
.lip-pill b{color:var(--violet);padding:0 .3rem}
.lip-pill-v{background:var(--violet-soft);color:var(--violet);border-color:#DCD4F1}
.lip-pill-sea{background:var(--sea);color:#fff;border-color:var(--sea)}

.lip-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}
.lip-btn-primary{background:var(--violet);color:#fff!important}
.lip-btn-primary:hover{background:#3d3168}
.lip-btn-primary:disabled{background:#B9B3CF;cursor:not-allowed}
.lip-btn-outline{background:#fff;color:var(--teal-deep)!important;border-color:var(--teal)}
.lip-btn-outline:hover{background:var(--mint)}
.lip-btn-ghost{background:transparent;color:var(--soft)!important;border-color:var(--line)}
.lip-btn:focus-visible,.lip-opt:focus-within,.lip-chip:focus-within,.lip textarea:focus,.lip input:focus{outline:3px solid var(--lav);outline-offset:2px}
.lip-link{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;cursor:pointer}
.lip-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;margin-top:1.6rem}
.lip-actions-left{justify-content:flex-start}

.lip-msg{margin:.6rem 0 0;font-size:.95rem;min-height:1.2em;color:var(--soft)}
.lip-msg.is-warn{color:var(--warn);font-weight:600}
.lip-msg.is-ok{color:var(--teal-deep);font-weight:600}
.lip-alert{background:#FFF7E6;border:1px solid #F0D49B;color:#5C4200;border-radius:.75rem;padding:1rem 1.2rem;margin-bottom:1.5rem}

/* Start */
.lip-code{border:1px solid var(--line);border-radius:.75rem;padding:.9rem 1.1rem;margin:1.4rem 0;background:var(--alt)}
.lip-code summary{cursor:pointer;font-weight:700;color:var(--teal-deep)}
.lip-code-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.lip-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}
.lip-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)}
.lip-consent{display:flex;gap:.75rem;align-items:flex-start;margin:1.2rem 0 0;font-size:.95rem;color:var(--soft);cursor:pointer}
.lip-consent input{width:1.25rem;height:1.25rem;margin-top:.2rem;flex:0 0 auto;accent-color:var(--violet)}
.lip-consent a{color:var(--teal)}
.lip-consent-sm{font-size:.88rem;margin:.7rem 0}

/* Fortschritt und Aussagen */
.lip-progress{height:.5rem;background:var(--alt);border-radius:999px;overflow:hidden}
.lip-progress-bar{height:100%;background:linear-gradient(90deg,var(--teal),var(--violet));transition:width .3s}
.lip-progress-txt{font-size:.88rem;color:var(--soft);margin:.5rem 0 1rem;font-weight:600}
.lip-question{font-size:1.15rem;font-weight:700;color:var(--sea);margin-bottom:1.2rem!important}
.lip-item{border:1px solid var(--line);border-radius:.85rem;padding:1.1rem 1.2rem 1.2rem;margin:0 0 1rem;min-width:0}
.lip-item.is-missing{border-color:#D9A441;background:#FFFBF2}
.lip-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%}
.lip-item legend+*{clear:both}
.lip-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}
.lip-scale{display:grid;grid-template-columns:repeat(5,1fr) 1.35fr;gap:.45rem}
.lip-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}
.lip-opt input{position:absolute;opacity:0;pointer-events:none}
.lip-opt-n{font-weight:700;font-size:1.1rem;color:var(--sea)}
.lip-opt-t{font-size:.8rem;line-height:1.2;color:var(--soft)}
.lip-opt:hover{border-color:var(--teal)}
.lip-opt.is-on{border-color:var(--teal);background:var(--teal);}
.lip-opt.is-on .lip-opt-n,.lip-opt.is-on .lip-opt-t{color:#fff}
.lip-opt-x{background:var(--alt);border-style:dashed}
.lip-opt-x.is-on{background:#6B7C79;border-color:#6B7C79;border-style:solid}

/* Kontext, Chips */
.lip-ctx,.lip-field fieldset,.lip-cc{border:0;padding:0;margin:0 0 1.4rem;min-width:0}
.lip-ctx legend,.lip-field legend,.lip-cc legend{font-weight:700;margin-bottom:.6rem;padding:0}
.lip-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.lip-chip{position:relative;display:inline-flex;cursor:pointer}
.lip-chip input{position:absolute;opacity:0;pointer-events:none}
.lip-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}
.lip-chip.is-on span{background:var(--violet);border-color:var(--violet);color:#fff}

/* Ergebnis */
.lip-res-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:2rem;align-items:start;margin-top:1rem}
.lip-radar-wrap{position:sticky;top:6rem}
.lip-radar-act{display:flex;justify-content:center;margin-top:1rem}
.lip-radar{width:100%;height:auto;display:block}
.lip-ring{fill:none;stroke:#C9D6D3;stroke-width:1}
.lip-ring-outer{fill:var(--alt);stroke-width:1.4}
.lip-ring-lbl{font-size:13px;fill:#6B7C79;font-family:inherit}
.lip-axis{stroke:#C9D6D3;stroke-width:1}
.lip-badge{fill:var(--sea)}
.lip-badge-txt{fill:#fff;font-size:15px;font-weight:700;text-anchor:middle;font-family:inherit}
.lip-radar-lbl{font-size:17px;font-weight:600;fill:var(--ink);font-family:inherit}
.lip-shape{fill:rgba(0,112,120,.18);stroke:var(--teal);stroke-width:3;stroke-linejoin:round}
.lip-shape-line{stroke:var(--teal);stroke-width:3;stroke-linecap:round}
.lip-dot{fill:var(--violet);stroke:#fff;stroke-width:2.5}
.lip-dims{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.lip-dim{display:flex;gap:.85rem;border:1px solid var(--line);border-radius:.85rem;padding:.95rem 1.05rem;background:#fff}
.lip-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}
.lip-dim-body{flex:1;min-width:0}
.lip-dim-head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}
.lip-dim h3{font-size:1.02rem}
.lip-dim-val{font-size:1.5rem;font-weight:700;color:var(--teal);white-space:nowrap;line-height:1}
.lip-dim-val small{font-size:.75rem;color:var(--soft);font-weight:500}
.lip-dim p{margin:.35rem 0 0;font-size:.93rem;color:var(--soft);line-height:1.5}

/* Formulare */
.lip-field{margin:0 0 1.3rem}
.lip-field>label{display:block;font-weight:700;margin-bottom:.45rem}
.lip-help{font-size:.95rem;color:var(--soft);margin:-.1rem 0 .55rem!important}
.lip-hint{font-size:.88rem;color:var(--violet);background:var(--violet-soft);border-radius:.5rem;padding:.55rem .8rem;margin:.55rem 0 .8rem!important}
.lip textarea,.lip 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}
.lip textarea{min-height:5.5rem}
.lip-prep{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.6rem}
.lip-prep-toggle{margin-top:.5rem}

/* Weiter */
.lip-focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:.6rem 0 1.4rem}
.lip-focus-card{border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:.75rem;padding:1rem 1.1rem;background:#fff}
.lip-focus-card.v{border-top-color:var(--violet)}
.lip-focus-card h3{font-size:1.02rem;color:var(--sea);margin-bottom:.3rem}
.lip-focus-card p{margin:0;font-size:.95rem;color:var(--soft)}
.lip-goal{background:var(--mint);border-left:4px solid var(--teal);border-radius:.5rem;padding:.9rem 1.1rem;font-weight:600;color:var(--teal-deep)}
.lip-flow{list-style:none;margin:1.6rem 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;position:relative}
.lip-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}
.lip-flow li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem}
.lip-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}
.lip-flow li:nth-child(even) .lip-flow-n{border-color:var(--violet)}
.lip-flow li:first-child .lip-flow-n{background:var(--sea);border-color:var(--sea);color:#fff}
.lip-flow-t{font-size:.9rem;font-weight:700;line-height:1.3;color:var(--ink)}

/* Sichern */
.lip-keep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.lip-keep-box{background:var(--alt);border-radius:.85rem;padding:1.2rem 1.3rem;display:flex;flex-direction:column}
.lip-keep-box h3{font-size:1.1rem;margin-bottom:.4rem}
.lip-keep-box p{font-size:.95rem;color:var(--soft)}
.lip-keep-box .lip-btn{margin-top:auto;align-self:flex-start}
.lip-mail input[type=email]{margin-bottom:.4rem}
.lip-answers{margin:1.4rem 0 0;border:1px solid var(--line);border-radius:.75rem;padding:.8rem 1.1rem}
.lip-answers summary{cursor:pointer;font-weight:700;color:var(--teal-deep)}
.lip-answers ol{margin:.9rem 0 0;padding-left:1.4rem}
.lip-answers li{margin:0 0 .7rem;font-size:.95rem}
.lip-answers li span{display:block}
.lip-answers li strong{color:var(--teal-deep);font-size:.9rem}
.lip-foot{font-size:.85rem;color:var(--soft);margin-top:1.4rem!important}

.lip-busy{text-align:center;padding:3rem 1rem}
.lip-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:lipspin 1s linear infinite}
@keyframes lipspin{to{transform:rotate(360deg)}}

@container lip (max-width:780px){
	.lip-res-grid{grid-template-columns:1fr}
	.lip-radar-wrap{position:static;max-width:30rem;margin:0 auto}
	.lip-flow{grid-template-columns:1fr;gap:.9rem}
	.lip-flow::before{left:1.35rem;right:auto;top:1rem;bottom:1rem;width:3px;height:auto;background:linear-gradient(180deg,var(--teal),var(--violet))}
	.lip-flow li{flex-direction:row;text-align:left;gap:.9rem}
}
@container lip (max-width:600px){
	.lip-scale{grid-template-columns:repeat(5,minmax(0,1fr))}
	.lip-opt{min-height:3.6rem;padding:.5rem .15rem}
	.lip-opt-t{font-size:.7rem}
	.lip-opt-x{grid-column:1/-1;flex-direction:row;gap:.6rem;min-height:2.9rem}
	.lip-opt-x .lip-opt-t{font-size:.88rem}
	.lip-card{padding:1.1rem .9rem}
	.lip-item{padding:1rem .85rem}
	.lip-focus,.lip-keep-grid{grid-template-columns:1fr}
	.lip-actions .lip-btn{flex:1 1 auto}
	.lip-dim-head{flex-wrap:wrap}
	.lip-radar-lbl{font-size:22px}
}
@container lip (max-width:360px){
	.lip-opt-t{font-size:.66rem;hyphens:auto}
	.lip-item{padding:1rem .8rem}
}
@media print{
	.lip-actions,.lip-keep,.lip-prep-toggle,.lip-link,.lip-radar-act{display:none!important}
	.lip-card{box-shadow:none;break-inside:avoid}
	.lip-radar-wrap{position:static}
}
.lip-prepcard{border-top:4px solid var(--teal)}
.lip-levels{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1rem}
.lip-levels span{display:inline-flex;align-items:center;gap:.45rem;background:var(--mint);color:var(--teal-deep);border:1px solid #C5E6E2;border-radius:999px;padding:.35rem .8rem .35rem .4rem;font-weight:700;font-size:.9rem}
.lip-levels b{display:inline-flex;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--sea);color:#fff;align-items:center;justify-content:center;font-size:.8rem}
.lip-prepcard .lip-prep{border-top:0;margin-top:0;padding-top:0}

/* Basis bei fehlenden Antworten; Vorbereitung als Schritt vor dem Ergebnis */
.lip-basis{font-size:.85rem;color:var(--soft);margin:.35rem 0 0!important;font-style:italic}
.lip-step{font-size:.9rem;color:var(--teal);font-weight:600;margin:.2rem 0 .1rem!important}
.lip-req{background:var(--violet-soft);border-left:3px solid var(--violet);border-radius:.5rem;padding:.65rem .9rem;margin:.2rem 0 .6rem;font-size:.95rem;color:#2E2550;line-height:1.5}
.lip-req b{color:var(--violet)}
.lip-field-req textarea.is-req-open{border-color:var(--violet);box-shadow:0 0 0 3px rgba(76,62,128,.12)}
.lip-count{font-size:.85rem;color:var(--violet);margin:.35rem 0 0!important}
.lip-count.is-ok{color:var(--teal);font-weight:600}
.lip-btn.is-waiting{opacity:.5}
@media print{.lip-count{display:none!important}}
