/*
 * PasswordField standar — tombol mata/reload/copy nempel di kanan input.
 * FILE STANDAR 4 APLIKASI (sisnas / sihijap / sijagung / spora) — identik.
 * Jangan edit di satu repo saja; samakan ke keempatnya.
 */
.pwf-group { display: -webkit-flex; display: flex; -webkit-align-items: stretch; align-items: stretch; width: 100%; }
.pwf-group .form-control,
.pwf-group input[type="password"],
.pwf-group input[type="text"] {
    -webkit-flex: 1 1 auto; flex: 1 1 auto;
    width: 100%;
    border-radius: 4px 0 0 4px;
    border-right: 0;
    z-index: 0;
}
.pwf-btn {
    -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 42px;
    border: 1px solid #d2d6de;
    border-left: 0;
    background: #fff;
    color: #7a8691;
    cursor: pointer;
    display: -webkit-flex; display: flex;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: center; justify-content: center;
    font-size: 14px;
    padding: 0;
}
.pwf-btn:last-child { border-radius: 0 4px 4px 0; border-right: 1px solid #d2d6de; }
.pwf-btn:hover { background: #f4f6f9; color: #333; }
.pwf-btn:focus { outline: none; }
.pwf-btn.pwf-copied, .pwf-btn.pwf-copied:hover { color: #00a65a; }
.pwf-btn svg { width: 16px; height: 16px; }
.pwf-group:focus-within .pwf-btn,
.pwf-group.pwf-focus .pwf-btn { border-color: #3c8dbc; color: #3c8dbc; }
.pwf-group:focus-within .form-control,
.pwf-group.pwf-focus .form-control {
    border-color: #3c8dbc;
    -webkit-box-shadow: none; box-shadow: none;
    outline: none;
}
.pwf-label { display: block; margin-bottom: 6px; font-weight: 600; }
.pwf-error { color: #dd4b39; margin-top: 4px; }

/* Footer standar halaman form: tombol kiri-kanan dalam satu baris */
.pwf-footer { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; gap: 8px; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.pwf-footer::before, .pwf-footer::after { content: none !important; display: none !important; }
.pwf-footer .btn { margin-bottom: 0; }

/* Tombol footer standar — tampilan sama di semua app, tidak tergantung tema */
.pwf-btn-action {
    display: -webkit-inline-flex; display: inline-flex;
    -webkit-align-items: center; align-items: center;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 4px;
    border: 1px solid #d2d6de;
    background: #fff;
    color: #444;
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: background .15s ease, border-color .15s ease; transition: background .15s ease, border-color .15s ease;
}
.pwf-btn-action:hover { background: #f4f6f9; color: #333; text-decoration: none; }
.pwf-btn-action svg { width: 14px; height: 14px; }
.pwf-btn-action.pwf-primary { border-color: #3c8dbc; background: #3c8dbc; color: #fff; }
.pwf-btn-action.pwf-primary:hover { background: #307095; border-color: #307095; color: #fff; }

/* Meter kekuatan sandi (dibangun otomatis oleh password-field.js) */
.pw-meter { margin-top: 6px; }
.pw-meter-track { display: block; height: 8px; border-radius: 4px; background: #e9ecef; overflow: hidden; -webkit-box-shadow: none; box-shadow: none; margin-bottom: 4px; }
.pw-meter-bar { display: block; height: 100%; border-radius: 4px; width: 0; background: #d9534f; -webkit-transition: width .2s ease; transition: width .2s ease; }
.pw-meter-text { display: block; min-height: 18px; font-size: 13px; }
.pw-meter small { display: block; line-height: 1.35; }

/* Checklist kriteria sandi (dibangun otomatis oleh password-field.js) */
.pw-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; list-style: none; padding: 0; margin: 2px 0 6px; font-size: 12px; line-height: 1.4; color: #7a8691; }
.pw-checklist li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-checklist li.ok { color: #00a65a; font-weight: 600; }
