/* ── 매물 상세 '메모' 탭 > 총무팀 공유 (2026-10-22, 방문요양 전용) ── */
.rv-ga-entry { display:flex; }
.rv-ga-open { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border:1px solid #CBD5E1; border-radius:8px; background:#fff; color:#1E293B; font:700 12px/1 'Noto Sans KR',sans-serif; cursor:pointer; transition:background .12s, border-color .12s; }
.rv-ga-open:hover { background:#F8FAFC; border-color:#94A3B8; }
.rv-ga-open:focus-visible { outline:2px solid #1DBF8A; outline-offset:2px; }
.rv-ga-open svg { width:15px; height:15px; color:#12976C; flex:none; }
.rv-ga-open-count { font-style:normal; font-weight:600; font-size:11px; color:#64748B; font-variant-numeric:tabular-nums; }

.rv-ga-backdrop { position:fixed; inset:0; z-index:12500; background:rgba(15,23,42,.45); display:flex; align-items:center; justify-content:center; }
.rv-ga-modal { position:relative; box-sizing:border-box; width:min(760px, 94vw); height:min(820px, 88vh); max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); max-height:calc(100dvh - 16px); background:#fff; border-radius:12px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 20px 50px rgba(15,23,42,.28); font-family:'Noto Sans KR',sans-serif; }
.rv-ga-modal.is-maximized { width:calc(100vw - 16px) !important; height:calc(100vh - 16px) !important; height:calc(100dvh - 16px) !important; }
.rv-ga-head { display:flex; align-items:center; gap:8px; padding:12px 12px 12px 18px; border-bottom:1px solid #E2E8F0; }
.rv-ga-title { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.rv-ga-title strong { color:#0F172A; font:800 15px/1.3 'Noto Sans KR',sans-serif; }
.rv-ga-sub { color:#64748B; font:500 11.5px/1.3 'Noto Sans KR',sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rv-ga-progress { flex:none; color:#64748B; font:700 11.5px/1 'Noto Sans KR',sans-serif; font-variant-numeric:tabular-nums; margin-right:4px; white-space:nowrap; }
.rv-ga-progress.is-complete { color:#12976C; }
.rv-ga-btn { flex:none; display:inline-flex; align-items:center; height:30px; padding:0 12px; border:1px solid #CBD5E1; border-radius:6px; background:#fff; color:#334155; font:700 12px/1 'Noto Sans KR',sans-serif; cursor:pointer; white-space:nowrap; }
.rv-ga-btn:hover { background:#F1F5F9; }
.rv-ga-btn.is-on { background:#1E293B; border-color:#1E293B; color:#fff; }
.rv-ga-btn.is-primary { background:#1DBF8A; border-color:#1DBF8A; color:#fff; }
.rv-ga-btn.is-primary:hover { background:#17A878; border-color:#17A878; }
.rv-ga-btn:disabled { opacity:.6; cursor:progress; }
.rv-ga-close { flex:none; width:32px; height:30px; border:0; border-radius:6px; background:transparent; color:#475569; font-size:20px; line-height:1; cursor:pointer; }
.rv-ga-close:hover { background:#F1F5F9; }
.rv-ga-body { flex:1; min-height:0; overflow:auto; padding:6px 18px 28px; container-type:inline-size; }

/* 보기: 한 줄 = 체크(번호) | 항목 | 내용 */
/* 항목명 열 너비 = 가장 긴 항목명(한 줄). 모든 행이 같은 열을 쓰도록 subgrid */
.rv-ga-list { display:grid; grid-template-columns:30px fit-content(60%) minmax(0,1fr); column-gap:10px; }
.rv-ga-row { grid-column:1 / -1; display:grid; grid-template-columns:subgrid; align-items:start; padding:9px 0; border-bottom:1px solid #EEF0F3; }
@supports not (grid-template-columns:subgrid) { .rv-ga-list { display:block; } .rv-ga-row { grid-template-columns:30px 280px minmax(0,1fr); column-gap:10px; } }
.rv-ga-check { position:relative; display:grid; place-items:center; width:26px; height:26px; margin-top:1px; cursor:pointer; }
.rv-ga-check input { position:absolute; inset:0; margin:0; opacity:0; cursor:pointer; }
.rv-ga-num { display:grid; place-items:center; width:24px; height:24px; box-sizing:border-box; border:1px solid #D5DAE1; border-radius:999px; color:#64748B; font:600 10.5px/1 'Noto Sans KR',sans-serif; font-variant-numeric:tabular-nums; background:#fff; transition:background .12s, border-color .12s, color .12s; }
.rv-ga-check:hover .rv-ga-num { border-color:#1DBF8A; color:#12976C; }
.rv-ga-check input:focus-visible + .rv-ga-num { outline:2px solid #1DBF8A; outline-offset:2px; }
.rv-ga-check input:checked + .rv-ga-num { background:#1DBF8A; border-color:#1DBF8A; color:#fff; font-size:0; }
.rv-ga-check input:checked + .rv-ga-num::before { content:''; width:9px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:translateY(-1px) rotate(-45deg); }
.rv-ga-check input:disabled { cursor:default; }
.rv-ga-label { min-width:0; padding-top:5px; color:#1E293B; font:700 12.5px/1.45 'Noto Sans KR',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rv-ga-link { display:inline-block; margin-left:6px; padding:1px 5px; border-radius:4px; background:#F1F5F9; color:#64748B; font:600 9.5px/1.4 'Noto Sans KR',sans-serif; vertical-align:1px; cursor:help; }
.rv-ga-value { position:relative; display:flex; align-items:flex-start; gap:2px; min-width:0; cursor:text; }
.rv-ga-value textarea { flex:0 1 auto; width:auto; min-width:3em; max-width:100%; display:block; box-sizing:border-box; min-height:30px; margin:0; padding:5px 8px; border:1px solid transparent; border-radius:6px; background:transparent; color:#0F172A; font:500 12.5px/1.5 'Noto Sans KR',sans-serif; resize:none; overflow:hidden; field-sizing:content; white-space:pre-wrap; overflow-wrap:anywhere; outline:none; }
@supports not (field-sizing:content) { .rv-ga-value textarea { flex:1; overflow-y:hidden; } }
.rv-ga-value textarea:hover { background:#F8FAFC; }
.rv-ga-value textarea:focus { border-color:#94A3B8; background:#fff; }
.rv-ga-value textarea[readonly] { cursor:default; }
.rv-ga-value textarea[readonly]:hover { background:transparent; }
.rv-ga-value textarea::placeholder { color:#B4BCC6; font-weight:500; }
.rv-ga-value.is-blank textarea::placeholder { color:#E5484D; opacity:.75; }
.rv-ga-unit { flex:none; padding-top:6px; color:#94A3B8; font:500 11.5px/1.5 'Noto Sans KR',sans-serif; }
.rv-ga-row.is-done .rv-ga-label { color:#64748B; }
.rv-ga-empty { padding:32px 12px; color:#64748B; font-size:12.5px; text-align:center; }
@container (max-width:480px) { .rv-ga-list { grid-template-columns:30px minmax(0,1fr); } .rv-ga-label { white-space:normal; overflow-wrap:anywhere; } .rv-ga-value { grid-column:2; } }

/* 항목 편집 */
.rv-ga-hint { margin:10px 0 8px; color:#64748B; font-size:11.5px; line-height:1.55; }
.rv-ga-elist { position:relative; border-top:1px solid #EEF0F3; }
.rv-ga-erow { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid #EEF0F3; background:#fff; }
.rv-ga-erow.is-drag-source { opacity:.3; }
.rv-ga-handle { flex:none; display:grid; place-items:center; width:20px; height:30px; color:#94A3B8; cursor:grab; touch-action:none; user-select:none; }
.rv-ga-handle svg { width:9px; height:9px; }
.rv-ga-erow:hover .rv-ga-handle { color:#475569; }
.rv-ga-elabel { flex:1 1 180px; min-width:0; height:30px; box-sizing:border-box; padding:0 8px; border:1px solid #E2E8F0; border-radius:6px; color:#0F172A; font:600 12.5px/1 'Noto Sans KR',sans-serif; outline:none; }
.rv-ga-elabel:focus, .rv-ga-elink:focus { border-color:#94A3B8; }
.rv-ga-elink { flex:0 1 210px; min-width:0; height:30px; box-sizing:border-box; padding:0 6px; border:1px solid #E2E8F0; border-radius:6px; background:#fff; color:#334155; font:500 12px/1 'Noto Sans KR',sans-serif; outline:none; cursor:pointer; }
.rv-ga-edel { flex:none; width:26px; height:26px; padding:0; border:0; border-radius:6px; background:transparent; color:#94A3B8; font-size:16px; line-height:1; cursor:pointer; }
.rv-ga-edel:hover, .rv-ga-edel:focus-visible { color:#D92D20; background:#FEF3F2; outline:none; }
.rv-ga-add { margin-top:10px; height:32px; padding:0 12px; border:1px dashed #CBD5E1; border-radius:8px; background:#fff; color:#475569; font:700 12px/1 'Noto Sans KR',sans-serif; cursor:pointer; }
.rv-ga-add:hover { border-color:#1DBF8A; color:#12976C; }
.rv-ga-drop-line { position:absolute; left:0; right:0; height:2px; margin-top:-1px; background:#ed3434; border-radius:2px; pointer-events:none; display:none; z-index:3; }
.rv-ga-drop-line.is-on { display:block; }
body.rv-ga-sorting, body.rv-ga-sorting * { cursor:grabbing !important; user-select:none; }
body.rv-ga-resizing, body.rv-ga-resizing * { cursor:nwse-resize !important; user-select:none; }

/* 크기 조절 (자료실 뷰어와 같은 손잡이) */
.rv-ga-resize { position:absolute; right:0; bottom:0; z-index:4; width:28px; height:28px; border-radius:8px 0 10px 0; background:rgba(255,255,255,.92); border-left:1px solid #E2E8F0; border-top:1px solid #E2E8F0; cursor:nwse-resize; touch-action:none; }
.rv-ga-resize::after { content:''; position:absolute; right:6px; bottom:6px; width:12px; height:12px; background:repeating-linear-gradient(135deg,transparent 0 3px,#64748B 3px 5px,transparent 5px 8px); clip-path:polygon(100% 0,100% 100%,0 100%); }
.rv-ga-resize:focus-visible { outline:3px solid #475569; outline-offset:-3px; }
.rv-ga-modal.is-maximized .rv-ga-resize { display:none; }
@media (max-width:640px) { .rv-ga-head { flex-wrap:wrap; } .rv-ga-title { flex-basis:100%; } }
