/* 5.4 personal dashboard: deliberately isolated styling for the new components */
.mk54-panel{min-width:0;overflow:visible}
.mk54-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 21px}
.mk54-section-head h2{color:#203b3e;margin:5px 0 0;font-size:21px;font-weight:800;letter-spacing:-.4px}
.mk54-kicker{font-weight:850;font-size:10px;letter-spacing:1.35px;color:#63877d}
.mk54-period{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#687c7e;font-size:12px;font-weight:650}
.mk54-period input{max-width:177px;background:#f8faf8!important}
.mk54-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mk54-metrics.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.mk54-metric{display:flex;flex-direction:column;gap:8px;padding:19px 18px;border:1px solid #e4eae6;border-radius:16px;background:#f7f9f7;min-width:0}
.mk54-metric small{color:#607779;font-size:12px;line-height:1.4;font-weight:600}
.mk54-metric strong{color:#173b43;font-size:clamp(19px,2vw,27px);font-weight:790;letter-spacing:-.65px;line-height:1.15;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.mk54-metric span{color:#718386;font-size:10px;line-height:1.4}
.mk54-explain{font-size:12px;color:#667f80;line-height:1.65;margin:17px 0 2px}
.mk54-note{background:#f2f6f2;border:1px solid #dce8df;color:#4a686b;padding:13px 15px;border-radius:12px;margin-top:17px;font-size:12px;line-height:1.6}
.mk54-count{font-weight:800;color:#315d5c;padding:7px 12px;border-radius:999px;background:#eaf3ef;font-size:12px}
.mk54-upcoming{display:grid;grid-template-columns:114px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #e9efeb}
.mk54-upcoming-time,.mk54-upcoming-person{display:grid;gap:4px;min-width:0}
.mk54-upcoming-time b{font-size:20px;color:#21484c}.mk54-upcoming-time small,.mk54-upcoming-person small{font-size:11px;color:#748584}
.mk54-upcoming-person b{font-size:14px;color:#203b3e;overflow-wrap:anywhere}
.mk54-search-wrap{margin-bottom:10px;max-width:360px}
.mk54-person{width:100%;display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(100px,1fr) minmax(140px,1.2fr) minmax(120px,1fr) minmax(155px,1.3fr) 18px;gap:15px;align-items:center;border:0;border-top:1px solid #eaf0eb;background:none;text-align:left;padding:16px 4px;cursor:pointer;color:#244347}
.mk54-person:hover{background:#f7faf7}.mk54-person>span{min-width:0;display:grid;gap:5px}.mk54-person span>b{font-size:12px;overflow-wrap:anywhere;line-height:1.35}.mk54-person-name>b{font-size:14px!important}.mk54-person small{font-size:10px;color:#758789;line-height:1.4}
.mk54-person .mk54-arrow{color:#4a7774;font-size:23px;display:block}
.mk54-pill{display:inline-block!important;background:#edf3f0;border-radius:6px;color:#48655d!important;font-size:10px;font-weight:760;padding:4px 7px;white-space:nowrap;width:fit-content;vertical-align:middle}
.mk54-pill.paid{color:#367258!important;background:#e1f2e7}.mk54-pill.unpaid{color:#987346!important;background:#f8f0df}
.mk54-current{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.mk54-current>div{display:grid;gap:8px;background:#f6f9f6;border-radius:13px;border:1px solid #e4ece6;padding:17px;min-width:0}
.mk54-current small{color:#69817b;font-size:11px}.mk54-current strong{font-size:18px;color:#184349;overflow-wrap:anywhere}
.mk54-progress{height:8px;background:#e5ede6;overflow:hidden;border-radius:999px;margin-top:15px}.mk54-progress>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#2b615f,#7caf96)}
.mk54-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 0}
.mk54-next{margin-top:18px;font-size:13px;color:#5f7376}
.mk54-warning{margin:16px 0 0;border:1px solid #edc794;background:#fff7eb;color:#78582a;border-radius:12px;padding:14px;font-size:12px;line-height:1.6}
.mk54-history,.mk54-plan-history{display:flex;align-items:center;gap:17px;border-top:1px solid #e9efeb;padding:14px 0;min-width:0}
.mk54-history-date{display:grid;gap:4px;flex:0 0 103px}.mk54-history-date b{font-size:13px;color:#234c4e}.mk54-history-date small{color:#78908c}
.mk54-history-main{display:grid;gap:4px;min-width:0;flex:1}.mk54-history-main b{font-size:13px}.mk54-history-main small,.mk54-plan-history small{font-size:11px;color:#718589;overflow-wrap:anywhere}
.mk54-history-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.mk54-plan-history>div{display:grid;gap:5px;flex:1}.mk54-plan-history>span{font-size:12px;color:#607a7a}
.mk54-archive{margin-top:18px;color:#4d6d70}.mk54-archive>summary{cursor:pointer;font-size:13px;font-weight:750}
.mk54-archive-row{display:block;width:100%;text-align:left;padding:13px 6px;border:0;border-top:1px solid #e6eee7;background:none;color:#416366;font-size:12px;cursor:pointer}
@media(max-width:1200px){.mk54-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.mk54-person{grid-template-columns:minmax(165px,1.6fr) minmax(105px,1fr) minmax(105px,1fr) 18px}.mk54-person>span:nth-child(3),.mk54-person>span:nth-child(5){display:none}}
@media(max-width:640px){.mk54-metrics{gap:9px}.mk54-metric{padding:14px 12px;gap:5px}.mk54-metric strong{font-size:21px}.mk54-metric small{font-size:10px}.mk54-metrics.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.mk54-section-head h2{font-size:18px}.mk54-period{width:100%;justify-content:space-between}.mk54-current{grid-template-columns:repeat(2,minmax(0,1fr))}.mk54-current>div{padding:14px}.mk54-current strong{font-size:16px}.mk54-person{grid-template-columns:minmax(0,1fr) minmax(105px,.8fr) 17px;gap:9px;padding:13px 0}.mk54-person>span:nth-child(2),.mk54-person>span:nth-child(3),.mk54-person>span:nth-child(5){display:none}.mk54-person>span:nth-child(4){display:grid}.mk54-person-name>b{font-size:14px!important}.mk54-upcoming{grid-template-columns:83px minmax(0,1fr);gap:8px}.mk54-upcoming-time b{font-size:17px}.mk54-upcoming-action{grid-column:2}.mk54-upcoming-action button{width:100%}.mk54-history{gap:10px;flex-wrap:wrap}.mk54-history-date{flex-basis:84px}.mk54-history-actions{flex-basis:100%;justify-content:flex-start}.mk54-plan-history{align-items:flex-start;flex-wrap:wrap}.mk54-plan-history>span{width:100%}}

.mk54-calendar>summary{font-size:16px;color:#23494d;font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:4px 0}
.mk54-calendar>summary::after{content:'▾';font-size:20px;color:#5c8e82}
.mk54-calendar[open]>summary::after{content:'▴'}
.mk54-calendar>summary::-webkit-details-marker{display:none}
.mk54-calendar-content{margin-top:18px}
.mk54-calendar-content>.calendar-card{margin:0!important;border:0!important;box-shadow:none!important;padding:0!important}

.mk54-booking-done{border-radius:9px;background:#e0f2e9;color:#326851;padding:7px 10px;font-size:12px;font-weight:750}
/* On a phone, keep all requested table columns visible, arranged in compact rows. */
@media(max-width:640px){
 .mk54-person{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 15px;align-items:start;row-gap:10px;column-gap:9px}
 .mk54-person>span:nth-child(1){grid-column:1/3;display:grid}
 .mk54-person>span:nth-child(2){grid-column:1;display:grid}
 .mk54-person>span:nth-child(3){grid-column:2;display:grid}
 .mk54-person>span:nth-child(4){grid-column:1;display:grid}
 .mk54-person>span:nth-child(5){grid-column:2;display:grid}
 .mk54-person>span:nth-child(n+2)>b{font-size:11px}
 .mk54-person .mk54-arrow{grid-column:3;grid-row:1/4;align-self:center}
}
