/* R22 uses ATLAS theme tokens, so every existing map theme carries into the logbook. */
.k4-sheet.lb-sheet{width:min(1180px,100vw)}
.lb-sheet .k4-sh-in{padding:24px clamp(14px,3vw,42px) 60px}
.lb-sheet .k4-room>.k4-title{display:none}
.lb-app{font:14px/1.6 var(--k4-ui,"Segoe UI",sans-serif);color:var(--k4-ink);min-width:0}
.lb-app *{box-sizing:border-box}
.lb-app h2{font:clamp(30px,5vw,52px)/1.1 var(--k4-disp,Georgia,serif);margin:4px 0 12px;letter-spacing:-.03em}
.lb-app h3{font:600 16px/1.4 var(--k4-ui,sans-serif);margin:0 0 18px}
.lb-app h4{font:26px/1.3 var(--k4-disp,Georgia,serif);margin:12px 0}
.lb-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:26px}
.lb-heading p{margin:8px 0;color:var(--k4-dim)}
.lb-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--k4-acc)!important}
.lb-access{text-align:right;font-size:12px;color:var(--k4-acc);padding-top:10px}
.lb-access small{display:block;color:var(--k4-dim)}
.lb-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--k4-line);padding:0 0 12px;margin:0 0 10px;scrollbar-width:thin}
.lb-button{font:600 12px/1.4 var(--k4-ui,sans-serif);border:1px solid var(--k4-line);border-radius:8px;color:var(--k4-ink);background:var(--k4-card);padding:10px 13px;cursor:pointer;white-space:nowrap;min-height:40px}
.lb-button:hover,.lb-button[aria-current="page"]{border-color:var(--k4-acc);color:var(--k4-acc)}
.lb-button.primary{background:var(--k4-acc);color:var(--k4-on-acc);border-color:var(--k4-acc)}
.lb-button.danger{border-style:dashed}
.lb-button:disabled{opacity:.45;cursor:default}
.lb-app :focus-visible{outline:2px solid var(--k4-acc);outline-offset:3px}
.lb-status{color:var(--k4-acc);min-height:1em;font-size:13px}
.lb-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.lb-metric{border-top:2px solid var(--k4-acc);padding:16px 14px;background:var(--k4-card);border-radius:0 0 10px 10px}
.lb-metric small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--k4-dim)}
.lb-metric b{font:clamp(22px,3vw,36px)/1.7 var(--k4-disp,Georgia,serif);overflow-wrap:anywhere}
.lb-metric em{font:12px var(--k4-ui,sans-serif);margin-left:5px;color:var(--k4-dim)}
.lb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lb-panel{border:1px solid var(--k4-line);border-radius:14px;padding:22px;margin:0 0 18px;background:var(--k4-card);min-width:0}
.lb-chart{width:100%;height:auto;display:block;overflow:visible;color:var(--k4-acc)}
.lb-chart text{font:11px var(--k4-ui,sans-serif);fill:var(--k4-dim)}
.lb-gridline{stroke:var(--k4-line);fill:none}
.lb-line{stroke:var(--k4-acc);stroke-width:3;fill:none;stroke-linejoin:round}
.lb-area{fill:currentColor;opacity:.08}
.lb-calendar rect{fill:var(--k4-acc)}
.lb-radar{fill:var(--k4-acc);fill-opacity:.16;stroke:var(--k4-acc);stroke-width:2}
.lb-network{max-height:430px}.lb-network circle{fill:var(--k4-acc)}.lb-route{stroke:var(--k4-acc);stroke-width:1;opacity:.3;fill:none}
.lb-app progress{display:block;width:100%;height:7px;accent-color:var(--k4-acc);border:0;border-radius:8px;background:var(--k4-line)}
.lb-app progress::-webkit-progress-bar{background:var(--k4-line);border-radius:8px}
.lb-app progress::-webkit-progress-value{background:var(--k4-acc);border-radius:8px}
.lb-bars>div{display:grid;grid-template-columns:minmax(75px,1fr) minmax(30px,1fr) auto;gap:12px;align-items:center;font-size:12px;margin:14px 0}
.lb-bars b{font-weight:500;min-width:55px;text-align:right}
.lb-scroll{overflow:auto;max-width:100%;scrollbar-width:thin}
.lb-app table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.lb-app th{color:var(--k4-dim);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.lb-app td,.lb-app th{padding:12px 10px;border-bottom:1px solid var(--k4-line);vertical-align:top}
.lb-app td{overflow-wrap:anywhere;white-space:pre-wrap;min-width:70px}
.lb-muted,.lb-foot{color:var(--k4-dim);font-size:12px}
.lb-foot{border-top:1px solid var(--k4-line);margin-top:24px;padding-top:18px}
.lb-app details>summary{cursor:pointer;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.lb-app details>summary::before{content:"+";color:var(--k4-acc)}
.lb-app details[open]>summary::before{content:"-"}
.lb-app details>summary span{flex:1}
.lb-app details[open]>summary{margin-bottom:20px}
.lb-requirement{border-top:1px solid var(--k4-line);padding:14px 0;font-size:12px}
.lb-milestones{list-style:none;padding:0;margin:0}
.lb-milestones li{display:grid;grid-template-columns:10px 1fr auto;gap:15px;align-items:baseline;border-bottom:1px solid var(--k4-line);padding:16px 0;font-size:12px}
.lb-milestones small{display:block;color:var(--k4-dim);margin:4px 0 10px}
.lb-dot{width:7px;height:7px;border-radius:50%;border:1px solid var(--k4-dim)}
.earned .lb-dot{background:var(--k4-acc);border-color:var(--k4-acc)}
.lb-app label{display:grid;gap:6px;font-size:12px;color:var(--k4-dim)}
.lb-app input,.lb-app textarea,.lb-app select{width:100%;min-width:0;background:var(--k4-paper);color:var(--k4-ink);border:1px solid var(--k4-line);border-radius:7px;padding:10px;font:14px/1.5 var(--k4-ui,sans-serif)}
.lb-app textarea{resize:vertical}.lb-app input[type="checkbox"]{width:auto}
.lb-toolbar{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}
.lb-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.lb-actions p{margin:0;font-size:12px;color:var(--k4-dim)}
.lb-picker{max-width:360px;margin:0 0 20px}
.lb-records{border-top:1px solid var(--k4-line)}
.lb-record{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:18px 8px;background:none;border:0;border-bottom:1px solid var(--k4-line);color:var(--k4-ink);text-align:left;cursor:pointer;font:13px/1.5 var(--k4-ui,sans-serif)}
.lb-record:hover{background:var(--k4-card)}.lb-record b{font-weight:600}.lb-record small{display:block;color:var(--k4-dim);margin-top:5px}.lb-record strong{white-space:nowrap;color:var(--k4-acc);font-weight:500}
.lb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lb-full{grid-column:1/-1}
.lb-savebar{display:flex;gap:10px;position:sticky;bottom:-45px;padding:16px 0;background:var(--k4-paper);z-index:2;border-top:1px solid var(--k4-line)}
.lb-child{border-top:1px solid var(--k4-line);padding:12px 0 22px}
.lb-error{border:1px solid var(--k4-acc);padding:15px;border-radius:8px;color:var(--k4-ink)}
@media(max-width:700px){
  .lb-time-series text{font-size:22px}.lb-network text{font-size:17px}
  .lb-heading{display:block}.lb-access{text-align:left;padding-top:4px}
  .lb-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .lb-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .lb-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lb-panel{padding:16px}.lb-app th,.lb-app td{padding:10px 6px}
  .lb-milestones li{grid-template-columns:8px 1fr}.lb-milestones li>span:last-child{grid-column:2}
  .lb-app details>summary{flex-wrap:wrap;gap:8px}
}
@media(max-width:390px){.lb-fields{grid-template-columns:minmax(0,1fr)}}
@media print{.lb-tabs,.lb-actions,.lb-savebar,.lb-foot{display:none}.lb-panel{break-inside:avoid}}
