/* pt — 짐구독_PT,GX (PT 탭) 430x932 */
.f-pt { background: #fff; }
.f-pt p { white-space: nowrap; }

/* Status bar */
.f-pt .sb { position: absolute; left: 0; top: 0; width: 430px; height: 59px; }
.f-pt .sb-in { position: absolute; left: 0; top: 0; right: 0; height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 16px 32px 16px 52px; }
.f-pt .sb-in .time { font-weight: 700; font-size: 17px; line-height: 22px; color: #030303; text-align: center; }
.f-pt .sb-r { width: 79.67px; height: 13px; }
.f-pt .cam { position: absolute; left: 153px; top: 10px; width: 124px; height: 36px; background: #030303; border-radius: 33px; overflow: hidden; }
.f-pt .cam img { position: absolute; }
.f-pt .cam .c1 { left: 92.127px; top: 12.127px; width: 6.746px; height: 11.746px; }
.f-pt .cam .c2 { left: 92.877px; top: 13.977px; width: 5.246px; height: 8.054px; }
.f-pt .cam .c3 { left: 94.077px; top: 13.809px; width: 3.770px; height: 7.302px; transform: rotate(5.81deg) skewX(-2.78deg); }
.f-pt .cam .c4 { left: 98.127px; top: 12.127px; width: 6.746px; height: 11.746px; transform: rotate(180deg) scaleY(-1); }
.f-pt .cam .c5 { left: 98.877px; top: 13.977px; width: 5.246px; height: 8.054px; transform: rotate(180deg) scaleY(-1); }
.f-pt .cam .c6 { left: 99.157px; top: 13.809px; width: 3.770px; height: 7.302px; transform: rotate(174.19deg) skewX(2.78deg) scaleY(-1); }

/* Navigation */
.f-pt .nav { position: absolute; left: 0; top: 83px; width: 430px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; }
.f-pt .nav .back { width: 48px; height: 48px; transform: rotate(90deg); }
.f-pt .nav .back img { width: 48px; height: 48px; }
.f-pt .nav .title { font-weight: 900; font-size: 33px; line-height: 40px; color: #f37021; text-align: center; }
.f-pt .nav .branch { width: 48px; height: 48px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px 0; }
.f-pt .nav .branch img { width: 26.627px; height: 15.314px; }

/* PT / GROUP tabs */
.f-pt .tabs { position: absolute; left: 24px; top: 143px; width: 382px; height: 28px; display: flex; gap: 4px; align-items: center; }
.f-pt .tab { position: relative; height: 28px; display: flex; align-items: center; justify-content: center; }
.f-pt .tab p { font-size: 13px; line-height: 16px; text-align: center; }
.f-pt .tab-pt { width: 192px; }
.f-pt .tab-pt p { font-weight: 700; color: #f37021; margin-left: -0.82px; }
.f-pt .tab-pt img { position: absolute; left: -1.5px; top: 26.5px; width: 195px; height: 3px; }
.f-pt .tab-gx { width: 186px; }
.f-pt .tab-gx p { font-weight: 400; color: #030303; margin-left: -0.92px; }
.f-pt .tab-gx img { position: absolute; left: -1px; top: 27px; width: 188px; height: 2px; }

/* Open PT card */
.f-pt .card { position: absolute; left: 24px; top: 183px; width: 382px; height: 528px; border-radius: 20px; overflow: hidden; }
.f-pt .card .bg, .f-pt .card-off .bg { position: absolute; left: 0; top: 0; width: 382px; }
.f-pt .card .bg { height: 528px; }
.f-pt .card .date, .f-pt .card-off .date { position: absolute; right: 136px; top: 32px; font-weight: 700; font-size: 10px; line-height: 12px; color: #030303; text-align: right; }
.f-pt .card .ttl { position: absolute; left: calc(50% - 0.5px); top: 8px; transform: translateX(-50%); display: flex; gap: 8px; align-items: center; }
.f-pt .card .badge { width: 60px; height: 20px; padding: 8px 24px; border-radius: 20px; background: #f37021; display: flex; align-items: center; justify-content: center; }
.f-pt .card .badge p { font-weight: 700; font-size: 13px; line-height: 16px; color: #fff; }
.f-pt .card .name { font-weight: 700; font-size: 15px; line-height: 18px; color: #030303; }
.f-pt .fold, .f-pt .more { position: absolute; left: 318px; width: 44.004px; display: flex; align-items: center; justify-content: space-between; }
.f-pt .fold { top: 32px; }
.f-pt .more { top: 30px; }
.f-pt .fold p, .f-pt .more p { font-weight: 700; font-size: 10px; line-height: 12px; color: #b5bcc6; text-align: right; }
.f-pt .fold img, .f-pt .more img { width: 12.004px; height: 6.999px; }
.f-pt .fold img { transform: scaleY(-1); }

.f-pt .prog { position: absolute; left: 0; top: 60px; width: 382px; display: flex; flex-direction: column; gap: 8px; align-items: center; }
.f-pt .prog .hd { position: relative; width: 100%; height: 16px; overflow: hidden; flex-shrink: 0; }
.f-pt .prog .hd p { position: absolute; top: 0; transform: translateX(-50%); font-weight: 700; font-size: 13px; line-height: 16px; color: #030303; text-align: center; }
.f-pt .row { width: 358px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.f-pt .cells { width: 278px; height: 36px; padding: 6px 4px; gap: 4px; border-radius: 20px; background: #fff; display: flex; align-items: center; justify-content: center; }
.f-pt .cells p { font-weight: 700; font-size: 13px; line-height: 16px; color: #030303; text-align: center; flex-shrink: 0; }
.f-pt .cells .c-n { width: 49px; height: 16px; }
.f-pt .cells .c-d { width: 140px; }
.f-pt .cells .c-t { width: 48px; height: 16px; }
.f-pt .cells .dv { width: 2px; height: 22.571px; margin: 0 -1px; flex-shrink: 0; }
.f-pt .row.empty .cells p { font-weight: 400; }
.f-pt .row.empty .cells .c-d, .f-pt .row.empty .cells .c-t { color: #b5bcc6; }

.f-pt .st { height: 36px; padding: 8px 24px; border-radius: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.f-pt .st p { font-weight: 700; font-size: 13px; line-height: 16px; text-align: center; }
.f-pt .st-done { width: 72px; background: #030303; }
.f-pt .st-done p { color: #fff; }
.f-pt .st-confirm { background: #f37021; }
.f-pt .st-confirm p { color: #fff; }
.f-pt .st-confirm .t-done { display: none; }
.f-pt .st-resv { width: 72px; background: #f4f5f7; border: 1px solid #b5bcc6; }
.f-pt .st-resv p { color: #b5bcc6; }

/* signed: 4/10 pill becomes the same 완료 variant as rows 1-3 */
.f-pt.signed .st-confirm { width: 72px; background: #030303; }
.f-pt.signed .st-confirm .t-confirm { display: none; }
.f-pt.signed .st-confirm .t-done { display: block; }

/* Collapsed PT cards */
.f-pt .card-off { position: absolute; left: 24px; width: 382px; height: 68px; border-radius: 20px; overflow: hidden; }
.f-pt .card-off .bg { height: 68px; }
.f-pt .card-off .ttl { position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 138px; padding: 4px; border-radius: 20px; background: #f37021; display: flex; align-items: center; justify-content: center; }
.f-pt .card-off .ttl p { font-weight: 700; font-size: 15px; line-height: 18px; color: #fff; text-align: center; }

/* Tab bar */
.f-pt .tabbar { position: absolute; left: 0; bottom: 0; width: 430px; background: #fff; display: flex; flex-direction: column; }
.f-pt .tbs { width: 100%; padding: 0 24px; display: flex; align-items: flex-start; justify-content: space-between; }
.f-pt .tb { width: 75px; padding: 8px 0 4px; gap: 6px; display: flex; flex-direction: column; align-items: center; }
.f-pt .tb img { width: 24px; }
.f-pt .tb p { font-weight: 700; font-size: 10px; line-height: 12px; color: #b5bcc6; text-align: center; }
.f-pt .tb.on p { color: #030303; }
.f-pt .hi { position: relative; width: 100%; height: 34px; }
.f-pt .hi div { position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); width: 134px; height: 5px; border-radius: 100px; background: #030303; }
