.pk-form { --pk-g: var(--mp-green, #527c3a); }
.pk-card { background: #fff; border: 1px solid #e3eadb; border-radius: 14px; padding: 1.25rem 1.25rem 1.4rem; margin-bottom: 1.25rem; box-shadow: 0 6px 18px rgba(29,51,20,.05); }
.pk-h { font-size: 1.05rem; font-weight: 600; margin: 0 0 1rem; display: flex; align-items: center; gap: .6rem; color: var(--mp-green-dark, #2f4d20); }
.pk-step { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--mp-leaf-soft, #eef7e2); color: var(--pk-g); font-size: .85rem; font-weight: 700; flex: none; }
.pk-intro { display: flex; gap: 1rem; align-items: center; background: linear-gradient(135deg, var(--mp-green-deep,#1d3314), var(--mp-green,#527c3a)); color: #fff; border-radius: 14px; padding: 1.1rem 1.25rem; margin-bottom: 1.25rem; }
.pk-intro > div:first-child { font-size: 1.8rem; color: var(--mp-leaf,#8dc642); }
.pk-intro strong { color: #fff; }
.pk-choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: .6rem; }
.pk-choice label { cursor: pointer; margin: 0; }
.pk-choice input { position: absolute; opacity: 0; pointer-events: none; }
.pk-choice span { display: block; border: 2px solid #e3eadb; border-radius: 12px; padding: .7rem .9rem; font-weight: 600; transition: .15s; height: 100%; }
.pk-choice span i { color: var(--pk-g); margin-right: .35rem; }
.pk-choice small { display: block; font-weight: 400; color: #5f6b5a; font-size: .8rem; margin-top: .15rem; }
.pk-choice input:checked + span { border-color: var(--pk-g); background: var(--mp-leaf-soft, #eef7e2); }
.pk-choice input:focus-visible + span { outline: 3px solid rgba(82,124,58,.35); }
.pk-row { padding: .5rem 0; border-bottom: 1px dashed #e3eadb; }
.pk-total { background: var(--mp-cream,#f7f9f3); border-radius: 10px; padding: .6rem .9rem; }
.pk-total strong { color: var(--pk-g); font-size: 1.15rem; }
.pk-paybox { display: flex; gap: 1.25rem; align-items: flex-start; background: var(--mp-cream,#f7f9f3); border-radius: 12px; padding: 1rem; flex-wrap: wrap; }
.pk-paybox img { width: 150px; height: auto; border-radius: 8px; background: #fff; padding: 6px; border: 1px solid #e3eadb; }
.pk-paybox > div { flex: 1 1 260px; min-width: 0; }
.pk-terms summary { cursor: pointer; color: var(--pk-g); font-weight: 500; }
.pk-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pk-alert ul { padding-left: 1.2rem; }
.pk-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.pk-kv > div { background: var(--mp-cream,#f7f9f3); border-radius: 10px; padding: .55rem .8rem; font-weight: 600; }
.pk-kv span:first-child { display: block; font-size: .75rem; font-weight: 400; color: #5f6b5a; }
.pk-badge { display: inline-block; font-size: .75rem; padding: .15rem .55rem; border-radius: 999px; font-weight: 600; white-space: nowrap; }
.pk-b-ok { background: #e3f3d4; color: #2f5a17; } .pk-b-warn { background: #fff1c7; color: #7a5b00; } .pk-b-bad { background: #fde2e1; color: #9b1c1c; } .pk-b-mute { background: #eceeea; color: #555; }
.pk-bar { height: 5px; background: #eceeea; border-radius: 5px; margin-top: .3rem; overflow: hidden; } .pk-bar i { display: block; height: 100%; background: var(--pk-g, #527c3a); }
.pk-table td, .pk-table th { vertical-align: middle; font-size: .9rem; }
.pk-bayar summary { list-style: none; } .pk-bayar summary::-webkit-details-marker { display: none; }
.pk-downloads { display: grid; gap: .75rem; margin: 1rem 0; }
.pk-dl { display: flex; align-items: center; gap: 1rem; padding: .9rem 1.1rem; border: 1px solid #e3eadb; border-radius: 12px; text-decoration: none; color: inherit; background: #fff; transition: .15s; }
.pk-dl:hover { border-color: var(--mp-green,#527c3a); background: var(--mp-leaf-soft,#eef7e2); color: inherit; }
.pk-dl > i:first-child { font-size: 1.7rem; color: #c0392b; }
.pk-dl small { display: block; color: #5f6b5a; }
.pk-dl .fa-download { color: var(--mp-green,#527c3a); }
@media (max-width: 575.98px) { .pk-card { padding: 1rem; } .pk-intro { flex-direction: column; align-items: flex-start; } }
.pk-dl, .pk-dl:hover, .pk-dl * { text-decoration: none !important; }
#pk-top, .pk-alert { scroll-margin-top: 120px; }
/* member portal */
.pk-member-head { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; background: linear-gradient(135deg, var(--mp-green-deep,#1d3314), var(--mp-green,#527c3a)); color: #fff; border-radius: 14px; padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.pk-avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--mp-leaf,#8dc642); color: var(--mp-green-deep,#1d3314); display: grid; place-items: center; font-weight: 700; font-size: 1.4rem; flex: none; }
.pk-mh-name { font-weight: 700; font-size: 1.15rem; }
.pk-mh-meta { font-size: .88rem; opacity: .95; }
.pk-tabs { flex-wrap: nowrap; overflow-x: auto; border-bottom-color: #e3eadb; }
.pk-tabs .nav-link { white-space: nowrap; color: var(--mp-ink,#1c1a1b); font-weight: 500; }
.pk-tabs .nav-link i { color: var(--mp-green,#527c3a); margin-right: .25rem; }
.pk-tabs .nav-link.active { color: var(--mp-green-dark,#2f4d20); font-weight: 600; }
.nav-pills.pk-tabs .nav-link.active { background: var(--mp-leaf-soft,#eef7e2); }
.pk-tab-body { padding-top: 1rem; }
.pk-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #e0a100; vertical-align: middle; }
.pk-pl { border-bottom: 1px dashed #e3eadb; padding: .75rem 0; } .pk-pl:last-of-type { border-bottom: 0; }
.pk-edit summary { cursor: pointer; list-style: none; } .pk-edit summary::-webkit-details-marker { display: none; }
.pk-portal-guest { max-width: 640px; margin: 0 auto; }
.pk-portal-guest .pk-card { margin-left: auto; margin-right: auto; }
.pk-portal-guest .pk-intro { text-align: left; }
.pk-narrow-form { max-width: 560px; margin-left: auto; margin-right: auto; }
.pk-portal-guest .btn, .pk-member-head .btn { text-decoration: none; }
