/* Scoped, theme-independent styles. */
.ups-sv{margin:1rem 0}
.ups-sv__title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem}
.ups-sv__pill{display:inline-block;font-size:.75rem;padding:.25rem .6rem;border-radius:999px;border:1px solid #e5e7eb}
.ups-sv__label{display:block;font-weight:600;margin:.25rem 0}
.ups-sv__input{width:100%;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:.5rem}
.ups-sv__hint{font-size:.85rem;opacity:.8}
.ups-sv__submit{margin-top:.25rem}
.ups-sv__alert{margin:1rem 0;padding:.75rem 1rem;border-radius:.5rem;background:#eef5ff;color:#084298;border:1px solid #cfe2ff}
.ups-sv__grid{row-gap:24px}
/* Cards */
.ups-sv .card{background:#fff;border:1px solid #ececec;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.04);display:flex;flex-direction:column;height:100%}
.ups-sv .card__head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0}
.ups-sv .card__body{padding:16px}
.ups-sv .card__foot{padding:12px 16px;border-top:1px solid #f0f0f0}
.ups-sv .card__title{margin:0 0 4px;font-weight:700;letter-spacing:.2px}
.ups-sv .badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;color:#fff}
.ups-sv .badge--warn{background:#f59e0b}
.ups-sv .badge--ok{background:#16a34a}
.ups-sv .badge--err{background:#dc2626}
.ups-sv .badge--muted{background:#6b7280}

/* status line */
.ups-sv .statusline{display:flex;align-items:center;gap:.5rem;margin:8px 0 6px}
.ups-sv .statusline__dot{width:10px;height:10px;border-radius:50%}
.ups-sv .dot--warn{background:#f59e0b}.ups-sv .dot--ok{background:#16a34a}.ups-sv .dot--err{background:#dc2626}.ups-sv .dot--muted{background:#6b7280}
.ups-sv .statusline__text{font-weight:600}
.ups-sv .statusline__time{opacity:.7;font-size:.9em}

/* key/value blocks */
.ups-sv .kv{margin:.3rem 0}
.ups-sv .kv .k{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.ups-sv .kv .v{margin-top:.1rem}

/* list refine */
.ups-sv ul{margin:0;padding-left:1rem}
.ups-sv li{margin:.15rem 0}

/* Status visual */
.ups-sv .badge--warn{background:#f59e0b}
.ups-sv .badge--ok{background:#16a34a}
.ups-sv .badge--err{background:#dc2626}
.ups-sv .badge--muted{background:#6b7280}
.ups-sv .statusline{display:flex;align-items:center;gap:.5rem;margin:8px 0 6px}
.ups-sv .statusline__dot{width:10px;height:10px;border-radius:50%}
.ups-sv .dot--warn{background:#f59e0b}.ups-sv .dot--ok{background:#16a34a}.ups-sv .dot--err{background:#dc2626}.ups-sv .dot--muted{background:#6b7280}
.ups-sv .statusline__text{font-weight:600}
.ups-sv .statusline__time{opacity:.7;font-size:.9em}


/* Card polish */
.ups-sv .card{border:1px solid #ececec;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.05);overflow:hidden}
.ups-sv .card-header{background:#fff;padding:12px 16px;border-bottom:1px solid #f2f2f2}
.ups-sv .card-body{padding:16px 16px 12px}
.ups-sv .card-footer{background:#fff;border-top:1px solid #f2f2f2;padding:12px 16px}
.ups-sv .card-title{font-weight:700;letter-spacing:.2px;margin-bottom:2px}
.ups-sv .kicker{margin-bottom:8px}
.ups-sv .badge{font-weight:600}


/* Our responsive grid */
.ups-sv .row{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width: 992px){ .ups-sv .row{grid-template-columns:1fr 1fr} }
@media (min-width: 1280px){ .ups-sv .row{grid-template-columns:1fr 1fr 1fr} }
.ups-sv .col{display:block}

.ups-sv{width:100%;min-width:0;font-size:16px;line-height:1.5}
.ups-sv .container{width:100%}
.ups-sv .form-control,.ups-sv .form-select,.ups-sv .btn{font:inherit;height:auto;line-height:1.5}
.ups-sv .col{min-width:0;overflow-wrap:anywhere}
.ups-sv .statusline{flex-wrap:wrap}
.ups-sv .btn:disabled{opacity:.65;cursor:wait}
.ups-sv :focus-visible{outline:2px solid #ea0029;outline-offset:3px}
