@media (max-width: 768px), (pointer: coarse) and (max-width: 1100px) {
    .settle-input-panel {
        padding: 14px !important;
    }
    
    .settle-sido-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    
    .settle-label-row {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    
    .settle-label-row button {
        width: 100% !important;
        justify-content: center !important;
    }
    
    .settle-lookup-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    
    .settle-lookup-row > div > input { height: auto !important; }   /* [1020 요청장부 183] 넓은 화면의 칸 38px 맞춤(style_06)을 폰에선 풀어 손가락 칸 그대로 - [조회] 는 아래 줄 홀로 */
    .settle-lookup-row button {
        grid-column: span 2 !important;
        width: 100% !important;
        margin-top: 4px !important;
        height: 44px !important;
    }
    
    .settle-grid-2, .settle-grid-2-equal {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }
    
    .settle-rates-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }

    .content input,
    .content select,
    .content textarea {
        font-size: 16px !important;
    }
    .content label {
        font-size: 14px !important;
    }
    .content p,
    .content li {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }
    .content .tab {
        font-size: 14px !important;
    }
    .content button {
        font-size: 14px !important;
    }
    .content h2,
    .content .card-title {
        font-size: 19px !important;
    }
    .content h3 {
        font-size: 17px !important;
    }

    .settings-group-btn { flex: 1 1 45%; justify-content: center; }
}

@media (pointer: coarse) and (max-width: 1100px) {
    .settings-table.sticky-cols td.match-customers-cell { max-width: 104px; }
}

@media (max-width: 640px) {
    #view-listing-register .premium-search { flex: 1 1 100%; }
    #view-listing-register #list-filter-danji-group > select,
    #view-listing-register #list-filter-sort-group > select { flex: 1 1 auto; }
    #view-listing-register div:has(> #list-reg-address),
    #view-listing-register div:has(> #list-reg-danji-select) { flex-wrap: wrap; }
    #view-listing-register #list-reg-address,
    #view-listing-register #list-reg-danji-select { flex: 1 1 100% !important; min-width: 0; }
    #view-listing-register div:has(> #list-reg-danji-select) > span { flex: 1 1 100% !important; flex-wrap: wrap; }
}
#view-listing-register div:has(> #list-reg-address),
#view-listing-register div:has(> #list-reg-danji-select) { flex-wrap: wrap; }
#view-listing-register #list-reg-address,
#view-listing-register #list-reg-danji-select { min-width: 110px; }

@media (max-width: 1023px) {
    #settle-mobile-summary.on { display: block; }
    #view-settlement { padding-bottom: 76px; }
}

@media (max-width: 900px) {
    #view-settlement .settle-top-row {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px !important;
    }
}

@media print {
  body * { visibility: hidden; }
  #view-briefing, #view-briefing * { visibility: visible; }
  #view-briefing { position:absolute; left:0; top:0; width:100%; background:var(--c-paper) !important; color:var(--c-paper-ink) !important; }
  #view-briefing .bf-noprint, #view-briefing #bf-bar, #view-briefing .bf-src, #view-briefing summary { display:none !important; }
  #view-briefing input, #view-briefing textarea, #view-briefing select { border:none !important; background:transparent !important; color:var(--c-paper-ink) !important; -webkit-appearance:none; appearance:none; }
  #view-briefing .bf-table th, #view-briefing .bf-table td { color:var(--c-paper-ink) !important; background:var(--c-paper) !important; border-bottom:1px solid var(--c-gray-4) !important; }
  #view-briefing .bf-sec { break-inside: avoid; border-color:var(--c-gray-4) !important; }
  #view-briefing .bf-sec > div:first-child { background:#eee !important; }
  #view-briefing .bf-sec > div:first-child b { color:var(--c-paper-ink) !important; }
  #view-briefing details { display:block; } #view-briefing details > * { display:block; }

    #view-briefing .bf-attach figure { break-inside: avoid; border-color:var(--c-gray-4) !important; }

  #view-briefing .bf-flow-step { border-color:var(--c-gray-4) !important; background:var(--c-paper) !important; color:var(--c-paper-ink) !important; break-inside:avoid; }
  #view-briefing .bf-band { border:1px solid var(--c-gray-4); background:transparent !important; color:var(--c-paper-ink) !important; }
  #view-briefing .bf-band select, #view-briefing .bf-band input { font-weight:var(--w-strong); }
  #view-briefing #bf-cases-map { height:360px !important; }
  #view-briefing .bf-att-place { break-inside:avoid; }
}

.list-reg-main-deposit-group { margin-top: 8px; font-size: 11px; color: var(--text-secondary); }
.list-reg-main-deposit-group select,
.list-reg-main-deposit-group input { padding: 6px 8px; background: var(--c-ink-deep); border: 1px solid var(--c-line-soft); color: var(--c-white); border-radius: 6px; font-size: 12px; box-sizing: border-box; outline: none; }
.list-reg-unit-terms-help { color: var(--text-muted); font-size: 11px; margin-bottom: 3px; }
.list-reg-unit-term { display: flex; gap: 4px; align-items: center; margin: 2px 0; }
.list-reg-unit-term label { min-width: 110px; font-size: 11.5px; }
.list-reg-unit-term input { width: 90px; }
.list-reg-pay-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 11.5px; color: var(--text-secondary); }
.list-reg-pay-head:empty { display: none; }
.list-reg-pay-head select,
.list-reg-pay-head input { padding: 6px 8px; background: var(--c-ink-deep); border: 1px solid var(--c-line-soft); color: var(--c-white); border-radius: 6px; font-size: 12px; outline: none; }
.list-reg-pay-head-none { flex: 1 1 260px; min-width: 0; color: var(--text-muted); }
.list-reg-pay-date { display: inline-flex; gap: 6px; align-items: center; margin-left: auto; white-space: nowrap; }
.list-reg-pay-date label { cursor: help; }
.list-reg-pay-group-slot label { display: block; color: var(--text-secondary); margin-bottom: 6px; font-size: 12px; white-space: nowrap; }
.list-reg-pay-group-slot select { width: 100%; height: 40px; padding: 0 8px; background: var(--c-ink); border: 1px solid var(--c-line-mid); border-radius: 6px; outline: none; box-sizing: border-box; }

.trash-box-head-btn { margin-left: 6px; }
.trash-box-overlay { display: none; position: fixed; inset: 0; z-index: 9000; background: rgba(var(--rgb-ink), 0.6); align-items: center; justify-content: center; padding: 16px; }
.trash-box-card { background: var(--c-ink); color: var(--c-text-calm); border: 1px solid var(--c-line-soft); border-radius: 10px; padding: 14px; width: min(760px, 100%); max-height: 80vh; overflow: auto; }
.trash-box-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.trash-box-note { color: var(--c-text-dim); font-size: 12px; margin: 6px 0; }
.trash-box-table { border-collapse: collapse; font-size: 12px; width: 100%; margin-top: 6px; }
.trash-box-table td { padding: 4px 6px; border-bottom: 1px solid var(--c-ink-2); }
.trash-box-date { color: var(--c-text-mute); white-space: nowrap; }
.trash-box-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }   /* [1022 H24] [되살리기] 옆 찾기 칸 한 줄 */
.trash-box-find { flex: 1; min-width: 180px; padding: 5px 8px; background: var(--c-ink); color: var(--c-text-calm); border: 1px solid var(--c-line-mid); border-radius: 5px; font-size: 12px; }

.ao-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.ao-bar__title { margin: 0; font-size: 16px; font-weight: var(--w-strong); }
.ao-bar__pick { padding: 4px 8px; }
.ao-bar__btn { padding: 4px 10px; width: auto; flex: none; }
.ao-desc { font-size: 12px; color: var(--c-text-dim); margin-bottom: 10px; }
.ao-empty { padding: 20px; color: var(--c-text-dim); }
.ao-board { border: 1px solid var(--c-line-soft); border-radius: 8px; padding: 12px; margin-bottom: 14px; }
.ao-board__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 8px; }
.ao-board__title { font-size: 15px; font-weight: var(--w-strong); }
.ao-board__basis { font-size: 12px; color: var(--c-text-dim); }
.ao-board__foot { font-size: 11.5px; color: var(--c-text-dim); margin-top: 8px; }
.ao-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 10px; font-size: 11.5px; }
.ao-legend__item { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.ao-legend__swatch { display: inline-block; width: 12px; height: 12px; border-radius: 2px; border: 1px solid var(--c-line-soft); vertical-align: -1px; margin-right: 5px; flex: none; }
.ao-legend__item .ao-legend__swatch { margin-right: 0; }
.ao-map-wrap { overflow-x: auto; max-width: 100%; }
.ao-map { --ao-tile-w: 64px; display: grid; grid-auto-rows: 44px; gap: 2px; width: max-content; }
.ao-tile { box-sizing: border-box; border: 1px solid transparent; border-radius: 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 11px; line-height: 1.2; overflow: hidden; }
.ao-tile__name { font-weight: var(--w-strong); white-space: nowrap; }
.ao-tile__val { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ao-tile--none { border-style: dashed; border-color: var(--c-line-soft); }
.ao-tables { display: flex; flex-wrap: wrap; gap: 16px; }
.ao-table { flex: 1; min-width: 280px; max-width: 100%; }
.ao-table__title { font-weight: var(--w-strong); margin-bottom: 6px; }
.ao-table__scroll { overflow-x: auto; max-height: 520px; overflow-y: auto; }
.ao-table table { border-collapse: collapse; font-size: 12px; width: 100%; }
.ao-table th { text-align: left; padding: 4px 6px; border-bottom: 1px solid var(--c-line-soft); position: sticky; top: 0; background: var(--c-ink); }
.ao-table td { padding: 3px 6px; }
.ao-table__name { white-space: nowrap; }
.ao-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ao-row--ours { font-weight: var(--w-medium); outline: 1px solid var(--c-heat-ours); outline-offset: -1px; }
@media (max-width: 600px) {
    .ao-map { --ao-tile-w: 44px; grid-auto-rows: 34px; gap: 1px; }
    .ao-tile { font-size: 9.5px; }
    .ao-board { padding: 8px; }
    .ao-table { min-width: 0; flex-basis: 100%; }
}
