/* Shared touch targets and typography for consumer screens and dialogs. */
body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif}
button{min-height:48px;min-width:44px;font-size:14px!important;line-height:1.5;font-family:inherit;touch-action:manipulation;word-break:keep-all;overflow-wrap:anywhere}
button:focus-visible{outline:3px solid #0e7c66;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.6}
.btn,.share-btn,.fav-btn,.pc-actions button,.g-cta button,.auth-password button,.m-close,.back{border:1px solid #cbd8d2;border-radius:12px;background:#f3f7f5;color:#344b40;font-weight:700;padding:12px 16px}
.btn.pri,.submit,.map-btn{min-height:52px;font-size:16px!important;border-radius:12px}
.btn.pri{border:0;background:var(--teal);color:#fff}
.back{display:inline-flex;align-items:center;margin-bottom:16px;background:#fff}
.m-close{margin-top:12px;width:100%}
.hd-nav{gap:6px}
.hd-nav button{padding:10px 14px;font-size:14px!important}
.hd-biz{padding:10px 14px;border-radius:12px}
nav.bottom{padding-bottom:env(safe-area-inset-bottom)}
nav.bottom button{min-height:62px;font-size:12px!important;font-weight:600;padding:8px 2px;gap:4px;color:#52675c;line-height:1.35}
nav.bottom button .ic{font-size:21px}
nav.bottom button.on{color:var(--teal-d);background:#eaf4f0;border-radius:12px}
.calc-tabs,.auth-tabs,.t-tabs{gap:8px}
.calc-tabs button{flex:1;padding:12px 10px;min-height:48px;border-radius:12px;color:#465c50;white-space:nowrap}
.vtoggle{display:flex;flex-shrink:0}
.vtoggle button{min-height:48px;padding:12px 16px;font-size:14px!important;color:#465c50}
.vtoggle button.on,.calc-tabs button.on{color:#b6f0dc}
.pc-actions{gap:8px;flex-wrap:wrap}
.pc-actions button{flex:1 1 95px;padding:12px 8px}
.map-pop-btns{flex-wrap:wrap;gap:8px}
.map-pop-btns button{min-height:48px;font-size:14px!important}
.auth-recovery-links{flex-wrap:wrap;gap:10px}
.auth-recovery-links button{flex:1 1 130px}
#acct-in>.btn{margin:6px 4px 6px 0}
.shell{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
@media(min-width:900px){.shell{padding-bottom:0}}
@media(max-width:420px){
 .hd-biz{padding:10px;font-size:13px!important}
 .vtoggle button{padding:10px 12px}
 .share-btn,.fav-btn{padding:10px 12px}
 .calc-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .calc-tabs button{white-space:normal}
}
