/* 서면 ↔ 기록 맞대 보기 (recside.js) — 넓은 화면은 오른쪽 창, 폰은 아래에서 올라오는 창 */
.rvp { position: fixed; z-index: 58; background: var(--card, #fff); color: var(--text); display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0,0,0,.18); }
.rvp[hidden] { display: none; }
.rvp.side { top: 0; right: 0; bottom: 0; width: var(--rvp-w, 44vw); border-left: 1px solid var(--line-strong); }
.rvp.sheet { left: 0; right: 0; bottom: 0; height: 60vh; height: 60dvh; border-radius: 18px 18px 0 0; transition: height .18s, transform .18s; padding-bottom: env(safe-area-inset-bottom); }
.rvp.sheet.full { height: calc(100dvh - 36px); }
.rvp.drag { transition: none; user-select: none; }
.rvp-grip { flex: none; touch-action: none; }
.rvp.side .rvp-grip { position: absolute; left: -5px; top: 0; bottom: 0; width: 10px; cursor: col-resize; }
.rvp.side .rvp-grip::after { content: ''; position: absolute; left: 4px; top: 50%; width: 2px; height: 44px; margin-top: -22px; border-radius: 2px; background: var(--line-strong); }
.rvp.side .rvp-grip:hover::after, .rvp.drag .rvp-grip::after { background: var(--accent); }
.rvp.sheet .rvp-grip { height: 22px; cursor: grab; position: relative; }
.rvp.sheet .rvp-grip::after { content: ''; position: absolute; left: 50%; top: 8px; width: 40px; height: 5px; margin-left: -20px; border-radius: 3px; background: var(--line-strong); }
.rvp-hd { flex: none; display: flex; align-items: center; gap: 4px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.rvp.sheet .rvp-hd { padding-top: 0; }
.rvp-t { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line-strong); background: none; color: var(--text); border-radius: 10px; padding: 8px 10px; font: inherit; font-size: 14.5px; font-weight: 650; cursor: pointer; text-align: left; min-height: 40px; }
.rvp-t .tt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rvp-t .cv { color: var(--sub); font-size: 12px; }
.rvp-b { flex: none; display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border: 0; border-radius: 10px; background: none; color: var(--sub); font: inherit; font-size: 13.5px; cursor: pointer; text-decoration: none; }
.rvp-b:hover { background: var(--line); }
.rvp-b svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rvp-b[hidden] { display: none; }
.rvp.side .rvp-size { display: none; }
.rvp-v { flex: 1; min-height: 0; position: relative; background: #f4f4f1; }
.rvp-f { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rvp-f[hidden] { display: none; }
.rvp-lock { padding: 30px 16px; color: var(--sub); text-align: center; }
.rvp-pk { flex: none; max-height: 72%; overflow-y: auto; overscroll-behavior: contain; padding: 10px 12px 12px; border-bottom: 1px solid var(--line-strong); background: var(--card, #fff); }
.rvp.picking .rvp-pk { flex: 1; max-height: none; }
.rvp.picking .rvp-v { display: none; }
.rvp-pk[hidden] { display: none; }
.rvp-q { width: 100%; box-sizing: border-box; height: 40px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: transparent; color: var(--text); font: inherit; font-size: 15px; margin-bottom: 8px; }
.rvp-pk .rv-chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.rvp-pk .rv-chip { flex: none; border: 1px solid var(--line-strong); background: none; color: var(--text); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.rvp-pk .rv-chip[aria-pressed="true"] { background: var(--text); color: var(--card, #fff); border-color: var(--text); }
.rvp-note { font-size: 13.5px; color: var(--text); background: var(--accent-soft, rgba(47,59,143,.09)); border-radius: 10px; padding: 9px 11px; margin-bottom: 8px; }
.rvp-gh { margin: 12px 2px 2px; font-size: 13px; font-weight: 700; color: var(--sub); }
.rvp-gh .n { font-weight: 500; }
.rvp-row { display: grid; grid-template-columns: 9px 1fr; column-gap: 10px; align-items: center; width: 100%; padding: 9px 4px; border: 0; border-top: 1px solid var(--line); background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.rvp-row .t { font-size: 14.5px; overflow-wrap: anywhere; }
.rvp-row .m { grid-column: 2; font-size: 12px; color: var(--sub); }
.rvp-row.cur { background: var(--accent-soft, rgba(47,59,143,.09)); }
.rvp-row:hover { background: var(--line); }
.rvp-empty { color: var(--sub); padding: 12px 4px; font-size: 14px; }
.rvp, .rvp-pk { --pl:#c4313b; --df:#2a5fc0; --ct:#6b6390; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .rvp { --pl:#ff8088; --df:#86b2ff; --ct:#ada2dc; } :root:not([data-theme="light"]) .rvp-v { background: #1b1c20; } }
:root[data-theme="dark"] .rvp { --pl:#ff8088; --df:#86b2ff; --ct:#ada2dc; }
.rvp .p-pl { --pc: var(--pl); } .rvp .p-df { --pc: var(--df); } .rvp .p-ct { --pc: var(--ct); }
.rvp .rv-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; box-shadow: inset 0 0 0 1.6px var(--pc, #999); }
.rvp .rv-dot.on { background: var(--pc, #999); box-shadow: none; }
/* 넓은 화면: 기록 창만큼 확인 요청(전체 화면)·쪽을 비켜 둠 */
html.rvp-on .askv.fs { right: var(--rvp-w, 44vw); }
html.rvp-on body { margin-right: var(--rvp-w, 44vw); }
/* 사무실 파일 보기(app.js .fv)도 기록 창만큼 비켜 둠 */
html.rvp-on .fv { right: var(--rvp-w, 44vw); }
/* 서면 위 인용: 밑줄 단추 (글자 고르기와 겹치지 않게 .pg 위에) */
.pg > .rvc { position: absolute; z-index: 3; padding: 0; margin: 0; border: 0; border-bottom: 2px solid var(--accent, #2f3b8f); background: rgba(47,59,143,.07); border-radius: 2px; cursor: pointer; }
.pg > .rvc:hover, .pg > .rvc:focus-visible { background: rgba(47,59,143,.18); outline: none; }
.pg > .rvc.miss { border-bottom-style: dashed; background: transparent; }
/* 법령·판례 인용: 초록 밑줄 (기록 인용은 남색) */
.pg > .rvc.rvc-law, .pg > .rvc.rvc-case { border-bottom-color: #1f8a5b; background: rgba(31,138,91,.07); }
.pg > .rvc.rvc-law:hover, .pg > .rvc.rvc-case:hover { background: rgba(31,138,91,.18); }
/* 의견 칸: 참고로 붙이기 */
.ask-ref { margin: 0 0 6px; }
.ask-ref[hidden] { display: none; }
.rvref-add { border: 1px dashed var(--line-strong); background: none; color: var(--accent); border-radius: 999px; padding: 5px 11px; font: inherit; font-size: 13px; cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pdfbar [data-recs] { font-weight: 650; }
/* 폰: 넓은 화면 안내 한 줄 */
.rvtip { display: flex; align-items: center; gap: 8px; margin: 8px; padding: 8px 10px; border-radius: 12px; background: var(--accent-soft, rgba(47,59,143,.09)); font-size: 13.5px; }
.rvtip span { flex: 1; word-break: keep-all; }
.rvtip button { flex: none; border: 0; background: none; color: var(--accent); font: inherit; font-weight: 650; cursor: pointer; padding: 6px 4px; }
.rvtip .x { color: var(--sub); font-weight: 400; }
/* 사무실 기록 탭 흐름·종류별 보기: 보기 방식은 탭 위 단추가 정함 */
.ecfs-rv .rv-seg { display: none; }
.ecfs-rv .rv { margin-top: 2px; }
