/* 신청폼 (관리자 HTML 폼) 공용 스타일 — 고객 입력 / 관리자 미리보기·상세·인쇄 (2026-09-13) */

.appform { font-size: .93rem; line-height: 1.6; }
.appform table { width: 100%; border-collapse: collapse; margin: 0 0 14px; }
.appform th, .appform td { border: 1px solid #cbd5e1; padding: 8px 10px; vertical-align: middle; }
.appform th { background: #f1f5f9; font-weight: 600; text-align: center; white-space: nowrap; }
.appform td { background: #fff; }
.appform input[type="text"], .appform input[type="email"], .appform input[type="tel"],
.appform input[type="number"], .appform input[type="date"], .appform input[type="url"],
.appform select, .appform textarea {
    width: 100%; max-width: 100%; box-sizing: border-box;
    border: 1px solid #cbd5e1; border-radius: 4px; padding: 6px 8px; font: inherit; background: #fff;
}
.appform textarea { min-height: 80px; resize: vertical; }
.appform input[type="radio"], .appform input[type="checkbox"] { margin: 0 4px 0 0; vertical-align: middle; }
.appform label { display: inline-flex; align-items: center; gap: 4px; margin-right: 14px; cursor: pointer; }
.appform input.is-invalid, .appform select.is-invalid, .appform textarea.is-invalid { border-color: #dc2626; background: #fef2f2; }
.appform input[type="file"] { font-size: .85rem; }
.appform-period { font-size: .85rem; color: #64748b; }
.appform-errors ul { margin: 6px 0 0; padding-left: 18px; }
.appform-hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }

/* 상세(값 채움) — 입력 테두리 제거, 읽기 전용 느낌 */
.appform--filled input[type="text"], .appform--filled input[type="email"], .appform--filled input[type="tel"],
.appform--filled input[type="number"], .appform--filled input[type="date"], .appform--filled input[type="url"],
.appform--filled select, .appform--filled textarea {
    border-color: transparent; background: transparent; padding: 4px 2px; pointer-events: none; color: #111827;
}
.appform--filled textarea { min-height: 0; }
.appform--filled input[type="radio"], .appform--filled input[type="checkbox"] { pointer-events: none; }
.appform--filled input[type="text"]:not([value=""]) { border-bottom: 1px dotted #cbd5e1; }
.appform--filled .appform-files a { color: #1d4ed8; }

/* 관리자 접수 상세 2단 (좁은 화면은 1단) */
.appform-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
@media (max-width: 1100px) { .appform-detail-grid { display: block; } .appform-side { margin-top: 16px; } }
.appform-print-area { overflow-x: auto; }

/* 인쇄 */
@media print {
    .admin-sidebar, .admin-topbar, .appform-side, .appform-actions, .site-header, .site-footer, .subnav, .flash-wrap { display: none !important; }
    .admin-content { margin: 0 !important; padding: 0 !important; }
    .admin-page { padding: 0 !important; }
    .appform-detail-grid { display: block !important; }
    .appform-print-area { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
    .appform th, .appform td { border-color: #000; }
    .appform { font-size: 11pt; }
    body { background: #fff; }
}
