.tq-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.tq-card{background-color:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);border-radius:var(--radius,12px);box-shadow:var(--shadow-subtle,0 1px 3px #0000000d);padding:1.25rem 1.5rem;transition:transform .15s,box-shadow .15s}.tq-card:hover{box-shadow:var(--shadow-card,0 4px 12px #00000012)}.tq-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.tq-card-value{color:var(--text-primary,#0f172a);margin-bottom:.25rem;font-size:1.75rem;font-weight:700;line-height:1.15}.tq-card-sub{color:var(--text-secondary,#64748b);font-size:.8125rem}.tq-card-value.good{color:#059669}.tq-card-value.warn{color:#d97706}.tq-card-value.bad{color:#dc2626}.tq-card-value.blue{color:#2563eb}.tq-card-value.purple{color:#7c3aed}.qs-ring-wrap{background-color:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);border-radius:var(--radius,12px);box-shadow:var(--shadow-subtle,0 1px 3px #0000000d);align-items:center;gap:1.75rem;margin-bottom:2rem;padding:1.5rem 1.75rem;display:flex}.qs-ring{flex-shrink:0;width:88px;height:88px;position:relative}.qs-ring svg{transform:rotate(-90deg)}.qs-ring-label{color:var(--text-primary,#0f172a);flex-direction:column;justify-content:center;align-items:center;font-size:1.375rem;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.qs-ring-label span{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:600}.qs-ring-info h3{color:var(--text-primary,#0f172a);margin-bottom:.35rem;font-size:1.125rem;font-weight:600}.qs-ring-info p{color:var(--text-secondary,#475569);max-width:520px;margin:0;font-size:.875rem;line-height:1.5}.qs-formula{color:var(--text-muted,#64748b);background:var(--bg-surface-elevated,#f8fafc);border:1px solid var(--border-default,#e2e8f0);border-radius:6px;margin-top:.75rem;padding:4px 10px;font-size:.75rem;font-weight:500;display:inline-block}.day-selector{background:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);border-radius:8px;display:flex;overflow:hidden}.day-btn{color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:all .15s}.day-btn:hover{background:var(--bg-hover,#f1f5f9);color:var(--text-primary,#0f172a)}.day-btn.active{color:#fff;background:#2563eb;font-weight:600}.btn-outline{border:1px solid var(--border-default,#e2e8f0);background:var(--surface-primary,#fff);color:var(--text-primary,#0f172a);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-outline:hover{background:var(--bg-hover,#f8fafc);border-color:#cbd5e1}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tq-targets{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.tq-target{background:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);box-shadow:var(--shadow-subtle,0 1px 3px #0000000d);border-radius:12px;padding:1.25rem}.tq-target-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#64748b);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.tq-target-row{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.tq-target-current{color:var(--text-primary,#0f172a);font-size:1.375rem;font-weight:700}.tq-target-goal{color:var(--text-secondary,#64748b);font-size:.75rem;font-weight:600}.tq-target-bar{background:var(--bg-surface-elevated,#f1f5f9);border-radius:999px;width:100%;height:6px;overflow:hidden}.tq-target-fill{border-radius:999px;height:100%;transition:width .3s}.tq-target-fill.on-track{background:#10b981}.tq-target-fill.at-risk{background:#f59e0b}.tq-target-fill.off-track{background:#ef4444}.tq-table-wrap{background:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);box-shadow:var(--shadow-subtle,0 1px 3px #0000000d);border-radius:12px;margin-bottom:2rem;overflow:hidden}.tq-table-header{border-bottom:1px solid var(--border-default,#e2e8f0);background:var(--surface-primary,#fff);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.tq-table-header h3{color:var(--text-primary,#0f172a);align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;display:flex}.tq-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}.tq-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#64748b);background:var(--bg-surface-elevated,#f8fafc);border-bottom:1px solid var(--border-default,#e2e8f0);white-space:nowrap;padding:.875rem 1.25rem;font-size:.72rem;font-weight:600}.tq-table td{border-bottom:1px solid var(--border-subtle,#f1f5f9);color:var(--text-secondary,#475569);white-space:nowrap;padding:.875rem 1.25rem}.tq-table tbody tr:hover td{background:var(--bg-hover,#f8fafc)}.rate-pill{border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.rate-pill.green{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.rate-pill.yellow{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.rate-pill.red{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.score-bar-wrap{align-items:center;gap:8px;min-width:90px;display:flex}.score-bar-bg{background:var(--bg-surface-elevated,#f1f5f9);border-radius:999px;flex:1;height:6px;overflow:hidden}.score-bar-fill{border-radius:999px;height:100%}.score-bar-fill.good{background:#10b981}.score-bar-fill.warn{background:#f59e0b}.score-bar-fill.bad{background:#ef4444}.score-num{font-size:.75rem;font-weight:700}.score-num.good{color:#10b981}.score-num.warn{color:#f59e0b}.score-num.bad{color:#ef4444}.glass-card{background:var(--surface-primary,#fff);border:1px solid var(--border-default,#e2e8f0);box-shadow:var(--shadow-subtle,0 1px 3px #0000000d);border-radius:12px;padding:1.5rem}
