/* Data sheet (Excel-style) */
.sh-wrap { padding: 0; overflow: auto; max-height: 72vh; }
.sheet-t { font-size: 13px; border-collapse: separate; border-spacing: 0; }
.sheet-t th { position: sticky; top: 0; z-index: 3; background: var(--panel); vertical-align: bottom; min-width: 120px; padding: 8px 8px 6px; border-bottom: 1px solid var(--line); }
.sheet-t th small { display: block; font-weight: 400; font-size: 11px; color: var(--muted); white-space: nowrap; }
.sheet-t td { padding: 0; border-bottom: 1px solid var(--line); border-right: 1px solid color-mix(in srgb, var(--line) 55%, transparent); }
.sheet-t .sh-dh { position: sticky; left: 0; z-index: 2; background: var(--panel); min-width: 150px; box-shadow: 1px 0 0 var(--line); }
.sheet-t thead .sh-dh { z-index: 4; }
.sheet-t td.sh-dh { padding: 0 10px; }
.sh-th { display: flex; align-items: center; gap: 6px; color: var(--ink); font-weight: 600; }
.sh-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 160px; }
.sh-colmenu { margin-left: auto; padding: 0 6px; opacity: .55; }
.sheet-t th:hover .sh-colmenu, .sh-colmenu:focus-visible { opacity: 1; }
.sheet-t th.fx, .sheet-t td.fx { background: color-mix(in srgb, var(--accent) 5%, var(--panel)); }
.sheet-t th.sh-add { min-width: 110px; vertical-align: middle; }
.sh-cell { border-radius: 0; text-align: right; font-variant-numeric: tabular-nums; min-width: 110px; padding: 8px 10px; height: 36px; }
.sh-cell:focus { border-radius: 4px; }
.sh-cell::placeholder { color: transparent; }
.sh-cell.locked { color: var(--muted); cursor: default; background: repeating-linear-gradient(135deg, transparent 0 7px, color-mix(in srgb, var(--line) 35%, transparent) 7px 8px); }
td.fx .sh-cell.locked { background: none; color: var(--accent); font-weight: 600; }
.sh-date { min-width: 190px; text-align: left; padding: 6px 4px; }
.sh-day { white-space: nowrap; font-weight: 500; }
.sheet-t tbody tr:hover td { background: color-mix(in srgb, var(--accent) 3%, var(--panel)); }
.sheet-t tbody tr:focus-within td { background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.sheet-t tr.fresh td { background: color-mix(in srgb, var(--good) 8%, var(--panel)); }
.sh-card .sh-cell { text-align: left; }
.sh-card .sh-day { font-family: var(--serif); font-size: 15px; }
