/*
 * 경매 화면 — auctions.html(목록) · auction.html(경매 화면) · auction-join.html(초대 링크) · auction-settle.html(정산) + 경매 창(openSheet)·열기·고치기 창(uiForm 안).
 * 계약 team/contracts/auction.md §0·§3·§4·§5 · ui-declutter.md("모양 = 뜻", 단계 B1). 틀은 contract-pages.css(cp-) · 초대 화면은 login/signup/join.css(jn-) 위에 얹는다.
 * 색 = 토큰만(다크 대응). 40대+ 원칙: 본문 16~17px · 누르는 곳 48px↑ · 글자 라벨 · 쉬운 말.
 * 정돈(B1, 2026-10-14): 버튼·칩·세그먼트·옵션·목록 행·밑줄 탭은 ui.css 공통 부품 그대로(.btn 위계 · .seg · .opt-list/.opt-row · .row-list/.row-link · .ptabs).
 *   이 파일은 배치·크기만 — 공통 버튼을 다시 칠하지 않는다(옛 재칠 규칙 39개 지움). 표시(상태·딱지)만 작은 알약.
 * 접두사: au-(목록·공용) · ad-(경매 화면) · aj-(초대 화면) · auf-(열기·고치기 창) · aua-/aus-(공개 범위 고르기·요약)
 *   · ae-(출품 칸) · aum-(경매 창 openSheet) · aep-(출품 방법) · aev-(출품 자세히) · aer-(결과) · ael-(라벨 고르기) · aef-(출품 입력 창) · as-/asf-(정산)
 *   · aph-(출품 사진 칸 — js/auction-photos.js) · apc-(임시 부모 카드) · afd-(Feedle 확인 창).
 */

/* ---------- 목록(auctions.html) ---------- */
.au-page .cp-head .page-title{font-size:var(--t-3xl);}
.au-page .cp-top .btn.txt{padding-left:var(--s2);}
/* 제목 줄 안 건수 한 줄(#au-sub) — 자리·크기는 css/app-frame.css(.cp-head .page-sub, 02·메이팅과 같음) */
.au-sub{overflow-wrap:anywhere;}
.au-sub[hidden]{display:none;}
.au-body{display:flex;flex-direction:column;gap:var(--s4);}
.au-body[hidden]{display:none;}

/* (2026-10-15 list-toolbar.md) 도구 줄 = 공용 부품(css/ui.css .lt-find · .seg · .lt-view · .lt-count) — 여기서는 자리만.
   컴퓨터 = 찾기 줄 [검색칸 320] / [진행 중 | 종료] [골라 보기 ▾] [정렬 ▾] 한 줄(02 와 같음) · 휴대폰 = 세그먼트 한 줄 꽉 + 보기 줄(같은 폭 도구 칸 한 줄, 오른쪽부터 — 공용 css/ui.css, 2026-10-24 v2.15.1) */
.lt-find > .au-search{flex:0 1 320px;width:320px;min-width:180px;}
.au-search input{font-size:17px;}
.au-search input::-webkit-search-cancel-button{display:none;}
.au-qx[hidden]{display:none;}
.au-frow{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3);}
.au-tabs .n{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-3);}
.au-view .btn[hidden]{display:none;}
/* 바뀐 조건이 있을 때 버튼 끝에 점 하나(표시) — 무엇이 바뀌었는지는 개수 줄이 말함 */
.au-view .btn.on::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto;}
/* 휴대폰 도구 칸(v2.15.1 css/ui.css)은 켜진 칸 전체가 accent 면 — 끝 점은 컴퓨터만 */
html.app-m .au-view .btn.on::after{content:none;}
html.app-m .lt-find > .au-search{flex:1 1 auto;width:auto;min-width:0;}
html.app-m .au-frow{flex-direction:column;align-items:stretch;gap:var(--s3);}
html.app-m .au-tabs{display:flex;width:100%;}
html.app-m .au-tabs > button{flex:1 1 0;min-width:0;}
.au-countrow .au-count[hidden]{display:none;}
.au-of{color:var(--ink-3);font-weight:var(--w-reg);}
/* 휴대폰 — 건수·지금 정렬은 목록 바로 위 개수 줄 하나로(제목 아래 줄은 컴퓨터만) */
html.app-m .au-sub{display:none!important;}
.au-count{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--s2);}
.au-count[hidden]{display:none;}
.au-count > span{overflow-wrap:anywhere;}
.au-countrow:not(:has(.au-count:not([hidden]))){display:none;}

/* 목록 = 면 하나 안 행 목록(행 전체 누름 · "›") */
.au-list{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s2);}
.au-list:has(> .au-empty){background:transparent;box-shadow:none;padding:0;}
.au-row{gap:var(--s4);padding:var(--s3) var(--s4);align-items:center;}
.au-dd{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:84px;min-height:72px;padding:var(--s2);
  border-radius:var(--r-btn-in);background:var(--fill);color:var(--ink);text-align:center;}
.au-dd b{font-size:var(--t-xl);font-weight:var(--w-black);line-height:1.1;letter-spacing:-.01em;white-space:nowrap;}
.au-dd small{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink-3);white-space:nowrap;}
.au-dd[data-tone="today"]{background:var(--accent-soft);color:var(--accent-text);}
.au-dd[data-tone="soon"]{background:var(--warn-soft);color:var(--warn);}
.au-dd[data-tone="past"]{background:var(--fill-2);color:var(--ink-3);}
.au-dd[data-tone="ended"]{background:var(--fill-2);color:var(--ink-2);}
.au-main{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;min-width:0;}
.au-nm{font-size:var(--t-lg);font-weight:var(--w-bold);line-height:1.35;color:var(--ink);overflow-wrap:anywhere;}
.au-meta{display:flex;flex-wrap:wrap;gap:2px var(--s3);font-size:var(--t-md);font-weight:var(--w-reg);color:var(--ink-2);line-height:1.5;}
.au-meta > span{overflow-wrap:anywhere;min-width:0;}
/* 사이 "·" 는 앞 덩어리 끝에(줄이 바뀌어도 줄 머리에 점이 오지 않게) */
.au-meta > span:not(:last-child)::after{content:"·";margin-left:var(--s3);color:var(--ink-4);}
/* (v3.0 2차-R — domado-ui.md §8 목록 줄 글: 정해 둔 줄 수 + 줄임표) 컴퓨터 경매 목록 줄의 "주최 · 일시 · 장소 · 출품 N" = 한 줄(넘치면 …) —
   좁은 창(880~900)에서 "출품 7"만 혼자 다음 줄로 떨어지던 것. 휴대폰은 아래(≤640)에서 한 줄에 하나씩(그대로) */
@media (min-width:641px){
  .au-meta{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .au-meta > span{white-space:nowrap;overflow-wrap:normal;}
  .au-meta > span:not(:last-child)::after{margin:0 var(--s2) 0 var(--s2);}
}
.au-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;}
/* 표시 = 작은 알약(누르지 못함) */
.au-st,.au-role{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--s3);border-radius:var(--r-tag);
  font-size:var(--t-xs);font-weight:var(--w-bold);white-space:nowrap;background:var(--fill);color:var(--ink-2);}
.au-st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;}
.au-st[data-st="open"]{background:var(--ok-soft);color:var(--ok);}
.au-st[data-st="reg_closed"]{background:var(--info-soft);color:var(--info);}
.au-st[data-st="ended"]{background:var(--fill-2);color:var(--ink-3);}
.au-role{background:var(--hl-soft);color:var(--hl);}
.au-role[data-role="viewer"]{background:var(--fill);color:var(--ink-2);}
.au-empty{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s10) var(--s6);}
/* 정렬·골라 보기 창 = 공용 정렬 창(js/list-tools.js openSortPicker — 모양은 css/ui.css .lt-sortpop · css/m-shell.css .ms-sheet) */

/* ---------- 경매 화면(auction.html) ---------- */
.ad-body{display:flex;flex-direction:column;gap:var(--s5);}
.ad-body[hidden]{display:none;}
.ad-head{display:flex;flex-direction:column;gap:var(--s3);margin:var(--s2) 0 0;}
.ad-name{overflow-wrap:anywhere;word-break:keep-all;}
/* 머리 둘째 줄 — 상태(예외만 알약) · D-day·진행 일시 · 내 자격(글자) · [경매 상세 정보 ›](글자 버튼) */
.ad-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s1) var(--s3);margin-top:calc(var(--s2) * -1);}
.ad-tags{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s3);font-size:var(--t-md);color:var(--ink-2);line-height:1.5;min-width:0;}
.ad-when{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s2);min-width:0;}
.ad-when > span{overflow-wrap:anywhere;}
.au-dd.sm{display:inline;min-width:0;min-height:0;padding:0;border-radius:0;background:none;font-size:var(--t-md);font-weight:var(--w-black);white-space:nowrap;color:var(--ink);}
.au-dd.sm[data-tone="today"]{color:var(--accent-text);background:none;}
.au-dd.sm[data-tone="soon"]{color:var(--warn);background:none;}
.au-dd.sm[data-tone="past"],.au-dd.sm[data-tone="ended"]{color:var(--ink-3);background:none;}
.ad-tags .au-role{height:auto;padding:0;border-radius:0;background:none;color:var(--ink-2);font-size:var(--t-md);font-weight:var(--w-semi);white-space:normal;}
/* (v3.0 2차-R — 이상한 줄바꿈) 사이 점 "·" = [내 자격] 앞 칸 사이(gap) 가운데에 걸어 둠 → 한 줄이면 "… 1시 30분 · 내 자격 주최자",
   [내 자격]이 다음 줄로 넘어가면 점이 줄 왼쪽 밖으로 나가 가려짐(전에는 윗줄 끝에 "·" 만 남았다) */
.ad-tags{overflow:hidden;}
.ad-tl{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px var(--s3);min-width:0;}
.ad-tags .ad-tl + .au-role{position:relative;}
.ad-tags .ad-tl + .au-role::before{content:"·";position:absolute;top:0;right:100%;width:var(--s3);text-align:center;color:var(--ink-4);font-weight:var(--w-reg);}
.ad-info{margin-left:calc(var(--s3) * -1);}
/* (v3.0 2026-11-12 — 사용자 "경매창 정산 버튼 … 웹은 오른쪽으로 치우고, 모바일은 디자인 손 댄 페이지 참고해서 좀 정리해라")
   머리 행동 줄 #ad-acts = 디자이너 단추 꼴(css/ui.css ㉘ — 주 .btn-dz 옅은 산호 · 보조 .btn-dz.sub 흰 칸 + 옅은 가장자리 · 보이는 33.6 · 누름 44)
   · 오른쪽 끝 맞춤 · 늘 한 줄(계약 domado-ui.md §8 — 단추 하나만 다음 줄로 떨어지지 않게) · 차례 [보조] [주] = 주 단추가 늘 오른쪽 끝(js/auction.js renderActs).
   자리(글 길이로 정함 — 창 폭 숫자로 가르지 않음): 머리 둘째 줄(상태·일시·내 자격·경매 상세 정보)이 단추 줄과 한 줄에 다 들어가면 그 줄 오른쪽 끝(컴퓨터) ·
   안 들어가면 단추 줄이 덩어리째 그 아래 따로 한 줄 오른쪽 끝(휴대폰 — 그림 1 대시보드 위 [QR]·[사진]·[EDIT] 줄과 같은 자리 말투 · 좁은 컴퓨터 창도 같음) —
   둘째 줄 글은 쪼개지지 않음(769 창에서 [경매 상세 정보 ›]만 다음 줄로 떨어지던 것 막음). 제목은 늘 한 폭.
   아주 좁은 칸(250 미만 — 확대 200% 등)만 한 줄에 하나씩 꽉(§8 4번 — 떨어진 단추 없이). 정산 화면 머리(.as-page .ad-head)는 그대로(경매 화면 .ad-page 만) */
.ad-page .ad-head{container:ad-head / inline-size;flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:var(--s5);row-gap:var(--s3);}
.ad-page .ad-head > .ad-name{flex:1 0 100%;margin-bottom:calc(var(--s2) * -1);}   /* 제목 ↔ 둘째 줄 사이 4(전 .ad-meta 위 −8 과 같은 값 — 둘째 줄·단추 줄 세로 가운데가 어긋나지 않게 제목 쪽으로 옮김) */
.ad-page .ad-head > .ad-meta{flex:1 0 auto;max-width:100%;margin-top:0;}
.ad-page .ad-head > .ad-acts{flex:0 0 auto;margin-left:auto;}
.ad-acts{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0;}
.ad-acts[hidden]{display:none;}
@container ad-head (max-width:250px){
  .ad-page .ad-head > .ad-acts{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:var(--s3);}
}
/* 밑줄 탭 — 출품 / 참가자 / 설정 */
.ad-tabs{margin-bottom:calc(var(--s2) * -1);}
.ad-tabs .ptab[hidden]{display:none;}
.ad-panel{display:flex;flex-direction:column;gap:var(--s5);}
.ad-panel[hidden]{display:none;}

.au-sec{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s6) var(--s8);display:flex;flex-direction:column;gap:var(--s4);}
.au-sec[hidden]{display:none;}
.au-sec-h{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);}
.au-sec-h h2{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);letter-spacing:-.015em;}
.au-sec-sub{font-size:var(--t-md);color:var(--ink-3);font-weight:var(--w-semi);white-space:nowrap;}
.au-sec-d{margin:0;font-size:var(--t-md);color:var(--ink-2);line-height:1.6;overflow-wrap:anywhere;}
.au-sec-note{margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.55;}
.au-btns{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;}
.au-btns .btn{max-width:100%;}
.au-url{margin:0;padding:var(--s4) var(--s5);border-radius:var(--r-btn);box-shadow:inset 0 0 0 1.5px var(--line-2);font-family:var(--mono);
  font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);line-height:1.5;word-break:break-all;user-select:all;}
.au-copyfail{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);font-size:var(--t-md);font-weight:var(--w-bold);color:var(--warn);line-height:1.5;}
.au-copyfail[hidden]{display:none;}
/* 카드 안 행 목록 — 카드 안쪽 여백만큼 바깥으로(누르는 면이 카드 끝까지) */
.au-sec > .row-list,.au-sec > .ad-plist{margin-inline:calc(var(--s4) * -1);}

/* 누르지 못하는 줄(할 일 없는 참가자 · 매니저 고정값 · 보관된 출품) — ui.css .row-link.static(B4b) 과 같은 값.
   공용 파일과 따로 올라가도 "›"·눌림이 보이지 않게 이 화면 줄에만 한 번 더 적어 둠(ui.css 에 들어간 뒤엔 지워도 됨). */
.ad-page .row-link.static{cursor:default;}
.ad-page .row-link.static:hover,.ad-page .row-link.static:active{background:transparent;}
.ad-page .row-link.static::after{content:none;}

/* 참가 목록 — 줄(li.ad-p > .ad-p-go.row-link) 사이 헤어라인 · 표시 알약은 이름 아래 */
.ad-plist{list-style:none;margin:0;padding:0;}
.ad-plist > li + li{box-shadow:0 -1px 0 var(--line);}
.ad-p-go .rl-t{font-size:var(--t-lg);font-weight:var(--w-bold);}
.ad-p-m{display:flex;flex-wrap:wrap;gap:0 var(--s2);}
.ad-p-m > span{white-space:nowrap;}
.ad-p-m > span:not(:last-child)::after{content:"·";margin-left:var(--s2);color:var(--ink-4);}
.ad-p-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.ad-tag{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:var(--r-tag);background:var(--fill);color:var(--ink-2);
  font-size:var(--t-xs);font-weight:var(--w-bold);white-space:nowrap;}
.ad-tag.host{background:var(--hl-soft);color:var(--hl);}
.ad-tag.mine{background:var(--info-soft);color:var(--info);}
.ad-done{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--s3);border-radius:var(--r-tag);background:var(--ok-soft);color:var(--ok);
  font-size:var(--t-xs);font-weight:var(--w-bold);white-space:nowrap;}
.ad-done::before{content:"";width:6px;height:10px;margin-top:-2px;border:solid currentColor;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.ad-lock{display:inline-flex;align-items:center;min-height:28px;padding:2px var(--s3);border-radius:var(--r-tag);background:var(--warn-soft);color:var(--warn);
  font-size:var(--t-xs);font-weight:var(--w-bold);line-height:1.3;}
/* 참가자 창 */
.ad-ps-st{margin:0;display:flex;flex-wrap:wrap;gap:6px;}
.ad-ps-acts{display:flex;flex-direction:column;gap:var(--s3);}
/* (v3.0 정산 방식) 참가자 창 받을 계좌 — 글 | [계좌 고치기](.btn-dz) 두 칸(단추만 다음 줄로 떨어지지 않게 · 긴 계좌 글은 칸 안에서 줄 바꿈) */
.ad-ps-pay{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-lg);background:var(--fill);}
.ad-ps-pay-t{margin:0;display:flex;flex-direction:column;gap:2px;min-width:0;}
.ad-ps-pay-t span{font-size:var(--t-sm);color:var(--ink-3);}
.ad-ps-pay-t b{font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);overflow-wrap:anywhere;}
.ad-ps-pay-t b[data-none]{color:var(--ink-3);font-weight:var(--w-reg);}

/* 설정 탭 */
.ad-set{padding-top:var(--s3);padding-bottom:var(--s3);}
.ad-set-v{display:inline-block;max-width:40vw;overflow-wrap:anywhere;white-space:normal;text-align:right;}
.ad-end{padding-top:var(--s2);padding-bottom:var(--s2);}
.ad-page .cn-hist[hidden]{display:none;}
.ad-mgr-now{margin:0;font-size:var(--t-lg);color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere;}
.ad-mgr-now b{color:var(--ink);font-weight:var(--w-bold);}
.ad-err{margin:0;font-size:var(--t-md)!important;line-height:1.5;}
.ad-err[hidden]{display:none;}

/* ---------- 비회원(E3) — 머리 로고 · 위 띠 · 임시 번호 안내 · 회원 가입 안내 · 새 번호 창 ---------- */
.ad-brand{display:inline-flex;align-items:center;gap:8px;min-height:48px;}
.ad-brand[hidden]{display:none;}
.ad-brand-m{width:36px;height:36px;display:block;}
.ad-brand-t{height:18px;width:auto;display:block;}
.ag{display:flex;flex-direction:column;gap:var(--s3);}
.ag[hidden]{display:none;}
.ag-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3) var(--s4);padding:var(--s4) var(--s5);border-radius:var(--r-xl);
  background:var(--panel);box-shadow:var(--sh-1);}
.ag-who{flex:1 1 260px;min-width:0;margin:0;font-size:var(--t-lg);color:var(--ink-2);line-height:1.45;overflow-wrap:anywhere;}
.ag-who b{color:var(--ink);font-weight:var(--w-bold);margin-right:2px;}
.ag-who span{white-space:nowrap;}
.ag-btns{display:flex;flex-wrap:wrap;gap:var(--s2);flex:0 0 auto;max-width:100%;}
.ag-btns .btn{max-width:100%;}
.ag-temp .btn{flex:0 0 auto;max-width:100%;}
.ag-nudge{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);padding:var(--s2) var(--s2) var(--s2) var(--s4);
  border-radius:var(--r-lg);background:var(--accent-soft);color:var(--ink);}
.ag-nudge-t{flex:1 1 240px;min-width:0;margin:0;padding:6px 0;font-size:var(--t-md);font-weight:var(--w-semi);line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;}
.ag-nudge-btns{display:flex;gap:var(--s2);flex:0 0 auto;margin-left:auto;}
.ag-nudge .btn{text-decoration:none;}
.ag-show{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-size:var(--t-md);color:var(--ink);cursor:pointer;}
.ag-show input{width:24px;height:24px;margin:0;accent-color:var(--accent);cursor:pointer;}
.uidlg-field input.ag-pin-in{font-family:var(--mono);font-size:22px;font-weight:var(--w-bold);letter-spacing:.3em;max-width:220px;}
.ad-pin{display:flex;justify-content:center;gap:var(--s3);margin:var(--s2) 0;}
.ad-pin b{display:grid;place-items:center;min-width:56px;height:72px;padding:0 6px;border-radius:var(--r-lg);background:var(--fill);
  font-family:var(--mono);font-size:40px;font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;}

/* ---------- 공개 범위 고르기(설정 창 · 열기 창 · 초대 화면) — 역할 줄 × 이어 붙인 칸(.opt-row) + 고른 단계 뜻 한 줄 ---------- */
.aua{display:flex;flex-direction:column;gap:var(--s3);}
.aua-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:4px var(--s3);}
.aua-r{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aua-lv > button{min-width:0;padding:0 var(--s2);}
.aua-lv > button:disabled{cursor:default;}
.aua-lv > button:disabled:not([aria-pressed="true"]){opacity:.5;}
.aua-fixed{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aua-fixed span{font-weight:var(--w-reg);color:var(--ink-3);}
.aua-d{grid-column:2;margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.45;}
.aua-d:empty{display:none;}
.aua-lock{grid-column:2;margin:0;font-size:var(--t-sm);color:var(--ink-3);}
.aus{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;}
.aus-go{flex:0 0 auto;min-height:var(--ctl);}
.aus-pick{margin-top:var(--s3);}
.aus-pick[hidden]{display:none;}

/* ---------- 경매 열기·고치기 창(uiForm 안) ---------- */
.auf-prev{margin:6px 0 0;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere;}
.auf-prev[hidden]{display:none;}
.auf-prev b{color:var(--ink);}
.auf-fees{display:flex;flex-direction:column;gap:var(--s3);}
.auf-empty{margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;}
/* 수수료 한 줄 = 테두리 묶음(회색 면 아님 — 안의 보조 버튼이 묻히지 않게) */
.auf-fee{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);}
.auf-fee-h{display:flex;align-items:center;gap:var(--s2);}
.auf-fee-n{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--fill);
  font-size:var(--t-sm);font-weight:var(--w-black);color:var(--ink-2);}
.auf-fee-h input{flex:1 1 auto;min-width:0;width:100%;}
.auf-fee-del{flex:0 0 auto;padding:0 var(--s3);}
.auf-fee-b{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);}
.auf-fee-b .auf-pick{flex:1 1 200px;width:auto;}
.auf-per > button{white-space:normal;line-height:1.2;word-break:keep-all;height:auto;min-height:var(--ctl);padding:4px var(--s2);}
.auf-val{display:flex;align-items:center;gap:6px;flex:1 1 140px;min-width:0;}
.auf-val input{flex:1 1 auto;min-width:0;width:100%;text-align:right;font-variant-numeric:tabular-nums;}
.auf-val span{flex:0 0 auto;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink-2);}
.auf-add{align-self:flex-start;}
.auf-note{margin:6px 0 0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;}

/* ---------- 초대 링크 화면(join.css 위) ---------- */
.aj-page .btn.aj-info{margin:var(--s2) 0 0 calc(var(--s3) * -1);height:var(--ctl);font-size:var(--t-md);}
.aj-page .btn.aj-info[hidden]{display:none;}
/* 뒤로(글자 버튼) — 카드 폭 가운데 한 줄 */
.aj-page .btn.aj-back{width:100%;margin-top:12px;height:var(--ctl);font-size:var(--t-md);}
/* 주최 매장 이름은 한 덩어리로(줄 끝에서 "E2E / 테스트홈"처럼 갈라지지 않게 — 한 줄보다 길면 그 안에서만 접힘) */
.aj-page #aj-sub b{display:inline-block;max-width:100%;overflow-wrap:anywhere;}
.aj-homes{display:flex;flex-direction:column;gap:var(--s2);margin:0 0 var(--s4);}
.aj-homes[hidden]{display:none;}
.aj-home{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:64px;padding:var(--s2) var(--s4);border:0;border-radius:var(--r-btn);
  background:var(--panel);box-shadow:inset 0 0 0 1.5px var(--line-3);color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;}
.aj-home:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--ink-4);}
.aj-home:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.aj-home.on{box-shadow:inset 0 0 0 2px var(--sel-line);background:var(--accent-soft);}
.aj-home:disabled{opacity:.55;cursor:default;}
.aj-dot{flex:0 0 auto;width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 2px var(--line-3) inset;background:var(--panel);}
.aj-home.on .aj-dot{box-shadow:0 0 0 7px var(--accent) inset;}
.aj-home-b{display:flex;flex-direction:column;gap:2px;min-width:0;}
.aj-home-b b{font-size:var(--t-lg);font-weight:var(--w-bold);overflow-wrap:anywhere;}
.aj-home-b small{font-size:var(--t-sm);color:var(--ink-3);}
.aj-acc{margin:0 0 var(--s5);padding:var(--s4);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);}
.aj-lbl{margin:0 0 var(--s2);font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
/* (v3.0 정산 방식) 머리 "정산 · ○○" 한 줄 + 설명 · 받을 계좌 칸(출품자가 받아요만 · 선택) · 참가함 글 줄 바꿈 */
.aj-page .aj-settle{margin-top:4px;}
.aj-page .aj-pay{margin:0 0 var(--s5);}
.aj-page .aj-gform .aj-pay{margin:var(--s4) 0 0;}
.aj-page .aj-pay[hidden]{display:none;}
.aj-page #aj-done-msg{white-space:pre-line;overflow-wrap:anywhere;}
.aj-who{margin-top:var(--s4);}
.aj-page .error[hidden]{display:none;}
.aj-page #aj-none .btn.jn-alt,.aj-page .aj-bad-other{margin-top:12px;height:var(--ctl);font-size:var(--t-md);}
.aj-page .aj-home-go{text-align:center;}
/* 비회원(E3) — 참가 방법 고르기 · 닉네임 참가/다시 들어오기 칸 · 참가함 */
.aj-page .btn.aj-to-guest{margin-top:12px;height:auto;min-height:var(--ctl);padding:10px 16px;font-size:var(--t-md);line-height:1.35;white-space:normal;text-align:center;word-break:keep-all;}
.aj-page .btn.aj-to-guest[hidden],.aj-page .btn.aj-back[hidden],.aj-page .btn.aj-gbtn[hidden]{display:none;}
.aj-gnow{margin:0 0 var(--s5);padding:var(--s4);border-radius:var(--r-lg);background:var(--ok-soft);}
.aj-gnow[hidden],.aj-mpart[hidden],.aj-gpart[hidden],.aj-gmem[hidden]{display:none;}
.aj-gnow-t{margin:0 0 var(--s3);font-size:var(--t-lg);color:var(--ink);line-height:1.45;overflow-wrap:anywhere;word-break:keep-all;}
.aj-gnow-t b{font-weight:var(--w-bold);}
.aj-gnow .btn.pri{margin-top:0;}
.aj-gpart{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);}
.aj-mpart[hidden] + .aj-gpart{margin-top:0;padding-top:0;border-top:0;}
.aj-gor{margin:0 0 var(--s3);font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink-2);line-height:1.45;}
.aj-page .btn.aj-gbtn{width:100%;}
.aj-page .btn.aj-gbtn + .btn.aj-gbtn{margin-top:var(--s3);}
.aj-gmem{margin:-8px 0 16px;padding:10px 14px;border-radius:var(--r-md);background:var(--info-soft);font-size:var(--t-md);color:var(--ink);line-height:1.5;}
.aj-gform .input{font-size:18px;border-radius:var(--r-btn);}
.aj-gform .input.aj-pin{max-width:220px;font-family:var(--mono);font-size:24px;font-weight:var(--w-bold);letter-spacing:.3em;}
.aj-gform .input[aria-invalid="true"]{border-color:var(--dang);}
.aj-page .aj-show{font-size:var(--t-md);}
.aj-gnote{display:flex;flex-direction:column;gap:4px;margin:0 0 var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--warn-soft);
  font-size:var(--t-md);color:var(--ink);line-height:1.5;overflow-wrap:anywhere;}
.aj-gnote b{font-weight:var(--w-bold);}
.aj-page .aj-gform .error,.aj-page #aj-gdone .success-msg{white-space:pre-line;overflow-wrap:anywhere;}
.aj-page .aj-gform .error{text-align:left;font-size:var(--t-md);line-height:1.5;}
.aj-page #aj-gdone{text-align:left;}
.aj-page #aj-gdone .su-done-t{text-align:center;}
.aj-gd-msg{margin:0 0 var(--s4)!important;font-size:var(--t-lg)!important;color:var(--ink)!important;text-align:center;word-break:keep-all;}

/* ---------- 출품 칸(js/auction-entries.js) ---------- */
.ae-hacts{margin-left:auto;gap:var(--s2);}
/* 우리 매장 "다 올렸어요" · 낙찰 개체 분양완료 — 칸 안 한 줄(회색 면 없이 헤어라인 — 보조 버튼이 묻히지 않게) */
.ae-mine,.ae-sold{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ae-mine-t{flex:1 1 240px;min-width:0;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--s2);font-size:var(--t-md);color:var(--ink-2);overflow-wrap:anywhere;}
.ae-mine-t b{color:var(--ink);white-space:nowrap;}
.ae-mine .btn,.ae-sold .btn{max-width:100%;}
.ae-sold-t{flex:1 1 260px;min-width:0;margin:0;font-size:var(--t-md);color:var(--ink-2);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.ae-sold-t b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ae-sold-m{min-width:0;}
.ae-sold[data-all] .ae-sold-t{display:flex;align-items:center;gap:var(--s2);color:var(--ink);font-weight:var(--w-semi);}
.ae-sold[data-all] .ae-sold-t::before{content:"";flex:0 0 auto;width:7px;height:12px;margin:-3px 4px 0 6px;border:solid var(--ok);border-width:0 3px 3px 0;transform:rotate(45deg);}
/* (v3.0 경매 라벨 두 번 — team/plans/auction-label-order.md B·C·D) 순서 정하기 줄 .ae-ord · 낙찰 줄 .ae-win(요약 + [낙찰 라벨 인쇄](보조) [수령 방법](주))
   — .ae-sold 와 같은 헤어라인 한 줄 · 글은 왼쪽(줄어듦 · 두 줄까지) · 단추 묶음은 오른쪽 한 덩어리(줄 바뀜 없음 — 좁으면 묶음째 다음 줄 오른쪽) */
.ae-ord,.ae-win{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2) var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
/* 줄이 이어지면 구역 틈(gap s4)을 빼고 선 하나로 */
.ae-ord + .ae-win,.ae-win + .ae-sold,.ae-ord + .ae-sold,.ae-mine + .ae-ord{border-top:0;margin-top:calc(var(--s4) * -1);}
.ae-ord-t,.ae-win-t{flex:1 1 220px;min-width:0;margin:0;font-size:var(--t-md);color:var(--ink-2);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.ae-ord-t b,.ae-win-t b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ae-ord[data-on] .ae-ord-t{color:var(--ink);font-weight:var(--w-semi);}
.ae-win-b{flex:0 0 auto;}
/* 수령 방법 창(js/auction-pickups.js) */
.apu .au-sec-d,.awl .au-sec-d{white-space:pre-line;}
.apu-sum{margin:0 0 var(--s1);font-size:var(--t-lg);color:var(--ink-2);}
.apu-sum b{color:var(--ink);font-variant-numeric:tabular-nums;}
.apu-d{margin:0 0 var(--s3);}
.apu-list{list-style:none;margin:0;padding:0;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);overflow:hidden;}
.apu-list li + li{border-top:1px solid var(--line-2);}
.apu-g{border-radius:0;}
.apu-b{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;}
.apu-w{display:flex;align-items:baseline;gap:var(--s2);min-width:0;}
.apu-nm{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.apu-ph{flex:0 0 auto;font-size:var(--t-sm);color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;}
.apu-m{display:flex;gap:var(--s2);min-width:0;font-size:var(--t-sm);color:var(--ink-3);}
.apu-lots{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apu-c{flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums;}
.apu-s{display:flex;align-items:center;gap:var(--s2);min-width:0;}
.apu-st{min-width:0;max-width:100%;padding:2px 10px;border-radius:var(--r-tag);background:var(--hl-soft);color:var(--hl);font-size:var(--t-sm);font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apu-st[data-k="none"]{background:var(--fill);color:var(--ink-3);}
.apu-st[data-k="some"]{background:var(--warn-soft);color:var(--warn);}
.apu-closed{flex:0 0 auto;}
.apu-one{display:flex;flex-direction:column;gap:var(--s4);}
.apu-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.apu-items li{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--line);min-width:0;}
.apu-items li:first-child{border-top:0;padding-top:0;}
.apu-lot{flex:0 0 auto;min-width:52px;height:40px;padding:0 8px;box-sizing:border-box;border-radius:10px;background:var(--fill);display:flex;align-items:center;justify-content:center;gap:1px;font-size:20px;font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;}
.apu-lot small{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink-3);}
.apu-ib{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.apu-it{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apu-im{display:flex;gap:10px;min-width:0;font-size:var(--t-sm);color:var(--ink-3);}
.apu-im span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.apu-im span:first-child{flex:0 0 auto;color:var(--ink-2);font-weight:var(--w-semi);}
.apu-x{flex:0 0 auto;color:var(--warn);}
.apu-cur{align-self:flex-start;max-width:100%;padding:2px 10px;border-radius:var(--r-tag);background:var(--hl-soft);color:var(--hl);font-size:var(--t-sm);font-weight:var(--w-semi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apu-cur.none{background:var(--fill);color:var(--ink-3);}
.apu-link{display:flex;flex-direction:column;gap:6px;padding:var(--s3) var(--s4);border-radius:var(--r-lg);background:var(--fill);}
.apu-lt{margin:0;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-2);}
.apu-ld{margin:0;font-size:var(--t-sm);color:var(--ink-3);word-break:keep-all;overflow-wrap:anywhere;}
.apu-lb{justify-content:flex-start;}
.apu-lerr{margin:0;}
.awl-m{margin-top:var(--s3);}
.awl-m .opt{width:100%;text-align:left;padding-right:56px;}
.awl-err{margin:var(--s2) 0 0;}
/* 자세히 창 "분양완료" 줄 — 표시했으면 초록 글 */
.aev-sm{display:inline-flex;align-items:center;gap:8px;color:var(--ok);font-weight:var(--w-bold);}
.aev-sm::before{content:"";flex:0 0 auto;width:6px;height:11px;margin:-3px 2px 0 4px;border:solid currentColor;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}
.apc-ex[data-st="other"]{color:var(--ink-2);}
.ae-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);}
.ae-search{flex:1 1 280px;min-width:0;max-width:460px;}
.ae-search input{font-size:17px;}
.ae-search input::-webkit-search-cancel-button{display:none;}
.ae-fil .n{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-3);}
.ae-list{list-style:none;margin:0 calc(var(--s4) * -1);padding:0;display:flex;flex-direction:column;}
.ae-list > li + li{box-shadow:0 -1px 0 var(--line);}
/* 한 줄 = 줄 전체가 누르는 곳(.row-link) — 번호 · 사진 · 이름/모프/성별·출품자 · 결과 · "›"
   출품 번호 칸 = 글자에 맞춘 너비(auto) + 목록 안 가장 긴 번호 자릿수(--lotw, js/auction-entries.js 가 #ae-list 에 1~4)만큼 최소 너비 — 줄 사이 정렬 유지,
   4자리(9999)도 줄바꿈·잘림 없음(고정 너비 칸 금지 — CLAUDE.md §원칙 2) */
.ae-go{display:grid;grid-template-columns:auto 64px minmax(0,1fr) auto auto;grid-template-areas:"lot ph body res go";align-items:center;gap:var(--s2) var(--s4);}
.ae-go::after{grid-area:go;}
.ae-lot{grid-area:lot;display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;justify-content:center;gap:1px;min-height:64px;padding:0 6px;border-radius:var(--r-btn-in);background:var(--fill-2);color:var(--ink);
  min-width:max(72px, calc(var(--lotw, 2) * 19px + 34px));white-space:nowrap;}
.ae-lot b{font-size:30px;font-weight:var(--w-black);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;}
.ae-lot small{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-2);}
/* ↑ (v3.0 2차-R) 번호 "12" + "번" = 글자 바닥선 맞춤(옛 위 여백 6px 로 맞추던 것 — 세로 가운데 1.9px 어긋남) · 칸 안 세로 가운데는 align-content */
.ae-ph{grid-area:ph;width:64px;height:64px;border-radius:var(--r-btn-in);overflow:hidden;background:var(--fill);display:grid;place-items:center;color:var(--ink-4);}
.ae-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ae-b{grid-area:body;min-width:0;display:flex;flex-direction:column;gap:3px;}
.ae-n{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);line-height:1.35;overflow-wrap:anywhere;}
.ae-m{font-size:var(--t-md);font-weight:var(--w-reg);color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere;}
.ae-trt{font-size:var(--t-sm);font-weight:var(--w-reg);} /* (v2.9 U2) 형질 한 줄 — js/traits.js traitLineHtml */
.aev-trt{min-width:0;word-break:keep-all;overflow-wrap:anywhere;}
.ae-meta{display:flex;flex-wrap:wrap;gap:2px var(--s3);font-size:var(--t-sm);font-weight:var(--w-reg);color:var(--ink-3);line-height:1.45;}
.ae-meta > span{overflow-wrap:anywhere;min-width:0;}
.ae-meta > span:not(:last-child)::after{content:"·";margin-left:var(--s3);color:var(--ink-4);}
.ae-res{grid-area:res;display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0;}
.ae-res:empty{display:none;}
.ae-rk{display:contents;} /* 컴퓨터 = 딱지·낙찰가·계약서 표시가 지금처럼 세로로 하나씩(오른쪽 끝) */
.ae-badge{display:inline-flex;align-items:center;height:28px;padding:0 var(--s3);border-radius:var(--r-tag);font-size:var(--t-sm);font-weight:var(--w-black);white-space:nowrap;}
.ae-badge[data-r="sold"]{background:var(--ok-soft);color:var(--ok);}
.ae-badge[data-r="unsold"]{background:var(--fill-2);color:var(--ink-2);}
.ae-price{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ae-more{align-self:center;max-width:100%;}
.ae-none{padding:var(--s3) 0;font-size:var(--t-md)!important;}

/* ---------- 경매 창(js/auction-ui.js openSheet) ---------- */
/* max-width:none — 초대 화면(auction-join, css/login.css "body > div{max-width:420px}")에서 창이 왼쪽 420px 에 갇히던 것 막음(2026-10-15 긴급패치) */
.aum-host{position:fixed;inset:0;z-index:990;display:grid;place-items:center;padding:16px;font-family:var(--font);max-width:none;}
.aum-scrim{position:absolute;inset:0;background:var(--scrim);opacity:0;transition:opacity var(--dur-2) var(--ease);}
.aum{position:relative;width:100%;max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;
  background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-pop);overflow:hidden;opacity:0;transform:translateY(8px) scale(.98);
  transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease);}
.aum-host.show .aum-scrim{opacity:1;}
.aum-host.show .aum{opacity:1;transform:none;}
.aum:focus{outline:none;}
.aum-h{flex:0 0 auto;display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s5) var(--s4) var(--s2) var(--s6);}
.aum-tw{flex:1 1 auto;min-width:0;}
.aum-t{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere;}
.aum-sub{margin:4px 0 0;font-size:var(--t-md);color:var(--ink-2);line-height:1.45;overflow-wrap:anywhere;}
.aum-sub[hidden]{display:none;}
.aum-x{flex:0 0 auto;}
.aum-b{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--s4);padding:var(--s2) var(--s6) var(--s5);}
/* (2026-11-13 · 사용자 "낙찰자 리스트 스크롤 안 돼서 아래쪽이 잘린다") 본문 안 칸은 줄어들지 않고 본문(.aum-b)이 굴러감 —
   overflow:hidden 인 칸(수령 방법 낙찰자 목록 .apu-list 등)이 창 높이에 눌려 안쪽이 잘리던 것(알림 판 .al-b > * 와 같은 규칙 · A0157) */
.aum-b > *{flex-shrink:0;}
.aum-f{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);padding:var(--s3) var(--s6) var(--s5);border-top:1px solid var(--line-2);}
.aum-f:empty{display:none;}
.aum-f .btn{max-width:100%;}
.aum-sp{flex:1 1 auto;}
.aum-b > .row-list,.aum-b .aev-more > .row-list{margin-inline:calc(var(--s4) * -1);}
@media (prefers-reduced-motion:reduce){.aum-scrim,.aum{transition:none;}}
/* 사진 크게 보기(js/photo-viewer.js, z 900)는 경매 창(990) 안에서 열린다 — 경매 화면에서만 창 위·확인 창(1000↑) 아래로 */
.ad-page .pv-host{z-index:995;}

/* 경매 상세 정보(js/auction-ui.js openAuctionInfo — .au-infosheet): 항목 줄(이름 왼쪽·값 오른쪽, ≤640px 위아래) + 수수료 목록 + 아래 [닫기] 하나 */
.aum-host.au-infosheet .aum{max-width:560px;}
.au-infosheet .aum-x{display:none;}
.au-infosheet .aum-h{padding-right:var(--s6);}
.au-infosheet .aum-f .aui-close{flex:1 1 auto;}
/* 경매 매니저 고르기(js/auction.js openMgr — .ad-mgrsheet, v2.10): 아래 [닫기]가 있으니 위 [닫기]는 숨김(같은 일 버튼 하나) */
.ad-mgrsheet .aum-x{display:none;}
.ad-mgrsheet .aum-h{padding-right:var(--s6);}
.aui-dl{margin:0;display:flex;flex-direction:column;}
.aui-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:4px var(--s4);padding:var(--s3) 0;border-top:1px solid var(--line-2);}
.aui-row:first-child{border-top:0;padding-top:0;}
.aui-row:last-child{padding-bottom:0;}
.aui-row dt{font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink-3);line-height:1.6;}
.aui-row dd{margin:0;min-width:0;font-size:17px;color:var(--ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.aui-row[data-k="name"] dd{font-weight:var(--w-bold);}
.aui-nw{white-space:nowrap;}
.aui-none{color:var(--ink-2);}
/* (v3.0 정산 방식) 이름(굵게) + 아래 한 줄 설명 */
.aui-sm{display:block;font-weight:var(--w-bold);}
.aui-sm-d{display:block;margin-top:2px;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;}
.aui-fees{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.aui-fee{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--s3);padding:var(--s2) 0;border-top:1px dashed var(--line-2);}
.aui-fee:first-child{border-top:0;padding-top:0;}
.aui-fee:last-child{padding-bottom:0;}
.aui-fee-t{flex:1 1 10em;min-width:0;display:flex;flex-direction:column;gap:2px;}
.aui-fee-n{font-size:17px;font-weight:var(--w-semi);color:var(--ink);line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;}
.aui-fee-b{font-size:var(--t-sm);color:var(--ink-3);line-height:1.4;}
.aui-fee-v{margin-left:auto;font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);line-height:1.4;font-variant-numeric:tabular-nums;}

/* 출품 올리기 — 방법 고르기(행 목록) */
.aep-unit{display:flex;flex-direction:column;gap:6px;}
.aep-unit-t{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aep-unit .f-select{height:var(--ctl-lg);font-size:17px;}
.aep-who{margin:0;font-size:var(--t-md);color:var(--ink-2);line-height:1.5;overflow-wrap:anywhere;}
.aep-m .rl-s{word-break:keep-all;overflow-wrap:anywhere;line-height:1.4;}

/* 출품 자세히 */
.aev-ph{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;}
.aev-shot{aspect-ratio:1;border:0;padding:0;border-radius:var(--r-md);overflow:hidden;background:var(--fill);cursor:zoom-in;}
.aev-shot img{width:100%;height:100%;object-fit:cover;display:block;}
.aev-shot:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.aev-dl{display:grid;grid-template-columns:96px minmax(0,1fr);margin:0;}
.aev-dl dt,.aev-dl dd{padding:10px 0;border-top:1px solid var(--line-2);}
.aev-dl dt:first-of-type,.aev-dl dt:first-of-type + dd{border-top:0;padding-top:0;}
.aev-dl dt{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink-3);line-height:1.6;}
.aev-dl dd{margin:0;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--s2);font-size:var(--t-md);color:var(--ink);line-height:1.5;overflow-wrap:anywhere;}
.aev-none{color:var(--ink-3);}
.aev-chips{display:flex;flex-wrap:wrap;gap:6px;}
.aev-chips span{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r-tag);background:var(--fill);font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink-2);}
.aev-note{white-space:pre-line;}
.aev-sold{font-size:var(--t-md);color:var(--ink-2);}
.aev-sold b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.aev-more{display:flex;flex-direction:column;gap:var(--s1);padding-top:var(--s3);border-top:1px solid var(--line-2);}
.aev-more-t{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink-2);}
.aev-del{padding-top:var(--s4);border-top:1px solid var(--line-2);}

/* 결과 넣기 — [낙찰] [유찰] 이어 붙인 큰 칸(.opt-row) */
.aer-pick > button{height:64px;font-size:var(--t-xl);}
.aer-sold{display:flex;flex-direction:column;gap:var(--s3);}
.aer-sold[hidden]{display:none;}
.aer-f{display:flex;flex-direction:column;gap:6px;}
.aer-f > span{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aer-f .f-input{height:var(--ctl-lg);font-size:20px;font-weight:var(--w-semi);font-variant-numeric:tabular-nums;}
.aer-err{margin:0;font-size:var(--t-md)!important;line-height:1.5;}
.aer-err[hidden]{display:none;}

/* QR 라벨 고르기 */
.ael-list{list-style:none;margin:0;padding:0;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);}
.ael-list li + li .ael-it{border-top:1px solid var(--line-2);}
.ael-it{display:flex;align-items:center;flex-wrap:wrap;gap:4px var(--s3);min-height:56px;padding:var(--s2) var(--s4);cursor:pointer;}
.ael-it input{width:24px;height:24px;margin:0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer;}
.ael-it b{min-width:52px;font-size:var(--t-lg);font-weight:var(--w-black);font-variant-numeric:tabular-nums;white-space:nowrap;}
.ael-it span{flex:1 1 140px;min-width:0;font-size:var(--t-md);color:var(--ink);overflow-wrap:anywhere;}
.ael-it small{font-size:var(--t-sm);color:var(--ink-3);overflow-wrap:anywhere;}
.ael-err{margin:0;font-size:var(--t-md)!important;}
.ael-err[hidden]{display:none;}

/* 출품 입력 창(uiForm 안 — 부모 두 칸·메모) */
.aef-pars{display:flex;flex-direction:column;gap:var(--s3);}
.aef-par{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--s2);}
.aef-par input{width:100%;min-width:0;box-sizing:border-box;}
.aef-par-r{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aef-par[data-feedle]{grid-template-columns:48px minmax(0,1fr);}
.aef-par-fd{display:flex;flex-direction:column;gap:2px;min-width:0;padding:var(--s2) var(--s3);border-radius:var(--r-md);background:var(--fill);}
.aef-par-fd b{font-size:var(--t-md);color:var(--ink);overflow-wrap:anywhere;}
.aef-par-fd small{font-size:var(--t-xs);color:var(--ink-3);line-height:1.4;}
.aef-par-del{grid-column:2;justify-self:start;max-width:100%;}
.aef-note{width:100%;box-sizing:border-box;min-height:96px;font-size:16px;}

/* ---------- 출품 사진 칸(js/auction-photos.js — 자세히 창 · 입력 창) ---------- */
/* (v2.37.2 긴급패치 · 사용자 "깔끔하게 — 도마도쪽 스타일 참고") 정사각 사진(모서리 둥글게) 위 작은 그림 단추 — 글자 단추 쌓기 없앰.
   단추 = 누름 44px(투명) 안에 보이는 어두운 반투명 동그라미(중립색 — 브랜드 색과 무관) + 흰 선 그림 · 오른쪽 위 휴지통 · 아래 양쪽 ‹ › ·
   왼쪽 위는 비움(대표 알약만 — 사진을 눌러 크게 보기) · 빈 칸 = 점선 네모 + "+" · 개체 칸·베스트컷·아빠·엄마 모두 늘 한 줄 셋(같은 폭) ·
   색은 v2 토큰(브랜드 색) 그대로 */
.aph{display:flex;flex-direction:column;gap:var(--s3);min-width:0;}
.aph-sec{display:flex;flex-direction:column;gap:var(--s2);min-width:0;}
.aph-h{display:flex;align-items:baseline;gap:var(--s2);min-width:0;}
.aph-t{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);line-height:1.3;white-space:nowrap;}
.aph-count{min-width:0;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink-3);line-height:1.3;font-variant-numeric:tabular-nums;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aph-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);}
.aph-it,.aph-add-li{position:relative;min-width:0;aspect-ratio:1;}
.aph-it{border-radius:var(--r-lg);overflow:hidden;background:var(--fill-2);}
.aph-it.is-cover{box-shadow:0 0 0 2px var(--hl);}
.aph-shot{display:block;width:100%;height:100%;border:0;padding:0;margin:0;background:none;cursor:zoom-in;border-radius:inherit;}
.aph-shot img{width:100%;height:100%;object-fit:cover;display:block;}
.aph-shot:focus-visible{outline:3px solid var(--accent-ring);outline-offset:-3px;}
/* 대표 알약(표시만) */
.aph-no{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;height:26px;padding:0 10px;
  border-radius:var(--r-tag);font-size:var(--t-xs);font-weight:var(--w-bold);line-height:1;pointer-events:none;white-space:nowrap;}
.aph-no.cover{background:var(--hl);color:var(--hl-ink);}
/* 그림 단추 — 44 누름 · 32 동그라미 */
.aph-ib{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border:0;
  background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.aph-ib-c{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(12,15,17,.58);color:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.25);transition:background var(--dur-1) var(--ease),transform var(--dur-1) var(--ease);}
.aph-ib-c svg{width:18px;height:18px;}
.aph-ib:hover:not(:disabled) .aph-ib-c{background:rgba(12,15,17,.8);}
.aph-ib:active:not(:disabled) .aph-ib-c{transform:scale(.92);}
.aph-ib:focus-visible{outline:none;}
.aph-ib:focus-visible .aph-ib-c{outline:3px solid var(--accent-ring);outline-offset:1px;}
.aph-ib:disabled{cursor:default;}
.aph-ib:disabled .aph-ib-c{opacity:.45;}
.aph-ib.is-busy .aph-ib-c{opacity:1;animation:aph-busy .8s var(--ease) infinite alternate;}
@keyframes aph-busy{from{opacity:1;}to{opacity:.35;}}
@media (prefers-reduced-motion:reduce){.aph-ib.is-busy .aph-ib-c{animation:none;}}
.aph-ib-tr{top:2px;right:2px;}
.aph-ib-bl{bottom:2px;left:2px;}
.aph-ib-br{bottom:2px;right:2px;}
/* 빈 칸(점선 네모 + "+") — 개체 칸 "개체 사진 추가" · 베스트컷·아빠·엄마 빈 칸 */
.aph-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;margin:0;padding:6px;box-sizing:border-box;
  border:2px dashed var(--line-3);border-radius:var(--r-lg);background:transparent;color:var(--ink-3);cursor:pointer;
  font:var(--w-semi) var(--t-sm)/1.25 var(--font);text-align:center;word-break:keep-all;overflow-wrap:anywhere;
  transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),background var(--dur-1) var(--ease);}
.aph-add:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.aph-add:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.aph-add:disabled{opacity:.45;cursor:default;}
.aph-add svg{flex:0 0 auto;}
.aph.pi-over .aph-add{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.aph-hint{margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-line;}
/* 베스트컷 · 아빠 · 엄마 — 한 줄 셋(이름표 위) */
.aph-ones-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);}
.aph-one{display:flex;flex-direction:column;gap:4px;min-width:0;}
.aph-one-t{font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-2);line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aph-one-box{position:relative;aspect-ratio:1;min-width:0;}
.aph-one-shot{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:0;padding:0;margin:0;
  border-radius:var(--r-lg);overflow:hidden;background:var(--fill-2);cursor:zoom-in;}
.aph-one-shot.aph-add{background:transparent;cursor:pointer;border:2px dashed var(--line-3);}
.aph-one-shot img{width:100%;height:100%;object-fit:cover;display:block;}
.aph-one-shot:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.aph-one[data-st="ref"] .aph-one-shot img{opacity:.55;}
.aph-one-ref{position:absolute;left:4px;right:4px;bottom:4px;padding:2px 4px;border-radius:var(--r-tag);background:rgba(0,0,0,.6);color:#fff;
  font-size:var(--t-xs);font-weight:var(--w-semi);line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.aph-note{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);
  background:var(--info-soft);font-size:var(--t-md);color:var(--ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-line;}
.aph-note-go{max-width:100%;}
.aph-prog{display:flex;flex-direction:column;gap:6px;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--accent-soft);}
.aph-prog[hidden]{display:none;}
.aph-prog-t{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.aph-bar{height:10px;border-radius:var(--r-full);background:var(--panel);overflow:hidden;}
.aph-bar i{display:block;height:100%;width:6%;border-radius:inherit;background:var(--accent);transition:width var(--dur-2) var(--ease);}
.aph-err{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);
  line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;}
.aph-err[hidden]{display:none;}
.aph.pi-over{border-radius:var(--r-lg);}
/* (v2.37.2) 출품 입력 창 위 "* 표시는 꼭 넣어 주세요." 의 별 = 칸 이름 옆 별과 같은 빨강 */
.uidlg-fmsg .aef-req{color:var(--dang);font-weight:var(--w-bold);}
.aev-phs{display:flex;flex-direction:column;gap:var(--s2);}

/* 임시 부모 카드(자세히 창 아빠·엄마 칸 · Feedle 확인 창) — 테두리 묶음(안의 보조 버튼이 회색 면에 묻히지 않게) */
.apc,.afd-par{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:var(--s2) var(--s3);width:100%;padding:var(--s2);
  border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);}
.apc-ph{grid-row:1;width:64px;height:64px;border:0;padding:0;border-radius:var(--r-btn-in);overflow:hidden;background:var(--fill);display:grid;place-items:center;
  color:var(--ink-4);cursor:zoom-in;}
.apc-ph.none{cursor:default;}
.apc-ph img{width:100%;height:100%;object-fit:cover;display:block;}
button.apc-ph:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.apc-b{display:flex;flex-direction:column;gap:2px;min-width:0;}
.apc-r{font-size:var(--t-xs);font-weight:var(--w-bold);color:var(--ink-3);}
.apc-n{font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);line-height:1.35;overflow-wrap:anywhere;}
.apc-m{font-size:var(--t-sm);color:var(--ink-2);line-height:1.4;overflow-wrap:anywhere;}
.apc-note{font-size:var(--t-xs);color:var(--info);font-weight:var(--w-semi);line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;}
.apc-ex{font-size:var(--t-sm);color:var(--ok);font-weight:var(--w-bold);line-height:1.4;overflow-wrap:anywhere;}
.apc-ex[hidden]{display:none;}
.apc-acts{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:var(--s2);}
.apc-acts[hidden]{display:none;}
.apc-acts .btn{flex:1 1 auto;max-width:100%;height:auto;min-height:var(--ctl);padding:6px var(--s4);white-space:normal;line-height:1.25;text-align:center;}
.afd-par.none{opacity:.85;}
.afd-par.none .apc-n{color:var(--ink-3);font-weight:var(--w-semi);}
.aev-dl dd .apc{margin:2px 0;}

/* Feedle 확인 창(.ae-fdl) */
.afd-warn{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--warn-soft);font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);line-height:1.5;
  overflow-wrap:anywhere;word-break:keep-all;}
.afd-pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.afd-pic{position:relative;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--fill);}
.afd-pic img{width:100%;height:100%;object-fit:cover;display:block;}
.afd-pic.more b{position:absolute;inset:0;display:grid;place-items:center;background:var(--scrim);color:#fff;font-size:var(--t-lg);font-weight:var(--w-black);}
.afd-nopic{margin:0;padding:var(--s3);border-radius:var(--r-md);background:var(--fill);font-size:var(--t-md);color:var(--ink-3);text-align:center;}
.afd-name{margin:0;font-size:var(--t-xl);font-weight:var(--w-black);color:var(--ink);line-height:1.3;overflow-wrap:anywhere;}
.afd-pcount{margin:0;font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink-2);line-height:1.5;}
.afd-sec{margin:var(--s2) 0 0;font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);}
.afd-pars{display:flex;flex-direction:column;gap:var(--s2);}
.afd-busy{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--accent-soft);font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);line-height:1.5;}
.afd-busy[hidden],.afd-err[hidden]{display:none;}
.afd-err{margin:0;font-size:var(--t-md)!important;line-height:1.5;}

/* ---------- 정산(auction-settle.html — js/auction-settle.js) ---------- */
.as-page .cp-top .btn.txt{padding-left:var(--s2);}
.as-sub{margin:0;font-size:var(--t-md);color:var(--ink-2);line-height:1.55;overflow-wrap:anywhere;}
/* 합계 4칸 — 이름 + 금액(숫자+원 한 덩어리 — 줄바꿈 금지, 칸이 좁으면 글자를 줄인다) */
.as-tot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);}
.as-tot[hidden]{display:none;}
.as-card{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s5);display:flex;flex-direction:column;gap:6px;min-width:0;container-type:inline-size;}
.as-card-h{display:contents;} /* (v3.0 2차-R) 컴퓨터·인쇄 = 지금처럼 이름 · 금액이 세로로 */
.as-card-t{font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink-2);overflow-wrap:anywhere;}
.as-card-v{font-size:var(--t-xl);font-size:clamp(17px, 9.5cqi, 30px);font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;
  white-space:nowrap;line-height:1.2;}
.as-card-v[data-neg]{color:var(--warn);}
.as-fees{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm);color:var(--ink-2);}
.as-fees li{display:flex;justify-content:space-between;gap:var(--s2);flex-wrap:wrap;}
.as-fees li > span{min-width:0;overflow-wrap:anywhere;}
.as-fees b{font-weight:var(--w-semi);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;}
.as-fees b.cp-bits{justify-content:flex-end;min-width:0;max-width:100%;} /* (v3.0 2차-R) 토막 줄 — 오른쪽 맞춤 */
.as-units{display:flex;flex-direction:column;gap:var(--s3);}
.as-units.au-sec{gap:var(--s2);}
/* 주최자·매니저 참가자 줄 — 이름·낙찰 | 최종 금액(한 덩어리) | "›" */
.as-ulist .as-u{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"b pay go";gap:var(--s1) var(--s4);}
.as-ulist .as-u::after{grid-area:go;}
.as-ulist .as-u .rl-b{grid-area:b;}
.as-u-s{display:flex;flex-wrap:wrap;gap:0 var(--s2);}
.as-u-s > span{white-space:nowrap;}
.as-u-s > span:not(:last-child)::after{content:"·";margin-left:var(--s2);color:var(--ink-4);}
/* (v3.0 2차-R — domado-ui.md §8 목록 줄 글) 참가자 줄 보조 글 = 한 줄(넘치면 …) — 440 폭에서 금액만 혼자 다음 줄로 떨어지던 것 */
@media screen{
  .as-u-s{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .as-u-s > span:not(:last-child)::after{margin-right:var(--s2);}
} /* 인쇄는 그대로(다 보이게) */
.as-u-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.as-u-pay{grid-area:pay;display:flex;flex-direction:column;align-items:flex-end;gap:0;}
.as-u-pay small{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink-3);white-space:nowrap;}
.as-u-pay b{font-size:var(--t-lg);font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-u-pay[data-neg] b{color:var(--warn);}
/* 펼친 카드(참가자 자기 화면 · 인쇄) */
article.as-u{background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s5) var(--s6);display:flex;flex-direction:column;gap:var(--s3);break-inside:avoid;}
.as-u-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px var(--s2);}
.as-u-n{margin:0;font-size:var(--t-xl);font-weight:var(--w-bold);color:var(--ink);overflow-wrap:anywhere;}
.as-ulist .as-u-n{font-size:var(--t-lg);}
.as-u-k{font-size:var(--t-md);color:var(--ink-3);font-weight:var(--w-semi);}
.as-rows{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--s4);margin:0;}
.as-rows dt{font-size:var(--t-md);color:var(--ink-2);min-width:0;overflow-wrap:anywhere;}
.as-rows dd{margin:0;text-align:right;font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-rows .fee{padding-left:var(--s4);font-size:var(--t-sm);}
.as-rows dd.fee{padding-left:0;}
.as-note{grid-column:1 / -1;margin:-2px 0 0;font-size:var(--t-sm);color:var(--ink-3);overflow-wrap:anywhere;}
.as-final{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px var(--s3);padding-top:var(--s3);border-top:2px solid var(--line-2);}
.as-final > span{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);}
.as-final b{margin-left:auto;font-size:var(--t-2xl);font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-final[data-neg] b{color:var(--warn);}
.as-final small{flex:1 1 100%;font-size:var(--t-sm);color:var(--ink-3);text-align:right;}
.as-done{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 var(--s3);border-radius:var(--r-tag);background:var(--ok-soft);color:var(--ok);
  font-size:var(--t-xs);font-weight:var(--w-bold);white-space:nowrap;}
/* (v3.0 정산 방식 — team/plans/auction-settle-mode.md §3·§4) 맨 위 줄 "정산 방식 · ○○" + [바꾸기](.btn-dz) · 참가자 = 아래 한 줄 설명
   글 칸 | 단추 = 두 칸 고정(단추만 다음 줄로 떨어지지 않게) · 좁으면(≤480) 이름 위 · 방식 아래 두 줄 */
.as-mode{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px var(--s3);background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);
  padding:var(--s3) var(--s5);min-height:56px;box-sizing:border-box;}
.as-mode[hidden]{display:none;}
.as-mode-t{margin:0;min-width:0;display:flex;align-items:baseline;gap:0 6px;font-size:var(--t-md);color:var(--ink-2);line-height:1.4;}
.as-mode-k{white-space:nowrap;}
.as-mode-k::after{content:"·";margin-left:6px;color:var(--ink-4);}
.as-mode-v{font-weight:var(--w-bold);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.as-mode-d{grid-column:1 / -1;margin:0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;overflow-wrap:anywhere;}
@media (max-width:480px){
  .as-mode-t{flex-direction:column;align-items:flex-start;gap:0;}
  .as-mode-k{font-size:var(--t-sm);color:var(--ink-3);}
  .as-mode-k::after{content:none;}
}
/* 정산 끝냄 N / 전체 M명 — 합계 아래 한 줄(칸 하나 더 만들지 않음 — 4칸 + 혼자 떨어진 칸 금지) */
.as-tot-n{grid-column:1 / -1;margin:0;display:flex;justify-content:flex-end;align-items:baseline;gap:var(--s2);font-size:var(--t-md);color:var(--ink-2);}
.as-tot-n b{font-weight:var(--w-bold);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
/* 참가자 한 명 — 출품 줄(번호 · 개체 | 낙찰가) · 받을 계좌 · [이 참가자 인쇄] */
.as-rows dt.ent{padding-left:var(--s4);font-size:var(--t-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} /* 출품 줄 = 한 줄 + 줄임표(이름 전체는 title) */
.as-rows dd.ent{font-size:var(--t-sm);}
.as-rows dd.ent[data-none]{color:var(--ink-3);font-weight:var(--w-reg);}
.as-lot{font-weight:var(--w-bold);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-accrow{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:2px var(--s4);flex-wrap:wrap;min-width:0;}
.as-accrow dt{flex:0 0 auto;}
.as-rows .as-accrow dd{flex:1 1 12em;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;}
/* (v3.0) 정산 머리 토막 줄 — 공용 .cp-bits.cp-stack(contract-pages.css)은 넓은 칸에서 토막 폭이 0 이 되어 "·" 만 남음(넘침 숨김 → 최소 폭 0).
   이 화면만: 넓으면 글 폭 그대로(넘치면 줄임표) · --cp-w 보다 좁으면 토막마다 한 줄 */
.as-sub.cp-bits.cp-stack > *{flex:0 1 auto;min-width:clamp(0px, calc((var(--cp-w, 480px) - 100%) * 999), 100%);}
.as-u-prt{display:flex;justify-content:flex-end;margin-top:var(--s3);}
.as-print-only,#as-print-one,#as-report{display:none;} /* (v3.0) 한 장 인쇄 칸 = id 로(몸 class body.as-printing-one 과 이름이 겹쳐 몸이 숨던 것) · 매출 보고서 = 인쇄만 */
@media print{
  body.as-page{background:#fff;}
  .as-page .cp-top,.as-page .as-noprint,.aum-host,.as-page .uidlg-host,.as-page .uidlg-toast{display:none!important;}
  .as-page #as-units:has(.as-ulist){display:none!important;}
  .as-page .cp-main{padding:0;max-width:none;gap:10px;}
  .as-page .as-card,.as-page article.as-u{box-shadow:none;border:1px solid #bbb;border-radius:8px;padding:10px 14px;}
  .as-page .as-tot{grid-template-columns:repeat(4,1fr);gap:8px;}
  .as-page .as-card-v,.as-page .as-final b{font-size:20px;}
  .as-page .as-print-only{display:block;}
  /* (v3.0 2026-11-12) 정산 방식 줄은 화면에만(사용자 "정산 인쇄할 때 정산방식을 명시할 필요는 없고") — 참가자 한 장·자기 정산·매출 보고서 모두 */
  .as-page .as-mode{display:none!important;}
  .as-page .as-tot-n{font-size:14px;}
  /* (v3.0) 참가자 한 장 — 합계·전체 참가자는 숨기고 그 참가자만 */
  body.as-printing-one #as-tot{display:none!important;}
  body.as-printing-one #as-print-one{display:flex;}
  /* (v3.0 매출 보고서) 주최자·매니저 인쇄 = 보고서만(정산 화면 머리·합계·목록 숨김 — [이 참가자 인쇄] 때는 위 한 장) */
  body.as-has-report:not(.as-printing-one) #as-body > :not(#as-report){display:none!important;}
  body.as-has-report:not(.as-printing-one) #as-report{display:block;}
}
/* ---------- (v3.0 2026-11-12) 경매 매출 보고서 #as-report.asr — 인쇄 전용(A4 세로 · 종이 색 고정: 검정·회색 · 밝기 설정과 상관없음)
   머리 .asr-h(.asr-k 보고서 이름 · .asr-t 경매 이름 · .asr-meta 일시·장소·주최·뽑은 날 · .asr-warn 안 끝난 경매)
   요약 .asr-sum = 6칸 바둑판: 기본 세 칸(각 2칸 폭) · 수수료 포함이면 아래 두 칸(각 3칸 폭 — 혼자 떨어진 칸 없음)
   표 table.asr-tbl = 매장 칸(.asr-n — 긴 이름은 칸 안에서 줄바꿈) + 숫자 칸(.asr-q·.asr-m — 숫자+원 한 덩어리 · 내용 폭만)
     tbody.asr-u(매장 하나 — tr.asr-ur 매장 줄 + 상세 tr.asr-er 출품·수수료 항목·조정 메모) · tbody.asr-tot 합계 · 표 머리는 장마다 되풀이(thead) */
@page as-report{size:A4 portrait;margin:12mm 12mm 14mm;}
.asr{page:as-report;max-width:186mm;margin:0 auto;color:#111;font-family:var(--font);font-size:14px;line-height:1.45;}
.asr *{box-sizing:border-box;}
.asr-h{display:flex;flex-direction:column;gap:3px;padding-bottom:10px;border-bottom:2px solid #111;}
.asr-k{margin:0;font-size:13px;font-weight:700;color:#555;}
.asr-t{margin:0;font-family:var(--font-display);font-size:24px;font-weight:700;line-height:1.3;color:#111;overflow-wrap:anywhere;}
.asr-meta{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:2px 18px;font-size:13.5px;}
.asr-meta > div{display:flex;gap:6px;min-width:0;}
.asr-meta dt{color:#666;white-space:nowrap;}
.asr-meta dd{margin:0;color:#111;font-weight:600;overflow-wrap:anywhere;}
.asr-warn{margin:6px 0 0;display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#a12a22;}
.asr-sum{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0 0;}
.asr-c{grid-column:span 2;display:flex;flex-direction:column;gap:2px;min-width:0;padding:9px 12px;border:1px solid #bbb;border-radius:8px;break-inside:avoid;container-type:inline-size;}
.asr-c-w{grid-column:span 3;}
.asr-c-t{font-size:13px;font-weight:600;color:#444;}
/* 큰 숫자 = 한 덩어리(줄바꿈 없음) · 칸이 좁으면 글자를 줄임(A4 에선 21~23px) */
.asr-c-v{font-family:var(--font-display);font-size:21px;font-size:clamp(14px, 10cqi, 21px);font-weight:700;line-height:1.25;color:#111;white-space:nowrap;font-variant-numeric:tabular-nums;}
.asr-c-main .asr-c-v{font-size:23px;font-size:clamp(14px, 11cqi, 23px);}
/* 종이가 A4 보다 아주 좁을 때(미리 보기 등)만 요약 칸을 한 줄에 하나씩 */
@media print and (max-width:560px){
  .asr-sum{grid-template-columns:minmax(0,1fr);}
  .asr-c,.asr-c-w{grid-column:auto;}
}
.asr-c-v[data-neg]{color:#a12a22;}
.asr-c-s{font-size:12.5px;color:#666;overflow-wrap:anywhere;}
.asr-fees{list-style:none;margin:4px 0 0;padding:4px 0 0;border-top:1px dashed #ccc;display:flex;flex-direction:column;gap:1px;font-size:12.5px;color:#444;}
.asr-fees li{display:flex;justify-content:space-between;gap:8px;}
.asr-fees li > span{min-width:0;overflow-wrap:anywhere;}
.asr-fees b{font-weight:600;color:#111;white-space:nowrap;font-variant-numeric:tabular-nums;}
.asr-sec{margin:16px 0 0;}
.asr-sec-t{margin:0 0 6px;font-size:16px;font-weight:700;color:#111;break-after:avoid;}
.asr-tbl{width:100%;border-collapse:collapse;font-size:14px;color:#111;}
.asr-tbl th,.asr-tbl td{padding:6px 8px;vertical-align:baseline;text-align:right;}
.asr-tbl thead th{font-size:12.5px;font-weight:700;color:#444;white-space:nowrap;border-top:1.5px solid #111;border-bottom:1px solid #888;}
.asr-tbl .asr-n{text-align:left;min-width:0;overflow-wrap:anywhere;}
.asr-tbl .asr-q,.asr-tbl .asr-m{width:1%;white-space:nowrap;font-variant-numeric:tabular-nums;}
.asr-tbl tr,.asr-tbl tbody{break-inside:avoid;} /* 매장 한 묶음(매장 줄 + 상세 줄)은 되도록 한 장에 — 한 장보다 길면 그대로 나뉨 */
.asr-ur{border-top:1px solid #ccc;}
.asr-u:first-of-type .asr-ur{border-top:0;}
.asr-ur > th{font-weight:700;}
.asr-un{overflow-wrap:anywhere;}
.asr-uk{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;color:#666;white-space:nowrap;}
.asr-net{font-weight:700;}
.asr-m[data-neg]{color:#a12a22;}
.asr-tbl .asr-none{color:#888;font-weight:400;}
/* 상세 판매 내역 — 매장 줄 아래 들여 쓴 작은 줄(가장자리 없음) · 매장 줄은 위 선을 진하게 · 매장 줄과 첫 출품 줄은 같은 장 */
.asr-tbl[data-detail="1"] .asr-ur{border-top:1.5px solid #666;break-after:avoid;}
.asr-tbl[data-detail="1"] .asr-u:first-of-type .asr-ur{border-top:0;}
.asr-er td{padding-top:2px;padding-bottom:2px;font-size:13px;color:#333;}
.asr-er:last-child td{padding-bottom:7px;}
.asr-tbl .asr-en{text-align:left;padding-left:24px;overflow-wrap:anywhere;}
.asr-en .as-lot{margin-right:6px;font-weight:700;color:#111;}
.asr-er[data-none] td{color:#888;}
.asr-fr td{font-size:12.5px;color:#555;}
.asr-tot th,.asr-tot td{padding-top:8px;border-top:2px solid #111;font-weight:800;}
.asr-note{margin:8px 0 0;display:flex;flex-direction:column;font-size:12.5px;color:#555;}
.asr-note p{margin:0;}
.asr-empty{margin:6px 0 0;font-size:14px;color:#555;}
.asr-foot{margin:14px 0 0;font-size:12px;color:#777;text-align:right;}

/* ---------- 좁은 화면 ---------- */
@media (max-width:768px){
  .au-sec{padding:var(--s5) var(--s4);}
  .au-btns .btn{flex:1 1 auto;white-space:normal;height:auto;min-height:var(--ctl-lg);padding-top:var(--s2);padding-bottom:var(--s2);line-height:1.3;text-align:center;}
  .as-tot{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .aum-host{padding:0;place-items:end stretch;}
  .aum{max-width:none;max-height:100vh;max-height:100dvh;border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px);}
  .aum-h{padding:var(--s4) var(--s3) var(--s2) var(--s5);}
  .aum-b{padding:var(--s2) var(--s5) var(--s4);}
  .aum-f{padding:var(--s3) var(--s5) var(--s4);}
  .aum-f .btn{flex:1 1 auto;white-space:normal;height:auto;min-height:var(--ctl-lg);line-height:1.3;padding-top:var(--s2);padding-bottom:var(--s2);text-align:center;}
  .aum-f .aum-sp{display:none;}
  .au-infosheet .aum-h,.ad-mgrsheet .aum-h,.akk-one .aum-h,.akk-end .aum-h{padding-right:var(--s5);}
  .aui-row{grid-template-columns:minmax(0,1fr);gap:2px;}
  .aui-row dt{font-size:var(--t-sm);line-height:1.5;}
  .aev-dl{grid-template-columns:76px minmax(0,1fr);}
  .aef-par{grid-template-columns:minmax(0,1fr);gap:6px;}
  .aef-par[data-feedle]{grid-template-columns:minmax(0,1fr);}
  .aef-par-del{grid-column:1;}
  /* 출품 줄 — 왼쪽 칸에 번호 위·사진 아래(글 칸을 넓게 — 4자리 번호·40자 이름도 덜 접힘) / 결과는 글 아래 */
  .ae-go{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"lot body go" "ph body go" "ph res go";grid-template-rows:auto auto 1fr;
    gap:var(--s2) var(--s3);align-items:start;padding:var(--s3);}
  .ae-go::after{align-self:center;}
  .ae-lot{min-height:44px;min-width:max(56px, calc(var(--lotw, 2) * 14px + 26px));padding:0 4px;}
  .ae-lot b{font-size:24px;}
  /* (v3.0 2차-R) 왼쪽 칸 폭 = 번호 칸 최소 폭(자릿수 --lotw) · 사진 = 그 폭 정사각(번호·사진과 글 칸 사이가 같게) */
  .ae-go{grid-template-columns:max(56px, calc(var(--lotw, 2) * 14px + 26px)) minmax(0,1fr) auto;}
  .ae-ph{width:100%;height:auto;min-width:0;aspect-ratio:1 / 1;justify-self:stretch;}
  .ae-go > .ae-b{align-self:stretch;} /* 글 칸 = 1·2줄 높이 꽉(아래 결과 줄과 사이가 위 칸 사이와 같게) */
  .ae-res{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px var(--s2);}
  .ae-rk{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px var(--s2);min-width:0;max-width:100%;} /* (v3.0 2차-R §8) 휴대폰 = [낙찰 160,000원] 한 덩어리 · 칸이 그보다 좁을 때만(확대 200%) 딱지 아래 금액 */
  .ae-search{flex-basis:100%;max-width:none;}
  .ae-fil{display:flex;width:100%;}
  .ae-fil > button{flex:1 1 auto;min-width:0;height:auto;min-height:var(--ctl);padding:6px var(--s2);white-space:normal;word-break:keep-all;line-height:1.2;}
  .ae-fil .n{white-space:nowrap;}
  /* (v2.35.11 디자이너 A0137 — 휴대폰 상태·단계 칩 글자를 m02 칩과 같게 · 코디네이터 '웬만하면 UI 통일') 휴대폰 출품 거르기 칸 글자 16 → --t-chip 14 · 숫자 15 → 14(이름과 같은 크기 — m02 칩과 같게) · 칸 높이·폭 그대로 */
  .ae-fil > button,.ae-fil .n{font-size:var(--t-chip);}
  .ae-meta{gap:0 var(--s2);}
  .ae-meta > span:not(:last-child)::after{margin-left:var(--s2);}
  .ae-hacts{flex:1 1 auto;justify-content:flex-end;}
  .ae-hacts .btn{flex:0 1 auto;min-height:var(--ctl);}
  .ad-name{font-family:var(--font);font-weight:700;font-size:var(--fs-title);line-height:1.25;letter-spacing:-.02em;} /* (v3.0 2차-R) 쪽 제목 = 앱 틀 쪽과 같은 Pretendard 700 31.6(contract-pages.css 2차-R) */
  .ae-mine .btn,.ae-sold .btn{flex:1 1 100%;white-space:normal;height:auto;min-height:var(--ctl);line-height:1.3;}
  .au-page .cp-head .page-title{font-size:var(--fs-title);}
  .au-tabs{display:flex;width:100%;}
  .au-tabs > button{flex:1 1 0;min-width:0;}
  .lt-find > .au-search{flex:1 1 180px;width:auto;max-width:none;}
  .au-row{gap:var(--s3);padding:var(--s3);align-items:flex-start;}
  .au-dd{min-width:68px;min-height:64px;padding:6px 4px;}
  .au-dd b{font-size:var(--t-lg);}
  .au-meta{flex-direction:column;gap:0;}
  .au-meta > span:not(:last-child)::after{content:none;}
  .ad-tabs > .ptab{flex:1 1 0;min-width:0;padding:0 var(--s2);}
  .aua-row{grid-template-columns:minmax(0,1fr);gap:6px;}
  .aua-d,.aua-lock{grid-column:1;}
  .ag-bar{padding:var(--s4);}
  .ag-btns{flex:1 1 100%;}
  .ag-btns .btn{flex:1 1 0;min-width:0;white-space:nowrap;padding:0 var(--s3);}
  .ag-temp .btn{flex:1 1 100%;white-space:normal;height:auto;min-height:var(--ctl-lg);line-height:1.3;}
  .ag-nudge{padding:var(--s3);}
  .ag-nudge-btns{flex:1 1 100%;margin-left:0;}
  .ag-nudge .btn{flex:1 1 0;min-width:0;}
  .ad-pin{gap:var(--s2);}
  .ad-pin b{min-width:52px;height:64px;font-size:34px;}
  /* 임시 부모 카드는 아빠·엄마 글자 아래 한 줄을 다 쓴다(좁은 칸에서 글이 덜 접히게) */
  .aev-dl dd:has(> .apc){grid-column:1 / -1;border-top:0;padding-top:0;}
  .aev-dl dt:has(+ dd > .apc){grid-column:1 / -1;padding-bottom:6px;}
  /* 정산 — 합계는 면 하나 안 줄(이름 | 금액), 금액이 길면 다음 줄 오른쪽으로(숫자는 한 덩어리) */
  .as-tot{grid-template-columns:minmax(0,1fr);gap:0;background:var(--panel);border-radius:var(--r-xl);box-shadow:var(--sh-1);padding:var(--s2) var(--s4);}
  .as-card{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px var(--s3);padding:var(--s3) 0;border-radius:0;box-shadow:none;background:none;container-type:normal;}
  .as-card + .as-card{border-top:1px solid var(--line);}
  .as-tot-n{border-top:1px solid var(--line);padding:var(--s3) 0;justify-content:space-between;}
  .as-card-v{margin-left:auto;font-size:var(--t-xl);}
  .as-card .as-fees{flex:1 1 100%;}
  /* (v3.0 2차-R §8) 이름 | 금액 한 덩어리 줄 + 아래 내역(2/1 로 떨어지던 꼴 대신 줄마다 하나) */
  .as-card{flex-direction:column;flex-wrap:nowrap;align-items:stretch;}
  .as-card .as-fees{flex:0 0 auto;}
  .as-card-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px var(--s3);min-width:0;}
  article.as-u{padding:var(--s4);}
}
@media (max-width:420px){
  .as-ulist .as-u{grid-template-areas:"b go" "pay go";grid-template-columns:minmax(0,1fr) auto;}
  .as-u-pay{align-items:flex-start;flex-direction:row;align-items:baseline;gap:var(--s2);}
}
@media (max-width:374px){
  /* 아주 좁은 화면 — 번호·사진 칸을 조금 더 작게 */
  .ae-lot{min-width:max(52px, calc(var(--lotw, 2) * 13px + 22px));}
  .ae-lot b{font-size:22px;}
  .ae-lot small{font-size:var(--t-xs);}
  .ae-go{grid-template-columns:max(52px, calc(var(--lotw, 2) * 13px + 22px)) minmax(0,1fr) auto;}
  .aer-pick > button{font-size:var(--t-lg);}
  .as-card-v,.as-final b{font-size:var(--t-lg);}
  .au-row{padding:var(--s3) var(--s2);}
  .au-dd{min-width:60px;}
  .au-dd b{font-size:var(--t-md);}
  .au-dd small{white-space:normal;word-break:keep-all;line-height:1.25;}
  .aua-lv > button{padding:0 4px;font-size:var(--t-sm);}
  .auf-fee-del{padding:0 var(--s2);}
  .aph-grid,.aph-ones-g{gap:6px;}
  .aph-no{top:6px;left:6px;height:24px;padding:0 8px;}
  .aph-ib-c{width:30px;height:30px;}
  .aph-add{font-size:var(--t-xs);}
  .apc,.afd-par{grid-template-columns:52px minmax(0,1fr);}
  .apc-ph{width:52px;height:52px;}
  .ag-who{font-size:var(--t-md);}
  .ag-btns .btn{font-size:var(--t-md);}
  .ad-pin b{min-width:46px;height:58px;font-size:30px;}
}

/* ---------- 낙찰 안내 카톡(v2.35 알림톡 — js/auction-kakao.js · team/plans/auction-sms.md §2) ----------
   출품 줄 아래 띠 .akk — 줄 버튼(.ae-go) 밖, 같은 칸(li) 안. 알약(표시만) + 글자 버튼(.btn.sm 44 — 누르는 것). 컴퓨터 = 오른쪽(결과 칸 아래), 휴대폰 = 왼쪽부터.
   알약 글이 길면(못 보냄 까닭) 알약 안에서 줄바꿈(글자마다 꺾이지 않게 keep-all). */
.akk{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--s2);padding:0 var(--s4) var(--s3);}
.akk-ps{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;min-width:0;}
.akk-btns{display:inline-flex;flex-wrap:wrap;gap:var(--s2);justify-content:flex-end;}
.akk-btns .btn{max-width:100%;white-space:nowrap;}
.akk-st,.akk-chg{white-space:normal;height:auto;min-height:28px;padding:4px var(--s3);line-height:1.3;word-break:keep-all;overflow-wrap:anywhere;text-align:left;font-variant-numeric:tabular-nums;}
.akk-st:not(.ok):not(.dang):not(.info){background:var(--fill-2);color:var(--ink-2);}
.aev-dl dd[data-k="kakao"]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);}
.aev-dl dd[data-k="kakao"] .akk-ps,.aev-dl dd[data-k="kakao"] .akk-btns{justify-content:flex-start;}
.akk-why{flex:1 1 100%;}
.akk-note{margin:0;}
/* 경매 열기·고치기 창 "낙찰 안내 카톡" 칸 — 체크 상자 줄·고르기·자세히 = 문자 창(js/send-link.js .snd-*)과 같은 부품 */
.akf{display:flex;flex-direction:column;gap:var(--s3);min-width:0;}
.akf-b{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1.5px var(--line-2);min-width:0;}
.akf-b[hidden]{display:none;}
.akf-c{display:flex;flex-direction:column;gap:8px;min-width:0;}
.akf .akf-cl{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);} /* 결제·받는 방법 제목(legend)과 같은 크기 — 문자 창 .snd-dl 보다 앞서게 */
.akf .snd-in.sm{font-size:17px;}
.akf .snd-in.akf-contact{font-family:var(--mono);font-weight:var(--w-bold);letter-spacing:.02em;}
.akp-d{min-width:0;}
.akp-d > summary{display:inline-flex;align-items:center;gap:6px;min-height:var(--ctl);padding:0 var(--s3);border-radius:var(--r-btn);background:var(--fill);
  font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);cursor:pointer;list-style:none;}
.akp-d > summary::-webkit-details-marker{display:none;}
.akp-d > summary::after{content:"▾";font-size:14px;color:var(--ink-3);}
.akp-d[open] > summary::after{content:"▴";}
.akp-d > summary:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;}
.akp-d[open] > summary{margin-bottom:var(--s3);}
.akp-n{margin:var(--s2) 0 0;font-size:var(--t-sm);color:var(--ink-3);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
/* 카톡 한 통 모양(미리 보기) — 대화방 바탕 + 채널 이름 + 말풍선(머리 "알림톡 도착") */
.akp{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3);border-radius:var(--r-lg);background:var(--fill-2);min-width:0;}
.akp-ch{margin:0;font-size:var(--t-sm);font-weight:var(--w-bold);color:var(--ink-2);overflow-wrap:anywhere;}
.akp-bub{max-width:420px;border-radius:14px;background:var(--panel);box-shadow:var(--sh-1);overflow:hidden;min-width:0;}
.akp-h{margin:0;padding:8px 14px;background:#fee500;color:#191919;font-size:var(--t-sm);font-weight:var(--w-bold);}
.akp-b{margin:0;padding:12px 14px 14px;font:var(--w-reg) 15px/1.6 var(--font);color:var(--ink);white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;}
/* 보내기 확인 창 · 경매 종료 창 */
.akk-n{margin:0;font-size:var(--t-lg);color:var(--ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.akk-n b{font-weight:var(--w-black);font-variant-numeric:tabular-nums;white-space:nowrap;}
.akk-p{display:inline-block;font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;}
.akk-list,.akk-skip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.akk-list > li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px var(--s3);min-height:56px;padding:var(--s2) 0;}
.akk-list > li + li,.akk-skip > li + li{box-shadow:0 -1px 0 var(--line);}
.akk-w{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 160px;}
.akk-w b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);overflow-wrap:anywhere;}
.akk-sl{font-size:var(--t-sm);color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;} /* (v3.0 출품자가 받아요) 받는 출품자 한 줄 */
.akk-v{display:inline-flex;align-items:baseline;gap:var(--s3);margin-left:auto;}
.akk-c{font-size:var(--t-md);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;}
.akk-t{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;}
.akk-sk-t{margin:var(--s2) 0 0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink);}
.akk-skip > li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--s3);padding:var(--s2) 0;font-size:var(--t-md);color:var(--ink-2);line-height:1.5;}
.akk-skip > li b{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;}
.akk-skip > li span{flex:1 1 200px;min-width:0;word-break:keep-all;overflow-wrap:anywhere;}
.akk-block{margin:0;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--warn-soft);color:var(--ink);font-size:var(--t-md);font-weight:var(--w-semi);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.akk-err[hidden]{display:none;}
.aum-host.akk-one .aum,.aum-host.akk-end .aum{max-width:560px;}
.akk-one .aum-x,.akk-end .aum-x{display:none;} /* 아래 [그만두기]·[닫기]와 같은 일 — 머리 "닫기"는 숨김(경매 상세 정보 창과 같음) */
.akk-one .aum-h,.akk-end .aum-h{padding-right:var(--s6);}
@media (max-width:640px){
  .akk{justify-content:flex-start;padding:0 var(--s3) var(--s3);}
  .akk-ps{justify-content:flex-start;}
  .akk-btns{justify-content:flex-start;}
  .akk-btns .btn{white-space:normal;height:auto;min-height:var(--ctl-sm);line-height:1.25;padding-top:6px;padding-bottom:6px;text-align:center;word-break:keep-all;}
  .akp-b{font-size:15px;}
}

/* (v3.0 2차-R — domado-ui.md §7 극단 화면 · 컨테이너 질의) 출품 칸 머리 — 머리 줄 폭이 모자라 [QR 라벨 인쇄][출품 올리기]가 다음 줄로 내려가면
   그 줄을 둘이 같은 폭으로 꽉(오른쪽에 몰려 300 폭에서 한 개씩 쌓이던 것) · 더 좁으면(270 이하) 한 줄에 하나씩 꽉. 컴퓨터(넓은 머리)는 그대로 오른쪽 */
.ae-top{container:ae-top / inline-size;}
.ae-ttl{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s3);min-width:0;}
@container ae-top (max-width:420px){
  .ae-hacts{flex:1 1 100%;margin-left:0;}
  .ae-hacts .btn{flex:1 1 0;min-width:0;}
}
@container ae-top (max-width:270px){
  .ae-hacts .btn{flex:1 1 100%;}
}
/* (v3.0 2차-R) 경매·정산 머리(.ad-head) — 휴대폰: 머리 아래 쪽 제목 사이 = 공용 상세 머리 꼴(ui.css ⑫ .ms-dtitle 위 20) ·
   정산 쪽 제목 "정산"도 다른 쪽 제목과 같은 Pretendard 700 --fs-title(전 36 — .cp-head 밖이라 빠져 있었음) */
@media (max-width:768px){
  .au-page .ad-head{margin-top:20px;}
  .au-page .ad-head .page-title{font-family:var(--font);font-weight:700;font-size:var(--fs-title);line-height:1.25;letter-spacing:-.02em;}
}
/* (v3.0 2차-R — domado-ui.md §8 목록 줄 글) 휴대폰 경매 목록 줄 = 이름 최대 두 줄(…) · 주최 / 일시 / 장소 / 출품 = 한 줄씩(넘치면 …) —
   일시 "10월 16일 (금) 오후 / 1시 30분"·장소가 줄 중간에서 쪼개지던 것 */
@media (max-width:640px){
  .au-row .au-nm{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:normal;word-break:keep-all;}
  .au-row .au-meta{flex-wrap:nowrap;min-width:0;} /* 세로 줄(column)에서 wrap 이면 칸 폭이 가장 긴 글만큼 늘어 줄임표가 안 됨 */
  .au-row .au-meta > span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;}
}

/* ── (v2.36) 중계 프로그램 연결 — 허락 쪽 auction-link.html(.al-page — 경매 초대 카드 모양 그대로) · 경매 화면 연결 줄 .alk · 출품 줄 "자동" 알약 .ae-auto ── */
.al-page .error[hidden],.al-replace[hidden]{display:none;}
.al-who{margin:0 0 var(--s4);font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.al-check{margin:0 0 var(--s5);padding:var(--s4);border-radius:var(--r-lg);background:var(--fill);text-align:center;}
.al-check-t{margin:0;font-size:var(--t-md);font-weight:var(--w-bold);color:var(--ink-2);}
.al-check-n{display:flex;justify-content:center;gap:var(--s2);margin:var(--s2) 0;}
.al-check-n b{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:60px;padding:0 6px;border-radius:var(--r-btn);
  background:var(--panel);box-shadow:inset 0 0 0 1.5px var(--line-3);font-size:34px;font-weight:var(--w-black);color:var(--ink);font-variant-numeric:tabular-nums;}
/* (v3.0 도마도) 확인 숫자 = 큰 숫자 — 써라운드 · 큰 숫자 색(domado-ui.md §2·§3 — 28px↑ 큰 글자만) · 줄 높이 = 글꼴 높이 */
.al-check-n b{font-family:var(--font-display);font-weight:400;color:var(--num-big);line-height:normal;letter-spacing:0;}
.al-check-d{margin:0;font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;}
.al-replace{margin:calc(var(--s2) * -1) 0 var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--warn-soft);color:var(--ink);
  font-size:var(--t-md);font-weight:var(--w-semi);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.al-page .aj-home-b small{word-break:keep-all;overflow-wrap:anywhere;}
.al-page #al-err{margin-top:var(--s3);}
/* 경매 화면 연결 줄(주최자·경매 매니저 · 연결이 켜진 동안만) — 표시 + [연결 끊기](글자 단추) 한 줄, 좁으면 단추가 글 아래로 */
.alk{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s2) var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-ctl);background:var(--accent-soft);} /* (v3.0 도마도) 옅은 산호 바탕 · 안내 띠 모서리(domado-ui.md §3·§4) — v2 는 옅은 초록 */
.alk[hidden]{display:none;}
.alk-t{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px;}
.alk-t b{font-size:var(--t-lg);font-weight:var(--w-bold);color:var(--ink);overflow-wrap:anywhere;word-break:keep-all;}
.alk-t span{font-size:var(--t-md);color:var(--ink-2);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
.alk-t .alk-m{display:flex;flex-direction:column;gap:0;}
.alk-t .alk-m > span{white-space:nowrap;}
/* 넓으면 한 줄(· 사이) — 좁으면 한 칸씩 아래로(줄 앞에 · 가 떨어지지 않게) */
@media (min-width:900px){
  .alk-t .alk-m{flex-direction:row;flex-wrap:wrap;gap:0 var(--s2);}
  .alk-t .alk-m > span + span::before{content:"·";margin-right:var(--s2);color:var(--ink-3);}
}
.alk .btn{flex:0 0 auto;max-width:100%;}
.alk[data-st="waiting"]{background:var(--fill);} /* 허락됨 · 프로그램이 아직 열쇠를 안 받아 감 */
/* (v2.36 고침 — 사용자 2026-11-07) 연결이 없을 때 — 조용한 한 줄(바탕 없이 옅은 테두리 · 제목 본문 크기) + [QR 찍기] 글자 단추 */
.alk[data-st="none"]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-2);}
.alk[data-st="none"] .alk-t b{font-size:var(--t-md);}
.alk[data-st="none"] .alk-t span{font-size:var(--t-sm);color:var(--ink-2);}
.alk-btns{display:flex;flex-wrap:nowrap;gap:var(--s2);flex:0 0 auto;max-width:100%;}
.alk-btns .btn{white-space:nowrap;}
/* 허락 쪽 코드 칸(숫자 6자리 — 크게 · 3-3) */
.al-code-msg[hidden]{display:none;}
.al-code-msg{margin:0 0 var(--s4);}
/* (v2.35.13) 닫힌 매장 안내(#al-closed) — 문장마다 줄 · 낱말 단위로 줄 바꿈 */
.al-closed-lead{margin:0 0 var(--s5);color:var(--ink);word-break:keep-all;overflow-wrap:anywhere;}
.al-code-f{display:block;margin:0 0 var(--s2);font-size:var(--t-md);font-weight:var(--w-semi);color:var(--ink);line-height:1.5;word-break:keep-all;}
.al-code-in{width:100%;height:60px;font-size:28px;font-weight:var(--w-bold);text-align:center;letter-spacing:.1em;font-variant-numeric:tabular-nums;}
.al-code-in::placeholder{color:var(--ink-4);font-weight:var(--w-reg);}
.al-page #al-code-err{margin:var(--s2) 0 0;}
.al-page #al-code .btn.pri{margin-top:var(--s4);}
/* (v3.0 도마도) 연결 없음 줄 = 회색 면 + 흰 단추(ui.css "회색 면 위 보조 버튼" — 테두리는 입력 칸만 · domado-ui.md §4) ·
   코드 칸 숫자 = 큰 숫자(써라운드 · 큰 숫자 색 — 확인 숫자 .al-check-n b 와 같은 꼴 · 28px 큰 글자만) */
.alk[data-st="none"]{background:var(--fill);box-shadow:none;}
.al-code-in{font-family:var(--font-display);font-weight:400;color:var(--num-big);line-height:normal;letter-spacing:.12em;}
.al-code-in::placeholder{font-family:var(--font-display);font-weight:400;color:var(--ink-4);}
.ae-rb{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;}
.ae-auto{height:24px;padding:0 var(--s2);font-size:var(--t-xs);font-weight:var(--w-bold);white-space:nowrap;} /* (v3.0) 색 = .tag.accent(옅은 산호 + 진한 산호 글자) */
.aer-opt{font-weight:var(--w-reg);color:var(--ink-3);}
/* (v3.0 · v2.36 — domado-ui.md §8 줄 바뀜 금지) 휴대폰 출품 줄 결과 덩어리 [낙찰 자동 160,000원] — 결과가 있는 줄은 결과 칸을 사진 칸 아래까지 넓혀
   4자리 번호·긴 이름·큰 금액(10억)·320 폭에서도 한 줄(딱지·"자동"·금액 사이 간격을 조금 줄임). 계약서 표시는 그다음 덩어리(넘치면 덩어리째 다음 줄). */
@media (max-width:640px){
  .ae-row[data-result] .ae-go{grid-template-areas:"lot body go" "ph body go" "res res go";}
  .ae-row[data-result] .ae-rk{gap:4px 6px;}
  .ae-row[data-result] .ae-rb{gap:3px;}
  /* 4자리 번호 "1234" 와 "번" 이 한 줄 — 번호 칸 최소 폭을 글자 폭에 맞춤(1·2자리 목록은 전과 같은 56px · 사진 칸도 같은 폭) */
  .ae-lot{min-width:max(56px, calc(var(--lotw, 2) * 16px + 24px));}
  .ae-go{grid-template-columns:max(56px, calc(var(--lotw, 2) * 16px + 24px)) minmax(0,1fr) auto;}
}
@media (max-width:374px){
  /* 아주 좁은 화면(번호 22px) — 같은 까닭(1·2자리는 전과 같은 52px) */
  .ae-lot{min-width:max(52px, calc(var(--lotw, 2) * 16px + 16px));}
  .ae-go{grid-template-columns:max(52px, calc(var(--lotw, 2) * 16px + 16px)) minmax(0,1fr) auto;}
}
/* ---------- (v3.0 도마도 — v2.37.2 옮김 2026-11-13) 출품 사진 칸(.aph-* — js/auction-photos.js)을 도마도 꼴로 ----------
   위 '출품 사진 칸' v2 줄은 그대로 두고 여기서 덮음(v2 를 다시 합칠 때 겹치지 않게). 생김새(한 줄 셋 · 사진 위 그림 단추 · 점선 "+" 칸)는 v2.37.2 그대로,
   색·모서리·글자만 도마도(team/contracts/domado-ui.md §2·§3·§4):
   · 사진·빈 칸 모서리 = 카드 안 사진 --r-photo(18 — 상자 모서리 약 17 꼴).
   · 대표 = 산호 테두리(--sel-line — 개체 상세 사진 고른 칸 .shot.is-cover 와 같은 꼴 · 개체 첫 장·베스트컷 모두) +
     왼쪽 위 알약 "대표" = 켜진 칩 꼴(--chip-on-bg 산호 그라데이션 + 흰 글자 800 14 — 칩 줄 켜짐과 같은 디자이너 꼴 · 24 높이 = 개체 카드 사진 위 알약).
   · 사진 위 그림 단추(휴지통 · ‹ ›) = 사진 크게 보기(photo-viewer .pv-nav)와 같은 어두운 유리 동그라미(--glass-dark) — 사진 위에 산호 단추를 겹겹이 두지 않음.
   · 빈 "+" 칸 = 점선(--line-3) + 산호 "+" 그림 · 글 = 보조 글(--ink-sub 14 600) · 올림·끌어 놓기 = 산호 테두리 + 옅은 산호 + 진한 산호 글자(작은 글자에 산호 금지 §3).
   · 머리 "개체 사진"(본문 굵게) · 개수 "2 / 3" · 이름표(베스트컷·아빠·엄마) · 안내 한 줄 = 보조 글 색(--ink-sub).
   · 이어진 출품 안내 = 안내 띠(--band-bg · 모서리 --r-ctl · 15) + [개체 화면 열기] = 새 단추 꼴(.btn-dz — 옅은 산호 + 흰 글자 · 33.6 · 모서리 7 · 누름 44).
     (JS 는 v2 와 같은 a.btn.aph-note-go — 꼴만 여기서 .btn-dz 값으로)
   · 올리는 중 = 안내 띠 바탕 · 오류 = 안내 띠 모서리. */
.aph-t{font-size:var(--t-md);font-weight:700;color:var(--ink);}
.aph-count{font-size:var(--fs-chip);font-weight:600;color:var(--ink-sub);}
.aph-it,.aph-one-shot,.aph-add,.aph.pi-over{border-radius:var(--r-photo);}
.aph-it.is-cover{box-shadow:none;}
.aph-it.is-cover::after,.aph-one[data-role="best"][data-st="set"] .aph-one-box::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r-photo);
  box-shadow:inset 0 0 0 3px var(--sel-line);pointer-events:none;}
.aph-no.cover{top:7px;left:7px;height:24px;padding:0 9px;background:var(--chip-on-bg);color:var(--accent-ink);font-size:var(--fs-chip-s);font-weight:800;
  letter-spacing:-.01em;box-shadow:inset 0 0 0 1px rgba(247,202,194,.9),0 2px 6px -3px var(--accent-glow);}
.aph-one-box .aph-no.cover{z-index:2;}
.aph-ib-c{background:var(--glass-dark);color:var(--glass-dark-ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 1px 3px rgba(0,0,0,.2);}
.aph-ib:hover:not(:disabled) .aph-ib-c{background:rgba(12,15,17,.78);}
.aph-add{border-color:var(--line-3);color:var(--ink-sub);font-size:var(--fs-chip-s);font-weight:600;}
.aph-add svg{color:var(--accent);}
.aph-add:hover:not(:disabled),.aph.pi-over .aph-add{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft);}
.aph-one-t{font-size:var(--fs-chip);font-weight:600;color:var(--ink-2);}
.aph-hint{font-size:var(--fs-chip);color:var(--ink-sub);}
.aph-one-ref{background:var(--glass-dark);color:var(--glass-dark-ink);}
.aph-note{padding:12px 14px;border-radius:var(--r-ctl);background:var(--band-bg);color:var(--ink);font-size:var(--fs-chip);font-weight:500;line-height:1.45;}
.aph-note > .btn.aph-note-go{position:relative;overflow:visible;height:var(--btn-dz-h);min-height:0;padding:0 14px;border:0;border-radius:var(--r-btn-sm);
  background:var(--btn-dz-bg);color:var(--btn-dz-ink);box-shadow:none;font:600 var(--fs-btn-dz)/1 var(--font);letter-spacing:-.01em;}
.aph-note > .btn.aph-note-go::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}
.aph-note > .btn.aph-note-go:hover{background:var(--btn-dz-bg);color:var(--btn-dz-ink);box-shadow:none;}
@media (hover:hover){.aph-note > .btn.aph-note-go:hover{background:var(--btn-dz-bg-hover);}}
.aph-note > .btn.aph-note-go:active{background:var(--btn-dz-bg-press);transform:scale(.97);}
.aph-prog{border-radius:var(--r-ctl);background:var(--band-bg);}
.aph-err{border-radius:var(--r-ctl);}
@media (max-width:374px){
  .aph-no.cover{top:6px;left:6px;padding:0 8px;}
  .aph-note > .btn.aph-note-go{font-size:16px;padding:0 12px;}
}
