/* PROB30 Journey Log Scanner styles (v22 Photo log look, restored v23.1 note 303). Independent copy: photolog/app.css styles are never shared with it (SCANNERS.md). */
.jlsheet .jlcons p{font:15px/1.45 Inter;margin:8px 0}
.jlsheet .jlcons a{color:var(--brand);font-weight:700}
.jlsheet .jlcons .btn{margin-top:8px}
.jlwait{text-align:center;padding:30px 16px}
.jlimg{text-align:center}
.jlimg img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#f1f3f8;cursor:zoom-in}
.jlimg small{display:block;color:var(--m);margin-top:6px}
.jlleg .lh{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.jlleg .lh button{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--line);background:#fff;font:700 15px Inter;color:var(--ink)}
.jlleg .lr{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px}
.jlleg .lr4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:2px}
.jlleg input{font:600 17px Inter!important;text-align:center;padding:10px 4px!important}
.jlleg label span{font-size:10px!important;white-space:nowrap}
.jlleg.flagged{border-color:var(--brand)}
.jlsheet input.flag{border-color:var(--brand)!important;background:var(--brand2)!important;box-shadow:0 0 0 2px rgba(232,80,26,.25)}
.jlx{display:grid;grid-template-columns:76px 1fr;gap:4px 10px;align-items:end;margin-top:2px}
.jlx small{font:500 12.5px/1.3 Inter;color:var(--m)}
.jlx .jlblk{grid-column:2}
.jlx label{grid-row:1/3}
.jlmsg div{font:600 13px/1.35 Inter;color:#a8350f;margin-top:6px}
.jlfill{display:flex;flex-wrap:wrap;gap:4px 16px}
.jlfill .ck2{display:flex;align-items:center;gap:8px;min-height:40px;margin:0}
.jlfill input{width:22px;height:22px;flex:none}
.jlzoom{position:fixed;inset:0;z-index:99999;background:#0b1530;display:flex;flex-direction:column}
.jlzoom .btn{margin:calc(env(safe-area-inset-top) + 10px) 12px 8px auto}
.jlzs{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
.jlzs img{display:block;width:230%;max-width:none}
.jlsheet{max-width:720px;margin-left:auto;margin-right:auto}
.jlbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 4px}
.jlbtns .jlb{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:8px 10px;text-align:center;cursor:pointer;white-space:normal;font:700 15px/1.2 Exo2;border-radius:12px;-webkit-tap-highlight-color:transparent}
.jlbtns .jlb i{flex:none;width:24px;height:24px;display:grid;place-items:center}
.jlbtns .jlb svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.jlbtns .jlb.lib{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.logt .photob2 .jlbtns .jlb{border:2px solid #fff;box-shadow:none}
.logt .photob2 .jlbtns .jlb.cam{background:#fff;color:var(--brand)}
.logt .photob2 .jlbtns .jlb.lib{background:transparent;color:#fff}
@media(max-width:340px){.jlbtns{grid-template-columns:1fr}
}.jlbtns .jlb span{display:inline;font:inherit!important;text-transform:none!important;letter-spacing:0!important;color:inherit!important;margin:0!important}
.jlbtns{grid-template-columns:1fr!important}
.logt label.jlone{cursor:pointer;-webkit-tap-highlight-color:transparent;box-sizing:border-box}
.jlfix{margin:0 0 10px}
.jlfix h4{margin:0 0 6px}
.jlfix .fx{border-top:1px solid var(--line,#e3e6ec);padding:8px 0 4px;font:500 14px/1.35 Inter}
.jlfix .fx:first-of-type{border-top:0}
.jlfix .fx b{color:var(--ink)}
.jlfix .fx .fxs{display:inline-block;font:800 11px/1 Exo2;letter-spacing:.04em;text-transform:uppercase;padding:3px 6px;border-radius:6px;margin-right:6px;vertical-align:1px}
.jlfix .fx.fixed .fxs{background:var(--ink);color:#fff}
.jlfix .fx.flag .fxs{background:var(--brand);color:#fff}
.jlfix .fx .fxb{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.jlfix .fx .fxb button{min-height:36px;padding:6px 10px;border-radius:10px;border:2px solid var(--ink);background:#fff;color:var(--ink);font:700 13.5px Exo2}
.jlfix .fx .fxb button.on{background:var(--ink);color:#fff}
.jlnight{font:600 12.5px/1.3 Inter;color:var(--ink)}
.jlnight b{color:var(--brand)}
.jlscanimg img{max-height:none;max-height:62vh;background:#fff;border:1px solid #c3cad6}
.jlcrop{position:relative;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;line-height:0;margin:8px 0;border-radius:10px;overflow:hidden;background:#111}
.jlcrop img{width:100%;display:block;pointer-events:none;-webkit-user-drag:none}
.jlcrop svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.jlcrop polygon{fill:rgba(232,80,26,.14);stroke:#e8501a;stroke-width:.7;vector-effect:non-scaling-stroke;stroke-width:2.5px}
.jlcrop .jlh{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:rgba(232,80,26,.88);border:3px solid #fff;box-shadow:0 0 0 2px #1b2f5e;cursor:grab;touch-action:none}
#jlcropmsg{color:#b3300b;font-weight:600;min-height:1em}
.jltot{padding:10px 12px}
.jltcs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jltc{border:2px solid #1b2f5e;border-radius:12px;padding:8px 10px;text-align:center;background:#fff}
.jltc span{display:block;font:700 12px/1.2 Inter;color:#1b2f5e;text-transform:uppercase;letter-spacing:.04em}
.jltc b{display:block;font:800 30px/1.15 Inter;color:#1b2f5e;font-variant-numeric:tabular-nums}
.jltc small{display:block;font:600 12.5px/1.3 Inter;margin-top:2px}
.jltc .jlto{color:#1b6b3a}
.jltc .jltb{color:#b3300b}
.jltc .jltn{color:#6b7280;font-weight:500}
.jltc.bad{border-color:#e8501a;background:#fff4ee}
.jlleg .lh{gap:8px}
.jlleg .lh b{flex:1;min-width:0}
.jlbad{display:inline-block;font:800 11px/1 Exo2;letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:8px;background:var(--brand);color:#fff;white-space:nowrap}
.jlbad[hidden]{display:none}
.jlleg.flagged{border:2.5px solid var(--brand)!important;box-shadow:inset 6px 0 0 var(--brand)}
.jlleg.jlskip{opacity:.72}
.jlsheet input.assumed{border:2px dashed var(--ink)!important;background:#fff!important}
.jldupm{margin-top:8px;padding:8px 10px;border-radius:10px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:500 14px/1.4 Inter}
.jldupm .btn{margin-top:6px;min-height:38px}
.jlsheet .jlconsck{display:flex!important;align-items:flex-start;gap:10px;margin:12px 0;padding:10px;border:2px solid var(--ink);border-radius:12px;font:600 14.5px/1.4 Inter}
.jlsheet .jlconsck input{width:24px!important;height:24px;flex:none;accent-color:var(--brand);margin-top:1px}
.jlsheet .btn:disabled{opacity:.45}
#jlban .ban,#jlban .ban.expired,#jlban .ban.info{background:var(--brand2);color:var(--ink);border-left:4px solid var(--brand)}
