.bpm-kd-lock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #c9d6ea;
    border-radius: 6px;
    background: #f3f6fb;
    color: #002366;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    line-height: 1.3;
}
.bpm-kd-lock:hover,
.bpm-kd-lock:focus { background: #e2ebf8; border-color: #0057b8; color: #002366; }
tr.bpm-kd-row { cursor: pointer; }
.bpm-kd-unlocked { font-weight: 500; }
.bpm-kd-menu-lock { font-size: .8em; margin-left: 4px; }

.bpm-kd-modal[hidden] { display: none; }
.bpm-kd-modal { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 16px; }
.bpm-kd-backdrop { position: absolute; inset: 0; background: rgba(0, 20, 50, .55); }
.bpm-kd-dialog {
    position: relative;
    width: 100%;
    max-width: 380px;
    background: #fff;
    border-radius: 12px;
    padding: 28px 24px 24px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
    font-family: "Inter", "Poppins", sans-serif;
}
.bpm-kd-x { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 26px; line-height: 1; color: #888; cursor: pointer; padding: 4px; }
.bpm-kd-x:hover { color: #333; background: none; }
.bpm-kd-icon { font-size: 36px; margin-bottom: 4px; }
.bpm-kd-dialog h3 { margin: 0 0 8px; font-size: 20px; color: #002366; }
.bpm-kd-dialog p { margin: 0 0 12px; font-size: 14px; color: #555; }
.bpm-kd-input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ccd; border-radius: 6px; font-size: 15px; }
.bpm-kd-msg { min-height: 1.2em; margin: 8px 0 !important; color: #b32d2e !important; }
.bpm-kd-submit {
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 14px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(90deg, #002366, #40A788);
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none !important;
    cursor: pointer;
}
.bpm-kd-dialog .bpm-kd-login { margin: 14px 0 0; font-size: 13px; }
.bpm-kd-login a { color: #0057b8; font-weight: 600; }
.bpm-kd-submit:disabled { opacity: .6; cursor: wait; }
.bpm-kd-open[hidden], .bpm-kd-ok[hidden], .bpm-kd-form[hidden] { display: none; }
body.bpm-kd-noscroll { overflow: hidden; }
