/* ValuePathPro additions on top of ProAsure's sofia.css. */
[x-cloak] { display: none !important; }
.vp-progress { position: fixed; top: 0; left: 0; height: 2px; width: 0; background: rgb(var(--sky-600)); z-index: 20000; transition: width .3s ease, opacity .3s; opacity: 0; }
.vp-progress.on { width: 70%; opacity: 1; transition: width 2s ease; }
.vp-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.vp-table th { text-align: left; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: rgb(var(--tx-gray-500)); background: #F8FAFC; padding: 8px 10px; border-bottom: 1px solid #E5E7EB; white-space: nowrap; }
.vp-table td { padding: 8px 10px; border-bottom: 1px solid #F1F5F9; vertical-align: top; }
.vp-table tr:hover td { background: #F8FAFC; }
.vp-table td.num, .vp-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.vp-tabs { display: flex; gap: 2px; overflow-x: auto; border-bottom: 1px solid #E5E7EB; margin-bottom: 12px; }
.vp-tab { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; font-size: 13px; font-weight: 500; color: rgb(var(--tx-gray-500)); border-bottom: 2px solid transparent; white-space: nowrap; cursor: pointer; }
.vp-tab:hover { color: rgb(var(--sky-700)); }
.vp-tab.active { color: rgb(var(--sky-700)); border-bottom-color: rgb(var(--sky-600)); font-weight: 600; }
.vp-trace { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; color: rgb(var(--sky-600)); background: rgb(var(--sky-50)); border: 1px solid rgb(var(--sky-100)); font-size: 13px; vertical-align: middle; }
.vp-trace:hover { background: rgb(var(--sky-100)); }
.vp-stat { background: #fff; border: 1px solid #E5E7EB; border-radius: 14px; padding: 12px 14px; }
.vp-stat .lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: rgb(var(--tx-gray-500)); }
.vp-stat .val { font-size: 22px; font-weight: 700; color: #0F172A; font-variant-numeric: tabular-nums; margin-top: 4px; }
.vp-stat .sub { font-size: 11px; color: rgb(var(--tx-gray-500)); margin-top: 2px; }
.vp-file { padding: 6px; }
.curtain-card.selected { border-color: rgb(var(--sky-500)); background: rgb(var(--sky-50)); }
.master-modal-overlay.show { display: flex; }
