/* --------------------------------------------------------------------------
   MJS受注管理 - custom stylesheet
   ServerModule.CustomFiles に 'files/app.css' を登録してあるので、
   uniGUI(Ext JS) 側の CSS より後に読み込まれ、ここでの指定が勝つ。
   -------------------------------------------------------------------------- */

/* ==== ログイン ============================================================= */
.login-title { font-size: 20px !important; font-weight: bold; color: #24577a; }
.login-error { color: #c0392b !important; font-weight: bold; }

/* ==== ヘッダ =============================================================== */
.app-header { background: #24577a !important; }
.app-header .x-autocontainer-innerCt { background: #24577a; }
.app-title { font-size: 18px !important; font-weight: bold; color: #fff !important; }
.hdr-text  { color: #fff !important; }

/* ==== 左メニュー =========================================================== */
.nav-side { background: #f4f6f8; border-right: 1px solid #d8dde3; }
.nav { padding: 8px 0; font-size: 13px; }
.nav-head { margin: 14px 12px 4px; color: #7a8590; font-size: 11px; font-weight: bold; letter-spacing: 0.1em; }
.nav-item { padding: 9px 14px; cursor: pointer; border-left: 3px solid transparent; }
.nav-item:hover { background: #e6edf3; }
.nav-item.active { background: #dce8f2; border-left-color: #24577a; font-weight: bold; }
.nav-item i { width: 20px; color: #24577a; }

/* ==== ページ共通 =========================================================== */
.page-tool { background: #fafbfc; border-bottom: 1px solid #e3e7eb; }
.cards-page, .list-page { padding: 14px 18px; font-size: 13px; background: #f7f9fb; }
.empty { color: #8a96a2; padding: 12px 4px; }
.num input { text-align: right; }
.num { text-align: right; }
.total-label { font-weight: bold; text-align: right; color: #24577a; }

/* ==== 合計 ================================================================= */
.sum-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.sum-box { flex: 1 1 150px; background: #fff; border: 1px solid #dfe5ea; border-radius: 8px; padding: 10px 14px; }
.sum-box.main { border-color: #c0392b; background: #fff7f6; }
.sum-cap { font-size: 11px; color: #6b7785; }
.sum-val { font-size: 20px; font-weight: bold; color: #24577a; text-align: right; }
.sum-box.main .sum-val { color: #c0392b; }
.sec-head { margin: 8px 0 8px; font-size: 14px; font-weight: bold; color: #34495e; border-left: 4px solid #24577a; padding-left: 8px; }

/* ==== カード =============================================================== */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-bottom: 20px; }
.card { position: relative; background: #fff; border: 1px solid #dfe5ea; border-radius: 8px; padding: 10px 12px; cursor: pointer;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04); transition: box-shadow .15s, border-color .15s; }
.card:hover { border-color: #24577a; box-shadow: 0 4px 12px rgba(36,87,122,0.15); }
.card.done { background: #f3f5f6; }
.card.done .card-title { color: #6b7785; }
.card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.card-kind { font-size: 11px; padding: 1px 8px; border-radius: 10px; background: #e3eef6; color: #24577a; font-weight: bold; }
.card-kind.kind-f { background: #fdf0dd; color: #a8650a; }
.card-kind.kind-fmt { background: #e8f5e9; color: #2e7d32; }
.card-status { font-size: 11px; padding: 1px 8px; border-radius: 10px; font-weight: bold; }
.card-status.st0 { background: #fff3cd; color: #8a6d00; }
.card-status.st1 { background: #d4edda; color: #1e7b34; }
.card-title { font-size: 15px; font-weight: bold; margin: 2px 0; word-break: break-all; }
.card-sub { font-size: 11px; color: #7a8590; min-height: 14px; margin-bottom: 6px; }
.card-payer { font-size: 11px; color: #24577a; margin: -3px 0 6px; }
.card-payer.none { color: #b0b8c0; }
.card-amt { width: 100%; border-collapse: collapse; font-size: 12px; }
.card-amt th { text-align: left; font-weight: normal; color: #6b7785; padding: 2px 0; }
.card-amt td { text-align: right; padding: 2px 0; }
.card-amt tr.rest th, .card-amt tr.rest td { border-top: 1px dashed #d0d7de; font-weight: bold; color: #c0392b; padding-top: 4px; }
/* 税込の表記（金額は税抜で持ち、税込 10% を並べる。2026-11-02 #5） */
.card-amt td.incl { color: #7a8590; padding-left: 10px; }
.card-amt tr.hd td { font-size: 10px; color: #8a96a2; padding-bottom: 0; }
.card-amt tr.rest td.incl { color: #c0392b; opacity: 0.75; }
.sum-val .unit { font-size: 10px; font-weight: normal; color: #8a96a2; margin-left: 4px; }
.sum-incl { font-size: 12px; color: #6b7785; text-align: right; }
.sum-box.main .sum-incl { color: #c0392b; }
.list .incl { font-size: 11px; color: #8a96a2; }
.list tr.sub-hd th { font-size: 10px; font-weight: normal; color: #8a96a2; padding-top: 0; }
.fmt-body { font-size: 12px; line-height: 1.6; color: #34495e; }
.seal-mini { position: absolute; right: 10px; top: 34px; width: 48px; height: 48px; object-fit: contain; }

/* ==== 一覧（表） =========================================================== */
.list { width: 100%; border-collapse: collapse; background: #fff; font-size: 13px; }
.list th { background: #eef2f5; color: #34495e; text-align: left; padding: 7px 8px; border-bottom: 1px solid #d8dde3; white-space: nowrap; }
.list td { padding: 7px 8px; border-bottom: 1px solid #edf0f3; }
.list .n { text-align: right; white-space: nowrap; }
.list .b { font-weight: bold; }
.list tr.link { cursor: pointer; }
.list tr.link:hover td { background: #f1f6fa; }
.list tr.sel td { background: #dce8f2; }
.list tr.off td { color: #a0a8b0; }
.list tr.foot td { background: #f7f9fb; font-weight: bold; }
.list .sub { color: #8a96a2; font-size: 11px; }
.list.small { font-size: 12px; }
.list.small th, .list.small td { padding: 5px 6px; }
.list .del { color: #c0392b; cursor: pointer; padding: 0 6px; }
.list .pdf { color: #c0392b; cursor: pointer; white-space: nowrap; }
.st-row9 td { color: #a0a8b0; text-decoration: line-through; }
.iv-st { font-size: 11px; padding: 1px 8px; border-radius: 10px; font-weight: bold; white-space: nowrap; }
.iv-st.iv0 { background: #fff3cd; color: #8a6d00; }
.iv-st.iv1 { background: #e3eef6; color: #24577a; }
.iv-st.iv2 { background: #d4edda; color: #1e7b34; }
.iv-st.iv9 { background: #eee; color: #888; }
.role { font-size: 11px; padding: 1px 8px; border-radius: 10px; background: #eef2f5; }
.role.r1 { background: #fde2e1; color: #a12a1f; }

/* ==== 請求書の作成依頼 ===================================================== */
.inst-box { background: #fff; border: 1px solid #dfe5ea; border-radius: 8px; padding: 10px 12px; margin-bottom: 14px; }
.inst-head { font-size: 14px; font-weight: bold; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.inst-head .ym { background: #24577a; color: #fff; border-radius: 4px; padding: 1px 8px; font-size: 12px; }
.inst-head .sub { font-weight: normal; color: #7a8590; font-size: 12px; }
.inst-note { font-size: 12px; color: #555; margin-bottom: 6px; }
.btn-req { margin-left: auto; padding: 6px 12px; border: 0; border-radius: 4px; background: #2e86c1; color: #fff; font-size: 13px; cursor: pointer; }
.btn-req:hover { background: #24577a; }
.done-tag { margin-left: auto; font-size: 12px; color: #1e7b34; font-weight: bold; }

/* ==== ダイアログの中 ======================================================= */
.kv { width: 100%; border-collapse: collapse; font-size: 12px; margin-bottom: 10px; }
.kv th { background: #f2f5f7; text-align: left; padding: 5px 8px; width: 90px; color: #555; border: 1px solid #e3e7eb; font-weight: normal; }
.kv td { padding: 5px 8px; border: 1px solid #e3e7eb; }
.seal-box { width: 136px; height: 136px; border: 1px dashed #c9d3dc; display: flex; align-items: center; justify-content: center; background: #fff; }
.seal-box img { max-width: 130px; max-height: 130px; }
.seal-box.empty { color: #a0a8b0; font-size: 12px; }
.pw-info { font-size: 12px; line-height: 1.7; background: #fff8e1; border: 1px solid #f0d68a; border-radius: 6px; padding: 6px 10px; }
.pw-info .pw { font-size: 16px; color: #c0392b; letter-spacing: 0.05em; font-family: Consolas, monospace; }
/* 入金確認（2026-11-02 #10） */
.conf-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.conf-btn { background: #2f80c0; color: #fff; border: 0; border-radius: 4px; padding: 7px 14px; font-size: 13px; cursor: pointer; }
.conf-btn:hover { background: #24699f; }
.conf-btn.undo { background: #8a96a2; }
.conf-note { color: #6b7785; font-size: 12px; }
.list td.chk, .list th.chk { width: 28px; text-align: center; }
.list .short { color: #c0392b; font-size: 11px; }
.conf-ok { color: #1e7b34; font-size: 11px; white-space: nowrap; }
