/* BullSignal Foundation Patch — isolated styles. Existing Dashboard CSS is untouched. */
.bs-auth-consents {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(145, 165, 193, 0.18);
    border-radius: 14px;
    background: rgba(145, 165, 193, 0.045);
}
.bs-auth-consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
    color: #a9b8ca;
    font-size: 12px;
    line-height: 1.55;
}
.bs-auth-consent input { margin-top: 2px; }
.bs-auth-consent a { color: #62efb1; text-decoration: underline; text-underline-offset: 2px; }
.bs-auth-consent.is-optional { opacity: .82; }

.bs-session-pin-card,
.bs-two-factor-card {
    display: grid;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(98, 239, 177, .18);
    border-radius: 18px;
    background: rgba(98, 239, 177, .045);
}
.bs-session-pin-card > span,
.bs-two-factor-card > span { color: #62efb1; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.bs-session-pin-card h3,
.bs-two-factor-card h3 { margin: 0; color: #f2f7ff; }
.bs-session-pin-card p,
.bs-two-factor-card p { margin: 0; color: #8194ab; line-height: 1.55; }
.bs-session-pin-card button,
.bs-two-factor-card button,
.bs-session-pin-dialog button,
.bs-session-pin-settings-dialog button,
.bs-two-factor-dialog button,
.bs-two-factor-settings-dialog button {
    min-height: 42px;
    border: 0;
    border-radius: 12px;
    padding: 0 16px;
    background: #35e59a;
    color: #03120d;
    font-weight: 800;
    cursor: pointer;
}
.bs-session-pin-overlay,
.bs-session-pin-settings,
.bs-two-factor-overlay,
.bs-two-factor-settings {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(2, 7, 12, .84);
    backdrop-filter: blur(12px);
}
.bs-session-pin-overlay { z-index: 999998; }
.bs-two-factor-overlay { z-index: 999999; }
.bs-session-pin-settings,
.bs-two-factor-settings { z-index: 999997; }
.bs-session-pin-overlay[hidden],
.bs-session-pin-settings[hidden],
.bs-two-factor-overlay[hidden],
.bs-two-factor-settings[hidden] { display: none !important; }
.bs-session-pin-dialog,
.bs-session-pin-settings-dialog,
.bs-two-factor-dialog,
.bs-two-factor-settings-dialog {
    position: relative;
    width: min(100%, 460px);
    display: grid;
    gap: 14px;
    padding: 28px;
    border: 1px solid rgba(145, 165, 193, .22);
    border-radius: 22px;
    background: #0c1722;
    color: #eaf2ff;
    box-shadow: 0 32px 90px rgba(0,0,0,.5);
}
.bs-session-pin-dialog h2,
.bs-session-pin-settings-dialog h2,
.bs-two-factor-dialog h2,
.bs-two-factor-settings-dialog h2 { margin: 0; }
.bs-session-pin-dialog p,
.bs-two-factor-dialog p { margin: 0; color: #91a5bd; line-height: 1.55; }
.bs-session-pin-dialog form,
.bs-session-pin-settings-dialog form,
.bs-two-factor-dialog form,
.bs-two-factor-settings-dialog form { display: grid; gap: 12px; }
.bs-session-pin-settings-dialog label,
.bs-two-factor-settings-dialog label { display: grid; gap: 6px; color: #a9b8ca; font-size: 12px; }
.bs-session-pin-dialog input,
.bs-session-pin-settings-dialog input,
.bs-two-factor-dialog input,
.bs-two-factor-settings-dialog input {
    width: 100%;
    min-height: 46px;
    box-sizing: border-box;
    border: 1px solid rgba(145,165,193,.24);
    border-radius: 12px;
    padding: 0 14px;
    background: #08121c;
    color: #f4f8ff;
    font-size: 16px;
}
#bs-session-pin-settings-close,
#bs-two-factor-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    min-height: 36px;
    padding: 0;
    background: rgba(145,165,193,.12);
    color: #eaf2ff;
}
.bs-two-factor-secret,
.bs-two-factor-recovery {
    display: block;
    overflow-wrap: anywhere;
    padding: 12px;
    border-radius: 10px;
    background: #071019;
    color: #62efb1;
    white-space: pre-wrap;
}
.bs-legal-document {
    width: min(100%, 900px);
    margin: 32px auto 80px;
    padding: 34px;
    border: 1px solid rgba(145,165,193,.18);
    border-radius: 20px;
    background: #0c1722;
    color: #dce6f3;
    line-height: 1.7;
}
.bs-legal-document h1,
.bs-legal-document h2,
.bs-legal-document h3 { color: #f4f8ff; }
.bs-legal-document a { color: #62efb1; }
.bs-legal-document footer { margin-top: 30px; color: #7187a2; }
@media (max-width: 620px) {
    .bs-legal-document { margin: 16px 12px 50px; padding: 22px 18px; }
    .bs-session-pin-dialog,
    .bs-session-pin-settings-dialog,
    .bs-two-factor-dialog,
    .bs-two-factor-settings-dialog { padding: 24px 18px; }
}
