/* public/timeclock-history.css — the Time Clock "Shift History" view (public/timeclock-history.js). Built to the approved board
   "Time Clock Shift List" (2026-10-26). Tokens only; no one-side coloured strokes. */
#histView{display:flex;flex-direction:column;gap:16px;}
#histView[hidden],#weekView[hidden]{display:none;}
.hv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.hv-exp .hv-menu{width:240px;}
.hv-exp .btn[disabled]{cursor:not-allowed;}
.hv-top-r{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-left:auto;}
.hv-top .btn,.hv-top .slab-filter-btn{height:var(--field-h,40px);}
.hv-add{display:flex;}
.hv-add:empty{display:none;}
.hv-tools{position:relative;}
.hv-tools .slab-filter-pop{top:100%;right:0;}
.hv-empty{padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.hv-empty>.mi{font-size:32px;color:var(--text-muted);}
.hv-et{font-size:17px;font-weight:700;color:var(--text-strong);}
.hv-eb{color:var(--text-3);font-size:15px;max-width:520px;line-height:1.45;}
.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:8px 0;}
.kpi{background:var(--surface-card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;min-width:0;}
.kpi-v{font-size:26px;font-weight:700;color:var(--text-strong);line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums;}
.kpi-l{font-size:15px;color:var(--text-muted);margin-top:3px;}
.kpi-d{font-size:14px;font-weight:600;margin-top:5px;color:var(--text-muted);}
/* the shared .kpi-row in slab-critical lays a KPI out as an icon row; the board's Shift History KPI is value over label over detail */
#histView .kpi-row .kpi{display:block;}
#histView .kpi-row .kpi>div{flex:none;}
#histView .kpi-row .kpi-v{font-size:26px;}
#histView .kpi-row .kpi-l{text-wrap:wrap;}
#histView .kpi-row .kpi-d{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}   /* one line on every card; the full text is in the title */
@media (max-width:1100px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}}
.hv-card{padding:0;overflow:visible;}
.hv-scroll{overflow:auto;max-height:637px;border-radius:12px 12px 0 0;}
.hv-foot{background:var(--surface-menu);border-top:1px solid var(--border);border-radius:0 0 12px 12px;overflow:hidden;}
.hv-tbl.slab-table--pin1 td.band .bl{display:inline-block;position:sticky;left:52px;}   /* the week label stays beside the frozen checkbox while the table scrolls sideways */
.hv-tbl,.hv-ftbl{table-layout:fixed;min-width:0;}
.hv-tbl thead th{cursor:pointer;user-select:none;}
.hv-tbl thead th.slab-cb-cell,.hv-tbl thead th.slab-c:not([data-sort]){cursor:default;}
.hv-tbl thead th .tri{width:8px;height:6px;margin-left:6px;fill:currentColor;opacity:.4;vertical-align:1px;}
.hv-tbl thead th.hv-on{color:var(--text);}
.hv-tbl thead th.hv-on .tri{opacity:1;}
.hv-tbl thead th .tri.dn{transform:rotate(180deg);}
.hv-tbl td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hv-tbl tbody tr.hv-row{cursor:pointer;}
.hv-tbl td.band{height:auto;padding:8px 12px;background:var(--surface-menu);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:visible;}
.hv-tbl td.band b{color:var(--text-strong);font-weight:700;}
.hv-tbl td.band.bn{color:var(--text-strong);font-weight:700;}
.hv-tbl .slab-cb-cell{overflow:visible;}
.hv-tbl .idc{color:var(--text);}
.hv-tbl .emph{color:var(--text);font-weight:600;}
.hv-tbl td.hv-notec{overflow:visible;padding:0 12px;}
.hv-ftbl tfoot td{padding:11px 12px;background:transparent;border-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hv-ftbl tfoot td:first-child{padding:0;}
.hv-clrsel{margin-left:12px;vertical-align:-2px;}
.hv-clrsel .mi{font-size:16px;}
.hv-st{display:inline-flex;align-items:center;justify-content:center;min-width:140px;box-sizing:border-box;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;line-height:1.3;border:1px solid transparent;}
.hv-st.inv{background:var(--bg-deep,var(--surface-sunken));color:var(--text-muted);border-color:var(--border);}
.hv-st.draft{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-bd);}
.hv-st.nb{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:var(--status-warn-bd);}
.hv-st.bst{margin-left:12px;vertical-align:1px;}
.xnb{margin-left:12px;color:var(--status-warn-fg);font-size:14px;font-weight:600;}
.hv-flag{display:inline-flex;align-items:center;margin-left:6px;vertical-align:-3px;}
.hv-flag .mi{font-size:16px;color:var(--status-warn-fg);}
.hv-flag-btn{width:24px;height:24px;margin:-2px 0 -2px 4px;padding:0;justify-content:center;border:0;background:none;border-radius:6px;cursor:pointer;}
.hv-flag-btn:hover{background:var(--status-warn-bg);}
.paytip-anchor .hv-flag-btn{vertical-align:middle;}
.sh-note{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-3px 0;padding:0;border:0;border-radius:7px;background:none;color:var(--text-3);cursor:pointer;vertical-align:middle;}
.sh-note .mi{font-size:18px;}
.sh-note:hover{background:var(--border);color:var(--text-strong);}
.hv-tiph{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-weight:600;}
.hv-tipf{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-variant-numeric:tabular-nums;}
.hv-tiph .hv-st{width:auto;}
.hv-rooms{display:grid;gap:6px;margin-bottom:8px;}
.hv-rooms div{display:flex;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.hv-rooms b{font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-strong);}
.hv-rooms span{font-weight:700;color:var(--text-3);text-align:right;}
/* print options box */
.hv-ta{height:auto;min-height:76px;padding:8px 12px;resize:vertical;font-family:inherit;line-height:1.35;}
.hv-sw{display:flex;flex-direction:column;}
.hv-swrow{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 0;border-bottom:1px solid var(--border);}
.hv-swrow:first-child{border-top:1px solid var(--border);}
.hv-swt{font-weight:600;color:var(--text-strong);}
.hv-sws{color:var(--text-3);font-size:14px;margin-top:3px;}
.hv-pfnote{display:flex;gap:8px;align-items:flex-start;color:var(--text-3);font-size:14px;line-height:1.45;}
.hv-pfnote .mi{font-size:16px;color:var(--text-muted);margin-top:2px;flex-shrink:0;}
@media print{#histView{display:none!important;}}


/* board 8 and 9: clocked-in shifts, imported weeks */
.hv-live{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;background:var(--status-ok-bg);border:1px solid var(--status-ok-bd);color:var(--status-ok-fg);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;box-sizing:border-box;white-space:nowrap;vertical-align:middle;}
.hv-missed{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--status-warn-bg);border:1px solid var(--status-warn-bd);color:var(--status-warn-fg);white-space:nowrap;}.hv-missed-n{color:var(--status-warn-fg);font-weight:600;}
.hv-live i{width:6px;height:6px;border-radius:50%;background:currentColor;}
.hv-tbl td.sofar{color:var(--text-3)!important;font-style:italic;}
.xlv{margin-left:12px;color:var(--status-ok-fg);font-size:14px;font-weight:600;}
.bttag{display:inline-flex;align-items:center;gap:4px;margin-left:12px;color:var(--text-3);font-size:14px;font-weight:600;vertical-align:-3px;}
.bttag .mi{font-size:16px;}
.hv-tbl tr.ro td{color:var(--text-3);}
.hv-tbl tr.ro td.idc{color:var(--text-2);}
.hv-tbl tbody tr.hv-row.ro{cursor:default;}
.slab-cb:disabled{opacity:.35;cursor:not-allowed;}
#histView .kpi-row.n3{grid-template-columns:repeat(3,minmax(0,1fr));}
.hv-tbl.hv-nodw .hv-dw,.hv-tbl.hv-nody .hv-dy{display:none;}
.hv-tbl.hv-tight th,.hv-tbl.hv-tight td,.hv-ftbl.hv-tight td{padding-left:8px;padding-right:8px;}
