/* --- 全体共通 --- */
body { font-family: sans-serif; font-size: 14px; background: #f4f4f4; margin: 20px; color: #333; }
table { width: 100%; border-collapse: collapse; background: #fff; margin-bottom: 30px; }
th, td { border: 1px solid #ccc; padding: 8px; text-align: left; }
th { background: #eee; position: sticky; top: 0; z-index: 10; }

/* --- 全体共通2 --- */
.container { background: #fff; border: 1px solid #d1d5db; padding: 15px; margin: 0 auto; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }

/* --- 共通ヘッダーパーツ --- */
.page-header {padding:15px 0;}
.page-header .description{ background: #fff; padding: 5px; border-left: 5px solid #333; margin-bottom: 15px; line-height: 1.6; }
.page-header h1 { font-size: 24px; margin: 0 0 15px 0; display: flex; align-items: center; }
.h1-sub { background: #333; color: #fff; padding: 5px 15px; border-radius: 20px; font-size: 18px; margin-left: 15px; font-weight: normal; }

/* --- ナビゲーション --- */
.nav-menu { font-size: 14px; }
.nav-menu a { text-decoration: none; color: #3b82f6; margin-right: 10px; }

/* --- 各種ボタン・部品（index.phpのスタイルを継承） --- */
.btn { cursor: pointer; padding: 4px 10px; background: #e0e0e0; border: 1px solid #999; }
.btn-green{ background: #22c55e; color: #fff; font-weight: bold; border: none; padding: 10px 25px; border-radius: 4px; cursor: pointer; }
.btn-green:hover { background: #218838; }
.btn:hover { background: #d0d0d0; }
.next-btn { display: block; width: 320px; margin: 20px auto; padding: 15px; background: #28a745; color: #fff; text-align: center; text-decoration: none; font-weight: bold; font-size: 16px; border-radius: 5px; border: none; cursor: pointer; }
.next-btn:hover { background: #218838; }
.next-btn:disabled { background: #d1d5db; cursor: not-allowed; opacity: 0.7; }

/* --- ステータス・バッジ --- */
.status-1 { background: #d4edda; color: #666; }
.status-9 { background: #e9ecef; color: #adb5bd; text-decoration: line-through; }
.status-2 { background: #fff3cd; }
.unpaid-row { border: 2px solid #dc3545; }
.alert-badge { background: #dc3545; color: #fff; padding: 3px 6px; border-radius: 3px; font-weight: bold; }
.red-text { color: #dc3545; font-weight: bold; }
.status-text { color: #ef4444;} /*--薄めの赤 --*/



/* --- index.php（受注一覧）固有スタイル --- */
.index-body .y-input { width: 80px; padding: 2px; }
.index-body .container{padding:10px 10px 40px 10px;}

/* --- upload.php（アップロード）固有スタイル --- */
.upload-body .row { border-bottom: 1px solid #e5e7eb; padding: 20px 0 20px 60px; display: flex; align-items: flex-start; }
.upload-body .label { font-weight: bold; width: 380px; font-size: 18px; line-height: 1.4; }
.upload-body .label small { color: #6b7280; font-weight: normal; display: block; margin-top: 4px; }
.upload-body .row .status-text {font-size:14px; margin-top: 10px; min-height: 1.2em; }
.upload-body .form-controls { display: flex; align-items: center; flex: 1; }
.upload-body .file-input { border: 1px solid #d1d5db; padding: 8px; width: 320px; background: #fff; border-radius: 4px; margin-right: 15px; }
.upload-body .upload-att {font-size:16px; font-weight:bold; margin-top:25px;}


/* --- edit_list.php（編集画面）固有スタイル --- */
.edit_list-body .tabs { display: flex; }
.edit_list-body .tabs a { text-decoration: none; color: #555; padding: 8px 15px; background: #ddd; border: 1px solid #ccc; margin-right: 5px; border-radius: 4px 4px 0 0; }
.edit_list-body .tabs a.active { background: #2c3e50; color: #fff; font-weight: bold; }
.edit_list-body .table-container { padding: 10px; overflow: auto;  background: #fff;;}
.edit_list-body  th, td { padding: 12px 5px; overflow: hidden; white-space: nowrap; font-size:13px; }
.edit_list-body th {text-align: center; }
.edit_list-body td { padding: 12px 5px; white-space: nowrap;}
/* 個別カラムの横幅 */
.col-order_id, .col-yayoi_code, .col-order_name_sei, .col-customer_class, .col-order_zipcode, .col-order_pref, .col-device, .col-atobarai_receipt_check{width:70px;}
.col-shipping_date, .col-deposit_deadline, .col-ricoh_deposit_deadline, .col-ricoh_shipping_date, .col-order_total_amount, .col-order_tax_amount, .col-amount_excluding_tax{width:90px;}
.col-name, .col-name_kana{width:100px;}
.col-school_allocation{width:50px;}
.col-order_org, .col-address2, .col-order_payment_method{width:180px;}
.col-address1{width:270px;}
.col-order_tel{width:110px;}
.col-order_email{width:210px;}

.edit_list-body input[type="text"] { width: 92%; padding: 5px 3px; border: 1px solid #ccc; font-size: 13px; }
.edit_list-body input[type="text"] { flex: 1; min-width: 0; /* flex内で適切に縮小させるため */}
.edit_list-body .is-dirty { background-color: #fce7f3 !important; }
.edit_list-body .row-checked { background-color: #d1fae5 !important; }
.edit_list-body .row-checked input { background-color: transparent !important; border-color: transparent; }
        
 /* 警告文・注意文用のスタイル */
.edit_list-body .warn-red { border: 2px solid #ef4444 !important; background: #fee2e2 !important; }
.edit_list-body .diff-trigger { color: #b45309; font-weight: bold; font-size: 14px; flex-shrink: 0; /* マークのサイズを維持 */ }
.edit_list-body .input-container {display: flex; align-items: center; gap: 4px; /* テキストボックスとマークの間隔 */}
.edit_list-body .yayoi-data-tip { display: none; position: absolute; background: #333; color: #fff; padding: 8px; border-radius: 4px; z-index: 1000; font-size: 11px; max-width: 300px; line-height: 1.4; box-shadow: 2px 2px 5px rgba(0,0,0,0.3); }

.edit_list-body .btn-ok { background: #22c55e; color: #fff; font-weight: bold; border: none; border-radius: 4px; padding: 6px 12px; border-radius: 4px; cursor: pointer; width: 60px; min-height: 32px; }
.edit_list-body .btn-ok.is-done { background: #6b7280; }

.edit_list-body .footer { background: #fff; padding: 40px; border-top: 2px solid #ddd; text-align: center; }
.edit_list-body .btn-sub { background: #64748b; color: #fff; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; margin: 0 3px; font-size:16px;}
.edit_list-body .btn-csv { background: #059669; color: #fff; padding: 12px 40px; border-radius: 8px; font-size: 16px; font-weight: bold; border: none; cursor: pointer; margin-top: 10px; }


