/* Text and cell dimensions follow the shared root font-size preference. */
/* Paper colors are intentional, isolated from the surrounding application theme. */
body.mode-paper .accordion-section, body.mode-paper .group-head, body.mode-paper .group-total, body.mode-paper .text-section { display:none !important; }
#dailyPaper[hidden] { display:none !important; }
#dailyPaper { --paper-ink:#17251f; --paper-line:#85938b; --paper-green:#c7dfbb; --paper-blue:#bbd0ed; --paper-red:#d28585; margin:16px 0 24px; min-width:0; }
#dailyPaper .paper-help { color:var(--text-secondary, #65766c); font-size:0.75rem; line-height:1.8; margin:0 0 0.75rem; }
#dailyPaper .paper-help span { display:block; }
#dailyPaper .paper-scroll { max-width:100%; overflow-x:auto; border-radius:8px; border:1px solid var(--border-color, #d9e1dc); }
#dailyPaper .paper-sheet { background:#fff !important; color:var(--paper-ink) !important; padding:1.75rem; min-width:45rem; color-scheme:light; }
#dailyPaper .paper-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.25rem; }
#dailyPaper .paper-heading > div { flex:0 0 auto; }
#dailyPaper h2 { margin:0 0 0.625rem; color:var(--paper-ink) !important; font-size:1.6875rem; font-weight:800; letter-spacing:0.4375rem; }
#dailyPaper .paper-date { margin:0; font-size:0.8125rem; letter-spacing:1px; white-space:nowrap; }
#dailyPaper table { width:100%; border-collapse:collapse; table-layout:fixed; background:#fff !important; color:var(--paper-ink) !important; }
#dailyPaper th, #dailyPaper td { border:1px solid var(--paper-line) !important; padding:0 !important; background:transparent !important; color:var(--paper-ink) !important; text-align:center; height:2.3125rem; font-size:0.75rem; line-height:1.35; }
#dailyPaper th { font-weight:700; }
#dailyPaper .paper-signatures { width:11.625rem; min-width:0; flex:0 0 11.625rem; }
#dailyPaper .paper-signatures th { height:1.5rem; font-size:0.625rem; }
#dailyPaper .paper-signatures td { height:2.1875rem; }
#dailyPaper thead th { height:1.75rem; font-size:0.6875rem; }
#dailyPaper .paper-plus { color:#c04545 !important; font-size:1.25rem; }
#dailyPaper .paper-minus { color:#3665b5 !important; font-size:1.125rem; }
#dailyPaper .paper-house { writing-mode:vertical-rl; letter-spacing:0.3125rem; }
#dailyPaper .paper-building-start td, #dailyPaper .paper-building-start th { border-top-color:var(--paper-red) !important; }
#dailyPaper .paper-green .paper-prev, #dailyPaper .paper-green .paper-current { background:var(--paper-green) !important; }
#dailyPaper .paper-blue .paper-prev, #dailyPaper .paper-blue .paper-current { background:var(--paper-blue) !important; }
#dailyPaper input, #dailyPaper button, #dailyPaper output { display:block; width:100%; min-width:0; margin:0; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; color:var(--paper-ink) !important; font:inherit; text-align:center; padding:0.5rem 2px !important; height:2.25rem; }
#dailyPaper input[type=number] { appearance:textfield; -moz-appearance:textfield; }
#dailyPaper input::-webkit-inner-spin-button, #dailyPaper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#dailyPaper input:focus, #dailyPaper textarea:focus, #dailyPaper button:focus-visible { outline:2px solid #287959 !important; outline-offset:-2px; background:#f0f8f3 !important; }
#dailyPaper input:disabled { opacity:1; cursor:default; }
#dailyPaper .paper-note input { text-align:left; padding:0.5rem !important; }
#dailyPaper .paper-adjusted::after { content:' *'; color:#925815; }
#dailyPaper .paper-total th, #dailyPaper .paper-total td { background:#edf0ed !important; font-weight:750; border-top-color:var(--paper-red) !important; height:2rem; font-size:0.6875rem; }
#dailyPaper .paper-memos { border:1px solid var(--paper-line); border-top:0; }
#dailyPaper .paper-memos label { display:flex; margin:0; min-height:4.875rem; }
#dailyPaper .paper-memos label + label { border-top:1px solid var(--paper-line); }
#dailyPaper .paper-memos strong { width:6.25rem; flex-shrink:0; display:grid; place-items:center; border-right:1px solid var(--paper-line); font-size:0.75rem; }
#dailyPaper textarea { width:100%; resize:vertical; min-height:4.875rem; margin:0; border:0 !important; border-radius:0 !important; background:#fff !important; color:var(--paper-ink) !important; padding:0.75rem !important; font:inherit; font-size:0.75rem; }
#dailyPaper .paper-yooksung .paper-memos { display:flex; }
#dailyPaper .paper-yooksung .paper-memos label { width:50%; }
#dailyPaper .paper-yooksung .paper-memos label + label { border-top:0; border-left:1px solid var(--paper-line); }
#dailyPaper .paper-footnote { margin:0.75rem 0 0; font-size:0.625rem; color:#65736b; line-height:1.8; }
@media(max-width:600px) {
  #dailyPaper .paper-sheet { padding:1.125rem; }
  #dailyPaper h2 { font-size:1.375rem; letter-spacing:2px; white-space:nowrap; }
  #dailyPaper .paper-date { font-size:0.75rem; letter-spacing:0; }
  .view-switch { flex-wrap:wrap; }
}

/* 사진 여러 장 검토: 날짜 목록에서 한 장을 고르고 원본과 나란히 확인한다. */
.dp-workspace { width:min(1720px, 97vw); max-width:97vw; height:94dvh; max-height:94dvh; }
.dp-workspace .dp-b { padding:16px 20px; }
.dp-workspace .dp-empty { display:grid; gap:8px; text-align:center; padding:32px 18px; margin-bottom:16px; border:1px dashed var(--line-2); border-radius:12px; background:var(--surface); }
.dp-empty b { font-size:1.12rem; }
.dp-empty span { font-size:.84rem; color:var(--ink-soft); }
.dp-workspace .dp-toolbar { gap:8px; }
.dp-workspace .dp-chips { margin-bottom:16px; }
.dp-work { display:grid; grid-template-columns:180px minmax(0,1fr); gap:18px; align-items:start; }
.dp-list { position:sticky; top:0; min-width:0; max-height:62dvh; overflow:auto; }
.dp-list > b { display:block; font-size:.88rem; }
.dp-list-help { display:block; color:var(--ink-soft); font-size:.75rem; margin:4px 0 12px; }
.dp-list-item { display:flex; flex-direction:column; align-items:flex-start; gap:5px; width:100%; min-height:84px; margin:0 0 8px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); text-align:left; cursor:pointer; }
.dp-list-item span, .dp-list-item small { font-size:.74rem; color:var(--ink-soft); }
.dp-list-item b { font-size:.83rem; }
.dp-list-item.on { border:2px solid var(--accent); padding:11px; background:var(--accent-10,var(--surface-3)); }
.dp-list-item.dp-nav-bad small { color:var(--t-red); }
.dp-list-item.dp-nav-saved small { color:var(--t-green); }
.dp-current { min-width:0; }
.dp-review-nav { display:flex; gap:8px; align-items:center; margin-bottom:10px; }
.dp-review-nav > span { flex:1; font-size:.84rem; font-weight:800; color:var(--ink-soft); }
.dp-workspace .dp-day { margin-bottom:0; }
.dp-workspace .dp-item { padding:14px; }
.dp-workspace .dp-ih > b { margin-right:auto; }
.dp-item-summary { font-size:.8rem; line-height:1.6; color:var(--ink-soft); margin-bottom:12px; }
.dp-workspace .dp-pair.dp-with-photo { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
.dp-workspace .dp-photo { border:1px solid var(--line); border-radius:10px; overflow:auto; max-height:55dvh; background:var(--surface); }
.dp-photo-tools { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px; background:var(--surface); position:sticky; top:0; z-index:1; font-size:.78rem; }
.dp-workspace .dp-photo img { position:static; border-radius:0; }
.dp-workspace .dp-table { max-height:55dvh; border:1px solid var(--line); border-radius:8px; }
.dp-workspace .dp-table thead { position:sticky; top:0; z-index:1; background:var(--surface-solid,var(--bg)); }
.dp-workspace .dp-table table { min-width:600px; }
.dp-workspace .dp-table input { min-height:36px; }
.dp-detail { border-top:1px solid var(--line); margin-top:12px; padding-top:10px; }
.dp-detail > summary { cursor:pointer; font-size:.83rem; font-weight:800; color:var(--ink-soft); min-height:32px; }
.dp-workspace .dp-moves { margin-top:0; }
.dp-workspace .dp-save-info { min-width:0; flex:1; }
.dp-workspace [data-dp=batch] { font-size:.83rem; font-weight:800; }
.dp-workspace .dp-review { border:0; padding:7px 0; background:transparent; font-size:.8rem; }
.dp-workspace .dp-why { display:block; font-size:.76rem; }
.dp-workspace .dp-btn { min-height:36px; }
.dp-viewer { width:96vw; height:94dvh; max-height:94dvh; }
.dp-image-scroll { overflow:auto; min-height:0; flex:1; background:var(--surface); }
.dp-image-scroll img { display:block; width:max(100%, 1100px); height:auto; }
@media(max-width:1100px) {
  .dp-work { grid-template-columns:150px minmax(0,1fr); gap:12px; }
  .dp-workspace .dp-pair.dp-with-photo { grid-template-columns:minmax(0,1fr); }
  .dp-workspace .dp-photo { max-height:34dvh; }
}
@media(max-width:700px) {
  .dp-workspace { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; border:0; }
  .dp-workspace .dp-b { padding:10px; }
  .dp-workspace .dp-sub { font-size:.72rem; font-weight:400; }
  .dp-workspace .dp-chips { gap:4px; }
  .dp-workspace .dp-chip { font-size:.72rem; padding:5px 8px; }
  .dp-workspace .dp-cnt { width:100%; margin:4px 0 0; }
  .dp-work { grid-template-columns:minmax(0,1fr); }
  .dp-list { position:static; max-height:none; }
  .dp-list > b, .dp-list-help { display:none; }
  .dp-list [data-dp=nav] { display:flex; overflow-x:auto; gap:8px; }
  .dp-list-item { flex:0 0 155px; margin-bottom:4px; }
  .dp-workspace .dp-item { padding:10px; }
  .dp-workspace .dp-btn, .dp-workspace .dp-date input, .dp-workspace .dp-table input { min-height:44px; }
  .dp-workspace .dp-ih { gap:8px; }
  .dp-workspace .dp-ih > b { width:100%; }
  .dp-workspace .dp-f { padding:10px; gap:8px; }
  .dp-workspace .dp-f > .dp-tools { width:100%; }
  .dp-workspace [data-dp=save] { flex:1; }
  .dp-workspace .dp-why { max-height:3em; overflow:auto; }
  .dp-workspace .dp-review { font-size:.76rem; }
}
@media(min-width:701px) {
  .dp-workspace .dp-review-nav { position:sticky; top:0; z-index:2; padding:7px 0; background:var(--panel,var(--bg)); }
}

/* 전출 칸의 '어디로 갔나' 단추와 그 창 */
.dp-out-go { display:block; width:100%; margin-top:3px; padding:2px 4px; font:inherit; font-size:.68rem; font-weight:700;
  border:1px solid var(--line-2); border-radius:6px; background:var(--surface-3); color:var(--ink-soft); cursor:pointer; }
.dp-out-go.dp-out-need { border-color:var(--accent); color:var(--accent-text,var(--accent)); }
.dp-movedlg { max-width:520px; }
.dp-movedlg .dp-mv { display:flex; gap:6px; align-items:center; margin-bottom:6px; }
.dp-movedlg .dp-mv select { flex:1; min-width:0; }
.dp-movedlg .dp-mv input { width:5.5rem; }
.dp-li-ok { color:var(--ink-soft); }

/* 종이 양식 그대로 — 구분·동·방 을 병합해 왼쪽에 세운다 */
.dp-table th.dp-h-house, .dp-table th.dp-h-dong, .dp-table th.dp-h-room {
  background:var(--surface-3); font-weight:800; white-space:nowrap; text-align:center; }
.dp-table th.dp-h-house { writing-mode:vertical-rl; letter-spacing:.25em; padding:2px; }
.dp-table th.dp-h-room.dp-h-noroom { padding:0; }
.dp-table tr.dp-house-row th, .dp-table tr.dp-house-row td {
  background:var(--surface-2); font-weight:800; border-top:2px solid var(--line-2); }
.dp-table tfoot th, .dp-table tfoot td { border-top:2px solid var(--accent); }

/* 이동 목적지 선택 창 */
.dp-mvf { display:flex; flex-direction:column; gap:4px; margin-bottom:10px; font-size:.82rem; font-weight:700; color:var(--ink-soft); }
.dp-mvf select, .dp-mvf input { font:inherit; font-size:.92rem; font-weight:600; color:var(--ink);
  padding:8px 10px; border:1px solid var(--line-2); border-radius:9px; background:var(--surface); }
.dp-mvf input[readonly] { background:var(--surface-3); }
.dp-mvline { border:1px solid var(--line); border-radius:11px; padding:10px 11px; margin-bottom:10px; background:var(--surface); }
.dp-mvline.dp-mv-need { border-color:var(--accent); }
.dp-mvline-h { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.dp-mvline-h b { flex:1; min-width:0; font-size:.88rem; }

/* 사진 붙여넣기 — 왼쪽 사진, 오른쪽 종이 양식 */
.paper-paste-btn { font:700 14px inherit; cursor:pointer; color:var(--accent-ink); background:var(--accent); border:0; border-radius:999px; padding:8px 16px; margin-left:auto; }
/* 종이 칸 규칙(button{width:100%} · 색 !important)이 이 단추들까지 먹어서 따로 되돌린다.
   그대로 두면 단추가 가로로 늘어나 사진 이름칸이 0 이 되고, 글자색이 종이색이라 안 보인다. */
#dailyPaper .paper-shot-btn, #dailyPaper .paper-paste-go, #dailyPaper .paper-paste-cancel {
  display:inline-block; width:auto; height:auto; flex:none; }
#dailyPaper .paper-shot-btn { color:var(--ink-soft) !important; background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:7px !important; padding:5px 10px !important; }
#dailyPaper .paper-paste-go { color:var(--accent-ink) !important; background:var(--accent) !important; border-radius:10px !important; padding:10px 20px !important; }
#dailyPaper .paper-paste-cancel { color:var(--ink-soft) !important; background:var(--surface) !important; border:1px solid var(--line) !important; border-radius:10px !important; padding:10px 18px !important; }
.paper-paste-btn.on { color:var(--accent-text,var(--accent)); background:var(--surface); border:1px solid var(--line-2); }
.paper-paste-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
#dailyPaper .paper-paste { border:2px dashed var(--line-2); border-radius:14px; background:var(--surface-2); padding:30px 24px; display:grid; place-items:center; gap:11px; text-align:center; margin:0 0 16px; }
#dailyPaper .paper-paste[hidden], #dailyPaper .paper-shot[hidden] { display:none; }   /* display:grid 가 hidden 을 덮어써서 늘 보였다 */
#dailyPaper .paper-paste svg { color:var(--accent); }
#dailyPaper .paper-paste b { font-size:1.0625rem; font-weight:800; color:var(--ink-strong); }
#dailyPaper .paper-paste p { margin:0; font-size:0.8125rem; color:var(--ink-soft); line-height:1.8; }
#dailyPaper .paper-paste kbd { font:700 12px inherit; background:var(--surface-3); border:1px solid var(--line-2); border-radius:6px; padding:2px 7px; color:var(--ink); }
#dailyPaper .paper-paste-row { display:flex; gap:8px; margin-top:2px; }
#dailyPaper .paper-paste-go { font:700 14px inherit; cursor:pointer; color:var(--accent-ink); background:var(--accent); border:0; border-radius:10px; padding:10px 20px; }
#dailyPaper .paper-paste-cancel { font:600 14px inherit; cursor:pointer; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:10px 18px; }
#dailyPaper .paper-paste-or { font-size:0.75rem; color:var(--ink-dim); }
#dailyPaper .paper-pair { display:grid; gap:18px; align-items:start; }
#dailyPaper .paper-pair.paper-with-shot { grid-template-columns:minmax(0,32rem) minmax(0,1fr); }
#dailyPaper .paper-scroll.paper-dim { opacity:.45; }
#dailyPaper .paper-shot { background:var(--surface); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
#dailyPaper .paper-shot-bar { display:flex; align-items:center; gap:8px; padding:9px 12px; border-bottom:1px solid var(--line); background:var(--surface-2); }
#dailyPaper .paper-shot-bar b { flex:1; min-width:0; font-size:0.8125rem; font-weight:700; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#dailyPaper .paper-shot-btn { font:600 12px inherit; cursor:pointer; color:var(--ink-soft); background:var(--surface); border:1px solid var(--line); border-radius:7px; padding:5px 10px; }
#dailyPaper .paper-shot-img { background:#0c1418; padding:14px; display:grid; place-items:center; }
#dailyPaper .paper-shot-img img { display:block; max-width:100%; max-height:36rem; border-radius:3px; }
#dailyPaper .paper-shot.paper-shot-big .paper-shot-img img { max-height:none; }
@media(max-width:900px) {
  #dailyPaper .paper-pair.paper-with-shot { grid-template-columns:minmax(0,1fr); }
  #dailyPaper .paper-shot-img img { max-height:22rem; }
}

/* 금일두수가 음수라 저장을 멈춘 방 (daily-paper.js blockNegative) */
.room-card.neg-error { outline:2px solid var(--bad, #e5484d); outline-offset:2px; }
.room-neg-error { margin-top:6px; color:var(--t-red, var(--bad, #e5484d)); font-size:.88rem; font-weight:700; line-height:1.45; }
