.supply-dialog{box-sizing:border-box;width:460px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);border:1px solid #ccd7d2;border-radius:8px;padding:28px 24px;color:#243a32;background:#fff;font:15px/1.6 "Malgun Gothic",sans-serif;overflow:auto;letter-spacing:0}
.supply-dialog::backdrop{background:rgba(0,0,0,.45)}
.supply-dialog h2{font-size:19px;margin:0 28px 24px 0;line-height:1.5}
.supply-dialog label{display:block;margin:16px 0}
.supply-dialog input,.supply-dialog select{box-sizing:border-box;display:block;min-width:0;width:100%;height:44px;padding:8px;border:1px solid #bccdc4;border-radius:4px;font:inherit;background:#fff;color:#243a32}
.supply-dialog .phone-parts{display:grid;grid-template-columns:76px 8px minmax(60px,1fr) 8px minmax(60px,1fr);align-items:center;gap:6px}
.supply-dialog button{cursor:pointer;font:inherit;min-height:40px;padding:8px 12px;border:1px solid #9bb8aa;border-radius:4px;background:#fff;color:#214f3d}
.supply-dialog .supply-primary{display:block;width:100%;background:#087b62;color:#fff;border-color:#087b62;margin:20px 0 12px}
.supply-dialog .supply-close{position:absolute;right:10px;top:8px;font-size:24px;padding:0;width:36px;border:0;background:transparent}
.supply-dialog [hidden]{display:none!important}
#phone-error{color:#b02f35;overflow-wrap:anywhere}#supplyPhoneStatus{display:inline-block;margin:8px;overflow-wrap:anywhere}
.restock-dialog{width:760px;padding:42px 8px 8px}.restock-dialog iframe{width:100%;height:720px;max-height:calc(100dvh - 90px);border:0;display:block}
@media(max-width:480px){.supply-dialog{padding:24px 16px}.supply-dialog .phone-parts{gap:4px;grid-template-columns:70px 6px minmax(50px,1fr) 6px minmax(50px,1fr)}.restock-dialog{padding:42px 4px 4px}}
/* 개발 안내 띠. 서버가 개발용 인증번호를 함께 줄 때만 나타난다.
   운영에서는 그 값이 오지 않아 이 띠도 뜨지 않는다. (2026-09-08) */
.supply-dialog .supply-dev-notice{margin:0 28px 16px 0;padding:10px 12px;border:1px solid #e2c98a;border-radius:6px;background:#fdf7e6;color:#6b5412;font-size:13px;line-height:1.6}
.supply-dialog .supply-dev-notice.shown{border-color:#c9a227;background:#fbeec2;font-weight:700;transition:background .4s ease,border-color .4s ease}

/* 2026-09-14: 인증번호 단계의 읽기 전용 칸(신청자명·휴대폰) */
.supply-dialog input[readonly]{background:#f3f4f3;color:#333;border-color:#d9dcd9}
/* 2026-09-14: 먼저 휴대폰 인증을 하라는 알림 팝업 */
.supply-dialog.supply-notice{width:360px;text-align:center;padding:34px 28px 22px;border:0;border-radius:12px;box-shadow:0 14px 44px rgba(0,0,0,.28)}
.supply-notice-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;background:#e6f4ee;color:#087b62;font:bold 30px/56px "Malgun Gothic",sans-serif}
.supply-dialog.supply-notice p{white-space:pre-line;margin:0 0 4px;font-size:17px;font-weight:bold;line-height:1.5;color:#243a32}
/* 2026-09-14: 인증 창 개인정보 쓰임 안내(발송 기록에 번호가 남으므로 보관 기간은 쓰지 않는다) */
.supply-dialog .supply-privacy-note{margin:-14px 0 14px;color:#5b6b63;font-size:13px;line-height:1.5}
/* 2026-09-14: 인증한 신청자명·휴대폰번호 보기 칸(읽기 전용) */
.supply-verified-view{background:#f3f4f3 !important;color:#333;border:1px solid #d9dcd9;cursor:default}
/* 2026-09-14 박사님(요구사항 1쪽): 남은시간 옆 [시간 연장] 단추 */
.supply-dialog .phone-time-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.supply-dialog .phone-time-row p{margin:0}
.supply-dialog #phone-extend{flex:none;min-height:34px;padding:4px 12px}
.supply-dialog #phone-extend:disabled{opacity:.5;cursor:default}

/* 2026-09-16 박사님: 신청 확인 팝업 (브라우저 confirm 대신) */
.supply-dialog.supply-confirm{width:420px;max-width:calc(100% - 32px);padding:28px 26px 22px;border:0;border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,.3)}
.supply-confirm h2{margin:0 0 16px;font-size:17px;font-weight:bold;color:#1d3a30;text-align:center;line-height:1.45}
.supply-confirm-items{margin:0;padding:0;list-style:none;border-top:1px solid #e4efe9}
.supply-confirm-items li{display:flex;align-items:baseline;gap:12px;justify-content:space-between;margin:0;padding:11px 4px;border-bottom:1px solid #eef3f0;background:none;font-size:14px;color:#33443c}
.supply-confirm-items li .name{flex:1 1 auto;min-width:0;line-height:1.45}
.supply-confirm-items li b{flex:0 0 auto;color:#16895f;white-space:nowrap}
.supply-confirm-sum{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:14px 0 0;padding:14px 4px 0;border-top:1px solid #e4efe9;font-size:14px;color:#54615a}
.supply-confirm-sum dt{margin:0}
.supply-confirm-sum dd{margin:0;text-align:right;color:#33443c}
.supply-confirm-sum dt.strong,.supply-confirm-sum dd.strong{font-weight:bold;color:#c0272d;font-size:15px}
.supply-confirm-ask{margin:18px 0 16px;font-size:16px;font-weight:bold;color:#1d3a30;text-align:center;white-space:pre-line;line-height:1.6}
/* 확인/취소는 크기·위치가 똑같아야 한다. .supply-primary 가 들고 있는
   width:100% 와 margin:20px 0 12px 를 이 안에서는 지운다 (2026-09-16 박사님). */
.supply-dialog.supply-confirm .supply-confirm-buttons{display:flex;align-items:stretch;gap:10px;margin-top:4px}
.supply-dialog.supply-confirm .supply-confirm-buttons button{
	flex:1 1 0;width:auto;margin:0;padding:0;min-height:0;height:46px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:8px;font-weight:bold;font-size:15px;line-height:1;cursor:pointer}
.supply-dialog.supply-confirm .supply-confirm-buttons .supply-secondary{
	border:1px solid #cfd8d3;background:#fff;color:#44534b}

/* 2026-09-16 박사님: 인증 안내는 70대 농가 어르신이 보신다.
   글씨를 키우고(18~24px), 단추는 손가락으로 누르기 쉽게 64px 로, 1·2 차례를 크게 매겼다. */
.my-login-card{
	max-width:720px;margin:10px auto 40px;padding:32px 34px 28px;
	border:2px solid #16895f;border-radius:16px;background:#fff;
	box-shadow:0 6px 20px rgba(22,137,95,.10);color:#22332c}
.my-login-title{margin:0 0 26px;font-size:24px;font-weight:bold;line-height:1.5;color:#12402f;text-align:center}
.my-login-alert{
	margin:0 0 22px;padding:16px 18px;border-radius:10px;
	background:#fdeeee;border:1px solid #edc4c4;color:#b3261e;
	font-size:18px;font-weight:bold;line-height:1.5;text-align:center}
.my-login-step{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-top:1px solid #e4efe9}
.my-login-step:first-of-type{border-top:0;padding-top:6px}
.my-login-no{
	flex:0 0 auto;width:46px;height:46px;border-radius:50%;
	background:#16895f;color:#fff;font-size:24px;font-weight:bold;
	display:inline-flex;align-items:center;justify-content:center}
.my-login-body{flex:1 1 auto;min-width:0}
.my-login-lead{margin:6px 0 14px;font-size:19px;line-height:1.5;color:#33443c}
.my-login-state{margin:12px 0 0;font-size:18px;font-weight:bold;color:#16895f;line-height:1.5;overflow-wrap:anywhere}
.my-big-btn{
	display:block;width:100%;min-height:64px;padding:12px 20px;
	border:2px solid #16895f;border-radius:12px;background:#fff;color:#12402f;
	font-size:21px;font-weight:bold;cursor:pointer;line-height:1.3}
.my-big-btn:hover{background:#eaf5f0}
.my-big-btn.primary{background:#16895f;color:#fff}
.my-big-btn.primary:hover{background:#0f7a4d}
.my-login-help{margin:20px 0 0;padding-top:18px;border-top:1px solid #e4efe9;font-size:17px;line-height:1.6;color:#54615a;text-align:center}
.my-login-help b{font-size:19px;color:#12402f}
@media screen and (max-width:730px){
	.my-login-card{padding:22px 18px;margin:8px 0 30px}
	.my-login-title{font-size:21px}
	.my-login-step{gap:12px}
	.my-login-no{width:40px;height:40px;font-size:21px}
	.my-login-lead{font-size:18px}
	.my-big-btn{font-size:20px;min-height:60px}
}
