/* LAN Control — Productivity (public/prod.js). Plain on purpose: tables, one strip, one set of bars.
   Console tokens only, so every skin follows. */
.pm-wait { padding:40px 0; text-align:center; }
.pm-top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.pm-pick, .pm-range { display:flex; gap:4px; flex-wrap:wrap; }
.pm-pick button, .pm-range button { border:1px solid var(--line); background:var(--surface); color:var(--ink-2); font:inherit; font-size:13.5px; font-weight:500; padding:6px 14px; border-radius:99px; cursor:pointer; }
.pm-pick button:hover, .pm-range button:hover { border-color:var(--line-2); color:var(--ink); }
.pm-pick button.on { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
.pm-range button { border-color:transparent; background:none; color:var(--muted); padding:6px 10px; }
.pm-range button.on { color:var(--accent-text); box-shadow:inset 0 -2px 0 var(--gold); border-radius:0; }

.pm-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.pm-head h2 { margin:0; font:700 22px/1.2 Montserrat, sans-serif; }
.pm-score { text-align:right; line-height:1; }
.pm-score b { display:block; font:700 44px/1 Montserrat, sans-serif; color:var(--ink); }
.pm-score span { font-size:12.5px; color:var(--muted); }
.pm-score.ok b, .pm-n.ok { color:var(--ok); } .pm-score.pgood b, .pm-n.pgood { color:var(--gold-ink); }
.pm-score.warn b, .pm-n.warn { color:var(--warn); } .pm-score.bad b, .pm-n.bad { color:var(--bad); }
.pm-n { font-size:15px; font-variant-numeric:tabular-nums; }
.pm-facts { display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr)); gap:14px; border-top:1px solid var(--line); padding-top:14px; }
.pm-facts span { display:block; font-size:12px; color:var(--muted); }
.pm-facts b { font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; }
.pm-facts small { font-weight:400; color:var(--muted); font-size:12px; }
.pm-parts { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px 24px; margin-top:16px; }
.pm-parts div { display:grid; grid-template-columns:78px 1fr 28px; align-items:center; gap:10px; font-size:13px; }
.pm-parts span { color:var(--ink-2); }
.pm-parts i { height:5px; border-radius:3px; background:var(--soft); overflow:hidden; }
.pm-parts i b { display:block; height:100%; background:var(--accent); border-radius:3px; }
.pm-parts em { font-style:normal; text-align:right; font-variant-numeric:tabular-nums; }

.pm-t tbody tr[data-row] { cursor:pointer; }
.pm-x { font-weight:600; font-variant-numeric:tabular-nums; }
.pm-x.ok { color:var(--ok); } .pm-x.warn { color:var(--warn); } .pm-x.bad { color:var(--bad); }
.pm-lead { margin:0 0 14px; font-size:13.5px; }

.pm-notes { padding:14px 18px; border-left:2px solid var(--gold); background:var(--surface); border-radius:0 var(--r) var(--r) 0; margin-bottom:18px; font-size:13.5px; }
.pm-notes ul { margin:6px 0 0; padding-left:18px; }
.pm-notes li { margin:4px 0; }
.pm-how { margin:6px 0 18px; font-size:13.5px; }
.pm-how summary { cursor:pointer; color:var(--muted); }
.pm-howb { padding:12px 0 0; color:var(--ink-2); }
.pm-howb p { margin:0 0 10px; }
.pm-cfg { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; }
.pm-cfg label { display:flex; align-items:center; gap:6px; font-size:13px; }
.pm-cfg input, .pm-own input { width:70px; height:30px; }
.pm-own { font-size:13.5px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:18px; }

/* The day strip */
.pm-daynav { display:flex; align-items:center; gap:4px; font-size:13px; color:var(--ink-2); }
.pm-rib { display:flex; flex-direction:column; gap:8px; }
.pm-rr { display:grid; grid-template-columns:150px 1fr; gap:12px; align-items:center; }
.pm-rib.one .pm-rr { grid-template-columns:1fr; }
.pm-rn b { display:block; font-size:13.5px; } .pm-rn span { font-size:12px; color:var(--muted); } .pm-rn em { font-style:normal; }
.pm-rt { position:relative; height:24px; border-radius:5px; background:var(--soft); }
.pm-rt .gl { position:absolute; top:0; bottom:0; width:1px; background:var(--line); }
.pm-rt .seg { position:absolute; top:5px; bottom:5px; border-radius:2px; }
.pm-rt .seg.a, .pm-key .a, .pm-days .a { background:var(--ok); fill:var(--ok); }
.pm-rt .seg.d, .pm-key .d, .pm-days .d { background:var(--bad); fill:var(--bad); opacity:.75; }
.pm-rt .ev { position:absolute; top:1px; bottom:1px; width:2px; margin-left:-1px; background:var(--gold); }
.pm-rt .ev.s { width:4px; margin-left:-2px; background:var(--accent); top:0; bottom:0; }
.pm-rt .now { position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ink); opacity:.5; }
.pm-ax { position:relative; height:14px; }
.pm-ax span { position:absolute; transform:translateX(-50%); font-size:10.5px; color:var(--muted); }
.pm-key { display:flex; gap:6px 14px; flex-wrap:wrap; align-items:center; font-size:12px; color:var(--muted); margin:10px 0 0; }
.panel-h .pm-key { margin:0; }
.pm-key i { display:inline-block; width:12px; height:8px; border-radius:2px; margin-right:-8px; vertical-align:middle; }
.pm-key i.e { width:2px; height:12px; background:var(--gold); margin-right:-10px; } .pm-key i.s { width:4px; height:12px; background:var(--accent); margin-right:-10px; }

.pm-days { width:100%; height:auto; display:block; overflow:visible; }
.pm-days .s { font-size:11px; fill:var(--ink-2); font-weight:600; }
.pm-days .l { font-size:11px; fill:var(--muted); }
.pm-days .ax { stroke:var(--line-2); }

.pm-tip { position:fixed; z-index:400; pointer-events:none; max-width:260px; padding:7px 10px; border-radius:8px; font-size:12.5px; line-height:1.45; background:var(--ink); color:var(--bg); }

@media (max-width: 820px) {
  .pm-rr { grid-template-columns:1fr; gap:3px; }
  .pm-rr > div:empty { display:none; }
  .pm-score b { font-size:36px; }
}
