/* p3s.css (v80): 3단계 일정 화면 v3 (D-day, 건강/습관, 게시판, 점검). v3.css 다음에 읽는다. 색은 --v-* 토큰과 가족 색만 */

/* ---------- 틀 ---------- */
.p3s{gap:12px;word-break:keep-all;overflow-wrap:anywhere}
.p3s .bc-top{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0}
.p3s .p3s-new{margin-left:auto}
@media (max-width:767px){
  /* 휴대폰: 제목은 맨 위 막대가 대신 보여 주고, 작은 제목 막대가 읽도록 화면에서만 감춤 (점검은 뒤로 단추와 함께 보임) */
  .p3s:not(.p3s-bk) .bc-title{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:0}
  .p3s-dd>.bc-top,.p3s-bm>.bc-top{margin-bottom:-12px}
  .content:has(>.p3s){padding-top:12px}
}
@media (min-width:768px){.p3s .bc-top{min-height:var(--t-row,40px)}}
/* 두 단 */
.p3s-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.p3s-2.aud{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.p3s-c{display:flex;flex-direction:column;gap:16px;min-width:0}
.p3s .l2-card{gap:14px}
.p3s-h h2{min-width:0}
.p3s-h h2 .dx-info{margin-left:2px}
.p3s-h>.l2-more{margin-left:auto}
/* 조작 줄: 사람 칩, 그 아래(PC는 오른쪽) 건수와 메뉴 */
.p3s-ctl{display:flex;flex-direction:column;gap:12px;min-width:0}
.p3s-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.p3s-cnt{font-size:15px;color:var(--v-ink2);white-space:nowrap}
.p3s-cnt b{font-weight:700;color:var(--v-ink)}
.p3s-menus,.p3s-newb{display:flex;align-items:center;gap:6px;flex:none}
.p3s .l2-ddb{height:34px;padding:0 10px 0 12px;font-size:14px}
@media (min-width:768px){
  .p3s-ctl{flex-direction:row;align-items:center;gap:12px}
  .p3s-ctl>.p3s-who{flex:1 1 auto}
  .p3s-bar{flex:none;gap:10px}
  .p3s .l2-ddb{background:var(--v-card)}
}
/* 사람 칩: 고르면 먹색, 점은 흰색 */
.p3s-who{gap:6px}
.p3s-who .v3-chip{height:36px}
.p3s-who .v3-chip[aria-pressed="true"]>i.dot{background:var(--v-card)!important}
.p3s-ped{width:36px;padding:0!important;justify-content:center}
.p3s-ped .ico{color:var(--v-ink2)}
@media (min-width:768px){
  .p3s-who.one{flex-wrap:wrap;overflow:visible;margin-right:0;padding-right:0}
  .p3s-who .v3-chip:not([aria-pressed="true"]){background:var(--v-card)}
}
/* 접고 펴기 줄 */
.p3s-fold{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:28px;padding:0;border:0;background:none;font:inherit;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--v-ink);cursor:pointer;text-align:left}
.p3s-fold small{margin-left:6px;font-size:14px;font-weight:500;color:var(--v-ink4)}
.p3s-fold .lk{display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:500;color:var(--v-ink3)}
.p3s-fold .ico{color:var(--v-ink4)}
.p3s-fold.sm{font-size:15px;font-weight:600;min-height:40px;border-top:1px solid var(--v-line);margin-top:2px}
@media (max-width:767px){.p3s-fold:not(.sm){font-size:20px}}
.p3s-rows{display:flex;flex-direction:column;min-width:0}
.p3s-ok{display:flex;align-items:center;gap:8px;margin:0;min-height:36px;font-size:15px;color:var(--v-ink2)}
.p3s-ok .ic{flex:none;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--v-green) 15%,var(--v-card));color:var(--v-green);display:inline-flex;align-items:center;justify-content:center}
.p3s .lnk{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--v-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* 휴대폰 맨 아래 넓은 단추 */
.p3s-foot .v3-btn{width:100%;height:48px;border-radius:14px;background:var(--v-card)}
@media (min-width:768px){.p3s-foot{display:flex;justify-content:center}.p3s-foot .v3-btn{max-width:360px}}

/* ================= D-day ================= */
.p3s-ph{display:flex;align-items:center;gap:8px;min-height:28px}
.p3s-ph>i{flex:none;width:10px;height:10px;border-radius:999px}
.p3s-ph h2{margin:0;font-size:18px;line-height:26px;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.p3s-ph>span{font-size:14px;color:var(--v-ink4)}
.p3s-ph>em{margin-left:auto;font-style:normal;font-size:13px;color:var(--v-ink3);white-space:nowrap}
@media (max-width:767px){.p3s-ph h2{font-size:20px;line-height:28px}}
.p3s-ddr{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px 0;border:0;border-bottom:1px solid var(--v-line);background:none;font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-rows>.p3s-ddr:last-child{border-bottom:0;padding-bottom:2px}
.p3s-dn{flex:none;width:64px;height:30px;border-radius:999px;background:var(--v-fill);color:var(--v-ink);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;white-space:nowrap;letter-spacing:-.01em}
.p3s-dn.hot{background:var(--v-coral);color:#fff}
.p3s-dn.soon{background:var(--v-coral-bg);color:var(--v-coral-t)}
.p3s-dn.past{color:var(--v-ink4)}
.p3s-ddr .b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.p3s-ddr .b b{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.35}
.p3s-ddr .b small.d{font-size:13.5px;color:var(--v-ink2)}
.p3s-ddr .b small.m{font-size:13px;color:var(--v-ink3)}
.p3s-ddr.wcol .b{padding-left:12px;box-shadow:inset 3px 0 0 var(--pc,var(--v-mute))}
.p3s-ddr.past .b b{color:var(--v-ink2)}
@media (hover:hover){.p3s-ddr:hover .b b{text-decoration:underline;text-underline-offset:3px}}

/* ================= 건강/습관 ================= */
.p3s-hwho{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:500;color:var(--v-ink2);white-space:nowrap}
.p3s-hwho>i{flex:none;width:8px;height:8px;border-radius:999px}
.p3s-hwho .dx-info{margin-left:0}
@media (max-width:767px){.p3s-hb>.bc-top{min-height:40px}}
@media (min-width:768px){.p3s-hb>.bc-top{gap:16px}}
/* 주간 띠 */
@media (max-width:767px){.p3s .p3s-strip{box-shadow:none;border-top:0!important;padding-top:4px;padding-bottom:20px}}
.p3s-wk{display:grid;grid-template-columns:32px repeat(7,minmax(0,1fr)) 32px;align-items:center;gap:2px}
.p3s-wn{width:32px;height:40px;border:0;background:none;color:var(--v-ink3);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;border-radius:10px}
.p3s-wd{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 0 6px;border:0;border-radius:14px;background:none;font:inherit;color:var(--v-ink);cursor:pointer}
.p3s-wd small{font-size:12px;font-weight:600;color:var(--v-ink3)}
.p3s-wd small.red{color:var(--v-coral-t)}.p3s-wd small.blue{color:var(--v-blue)}
.p3s-wd b{font-size:18px;font-weight:700;line-height:24px;letter-spacing:-.02em}
.p3s-wd.fut b{color:var(--v-ink2);font-weight:600}
.p3s-wd .mk{height:10px;display:flex;align-items:center;justify-content:center;color:var(--v-blue)}
.p3s-wd .mk i{width:5px;height:5px;border-radius:999px;background:var(--v-mute)}
.p3s-wd[aria-pressed="true"]{background:var(--v-ink)}
.p3s-wd[aria-pressed="true"] small,.p3s-wd[aria-pressed="true"] b,.p3s-wd[aria-pressed="true"] .mk{color:var(--v-card)}
.p3s-wd[aria-pressed="true"] .mk i{background:var(--v-card)}
@media (min-width:768px){.p3s-wd{padding:10px 0 8px}.p3s-wd b{font-size:20px}}
/* 고른 날 */
.p3s-strk{font-size:14px;color:var(--v-ink2);white-space:nowrap}.p3s-strk b{font-weight:700;color:var(--v-ink)}
.p3s-alldone{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:8px;background:var(--v-blue-bg);color:var(--v-blue);font-size:13px;font-weight:700;white-space:nowrap}
.p3s-hlist{display:flex;flex-direction:column}
.p3s .hb-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 0;border-bottom:1px solid var(--v-line)}
.p3s .hb-row:last-child{border-bottom:0}
.p3s .hb-ck{flex:none;width:30px;height:30px;border-radius:999px;border:2px solid var(--v-g0);background:var(--v-card);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.p3s .hb-row.ok .hb-ck{background:var(--v-blue);border-color:var(--v-blue)}
.p3s .hb-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.p3s .hb-t b{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--v-ink)}
.p3s .hb-t small{font-size:13px;color:var(--v-ink3)}
.p3s .hb-t small em{font-style:normal;font-weight:700;color:var(--v-ink)}
.p3s .hb-num{flex:none;display:flex;align-items:center;gap:6px}
.p3s .hb-sb{width:40px;height:40px;border:0;border-radius:12px;background:var(--v-fill);font:inherit;font-size:20px;font-weight:600;color:var(--v-ink);padding:0;cursor:pointer}
.p3s .hb-sb:disabled{color:var(--v-ink4);cursor:default}
.p3s .hb-in{display:flex;align-items:center;height:40px;border-radius:12px;background:var(--v-fill);padding:0 10px 0 6px;gap:3px}
.p3s .hb-in input{width:44px!important;height:36px!important;border:0!important;background:none!important;padding:0 2px!important;font:inherit;font-size:16px!important;font-weight:700;text-align:right;color:var(--v-ink);box-shadow:none!important;border-radius:0!important}
.p3s .hb-in:focus-within{box-shadow:inset 0 0 0 1.5px var(--v-ink)}
.p3s .hb-in span{font-size:13px;color:var(--v-ink3);white-space:nowrap}
.p3s-note{margin:0;font-size:13px;line-height:1.5;color:var(--v-ink3)}
/* 달성률 세 칸 */
.p3s-t3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.p3s-tile{gap:4px;cursor:default}
.p3s-tile .l2-tv.sm{font-size:16px;line-height:1.5}
.p3s-tile small{font-size:12px;color:var(--v-ink3);line-height:1.4}
/* 이번 주 표 */
.p3s-tw{overflow-x:auto;margin:0 -2px}
.p3s-tbl{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.p3s-tbl th,.p3s-tbl td{padding:0;text-align:center;vertical-align:middle}
.p3s-tbl thead th{height:48px}
.p3s-tbl thead th:first-child,.p3s-tbl tbody th{width:28%;text-align:left}
.p3s-tbl thead button{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;height:100%;border:0;background:none;padding:4px 0;font:inherit;color:var(--v-ink);cursor:pointer}
.p3s-tbl thead small{font-size:12px;color:var(--v-ink3)}
.p3s-tbl thead b{font-size:15px;font-weight:600}
.p3s-tbl tbody tr{border-top:1px solid var(--v-line)}
.p3s-tbl tbody th{height:44px;padding-right:6px;font-size:14px;font-weight:600;color:var(--v-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p3s-tbl tbody tr.all th{color:var(--v-ink)}
.p3s-tbl td{color:var(--v-blue)}
.p3s-tbl td .ico{display:inline-block;vertical-align:middle}
.p3s-tbl .sel{background:var(--v-fill)}
.p3s-tbl thead th.sel{border-radius:12px 12px 0 0}
.p3s-tbl i.dot,.p3s-leg i.dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--v-mute)}
.p3s .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.p3s-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12.5px;color:var(--v-ink3)}
.p3s-leg span{display:inline-flex;align-items:center;gap:4px}
.p3s-leg .ico{color:var(--v-blue)}
/* 월 달력 */
.p3s-mn{display:flex;align-items:center;gap:6px;flex:none}
.p3s-mn>span{margin-right:4px;font-size:13px;color:var(--v-ink3);white-space:nowrap}
.p3s-rb{width:32px;height:32px;border:0;border-radius:999px;background:var(--v-fill);color:var(--v-ink2);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.p3s-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px}
.p3s-cal .cw{padding:4px 0 8px;text-align:center;font-size:13px;font-weight:600;color:var(--v-ink3)}
.p3s-cal .cw.red{color:var(--v-coral-t)}.p3s-cal .cw.blue{color:var(--v-blue)}
.p3s-cal .cd{display:flex;flex-direction:column;align-items:center;gap:1px;height:46px;padding:3px 0 0;border:0;background:none;font:inherit;color:var(--v-ink);cursor:pointer}
.p3s-cal .cd>span{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600}
.p3s-cal .cd.red>span{color:var(--v-coral-t)}.p3s-cal .cd.blue>span{color:var(--v-blue)}
.p3s-cal .cd.fut>span{color:var(--v-ink4);font-weight:500}
.p3s-cal .cd.sel>span{background:var(--v-ink);color:var(--v-card)}
.p3s-cal .cd>i{height:10px;display:flex;align-items:center;justify-content:center;color:var(--v-blue)}
/* 목표 관리 */
.p3s-grow{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;padding:8px 0;border:0;border-bottom:1px solid var(--v-line);background:none;font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-rows>.p3s-grow:last-child{border-bottom:0}
.p3s-grow:disabled{cursor:default;color:var(--v-ink)}
.p3s-grow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.p3s-grow .t b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.p3s-grow .t small{font-size:13px;color:var(--v-ink3)}
.p3s-grow>.ico{flex:none;color:var(--v-ink4)}
.p3s-rows.arc .p3s-grow .t b{color:var(--v-ink3)}
.p3s-hex{justify-content:center;margin:4px 0 0}

/* ================= 게시판 ================= */
.p3s-grp+.p3s-grp{margin-top:6px}
.p3s-grp .gh{margin:2px 0 0;font-size:13px;font-weight:700;color:var(--v-ink2)}
.p3s-grp .gh.late{color:var(--v-coral-t)}
.p3s-todo{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--v-line)}
.p3s-grp>.p3s-todo:last-child{border-bottom:0}
.p3s-ck{flex:none;width:26px;height:26px;margin-top:1px;border-radius:999px;border:2px solid var(--v-g0);background:var(--v-card);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.p3s-todo.done .p3s-ck{background:var(--v-blue);border-color:var(--v-blue)}
.p3s-ck:disabled{cursor:default}
.p3s-bm>.bc-top>.p3s-newb{margin-left:auto}
.p3s-todo .p3s-tx{align-items:stretch;flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-todo .l1{display:flex;align-items:baseline;gap:8px;min-width:0}
.p3s-todo .l1 b{flex:1;min-width:0;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.35}
.p3s-todo .l1 em{flex:none;font-style:normal;font-size:13px;color:var(--v-ink3)}
.p3s-todo.done .l1 b{color:var(--v-ink3);text-decoration:line-through}
.p3s-todo .l2{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:13px;color:var(--v-ink2)}
.p3s-todo .l2 .w{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.p3s-todo .l2 .w i,.p3s-mm i{flex:none;width:7px;height:7px;border-radius:999px}
.p3s-todo .l2 .due{font-weight:700;color:var(--v-ink);white-space:nowrap}
.p3s-todo .l2 .due.late{color:var(--v-coral-t)}
.p3s-evc{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:24px;padding:0 8px;border-radius:8px;background:var(--v-fill);font-size:12px;font-weight:500;color:var(--v-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p3s-evc .ico{flex:none;width:12px;height:12px}
.p3s-ncol{display:flex;flex-direction:column;gap:10px}
.p3s-mm{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--v-ink3);white-space:nowrap}
.p3s-note-c{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:14px 16px;border:0;border-radius:16px;background:var(--v-fill);font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-note-c .body{font-size:15px;line-height:1.55;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.p3s-note-c.ph{padding:10px 10px 14px}
.p3s-note-c.ph>.p3s-mm,.p3s-note-c.ph>.body,.p3s-note-c.ph>.p3s-evc{margin:0 6px}
.p3s-note-c .th{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--v-blue-bg)}
.p3s-note-c .th img{width:100%;height:100%;object-fit:cover;display:block}
.p3s-note-c .th em{position:absolute;right:10px;bottom:10px;height:26px;padding:0 10px;border-radius:999px;background:rgba(25,31,40,.6);color:#fff;font-style:normal;font-size:12px;font-weight:600;display:flex;align-items:center}
/* 투표 */
.p3s-vote{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:16px;background:var(--v-fill)}
.p3s-vote .hd,.p3s-list .hd{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:0;border:0;background:none;font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-vote .l1,.p3s-list .l1{display:flex;align-items:center;gap:8px;min-width:0}
.p3s-vote .st{margin-left:auto;flex:none;height:24px;padding:0 8px;border-radius:8px;background:var(--v-coral-bg);color:var(--v-coral-t);font-style:normal;font-size:12px;font-weight:700;display:inline-flex;align-items:center}
.p3s-vote .st.end{background:var(--v-card);color:var(--v-ink3)}
.p3s-vote .ttl,.p3s-list .ttl{font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.4}
.p3s-vote .opts{display:flex;flex-direction:column}
.p3s-vote .o{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--v-ink) 7%,transparent)}
.p3s-vote .ob{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;font:inherit;color:var(--v-ink);text-align:left;cursor:pointer}
.p3s-vote .ob:disabled{cursor:default;color:var(--v-ink)}
.p3s-vote .mk{flex:none;width:24px;height:24px;border-radius:999px;border:2px solid var(--v-g0);background:var(--v-card);display:flex;align-items:center;justify-content:center;color:#fff}
.p3s-vote .mk.sq{border-radius:7px}
.p3s-vote .o.on .mk{background:var(--v-ink);border-color:var(--v-ink)}
.p3s-vote .ot{flex:1;min-width:0;font-size:16px;font-weight:600}
.p3s-vote .n{flex:none;font-size:15px;font-weight:700}
.p3s-vote .v3-bar{background:var(--v-card)}
.p3s-vote .o.on .v3-bar>i,.p3s-vote .o.win .v3-bar>i{background:var(--v-ink)}
.p3s-vote .who{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--v-ink2)}
.p3s-vote .who span{display:inline-flex;align-items:center;gap:4px}
.p3s-vote .who i{width:7px;height:7px;border-radius:999px}
.p3s-vote .ft{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--v-ink) 7%,transparent);font-size:13px;color:var(--v-ink3)}
/* 체크리스트 */
.p3s-list{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--v-fill)}
.p3s-list .cnt{margin-left:auto;font-style:normal;font-size:15px;font-weight:700;color:var(--v-ink)}
.p3s-list .v3-bar{background:var(--v-card)}
.p3s-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.p3s-list li{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px;color:var(--v-ink)}
.p3s-list li+li{border-top:1px solid color-mix(in srgb,var(--v-ink) 6%,transparent)}
.p3s-list li .sq{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid var(--v-g0);background:var(--v-card);color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.p3s-list li.done .sq{background:var(--v-blue);border-color:var(--v-blue)}
.p3s-list li.done>span{color:var(--v-ink3);text-decoration:line-through}
.p3s-list li .sq:disabled{cursor:default}
.p3s-list .all{margin:0;font-size:13px;font-weight:600;color:var(--v-blue)}
.p3s-lmore{align-self:flex-start;margin:0}

/* ================= 점검 ================= */
.p3s-bk>.bc-top{gap:6px}
.p3s-back{width:36px;height:36px;margin-left:-8px;flex:none;color:var(--v-ink)}
@media (max-width:767px){.p3s-bk .bc-title{font-size:22px!important;line-height:30px!important}}
@media (min-width:768px){.p3s-back{width:40px;height:40px;margin-left:0;border-radius:12px;background:var(--v-card)}}
.p3s-bkc{display:flex;flex-direction:column;gap:12px;min-width:0}
@media (min-width:768px){.p3s-bkc{flex-direction:row;align-items:center;gap:16px}.p3s-bkc>.p3s-seg{flex:none;width:min(480px,46%)}.p3s-bkc>.lpb{flex:1;min-width:0}.p3s-bkc>.p3s-who{flex:1}}
.p3s-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
@media (min-width:768px){.p3s-seg{padding:4px;border-radius:16px;background:var(--v-card)}}
.p3s-seg button{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border:0;border-radius:12px;background:none;font:inherit;font-size:15px;font-weight:600;color:var(--v-ink2);cursor:pointer;white-space:nowrap}
.p3s-seg button[aria-selected="true"]{background:var(--v-ink);color:var(--v-card)}
.p3s-seg b{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--v-fill);color:var(--v-ink2);font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.p3s-seg button[aria-selected="true"] b{background:color-mix(in srgb,var(--v-card) 22%,transparent);color:var(--v-card)}
.p3s-seg b.hot,.p3s-seg button[aria-selected="true"] b.hot{background:var(--v-coral);color:#fff}
/* 점검 결과 세 칸 */
.p3s-ct{text-decoration:none;cursor:pointer;gap:6px}
.p3s-ct[aria-disabled="true"]{cursor:default}
.p3s-ct>b{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--v-ink);display:inline-flex;align-items:center;gap:6px}
.p3s-ct>b.ok .ico{color:var(--v-green)}
.p3s-ct.on{background:var(--v-coral-bg)}.p3s-ct.on>b{color:var(--v-coral-t)}
/* 토리 의견 */
.p3s-aih{display:flex;align-items:center;gap:8px;min-height:36px}
.p3s-aih h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.p3s-aih>.v3-btn{margin-left:auto}
.p3s-aih .logo{flex:none}
@media (max-width:767px){.p3s-aih h2{font-size:20px}}
.p3s-aitx{font-size:15px;line-height:1.65;color:var(--v-ink)}
.p3s-aitx p{margin:0 0 4px}
.p3s-aitx .ai-h{display:block;margin:10px 0 4px;font-size:15px}
.p3s-aitx .ai-h:first-child{margin-top:0}
.p3s-aitx .ai-li{position:relative;padding-left:14px}
.p3s-aitx .ai-li::before{content:"";position:absolute;left:2px;top:11px;width:4px;height:4px;border-radius:999px;background:var(--v-ink2)}
/* 점검 한 건 */
.p3s-isl{display:flex;flex-direction:column}
.p3s-is{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-top:1px solid var(--v-line)}
.p3s-isl>.p3s-is:first-child,.p3s-ag .gh+.p3s-is{border-top:0}
.p3s-is .top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.p3s-is .t{flex:1;min-width:0;padding:0;border:0;background:none;font:inherit;font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--v-ink);text-align:left}
button.t{cursor:pointer}
@media (hover:hover){.p3s-is button.t:hover{text-decoration:underline;text-underline-offset:3px}}
.p3s-is .amt{flex:none;font-size:16px;font-weight:700;color:var(--v-ink)}
.p3s-is .amt.neg{color:var(--v-coral-t)}
.p3s-is .ws{display:inline-flex;gap:3px;flex:none}
.p3s-is .ws i{width:8px;height:8px;border-radius:999px}
.p3s-is p{margin:0;font-size:14px;line-height:1.55;color:var(--v-ink2)}
.p3s-is .bt{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:4px}
/* 장부: 발견 사항 */
.p3s-k0{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.p3s-k0 .k{display:flex;flex-direction:column;gap:2px;min-width:0}
.p3s-k0 .k>b{font-size:34px;font-weight:700;letter-spacing:-.035em;line-height:1.2;color:var(--v-ink)}
.p3s-k0 .k>b.hot{color:var(--v-coral-t)}
.p3s-k0 .k>b small{margin-left:2px;font-size:22px}
.p3s-k0 .k>em{font-style:normal;font-size:14px;color:var(--v-ink2)}
.p3s-k4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:900px){.p3s-k4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.p3s-k4 .k{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:var(--v-ground);min-width:0}
.p3s-k4 .k span{font-size:13px;font-weight:600;color:var(--v-ink2);line-height:1.35}
.p3s-k4 .k b{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--v-ink)}
.p3s-k4 .k b small{font-size:15px;margin-left:1px}
.p3s-k4 .k.on{background:var(--v-coral-bg)}.p3s-k4 .k.on b{color:var(--v-coral-t)}
.p3s-ag+.p3s-ag{margin-top:8px}
.p3s-ag .gh{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;padding-bottom:10px;border-bottom:1px solid var(--v-line)}
.p3s-ag .gh b{font-size:15px;font-weight:700}
.p3s-ag .gh span{font-size:14px;color:var(--v-ink3)}
.p3s-ag .gh small{font-size:12.5px;color:var(--v-ink3)}
/* 점검 항목 */
.p3s-ckl{display:flex;flex-direction:column}
.p3s-ckl .r{display:flex;align-items:center;gap:10px;min-height:48px;border-top:1px solid var(--v-line)}
.p3s-ckl .r:first-child{border-top:0}
.p3s-ckl .cb{flex:none;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--v-green) 15%,var(--v-card));color:var(--v-green);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.p3s-ckl .r.on .cb{background:var(--v-coral);color:#fff}
.p3s-ckl .l{flex:1;min-width:0;font-size:15px;color:var(--v-ink)}
.p3s-ckl .r.on .l{font-weight:600}
.p3s-ckl b{flex:none;font-size:14px;font-weight:500;color:var(--v-ink3)}
.p3s-ckl .r.on b{font-weight:700;color:var(--v-coral-t)}
@media (max-width:767px){.p3s-dd>.bc-top,.p3s-bm>.bc-top{min-height:0!important;height:0;overflow:visible}}
/* 회색 바탕 위(PC 제목 줄) 채운 단추는 흰색 */
@media (min-width:768px){.p3s>.bc-top .v3-btn:not(.pri){background:var(--v-card)}}

/* 점검 제목: 뒤로 단추를 h1 안에 둠. 감싼 .phead는 상자 없이(display:contents) 다른 .phead 규칙이 배치를 바꾸지 않게 */
.p3s-bk .p3s-ph{display:contents}
.p3s-bk .bc-top h1.bc-title{display:flex!important;align-items:center;gap:6px;margin:0;min-width:0}
.p3s-bk .bc-top h1.bc-title::before{display:none!important}

/* 건강/습관 주 띠와 달력: 가로로 밀면 주(달)가 바뀌어요. 세로 스크롤만 브라우저에 맡김 */
.p3s-wk,.p3s-cal{touch-action:pan-y}
