/* StaffVanta Accounts - uses the theme's design tokens (--sv-*) from main.css */
.sva-narrow{ max-width:480px; margin:0 auto; }
.sva-card{ background:#fff; border:1px solid var(--sv-border); border-radius:var(--sv-radius); box-shadow:var(--sv-shadow); padding:28px; margin-bottom:24px; }
.sva-card h3{ font-size:1.1rem; margin-bottom:14px; }
.sva-hint{ font-size:.85rem; color:var(--sv-muted); display:block; margin-top:6px; }
.sva-hint a,.sva-card p a,.sva-table a{ color:var(--sv-blue); font-weight:500; }

/* Layout */
.sva-account{ display:grid; grid-template-columns:250px 1fr; gap:32px; align-items:start; }
.sva-side{ background:#fff; border:1px solid var(--sv-border); border-radius:var(--sv-radius); padding:20px; position:sticky; top:96px; }
.sva-who{ display:flex; flex-direction:column; padding-bottom:14px; margin-bottom:10px; border-bottom:1px solid var(--sv-border); word-break:break-word; }
.sva-who span{ font-size:.85rem; color:var(--sv-muted); }
.sva-side nav a{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; font-weight:500; font-size:.92rem; color:var(--sv-ink); }
.sva-side nav a:hover{ background:var(--sv-bg-soft); color:var(--sv-blue); }
.sva-side nav a.is-active{ background:rgba(13,110,253,.08); color:var(--sv-blue); }
.sva-side nav i{ width:18px; text-align:center; }
.sva-main h2{ font-size:1.5rem; margin-bottom:18px; }
@media (max-width:820px){
	.sva-account{ grid-template-columns:1fr; }
	.sva-side{ position:static; }
	.sva-side nav{ display:flex; flex-wrap:wrap; gap:4px; }
}

/* Definition list */
.sva-dl{ display:grid; grid-template-columns:150px 1fr; gap:10px 16px; margin:0 0 8px; }
.sva-dl dt{ font-weight:600; color:var(--sv-dark); font-size:.9rem; }
.sva-dl dd{ margin:0; color:var(--sv-ink); word-break:break-word; }
@media (max-width:520px){ .sva-dl{ grid-template-columns:1fr; gap:2px; } .sva-dl dd{ margin-bottom:10px; } }

/* Badges */
.sva-badge{ display:inline-block; font-size:.78rem; font-weight:600; padding:4px 12px; border-radius:999px; }
.sva-badge-ok{ background:rgba(22,163,74,.12); color:#166534; }
.sva-badge-warn{ background:rgba(245,158,11,.15); color:#92400e; }
.sva-badge-off{ background:#f1f3f5; color:#4b5563; }

/* Plans */
.sva-plans{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:16px 0; }
.sva-plan{ border:1px solid var(--sv-border); border-radius:var(--sv-radius-sm); padding:20px; }
.sva-plan h4{ margin-bottom:4px; }
.sva-price{ font-size:1.8rem; font-weight:800; color:var(--sv-dark); }
.sva-price span{ font-size:.9rem; font-weight:500; color:var(--sv-muted); }

/* Tables */
.sva-table-wrap{ overflow-x:auto; }
.sva-table{ width:100%; border-collapse:collapse; font-size:.92rem; }
.sva-table th{ text-align:left; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:var(--sv-muted); padding:10px 12px; border-bottom:2px solid var(--sv-border); }
.sva-table td{ padding:12px; border-bottom:1px solid var(--sv-border); vertical-align:middle; }
.sva-docs a{ margin-right:12px; }

/* Tickets */
.sva-thread{ display:flex; flex-direction:column; gap:14px; margin-bottom:24px; }
.sva-msg{ border-radius:var(--sv-radius-sm); padding:14px 18px; max-width:88%; }
.sva-msg p{ margin:0 0 .6em; color:inherit; }
.sva-msg p:last-child{ margin-bottom:0; }
.sva-msg-you{ background:var(--sv-bg-soft); border:1px solid var(--sv-border); align-self:flex-end; }
.sva-msg-staff{ background:rgba(13,110,253,.06); border:1px solid rgba(13,110,253,.2); align-self:flex-start; }
.sva-msg-meta{ font-size:.78rem; font-weight:600; color:var(--sv-muted); margin-bottom:6px; }

.sva-danger{ color:#b91c1c; border-color:rgba(185,28,28,.35); }
.sva-danger:hover{ background:rgba(185,28,28,.06); color:#991b1b; border-color:#b91c1c; }
