.security-hint {
    box-sizing: border-box;
    position: fixed;
    inset: 0;
    width: 520px;
    max-width: calc(100% - 32px);
    max-height: calc(100% - 32px);
    overflow: auto;
    margin: auto;
    padding: 28px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 16px 48px rgba(36, 18, 21, .24);
    background: #fff;
    color: #242424;
    font: 14px/1.5 Arial, sans-serif;
}
.security-hint[hidden], .security-hint:not([open]) { display: none !important; }
.security-hint::backdrop { background: rgba(24, 18, 19, .48); }
.security-hint h2 { margin: 0 0 12px; padding: 0; color: #71131d; font: bold 22px/1.3 Arial, sans-serif; }
.security-hint p { max-width: 72ch; margin: 0; padding: 0; }
.security-hint .security-hint-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
.security-hint a { color: #861824; font-weight: bold; text-decoration: underline; text-underline-offset: 3px; }
.security-hint a span { font-weight: normal; }
.security-hint a[data-security-hint-action="review"] {
    display: inline-block;
    box-sizing: border-box;
    padding: 10px 14px;
    border-radius: 3px;
    background: #861824;
    color: #fff;
    text-decoration: none;
}
.security-hint button {
    display: inline-block;
    width: auto;
    min-height: 44px;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid #a7898c;
    border-radius: 3px;
    background: #fff;
    color: #71131d;
    font: inherit;
    cursor: pointer;
    text-transform: none;
    box-shadow: none;
}
.security-hint button:hover, .security-hint a:hover { background: #f5e8ea; color: #571017; }
.security-hint a[data-security-hint-action="review"]:hover { background: #68121c; color: #fff; }
.security-hint .security-hint-close { border-color: transparent; background: transparent; text-decoration: underline; }
.security-hint a:focus, .security-hint button:focus { outline: 3px solid #225e9b; outline-offset: 3px; }
.security-hint-status { margin: 0 20px 12px; color: #525252; font: 14px/1.5 Arial, sans-serif; }
.security-hint-status:empty { display: none; }
@media (max-width: 600px) {
    .security-hint { padding: 24px 20px; }
    .security-hint .security-hint-actions { align-items: stretch; flex-direction: column; }
    .security-hint a { text-align: center; }
}
@media print { .security-hint, .security-hint-status { display: none !important; } }
