/* shared_account_vault */
.shared-vault-admin-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
 .shared-vault-admin-header h1 { margin: 0; font-size: 22px; line-height: 1.25; letter-spacing: 0; }
 .shared-vault-admin-header p, .shared-vault-section-title p { margin: 5px 0 0; color: var(--text-muted); font-size: 13px; line-height: 1.5; }
 .shared-vault-admin-header nav { display: flex; flex: 0 0 auto; gap: 3px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb,var(--bg) 70.0%,transparent); padding: 3px; }
 .shared-vault-admin-header nav button { min-width: 64px; border-color: transparent; background: transparent; }
 .shared-vault-admin-header nav button.active { border-color: var(--line); background: var(--bg); color: var(--text); }
 .shared-vault-columns { display: grid; grid-template-columns: minmax(300px, 0.85fr) minmax(380px, 1.15fr); gap: 20px; align-items: start; padding-top: 20px; }
 .shared-vault-form { display: flex; min-width: 0; flex-direction: column; gap: 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 18px; }
 .shared-vault-form-stack { display: flex; min-width: 0; flex-direction: column; gap: 16px; }
 .shared-vault-list { display: flex; min-width: 0; flex-direction: column; gap: 12px; }
 .shared-vault-section-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
 .shared-vault-section-title h2 { margin: 0; font-size: 16px; line-height: 1.35; letter-spacing: 0; }
 .shared-vault-count { display: inline-flex; min-width: 28px; height: 28px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; color: var(--text-muted); font-size: 12px; }
 .shared-vault-field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
 .shared-vault-label, .shared-vault-role-box legend { color: var(--text); font-size: 13px; font-weight: 650; }
 .shared-vault-field input, .shared-vault-field textarea, .shared-vault-field select { width: 100%; min-height: 42px; border: 1px solid var(--line); border-radius: 6px; outline: none; background: var(--bg); color: var(--text); padding: 9px 11px; font: inherit; font-size: 14px; transition: border-color 150ms, box-shadow 150ms; }
 .shared-vault-field textarea { min-height: 92px; resize: vertical; }
 .shared-vault-field input:focus, .shared-vault-field textarea:focus, .shared-vault-field select:focus { border-color: var(--brand); box-shadow: 0 0 0 2px color-mix(in srgb,var(--brand) 18.0%,transparent); }
 .shared-vault-help { color: var(--text-muted); font-size: 11px; font-weight: 400; line-height: 1.45; }
 .shared-vault-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
 .shared-vault-role-box { min-width: 0; margin: 0; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb,var(--bg) 35.0%,transparent); padding: 12px; }
 .shared-vault-role-box legend { padding: 0 5px; }
 .shared-vault-role-options { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 7px; }
 .shared-vault-role-options label, .shared-vault-switch { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; }
 .shared-vault-role-options input, .shared-vault-switch input { width: 17px; height: 17px; accent-color: var(--vault-green); }
 .shared-vault-switch > span { display: grid; gap: 2px; font-weight: 650; }
 .shared-vault-switch small { color: var(--text-muted); font-size: 11px; font-weight: 400; }
 .shared-vault-shell > .shared-vault-notice { margin-top: 16px; }
 @media (max-width: 780px) { .shared-vault-admin-header { align-items: stretch; flex-direction: column; }
 .shared-vault-admin-header nav { width: 100%; }
 .shared-vault-admin-header nav button { flex: 1 1 0; }
 .shared-vault-columns, .shared-vault-grid { grid-template-columns: 1fr; }
 }
 .shared-vault-admin, .shared-vault-public { --vault-blue: #2563eb; --vault-green: #15803d; --vault-red: #b91c1c; --vault-amber: #a16207; color: var(--text); letter-spacing: 0; }
 .shared-vault-public { padding-top: 0 !important; padding-bottom: 0 !important; }
 .shared-vault-admin *, .shared-vault-public * { box-sizing: border-box; }
 .shared-vault-shell { width: 100%; }
 .shared-vault-admin button, .shared-vault-public button, .shared-vault-toolbar-button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 6px; background: var(--bg); color: var(--text); padding: 8px 13px; font: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; transition: background-color 150ms, border-color 150ms, color 150ms; }
 .shared-vault-admin button:hover:not(:disabled), .shared-vault-public button:hover:not(:disabled) { border-color: var(--brand); background: var(--brand-soft); }
 .shared-vault-admin button:focus-visible, .shared-vault-public button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
 .shared-vault-admin button:disabled, .shared-vault-public button:disabled { cursor: not-allowed; opacity: 0.55; }
 .shared-vault-admin .shared-vault-primary, .shared-vault-public .shared-vault-primary { border-color: var(--vault-green); background: var(--vault-green); color: #fff; }
 .shared-vault-admin .shared-vault-primary:hover:not(:disabled), .shared-vault-public .shared-vault-primary:hover:not(:disabled) { border-color: #166534; background: #166534; }
 .shared-vault-kicker { display: block; margin-bottom: 7px; color: var(--vault-blue); font-size: 11px; font-weight: 800; letter-spacing: 0; }
 .shared-vault-status { display: inline-flex; min-height: 24px; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; background: var(--bg); color: var(--text-muted); font-size: 11px; font-weight: 700; white-space: nowrap; }
 .shared-vault-status.active { border-color: #86efac; background: #f0fdf4; color: #166534; }
 .shared-vault-status.disabled, .shared-vault-status.consumed { border-color: #d1d5db; background: #f3f4f6; color: #4b5563; }
 .shared-vault-notice, .shared-vault-empty, .shared-vault-loading { border: 1px solid var(--line); border-left: 3px solid var(--vault-blue); border-radius: 6px; background: color-mix(in srgb,var(--bg) 55.00000000000001%,transparent); color: var(--text); padding: 12px 14px; font-size: 13px; line-height: 1.55; }
 .shared-vault-notice.error { border-left-color: var(--vault-red); background: #fef2f2; color: #991b1b; }
 .shared-vault-loading { width: min(720px, calc(100% - 32px)); min-height: 52px; margin: 40px auto; }
 @media (prefers-color-scheme: dark) { .shared-vault-status.active { border-color: #166534; background: #052e16; color: #bbf7d0; }
 .shared-vault-notice.error { background: #450a0a; color: #fecaca; }
 }
 .shared-vault-actions, .shared-vault-stats { display: flex; flex-wrap: wrap; gap: 8px; }
 .shared-vault-resource-card, .shared-vault-account-card, .shared-vault-log-row { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 15px; }
 .shared-vault-resource-card > header, .shared-vault-account-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
 .shared-vault-resource-card header > div { display: grid; min-width: 0; gap: 5px; }
 .shared-vault-resource-card strong, .shared-vault-account-card strong { font-size: 15px; overflow-wrap: anywhere; }
 .shared-vault-resource-card code { color: var(--text-muted); font-size: 10px; overflow-wrap: anywhere; }
 .shared-vault-stats { margin: 13px 0; }
 .shared-vault-stats span { border-right: 1px solid var(--line); padding-right: 9px; color: var(--text-muted); font-size: 12px; }
 .shared-vault-stats span:last-child { border-right: 0; }
 .shared-vault-admin .shared-vault-danger { border-color: #fecaca; color: var(--vault-red); }
 .shared-vault-admin .shared-vault-danger:hover:not(:disabled) { border-color: var(--vault-red); background: #fef2f2; }
 .shared-vault-protection { display: block; margin-top: 8px; color: var(--vault-amber); font-size: 11px; }
 .shared-vault-account-card dl { display: grid; gap: 6px; margin: 13px 0; }
 .shared-vault-account-card dl div { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 8px; font-size: 12px; }
 .shared-vault-account-card dt { color: var(--text-muted); }
 .shared-vault-account-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
 .shared-vault-log-list { max-width: 880px; padding-top: 20px; }
 .shared-vault-log-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(100px, 0.7fr) auto; gap: 16px; align-items: center; font-size: 12px; }
 .shared-vault-log-row span, .shared-vault-log-row time { color: var(--text-muted); }
 @media (max-width: 780px) { .shared-vault-resource-card > header, .shared-vault-account-card > header { align-items: stretch; flex-direction: column; }
 .shared-vault-log-row { grid-template-columns: 1fr; }
 }
 .shared-vault-audit-card { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 15px; }
 .shared-vault-audit-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
 .shared-vault-audit-card header > div { display: grid; gap: 4px; }
 .shared-vault-audit-card header span, .shared-vault-audit-card dt { color: var(--text-muted); font-size: 11px; }
 .shared-vault-audit-card dl { display: grid; gap: 6px; margin: 13px 0; }
 .shared-vault-audit-card dl div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; font-size: 12px; }
 .shared-vault-audit-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
 .shared-vault-audit-secret { margin-top: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; }
 .shared-vault-audit-secret-row { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; border-bottom: 1px solid var(--line); padding: 9px 11px; }
 .shared-vault-audit-secret-row:last-child { border-bottom: 0; }
 .shared-vault-audit-secret-row span { color: var(--text-muted); font-size: 11px; }
 .shared-vault-audit-secret-row code { min-width: 0; color: var(--text); font-size: 12px; overflow-wrap: anywhere; white-space: pre-wrap; }
 .shared-vault-dialog-backdrop { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; background: rgb(0 0 0 / 0.58); padding: 16px; }
 .shared-vault-delete-dialog { width: min(460px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); box-shadow: 0 20px 45px rgb(0 0 0 / 0.28); padding: 20px; }
 .shared-vault-delete-dialog h2 { margin: 6px 0 0; font-size: 18px; letter-spacing: 0; overflow-wrap: anywhere; }
 .shared-vault-delete-dialog p { margin: 10px 0 16px; color: var(--text-muted); font-size: 13px; line-height: 1.6; }
 .shared-vault-danger-label { color: var(--vault-red); font-size: 11px; font-weight: 800; }
 .shared-vault-delete-dialog .shared-vault-actions { justify-content: flex-end; margin-top: 18px; }
 .shared-vault-admin .shared-vault-danger.solid { border-color: var(--vault-red); background: var(--vault-red); color: #fff; }
 @media (max-width: 520px) { .shared-vault-audit-card > header { flex-direction: column; }
 .shared-vault-delete-dialog .shared-vault-actions button { flex: 1 1 0; }
 }
 .shared-vault-claim { width: min(760px, calc(100% - 32px)); margin: 12px auto 24px; }
 .shared-vault-claim-header { padding: 4px 0 16px; border-bottom: 1px solid var(--line); }
 .shared-vault-claim-header h1 { margin: 0; font-size: 28px; line-height: 1.25; letter-spacing: 0; overflow-wrap: anywhere; }
 .shared-vault-description { max-width: 640px; margin: 10px 0 0; color: var(--text-muted); font-size: 14px; line-height: 1.7; }
 .shared-vault-description > :first-child { margin-top: 0; }
 .shared-vault-description > :last-child { margin-bottom: 0; }
 .shared-vault-description h1, .shared-vault-description h2, .shared-vault-description h3 { margin: 16px 0 7px; color: var(--text); font-size: 17px; }
 .shared-vault-description p, .shared-vault-description ul, .shared-vault-description ol, .shared-vault-description blockquote { margin: 8px 0; }
 .shared-vault-description a, .shared-vault-eligibility a { color: var(--vault-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
 .shared-vault-description blockquote { border-left: 3px solid var(--vault-blue); padding-left: 12px; }
 .shared-vault-description code { border-radius: 4px; background: var(--bg); padding: 2px 5px; }
 .shared-vault-requirements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 16px 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }
 .shared-vault-requirement { display: grid; min-width: 0; min-height: 64px; align-content: center; gap: 6px; background: var(--panel); padding: 12px; }
 .shared-vault-requirement:nth-child(1) { border-top: 2px solid var(--vault-blue); }
 .shared-vault-requirement:nth-child(2) { border-top: 2px solid var(--vault-green); }
 .shared-vault-requirement:nth-child(3) { border-top: 2px solid var(--vault-amber); }
 .shared-vault-requirement:nth-child(4) { border-top: 2px solid #64748b; }
 .shared-vault-requirement span { color: var(--text-muted); font-size: 11px; }
 .shared-vault-requirement strong { font-size: 13px; overflow-wrap: anywhere; }
 .shared-vault-claim-action { display: grid; gap: 10px; }
 .shared-vault-eligibility a { margin: 0 4px; }
 .shared-vault-claim-button { display: inline-flex !important; width: 100%; min-height: 48px !important; align-items: center; justify-content: center; border: 1px solid #166534 !important; border-radius: 7px !important; background: #15803d !important; box-shadow: 0 2px 8px rgb(21 128 61 / 0.22); color: #fff !important; font-size: 14px !important; font-weight: 750 !important; cursor: pointer; }
 .shared-vault-claim-button:hover:not(:disabled) { border-color: #14532d !important; background: #166534 !important; box-shadow: 0 4px 12px rgb(21 128 61 / 0.3); }
 .shared-vault-claim-button:disabled { cursor: wait; opacity: 0.65; }
 .shared-vault-secret-card { margin-top: 24px; border: 1px solid var(--line); border-top: 3px solid var(--vault-green); border-radius: 8px; background: var(--panel); padding: 20px; }
 .shared-vault-secret-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
 .shared-vault-success-mark { color: var(--vault-green); font-size: 11px; font-weight: 800; }
 .shared-vault-secret-card h2 { margin: 4px 0 0; font-size: 18px; letter-spacing: 0; }
 .shared-vault-secret-fields { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; }
 .shared-vault-secret-row { display: grid; grid-template-columns: 56px minmax(0, 1fr) 58px; align-items: center; gap: 12px; min-height: 54px; border-bottom: 1px solid var(--line); padding: 8px 10px 8px 14px; }
 .shared-vault-secret-row:last-child { border-bottom: 0; }
 .shared-vault-secret-row > span { color: var(--text-muted); font-size: 12px; }
 .shared-vault-secret-row code { min-width: 0; color: var(--text); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
 .shared-vault-secret-row code.secret { color: var(--vault-red); font-weight: 700; }
 .shared-vault-secret-row button { width: 58px; min-height: 34px; padding: 7px; }
 .shared-vault-expiry { margin: 12px 0 0; color: var(--vault-amber); font-size: 12px; }
 @media (max-width: 640px) { .shared-vault-claim { width: min(100% - 24px, 760px); margin: 4px auto 16px; }
 .shared-vault-claim-header { padding: 2px 0 12px; }
 .shared-vault-claim-header h1 { font-size: 23px; }
 .shared-vault-requirements { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; }
 .shared-vault-requirement { min-height: 52px; gap: 3px; padding: 8px 10px; }
 .shared-vault-secret-card { padding: 14px; }
 .shared-vault-secret-card > header { flex-direction: column; }
 .shared-vault-secret-row { grid-template-columns: 46px minmax(0, 1fr) 52px; gap: 8px; padding-left: 10px; }
 .shared-vault-secret-row button { width: 52px; }
 }
 .shared-vault-history { display: flex; flex-direction: column; gap: 12px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
 .shared-vault-history > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
 .shared-vault-history h2 { margin: 0; font-size: 18px; letter-spacing: 0; }
 .shared-vault-history header p { margin: 5px 0 0; color: var(--text-muted); font-size: 12px; }
 .shared-vault-history-loading { color: var(--text-muted); font-size: 12px; }
 .shared-vault-history-card { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 15px; }
 .shared-vault-history-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
 .shared-vault-history-card header > div { display: grid; gap: 4px; }
 .shared-vault-history-card header strong { font-size: 13px; }
 .shared-vault-history-card header div span, .shared-vault-history-card footer { color: var(--text-muted); font-size: 11px; }
 .shared-vault-history-secret { margin-top: 13px; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; }
 .shared-vault-history-secret-row { display: grid; grid-template-columns: 52px minmax(0, 1fr) 54px; min-height: 48px; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding: 7px 8px 7px 12px; }
 .shared-vault-history-secret-row:last-child { border-bottom: 0; }
 .shared-vault-history-secret-row > span { color: var(--text-muted); font-size: 11px; }
 .shared-vault-history-secret-row code { min-width: 0; color: var(--text); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
 .shared-vault-history-secret-row code.secret { color: var(--vault-red); font-weight: 700; }
 .shared-vault-history-secret-row button { width: 54px; min-height: 32px; padding: 6px; }
 .shared-vault-history-expired { margin: 13px 0 0; border-left: 3px solid var(--line); color: var(--text-muted); padding: 8px 10px; font-size: 12px; }
 .shared-vault-history-card footer { margin-top: 11px; }
 @media (max-width: 520px) { .shared-vault-history-card > header { flex-direction: column; }
 .shared-vault-history-secret-row { grid-template-columns: 44px minmax(0, 1fr) 50px; gap: 7px; padding-left: 9px; }
 .shared-vault-history-secret-row button { width: 50px; }
 }
 
.sva-page-shell .main-panel{padding:0!important;background:transparent;box-shadow:none}.shared-vault-public,.shared-vault-admin,.shared-vault-shell{color:var(--text);font:inherit}.shared-vault-public{max-width:840px;margin:0 auto}.shared-vault-admin{max-width:100%}.shared-vault-claim{margin:0 auto!important;padding:18px!important}.shared-vault-claim-header h1{overflow-wrap:anywhere}.shared-vault-link{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:var(--brand);color:#fff;text-decoration:none}#sva-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 5px 25px rgba(0,0,0,.15);color:var(--text)}#sva-toast[hidden]{display:none}
.shared-vault-admin input,.shared-vault-admin textarea,.shared-vault-admin select{min-width:0;background:var(--panel);color:var(--text);border-color:var(--line)}.shared-vault-secret-row code,.shared-vault-history-secret-row code,.shared-vault-audit-secret-row code{white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}.shared-vault-description{overflow-wrap:anywhere}.shared-vault-claim-button{color:#fff!important}.shared-vault-admin .shared-vault-columns>*{min-width:0}
@media(max-width:600px){.shared-vault-claim{padding:10px!important}.shared-vault-shell{padding:10px!important}.shared-vault-grid{grid-template-columns:1fr!important}.shared-vault-requirements{gap:6px!important}.shared-vault-requirement{padding:9px!important}.shared-vault-admin input,.shared-vault-admin textarea{font-size:16px}.shared-vault-secret-row,.shared-vault-history-secret-row{min-width:0}.shared-vault-actions{flex-wrap:wrap}.shared-vault-columns{grid-template-columns:1fr!important}}