/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:400;display:flex;align-items:flex-end;justify-content:center}
.hidden{display:none!important}
#card-popup-overlay:not(.hidden){display:flex!important}
.modal-overlay.hidden{display:none}
.modal{background:#fff;border-radius:20px 20px 0 0;padding:20px 18px 40px;width:100%;max-width:480px;max-height:92vh;overflow-y:auto}
.modal-title{font-size:17px;font-weight:900;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text3)}
.form-row{margin-bottom:12px}
.form-label{font-size:12px;font-weight:700;color:var(--text2);margin-bottom:4px;display:block}
.form-input{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:9px;font-family:inherit;font-size:14px;color:var(--text);background:#F8FAFC}
.form-input:focus{outline:none;border-color:var(--accent);background:#fff}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.time-row{display:flex;gap:8px;margin-bottom:12px}
.time-sel{flex:1}
.time-inp{flex:2}

/* date-미정 toggle */
.date-toggle{display:flex;gap:8px;margin-bottom:12px}
.date-toggle-btn{flex:1;padding:8px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--text2);text-align:center}
.date-toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

.section-divider{font-size:11px;font-weight:800;color:var(--text3);letter-spacing:1px;margin:14px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.btn-submit{width:100%;padding:13px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;margin-top:8px}
.btn-submit:disabled{background:#94A3B8;cursor:not-allowed}

/* ── AUTO TAB ── */
.auto-tab-btn{flex:1;padding:8px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--text2)}
.auto-tab-btn.auto-tab-active{background:#0F172A;color:#fff;border-color:#0F172A}
/* ── OCR UPLOAD ── */
.ocr-upload-area{border:2px dashed var(--border);border-radius:12px;padding:16px;text-align:center;cursor:pointer;background:#FAFAFA;transition:all .15s;margin-bottom:12px}
.ocr-upload-area:hover{border-color:#2563EB;background:#EFF6FF}
.ocr-upload-area.has-file{border-color:#059669;background:#F0FDF4}
.ocr-upload-area.drag-over{border-color:#2563EB;background:#EFF6FF;transform:scale(1.02)}
#ocr-paste-area:empty:before{content:attr(data-placeholder);color:#94A3B8;pointer-events:none}
#ocr-chat-input:empty:before{content:attr(data-placeholder);color:#94A3B8;pointer-events:none}
.ocr-loading{display:none;text-align:center;padding:16px;font-size:13px;color:#2563EB;font-weight:700}
.ocr-loading.show{display:block}
.ocr-result-banner{display:none;background:#F0FDF4;border:1px solid #BBF7D0;border-radius:10px;padding:10px 14px;font-size:12px;color:#15803D;font-weight:700;margin-bottom:10px}
.ocr-result-banner.show{display:flex;align-items:center;gap:8px}
.install-type-btn{padding:7px 12px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--text2)}
.install-type-btn.it-active{background:#0F172A;color:#fff;border-color:#0F172A}
/* ── 출하지시서 카드 표시 ── */
.dochaso-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#2563EB;text-decoration:none;background:#EFF6FF;padding:4px 10px;border-radius:8px;border:1px solid #BFDBFE}
.blog-check-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.blog-check-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#64748B;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:8px;padding:5px 10px;cursor:pointer;transition:all .15s;user-select:none}
.blog-check-label input{accent-color:#059669;width:14px;height:14px;cursor:pointer}
.blog-check-label.blog-checked{background:#F0FDF4;border-color:#86EFAC;color:#059669}
/* ── AMPM BUTTONS ── */
.ampm-btn{padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;color:var(--text2);flex-shrink:0}
.ampm-btn.ampm-active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ── PAY TYPE BUTTONS ── */
.pay-type-btn{padding:7px 12px;border:1px solid var(--border);border-radius:9px;background:#F8FAFC;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;color:var(--text2)}
.pay-type-btn.pt-active{background:#0F172A;color:#fff;border-color:#0F172A}
