/* original form label */
.ofl {
    /*font-size: 12px;*/
    display: flex;
    /*align-items: center;*/
}

/* original radio label */
.orl {
    /*font-size: 12px;*/
    display: flex;
    /*align-items: center;*/
}

/* original tabel width*/
.otws { /* short */
    /* width: 80px;
    font-size: 14px; */
}

.otwm { /* middle */
    /* width: 150px;
    font-size: 14px; */
}

/* 検索・フォーム用ラベル */
.search-label {
    /*font-size: 12px;*/
    display: flex;
    /*align-items: center;*/
}

/* 作成編集・フォーム用ラベル */
.create-edit-label {
    /*font-size: 12px;*/
    display: flex;
    /*align-items: center;*/
}

/* 検索・チェックボックス用ラベル */
.search-checkbox-label {
    padding-top: 3px;
    /*font-size: 12px;*/
    display: flex;
    /*align-items: center;*/
}

/* 検索・ボタン */
.search-button {
    /*font-size: 12px;*/
    padding-top: 5px;
    margin-left: 8px;
    width: 120px;
    height: 30px;
}

/* 作成編集ボタン */
.create-edit-button {
    /*font-size: 12px;*/
    padding-top: 5px;
    margin-left: 8px;
    width: 120px;
    height: 30px;
}

/* 検索・チェックボックス */
.search-checkbox {
    margin-left: 8px;
    margin-top: 8px;
    margin-right: 8px;
}

/* 検索・ラジオボタン */
.search-radio {
    margin-left: 8px;
}

/* 検索・ラジオボタン・ラベル */
.search-radio-label {
    /*font-size: 12px;*/
    padding-top: 4px;
}

/* 作成編集・文字 */
.create-edit-font {
    /*font-size: 12px;*/
    /*align-items: center;*/
    display: flex;
}

/* 作成編集・ラジオボタン */
.create-edit-radio {
    margin-top: 6px;
}

/* 作成編集・ラジオボタン・ラベル */
.create-edit-radio-label {
    /*font-size: 12px;*/
    padding-top: 4px;
    margin-right: 8px;
}

/* 一覧・ボタン */
.list-button {
    /*font-size: 12px;*/
    padding-top: 5px;
    margin-right: 8px;
    margin-top: 6px;
}

/* 一覧・文字サイズ */
.list-font {
    /*font-size: 12px;*/
}

/* ナビゲーション・文字 */
.nav-font {
    /*font-size: 12px;*/
    color: black;
}

/* 一覧・回収予定表・小計 */
.list-collect-data {
    background: #feffc0;
}

/* 一覧・回収予定表・合計 */
.list-collect-sum {
    background: #fee0c0;
}

/* 一覧・回収予定表・合計強調 */
.list-collect-sum2 {
    background: #ffb566;
}

/* 小計・隣接余白 */
.total-margin {
    margin-left: 8px;
}

/* 小計・数字 */
.total-number {
    margin-top: 8px;
}

/* 一覧・チェックボックス */
.list-checkbox {
    text-align: center;
}

.estimate-product-list-font {
    /*font-size: 12px;*/
}

.estimate-product-list-button {
    /*font-size: 10px;*/
    width: 50px;
}

.estimate-product-list-100 {
    width: 100px;
}

.estimate-product-list-200 {
    width: 200px;
}

.estimate-product-list-300 {
    width: 300px;
}

.estimate-product-list-400 {
    width: 400px;
}

.estimate-product-list-500 {
    width: 500px;
}

.no-spin::-webkit-inner-spin-button,
.no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance: textfield;
}

.table-row1 {
    border-bottom: #0c84ff;
}

.table-row1 td {
    padding-bottom: 0rem;
}

.table-row2 {
    border-top-color: #FFFFFF;
}

.table-row2 td {
    padding-top: 0rem;
    border: none;
}

table.table-head-fixed thead tr:nth-child(2) th {
    background-color: #fff;
    border-bottom: 0;
    box-shadow: inset 0 1px 0 #dee2e6, inset 0 -1px 0 #dee2e6;
    position: -webkit-sticky;
    position: sticky;
    top: 50px;
    z-index: 11
}

table.table-head-fixed thead tr:nth-child(3) th {
    background-color: #fff;
    border-bottom: 0;
    box-shadow: inset 0 1px 0 #dee2e6, inset 0 -1px 0 #dee2e6;
    position: -webkit-sticky;
    position: sticky;
    top: 100px;
    z-index: 12
}

/* read-onlyクラスを付与した要素に適用 */
.form-readonly input:not([type="hidden"]),
.form-readonly select,
.form-readonly textarea {
    pointer-events: none;
    background-color: #e9ecef !important;
    opacity: 1;
}

/* チェックボックスとラジオボタンの完全な制御 */
.form-readonly input[type="checkbox"],
.form-readonly input[type="radio"] {
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    opacity: 0.7;
}

/* チェックボックスとラジオボタンのラベルも制御 */
.form-readonly input[type="checkbox"] + label,
.form-readonly input[type="radio"] + label {
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    opacity: 0.7;
}

.form-readonly select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* ボタン群以外のボタンを無効化 */
.form-readonly a:not(.create-edit-button),
.form-readonly button:not(.create-edit-button) {
    pointer-events: none;
    opacity: 0.65;
    /* タブ操作を無効化 */
    visibility: visible !important;
    tabindex: -1;
    pointer-events: none;
}

/** 集計の多段化されたテーブルだとヘッダーが見にくいので 調整 */
table.summary-table th {
    text-align: right;
    border-width: 2px;
    border-style: solid;
    border-color: rgb(222, 226, 230);
}

table.summary-table th.title {
    text-align: left;
}

table.summary-table td {
    text-align: right;
}

table.summary-table td.title {
    text-align: left;
}

/* 明細行のhover効果 */
table.summary-table tbody tr:hover {
    background-color: #e3f2fd;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
