@media print {
  #printArea, #printArea * {
    visibility: visible;
  }

  #printArea {
    display: block;
    top: 0;
    left: 100px;
    width: 100%;
  }

  button {
    display: none;
  }

  table {
    table-layout: fixed;   /* 셀 너비를 균등 분배 */
    word-wrap: break-word; /* 오래된 브라우저 호환 */
    width: 100%;           /* 페이지 폭 맞추기 */
  }

  th, td {
    white-space: normal !important; /* 줄바꿈 허용 */
    overflow-wrap: break-word;      /* 긴 단어 줄바꿈 */
    word-break: break-all;          /* 숫자·코드 강제 줄바꿈 */
    padding: 2px 4px;               /* 여백 최소화 */
    font-size: 10px;                /* 글자 줄여서 맞추기 */
    box-sizing: border-box;
  }

  .bill-grid{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  /* Bill Print */
  .bill-container {margin: 20px auto;border: 1px solid #1c74b5;padding: 10px;background: #ffffff;}
  .horizontal-group {display: flex;justify-content: space-between;gap: 5px; margin: 10px 0;}

  .section-title {font-size: 15px;font-weight: bold;color: #0073cf; text-align: center;}
  .section-left {width: 25%; margin-right: 10px;}
  .section-right {width: 75%;}

  .bill-section { }
  .bill-table {width: 100%;border-collapse: collapse;margin-top: 5px;}

  .bill-table th, .bill-table td {border: 1px solid #5b8db5 !important;padding: 1px;font-size: 10px;text-align: center;height: 21px;}
  .bill-table th {color: #06357c;}

  .bill-table-red {width: 100%;border-collapse: collapse;margin-top: 5px;}
  .bill-table-red th,
  .bill-table-red td {border: 1px solid #db3636;padding: 3px;font-size: 10px;text-align: center;height: 22px;}
  .bill-table-red th {color: #d81f0a;}

  .bill-table td[data-format="currency"],
  .bill-list td[data-format="currency"],
  .table-list td[data-format="currency"],
  .table-view td[data-format="currency"] {text-align: right; white-space: nowrap; padding-right: 5px;}

  .bill-grid {height: 95px; display:grid; grid-template-columns: 35% 31% 32%; align-items:start; column-gap:5px; border:0;}
  .bill-grid img {max-width:none; height:auto;}

  .bill-grid .notice {font-size:11px; font-weight:700; display: grid; align-self: stretch;}
  .bill-grid .notice.red {color:#d81f0a;}
  .bill-grid .notice.blue {color:#0073cf;}
  .bill-grid .notice span {display:block;}
  .bill-grid .notice .hold {color:#0073cf; align-self: end;}

  .bill-grid .receipt {align-self: end;}
  .bill-grid .receipt .title {display:block; text-align:center; color:#0073cf; font-size:11px; font-weight:700; padding: 5px 0 0;}
  .bill-grid .receipt .hold {color:#0073cf;}
  .bill-grid .receipt .date {position: relative; text-align:center; padding: 5px 0 0;}
  .bill-grid .receipt .date .num {width: 130px; color:#000000; font-size:12px; justify-self:center;}
  .bill-grid .receipt .date .text {color:#0073cf; font-size:12px; font-weight:700; margin: 0 5px;}
  .bill-grid .receipt .seal {position: absolute; width:55px; height:55px; z-index: 3; top: 35px; right: -16px; object-fit:contain;}
  .bill-grid .receipt .mayor {display:block; color:#0073cf; font-size:20px; font-weight:800; margin:14px 0 0; white-space:nowrap; letter-spacing:.6px; word-spacing:6px;}

  .bill-grid .cashier {display: grid; align-self: end;}
  .bill-grid .cashier .circle {display:inline-grid; place-items:center; color:#0073cf; font-size:12px; font-weight:700; width: 50px; height: 50px; border-radius: 50%; border:1px dashed #0073cf; margin: 0 0 0 25px;}

  .bill-grid.left {height: 112px; display:grid; grid-template-columns: 74% 23%; align-items:end; column-gap:5px; border:0;}
  .bill-grid.left .receipt .date {position: relative; text-align:center;}
  .bill-grid.left .cashier .circle {display:inline-grid; place-items:center; color:#0073cf; font-size:12px; font-weight:700; width: 50px; height: 50px; border-radius: 50%; border:1px dashed #0073cf; margin: 0 0 0 -7px;}

  .peorid-notice {text-align: end; font-size: 11px; padding: 5px 0; color: #0073cf;}

  .red-back {border: 1px solid #db3636 !important;background-color: #ffdddd;color: #983020 !important;}
  .blue-back {border: 1px solid #366adb !important;background-color: #daf3ff;color: #203c98;}

  .red-text {color: #d81f0a; font-weight: normal; font-size: 12px;}
  .blue-text {color: #0073cf;}

  .half {width: 49%;}
  .two-third {width: 65%;}
  .one-third {width: 35%;}

  .sum-row {background: #f9f9f9;color: #000000;font-weight: bold;font-size: 12px !important;}

  .ocr-section {border: 2px solid #db3636;border-radius: 5px;text-align: center;font-size: 12px;}
  .ocr-section p {padding: 5px 0;margin: 0;}
  .ocr-section span {display: grid;text-align: end;color: #d81f0a;font-size: 8px;padding: 0 7px;}
  .ocr-section hr.hr-solid {display: block;width: 96%;height: 0;border: 0;justify-self: center;border-top: 1px solid #db3636;}

  /* Confirm Print */
  table {border-collapse: collapse;border: 1px solid #dcdcdc;}
  .ac {text-align: center !important;}
  table.table-view {width: 100%;cursor: default;}
  table.table-view.top-bordered {border-top: 2px solid #777777;border-bottom: 2px solid #dcdcdc;}
  table.table-view tbody tr > th,
  table.table-view tbody tr > td,
  table.table-view tfoot tr > th,
  table.table-view tfoot tr > td {font-weight: normal;text-align: center;padding: 8px;border: 1px solid #dcdcdc;}
  table.table-view tbody tr:last-child > th,
  table.table-view tbody tr:last-child > td {border-bottom: 0;}
  table.table-view tbody tr > th {background-color: #f9f9f9;font-weight: bold;}
  table.table-view tbody .total {background-color: #fff6a5;}
  table.table-view tfoot tr > th,
  table.table-view tfoot tr > td {background-color: #fff6a5;border-top: 1px solid #a4a4a4;}
  table.table-view tfoot tr > th {font-weight: bold;}
  table.table-view + table.table-view tbody tr:first-child > th,
  table.table-view + table.table-view tbody tr:first-child > td {border-top: 0;}
  table.table-view.strong {width: 100%;cursor: default;}
  table.table-view.strong tbody tr > td {font-weight: normal;text-align: left;padding: 6px 10px;border: 1px solid #adc7e5;}
  table.table-view.strong tbody tr > th,
  table.table-view.strong tbody tr > th {background-color: #e5f0fe;}
  table.table-view.strong tbody tr > td {background-color: #f8fbff;}

  table.table-list {width: 100%;cursor: default;border-bottom: 2px solid #dcdcdc;}
  table.table-list tr > th,
  table.table-list tr > td {font-weight: normal;text-align: center;padding: 8px;line-break: auto;word-break: keep-all;white-space: pre-wrap;}
  table.table-list tbody tr > th,
  table.table-list tbody tr > td {border: 1px solid #dcdcdc;border-top: 0;text-align: center;}
  table.table-list.no-line tbody tr > th,
  table.table-list.no-line tbody tr > td {border: 0;border-bottom: 1px solid #dcdcdc;}
  table.table-list thead tr {border-top: 2px solid #777777;border-bottom: 1px solid #dcdcdc;}
  table.table-list thead tr > th {background-color: #f9f9f9;border: 1px solid #dcdcdc;border-bottom: 0;font-weight: bold;}
  table.table-list.no-line thead tr > th {background-color: #fff;border: 0;border-bottom: 1px solid #a4a4a4;}
  table.table-list tbody tr > th {background-color: #f9f9f9;}
}

/* Confirm */
.confirm table {border-collapse: collapse;border: 1px solid #dcdcdc;}
.confirm table.ac {text-align: center !important;}
.confirm table.table-view {width: 100%;cursor: default;}
.confirm table.table-view.top-bordered {border-top: 2px solid #777777;border-bottom: 2px solid #dcdcdc;}
.confirm table.table-view tbody tr > th,
.confirm table.table-view tbody tr > td,
.confirm table.table-view tfoot tr > th,
.confirm table.table-view tfoot tr > td {font-weight: normal;text-align: center;padding: 8px;border: 1px solid #dcdcdc;}
.confirm table.table-view tbody tr:last-child > th,
.confirm table.table-view tbody tr:last-child > td {border-bottom: 0;}
.confirm table.table-view tbody tr > th {background-color: #f9f9f9;font-weight: bold;}
.confirm table.table-view tbody .total {background-color: #fff6a5;}
.confirm table.table-view tfoot tr > th,
.confirm table.table-view tfoot tr > td {background-color: #fff6a5;border-top: 1px solid #a4a4a4;}
.confirm table.table-view tfoot tr > th {font-weight: bold;}
.confirm table.table-view + table.table-view tbody tr:first-child > th,
.confirm table.table-view + table.table-view tbody tr:first-child > td {border-top: 0;}
.confirm table.table-view.strong {width: 100%;cursor: default;}
.confirm table.table-view.strong tbody tr > td {font-weight: normal;text-align: left;padding: 6px 10px;border: 1px solid #adc7e5;}
.confirm table.table-view.strong tbody tr > th,
.confirm table.table-view.strong tbody tr > th {background-color: #e5f0fe;}
.confirm table.table-view.strong tbody tr > td {background-color: #f8fbff;}

.confirm table.table-list {width: 100%;cursor: default;border-bottom: 2px solid #dcdcdc;}
.confirm table.table-list tr > th,
.confirm table.table-list tr > td {font-weight: normal;text-align: center;padding: 8px;line-break: auto;word-break: keep-all;white-space: pre-wrap;}
.confirm table.table-list tbody tr > th,
.confirm table.table-list tbody tr > td {border: 1px solid #dcdcdc;border-top: 0;text-align: center;}
.confirm table.table-list.no-line tbody tr > th,
.confirm table.table-list.no-line tbody tr > td {border: 0;border-bottom: 1px solid #dcdcdc;}
.confirm table.table-list thead tr {border-top: 2px solid #777777;border-bottom: 1px solid #dcdcdc;}
.confirm table.table-list thead tr > th {background-color: #f9f9f9;border: 1px solid #dcdcdc;border-bottom: 0;font-weight: bold;}
.confirm table.table-list.no-line thead tr > th {background-color: #fff;border: 0;border-bottom: 1px solid #a4a4a4;}
.confirm table.table-list tbody tr > th {background-color: #f9f9f9;}

/* Common */
body {margin: 0;padding: 0;font-family: 'Malgun Gothic', sans-serif;background: #fff;}

.w5p {width: 5% !important;}
.w6p {width: 6% !important;}
.w7p {width: 7% !important;}
.w8p {width: 8% !important;}
.w9p {width: 9% !important;}
.w10p {width: 10% !important;}
.w12p {width: 12% !important;}
.w13p {width: 13% !important;}
.w14p {width: 14% !important;}
.w15p {width: 15% !important;}
.w16p {width: 16% !important;}
.w17p {width: 17% !important;}
.w18p {width: 18% !important;}
.w20p {width: 20% !important;}
.w21p {width: 21% !important;}
.w23p {width: 23% !important;}
.w25p {width: 25% !important;}
.w27p {width: 27% !important;}
.w29p {width: 29% !important;}
.w30p {width: 30% !important;}
.w31p {width: 31% !important;}
.w33p {width: 33% !important;}
.w35p {width: 35% !important;}
.w40p {width: 40% !important;}
.w42p {width: 42% !important;}
.w47p {width: 47% !important;}
.w50p {width: 50% !important;}
.w60p {width: 60% !important;}
.w65p {width: 65% !important;}
.w70p {width: 70% !important;}
.w85p {width: 85% !important;}
.w100p {width: 100% !important;}

.h18 {height: 18px !important;}
.h20 {height: 20px !important;}
.h23 {height: 23px !important;}
.h35 {height: 35px !important;}
.h95 {height: 95px !important;}
.h300 {height: 300px !important;}
.h330 {height: 330px !important;}
.h375 {height: 375px !important;}
.h400 {height: 400px !important;}
.h450 {height: 450px !important;}

.mh-100 {max-height: 100px;}
.mh-150 {max-height: 150px;}
.mh-200 {max-height: 200px;}
.ofy-at {overflow-y: auto;}

.taR {text-align: right !important;}
.taL {text-align: left !important;}
.taC {text-align: center !important;}

.bd-r-blue-none {border-right: 1px solid #daf3ff !important;}
.bd-r-red-none {border-right: 1px solid #ffdddd !important;}

.bd-red-2 {border: 2px solid #db3636 !important;}
.bd-tlb-red-2 {border-top: 2px solid #db3636 !important;  border-left: 2px solid #db3636 !important;  border-bottom: 2px solid #db3636 !important;}
.bd-trb-red-2 {border-top: 2px solid #db3636 !important;  border-right: 2px solid #db3636 !important;  border-bottom: 2px solid #db3636 !important;}
.bd-t-red-2 {border-top: 2px solid #db3636 !important;}
.bd-r-red-2 {border-right: 2px solid #db3636 !important;}
.bd-b-red-2 {border-bottom: 2px solid #db3636 !important;}
.bd-l-red-2 {border-left: 2px solid #db3636 !important;}
.bd-r-blue {border-right: 1px solid #5b8db5 !important;}

.bd-br-1 {border-top: 1px solid #dcdcdc !important; border-bottom: 1px solid #dcdcdc !important;}
.bd-br-2 {border-top: 2px solid #777777 !important; border-bottom: 1px solid #dcdcdc !important;}
.bd-t-br-1 {border-top: 1px solid #dcdcdc !important;}
.bd-t-br-2 {border-top: 2px solid #777777 !important;}

.bd-r-none {border-right: 1px solid #ffffff !important;}
.bd-l-none {border-left: 1px solid #ffffff !important;}
.bd-b-none {border-bottom: 1px solid #ffffff !important;}
.bd-0 {border-right: 0 !important;}
.bt-dash-2 {border-top: 2px dashed #dcdcdc !important;}
.bd-none {border: 0 !important;}

.pt-55 {padding-top: 55px !important;}
.pt-30 {padding-top: 30px !important;}

.ls--3 {letter-spacing: -3px !important;}
.ls-1 {letter-spacing: 1px !important;}

.lh-22 {line-height: 23px !important;}
.lh-23 {line-height: 23px !important;}

.tl-auto {table-layout: auto !important;}
.tl-fixed {table-layout: fixed !important;}

.fs-8 {font-size: 8px !important;}
.fs-9 {font-size: 9px !important;}
.fs-10 {font-size: 10px !important;}
.fs-11 {font-size: 11px !important;}
.fs-12 {font-size: 12px !important;}
.fs-13 {font-size: 13px !important;}
.fs-14 {font-size: 14px !important;}
.fs-15 {font-size: 15px !important;}
.fs-16 {font-size: 16px !important;}
.fs-17 {font-size: 17px !important;}
.fs-18 {font-size: 18px !important;}
.fs-19 {font-size: 19px !important;}
.fs-20 {font-size: 20px !important;}

.fw-b {font-weight: bold;}

.mb-5 {margin-bottom: 5px !important;}
.mb-10 {margin-bottom: 10px !important;}
.mb-20 {margin-bottom: 20px !important;}
.mb-40 {margin-bottom: 40px !important;}
.m-30-0 {margin: 30px 0 !important;}

.mt-10 {margin-top: 10px !important;}
.mt-11 {margin-top: 11px !important;}
.mt-12 {margin-top: 12px !important;}
.mt-13 {margin-top: 13px !important;}
.mt-14 {margin-top: 14px !important;}
.mt-15 {margin-top: 15px !important;}
.mt-18 {margin-top: 18px !important;}
.mt-20 {margin-top: 20px !important;}
.mt-25 {margin-top: 25px !important;}
.mt-30 {margin-top: 30px !important;}
.mt-40 {margin-top: 40px !important;}

table.table-list.ac thead tr {border-top: 1px solid #dcdcdc;border-bottom: 1px solid #dcdcdc;}
table.table-list.ac tr > th {font-weight: bold;text-align: center;padding: 8px 10px;}
table.table-list.ac tr > td {text-align: center;padding: 8px 10px;}

.cus {cursor:pointer !important; background-color:#ffffff !important;}

.dp-none {display: none}

.ofx-sc {overflow-x: scroll;}
.ofy-sc {overflow-y: scroll; box-shadow: inset 0 1px 0 #dcdcdc;}

.sticky-top {border-collapse: collapse;}
.sticky-top th {position: sticky;top: 0;border-top: 1px solid #dedede;background: #fff;z-index: 2;}

.loading {position: absolute;top: 44px;bottom: 0;left: 0;right: 0;display: none;}
.loading img {position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;}

.peorid-notice {text-align: end; font-size: 11px; padding: 5px 0; color: #0073cf;}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active){
  /* IE10/11 (-ms-grid) */
  .bill-grid{display:-ms-grid; -ms-grid-columns: 35% 25% 40%;}
  .bill-grid > .t-bd:nth-child(1){-ms-grid-column: 1; padding-right:20px;}
  .bill-grid > .t-bd:nth-child(2){-ms-grid-column: 2; padding-right:20px;}
  .bill-grid > .t-bd:nth-child(3){-ms-grid-column: 3;}

  .bill-grid .date-seal{display:-ms-grid; -ms-grid-columns:auto 72px;}
  .bill-grid .date-seal .date{-ms-grid-column: 1;}
  .bill-grid .date-seal .seal{-ms-grid-column: 2; margin-left:16px;}

  .bill-grid .receipt .seal {position: absolute; width:55px; height:55px; z-index: 3; top: 35px; right: -7px; object-fit:contain;}

  /* IE에서 중앙정렬 대체 */
  .cashier .circle {display:inline-block;}

  /* IE에서 table border 보완 */
  table.table-view.top-bordered {border: 1px solid #dcdcdc !important;}
}