/* ════════════════════════════════════════════════════════════════════════════
   Page body standard (24.09.2026) — the look of public/ui.js (Tbl · Ui)
   One table: div grid on --tbl-cols, rows on --row (density), hairlines,
   no state stripe, no row-action column (row click + right-click menu).
   Mockups: https://claude.ai/artifact/5UmXJPjWVKaZogzkfHHujR
   ════════════════════════════════════════════════════════════════════════════ */

.tbl{font:400 13px/1.35 var(--font-body);color:var(--text);min-width:0}
.tbl-card{padding:0!important;overflow:visible}
.tbl-wrap{min-width:0}
/* Wider than its card (set by ui.js after measuring): scroll sideways; the head then sticks inside the box */
.tbl.is-wide .tbl-wrap{overflow-x:auto}
.tbl.is-wide .tbl-wrap>.tbl-row,.tbl.is-wide .tbl-wrap>.tbl-body{min-width:var(--tbl-min)}
.tbl-row{display:grid;grid-template-columns:var(--tbl-cols);align-items:center;min-height:var(--row,34px);border-bottom:1px solid var(--line-soft)}
.tbl-body>.tbl-row:last-child{border-bottom:0}
.tbl-td,.tbl-th{padding:6px 12px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tbl-row>:first-child{padding-left:20px}
.tbl-row>:last-child{padding-right:16px}
.tbl-td.is-r,.tbl-th.is-r{text-align:right;justify-content:flex-end}
/* Controls never get an ellipsis — only text does */
.tbl-td.tbl-t-run,.tbl-td.tbl-t-toggle,.tbl-td.tbl-t-flag,.tbl-td.tbl-t-stepper,.tbl-td.tbl-t-level,.tbl-td.tbl-t-hour,.tbl-td.tbl-t-select,.tbl-td.tbl-t-range,.tbl-td.tbl-t-pct{text-overflow:clip}
.tbl-td.tbl-t-run{padding-left:6px;padding-right:6px;display:flex;justify-content:flex-end}
.tbl-head{min-height:32px;position:sticky;top:0;z-index:3;background:var(--th-bg);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--border)}
.tbl-th{display:flex;align-items:center;gap:4px;font:700 10px/1 var(--font-body);color:var(--text-2);text-transform:uppercase;letter-spacing:.6px;user-select:none}
.tbl-th.is-sortable{cursor:pointer}
.tbl-th.is-sortable:hover,.tbl-th.is-sorted{color:var(--text)}
.tbl-th.is-sorted .hdr-i{color:var(--indigo)}
.tbl-sort-hint{display:inline-flex;opacity:0;transition:opacity .12s}
.tbl-th.is-sortable:hover .tbl-sort-hint{opacity:.55}
.tbl-foot{background:var(--th-bg);border-top:1px solid var(--border);border-bottom:0;font-weight:700;font-size:12px;position:sticky;bottom:0;z-index:2}
.tbl-row.is-link{cursor:pointer}
.tbl-body .tbl-row:hover,.tbl-row.is-menu{background:var(--hover)}
.tbl-row:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}
.tbl-open{color:var(--text-3);display:flex;justify-content:flex-end}
.tbl-row:hover .tbl-open{color:var(--text-2)}
.tbl-row.is-dim .tbl-id-m,.tbl-row.is-dim .tbl-text,.tbl-row.is-dim .tbl-num,.tbl-row.is-dim .tbl-time,.tbl-mc.is-dim .tbl-id-m{color:var(--text-2)}
.tbl-row.is-dim .tbl-tag,.tbl-mc.is-dim .tbl-tag{opacity:.75}

/* Cells */
.tbl-dim{color:var(--text-3)}
.tbl-num{font-variant-numeric:tabular-nums}
.tbl-num.is-b{font-weight:600}
.tbl-note{display:block;font-size:11px;color:var(--text-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis}
.tbl-note.is-err,.tbl-warn-t{color:var(--red)}
.tbl-metric{display:inline-flex;flex-direction:column;align-items:flex-end}
.tbl-note.is-ok{color:#1b7a50}
.tbl-two{display:inline-flex;flex-direction:column;align-items:inherit;min-width:0;max-width:100%}
.tbl-td.is-r .tbl-two{align-items:flex-end}
.tbl-id{display:flex;align-items:center;gap:8px;min-width:0}
.tbl-logo{display:inline-flex;flex-shrink:0}
.tbl-mq{display:block;overflow:hidden;min-width:0;flex:1 1 auto}
.tbl-mq-in{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.tbl-mq.is-long{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent)}
.tbl-row:hover .tbl-mq.is-long>.tbl-mq-in,.tbl-mc:hover .tbl-mq.is-long>.tbl-mq-in{animation:tblMq var(--mq-dur,4s) ease-in-out infinite alternate}
@keyframes tblMq{0%,18%{transform:translateX(0)}82%,100%{transform:translateX(var(--mq-shift,0))}}
@media (prefers-reduced-motion:reduce){.tbl-mq-in{animation:none!important}}
.tbl-id-m{font-weight:600}
.tbl-tag{height:20px;padding:0 7px;display:inline-flex;align-items:center;font-size:11px;font-weight:500;background:var(--hover);color:var(--text-2);white-space:nowrap;flex-shrink:0}
.tbl-tag.is-fb{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}
.tbl-st-w{display:inline-flex;flex-direction:column;min-width:0;max-width:100%}
.tbl-st-w.is-row{flex-direction:row;align-items:center;gap:8px}
.tbl-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-2);max-width:100%;min-width:0}
.tbl-st-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.tbl-st.is-ok,.tbl-ok,.tbl-text.is-ok,.tbl-item.is-ok,.tbl-num.is-ok{color:#1b7a50}
.tbl-st.is-warn,.tbl-warn,.tbl-item.is-warn,.tbl-text.is-warn{color:#9a5b00}
.tbl-st.is-err,.tbl-bad,.tbl-item.is-err,.tbl-text.is-err{color:var(--red)}
.tbl-st.is-off,.tbl-item.is-off,.tbl-text.is-off{color:var(--text-3)}
.tbl-st.is-info,.tbl-item.is-gold,.tbl-text.is-gold,.tbl-text.is-info,.tbl-item.is-info,.tbl-num.is-gold{color:var(--indigo-dark)}
.tbl-num.is-warn{color:#9a5b00}.tbl-num.is-err{color:var(--red)}.tbl-num.is-off{color:var(--text-3)}
.tbl-time{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}
.tbl-ok,.tbl-bad{display:inline-flex}
.tbl-warn{display:inline-flex;align-items:center}
.tbl-item{display:inline-flex;align-items:center;gap:5px;font-weight:500;max-width:100%;min-width:0;vertical-align:middle}
.tbl-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl-item>.hdr-i{flex-shrink:0}
.tbl-item.is-warn,.tbl-item.is-off{font-weight:400}

/* Toggle — same switch as everywhere; no text */
.tbl-togw{display:inline-flex;align-items:center;gap:6px}
.tbl-tog{width:30px;height:18px;border-radius:9px;background:#d6d2c9;position:relative;border:0;padding:0;flex-shrink:0;cursor:pointer;transition:background .15s}
.tbl-tog::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.15)}
.tbl-tog.is-on{background:var(--indigo)}
.tbl-tog.is-on::after{left:14px}
.tbl-tog:disabled{opacity:.45;cursor:not-allowed}
.tbl-lock{display:inline-flex;color:var(--text-3)}

/* Stepper / inputs / selects */
.tbl-stp-w,.tbl-inp-w{display:inline-flex;align-items:center;gap:6px}
.tbl-stp{display:inline-flex;align-items:center;height:28px;border:1px solid var(--border);background:var(--surface)}
.tbl-stp button{width:24px;height:26px;border:0;background:transparent;color:var(--text-2);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tbl-stp button:hover{background:var(--hover);color:var(--text)}
.tbl-stp input{width:30px;height:26px;border:0;background:transparent;text-align:center;font:600 13px/1 var(--font-body);font-variant-numeric:tabular-nums;color:var(--text);padding:0;outline:none}
.tbl-stp.is-dis{opacity:.5}
.tbl-inp{height:28px;width:56px;border:1px solid var(--border);background:var(--surface);text-align:right;padding:0 8px;font:13px/1 var(--font-body);color:var(--text);box-sizing:border-box}
.tbl-inp:focus,.tbl-stp:focus-within{border-color:var(--indigo);outline:none}
.tbl-unit{font-size:11px;color:var(--text-3)}
.tbl .hdr-nsel{height:28px!important;min-width:0!important;max-width:100%;width:auto!important;font-size:12px}
.tbl select.tbl-sel{height:28px;border:1px solid var(--border);background:var(--surface);font-size:12px;max-width:100%}

/* Progress / bars */
.tbl-ratio{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-2)}
.tbl-ratio.is-link,.tbl-chips.is-link,.tbl-cap.is-link,.tbl-stk.is-link{cursor:pointer}
.tbl-ratio.is-link:hover .tbl-num,.tbl-cap.is-link:hover,.tbl-link:hover{color:var(--text);text-decoration:underline}
.tbl-link{cursor:pointer}
.tbl-ratio-i{display:inline-flex}
.tbl-ratio .tbl-num{font-size:12px;min-width:52px;text-align:right;color:var(--text)}
.tbl-bar{height:4px;background:var(--hover);flex:1 1 auto;min-width:24px;display:flex;overflow:hidden}
.tbl-bar.is-thick{height:6px}
.tbl-bar>i{display:block;height:100%;background:var(--indigo);flex-shrink:0}
.tbl-ratio.is-ok .tbl-bar>i{background:var(--green)}.tbl-ratio.is-ok .tbl-ratio-i{color:var(--green)}
.tbl-ratio.is-warn .tbl-bar>i{background:var(--amber)}.tbl-ratio.is-warn .tbl-ratio-i{color:var(--amber)}
.tbl-ratio.is-err .tbl-num,.tbl-ratio.is-err .tbl-ratio-i{color:var(--red)}
.tbl-ratio.is-off .tbl-ratio-i,.tbl-ratio.is-off .tbl-num{color:var(--text-3)}
.tbl-mix{display:flex;flex-direction:column;gap:4px;min-width:0}

/* Chips: folders, stock by tier, captions, fix */
.tbl-chips{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}
.tbl-chip{height:20px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;background:var(--hover);color:var(--text-2);white-space:nowrap;min-width:0}
.tbl-chip>span{overflow:hidden;text-overflow:ellipsis}
.tbl-more{font-size:10px;font-weight:600;color:var(--text-2);padding:0 4px}
.tbl-stk{height:20px;padding:0 6px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;background:#e2f2ea;color:#17613f}
.tbl-stk.is-zero{background:#f9e3e3;color:#962020}
.tbl-stk.is-off{background:var(--hover);color:var(--text-3);text-decoration:line-through}
.tbl-stk.is-backup{background:#fbecd3;color:#7d4a00}
.tbl-cap{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}
.tbl-cap .tbl-num{color:var(--text)}
.tbl-fix{height:20px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;font:500 11px/1 var(--font-body);background:#fbecd3;color:#7d4a00;border:0;cursor:pointer;white-space:nowrap;max-width:100%;min-width:0;vertical-align:middle}
.tbl-fix>span{overflow:hidden;text-overflow:ellipsis}
.tbl-fix>.hdr-i{flex-shrink:0}
.tbl-fix:hover{background:#f8e0b8}
.tbl-fixbtn{height:24px;padding:0 8px;display:inline-flex;align-items:center;gap:5px;font:600 11px/1 var(--font-body);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}
.tbl-fixbtn:hover{background:var(--hover)}

/* Milestones */
.tbl-steps{display:flex;align-items:center;min-width:0;font-size:11px}
.tbl-step{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--text-2)}
.tbl-step-pt{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;border:1.5px solid rgba(0,0,0,.28);background:var(--surface);color:#fff}
.tbl-step-pt .hdr-i{stroke-width:2.6}
.tbl-step.is-done .tbl-step-pt{background:var(--green);border-color:var(--green)}
.tbl-step.is-fail .tbl-step-pt{background:var(--red);border-color:var(--red)}
.tbl-step.is-fail{color:var(--red)}
.tbl-step.is-skip .tbl-step-pt{background:var(--hover);border-color:var(--hover)}
.tbl-step.is-skip .tbl-step-t{text-decoration:line-through;color:var(--text-3)}
.tbl-step.is-done{color:var(--text)}
.tbl-step-ln{flex:1 1 8px;min-width:6px;max-width:28px;height:1px;background:rgba(0,0,0,.18);margin:0 6px}

/* Level: one switch with several stops */
.tbl-lvl{display:inline-flex;align-items:center;gap:10px;--lvl-f:0}
.tbl-lvl-track{position:relative;width:72px;height:18px;border-radius:9px;background:#d6d2c9;flex-shrink:0}
.tbl-lvl-fill{position:absolute;left:0;top:0;bottom:0;width:calc(18px + (100% - 18px) * var(--lvl-f));border-radius:9px;background:var(--indigo);transition:width .15s}
.tbl-lvl:not(.is-on) .tbl-lvl-fill{width:18px;background:transparent}
.tbl-lvl-stop{position:absolute;top:0;width:18px;height:18px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}
.tbl-lvl-stop::after{content:"";position:absolute;left:7px;top:7px;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.75)}
.tbl-lvl-stop:not(.is-past)::after{background:rgba(0,0,0,.18)}
.tbl-lvl-stop.is-cur::after{left:2px;top:2px;width:14px;height:14px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.tbl-lvl-t{font-size:12px;font-weight:500;color:var(--text-2);white-space:nowrap}
.tbl-lvl.is-on .tbl-lvl-t{color:var(--text)}
.tbl-lvl.is-dis{opacity:.5}
.tbl-lvl.is-dis .tbl-lvl-stop,.tbl-lvl-stop:disabled{cursor:not-allowed}

/* Run now */
.tbl-run{width:28px;height:28px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex-shrink:0}
.tbl-run:hover{background:var(--hover)}
.tbl-run:disabled{opacity:.45;cursor:default}
.tbl-run.is-busy{border-color:var(--indigo);background:var(--indigo-bg);color:var(--indigo-dark);opacity:1}
.tbl-run.is-busy .hdr-i{animation:hdrSpin .9s linear infinite}
.tbl-run.is-ok{border-color:#9fd3b9;background:#e2f2ea;color:#17613f}
.tbl-run.is-err{border-color:#f2b8b8;background:#f9e3e3;color:#962020}
.tbl-run.is-stop{color:var(--red)}

/* States */
.tbl-state{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font-size:13px;padding:24px;text-align:center}
.tbl-state>span{color:var(--text-2)}
.tbl-state.is-err>.hdr-i{color:var(--red)}
.tbl-state .hdr-i{stroke-width:1.1}
.tbl-sk-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:24px;align-items:center;height:var(--row,34px);padding:0 20px;border-bottom:1px solid var(--line-soft)}
.tbl-sk{display:block;height:8px;background:var(--hover);position:relative;overflow:hidden}
.tbl-sk::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:tblSk 1.3s ease-in-out infinite}
@keyframes tblSk{to{transform:translateX(100%)}}
.tbl-pager{display:flex;align-items:center;gap:8px;padding:8px 20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2)}
.tbl-pager .hdr-btn{margin-left:auto}

/* Right-click menu */
.tbl-menu{position:fixed;z-index:13000;min-width:188px;max-width:280px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 28px rgba(0,0,0,.16);padding:4px}
.tbl-mi{height:32px;width:100%;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;background:transparent;font:500 12px/1 var(--font-body);text-align:left;color:var(--text);cursor:pointer}
.tbl-mi .hdr-i{color:var(--text-2)}
.tbl-mi:hover,.tbl-mi:focus-visible{background:var(--hover);outline:none}
.tbl-mi.is-danger,.tbl-mi.is-danger .hdr-i{color:var(--red)}
.tbl-mi:disabled{opacity:.45;cursor:default}
.tbl-menu-sep{height:1px;background:var(--border);margin:4px 0}

/* Phones: each row is a card; tap = edit, long press = menu */
.tbl.is-cards .tbl-wrap{display:block}
.tbl-cards{display:flex;flex-direction:column}
.tbl-mc{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-soft);min-width:0}
.tbl-cards>.tbl-mc:last-child{border-bottom:0}
.tbl-mc.is-link{cursor:pointer}
.tbl-mc.is-link:active{background:var(--hover)}
.tbl-mc .tbl-td{padding:0;overflow:visible}
.tbl-mc-h{display:flex;align-items:center;gap:10px;min-width:0}
.tbl-mc-id{flex:1 1 auto;min-width:0;overflow:hidden!important}
.tbl-mc-id .tbl-id-m{font-size:14px}
.tbl-cbtn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:0;flex-shrink:0;cursor:pointer}
.tbl-mc .tbl-run{width:36px;height:36px}
.tbl-mc-b{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:12px}
.tbl-kv{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.tbl-kv-l{color:var(--text-2);flex-shrink:0}
.tbl-kv>.tbl-td{min-width:0;overflow:hidden;text-align:right}
.tbl-mc .tbl-t-folders,.tbl-mc .tbl-t-stock,.tbl-mc .tbl-t-steps{grid-column:1/-1}
.tbl-kv:has(.tbl-t-folders),.tbl-kv:has(.tbl-t-stock),.tbl-kv:has(.tbl-t-steps),.tbl-kv:has(.tbl-t-ratio),.tbl-kv:has(.tbl-t-level),.tbl-kv:has(.tbl-t-range),.tbl-kv:has(.tbl-t-mix),.tbl-kv:has(.tbl-t-ramp),.tbl-kv:has(.tbl-t-item){grid-column:1/-1}
.tbl-mc .tbl-ratio{flex:1 1 auto}

/* Confirm dialog (Ui.confirm) */
.ui-ovl{position:fixed;inset:0;z-index:13100;background:rgba(10,10,10,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.ui-dlg{width:100%;max-width:400px;background:var(--surface);box-shadow:0 4px 32px rgba(0,0,0,.2)}
.ui-dlg-h{display:flex;align-items:center;gap:8px;padding:16px 16px 14px 20px;border-bottom:1px solid var(--border)}
.ui-dlg-h h2{margin:0 auto 0 0;font:500 20px/1.2 var(--font-display);color:var(--text)}
.ui-dlg-b{padding:18px 20px;font-size:13px;line-height:1.5;color:var(--text);white-space:pre-line}
.ui-dlg-f{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}
.ui-dlg-b+.ui-dlg-f{padding-top:0}
.ui-dlg-h+.ui-dlg-f{padding-top:18px}
.hdr-btn.is-danger{background:var(--red);border-color:var(--red);color:#fff}
.hdr-btn.is-danger:hover{background:#dc2626}

/* Bulk selection (cfg.select) */
.tbl-chk{width:16px;height:16px;border:1.5px solid rgba(0,0,0,.3);background:var(--surface);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;box-sizing:border-box}
.tbl-chk.is-on,.tbl-chk.is-part{background:var(--indigo);border-color:var(--indigo)}
.tbl-chk.is-on::after{content:"";width:8px;height:4px;border-left:2px solid #0a0a0a;border-bottom:2px solid #0a0a0a;transform:translateY(-1px) rotate(-45deg)}
.tbl-chk.is-part::after{content:"";width:8px;height:2px;background:#0a0a0a}
.tbl-selc{display:flex;align-items:center}
.tbl-row.is-sel,.tbl-mc.is-sel{background:var(--indigo-bg)}
.tbl-body .tbl-row.is-sel:hover{background:var(--indigo-10)}
.tbl-bulk{display:flex;align-items:center;gap:8px;padding:8px 16px 8px 20px;background:var(--indigo-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:4;font-size:13px}
.tbl-bulk b{font-weight:600}
.tbl-bulk-sum{color:var(--text-2);font-size:12px}
.tbl-bulk-sp{flex:1}
@media (max-width:768px){.tbl-bulk{position:sticky;bottom:0;top:auto;flex-wrap:wrap}}

/* Toasts sit above every popup and dialog */
.toast{z-index:13200}
.ui-dlg-l{display:block;font-size:12px;font-weight:500;color:var(--text-2);margin-bottom:6px}
.ui-dlg-in{width:100%;box-sizing:border-box;height:38px;border:1px solid var(--border);background:var(--surface);padding:0 12px;font:13px/1.4 var(--font-body);color:var(--text)}
textarea.ui-dlg-in{height:auto;padding:10px 12px;resize:vertical}
.ui-dlg-in:focus{outline:none;border-color:var(--indigo)}
.tbl select.tbl-sel:disabled{opacity:.5}
.tbl-row.is-link .tbl-open:empty{display:block}
.tbl-mc-h>.tbl-td:not(.tbl-mc-id){flex-shrink:0}
/* delta · link · text input · thumbnail · avatar */
.tbl-delta{display:inline-flex;align-items:center;gap:2px;font-weight:600;font-variant-numeric:tabular-nums}
.tbl-delta.is-ok{color:#1b7a50}.tbl-delta.is-err{color:var(--red)}
.tbl-a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tbl-a:hover{text-decoration-color:var(--text)}
.tbl-inp-t{width:100%;text-align:left}
.tbl-thumb{width:36px;height:36px;object-fit:cover;display:block;background:var(--hover)}
.tbl-thumb.is-tall{width:28px;height:48px}
.tbl-av{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--hover)}
.tbl-av.is-ini{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-2)}
.tbl select.tbl-sel.is-ok{box-shadow:inset 3px 0 0 var(--green)}.tbl select.tbl-sel.is-warn{box-shadow:inset 3px 0 0 var(--amber)}.tbl select.tbl-sel.is-err{box-shadow:inset 3px 0 0 var(--red)}.tbl select.tbl-sel.is-gold,.tbl select.tbl-sel.is-info{box-shadow:inset 3px 0 0 var(--indigo)}
/* rowClass helpers for div rows */
.tbl-row.is-new{background:var(--indigo-10)}
.tbl-row.is-warn-row{background:#fdf6e8}
.tbl-row.is-err-row{background:#fdf0f0}
