:root{--bg:#f6f6f4;--card:#fff;--text:#1d1d1f;--muted:#6b6b70;--line:#e2e2de;--accent:#2f6fdb;--accent-soft:#c9dafa;--deducted:#d64545;--undecided:#e3a21a;--kept:#7aa874;--ceded:#8d8d95}@media (prefers-color-scheme:dark){:root{--bg:#161618;--card:#1f1f22;--text:#ececee;--muted:#9a9aa2;--line:#34343a;--accent:#6c9cf0;--accent-soft:#2c3f63;--ceded:#6d6d75}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0;font-size:20px}h1:first-letter{text-transform:uppercase}h2{margin:22px 0 8px;font-size:15px}button{font:inherit}.muted{color:var(--muted)}.spacer{flex:1}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.top{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 20px;display:flex}.top .brand{color:var(--text);font-weight:700}.top .scope{color:var(--muted)}.top .who{color:var(--muted);font-size:13px}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.page{max-width:1100px;margin:0 auto;padding:20px 16px 60px}.login{max-width:340px;margin:12vh auto;padding:0 16px}.login h1{text-transform:none;margin-bottom:18px}.login-form{gap:12px;display:grid}.login-form label{color:var(--muted);gap:4px;font-size:13px;display:grid}.login-form input{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:6px;padding:8px 10px}.login-form button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:9px}.error{color:var(--deducted);margin:0}.period{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;display:flex}.period>a[aria-label]{padding:0 4px;font-size:20px}.views{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.views a{color:var(--text);padding:4px 10px;font-size:13px}.views a+a{border-left:1px solid var(--line)}.views a.on{background:var(--accent);color:#fff}.totals{flex-wrap:wrap;gap:10px;display:flex}.total{background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:130px;padding:10px 14px;display:grid}.total span{color:var(--muted);font-size:12px}.total strong{font-variant-numeric:tabular-nums;font-size:22px}.total.main strong{color:var(--accent)}.note{color:var(--muted);font-size:13px}.columns{grid-template-columns:3fr 2fr;gap:28px;display:grid}@media (max-width:760px){.columns{grid-template-columns:1fr}}table{border-collapse:collapse;width:100%}td{border-bottom:1px solid var(--line);padding:5px 4px}.days td:first-child{text-transform:capitalize;width:110px}.days tr.empty td{color:var(--muted)}.bar-cell{width:60%}.bar{background:var(--accent);border-radius:3px;height:10px;display:block}.flag{width:18px;color:var(--undecided);font-size:10px}.exports{gap:14px;display:flex}.timeline{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-top:18px;padding:26px 14px 10px}.axis{border-top:1px solid var(--line);height:0;margin-bottom:8px;position:relative}.axis span{color:var(--muted);font-size:11px;position:absolute;top:-20px;transform:translate(-50%)}.lane{margin:10px 0 14px}.track,.heat{position:relative}.track{height:18px}.heat{height:8px;margin-top:2px}.track span,.heat span{position:absolute;top:0;bottom:0}.seg{background:var(--accent-soft);border:1px solid var(--accent);border-radius:3px}.heat span{background:var(--accent)}.deducted{background:repeating-linear-gradient(135deg, var(--deducted) 0 3px, transparent 3px 6px);opacity:.85}.idle.undecided{background:var(--undecided);opacity:.75}.idle.kept{border-top:3px solid var(--kept)}.idle.deducted{display:none}.ceded{background:repeating-linear-gradient(45deg, var(--ceded) 0 3px, transparent 3px 6px)}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 4px;margin:12px 0 0;font-size:12px;display:flex}.key{width:18px;height:10px;margin:0 2px 0 10px;display:inline-block;position:relative}.key.idle.deducted{display:inline-block}.key.heat-key{background:var(--accent);opacity:.6}.session{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-top:14px;padding:4px 14px 14px}.figures{margin:0 0 6px}.mark,.marks{color:var(--muted);margin:4px 0;font-size:13px}.marks{padding-left:18px}.captures{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.captures figure{margin:0}.screens{gap:3px;display:flex}.screens img,.placeholder{object-fit:cover;border:1px solid var(--line);border-radius:4px;width:168px;height:95px;display:block}.placeholder{color:var(--muted);background:var(--bg);padding:8px;font-size:11px;overflow:hidden}figcaption{color:var(--muted);margin-top:2px;font-size:11px}
