/* 간편주문 화면 전용 모양 — 템플릿 인라인 style 을 옮겨 온 자리(2026-10-29, 모양 변화 0).
   ⭐ `simple/base.html` 이 «맨 뒤»(extra_css 다음)에 싣는다 — 인라인 style 이 이기던 자리를
   클래스로 옮겼으니, 같은 특이도의 다른 규칙(.btn · .simple-card · 화면 css)보다 뒤여야 같은 그림이 나온다.
   버튼·링크·입력은 :hover/:focus/:active/:disabled 도 같이 적는다 — 인라인은 상태 규칙에도 이겼다.
   클래스 앞머리 = 화면: sbase-(뼈대) my-(내 정보) rt-(반품) rp-(수거지) mcs-·ord-(주문) hm-(홈) cf-(주문 완료)
   dv-(내 기기) agp-(거래처 선택) ld-(로그인) cc-(주문 취소) mcf-(지난달 확인) ol-(주문내역) stm-(문서) dis-(사용 안 함).
   새 모양은 공용 부품(UI_GUIDE §2)부터 찾는다. */

/* 토큰에 같은 값이 없는 색 — 원래 hex 를 그대로 옮겼다(토큰 후보). */
:root {
  --simple-blue-200: #bfdbfe;
  --simple-blue-300: #93c5fd;
  --simple-blue-600: #2563eb;
  --simple-blue-800: #1e40af;
  --simple-red-50: #fef2f2;
  --simple-red-100: #fee2e2;
  --simple-red-200: #fecaca;
  --simple-red-300: #fca5a5;
  --simple-red-700: #b91c1c;
  --simple-green-50: #f0fdf4;
  --simple-green-200: #bbf7d0;
  --simple-green-300: #86efac;
  --simple-green-700: #15803d;
  --simple-emerald-600: #059669;
  --simple-yellow-50: #fefce8;
  --simple-amber-300: #fcd34d;
  --simple-amber-600: #d97706;
  --simple-amber-700: #b45309;
  --simple-orange-100: #ffedd5;
  --simple-orange-300: #fdba74;
  --simple-slate-100: #f1f5f9;
  --simple-slate-200: #e2e8f0;
  --simple-gray-500: #6b7280;
  --simple-peach-200: #fde2c4;
  --simple-cream-50: #fef9f3;
  --simple-cream-yellow: #fff7d6;
  --simple-cream-orange: #fff8ed;
  --simple-cream-peach: #fff8f0;
  --simple-ink-brown: #3a2a00;
  --simple-gray-666: #666;
  --simple-white: #fff;
}

/* ── 내 정보 (me.html) ── */
.my-msg { padding:10px 12px; border-radius:8px; font-size:var(--fs-control); margin-bottom:6px; }
.my-msg-error { background:var(--danger-bg); color:var(--danger-fg); border:1px solid var(--simple-red-200); }
.my-msg-success { background:var(--success-bg); color:var(--success-fg); border:1px solid var(--simple-green-200); }
.my-msg-info { background:var(--accent-soft-bg); color:var(--accent-700); border:1px solid var(--simple-blue-200); }
.my-messages { margin-bottom:12px; }
.my-card { padding:16px; margin-bottom:12px; }
.my-card-title { font-size:var(--fs-body-lg); font-weight:700; margin-bottom:12px; color:var(--fg-strong); }
.my-agency-chips { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.my-agency-chip-on { font-size:var(--fs-label); font-weight:700; padding:5px 12px; background:var(--accent-500); color:white; border-radius:20px; }
.my-inline-form { margin:0; }
.my-agency-chip, .my-agency-chip:hover, .my-agency-chip:focus, .my-agency-chip:active, .my-agency-chip:disabled { background:var(--bg-muted); color:var(--fg-muted); border:1px solid var(--border-subtle); border-radius:20px; }
.my-field { margin-bottom:10px; }
.my-field-label { display:block; font-size:var(--fs-label); color:var(--fg-muted); margin-bottom:4px; }
.my-sibling-warn { font-size:var(--fs-label); color:var(--warning-fg); margin:0 0 8px; }
.my-btn-save, .my-btn-save:hover, .my-btn-save:focus, .my-btn-save:active, .my-btn-save:disabled { width:100%; background:var(--accent-500); color:white; }
.my-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.my-card-head-title { font-size:var(--fs-body-lg); font-weight:700; color:var(--fg-strong); }
.my-btn-add, .my-btn-add:hover, .my-btn-add:focus, .my-btn-add:active, .my-btn-add:disabled { background:white; color:var(--accent-500); border:1.5px solid var(--accent-500); border-radius:20px; }
.my-add-form { background:var(--bg-subtle); border:1px solid var(--border-subtle); border-radius:8px; padding:12px; margin-bottom:12px; }
.my-gap-8, .my-gap-8:hover, .my-gap-8:focus, .my-gap-8:active, .my-gap-8:disabled { margin-bottom:8px; }
.my-add-label { display:block; font-size:var(--fs-micro); color:var(--fg-muted); margin-bottom:4px; }
.my-agency-fixed { padding:8px; background:white; border:1px solid var(--border-subtle); border-radius:6px; font-size:var(--fs-control); color:var(--fg-muted); }
.my-gap-6, .my-gap-6:hover, .my-gap-6:focus, .my-gap-6:active, .my-gap-6:disabled { margin-bottom:6px; }
.my-btn-create, .my-btn-create:hover, .my-btn-create:focus, .my-btn-create:active, .my-btn-create:disabled { width:100%; background:var(--success-500); color:white; }
.my-dlv-card { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:10px; padding:12px 14px; }
.my-dlv-row { display:flex; align-items:flex-start; gap:10px; }
.my-dlv-body { flex:1; min-width:0; }
.my-dlv-head { display:flex; align-items:center; gap:6px; margin-bottom:4px; flex-wrap:wrap; }
.my-dlv-name { font-size:var(--fs-body); font-weight:700; color:var(--fg-strong); }
.my-dlv-default { font-size:var(--fs-nano); background:var(--accent-soft-bg); color:var(--accent-600); border:1px solid var(--simple-blue-200); padding:1px 7px; border-radius:8px; white-space:nowrap; font-weight:600; }
.my-dlv-addr { font-size:var(--fs-label); color:var(--fg-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.5; }
.my-dlv-phone { font-size:var(--fs-label); color:var(--fg-muted); line-height:1.5; }
.my-dlv-actions { display:flex; gap:6px; flex-shrink:0; }
.my-btn-edit, .my-btn-edit:hover, .my-btn-edit:focus, .my-btn-edit:active, .my-btn-edit:disabled { background:white; color:var(--fg-muted); border:1px solid var(--border-default); }
.my-btn-delete, .my-btn-delete:hover, .my-btn-delete:focus, .my-btn-delete:active, .my-btn-delete:disabled { background:white; color:var(--danger-500); border:1px solid var(--simple-red-300); }
.my-dlv-school { flex-shrink:0; align-self:center; font-size:var(--fs-micro); font-weight:600; color:var(--fg-muted); background:var(--bg-muted); border-radius:8px; padding:4px 10px; white-space:nowrap; }
.my-edit-form { background:var(--bg-subtle); border:1px solid var(--border-subtle); border-radius:10px; padding:12px; }
.my-default-check { display:flex; align-items:center; gap:6px; font-size:var(--fs-label); color:var(--fg-muted); margin-bottom:8px; cursor:pointer; }
.my-default-check-box, .my-default-check-box:hover, .my-default-check-box:focus, .my-default-check-box:active, .my-default-check-box:disabled { width:14px; height:14px; accent-color:var(--accent-500); }
.my-edit-actions { display:flex; gap:6px; }
.my-btn-update, .my-btn-update:hover, .my-btn-update:focus, .my-btn-update:active, .my-btn-update:disabled { flex:1; background:var(--success-500); color:white; }
.my-btn-cancel, .my-btn-cancel:hover, .my-btn-cancel:focus, .my-btn-cancel:active, .my-btn-cancel:disabled { flex:1; background:var(--bg-muted); color:var(--fg-muted); border:1px solid var(--border-default); }
.my-dlv-empty { font-size:var(--fs-label); color:var(--fg-faint); padding:12px 0; }
.my-card-last { padding:16px; margin-bottom:80px; }
.my-account-actions { display:flex; gap:8px; }
.my-account-link, .my-account-link:hover, .my-account-link:focus, .my-account-link:active, .my-account-link:disabled { flex:1; text-align:center; padding:10px; background:white; color:var(--fg-muted); border:1px solid var(--border-default); border-radius:8px; font-size:var(--fs-control); font-weight:600; text-decoration:none; }
.my-account-logout, .my-account-logout:hover, .my-account-logout:focus, .my-account-logout:active, .my-account-logout:disabled { flex:1; text-align:center; padding:10px; background:white; color:var(--danger-500); border:1px solid var(--border-danger); border-radius:8px; font-size:var(--fs-control); font-weight:600; text-decoration:none; }

/* ── 반품 (return.html) ── */
.rt-card { padding:16px; }
h2.rt-title { margin-bottom:14px; }
.rt-guide { background:var(--accent-soft-bg); border:1px solid var(--simple-blue-200); border-radius:8px; padding:10px 14px; margin-bottom:14px; font-size:var(--fs-control); color:var(--accent-700); display:flex; align-items:flex-start; gap:8px; }
.rt-guide-icon { line-height:1; display:inline-flex; flex-shrink:0; }
.rt-guide-sub { font-size:var(--fs-label); color:var(--accent-500); }
.rt-intro { color:var(--fg-muted); font-size:var(--fs-control); margin-bottom:12px; }
.rt-empty { padding:20px 16px; text-align:center; border:1px solid var(--border-subtle); border-radius:10px; background:var(--bg-subtle); }
.rt-empty-title { font-size:var(--fs-body); font-weight:700; color:var(--fg-strong); margin-bottom:6px; }
.rt-empty-desc { font-size:var(--fs-control); color:var(--fg-muted); line-height:1.5; margin-bottom:14px; }
.rt-empty-actions { display:flex; gap:8px; justify-content:center; }
.rt-note-none { color:var(--fg-faint); }
.rt-note-tc { color:var(--teacher-copy-500); }
.rt-note-returned { color:var(--danger-500); }
.rt-col-check { width:50px; }
.rt-col-qty { width:80px; }
.rt-col-return { width:140px; }
.rt-check, .rt-check:hover, .rt-check:focus, .rt-check:active, .rt-check:disabled { width:18px; height:18px; }
.rt-tag-tc { color:var(--teacher-copy-500); font-size:var(--fs-micro); margin-left:6px; }
.rt-tag-returned { color:var(--danger-500); font-size:var(--fs-micro); margin-left:6px; }
.rt-tc-row { margin-top:6px; }
.rt-tc-label { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-size:var(--fs-label); font-weight:600; color:var(--teacher-copy-fg); }
.rt-tc-check, .rt-tc-check:hover, .rt-tc-check:focus, .rt-tc-check:active, .rt-tc-check:disabled { width:15px; height:15px; }
/* x-show 가 켤 때 inline display 를 지우므로(Alpine) 원래도 display 는 기본값이었다 — 넣지 않는다 */
.rt-tc-qty { align-items:center; gap:6px; margin-left:8px; font-size:var(--fs-label); color:var(--teacher-copy-fg); }
.rt-tc-qty-wrap { display:inline-flex; }
.rt-returned-qty { font-size:var(--fs-nano); color:var(--fg-faint); }
.rt-qty-cell { justify-content:center; }
.rt-qty-dash { color:var(--border-default); }
.rt-reason { margin-top:14px; }
.rt-basket-tc-tag { color:var(--teacher-copy-fg); }
.rt-submit, .rt-submit:hover, .rt-submit:focus, .rt-submit:active, .rt-submit:disabled { margin-top:8px; }
.rt-hist-delivery { font-size:var(--fs-control); font-weight:700; color:var(--fg-strong); margin-top:4px; }
.rt-hist-memo { font-size:var(--fs-label); color:var(--fg-muted); margin-top:4px; }
.rt-inline-form { display:inline; }
.rt-hist-qty { font-weight:600; }
.rt-edit { margin-top:10px; padding:12px; background:var(--bg-subtle); border-radius:8px; border:1px solid var(--border-subtle); }
.rt-edit-label { font-size:var(--fs-label); font-weight:600; color:var(--fg-muted); display:block; margin-bottom:4px; }
.rt-edit-field, .rt-edit-field:hover, .rt-edit-field:focus, .rt-edit-field:active, .rt-edit-field:disabled { margin-bottom:8px; }
.rt-edit-label-sub { font-weight:400; color:var(--fg-faint); }
.rt-edit-items { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:8px; padding:6px 10px; margin-bottom:8px; }
.rt-edit-item-name { flex:1; font-size:var(--fs-control); color:var(--fg-default); }
.rt-edit-qty, .rt-edit-qty:hover, .rt-edit-qty:focus, .rt-edit-qty:active, .rt-edit-qty:disabled { width:64px; text-align:right; }
.rt-edit-unit { font-size:var(--fs-label); color:var(--fg-muted); }
.rt-dim { opacity:.5; }
.rt-dim-row { opacity:.55; }
.rt-edit-item { display:flex; align-items:center; gap:8px; padding:4px 0; }
.rt-edit-item-sep { border-bottom:1px dashed var(--bg-muted); }

/* ── 주문 › 지난달 확인 단계 (order.html — 옛 본문 <style> 블록, 아래 ord- 보다 앞이어야 한다) ── */
.mcs-top{display:flex;align-items:flex-start;gap:10px;margin:6px 2px 14px}
.mcs-head{flex:1;font-size:var(--fs-control);color:var(--fg-muted);line-height:1.55}
.mcs-prog{flex-shrink:0;font-size:var(--fs-label);font-weight:700;color:var(--fg-muted);background:var(--bg-muted);border-radius:999px;padding:4px 10px;font-variant-numeric:tabular-nums}
.mcs-prog b{color:var(--accent-700)}
.mcs-remain{margin:-4px 2px 13px;padding:8px 11px;border:1px solid var(--warning-500);border-radius:8px;background:var(--warning-bg);color:var(--warning-fg);font-size:12.5px;font-weight:700;line-height:1.5;word-break:keep-all}
.mcs-mrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 10px}
.mcs-allbtn{border:1px solid var(--accent-500);border-radius:7px;background:var(--bg-surface);color:var(--accent-700);font-size:var(--fs-label);font-weight:700;padding:6px 11px}
.mcs-mhd{font-size:var(--fs-label);font-weight:700;color:var(--accent-700);background:var(--accent-soft-bg);border-radius:6px;padding:4px 11px;display:inline-block}
.mcs-bk{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:13px 14px;margin-bottom:11px}
.mcs-nm{font-size:var(--fs-body);font-weight:700;color:var(--fg-strong)}
.mcs-nm small{display:block;font-weight:400;font-size:var(--fs-micro);color:var(--fg-faint);margin-top:1px}
.mcs-nmrow{display:flex;align-items:flex-start;gap:8px}
.mcs-nmrow .mcs-nm{flex:1;min-width:0}
.mcs-src{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}
.mcs-src b{font-size:9.5px;font-weight:700;color:var(--fg-muted);background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:1px 7px;white-space:nowrap}
.mcs-cells{display:flex;gap:7px;margin-top:11px}
.mcs-cell{flex:1;text-align:center;border:1px solid var(--border-subtle);border-radius:8px;padding:8px 4px;background:var(--bg-subtle)}
.mcs-cell .l{display:block;font-size:var(--fs-nano);color:var(--fg-muted);font-weight:600}
.mcs-cell .v{display:block;font-size:var(--fs-heading);font-weight:800;color:var(--fg-strong);margin-top:2px;font-variant-numeric:tabular-nums}
/* 칸 색 = 아래 버튼 색. 어느 버튼이 어느 숫자를 바꾸는지 눈으로 잇는다(노대표 2026-07-27) */
.mcs-cell.use{background:var(--accent-soft-bg);border-color:var(--accent-500)}
.mcs-cell.use .v{color:var(--accent-700)}
.mcs-cell.ret{background:var(--warning-bg);border-color:var(--warning-500)}
.mcs-cell.ret .v{color:var(--warning-fg)}
.mcs-cell .tc{display:block;margin-top:4px;padding-top:4px;border-top:1px dashed var(--border-default);font-size:var(--fs-nano);font-weight:600;color:var(--fg-muted)}
.mcs-cell .tc b{font-size:var(--fs-label);color:var(--fg-strong);font-variant-numeric:tabular-nums}
/* word-break:keep-all — 없으면 한글이 '수/량을' 처럼 낱말 중간에서 잘린다 */
.mcs-brk{margin-top:4px;font-size:var(--fs-micro);font-weight:600;line-height:1.5;word-break:keep-all;color:var(--fg-muted)}
.mcs-tchint{margin-top:8px;text-align:center;font-size:var(--fs-micro);line-height:1.6;font-weight:600;word-break:keep-all;color:var(--fg-muted);background:var(--bg-muted);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px}
.mcs-retbox{margin-top:11px;border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}
.mcs-retlab{font-size:var(--fs-nano);font-weight:800;letter-spacing:.02em;color:var(--fg-muted);background:var(--bg-muted);padding:5px 12px;border-bottom:1px solid var(--border-subtle)}
.mcs-retrow{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--warning-bg)}
.mcs-retrow+.mcs-retrow{border-top:1px solid var(--border-subtle)}
.mcs-rl{font-size:12.5px;font-weight:700;color:var(--warning-fg);display:inline-flex;align-items:center;gap:5px}
.mcs-rl small{font-weight:600;color:var(--fg-faint);font-size:var(--fs-nano)}
.mcs-stp{display:inline-flex;align-items:center;border:1px solid var(--warning-500);border-radius:7px;overflow:hidden;background:var(--bg-surface)}
.mcs-stp button{width:26px;height:28px;border:0;background:var(--bg-surface);font-size:var(--fs-heading-sm);font-weight:700;color:var(--warning-fg);line-height:1}
.mcs-stp button:disabled{color:var(--fg-faint)}
.mcs-stp .mcs-qv{min-width:26px;text-align:center;font-size:var(--fs-heading-sm);font-weight:800;color:var(--warning-fg);font-variant-numeric:tabular-nums}
.mcs-none{margin-top:12px;text-align:center;font-size:12.5px;font-weight:600;color:var(--success-fg);background:var(--success-bg);border-radius:8px;padding:9px 11px}
.mcs-free{font-size:var(--fs-pico);font-weight:800;color:inherit;background:var(--bg-surface);border:1px solid currentColor;padding:1px 6px;border-radius:999px}
.mcs-ask{display:flex;gap:8px;margin-top:11px}
.mcs-yn{flex:1;padding:11px 0;border:1px solid var(--border-default);border-radius:9px;background:var(--bg-surface);font-size:var(--fs-body);font-weight:700;color:var(--fg-muted)}
.mcs-yn.on{border-color:var(--accent-500);background:var(--accent-soft-bg);color:var(--accent-700)}
.mcs-yn.no.on{border-color:var(--warning-500);background:var(--warning-bg);color:var(--warning-fg)}
.mcs-cerr{margin-top:10px;font-size:12.5px;font-weight:700;color:var(--danger-500);background:var(--danger-bg);border-radius:7px;padding:7px 11px}
.mcs-memo{margin:2px 0 8px}.mcs-memo label{display:block;font-size:var(--fs-label);font-weight:600;color:var(--fg-muted);margin-bottom:6px}
.mcs-memo textarea{width:100%;min-height:46px;border:1px solid var(--border-default);border-radius:9px;padding:9px 11px;font-family:inherit;font-size:13.5px;color:var(--fg-default);resize:none}

/* ── 주문 (order.html) ── */
.ord-card { padding:16px; }
.ord-head { margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; gap:8px; }
h2.ord-head-title { margin-bottom:0; flex-shrink:0; }
.ord-head-meta { font-size:var(--fs-label); color:var(--fg-muted); text-align:right; }
.ord-head-meta-mobile { font-size:var(--fs-label); color:var(--fg-muted); text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ord-dup-form { margin:-4px 0 12px; }
.ord-contents { display:contents; }
.ord-gap-8 { margin-bottom:8px; }
.ord-school-agency { color:var(--warning-fg); }
.ord-addr-row { display:flex; gap:6px; flex:1; }
.ord-flex-1, .ord-flex-1:hover, .ord-flex-1:focus, .ord-flex-1:active, .ord-flex-1:disabled { flex:1; }
.ord-addr-check { font-size:var(--fs-control); color:var(--danger-500); font-weight:500; margin:-2px 0 4px 0; }
.ord-addr-shared { font-size:var(--fs-micro); color:var(--fg-faint); margin:0 0 8px 0; }
.ord-label-sub { font-size:var(--fs-micro); color:var(--fg-faint); font-weight:400; }
.ord-phone, .ord-phone:hover, .ord-phone:focus, .ord-phone:active, .ord-phone:disabled { max-width:180px; }
.ord-new-agency { background:var(--bg-muted); border-radius:8px; padding:8px 12px; margin-bottom:10px; font-size:var(--fs-control); color:var(--fg-muted); }
.ord-strong { color:var(--fg-strong); }
.ord-school-only { background:var(--warning-bg); border:1px solid var(--warning-500); border-radius:8px; padding:8px 12px; margin-bottom:10px; font-size:12.5px; color:var(--warning-fg); font-weight:600; }
.ord-rel { position:relative; }
.ord-school-sug { position:absolute; top:100%; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:240px; overflow-y:auto; }
.ord-school-sug-item { padding:8px 10px; cursor:pointer; font-size:var(--fs-label); border-bottom:1px solid var(--bg-muted); line-height:1.4; }
.ord-sug-name { font-weight:600; color:var(--fg-strong); }
.ord-sug-sub { font-size:var(--fs-micro); color:var(--fg-faint); }
.ord-addr-check-new { font-size:var(--fs-control); color:var(--danger-500); font-weight:500; margin:-2px 0 8px 0; }
.delivery-box .form-row.ord-row-top { align-items:flex-start; }
.ord-label-req { font-size:var(--fs-micro); color:var(--danger-500); font-weight:600; }
.ord-hint { font-size:var(--fs-micro); color:var(--fg-faint); margin-top:4px; }
.ord-btn-delete-dlv, .ord-btn-delete-dlv:hover, .ord-btn-delete-dlv:focus, .ord-btn-delete-dlv:active, .ord-btn-delete-dlv:disabled { background:transparent; color:var(--danger-500); border:1px solid var(--danger-500); }
.ord-btn-wrap { display:flex; gap:6px; flex-wrap:wrap; }
.ord-agency-box { margin-bottom:12px; }
.ord-other-agency { margin-top:8px; }
.ord-table-wrap { border:1px solid var(--border-subtle); border-radius:10px 10px 0 0; overflow:hidden; }
.ord-col-20 { width:20%; }
.ord-col-16 { width:16%; }
.ord-col-purpose { width:90px; }
.ord-col-60 { width:60px; }
.ord-col-qty { width:160px; }
.ord-tc-text { color:var(--teacher-copy-500); }
.ord-col-del { width:30px; }
.order-row-wrap input.ord-cell-search, .order-row-wrap input.ord-cell-search:hover, .order-row-wrap input.ord-cell-search:focus, .order-row-wrap input.ord-cell-search:active, .order-row-wrap input.ord-cell-search:disabled { width:100%; padding:3px 6px; font-size:var(--fs-micro); border:1px solid var(--border-subtle); border-radius:3px; margin-bottom:3px; }
.ord-cell-sug { position:absolute; top:30px; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:240px; overflow-y:auto; min-width:240px; }
.ord-sug-row { display:flex; gap:8px; align-items:center; }
.ord-min0 { min-width:0; }
.ord-tag-soldout { background:var(--teacher-copy-500); color:var(--bg-surface); padding:1px 5px; border-radius:3px; font-size:var(--fs-nano); margin-right:4px; }
.ord-tag-new { background:var(--success-500); color:var(--bg-surface); padding:1px 5px; border-radius:3px; font-size:var(--fs-nano); margin-right:4px; font-weight:700; }
.ord-sug-empty { padding:10px; color:var(--fg-faint); font-size:var(--fs-label); text-align:center; }
.order-row-wrap input.ord-w100, .order-row-wrap input.ord-w100:hover, .order-row-wrap input.ord-w100:focus, .order-row-wrap input.ord-w100:active, .order-row-wrap input.ord-w100:disabled { width:100%; }
.ord-custom-sug { position:absolute; top:100%; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:200px; overflow-y:auto; }
.ord-bold { font-weight:600; }
.ord-faint { color:var(--fg-faint); }
.ord-sug-price { color:var(--fg-muted); font-size:var(--fs-micro); }
.ord-sug-kind-book { font-size:var(--fs-nano); color:var(--accent-500); margin-left:4px; }
.ord-sug-kind-custom { font-size:var(--fs-nano); color:var(--teacher-copy-500); margin-left:4px; }
.ord-list-price { color:var(--simple-gray-666); font-size:var(--fs-label); }
.order-row-wrap input.ord-cell-price, .order-row-wrap input.ord-cell-price:hover, .order-row-wrap input.ord-cell-price:focus, .order-row-wrap input.ord-cell-price:active, .order-row-wrap input.ord-cell-price:disabled { width:55px; text-align:right; }
.order-row-wrap input.ord-cell-tqty, .order-row-wrap input.ord-cell-tqty:hover, .order-row-wrap input.ord-cell-tqty:focus, .order-row-wrap input.ord-cell-tqty:active, .order-row-wrap input.ord-cell-tqty:disabled { width:55px; border-color:var(--warning-500); }
.order-row-wrap input.ord-cell-tc-reason, .order-row-wrap input.ord-cell-tc-reason:hover, .order-row-wrap input.ord-cell-tc-reason:focus, .order-row-wrap input.ord-cell-tc-reason:active, .order-row-wrap input.ord-cell-tc-reason:disabled { border:2px solid var(--teacher-copy-500); background:var(--simple-cream-orange); font-weight:600; margin-top:4px; color:var(--teacher-copy-fg); }
.ord-cell-amount { font-weight:bold; font-size:var(--fs-label); }
.ord-cell-del, .ord-cell-del:hover, .ord-cell-del:focus, .ord-cell-del:active, .ord-cell-del:disabled { padding:2px 6px; font-size:var(--fs-micro); }
.ord-qa { margin-top:4px; border:1px solid var(--border-subtle); border-radius:10px; background:var(--bg-subtle); padding:12px; }
.ord-qa-head { font-size:var(--fs-label); font-weight:700; color:var(--accent-700); margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; }
.ord-qa-toggle, .ord-qa-toggle:hover, .ord-qa-toggle:focus, .ord-qa-toggle:active, .ord-qa-toggle:disabled { border:1px solid var(--teacher-copy-500); background:var(--bg-surface); color:var(--teacher-copy-500); border-radius:4px; }
.ord-qa-search { position:relative; margin-bottom:6px; }
.ord-qa-input, .ord-qa-input:hover, .ord-qa-input:focus, .ord-qa-input:active, .ord-qa-input:disabled { width:100%; padding:10px; border:1px solid var(--border-default); border-radius:8px; font-size:var(--fs-body); background:var(--bg-surface); }
.ord-qa-sug { position:absolute; top:46px; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:280px; overflow-y:auto; }
.ord-qa-series { padding:12px 14px; cursor:pointer; font-size:var(--fs-body); border-bottom:1px solid var(--border-subtle); background:var(--bg-subtle); }
.ord-qa-series-name { font-weight:700; color:var(--fg-strong); }
.ord-qa-series-count { color:var(--fg-muted); font-weight:500; font-size:var(--fs-label); margin-left:6px; }
.ord-qa-book { padding:10px 12px; cursor:pointer; font-size:var(--fs-control); border-bottom:1px solid var(--bg-muted); line-height:1.4; }
.ord-qa-book-sub { font-size:var(--fs-micro); color:var(--fg-faint); margin-top:2px; }
.ord-qa-empty { padding:12px; color:var(--fg-faint); font-size:var(--fs-control); text-align:center; }
.ord-qa-select, .ord-qa-select:hover, .ord-qa-select:focus, .ord-qa-select:active, .ord-qa-select:disabled { margin-bottom:6px; -webkit-appearance:none; appearance:none; }
.ord-gap-6, .ord-gap-6:hover, .ord-gap-6:focus, .ord-gap-6:active, .ord-gap-6:disabled { margin-bottom:6px; }
.ord-qa-custom-name, .ord-qa-custom-name:hover, .ord-qa-custom-name:focus, .ord-qa-custom-name:active, .ord-qa-custom-name:disabled { width:100%; padding:10px; border:1px solid var(--border-default); border-radius:8px; font-size:var(--fs-body); background:var(--bg-surface); margin-bottom:6px; }
.ord-qa-custom-sug { position:absolute; top:42px; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:200px; overflow-y:auto; }
.ord-muted { color:var(--fg-muted); }
/* x-show 가 켤 때 inline display 를 지우므로(Alpine) 원래도 display 는 기본값이었다 — 넣지 않는다 */
.ord-hint-box { align-items:center; gap:8px; flex-wrap:wrap; margin:2px 0 8px; padding:8px 10px; border:1px solid var(--accent-500); border-radius:8px; background:var(--accent-soft-bg); font-size:var(--fs-label); }
.ord-hint-apply, .ord-hint-apply:hover, .ord-hint-apply:focus, .ord-hint-apply:active, .ord-hint-apply:disabled { margin-left:auto; border:1px solid var(--accent-500); background:var(--accent-500); color:var(--bg-surface); }
.ord-hint-dismiss, .ord-hint-dismiss:hover, .ord-hint-dismiss:focus, .ord-hint-dismiss:active, .ord-hint-dismiss:disabled { border:1px solid var(--border-default); background:var(--bg-surface); color:var(--fg-muted); }
.ord-select-plain, .ord-select-plain:hover, .ord-select-plain:focus, .ord-select-plain:active, .ord-select-plain:disabled { -webkit-appearance:none; appearance:none; }
.ord-qa-qty { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ord-qa-qty-item { display:flex; align-items:center; gap:3px; }
.ord-qa-qty-label { font-size:var(--fs-micro); color:var(--fg-muted); width:24px; }
.added-item-qty input.ord-qa-qty-input, .added-item-qty input.ord-qa-qty-input:hover, .added-item-qty input.ord-qa-qty-input:focus, .added-item-qty input.ord-qa-qty-input:active, .added-item-qty input.ord-qa-qty-input:disabled { width:40px; }
.ord-qa-tqty-label { font-size:var(--fs-micro); color:var(--teacher-copy-500); width:24px; }
.added-item-qty input.ord-qa-tqty-input, .added-item-qty input.ord-qa-tqty-input:hover, .added-item-qty input.ord-qa-tqty-input:focus, .added-item-qty input.ord-qa-tqty-input:active, .added-item-qty input.ord-qa-tqty-input:disabled { width:40px; border-color:var(--warning-500); }
.ord-qa-tc { margin-top:10px; padding:10px; background:var(--simple-cream-yellow); border:2px solid var(--teacher-copy-500); border-radius:8px; }
.ord-qa-tc-label { font-size:var(--fs-control); color:var(--teacher-copy-fg); font-weight:700; display:block; margin-bottom:6px; }
.ord-qa-tc-input, .ord-qa-tc-input:hover, .ord-qa-tc-input:focus, .ord-qa-tc-input:active, .ord-qa-tc-input:disabled { border:2px solid var(--teacher-copy-500); font-weight:500; }
.ord-qa-add { margin-top:10px; }
.ord-qa-add-btn, .ord-qa-add-btn:hover, .ord-qa-add-btn:focus, .ord-qa-add-btn:active, .ord-qa-add-btn:disabled { width:100%; background:var(--bg-surface); color:var(--accent-600); border:1px solid var(--accent-500); font-weight:700; }
.ord-qa-error { margin-top:8px; padding:10px 12px; background:var(--danger-bg); border:1px solid var(--simple-red-200); border-radius:6px; color:var(--danger-500); font-size:var(--fs-control); font-weight:500; }
.ord-ql { margin-top:10px; border:1px solid var(--border-default); border-radius:8px; overflow:hidden; background:var(--bg-surface); }
.ord-ql-head { padding:8px 12px; background:var(--bg-muted); border-bottom:1px solid var(--border-default); font-size:var(--fs-label); font-weight:700; color:var(--fg-default); display:flex; justify-content:space-between; align-items:center; }
.ord-ql-count { font-size:var(--fs-micro); color:var(--fg-muted); font-weight:500; }
.ord-ql-table { width:100%; border-collapse:collapse; font-size:var(--fs-label); }
.ord-ql-thead { background:var(--bg-subtle); color:var(--fg-muted); font-size:var(--fs-nano); }
.ord-ql-th-name { padding:5px 6px; text-align:left; }
.ord-ql-th-qty { padding:5px 4px; text-align:center; width:28px; }
.ord-ql-th-tqty { padding:5px 4px; text-align:center; width:28px; color:var(--teacher-copy-500); }
.ord-ql-th-amt { padding:5px 6px; text-align:right; width:70px; }
.ord-ql-th-del { width:24px; }
.ord-ql-name { padding:6px; line-height:1.3; }
.ord-ql-title { font-weight:600; color:var(--fg-strong); font-size:var(--fs-micro); }
.ord-ql-reason { font-size:var(--fs-nano); color:var(--teacher-copy-fg); margin-top:2px; }
.ord-ql-purpose { font-size:var(--fs-nano); color:var(--accent-700); margin-top:2px; }
.ord-ql-qty { padding:6px 4px; text-align:center; font-weight:600; }
.ord-ql-tqty { padding:6px 4px; text-align:center; color:var(--teacher-copy-500); font-weight:600; }
.ord-ql-amt { padding:6px; text-align:right; font-weight:700; color:var(--accent-500); font-size:var(--fs-micro); }
.ord-ql-del { padding:4px; text-align:center; }
.ord-ql-del-btn, .ord-ql-del-btn:hover, .ord-ql-del-btn:focus, .ord-ql-del-btn:active, .ord-ql-del-btn:disabled { color:var(--danger-500); background:none; }
.ord-ql-total { background:var(--bg-subtle); border-top:2px solid var(--border-default); }
.ord-ql-total-label { padding:8px 6px; font-size:var(--fs-label); font-weight:700; color:var(--fg-strong); }
.ord-ql-total-qty { padding:8px 4px; text-align:center; font-weight:700; color:var(--accent-500); }
.ord-ql-total-tqty { padding:8px 4px; text-align:center; font-weight:700; color:var(--teacher-copy-500); }
.ord-ql-total-amt { padding:8px 6px; text-align:right; font-weight:700; color:var(--teacher-copy-fg); font-size:var(--fs-label); }
.ord-inline { display:inline; }
.ord-add-row, .ord-add-row:hover, .ord-add-row:focus, .ord-add-row:active, .ord-add-row:disabled { float:left; }
.ord-add-custom, .ord-add-custom:hover, .ord-add-custom:focus, .ord-add-custom:active, .ord-add-custom:disabled { float:left; margin-left:4px; color:var(--teacher-copy-500); border-color:var(--teacher-copy-500); }
.ord-sum-qty { font-size:var(--fs-body); color:var(--accent-500); }
.ord-sum-tqty { font-size:var(--fs-body); color:var(--teacher-copy-500); }
.ord-sum-total { font-size:var(--fs-heading-sm); color:var(--accent-500); }
.ord-error { color:var(--danger-500); font-size:var(--fs-control); font-weight:600; margin:4px 2px 8px; }
.ord-gap-top-12 { margin-top:12px; }
.ord-bag { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:var(--fs-control); color:var(--accent-500); font-weight:500; margin-bottom:8px; padding:8px 10px; background:var(--accent-soft-bg); border-radius:6px; }
.ord-bag-check, .ord-bag-check:hover, .ord-bag-check:focus, .ord-bag-check:active, .ord-bag-check:disabled { width:16px; height:16px; cursor:pointer; }
.ord-confirm-dlv { margin-top:14px; padding:12px 14px; background:var(--accent-soft-bg); border:1px solid var(--simple-blue-200); border-radius:8px; }
.ord-confirm-dlv-label { font-size:var(--fs-label); color:var(--accent-700); font-weight:600; margin-bottom:4px; }
.ord-confirm-dlv-name { font-size:var(--fs-body); color:var(--fg-strong); line-height:1.5; }
.ord-confirm-dlv-detail { font-size:var(--fs-control); color:var(--fg-muted); margin-top:2px; }
.ord-confirm-dlv-missing { font-size:var(--fs-label); color:var(--danger-500); margin-top:4px; }
.ord-confirm-dlv-change { font-size:var(--fs-label); color:var(--accent-700); margin-top:6px; }
.ord-confirm-dlv-link, .ord-confirm-dlv-link:hover, .ord-confirm-dlv-link:focus, .ord-confirm-dlv-link:active, .ord-confirm-dlv-link:disabled { color:var(--accent-500); font-weight:600; text-decoration:underline; }
.ord-confirm-error { color:var(--danger-500); font-size:var(--fs-control); margin-top:8px; padding:6px 10px; background:var(--danger-bg); border-radius:6px; }
.ord-day, .ord-day:hover, .ord-day:focus, .ord-day:active { padding:8px 14px; border:2px solid var(--border-subtle); background:var(--bg-surface); color:var(--fg-faint); border-radius:8px; font-size:var(--fs-body-lg); font-weight:600; cursor:pointer; }
.ord-day.ord-day-on, .ord-day.ord-day-on:hover, .ord-day.ord-day-on:focus, .ord-day.ord-day-on:active { border-color:var(--accent-500); background:var(--accent-soft-bg); color:var(--accent-500); }
.ord-agency-select, .ord-agency-select:hover, .ord-agency-select:focus, .ord-agency-select:active, .ord-agency-select:disabled { width:100%; padding:12px 10px; border:1px solid var(--border-default); border-radius:8px; font-size:var(--fs-body-lg); background:var(--bg-surface); color:var(--fg-strong); -webkit-appearance:none; appearance:none; background-image:url('data:image/svg+xml;utf8,<svg fill="%23666" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>'); background-repeat:no-repeat; background-position:right 10px center; background-size:20px; }
.ord-row-custom { background:var(--simple-cream-peach); }
.ord-sug-soldout { background:var(--teacher-copy-bg); }
.ord-sug-custom { background:var(--simple-yellow-50); }
.ord-purpose, .ord-purpose:hover, .ord-purpose:focus, .ord-purpose:active, .ord-purpose:disabled { border:1px solid var(--border-default); background:var(--bg-surface); color:var(--fg-default); border-radius:6px; }
.ord-purpose.ord-purpose-on, .ord-purpose.ord-purpose-on:hover, .ord-purpose.ord-purpose-on:focus, .ord-purpose.ord-purpose-on:active, .ord-purpose.ord-purpose-on:disabled { border-color:var(--accent-500); background:var(--accent-500); color:var(--fg-inverse); font-weight:700; }

/* ── 홈 (home.html) ── */
.hm-greet-actions { display:flex; gap:6px; align-items:center; }
.hm-devices-link, .hm-devices-link:hover, .hm-devices-link:focus, .hm-devices-link:active, .hm-devices-link:disabled { font-size:var(--fs-label); color:var(--fg-muted); padding:4px 10px; border:1px solid var(--border-default); border-radius:6px; text-decoration:none; }
.hm-agency-bar { margin:0 0 12px 0; padding:8px 12px; background:var(--bg-muted); border:1px solid var(--border-subtle); border-radius:8px; font-size:var(--fs-control); display:flex; justify-content:space-between; align-items:center; }
.hm-muted { color:var(--fg-muted); }
.hm-strong { color:var(--fg-strong); }
.hm-agency-switch, .hm-agency-switch:hover, .hm-agency-switch:focus, .hm-agency-switch:active, .hm-agency-switch:disabled { color:var(--accent-500); font-weight:600; text-decoration:none; font-size:var(--fs-label); }
.hm-tap { cursor:pointer; }
.hm-doc-chip, .hm-doc-chip:hover, .hm-doc-chip:focus, .hm-doc-chip:active, .hm-doc-chip:disabled { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; }
.hm-section-head { display:flex; align-items:center; justify-content:space-between; }
.hm-see-all, .hm-see-all:hover, .hm-see-all:focus, .hm-see-all:active, .hm-see-all:disabled { font-size:var(--fs-label); font-weight:600; color:var(--accent-500); text-decoration:none; }
.hm-flex-fill { flex:1; min-width:0; }
.hm-locked-note { margin:0 0 8px; padding:8px 12px; font-size:var(--fs-label); line-height:1.45; color:var(--warning-fg); background:var(--warning-bg); border:1px solid var(--simple-amber-300); border-radius:8px; }
.hm-ret-sum-title { font-weight:600; color:var(--teacher-copy-fg); margin-bottom:6px; }
.hm-ret-sum-school { color:var(--fg-strong); font-weight:600; }
.hm-ret-sum-total { color:var(--teacher-copy-fg); font-weight:700; margin-left:6px; }
.hm-ret-card { border-left:3px solid var(--danger-500); cursor:pointer; }
.hm-ret-chip { background:var(--danger-bg); color:var(--danger-fg); }
.hm-kpi-tap { cursor:pointer; }
.hm-ret-title { margin-top:24px; }
.hm-ret-sum { margin:-4px 0 10px 0; padding:10px 12px; background:var(--simple-cream-50); border:1px solid var(--simple-peach-200); border-radius:8px; font-size:var(--fs-label); }
.hm-ret-sum-row { display:flex; justify-content:space-between; gap:8px; padding:3px 0; }
.hm-ret-sum-row-sep { border-bottom:1px dashed var(--simple-peach-200); }

/* ── 주문 완료 (confirm.html) ── */
.cf-page { min-height:calc(100vh - 140px); }
.cf-card { text-align:center; padding:32px 24px; }
.cf-check { width:56px; height:56px; background:var(--success-bg); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; margin-bottom:12px; }
.cf-check-mark { font-size:28px; color:var(--success-500); }
h2.cf-title { border:none; padding:0; text-align:center; font-size:var(--fs-glyph); margin-bottom:6px; }
.cf-badge { display:inline-block; background:var(--warning-bg); color:var(--warning-fg); border:1px solid var(--simple-amber-300); border-radius:999px; padding:3px 12px; font-size:var(--fs-label); font-weight:600; margin-bottom:8px; }
.cf-desc { color:var(--fg-muted); font-size:var(--fs-body); margin-bottom:4px; }
.cf-strong { color:var(--fg-strong); }
.cf-sub { color:var(--fg-faint); font-size:var(--fs-label); margin:0; }
.cf-next { margin-top:14px; padding:10px 14px; background:var(--accent-soft-bg); border-radius:8px; font-size:var(--fs-label); color:var(--accent-700); text-align:left; line-height:1.6; }
.cf-info { background:var(--bg-subtle); border:1px solid var(--border-subtle); border-radius:8px; padding:10px 14px; margin-bottom:12px; font-size:var(--fs-control); color:var(--fg-muted); }
.cf-info-row { display:flex; justify-content:space-between; margin-bottom:4px; }
.cf-info-addr { text-align:right; max-width:200px; }
.cf-info-row-last { display:flex; justify-content:space-between; }
.cf-col-price { width:70px; }
.cf-col-qty { width:50px; }
.cf-col-amount { width:80px; }
.cf-total { text-align:right; padding:10px; font-weight:bold; font-size:var(--fs-body-lg); border-top:2px solid var(--border-subtle); }
.cf-notice { background:var(--accent-soft-bg); border:1px solid var(--simple-blue-200); border-radius:8px; padding:10px 14px; margin-top:12px; font-size:var(--fs-label); color:var(--accent-700); }
.cf-warn { background:var(--warning-bg); border:1px solid var(--simple-amber-300); border-radius:8px; padding:9px 12px; margin-top:8px; font-size:12.5px; line-height:1.45; color:var(--warning-fg); }
.cf-actions { display:flex; gap:8px; margin-top:8px; }
.cf-btn-edit, .cf-btn-edit:hover, .cf-btn-edit:focus, .cf-btn-edit:active, .cf-btn-edit:disabled { flex:1; border-color:var(--teacher-copy-500); color:var(--teacher-copy-500); }
.cf-btn, .cf-btn:hover, .cf-btn:focus, .cf-btn:active, .cf-btn:disabled { flex:1; }

/* ── 내 기기 (devices.html) ── */
h2.dv-title { font-size:var(--fs-heading); font-weight:700; margin-bottom:6px; }
.dv-desc { color:var(--fg-muted); font-size:var(--fs-control); margin-bottom:18px; }
.dv-muted { color:var(--fg-muted); }
.dv-quota { margin-bottom:14px; padding:10px 14px; background:var(--accent-50); border:1px solid var(--simple-blue-300); border-radius:8px; font-size:var(--fs-label); color:var(--fg-secondary); }
.dv-quota-count { color:var(--simple-blue-800); }
.dv-list { display:flex; flex-direction:column; gap:10px; }
.dv-row { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; }
.dv-body { flex:1; min-width:0; }
.dv-name { font-weight:600; font-size:var(--fs-body); color:var(--fg-default); }
.dv-current-tag { font-size:var(--fs-micro); padding:2px 8px; background:var(--accent-50); color:var(--simple-blue-600); border-radius:10px; margin-left:6px; font-weight:600; }
.dv-meta { font-size:var(--fs-label); color:var(--fg-faint); margin-top:4px; }
.dv-delete-form { flex-shrink:0; }
.dv-btn-delete, .dv-btn-delete:hover, .dv-btn-delete:focus, .dv-btn-delete:active, .dv-btn-delete:disabled { background:var(--simple-red-50); border:1px solid var(--simple-red-300); color:var(--simple-red-700); }
.dv-empty { color:var(--fg-faint); text-align:center; padding:30px 0; font-size:var(--fs-control); }
.dv-back { margin-top:24px; text-align:center; }
.dv-back-link, .dv-back-link:hover, .dv-back-link:focus, .dv-back-link:active, .dv-back-link:disabled { color:var(--simple-blue-600); font-size:var(--fs-control); }

/* ── 거래처 선택 (agency_picker.html) ── */
.agp-card { padding:24px; }
h2.agp-title { margin-bottom:8px; }
.agp-desc { color:var(--fg-muted); font-size:var(--fs-control); margin-bottom:20px; }
.agp-list { display:grid; gap:12px; }
.agp-head { display:flex; align-items:center; gap:8px; }
.agp-name { font-weight:700; font-size:var(--fs-heading-sm); color:var(--fg-strong); flex:1; }
.agp-recent { background:var(--accent-500); color:var(--fg-inverse); padding:2px 8px; border-radius:4px; font-size:var(--fs-nano); font-weight:600; }
.agp-meta { margin-top:6px; font-size:var(--fs-label); color:var(--fg-muted); }
.agp-group { background:var(--accent-soft-bg); color:var(--accent-700); padding:2px 8px; border-radius:4px; margin-right:6px; }
.agp-recent-box { margin-top:10px; padding-top:10px; border-top:1px solid var(--border-subtle); font-size:var(--fs-label); line-height:1.55; color:var(--fg-muted); }
.agp-strong { font-weight:700; color:var(--fg-strong); }
.agp-gap-left { margin-left:6px; }
.agp-line { margin-top:3px; white-space:normal; }
.agp-help { margin-top:24px; padding:12px; background:var(--bg-subtle); border-radius:8px; font-size:var(--fs-label); color:var(--fg-muted); line-height:1.7; }

/* ── 반품 수거지 조각 (_return_pickup.html) ── */
.rp-section { margin-top:14px; }
.rp-section-title { font-size:var(--fs-control); font-weight:600; color:var(--fg-muted); margin-bottom:8px; }
.rp-tag-default { font-size:var(--fs-micro); color:var(--simple-blue-600); background:var(--accent-50); padding:1px 6px; border-radius:4px; margin-left:4px; }
.rp-custom { margin-top:8px; padding:0 4px; }
.rp-gap-6, .rp-gap-6:hover, .rp-gap-6:focus, .rp-gap-6:active, .rp-gap-6:disabled { margin-bottom:6px; }
.rp-addr-row { display:flex; gap:6px; }
.rp-addr-input, .rp-addr-input:hover, .rp-addr-input:focus, .rp-addr-input:active, .rp-addr-input:disabled { flex:1; }
.rp-tag-recommend { font-size:var(--fs-micro); color:var(--accent-500); background:var(--accent-soft-bg); padding:1px 6px; border-radius:4px; margin-left:4px; }
.rp-date { margin-top:14px; margin-bottom:14px; }
.rp-date-label { font-size:var(--fs-control); font-weight:600; color:var(--fg-muted); display:block; margin-bottom:4px; }
.rp-date-hint { font-size:var(--fs-micro); color:var(--fg-muted); margin-top:4px; }

/* ── 로그인 (landing.html) ── */
.ld-gap-8, .ld-gap-8:hover, .ld-gap-8:focus, .ld-gap-8:active, .ld-gap-8:disabled { margin-top:8px; }
.ld-school-row { display:flex; gap:6px; align-items:center; position:relative; }
.ld-school-input, .ld-school-input:hover, .ld-school-input:focus, .ld-school-input:active, .ld-school-input:disabled { flex:1; }
.ld-school-sug { position:absolute; top:100%; left:0; right:0; z-index:50; background:var(--bg-surface); border:1px solid var(--border-default); border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.15); max-height:240px; overflow-y:auto; }
.ld-school-sug-item { padding:8px 10px; cursor:pointer; font-size:var(--fs-label); border-bottom:1px solid var(--simple-slate-100); line-height:1.4; }
.ld-school-name { font-weight:600; color:var(--fg-default); }
.ld-school-sub { font-size:var(--fs-micro); color:var(--fg-faint); }
.ld-detail { margin-top:10px; }
.ld-label-sub { font-weight:400; color:var(--fg-faint); }
.ld-gap-12, .ld-gap-12:hover, .ld-gap-12:focus, .ld-gap-12:active, .ld-gap-12:disabled { margin-top:12px; }

/* ── 주문 취소 확인 (cancel_confirm.html) ── */
.cc-page { max-width:480px; margin:40px auto; padding:0 16px; }
h2.cc-title { font-size:var(--fs-heading); font-weight:700; margin-bottom:16px; }
.cc-box { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:10px; padding:16px; margin-bottom:16px; }
.cc-label { font-size:var(--fs-control); color:var(--simple-gray-500); margin-bottom:4px; }
.cc-order-no { font-size:var(--fs-body-lg); font-weight:600; }
.cc-label-next { font-size:var(--fs-control); color:var(--simple-gray-500); margin-top:12px; margin-bottom:4px; }
.cc-delivery { font-size:var(--fs-body-lg); }
.cc-items { font-size:var(--fs-body); }
.cc-btn-cancel, .cc-btn-cancel:hover, .cc-btn-cancel:focus, .cc-btn-cancel:active, .cc-btn-cancel:disabled { width:100%; background:var(--danger-500); color:var(--bg-surface); }
.cc-back, .cc-back:hover, .cc-back:focus, .cc-back:active, .cc-back:disabled { display:block; text-align:center; margin-top:12px; font-size:var(--fs-body); color:var(--simple-gray-500); text-decoration:none; }

/* ── 지난달 확인 (month_confirm.html) ── */
.mcf-col-name { width:36%; }
.mcf-col-12 { width:12%; }
.mcf-col-9 { width:9%; }
.mcf-col-10 { width:10%; }
.mcf-th-name { text-align:left; }
.mcf-btn-submit, .mcf-btn-submit:hover, .mcf-btn-submit:focus, .mcf-btn-submit:active, .mcf-btn-submit:disabled { width:100%; margin-top:4px; }
.mcf-btn-return, .mcf-btn-return:hover, .mcf-btn-return:focus, .mcf-btn-return:active, .mcf-btn-return:disabled { display:block; margin-top:8px; }

/* ── 내 기기 · 거래처 선택 — 조건부 모양 ── */
.dv-msg-success { background:var(--simple-green-50); color:var(--simple-green-700); border-color:var(--simple-green-300); }
.dv-msg-error { background:var(--simple-red-50); color:var(--simple-red-700); border-color:var(--simple-red-300); }
.dv-card { background:var(--bg-surface); border:1px solid var(--simple-slate-200); border-radius:10px; padding:14px; }
.dv-card.dv-card-current { border:2px solid var(--simple-blue-600); }
.agp-pick, .agp-pick:hover, .agp-pick:focus, .agp-pick:active, .agp-pick:disabled { background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:12px; width:100%; }
.agp-pick.agp-pick-recent, .agp-pick.agp-pick-recent:hover, .agp-pick.agp-pick-recent:focus, .agp-pick.agp-pick-recent:active, .agp-pick.agp-pick-recent:disabled { border:2px solid var(--accent-500); }

/* ── 공통 뼈대 — 연습·미리보기 띠 (base.html) ── */
.sbase-demo-banner { position:sticky; top:0; z-index:9999; background:var(--simple-amber-600); color:var(--fg-inverse); padding:10px 14px; font-size:var(--fs-body); font-weight:600; display:flex; align-items:center; gap:10px; box-shadow:0 2px 6px rgba(0,0,0,0.15); }
.sbase-demo-reset-form { margin-left:auto; flex-shrink:0; }
.sbase-demo-reset, .sbase-demo-reset:hover, .sbase-demo-reset:focus, .sbase-demo-reset:active, .sbase-demo-reset:disabled { background:var(--bg-surface); color:var(--simple-amber-700); border-radius:5px; font-weight:700; }
.sbase-preview-banner { position:sticky; top:0; z-index:9999; background:var(--danger-500); color:var(--fg-inverse); padding:10px 14px; font-size:var(--fs-body); font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:10px; box-shadow:0 2px 6px rgba(0,0,0,0.15); }
.sbase-preview-actions { display:flex; gap:6px; flex-shrink:0; }
.sbase-preview-demo, .sbase-preview-demo:hover, .sbase-preview-demo:focus, .sbase-preview-demo:active, .sbase-preview-demo:disabled { background:var(--warning-500); color:var(--simple-ink-brown); padding:5px 12px; border-radius:4px; font-size:var(--fs-label); font-weight:700; text-decoration:none; white-space:nowrap; }
.sbase-preview-pick, .sbase-preview-pick:hover, .sbase-preview-pick:focus, .sbase-preview-pick:active, .sbase-preview-pick:disabled { background:var(--bg-surface); color:var(--danger-fg); padding:5px 12px; border-radius:4px; font-size:var(--fs-label); font-weight:700; text-decoration:none; white-space:nowrap; }
.sbase-messages { display:grid; gap:8px; margin:0 0 12px; }

/* ── 주문내역 (order_list.html) ── */
.ol-card { padding:16px; }
.ol-agency { color:var(--warning-fg); }
.ol-date { font-size:var(--fs-label); color:var(--fg-muted); }
.ol-btn-cancel, .ol-btn-cancel:hover, .ol-btn-cancel:focus, .ol-btn-cancel:active, .ol-btn-cancel:disabled { background:var(--danger-bg); border:1px solid var(--simple-red-300); color:var(--danger-500); }
.ol-empty { color:var(--fg-faint); text-align:center; padding:20px; }

/* ── 학교별 문서 (statement.html) ── */
h2.stm-title { font-size:var(--fs-heading); font-weight:700; margin:6px 0 2px; }
.stm-hint-first { margin-top:0; }
.stm-hint-next { margin-top:6px; }
.stm-field-head { display:flex; justify-content:space-between; align-items:center; }
.stm-field-label { font-size:var(--fs-control); font-weight:600; color:var(--fg-default); }

/* ── 사용 안 함 (disabled.html) ── */
.dis-card { background:var(--bg-surface); border:1px solid var(--border-default); border-radius:14px; padding:24px 18px; text-align:center; box-shadow:0 8px 24px var(--bg-overlay); }
.dis-icon { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:999px; background:var(--warning-bg); color:var(--warning-fg); font-size:22px; font-weight:800; margin-bottom:14px; }
h2.dis-title { margin:0; color:var(--fg-strong); font-size:var(--fs-glyph); line-height:1.35; }
.dis-desc { margin:12px 0 0; color:var(--fg-secondary); font-size:var(--fs-body-lg); line-height:1.6; word-break:keep-all; }

/* ── 공통 뼈대 — 알림 (base.html) ── */
.sbase-msg { border:1px solid var(--border-default); border-radius:8px; padding:10px 12px; font-size:var(--fs-control); font-weight:700; line-height:1.45; word-break:keep-all; }
.sbase-msg-success { background:var(--success-bg); color:var(--success-fg); }
.sbase-msg-warning { background:var(--warning-bg); color:var(--warning-fg); }
.sbase-msg-error { background:var(--danger-bg); color:var(--danger-fg); }
.sbase-msg-info { background:var(--info-bg); color:var(--info-fg); }

/* ── 내 정보 — 업체별 배송지 머리 (me.html) ── */
.my-group-head { font-size:var(--fs-label); font-weight:700; color:var(--fg-muted); margin:4px 0 8px; padding-bottom:4px; border-bottom:1px solid var(--border-subtle); }
.my-group-head.my-group-head-next { margin-top:18px; }
