.opal-vault-capture, .opal-vault-panel { color: #202020; background: #fff; font: inherit; }
.opal-vault-capture { max-width: 480px; border: 1px solid #e2e2e2; border-radius: 18px; padding: 22px; }
.opal-vault-capture h3, .opal-vault-panel h3 { margin: 0 0 12px; font-size: 1.08rem; font-weight: 500; }
.opal-vault-sub { color: #707070; font-size: .92rem; line-height: 1.5; }
.opal-vault-capture form, .opal-vault-panel form, .opal-vault-fields { display: grid; gap: 18px; }
.opal-vault-capture label, .opal-vault-panel label { display: grid; gap: 8px; font-size: .88rem; }
.opal-vault-capture input, .opal-vault-panel input, .opal-vault-panel select { box-sizing: border-box; width: 100%; min-height: 46px; border: 1px solid #d8d8d8; border-radius: 10px; padding: 11px 12px; background: #fff; color: #202020; font: inherit; }
.opal-vault-capture input:focus, .opal-vault-panel input:focus, .opal-vault-panel select:focus { outline: 2px solid #2a2a2a; outline-offset: 2px; }
.opal-vault-secret { display: flex; position: relative; }
.opal-vault-secret input { padding-right: 64px; }
.opal-vault-show { position: absolute; top: 4px; right: 4px; bottom: 4px; border: 0; background: transparent; padding: 0 10px; color: #666; font: inherit; font-size: .82rem; cursor: pointer; }
.opal-vault-actions { display: flex; align-items: center; gap: 16px; }
.opal-vault-primary { border: 0; border-radius: 11px; padding: 13px 20px; background: #202020; color: #fff; font: inherit; cursor: pointer; }
.opal-vault-text { border: 0; background: transparent; color: #666; font: inherit; cursor: pointer; padding: 8px 0; }
.opal-vault-status { font-size: .88rem; line-height: 1.5; margin: 0; }
.opal-vault-status:empty { display: none; }
.opal-vault-panel { position: fixed; z-index: 95; right: max(16px, calc((100vw - 1240px) / 2)); top: 24px; bottom: 24px; width: min(430px, calc(100vw - 32px)); box-sizing: border-box; border: 1px solid #e4e4e4; border-radius: 22px; box-shadow: 0 18px 70px #00000015; overflow: auto; }
.opal-vault-panel header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 24px 18px; border-bottom: 1px solid #ededed; }
.opal-vault-panel h2 { margin: 0; font-size: 1.35rem; font-weight: 500; }
.opal-vault-panel-body { padding: 24px; display: grid; gap: 28px; }
.opal-vault-list { border-bottom: 1px solid #ededed; padding-bottom: 20px; }
.opal-vault-account { margin: 10px 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.opal-vault-manage { color: #747474; text-decoration: underline; font-size: .84rem; }
.opal-vault-panel [hidden], .opal-vault-capture [hidden] { display: none !important; }
.opal-vault-panel button:disabled, .opal-vault-capture button:disabled { opacity: .5; cursor: default; }
@media (max-width: 600px) {
  .opal-vault-panel { inset: auto 0 0; width: 100%; max-height: calc(100dvh - 36px); border-radius: 22px 22px 0 0; padding-bottom: env(safe-area-inset-bottom); }
  .opal-vault-capture { padding: 18px; }
  .opal-vault-panel-body { padding: 22px; }
}
