/* Lern-App */
.panel{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r);padding:16px;margin:14px 0}
.ph2{font-weight:700;margin-bottom:10px}
.big{appearance:none;display:flex;justify-content:space-between;align-items:center;width:100%;border:1.5px solid var(--ln);background:var(--sf);color:var(--ink);border-radius:12px;padding:15px 16px;font:650 16px var(--font);cursor:pointer;text-align:left}
.big+.big{margin-top:8px}
.big.primary{background:#A8460A;border-color:#A8460A;color:#fff}
.big small{font-weight:500;opacity:.85}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (max-width:520px){.filters{grid-template-columns:1fr}}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.chip{appearance:none;border:1.5px solid var(--ln);background:var(--sf);color:var(--mut);border-radius:99px;padding:6px 12px;font:600 13.5px var(--font);cursor:pointer}
.chip.on{border-color:var(--an);color:var(--ink);background:var(--sf2)}
.cat{display:flex;flex-direction:column;gap:6px;padding:11px 0;border-top:1px solid var(--ln);cursor:pointer}
.cat:first-child{border-top:0}
.cat .row{display:flex;justify-content:space-between;font-weight:600;gap:10px}
.cat .row span:last-child{font-weight:500;color:var(--mut);font-size:14px;white-space:nowrap}
.bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--ln)}
.bar i{display:block;height:100%}
.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-top:8px}
.legend b{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px;vertical-align:-1px}
kbd{font:12px ui-monospace,monospace;border:1px solid var(--ln);border-radius:5px;padding:1px 5px}

/* Lernansicht: alles auf einen Bildschirm */
body.learning{overflow:hidden}
body.learning #appHdr,body.learning #ftr,body.learning #home{display:none}
.lv{position:fixed;inset:0;display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:640px;margin:0 auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--bg)}
.lv-top{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex:none}
.back{appearance:none;border:1px solid var(--ln);background:var(--sf);color:var(--ink);border-radius:10px;width:40px;height:36px;font-size:18px;cursor:pointer}
.progress{flex:1;height:6px;background:var(--ln);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:var(--or);transition:width .2s}
.count{font-size:13px;color:var(--mut);min-width:52px;text-align:right;font-variant-numeric:tabular-nums}
.lv-card{flex:1;min-height:0;overflow-y:auto;background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:14px;display:flex;flex-direction:column}
.meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--mut);margin-bottom:8px}
.meta .pill{border:1px solid var(--ln);border-radius:99px;padding:2px 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}
.q{font-size:clamp(16px,2.4vh,19px);font-weight:700;line-height:1.32;margin:0 0 6px;color:var(--an)}
.hint{font-size:12.5px;color:var(--or-d);font-weight:600;margin-bottom:6px;min-height:0}
.opts{display:flex;flex-direction:column;gap:7px}
.opt{appearance:none;font:inherit;font-size:clamp(14px,2vh,16px);text-align:left;color:var(--ink);background:var(--sf);border:1.5px solid var(--ln);border-radius:12px;padding:clamp(8px,1.4vh,13px) 12px;cursor:pointer;display:flex;gap:10px;align-items:flex-start;line-height:1.3;touch-action:manipulation}
.opt .k{flex:none;width:24px;height:24px;border-radius:7px;border:1px solid var(--ln);display:grid;place-items:center;font-size:12.5px;color:var(--mut)}
.opt:not([disabled]):hover{border-color:var(--or)}
.opt.sel{border-color:var(--an);background:var(--sf2)} .opt.sel .k{background:var(--an);color:#fff;border-color:var(--an)}
.opt[disabled]{cursor:default}
.opt.correct{border-color:var(--ok);background:var(--ok-l)} .opt.correct .k{border-color:var(--ok);color:var(--ok);background:transparent}
.opt.wrong{border-color:var(--bad);background:var(--bad-l)} .opt.wrong .k{border-color:var(--bad);color:var(--bad);background:transparent}
.opt.missed{border-color:var(--ok);border-style:dashed}
.opt.dim{display:none}
.ml{border:1.5px solid var(--ok);background:var(--ok-l);border-radius:12px;padding:10px 12px;font-size:clamp(14px,2vh,15.5px);line-height:1.38}
.ml b{display:block;color:var(--ok);font-size:13px;margin-bottom:3px}
.exp{margin-top:10px;border-radius:12px;padding:10px 12px;border:1px solid var(--ln);background:var(--bg);font-size:clamp(13.5px,1.9vh,15px);line-height:1.4}
.exp p{margin:4px 0 0}
.exp.ok strong{color:var(--ok)} .exp.bad strong{color:var(--bad)} .exp.mid strong{color:var(--warn)}
.exphead{display:flex;justify-content:space-between;align-items:center;gap:8px}
.flag{appearance:none;font:inherit;font-size:12px;color:var(--mut);background:transparent;border:1px solid var(--ln);border-radius:99px;padding:3px 9px;cursor:pointer;white-space:nowrap}
.src{font-size:12px;color:var(--mut)}
.lv-bar{flex:none;display:flex;gap:8px;padding-top:10px}
.lv-bar .btn{flex:1;padding:14px 10px}
.lv-bar:empty{display:none}
.lv-done{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:20px}
.big-num{font-size:46px;font-weight:800;color:var(--an);margin:6px 0}
.self{font-size:14px!important}
.self.r{background:var(--ok);color:#fff}.self.m{background:var(--b2);color:#fff}.self.w{background:var(--bad);color:#fff}
@media (max-height:640px){.q{font-size:15px}.opt{padding:7px 10px;font-size:14px}.opts{gap:5px}.exp{font-size:13px;padding:8px 10px}.meta{margin-bottom:4px}.lv-bar .btn{padding:11px 8px}}

/* Nachtschicht 2: Tabs, Heute, Dashboard, Fallstudien, Mündlich */
.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;border:1px solid var(--line,#E4E1DC);background:var(--card,#fff);color:inherit;border-radius:999px;padding:8px 14px;font:600 14px/1 Inter,system-ui,sans-serif;min-height:40px;cursor:pointer}
.tab.on{background:#383E42;color:#fff;border-color:#383E42}
.tab:focus-visible,.btn:focus-visible,.opt:focus-visible{outline:3px solid #E4650F;outline-offset:2px}
.heute{border-left:4px solid #E4650F;background:var(--or-l,#FBEEE6);border-radius:10px;padding:10px 12px;margin:0 0 12px;color:#24292D}
.heute a{color:#A8460A;font-weight:600}
.pane2{padding:8px 0 24px}.pane2 h2{font-size:22px;margin:6px 0 10px}.pane2 h3{font-size:16px;margin:18px 0 8px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 12px}
.kpi{background:var(--card,#fff);border:1px solid var(--line,#E4E1DC);border-radius:12px;padding:10px;text-align:center}
.kpi b{display:block;font-size:24px}.kpi span{font-size:12.5px;color:var(--mut,#5f6670)}
.todo{padding-left:20px}.todo li{margin:8px 0}
.pform{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}.pform label{display:flex;flex-direction:column;font-size:13px;gap:4px}
.pform input{min-height:40px;border:1px solid var(--line,#C9C4BC);border-radius:8px;padding:6px 8px;font:inherit}
tr.cur td{background:var(--or-l,#FBEEE6);font-weight:600}
.btn-xs{padding:5px 9px;font-size:12.5px;min-height:32px}
.ampel{border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;color:#fff}
.ampel.gruen{background:#1E7A45}.ampel.gelb{background:#8A5A12}.ampel.rot{background:#9B2C2C}
.dbar{margin:8px 0}.dbar .row{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.dbar .bar{height:10px;background:#E4E1DC;border-radius:6px;overflow:hidden}.dbar .bar i{display:block;height:100%;background:#E4650F}
.sinp{box-sizing:border-box;width:100%;min-height:44px;border:1px solid var(--line,#C9C4BC);border-radius:10px;padding:8px 12px;font:inherit;margin-bottom:10px}
.slist{padding-left:18px}.slist li{margin:6px 0}
.gli{padding:0 18px;margin-bottom:8px}.gli summary{cursor:pointer;min-height:28px;justify-content:flex-start;align-items:baseline;gap:8px;padding:14px 0}.gli summary::after{margin-left:auto}.gli p{margin:0 0 10px}.gli p.tiny{margin-bottom:14px}
.case .row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.kw{margin:8px 0}.kw label{display:flex;gap:8px;align-items:flex-start;margin:6px 0;min-height:28px}.kw input{width:20px;height:20px;flex:0 0 auto}
.timer.low{color:#B42318}
@media print{.hdr,.tabs,.heute,.noprint,footer,#ftr,.qnav,.navrow,.selfrow,button{display:none!important}body{background:#fff;color:#000}.qbox{break-inside:avoid;border:1px solid #999}}

.big.primary small{color:#fff;opacity:1}
#demoNote{min-height:68px}
#heuteBox{min-height:65px}
@media (max-width:640px){#demoNote{min-height:111px}}
.tabs:empty{min-height:54px}

/* ===== Hell/Dunkel (15.11.2026): feste Farben durch Variablen ersetzt ===== */
.tab{background:var(--sf);border-color:var(--ln);color:var(--ink);font-family:var(--font)}
.tab.on{background:var(--an);color:var(--bg);border-color:var(--an)}
.heute{color:var(--ink);background:var(--or-l)}
.kpi span{color:var(--mut)}
.dbar .bar{background:var(--ln)}
.pform input,.sinp{background:var(--sf);color:var(--ink);border-color:var(--ln)}
@media (prefers-color-scheme:dark){.timer.low{color:#FF8A7A}.ampel.gelb{background:#7A5210}}
@media (prefers-color-scheme:dark){.heute a,.note a,#demoNote a{color:#F6A16A}}
#demoNote{min-height:70px}@media (max-width:900px){#demoNote{min-height:90px}}@media (max-width:480px){#demoNote{min-height:134px}}
