:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#172033;background:#eef3f8}*{box-sizing:border-box}body{margin:0}.shell{max-width:780px;margin:auto;padding:16px}header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 4px 20px}header a{color:#0b5cab;text-decoration:none;font-weight:700}nav{display:flex;gap:14px;flex-wrap:wrap}.card{background:#fff;border-radius:22px;padding:26px;box-shadow:0 12px 35px #0b29451a}.status-card{text-align:center}.wide{text-align:left}.muted,.name,small{color:#667085}.dot{width:22px;height:22px;border-radius:50%;margin:auto}.dot.on{background:#16834a;box-shadow:0 0 0 8px #16834a20}.dot.off{background:#b62f3e;box-shadow:0 0 0 8px #b62f3e20}form{display:grid;gap:16px;margin-top:20px}label{display:grid;gap:7px;font-weight:600}label.check{display:flex;align-items:center;gap:8px}label.check input{width:auto}input{width:100%;padding:13px;border:1px solid #cfd8e3;border-radius:12px;font:inherit}fieldset{border:1px solid #cfd8e3;border-radius:12px;padding:14px;display:grid;gap:8px}button,.button{border:0;border-radius:14px;padding:15px 22px;font:inherit;font-weight:750;color:#fff;background:#0b5cab;cursor:pointer;text-decoration:none}.action{font-size:1.2rem}.success{background:#16834a}.danger{background:#b62f3e}.flash{padding:13px 15px;border-radius:12px;margin-bottom:16px}.flash.ok{background:#daf4e5;color:#12663a}.flash.error{background:#fde2e5;color:#8d1f2c}.week{border:1px solid #dce4ed;border-radius:15px;margin:12px 0;overflow:hidden}.week summary{padding:16px;display:flex;justify-content:space-between;cursor:pointer;background:#f7fafc;font-size:1.05rem}.week-body{padding:12px}.day{border-bottom:1px solid #e7edf3;padding:14px 4px}.day:last-child{border-bottom:0}.day-head,.timeline,.day-sum,.week-sum,.month{display:flex;justify-content:space-between;gap:12px;align-items:center}.day-head small,.month small{display:block}.timeline{padding:8px 10px;margin:5px 0;border-radius:9px;background:#eef7f2}.timeline.pause{background:#fff3d8}.day-sum,.week-sum{padding-top:10px;margin-top:8px;border-top:1px dashed #cfd8e3}.week-sum{padding:15px 6px;font-size:1.05rem}.months{display:grid;gap:9px}.month{padding:14px;border-radius:12px;background:#f7fafc}.day-total{font-size:1.1rem}@media(max-width:600px){.shell{padding:11px}.card{padding:18px}header{align-items:flex-start;flex-direction:column}nav{font-size:.95rem}.week summary{padding:14px}.week-body{padding:8px}.day{padding:12px 2px}.timeline{font-size:.95rem}}
