/* ====== Common ====== */
.kt_btn{background:#1a73e8;color:#fff;padding:12px 18px;border-radius:3px;border:0;cursor:pointer;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.kt_overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;display:none}
.kt_modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;width:min(780px,92vw);border-radius:5px;box-shadow:10px 30px 80px rgba(0,0,0,.25);z-index:9999;padding:26px 22px;display:none;max-height:80vh;overflow:auto}
.kt_close {
    position: absolute;
    right: 0px;
    background: #fa8f11;
    border: 0px;
    width: 0px;
    height: 0px;
    border-radius: 10%;
    font-size: 20px;
    line-height: 0px;
    text-align: left;
    cursor: context-menu;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}

.kt_title{font-size:26px;font-weight:800;margin:4px 6px 0 6px;text-align:left}
.kt_sub{opacity:.75;margin:2px 6px;text-align:left}
.kt_note{margin:8px 6px 12px 6px;font-weight:600;text-align:left}
.kt_row{display:flex;gap:10px;align-items:center}
.kt_inputline{margin:6px 6px 10px 6px}
#ktppm_pass{flex:1;padding:12px 14px;border-radius:3px;border:1px solid #dcdcdc;font-size:16px;outline:none}
#ktppm_pass:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,.15)}
#ktppm_submit{padding:0px 18px;border-radius:3px;border:0;background:#1a73e8;color:#fff;font-weight:700;cursor:pointer}
.kt_keyword{margin:10px 6px;text-align:left}
.kw_label{opacity:.8;margin-right:8px}
.kw_value{display:inline-block;background:#111;color:#fff;padding:4px 10px;border-radius:999px;margin-right:8px;font-weight:700}
.kw_copy{padding:0px 12px;border-radius:3px;border:1px solid #dcdcdc;background:#fff;cursor:pointer}
.kt_guide{margin:10px 6px}
.kt_guide img{width:100%;height:auto;border-radius:12px;margin:8px 0}
.kt_guide_text{line-height:2}
.kt_thanks{margin:14px 6px;font-weight:900;text-align:left}
.kt_alert{margin:8px 6px 0 6px;padding:10px 12px;border-radius:10px;font-weight:600}
.kt_alert.ok{background:#e9f7ef;border:1px solid #bde5c8;color:#0a6a2b}
.kt_alert.err{background:#fdecea;border:1px solid #f5c6cb;color:#c82333}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
.shake{animation:shake .3s linear 1}
@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}100%{transform:translateX(0)}

/* ====== Admin styles ====== */
.ktppm_wrap .kt_card{background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:16px;margin:14px 0;box-shadow:0 6px 14px rgba(0,0,0,.04)}
.ktppm_wrap .kt_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.ktppm_wrap .kt_row{display:flex;gap:10px;align-items:center}
.ktppm_wrap .kt_input{padding:8px 10px;border-radius:10px;border:1px solid #dcdcdc;width:100%}
.ktppm_wrap .kt_textarea{width:100%}
.ktppm_wrap .kt_code{display:inline-block;background:#111;color:#fff;padding:6px 10px;border-radius:8px}
.kt_stats{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.kt_stat{background:#fff;border:1px solid #eee;border-radius:14px;padding:12px 16px;min-width:120px;box-shadow:0 6px 14px rgba(0,0,0,.04)}
