@import url("tokens.css");
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:var(--text-md)/var(--lh-base) var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";min-height:100vh;display:flex;flex-direction:column}
h1,h2,h3,h4{margin:0;line-height:var(--lh-snug);letter-spacing:-.02em;font-weight:650}
h1{text-wrap:balance;font-size:var(--text-display);line-height:var(--lh-tight);letter-spacing:-.035em;font-weight:750}
h2{font-size:clamp(1.75rem,4.6vw,2.25rem);line-height:1.15;letter-spacing:-.03em;font-weight:720}
h3{font-size:var(--text-lg)}
p{margin:0 0 var(--space-3)}
a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}
[tabindex="-1"]:focus{outline:none}
:focus-visible{outline:3px solid var(--accent-ring);outline-offset:3px;border-radius:6px}
.num,.amt,.pill,.sum-count,.dl-main,input[type=number]{font-variant-numeric:tabular-nums}
.muted{color:var(--text-muted)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:var(--space-3);top:var(--space-3);background:var(--surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:100;box-shadow:var(--shadow-md)}

/* progress */
.progress{position:fixed;inset:0 0 auto 0;height:4px;background:var(--surface-3);z-index:40}
.progress[hidden]{display:none}
.progress>div{height:100%;width:0;background:var(--accent);border-radius:0 4px 4px 0;transition:width .35s var(--ease)}

/* header + logo */
.top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;max-width:72rem;margin:0 auto;padding:var(--space-4) var(--space-5);padding-top:calc(var(--space-4) + 4px)}
.logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent);text-decoration:none;border-radius:var(--radius-sm)}
.logo:hover{color:var(--accent)}
.brand{display:inline-flex;align-items:baseline;gap:var(--space-3);min-width:0}
.wordmark{font-size:var(--text-lg);font-weight:600;letter-spacing:-.03em;color:var(--text);white-space:nowrap}
.wordmark .amp{font-weight:inherit;margin:0 -.04em;letter-spacing:0}
.prod{font-size:var(--text-sm);font-weight:500;color:var(--text-muted);white-space:nowrap;padding-left:var(--space-3);border-left:1px solid var(--border-strong)}
.foot .foot-brand{font-weight:600;color:var(--text)}
.casemenu{position:relative;display:flex;align-items:center;gap:var(--space-2)}
.iconbtn{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text);cursor:pointer;transition:background var(--dur)}
.iconbtn:hover{background:var(--surface-3)}
.iconbtn.sm{width:2.5rem;height:2.5rem;color:var(--text-muted)}
.caseactions{display:none;position:absolute;right:0;top:calc(100% + var(--space-2));z-index:60;min-width:17rem;padding:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.caseactions.open{display:block;animation:pop .16s var(--ease)}
.caseactions button{display:block;width:100%;min-height:2.75rem;padding:0 var(--space-3);text-align:left;background:none;border:0;border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:500;color:var(--text);cursor:pointer}
.caseactions button:hover{background:var(--surface-2)}
.menu-title{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-muted)}
#saveMsg:empty{display:none}
#saveMsg{position:fixed;left:50%;bottom:calc(var(--space-5) + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:80;max-width:calc(100% - 2rem);padding:var(--space-3) var(--space-5);background:var(--text);color:#fff;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow-lg);animation:rise .25s var(--ease)}

/* layout */
main{flex:1;width:100%;max-width:72rem;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-7)}
.screen{display:none}
.screen.active{display:block;animation:rise .32s var(--ease)}
.screen.wiz{max-width:35rem;margin:0 auto}
.screen.wide{max-width:60rem;margin:0 auto}
.screen:not(.wiz):not(.wide){max-width:100%}
#s-upload{max-width:60rem;margin:0 auto}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.eyebrow{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.help{margin:var(--space-3) 0 var(--space-6);color:var(--text-muted);font-size:var(--text-md);max-width:46ch}
.screen.wide .help,#s-upload .help{max-width:62ch}
.help strong{color:var(--text)}
.back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;border-radius:var(--radius-sm)}
.back:hover{color:var(--text)}
.wiz form{display:flex;flex-direction:column}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-5);border:1.5px solid transparent;border-radius:var(--radius-md);font:inherit;font-size:var(--text-md);font-weight:650;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background var(--dur),border-color var(--dur),box-shadow var(--dur),transform var(--dur)}
.btn.primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 2px rgb(7 63 46 / .3),0 6px 16px -6px rgb(11 110 79 / .5)}
.btn.primary:hover{background:var(--accent-hover);color:var(--accent-contrast)}
.btn.primary:active{transform:translateY(1px)}
.btn.secondary,.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
.btn.secondary:hover,.btn.ghost:hover{background:var(--surface-2);color:var(--text)}
.btn.xl{min-height:3.75rem;padding:0 var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}
.btn.sm{min-height:2.75rem;padding:0 var(--space-4);font-size:var(--text-sm)}
.btn.block{width:100%}
.btn:disabled{background:var(--surface-3);color:var(--text-muted);box-shadow:none;border-color:transparent;cursor:not-allowed}
.btn svg{flex:none}
.textbtn,.textlink{background:none;border:0;padding:var(--space-2);min-height:2.75rem;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.textbtn:hover,.textlink:hover{color:var(--text);text-decoration:underline}
.chip{margin-left:var(--space-2);padding:var(--space-1) var(--space-3);min-height:2rem;background:var(--accent-soft);color:var(--accent);border:0;border-radius:var(--radius-full);font:inherit;font-size:var(--text-xs);font-weight:650;cursor:pointer}
.chip:hover{background:#d3ebe2}

/* actions (wizard footer) */
.actions{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-7)}
.actions.inline{margin-top:var(--space-5)}
.wiz .actions .btn{min-width:11rem}

/* fields */
.fields{display:grid;gap:var(--space-4)}
.fields.two{grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field.nested{margin-top:var(--space-3)}
.lbl{font-size:var(--text-sm);font-weight:600;color:var(--text)}
input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{width:100%;min-height:var(--control-h);padding:0 var(--space-4);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);font:inherit;font-size:var(--text-lg);font-weight:500;color:var(--text);background:var(--surface);transition:border-color var(--dur),box-shadow var(--dur)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:2.75rem;font-size:var(--text-md)}
input::placeholder{color:#64748b;font-weight:400}
input:hover,select:hover,textarea:hover{border-color:var(--text-muted)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-ring) 22%,transparent)}
.inputwrap{position:relative;display:block}
.inputwrap input{padding-right:5.5rem}
.inputwrap .unit{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:var(--text-sm);font-weight:600;pointer-events:none;max-width:5rem;text-align:right;line-height:1.2}
.inputwrap:has(.unit:not(:empty)) input{padding-right:4.25rem}
#s-q-heizung-gebaeude .inputwrap input[name=co2kg]{padding-right:8.5rem}#s-q-heizung-gebaeude .unit{max-width:8rem}
fieldset.plain{border:0;margin:0 0 var(--space-5);padding:0;min-width:0}

/* choice cards + custom radios/checkboxes (real inputs) */
.choices,.boxes{display:grid;gap:var(--space-3);border:0;padding:0}
.choice,.check{display:flex;align-items:center;gap:var(--space-4);min-height:4rem;padding:var(--space-4) var(--space-5);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--dur),background var(--dur),box-shadow var(--dur)}
.choice:hover,.check:hover{border-color:var(--border-strong)}
.choice:has(input:checked),.check:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.choice:has(input:focus-visible),.check:has(input:focus-visible){outline:3px solid var(--accent-ring);outline-offset:3px}
.choice input,.check input{appearance:none;flex:none;width:1.5rem;height:1.5rem;margin:0;border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;transition:background var(--dur),border-color var(--dur)}
.choice input[type=radio]{border-radius:50%}
.choice input[type=radio]:checked{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 45%,var(--surface) 50%)}
.choice input[type=checkbox],.check input{border-radius:var(--radius-sm)}
.choice input[type=checkbox]:checked,.check input:checked{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/100% no-repeat}
.choice input:focus-visible,.check input:focus-visible{outline:none}
.choice-body{display:flex;flex-direction:column;gap:2px;font-size:var(--text-md)}
.choice-body strong{font-weight:600;line-height:1.35}
.choice-body span{font-size:var(--text-sm);color:var(--text-muted)}
.check{min-height:3.5rem;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;box-shadow:none}
.boxes{margin-bottom:var(--space-5);gap:var(--space-2)}
.choice.confirm{margin-top:var(--space-5);border-color:var(--border-strong)}
.gate-help{margin:var(--space-3) 0 0;font-size:var(--text-sm)}

/* segmented control + yes/no rows */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-1);padding:var(--space-1);background:var(--surface-3);border-radius:var(--radius-md)}
.seg-opt{white-space:nowrap;position:relative;display:grid;place-items:center;min-height:3.25rem;padding:0 var(--space-2);border-radius:10px;font-size:var(--text-md);font-weight:600;color:var(--text-muted);cursor:pointer;text-align:center;transition:background var(--dur),color var(--dur),box-shadow var(--dur)}
.seg-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.seg-opt:hover{color:var(--text)}
.seg-opt:has(input:checked){background:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 3px rgb(7 63 46 / .35)}
.seg-opt:has(input:focus-visible){outline:3px solid var(--accent-ring);outline-offset:2px}
.yns{display:grid;gap:var(--space-3)}
.yn{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.yn-q{font-size:var(--text-md);font-weight:600;line-height:1.4}

/* cards */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-md)}
.card h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}

/* ===== START ===== */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-7);align-items:center;padding:var(--space-6) 0 var(--space-5)}
.hero .eyebrow{margin-top:0}
.lead{margin:var(--space-5) 0 var(--space-6);font-size:var(--text-xl);line-height:1.45;color:var(--text-muted);max-width:34ch;letter-spacing:-.01em}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.sample-chip{display:inline-block;margin:var(--space-4) 0 0;padding:var(--space-1) var(--space-3);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600}
.hero-visual{display:grid;place-items:center;padding:var(--space-4)}
.mock{width:100%;max-width:22rem;padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transform:rotate(1.8deg)}
.mock-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-muted);font-weight:500}
.mock-pill{padding:2px var(--space-3);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:650}
.mock-big{margin:var(--space-4) 0;font-size:var(--text-xl);color:var(--text-muted)}.mock-big b{font-size:3.5rem;line-height:1;letter-spacing:-.04em;color:var(--text);margin-right:var(--space-2)}
.mock-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);font-size:var(--text-sm);font-weight:500}
.mock-row em{margin-left:auto;font-style:normal;font-weight:700}
.dot{width:10px;height:10px;border-radius:50%}.dot.warn{background:#d98a0b}.dot.info{background:#3b73d1}
.mock-deadline{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm)}
.mock-deadline strong{font-size:var(--text-lg)}
.trust{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin:var(--space-7) 0 0;padding:var(--space-6) 0 0;border-top:1px solid var(--border)}
.trust h2{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-lg);letter-spacing:-.015em;font-weight:650;line-height:1.3}
.trust p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}
.trust-ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}
.infoline{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-7) 0 0;padding:var(--space-3) var(--space-4);background:var(--surface-2);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-xs);line-height:1.55}
.infoline svg{flex:none;margin-top:2px}.infoline strong{color:var(--text)}
.infoline a,.foot a{color:var(--text-muted)}

/* ===== UPLOAD ===== */
.uploadopts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-5)}
.dropcard{display:flex;flex-direction:column}
.drop{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-height:13rem;padding:var(--space-6) var(--space-5);text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg);cursor:pointer;transition:border-color var(--dur),background var(--dur)}
.drop:hover,.dropcard.over .drop{border-color:var(--accent);background:var(--accent-soft)}
.dropcard:has(input:focus-visible) .drop{outline:3px solid var(--accent-ring);outline-offset:3px}
.drop-ico{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:var(--accent);color:#fff;margin-bottom:var(--space-2)}
.drop-title{font-size:var(--text-lg);font-weight:650}.drop-sub{font-size:var(--text-sm);color:var(--text-muted)}
.qrcard .muted{font-size:var(--text-sm)}
#qr:not(:empty){margin-top:var(--space-4);text-align:center}
.qrbox{display:inline-block;padding:var(--space-3);background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
#qr .qrbox svg{display:block;width:11rem;height:11rem;max-width:100%}
#qr p{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-muted)}#qr p strong{color:var(--text)}
.sugg{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}
.sugg:empty{display:none}
#qr .sugg{word-break:break-all}
#ocrStatus{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-muted)}
.review{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-5)}
.review:empty{display:none}
.pair{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-5);align-items:start}
.shot{position:sticky;top:var(--space-4)}
.shot img{display:block;width:100%;max-height:80vh;object-fit:contain;object-position:top;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.sugpanel h3{word-break:break-all;font-size:var(--text-md);color:var(--text-muted);font-weight:600}
.sugpanel h4{margin:var(--space-5) 0 var(--space-1);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.notice{padding:var(--space-3) var(--space-4);background:var(--info-bg);border-radius:var(--radius-md);color:var(--info);font-size:var(--text-sm);margin:var(--space-3) 0}
.notice strong{color:inherit}
.suglist{list-style:none;margin:0;padding:0}
.suglist li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--border)}
.suglist li:first-child{border-top:0}
.suglist .row-main{display:flex;flex-direction:column;flex:1;min-width:0;font-size:var(--text-sm)}
.suglist .lbl{font-weight:650;font-size:var(--text-md)}
.suglist .val strong{color:var(--text);font-size:var(--text-md)}.suglist .val,.suglist .cur{color:var(--text-muted)}.suglist .cur{font-size:var(--text-xs)}
.suglist .none{color:var(--text-muted);font-size:var(--text-sm)}
.suglist .btn{flex:none;min-height:2.75rem}
.taken{flex:none;color:var(--accent);font-size:var(--text-sm);font-weight:650}
.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== POSITIONEN ===== */
.itemlist{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-3)}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-4);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.item-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.item-main strong{font-weight:650;overflow-wrap:anywhere}
.item-meta{font-size:var(--text-sm);color:var(--text-muted)}
.todo{color:var(--warn);font-weight:500}
.item .sugg{margin-top:var(--space-1);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.item .chip{margin-left:0}
.amt{font-weight:700;padding-right:var(--space-2);white-space:nowrap}
.empty{padding:var(--space-5);margin-bottom:var(--space-3);border:2px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;font-size:var(--text-sm)}
.empty[hidden]{display:none}
.sheet{width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:var(--space-5) var(--space-5) var(--space-5);border:0;border-radius:var(--radius-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);overflow:auto}
.sheet::backdrop{background:rgb(15 23 42 / .45);backdrop-filter:blur(2px)}
.sheet[open]{animation:rise .25s var(--ease)}
.sheet h3{margin:0 0 var(--space-4);font-size:var(--text-xl)}
.sheet .field,.sheet .fields{margin-bottom:var(--space-4)}
.sheet .sugg{margin:calc(-1*var(--space-2)) 0 var(--space-4);font-size:var(--text-sm)}
.sheet-grab{display:none}
.sheet-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}
.sheet-actions .btn{flex:1}

/* ===== BESTÄTIGUNG ===== */
.recap{margin:0 0 var(--space-2);padding:0 var(--space-5);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.recap>div{display:grid;grid-template-columns:7.5rem 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-top:1px solid var(--border);font-size:var(--text-sm)}
.recap>div:first-child{border-top:0}
.recap dt{color:var(--text-muted)}.recap dd{margin:0;font-weight:600}.recap .none{color:var(--text-muted);font-weight:400}
.recap .chg a{color:var(--accent);font-weight:600;text-decoration:none}.recap .chg a:hover{text-decoration:underline}

/* ===== BERICHT ===== */
.summary{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-5);padding:var(--space-6);margin:var(--space-2) 0 var(--space-6);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.sum-label{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:rgb(255 255 255 / .85)}
.sum-count{margin:0 0 var(--space-4);font-size:var(--text-xl);color:rgb(255 255 255 / .9)}
.sum-count b{display:block;font-size:4.5rem;line-height:1;letter-spacing:-.05em;color:#fff;font-weight:750}
.sum-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}
.pill{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-weight:650;font-size:var(--text-sm);background:rgb(255 255 255 / .16);color:#fff}
.sum-deadline{padding:var(--space-5);background:rgb(255 255 255 / .12);border:1px solid rgb(255 255 255 / .2);border-radius:var(--radius-lg);align-self:stretch}
.dl-main{margin:0;font-size:var(--text-xl);color:#fff}.dl-main b{font-size:3rem;line-height:1.1;letter-spacing:-.04em;font-weight:750}
.dl-sub{margin:var(--space-1) 0 var(--space-3);color:rgb(255 255 255 / .9);font-size:var(--text-md)}.dl-sub strong{color:#fff}
.dl-text{font-size:var(--text-sm);margin:0}
.dl-bar{height:6px;border-radius:var(--radius-full);background:rgb(255 255 255 / .22);overflow:hidden}.dl-bar span{display:block;height:100%;background:#fff;border-radius:inherit}
.hint-tools{display:flex;justify-content:flex-end;margin-bottom:calc(-1*var(--space-3))}
.hgroup-h{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 var(--space-3);font-size:var(--text-xl)}
.hgroup-h span{display:inline-grid;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);font-size:var(--text-sm);font-weight:650}
.hint{margin-bottom:var(--space-3);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.hint.warn{border-color:var(--warn-border)}.hint.info{border-color:var(--info-border)}
.hint h4{margin:0;font-size:var(--text-md);letter-spacing:-.01em}
.hint-toggle{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:4rem;padding:var(--space-3) var(--space-4);background:none;border:0;font:inherit;font-weight:650;font-size:var(--text-md);color:var(--text);text-align:left;cursor:pointer;border-radius:0}
.hint-toggle:hover{background:var(--surface-2)}
.hint-ico{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm)}
.hint.warn .hint-ico{background:var(--warn-bg);color:var(--warn)}.hint.info .hint-ico{background:var(--info-bg);color:var(--info)}
.hint-title{flex:1;line-height:1.35}
.chev{flex:none;color:var(--text-muted);transition:transform .25s var(--ease)}
.hint.open .chev{transform:rotate(180deg)}
.hint-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.hint.open .hint-body{grid-template-rows:1fr}
.hint-body>div{min-height:0;overflow:hidden;padding:0 var(--space-4) 0 calc(var(--space-4) + 2.25rem + var(--space-3))}
.hint.open .hint-body>div{padding-bottom:var(--space-4)}
.hint-body p{margin:0 0 var(--space-3);font-size:var(--text-md);color:var(--text)}
.hint-body .src{margin:0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--text-muted)}
.gate{padding:var(--space-6);margin:var(--space-4) 0;text-align:center;background:var(--surface);border:2px dashed var(--border-strong);border-radius:var(--radius-xl)}
.gate p{color:var(--text-muted)}
.next-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-7);padding:var(--space-5) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.next-card h3{margin:0 0 var(--space-1)}.next-card p{margin:0;color:var(--text-muted);font-size:var(--text-sm)}

/* ===== BRIEFE ===== */
.positions{margin-bottom:var(--space-6)}
.positions textarea{min-height:6rem;padding:var(--space-3) var(--space-4);font-size:var(--text-md);line-height:1.5;resize:vertical}
.letters{display:grid;gap:var(--space-7)}
.doc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
.doc-bar h3{font-size:var(--text-lg)}
.doc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.paper{padding:var(--space-7) clamp(var(--space-4),6vw,var(--space-8));background:#fffefc;border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-md),inset 0 0 0 1px rgb(255 255 255 / .6);transition:box-shadow var(--dur)}
.paper.editing{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent),var(--shadow-md)}
.paper textarea{display:block;width:100%;min-height:24rem;padding:0;border:0!important;border-radius:0;background:transparent;box-shadow:none!important;font-family:var(--font-serif);font-size:1.0625rem;font-weight:400;line-height:1.75;color:#1c1b19;resize:none;overflow:hidden}
.paper textarea[readonly]{cursor:default}

/* footer */
.foot{width:100%;max-width:72rem;margin:0 auto;padding:var(--space-5) var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--border);font-size:var(--text-xs);line-height:1.6;color:var(--text-muted)}
.foot p{margin:0 0 var(--space-2);max-width:80ch}.foot strong{color:var(--text)}
#printArea{display:none}

/* ===== legal pages + mobile upload ===== */
body.legal main,body.mobile main{max-width:46rem}
body.legal main>section,body.mobile main>section{margin-top:var(--space-3);background:var(--surface);padding:var(--space-6) clamp(var(--space-4),5vw,var(--space-7));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
body.legal h1{font-size:var(--text-3xl);margin:var(--space-4) 0 var(--space-2)}
body.legal h2{font-size:var(--text-xl);margin:var(--space-6) 0 var(--space-2);letter-spacing:-.02em}
body.legal main p{max-width:68ch}
.disclaimer{padding:var(--space-3) var(--space-4);background:var(--surface-2);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm)}
.disclaimer strong{color:var(--text)}
body.mobile h1{font-size:var(--text-2xl)}
body.mobile .eyebrow-sub{margin:0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-sm)}
body.mobile main p{color:var(--text-muted);font-size:var(--text-sm)}
#msg{color:var(--text-muted);font-size:var(--text-sm)}

/* ===== round 2 refinements ===== */
[hidden]{display:none!important}
.progress{height:6px;background:#d9d3c9}
.hero{padding:var(--space-4) 0 var(--space-3);gap:var(--space-6)}
.trust{margin-top:var(--space-5);padding-top:var(--space-5)}
.sample-link{margin-top:var(--space-2);min-height:2.5rem;padding-left:0;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.mock-deadline strong{font-weight:600;font-size:var(--text-md)}.mock-deadline strong b{font-size:var(--text-2xl);letter-spacing:-.03em;margin-right:2px}
.back svg{flex:none}
/* footer */
.foot{max-width:72rem;margin-top:var(--space-7);padding-top:var(--space-6);font-size:.8125rem}
.foot>p{max-width:38rem}
.foot-links{margin-top:0}
.foot-src{color:var(--text-muted)}
body[data-screen=start] .foot-disc,body[data-screen=bericht] .foot-disc{display:none}
body:not([data-screen=start]):not([data-screen=bericht]) .foot-legal{display:none}
body.legal .foot-disc,body.mobile .foot-disc{display:block}
.infoline{margin-top:var(--space-6)}
/* wizard nav, actions */
.wiz-nav{display:flex;align-items:center;gap:var(--space-4);justify-content:space-between}
.step-n{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}
.kbd-hint{display:none;font-size:var(--text-sm);color:var(--text-muted)}
kbd{font:inherit;font-size:var(--text-xs);padding:2px 6px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface)}
@media (hover:hover) and (pointer:fine){.kbd-hint{display:inline}}
.wiz .actions{justify-content:flex-start}
/* bericht */
.hgroup{margin-top:var(--space-7)}
.hgroup-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-3)}
.hgroup-h{margin:0}
.hgroup:first-of-type{margin-top:var(--space-6)}
.hint,.hint.warn,.hint.info{border:1px solid var(--border);box-shadow:none}
.tag{display:inline-block;margin-left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-muted);font-size:var(--text-xs);font-weight:650;vertical-align:1px}
.next-card{margin-top:var(--space-8);padding:var(--space-6);background:var(--accent-soft);border:1.5px solid var(--accent);box-shadow:var(--shadow-md)}
.next-card .eyebrow{margin:0 0 var(--space-1)}
.next-card h3{font-size:var(--text-2xl);letter-spacing:-.03em}
.next-card p{color:var(--text)}
/* upload */
.upbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}
.statuschip{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--accent-deep)}
.pair{grid-template-columns:minmax(0,9fr) minmax(0,11fr)}
.shot img{max-height:calc(100vh - 2rem)}
.btn.pill{min-height:2.5rem;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;border-color:var(--border-strong)}
.suglist li{min-height:4rem;padding:var(--space-3) 0}
.suglist .line{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-3)}
.suglist .lbl{font-size:var(--text-sm);font-weight:500;color:var(--text-muted)}
.suglist .line strong{font-size:var(--text-md);font-weight:700}
.suglist .cur{font-size:var(--text-xs)}
.review{margin-top:var(--space-4)}
/* briefe */
.field .helper{font-size:var(--text-sm);color:var(--text-muted);margin-top:-4px}
.positions{margin-bottom:var(--space-5)}
.tabs{max-width:26rem;margin:0 auto var(--space-5)}
.tabs .seg-opt{border:0;font:inherit;font-weight:600;cursor:pointer;background:transparent}
.tabs .seg-opt[aria-selected=true]{background:var(--accent);color:var(--accent-contrast);box-shadow:0 1px 3px rgb(7 63 46 / .35)}
.doc{max-width:46rem;margin:0 auto}
.doc-bar{justify-content:flex-end;margin-bottom:var(--space-3)}
.doc-actions{align-items:center}
.paper{aspect-ratio:210/297;padding:clamp(1.5rem,7%,4.5rem);border-color:#ddd8ce;border-radius:4px;box-shadow:0 1px 2px rgb(15 23 42 / .06),0 12px 32px -8px rgb(15 23 42 / .18),0 32px 64px -24px rgb(15 23 42 / .18)}
.paper textarea{min-height:0}
.letters{display:block}

/* ===== responsive ===== */
@media (max-width:900px){
  .trust{gap:var(--space-4)}
  .trust li{display:grid;grid-template-columns:2.25rem 1fr;column-gap:var(--space-4);align-items:start}
  .trust-ico{grid-row:1/3;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm)}.trust-ico svg{width:20px;height:20px}
  .trust h2{margin:0 0 2px;font-size:var(--text-md)}
  .hero{grid-template-columns:1fr;gap:var(--space-5)}.hero-visual{display:none}
  .trust{grid-template-columns:1fr}
  .summary{grid-template-columns:1fr;padding:var(--space-5)}
  .uploadopts,.pair{grid-template-columns:1fr}.pair{grid-template-columns:1fr}.shot{position:static}
}
@media (max-width:700px){
  .brand{flex-direction:column;align-items:flex-start;gap:0;line-height:1.15}.prod{padding-left:0;border-left:0;font-size:var(--text-xs)}
  .top{padding:var(--space-3) var(--space-5);padding-top:calc(var(--space-3) + 4px)}
  main{padding:var(--space-2) var(--space-5) var(--space-7)}
  .foot{padding-left:var(--space-5);padding-right:var(--space-5)}
  .fields.two{grid-template-columns:1fr}
  .cta-row{flex-direction:column}.cta-row .btn{width:100%}
  .lead{font-size:var(--text-lg)}
  /* sticky full-width Weiter, safe-area aware */
  .wiz form{min-height:calc(100dvh - 9.5rem)}
  .wiz .actions{position:sticky;bottom:0;z-index:20;flex-direction:column-reverse;align-items:stretch;gap:var(--space-1);margin:auto calc(-1*var(--space-5)) 0;padding:var(--space-4) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--bg) 78%,transparent)}
  .wiz .actions .btn{width:100%;min-width:0}.wiz .actions .textbtn{justify-content:center}
  .wiz form>.field:last-of-type,.wiz form>.yns,.wiz form>.choices,.wiz form>.recap{margin-bottom:var(--space-5)}
  .actions.inline{flex-direction:column;align-items:stretch}.actions.inline .btn{width:100%}.actions.inline .textlink{justify-content:center}
  .recap>div{grid-template-columns:6rem 1fr auto}
  .item{grid-template-columns:minmax(0,1fr) auto auto}.item .amt{grid-column:1;grid-row:2;padding:0;margin-top:var(--space-1)}
  .item-main{grid-column:1}.item .iconbtn{grid-row:1}
  .suglist li{flex-wrap:wrap}.suglist .btn{width:100%}
  .sum-count b{font-size:3.75rem}
  .hint-body>div{padding-left:var(--space-4);padding-right:var(--space-4)}
  .next-card{padding:var(--space-5)}.next-card .btn{width:100%}
  .doc-actions{width:100%}.doc-actions .btn{flex:1}
  .kbd-hint{display:none!important}
  .paper{aspect-ratio:auto;min-height:28rem}
  .upbar{border-radius:var(--radius-lg)}
  .next-card .btn{width:100%}
  .hgroup-head{flex-wrap:wrap}
  .paper{padding:var(--space-5) var(--space-4)}
  /* position sheet as bottom sheet */
  .sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom))}
  .sheet-grab{display:block;width:2.5rem;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto var(--space-4);opacity:.5}
  .sheet[open]{animation:sheet-up .28s var(--ease)}
  @keyframes sheet-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html,body{background:#fff!important}body>*:not(#printArea){display:none!important}body::before,body::after{content:none!important}#printArea{display:block;white-space:pre-wrap;font:12pt serif;color:#000}}
@media (max-width:700px){.btn.xl{padding:0 var(--space-4);font-size:var(--text-md)}}

/* ===== round 3 refinements ===== */
/* one segmented system: grey track, white active segment, ink text, green check (toggles + Briefe tabs) */
.seg{background:var(--surface-3)}
.seg-opt{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}
.seg-opt:has(input:checked),.tabs .seg-opt[aria-selected=true]{background:#fff;color:var(--text);box-shadow:0 1px 2px rgb(15 23 42 / .12),0 2px 8px -2px rgb(15 23 42 / .12)}
.seg-opt:has(input:checked)::before{content:"";flex:none;width:1rem;height:1rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6e4f' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/100% no-repeat}
.seg-opt:has(input:focus-visible),.tabs .seg-opt:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px}
/* wizard */
.btn:disabled{background:#e4dfd6;color:rgb(15 23 42 / .5);border:1.5px solid #d3cdc2;opacity:1}
@media (min-width:701px){.kbd-hint{display:inline}}
body[data-screen^="q-"] .foot{max-width:calc(35rem + 2*var(--space-5))}
body[data-screen^="q-"] .foot>p{max-width:none}
/* upload desktop */
.qrcard .btn{align-self:flex-start}
.linkrow{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left}
#qr .linkrow .sugg{flex:1;min-width:0;margin:0;font:.8125rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}
.copy{flex:none;gap:var(--space-1);color:var(--accent);min-height:2.5rem;white-space:nowrap}.copy:hover{color:var(--accent-hover)}.copy.copied{color:var(--text-muted)}
#qr .qr-valid{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.qr-valid svg{flex:none}
.upbar{padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3)}
.statuschip{padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);background:var(--accent-soft);border-radius:var(--radius-full)}
.statuschip svg{flex:none;color:var(--accent)}
#ocrStatus{margin-top:0}
.pair{grid-template-columns:minmax(0,9fr) minmax(0,11fr)}
.shot-btn{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius-md)}
.shot-hint{position:absolute;right:var(--space-3);bottom:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:rgb(15 23 42 / .72);color:#fff;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;opacity:.85;transition:opacity var(--dur)}
.shot-btn:hover .shot-hint,.shot-btn:focus-visible .shot-hint{opacity:1}
.shot img{min-height:16rem}
.zoom{width:min(60rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:var(--space-3);border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);overflow:auto}
.zoom::backdrop{background:rgb(15 23 42 / .6)}
.zoom img{display:block;width:100%;height:auto}
.zoom-close{position:absolute;right:var(--space-3);top:var(--space-3);background:rgb(255 255 255 / .9);box-shadow:var(--shadow-md)}
.suglist .take{flex:none;min-height:2.25rem;padding:0 var(--space-2);color:var(--accent);font-weight:650}.suglist .take:hover{color:var(--accent-hover)}
.suglist .taken{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;color:var(--text-muted);font-weight:500}
.suglist .taken svg{color:var(--accent)}
.suglist li{align-items:center}
/* Briefe */
.positions textarea{min-height:0;resize:none;overflow:hidden;line-height:1.5}
.tabs{max-width:20rem;margin:0 auto var(--space-5)}
.tabs .seg-opt{color:var(--text-muted)}.tabs .seg-opt[aria-selected=true]{color:var(--text)}
.doc-bar{margin:0;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);background:var(--surface-2);border:1px solid #ddd8ce;border-bottom:0;border-radius:12px 12px 0 0}
.doc-title{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-muted);letter-spacing:0}
.doc-bar .btn.sm{min-height:2.25rem;padding:0 var(--space-3)}
.doc-bar .btn.ghost{background:transparent;border-color:transparent}.doc-bar .btn.ghost:hover{background:var(--surface-3)}
.doc .paper{border-top-left-radius:0;border-top-right-radius:0}
@media (max-width:700px){
  .doc-actions{width:auto}.doc-actions .btn{flex:none}
  .doc-title{display:none}.doc-bar{justify-content:flex-end}
  .linkrow{flex-wrap:nowrap}
  .upbar{padding:var(--space-3)}.upbar .btn{width:100%}.statuschip{width:100%}
  .shot img{min-height:0}
  .zoom{padding:var(--space-2)}
}
/* mobile upload page */
body.mobile h1{margin-bottom:var(--space-2)}
body.mobile .eyebrow-sub{margin:0 0 var(--space-4);font-size:.9375rem;color:var(--text-muted)}
body.mobile .m-intro{margin:0 0 var(--space-5)}
.m-actions{display:grid;gap:var(--space-3)}
.m-main{width:100%;min-height:3.5rem;padding:0 var(--space-4);white-space:nowrap;font-size:var(--text-lg);text-align:center}
body.mobile .btn.ghost{background:transparent;border-color:var(--border-strong);font-size:var(--text-md);min-height:3.25rem}
#list{list-style:none;padding:0;margin:var(--space-4) 0 0;display:grid;gap:var(--space-2)}
#list:empty{display:none}
#list li{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm)}
.f-ico{display:grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-muted)}
.f-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text)}
.f-chip{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;max-width:45%;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:650;background:var(--surface-3);color:var(--text-muted)}
.f-chip.ok{background:var(--accent-soft);color:var(--accent-deep)}.f-chip.err{background:var(--warn-bg);color:var(--warn)}
.m-done{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);background:var(--accent-soft);border-radius:var(--radius-md);color:var(--accent-deep)}
.m-done svg{flex:none;margin-top:2px}.m-done div{display:flex;flex-direction:column}.m-done strong{font-size:var(--text-md)}.m-done span{font-size:var(--text-sm)}
body.mobile .m-info{display:flex;gap:var(--space-2);align-items:flex-start;margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-xs);line-height:1.55}
body.mobile .m-info svg{flex:none;margin-top:2px}.m-info a{color:var(--text-muted)}
#msg:empty{display:none}
.suglist .take{padding:0 0 0 var(--space-2)}
.suglist button.taken{background:none;border:0;padding:0;font:inherit;font-size:var(--text-sm);text-align:right}

/* Paywall (nur aktiv mit PAYWALL_ENABLED=true) */
.pw-locked #s-briefe .letters,.pw-locked #s-briefe .tabs,.pw-locked #s-briefe .positions{display:none}
.hint-locked{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);margin-top:var(--space-2);border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-muted);font-weight:500;background:repeating-linear-gradient(-45deg,transparent 0 10px,rgba(0,0,0,.018) 10px 20px)}
.paywall{margin:var(--space-6) 0;padding:var(--space-6);border:1px solid var(--border-strong);border-radius:16px;background:#fff;box-shadow:0 10px 30px -18px rgba(15,23,42,.35);max-width:620px}
.paywall h3{margin:.2em 0 .6em;font-size:var(--text-lg)}
.pw-list{margin:0 0 var(--space-4);padding-left:1.2em;color:var(--text)}.pw-list li{margin:.25em 0}
.pw-consent{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);line-height:1.45;margin-bottom:var(--space-4);cursor:pointer}
.pw-consent input{margin-top:.2em;width:18px;height:18px;flex:none}
.pw-btn{min-height:50px;max-width:420px}.pw-msg{min-height:1.2em;font-size:var(--text-sm);color:#9a3412;margin:.4em 0 0}
.pw-legal{font-size:var(--text-xs, .78rem);color:var(--text-muted);margin:var(--space-3) 0 0}
.pw-receipt{margin:var(--space-4) 0;padding:var(--space-4);border-radius:12px;background:#ecfdf3;border:1px solid #b7e4c7;font-size:var(--text-sm)}
.pw-extra{margin:0 0 var(--space-4);font-size:var(--text-sm)}.pw-extra summary{cursor:pointer;color:var(--text-muted);font-weight:500}
.pw-f{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-3)}.pw-f input,.pw-f textarea{font:inherit;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;background:#fff}
.pw-hint{color:var(--text-muted);margin:var(--space-2) 0 0}.pw-inv{margin:.5em 0;display:inline-flex}
