:root{--paper:#f3f1ea;--panel:#fff;--ink:#20261f;--ink-soft:#5b6157;--line:#d7d2c4;--line-strong:#b9b3a2;--brand:#14562e;--brand-2:#2c7a4b;--amber:#9a6a12;--danger:#a3341f;--field-bg:#fbfaf6;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.topbar{background:var(--brand);color:#f2efe6;border-bottom:3px solid #0c3a1e}.topbar-inner{max-width:1120px;margin:0 auto;padding:20px 24px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.wordmark{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.2px;margin:0;display:flex;align-items:center;gap:12px}.wordmark .mark{display:inline-grid;place-items:center;width:34px;height:34px;border:2px solid #f2efe6;font-family:var(--sans);font-size:15px;font-weight:700;border-radius:3px}.topbar .tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b8d2c1}.wrap{max-width:1120px;margin:0 auto;padding:26px 24px 72px}.intro{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink-soft);max-width:62ch;margin:6px 0 22px}.layout{display:grid;grid-template-columns:1fr 344px;grid-gap:26px;gap:26px;align-items:start}@media (max-width:900px){.layout{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brand-2);border-radius:2px;padding:20px 22px 22px;margin-bottom:18px}.card h2{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.card h2 .num{background:transparent;color:var(--brand);border:1px solid var(--brand-2);border-radius:2px;font-size:10.5px;padding:2px 7px;font-weight:700;letter-spacing:.1em}.grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px 18px;gap:14px 18px}.grid.three{grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.grid,.grid.three{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}label{font-size:11.5px;letter-spacing:.03em;color:var(--ink-soft);font-weight:600}input,select{padding:9px 11px;border:1px solid var(--line-strong);border-radius:2px;font-size:14px;font-family:var(--sans);background:var(--field-bg);color:var(--ink);width:100%}input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,86,46,.14);background:#fff}.period{border:1px solid var(--line);border-radius:2px;padding:14px;margin-bottom:12px;background:#fcfbf7}.period-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.period-head strong{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}button{cursor:pointer;border-radius:2px;border:1px solid var(--line-strong);background:#fff;padding:9px 15px;font-size:13px;font-weight:600;color:var(--ink);transition:border-color .15s,background .15s}button:hover:not(:disabled){border-color:var(--brand)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--brand);color:#f2efe6;border-color:var(--brand)}button.link{border:none;background:none;color:var(--danger);padding:4px;font-weight:600;text-decoration:underline;text-underline-offset:2px}.result{position:-webkit-sticky;position:sticky;top:20px}.result .card{border-left-color:var(--brand)}.qend{text-align:center;padding:22px 12px 18px;border-radius:2px;color:#fff;margin-bottom:16px;position:relative}.qend .val{font-family:var(--serif);font-size:52px;font-weight:600;line-height:.95}.qend .unit{font-size:12px;opacity:.92;letter-spacing:.04em}.qend .klasse{font-family:var(--serif);font-size:34px;font-weight:700;margin-top:8px}.scale{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}.scale div{color:#fff;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.05em;-webkit-clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,0 100%);width:62%;transition:width .15s}.scale div.active{width:100%;box-shadow:inset 0 0 0 2px var(--ink)}.kpi{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}.kpi:last-child{border-bottom:none}.kpi .k{color:var(--ink-soft)}.kpi .v{font-weight:600;text-align:right}.msg{font-size:12.5px;padding:9px 12px;border-radius:2px;margin-bottom:7px;border-left:3px solid}.msg.fehler{background:#f8ebe8;color:var(--danger);border-left-color:var(--danger)}.msg.warnung{background:#f7f0df;color:var(--amber);border-left-color:var(--amber)}.msg.hinweis{background:#eef1ec;color:var(--ink-soft);border-left-color:var(--line-strong)}.banner{background:#fbf6e8;border:1px solid #e6d9b0;border-left:3px solid var(--amber);color:#6e5410;border-radius:2px;padding:11px 15px;font-size:12.5px;margin-bottom:22px}.checkbox{flex-direction:row;align-items:center;gap:9px}.checkbox input{width:auto}.lbl{display:flex;align-items:center;gap:6px}.hint{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line-strong);color:var(--ink-soft);font-size:10px;font-weight:700;cursor:help;position:relative;line-height:1;flex:none}.hint:focus,.hint:hover{border-color:var(--brand);color:var(--brand);outline:none}.hint .tip{visibility:hidden;opacity:0;position:absolute;bottom:150%;left:50%;transform:translateX(-50%);width:236px;background:var(--ink);color:#f2efe6;padding:9px 11px;border-radius:3px;font-size:12px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;z-index:30;box-shadow:0 6px 18px rgba(0,0,0,.25);pointer-events:none;transition:opacity .12s}.hint:focus .tip,.hint:hover .tip{visibility:visible;opacity:1}.hint .tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--ink)}.footnote{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-soft);max-width:70ch}