body{
  font-family:Arial,"Yu Gothic",sans-serif;
  background:#f8fafc;
  color:#111827;
  margin:0;
}

.wrap{
  width:210mm;
  margin:20px auto;
  padding:0;
}

.sheet{
  background:#fff;
  padding:12mm;
  border:1px solid #111827;
}

h1{
  text-align:center;
  font-size:24px;
  margin:0 0 24px;
}

.section{
  margin-top:22px;
}

.section-title{
  font-weight:bold;
  background:#e5e7eb;
  padding:8px 10px;
  border:1px solid #94a3b8;
}

.row{
  display:grid;
  grid-template-columns:180px 1fr;
  border-left:1px solid #94a3b8;
  border-right:1px solid #94a3b8;
  border-bottom:1px solid #94a3b8;
}

.label{
  background:#f1f5f9;
  padding:8px;
  border-right:1px solid #94a3b8;
  font-weight:bold;
}

.value{
  padding:8px;
  min-height:22px;
}

.choice span{
  margin-right:18px;
}

.mark{
  font-weight:bold;
  border:1px solid #111827;
  border-radius:50%;
  padding:1px 6px;
  margin-right:4px;
}

.actions{
  margin:24px 0 18px;
  display:flex;
  justify-content:center;
  gap:14px;
  align-items:center;
}

.choice-list{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.choice-item{
  display:inline-block;
  padding:2px 10px;
  border:1px solid transparent;
  border-radius:999px;
}

.selected-choice{
  border-color:#111827;
  font-weight:700;
}

.record-v2-wrap{
    padding:0px;
}

.record-v2-sheet{
    width:210mm;
    min-height:297mm;
    margin:0 auto;
    background:#fff;
    border:1px solid #444;
    padding:14mm;
    box-sizing:border-box;
}

.record-v2-title{
    text-align:center;
    font-size:18px;
    margin-bottom:18px;
}

.record-v2-table{
    width:100%;
    border-collapse:collapse;
    font-size:13px;
}

.record-v2-table > tbody > tr > th,
.record-v2-table > tbody > tr > td{
    border:1px solid #444;
    padding:4px 6px;
    vertical-align:middle;
}

.record-v2-table th{
    background:#f8f8f8;
    font-weight:bold;
    text-align:center;
}

.record-v2-header{
    margin-bottom:4px;
    font-size:16px;
}

.record-v2-header-row{
    display:grid;
    grid-template-columns:100px 1fr 100px 1fr;
    border-bottom:1px solid #444;
    min-height:30px;
    align-items:center;
}

.record-v2-header-label{
    font-weight:bold;
    padding:4px 6px;
}

.record-v2-header-value{
    padding:4px 6px;
}

.record-v2-header-value.wide{
    grid-column:2 / 5;
}

.record-v2-table .nowrap{
    white-space:nowrap;
}

.animal-cell{
    padding:0 !important;
}

.animal-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    font-size:12px;
}

.animal-table td{
    border:1px solid #444;
    text-align:center;
    vertical-align:middle;
    padding:4px 3px;
}

.animal-side-label{
    width:48px;
}

.animal-place{
    width:58px;
    font-weight:bold;
}

.animal-choice{
    width:74px;
}

.label-box{
    width:44px;
    font-weight:bold;
}

.input-space{
    min-width:48px;
}

.unit-space{
    width:34px;
}

.circle-wrap{
    border:1.5px solid #000;
    border-radius:50%;
    padding:1px 5px;
    display:inline-block;
}

.record-v2-table > tbody > tr > th:first-child:not(.organ-main-label){
    width:150px;
    min-width:150px;
    white-space:normal;
    word-break:keep-all;
    line-height:1.35;
}


.organ-main-label{
    text-align:center;
    vertical-align:middle;
}

.blood-cell-fixed{
    padding:0 !important;
}

table.blood-table-fixed{
    border-collapse:collapse;
    border-spacing:0;
    width:100%;
    table-layout:auto;
    font-size:12px;
    background:#fff;
}

table.blood-table-fixed td{
    border:1px solid #444;
    padding:4px 5px;
    text-align:center;
    vertical-align:middle;
    box-sizing:border-box;
    margin:0;
}

table.blood-table-fixed .thick-box{
    outline:1px solid #000;
    font-weight:bold;
}

table.blood-table-fixed .dashed-right{
    border-right:1px dashed #000;
}

table.blood-table-fixed .circle-wrap{
    border:1.5px solid #000;
    border-radius:50%;
    padding:2px 5px;
    display:inline-block;
    line-height:1.1;
}

table.blood-table-fixed .oval-wrap{
    border:1.5px solid #000;
    border-radius:999px;
    padding:2px 10px;
    display:inline-block;
}

.simple-check-cell{
    padding:0 !important;
}

.simple-check-table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
    font-size:12px;
}

.simple-check-table td{
    padding:6px 10px;
    text-align:center;
    vertical-align:middle;
    min-width:56px;
    white-space:nowrap;
    border:none;
}

.simple-check-table td + td{
    border-left:1px solid #444;
}

.simple-check-table tr + tr td{
    border-top:1px solid #444;
}

.simple-check-table .fill-space{
    width:100%;
}

.temperature-cell{
    padding:0 !important;
}

.temperature-table{
    width:100%;
    border-collapse:collapse;
    table-layout:auto;
    font-size:12px;
}

.temperature-table td{
    border:1px solid #444;
    padding:5px 6px;
    text-align:center;
    vertical-align:middle;
    box-sizing:border-box;
    white-space:nowrap;
}

.temperature-table .receipt-space{
    border-top:1px dashed #000;
    border-bottom:1px dashed #000;
    background-image:linear-gradient(to right, #e5e5e5 1px, transparent 1px);
    background-size:50px 100%;
}

.judgement-cell{
    text-align:left;
    padding:8px 12px !important;
}

.judgement-rule{
    margin:4px 0;
    font-size:12px;
    line-height:1.6;
}


.judgement-stamp-row td,
.judgement-stamp-row th{
    vertical-align:top;
}

.judgement-merged-cell{
    padding:10px 14px !important;
    border-left:none !important;
}

.judgement-title{
    font-weight:bold;
    margin-bottom:10px;
}

.final-confirm-cell{
    width:90px;
    min-width:90px;
    text-align:center;
    vertical-align:middle !important;
}

.final-stamp-cell{
    width:90px;
    min-width:90px;
    height:90px;
}



.bold-box{
    font-weight:bold;
}

.stamp-space{
    width:90px;
    min-width:90px;
    height:80px;
}

.record-v2-table tr.organ-check-row > td.organ-check-wrapper-cell{
    padding:0;
    border-top:0;
    border-right:0;
    border-bottom:0;
    border-left:0;
}

.record-v2-table tr.before-organ-check-row > td.judgement-merged-cell{
    border-bottom:0;
}

.organ-check-title{
    margin-top:48px;
    margin-bottom:18px;
    padding:0;
    font-size:16px;
    line-height:1.4;
    text-align:left;
    display:block;
}


.organ-inner-table{
    width:100%;
    border-collapse:collapse;
    border-spacing:0;
    table-layout:fixed;
    font-size:13px;
    margin-top:20px;
}

.organ-inner-table th,
.organ-inner-table td{
    border:1px solid #444;
    padding:6px 8px;
    vertical-align:middle;
}

.organ-inner-table th{
    background:#f8f8f8;
    text-align:center;
    font-weight:bold;
}

.organ-category-label{
    width:54px;
    min-width:54px;
    max-width:54px;
    white-space:nowrap;
}

.organ-check-text{
    text-align:left;
    white-space:normal;
}

.check-box-cell{
    width:24px;
    min-width:24px;
    max-width:24px;
    padding:4px 2px;
    text-align:center;
    vertical-align:middle;
    white-space:nowrap;
}

.record-v2-subtitle{
    margin:48px 0 18px;
    font-size:16px;
    line-height:1.4;
}

.organ-col-main{
    width:28px;
}

.organ-col-category{
    width:58px;
}

.organ-col-text{
    width:auto;
}

.organ-col-check{
    width:28px;
}

.organ-inner-table{
    table-layout:fixed;
}

.organ-check-text{
    white-space:normal;
    word-break:normal;
    line-height:1.4;
}

.organ-inner-table td{
    vertical-align:top;
}

.check-box-cell{
    width:28px;
    min-width:28px;
    max-width:28px;
}

.organ-inner-table{
    font-size:14px;
}

.organ-check-text{
    font-size:12px;
    line-height:1.6;
}

.organ-note{
    font-size:10px;
    line-height:1.2;
}

.csf-action-table{
    border-collapse:collapse;
    border-spacing:0;
    border-top:1px solid #444;
    border-bottom:1px solid #444;
    border-left:1px solid #444;
    width:100%;
    font-size:13px;
    margin-top:12px;
}

.csf-action-table td{
    border-right:1px solid #444;
    padding:12px 8px;
    text-align:center;
    vertical-align:middle;
    background:#fff;
}

.csf-col-1{ width:25%; }
.csf-col-2{ width:20%; }
.csf-col-3{ width:35%; }
.csf-col-4{ width:20%; }

.csf-sub-text{
    display:block;
    margin-top:4px;
    font-size:10px;
}


.latlng-label{
    width:30px;
    min-width:30px;
    padding:4px 2px;
    white-space:nowrap;
}

@page{
    size:A4 portrait;
    margin:8mm;
}

@media print{
    html{
        zoom:1;
    }

    .actions,
    .facility-toolbar{
        display:none;
    }

    body{
        background:#fff;
    }

    .wrap{
        width:auto;
        max-width:none;
        margin:0;
        padding:0;
    }

    .sheet{
        border:none;
        padding:0;
    }

    .record-v2-wrap{
        padding:0;
    }

    .record-v2-sheet{
        width:185mm;
        min-height:auto;
        margin:0 auto;
        padding:6mm;
        box-sizing:border-box;
        border:none;

        zoom:0.95;
    }

    .record-v2-table{
        width:100%;
        table-layout:fixed;
    }

    .record-v2-table tr,
    .animal-table tr,
    .blood-table-fixed tr,
    .simple-check-table tr,
    .temperature-table tr{
        break-inside:avoid;
        page-break-inside:avoid;
    }

    .record-v2-table,
    .animal-table,
    .blood-table-fixed,
    .simple-check-table,
    .temperature-table{
        break-inside:auto;
        page-break-inside:auto;
    }

    .latlng-label{
        width:28px;
        min-width:28px;
        max-width:28px;
        padding:3px 1px;
        font-size:11px;
        white-space:nowrap;
    }

    .latlng-cell{
        width:96px;
        min-width:96px;
        max-width:96px;
        padding:3px 1px;
        font-size:10px;
        white-space:nowrap;
        overflow:hidden;
    }

    .receipt-note{
        display:block;
        font-size:9px;
        line-height:1.15;
        white-space:normal;
        word-break:break-word;
     }

     .carcass-check-block{
        break-inside:avoid;
        page-break-inside:avoid;
        padding-top:24px;
     }

}

