.tset-wrap{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:stretch;gap:16px;display:grid}.tset-wrap .tset-row.actions{grid-column:1/-1}.tset-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);padding:calc(16px * var(--density)) calc(18px * var(--density));box-shadow:var(--shadow-1)}.tset-card h3{font-size:calc(13px * var(--font-scale));color:var(--ink);margin:0 0 2px;font-weight:700}.tset-card .desc{font-size:calc(11.5px * var(--font-scale));color:var(--ink-subtle);margin:0 0 12px}.tset-row{gap:var(--gap-grid);flex-wrap:wrap;align-items:center;display:flex}.theme-colors-row{gap:var(--gap-grid);flex-wrap:wrap;align-items:center;padding:2px;display:flex}.theme-color{cursor:pointer;outline-offset:2px;border:none;border-radius:50%;outline:2px solid #0000;flex-shrink:0;width:28px;height:28px;transition:transform .12s}.theme-color:hover{transform:scale(1.08)}.theme-color.on{outline-color:var(--ink);outline-offset:2px;box-shadow:0 0 0 2px var(--bg-surface)}.theme-opt{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--ink-muted);cursor:pointer;font-size:calc(12px * var(--font-scale));flex-direction:column;align-items:center;gap:4px;min-width:62px;padding:9px 13px;font-family:inherit;transition:border-color .12s,transform .12s,background .12s;display:flex}.theme-opt:hover{border-color:var(--em);transform:translateY(-1px)}.theme-opt.on{border-color:var(--em);background:var(--em-bg);color:var(--em);box-shadow:0 0 0 2px var(--em-bg);font-weight:600}.theme-opt .k{font-size:calc(15px * var(--font-scale));line-height:1}.theme-opt .l{font-size:calc(11px * var(--font-scale))}.theme-opt .prev{border:1px solid var(--line-strong);width:30px;height:16px}.tset-input{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:calc(12px * var(--font-scale));outline:none;min-width:160px;padding:7px 10px;font-family:inherit}.tset-input:focus{border-color:var(--em)}.tset-btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--ink);font-size:calc(12px * var(--font-scale));cursor:pointer;padding:8px 14px;font-family:inherit;font-weight:600}.tset-btn:hover{background:var(--bg-sunken)}.tset-btn.primary{background:var(--em);border-color:var(--em);color:#fff}.tprev-grid{gap:var(--gap-grid);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tprev-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-py) var(--card-px);box-shadow:var(--shadow-1)}.tprev-card .ch{font-size:calc(11px * var(--font-scale));color:var(--ink-subtle);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-weight:700}.tprev-kpi{font-size:calc(26px * var(--font-scale));color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.tprev-kpi.em{color:var(--em)}.tprev-sub{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);margin-top:2px}.sev-badge{font-size:calc(11px * var(--font-scale));border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.sev-badge.critical{background:var(--critical-bg);color:var(--critical)}.sev-badge.high{background:var(--high-bg);color:var(--high)}.sev-badge.medium{background:var(--medium-bg);color:var(--medium)}.sev-badge.low{background:var(--low-bg);color:var(--low)}.sev-badge.success{background:var(--success-bg);color:var(--success)}.tprev-btn{border-radius:var(--radius-sm);font-size:calc(12px * var(--font-scale));cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--ink);padding:7px 13px;font-weight:600}.tprev-btn.em{background:var(--em);border-color:var(--em);color:#fff}.tprev-btn.ghost{color:var(--em);border-color:var(--em);background:0 0}.tprev-table{border-collapse:collapse;width:100%;font-size:calc(12px * var(--font-scale))}.tprev-table th{text-align:left;padding:var(--table-py) calc(10px * var(--density));color:var(--ink-subtle);border-bottom:1px solid var(--line);font-weight:600}.tprev-table td{padding:var(--table-py) calc(10px * var(--density));color:var(--ink);border-bottom:1px solid var(--line)}.tprev-swatches{flex-wrap:wrap;gap:6px;display:flex}.tprev-swatches span{border-radius:var(--radius-sm);border:1px solid var(--line);width:26px;height:26px}
