/* === 電気設備見積ツール CSS (テーマ衝突回避版) === */

/* Container scope + reset */
#denki-mitsumori-app {
  --dmt-primary: #1f3a5f;
  --dmt-accent: #4a7ab8;
  font-family: "Yu Gothic", "Meiryo", "Hiragino Sans", sans-serif !important;
  color: #1a1a1a !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  background: #f5f6f8 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
  margin: 0 -20px;  /* Allow breaking out of narrow theme content */
  padding: 0;
  width: auto;
  max-width: none;
  box-sizing: border-box;
}
#denki-mitsumori-app *,
#denki-mitsumori-app *::before,
#denki-mitsumori-app *::after {
  box-sizing: border-box;
}
/* Defensive resets to override theme styles */
#denki-mitsumori-app input,
#denki-mitsumori-app textarea,
#denki-mitsumori-app select,
#denki-mitsumori-app button {
  font-family: "Yu Gothic", "Meiryo", "Hiragino Sans", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #1a1a1a !important;
  background: #fff !important;
  margin: 0 !important;
  -webkit-appearance: none;
  appearance: none;
  text-shadow: none !important;
  letter-spacing: normal !important;
  font-weight: normal !important;
}
#denki-mitsumori-app input::placeholder,
#denki-mitsumori-app textarea::placeholder {
  color: #888 !important;
  opacity: 1;
}
#denki-mitsumori-app button {
  background: #fff;
  border: 1px solid #c4c8cf;
  cursor: pointer;
}
#denki-mitsumori-app input[type="checkbox"],
#denki-mitsumori-app input[type="radio"] {
  -webkit-appearance: auto;
  appearance: auto;
}
#denki-mitsumori-app table {
  border-collapse: collapse;
  width: 100%;
  margin: 0;
  background: transparent;
}
#denki-mitsumori-app th,
#denki-mitsumori-app td {
  padding: 0;
  background: transparent;
  border: 0;
  vertical-align: middle;
  color: #1a1a1a !important;
  font-family: inherit !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
}
#denki-mitsumori-app ul,
#denki-mitsumori-app ol {
  margin: 0;
  padding-left: 1.4em;
  list-style-position: outside;
}
#denki-mitsumori-app h1,
#denki-mitsumori-app h2,
#denki-mitsumori-app h3,
#denki-mitsumori-app h4 {
  margin: 0;
  padding: 0;
  font-weight: 600;
  line-height: 1.3;
}
#denki-mitsumori-app a {
  color: var(--dmt-accent);
  text-decoration: none;
}
#denki-mitsumori-app img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
#denki-mitsumori-app p { margin: 0 0 4px 0; }

/* Modal background should overlay full viewport regardless of container */
#denki-mitsumori-app .modal-bg {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
}

#denki-mitsumori-app * { box-sizing: border-box; }
  #denki-mitsumori-app { font-family: "Yu Gothic", "Meiryo", sans-serif; margin: 0; background: #f5f6f8; color: #222; font-size: 13px; }
  #denki-mitsumori-app header { background: linear-gradient(180deg,#1f3a5f,#264a78); color: #fff; padding: 10px 16px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
  #denki-mitsumori-app header h1 { font-size: 16px; margin: 0; flex: 0 0 auto; }
  #denki-mitsumori-app nav { display: flex; gap: 4px; }
  #denki-mitsumori-app nav button { background: #2c4f7e; color: #fff; border: none; padding: 6px 14px; cursor: pointer; border-radius: 4px; font-size: 13px; transition: all 0.15s; }
  #denki-mitsumori-app nav button:hover { background: #3a6398; }
  #denki-mitsumori-app nav button.active { background: #4a7ab8; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.3); }
  #denki-mitsumori-app .actions { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
  #denki-mitsumori-app .actions button { background: #fff; color: #1f3a5f; border: 1px solid #1f3a5f; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: 600; transition: all 0.15s; }
  #denki-mitsumori-app .actions button:hover { background: #e3ecf6; }
  #denki-mitsumori-app .actions button.warn { color: #b03a2e; border-color: #b03a2e; }
  #denki-mitsumori-app .actions button.help { background: #ffeaa7; color: #8b6f00; border-color: #d4a017; }
  #denki-mitsumori-app .actions button.help:hover { background: #ffd95a; }

  #denki-mitsumori-app main { padding: 16px; max-width: 1500px; margin: 0 auto; }
  #denki-mitsumori-app .view { display: none; }
  #denki-mitsumori-app .view.active { display: block; }

  #denki-mitsumori-app .panel { background: #fff; border: 1px solid #d6dae0; border-radius: 6px; margin-bottom: 14px; overflow: hidden; }
  #denki-mitsumori-app .panel-h { background: #eef2f7; padding: 8px 12px; font-weight: 600; border-bottom: 1px solid #d6dae0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; }
  #denki-mitsumori-app .step-badge { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: #4a7ab8; color: #fff; border-radius: 50%; font-size: 12px; font-weight: 700; margin-right: 4px; }
  #denki-mitsumori-app .panel-h .panel-tip { color: #555; font-weight: 400; font-size: 11px; }
  #denki-mitsumori-app .panel-b { padding: 12px; }

  #denki-mitsumori-app .grid-form {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) 110px minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 8px 12px !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  #denki-mitsumori-app .grid-form > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  #denki-mitsumori-app .grid-form > label {
    display: block !important;
    font-weight: 600 !important;
    color: #444 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    line-height: 1.4 !important;
  }
  #denki-mitsumori-app .grid-form > input,
  #denki-mitsumori-app .grid-form > textarea,
  #denki-mitsumori-app .grid-form > select,
  #denki-mitsumori-app .grid-form > div {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  @media (max-width: 900px) {
    #denki-mitsumori-app .grid-form {
      grid-template-columns: 100px minmax(0, 1fr) !important;
    }
  }
  @media (max-width: 480px) {
    #denki-mitsumori-app .grid-form {
      grid-template-columns: 1fr !important;
      gap: 4px 8px !important;
    }
    #denki-mitsumori-app .grid-form > label { padding-top: 6px !important; }
  }
  #denki-mitsumori-app .grid-form input,
  #denki-mitsumori-app .grid-form textarea,
  #denki-mitsumori-app .grid-form select { padding: 5px 7px !important; border: 1px solid #c4c8cf !important; border-radius: 3px !important; font-size: 13px !important; }
  #denki-mitsumori-app textarea { font-family: inherit; resize: vertical; min-height: 56px; }

  #denki-mitsumori-app .search-row { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; align-items: center; }
  #denki-mitsumori-app .search-row input,
#denki-mitsumori-app .search-row select { padding: 6px 8px; border: 1px solid #c4c8cf; border-radius: 3px; font-size: 13px; }
  #denki-mitsumori-app #search-input { flex: 1; min-width: 200px; }
  #denki-mitsumori-app #search-results { max-height: 260px; overflow-y: auto; border: 1px solid #d6dae0; border-radius: 4px; }
  #denki-mitsumori-app #search-results table { width: 100%; border-collapse: collapse; font-size: 12px; }
  #denki-mitsumori-app #search-results th { background: #f0f3f7; padding: 5px 6px; text-align: left; position: sticky; top: 0; border-bottom: 1px solid #d6dae0; }
  #denki-mitsumori-app #search-results td { padding: 4px 6px; border-bottom: 1px solid #eee; }
  #denki-mitsumori-app #search-results tr:hover { background: #fff8e1; cursor: pointer; }
  #denki-mitsumori-app #search-results td button.fav { background: #fff3cd; border: 1px solid #d4a017; padding: 1px 6px; border-radius: 3px; cursor: pointer; font-size: 11px; color: #7a5a00; }
  #denki-mitsumori-app .hint { color: #666; font-size: 12px; padding: 16px; text-align: center; line-height: 1.6; }
  #denki-mitsumori-app .hint .arrow { color: #4a7ab8; font-size: 18px; }

  #denki-mitsumori-app table.items { width: 100%; border-collapse: collapse; font-size: 12px; }
  #denki-mitsumori-app table.items th { background: #eef2f7; padding: 6px 4px; border: 1px solid #c4c8cf; text-align: center; font-weight: 600; }
  #denki-mitsumori-app table.items td { padding: 3px 4px; border: 1px solid #e0e3e7; vertical-align: middle; }
  #denki-mitsumori-app table.items td input,
#denki-mitsumori-app table.items td select { width: 100%; padding: 3px 4px; border: 1px solid transparent; background: transparent; font-size: 12px; text-align: right; }
  #denki-mitsumori-app table.items td input:focus,
#denki-mitsumori-app table.items td select:focus { border-color: #4a7ab8; background: #fff; }
  #denki-mitsumori-app table.items td input.text { text-align: left; }
  #denki-mitsumori-app table.items td select { text-align: left; }
  #denki-mitsumori-app table.items tr.section-header td { background: #fff8e1; font-weight: 600; padding: 6px 8px; }
  #denki-mitsumori-app table.items td.num { text-align: right; }
  #denki-mitsumori-app table.items td.ctr { text-align: center; }
  #denki-mitsumori-app table.items td.bid { font-weight: 600; color: #1f3a5f; }
  /* 原価/提出 列グループ */
  #denki-mitsumori-app table.items th.grp-cost,
#denki-mitsumori-app table.items td.grp-cost { background: #f0f4f8; }
  #denki-mitsumori-app table.items th.grp-bid,
#denki-mitsumori-app table.items td.grp-bid { background: #e8f0fa; }
  #denki-mitsumori-app table.items th.grp-cost { background: #d8e3ee !important; color: #444; }
  #denki-mitsumori-app table.items th.grp-bid { background: #c4d6ec !important; color: #1f3a5f; }
  #denki-mitsumori-app table.items th.grp-base { background: #eef2f7; }
  #denki-mitsumori-app table.items td.cost-amt { font-weight: 600; color: #555; background: #f5f8fb; }
  #denki-mitsumori-app table.items td.bid-amt { font-weight: 700; color: #1f3a5f; background: #e8f0fa; }
  #denki-mitsumori-app table.items td.qty-diff { background: #fff3cd; }
  /* 固定合計バー */
  #denki-mitsumori-app .totals-bar { position: sticky; bottom: 0; z-index: 50; background: linear-gradient(180deg, #fff, #f5f6f8); border-top: 2px solid #1f3a5f; padding: 8px 14px; box-shadow: 0 -2px 10px rgba(0,0,0,0.08); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 12px; }
  #denki-mitsumori-app .totals-bar .tb-item { display: flex; flex-direction: column; min-width: 100px; }
  #denki-mitsumori-app .totals-bar .tb-item .lbl { color: #666; font-size: 10.5px; }
  #denki-mitsumori-app .totals-bar .tb-item .val { font-weight: 700; font-variant-numeric: tabular-nums; color: #1f3a5f; font-size: 14px; }
  #denki-mitsumori-app .totals-bar .tb-item .val.cost { color: #888; font-size: 13px; font-weight: 600; }
  #denki-mitsumori-app .totals-bar .tb-item .val.profit { color: #1e7e34; }
  #denki-mitsumori-app .totals-bar .tb-item .val.total { color: #fff; background: #1f3a5f; padding: 4px 10px; border-radius: 4px; font-size: 15px; }
  #denki-mitsumori-app .totals-bar .tb-sep { width: 1px; background: #d6dae0; align-self: stretch; }
  #denki-mitsumori-app table.items td .del { background: #f5b7b1; border: none; padding: 2px 8px; border-radius: 3px; cursor: pointer; color: #7b241c; font-size: 11px; }
  #denki-mitsumori-app table.items td .del:hover { background: #e74c3c; color: #fff; }
  #denki-mitsumori-app table.items td .fav { background: #fff3cd; border: 1px solid #d4a017; padding: 2px 6px; border-radius: 3px; cursor: pointer; color: #7a5a00; font-size: 11px; }
  #denki-mitsumori-app table.items td .fav:hover { background: #ffe082; }
  #denki-mitsumori-app table.items tfoot td { background: #1f3a5f; color: #fff; font-weight: 600; padding: 6px; }
  #denki-mitsumori-app .empty-row td { background: #f9fafc; color: #888; padding: 18px !important; text-align: center; font-size: 12px; line-height: 1.6; }
  #denki-mitsumori-app .add-line { padding: 6px 12px; background: #f4f7fb; border-top: 1px solid #d6dae0; display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
  #denki-mitsumori-app .add-line button { padding: 4px 10px; background: #fff; border: 1px solid #4a7ab8; color: #4a7ab8; border-radius: 3px; cursor: pointer; font-size: 12px; }
  #denki-mitsumori-app .add-line button:hover { background: #e3ecf6; }
  #denki-mitsumori-app .add-line input.markup-bulk { width:80px; padding: 3px 6px; border: 1px solid #c4c8cf; border-radius: 3px; text-align: right; }

  /* 工事項目 */
  #denki-mitsumori-app .ws-list { display: grid; grid-template-columns: 60px 1fr 120px 60px; gap: 6px 8px; align-items: center; margin-bottom: 8px; font-size: 12px; }
  #denki-mitsumori-app .ws-list .ws-h { background:#eef2f7;padding:4px 8px;font-weight:600;text-align:center; }
  #denki-mitsumori-app .ws-list input { padding: 4px 6px; border: 1px solid #c4c8cf; border-radius: 3px; font-size: 12px; }
  #denki-mitsumori-app .ws-list .ws-id { font-family: monospace; color: #555; text-align:center; }
  #denki-mitsumori-app .ws-list button.del { background: #f5b7b1; border: none; padding: 3px 8px; border-radius: 3px; cursor: pointer; color: #7b241c; font-size: 11px; }
  #denki-mitsumori-app .ws-current { display: flex; align-items: center; gap: 8px; padding: 8px; background: #eaf3fb; border-radius: 4px; margin-top: 6px; flex-wrap: wrap; }
  #denki-mitsumori-app .ws-current select { padding: 5px 8px; border: 1px solid #4a7ab8; border-radius: 3px; font-size: 13px; font-weight: 600; min-width: 200px; }

  /* お気に入り */
  #denki-mitsumori-app .fav-tabs { display: flex; gap: 4px; margin-bottom: 8px; flex-wrap: wrap; border-bottom: 1px solid #d6dae0; padding-bottom: 4px; }
  #denki-mitsumori-app .fav-tabs button { padding: 4px 10px; background: #f5f6f8; border: 1px solid #c4c8cf; border-radius: 3px 3px 0 0; cursor: pointer; font-size: 12px; }
  #denki-mitsumori-app .fav-tabs button.active { background: #4a7ab8; color: #fff; border-color: #4a7ab8; }
  #denki-mitsumori-app .fav-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  #denki-mitsumori-app .fav-table th { background: #f0f3f7; padding: 4px 5px; border: 1px solid #c4c8cf; text-align: left; }
  #denki-mitsumori-app .fav-table td { padding: 3px 5px; border: 1px solid #e0e3e7; }
  #denki-mitsumori-app .fav-table td.num { text-align: right; }
  #denki-mitsumori-app .fav-table .add-btn { background: #4a7ab8; color: #fff; border: none; padding: 2px 8px; border-radius: 3px; cursor: pointer; font-size: 11px; }
  #denki-mitsumori-app .fav-table .add-btn:hover { background: #2c4f7e; }
  #denki-mitsumori-app .fav-table .del-btn { background: #f5b7b1; color: #7b241c; border: none; padding: 2px 6px; border-radius: 3px; cursor: pointer; font-size: 11px; }

  #denki-mitsumori-app .summary-box { display: grid; grid-template-columns: 200px 100px 150px; gap: 6px 12px; max-width: 500px; margin-left: auto; }
  #denki-mitsumori-app .summary-box .lbl { font-weight: 600; color: #444; align-self: center; }
  #denki-mitsumori-app .summary-box .lbl.sub { font-weight: 400; color: #777; font-size: 12px; }
  #denki-mitsumori-app .summary-box .rate { display: flex; align-items: center; gap: 4px; }
  #denki-mitsumori-app .summary-box .rate input { width: 70px; padding: 4px; border: 1px solid #c4c8cf; border-radius: 3px; text-align: right; }
  #denki-mitsumori-app .summary-box .val { text-align: right; font-variant-numeric: tabular-nums; align-self: center; padding: 3px 8px; }
  #denki-mitsumori-app .summary-box .val.cost { color: #777; }
  #denki-mitsumori-app .summary-box .val.profit { color: #1e7e34; font-weight: 600; }
  #denki-mitsumori-app .summary-box .val.total { background: #1f3a5f; color: #fff; font-weight: 700; padding: 8px; border-radius: 4px; font-size: 15px; }
  #denki-mitsumori-app .summary-box .sep { grid-column: 1 / -1; border-bottom: 1px solid #d6dae0; margin: 4px 0; }
  #denki-mitsumori-app .summary-box .sep-strong { grid-column: 1 / -1; border-bottom: 2px solid #1f3a5f; margin: 6px 0; }

  /* チュートリアル モーダル */
  #denki-mitsumori-app .modal-bg { position: fixed !important; inset: 0 !important; background: rgba(0,0,0,0.5) !important; display: flex !important; align-items: flex-start !important; justify-content: center !important; z-index: 99999 !important; padding: 40px 20px !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; }
  #denki-mitsumori-app .modal-bg.hidden { display: none !important; }
  #denki-mitsumori-app .modal { background: #fff !important; border-radius: 10px !important; max-width: 640px !important; width: 100% !important; max-height: none !important; box-shadow: 0 8px 30px rgba(0,0,0,0.3) !important; margin: 0 auto !important; position: relative !important; }
  #denki-mitsumori-app .modal-h { background: linear-gradient(135deg,#1f3a5f,#3a6398); color: #fff; padding: 16px 24px; border-radius: 10px 10px 0 0; }
  #denki-mitsumori-app .modal-h h2 { margin: 0; font-size: 18px; }
  #denki-mitsumori-app .modal-h .sub { font-size: 12px; opacity: 0.8; margin-top: 4px; }
  #denki-mitsumori-app .modal-b { padding: 20px 24px; line-height: 1.7; }
  #denki-mitsumori-app .modal-b ol.steps { padding-left: 0; list-style: none; counter-reset: step; }
  #denki-mitsumori-app .modal-b ol.steps li { counter-increment: step; padding: 8px 8px 8px 44px; position: relative; margin-bottom: 8px; border-radius: 6px; }
  #denki-mitsumori-app .modal-b ol.steps li:hover { background: #f5f6f8; }
  #denki-mitsumori-app .modal-b ol.steps li::before { content: counter(step); position: absolute; left: 8px; top: 8px; width: 26px; height: 26px; background: #4a7ab8; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
  #denki-mitsumori-app .modal-b ol.steps li b { color: #1f3a5f; }
  /* ランチャー */
  #denki-mitsumori-app .launcher-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  #denki-mitsumori-app .launcher-btn { display: flex; flex-direction: column; align-items: center; padding: 24px 14px; background: #fff; border: 2px solid #d6dae0; border-radius: 8px; cursor: pointer; transition: all 0.15s; text-align: center; }
  #denki-mitsumori-app .launcher-btn:hover { border-color: #4a7ab8; background: #f0f7ff; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(74,122,184,0.15); }
  #denki-mitsumori-app .launcher-btn .launcher-icon { font-size: 36px; margin-bottom: 8px; }
  #denki-mitsumori-app .launcher-btn .launcher-title { font-size: 15px; font-weight: 700; color: #1f3a5f; margin-bottom: 2px; }
  #denki-mitsumori-app .launcher-btn .launcher-sub { font-size: 11px; color: #666; }
  #denki-mitsumori-app .launcher-sub-btn { padding: 6px 14px; background: #f5f6f8; border: 1px solid #c4c8cf; border-radius: 4px; cursor: pointer; font-size: 12px; color: #555; }
  #denki-mitsumori-app .launcher-sub-btn:hover { background: #e3ecf6; }
  /* プロジェクトリスト */
  #denki-mitsumori-app .proj-list-empty { padding: 30px 20px !important; text-align: center !important; color: #555 !important; font-size: 13px !important; background: #f9fafc !important; border: 2px dashed #c4c8cf !important; border-radius: 8px !important; min-height: 100px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; gap: 4px !important; }
  #denki-mitsumori-app .proj-row { display: grid; grid-template-columns: 1fr auto auto auto; gap: 8px 12px; align-items: center; padding: 10px 12px; border: 1px solid #d6dae0; border-radius: 5px; margin-bottom: 6px; background: #fff; transition: background 0.15s; }
  #denki-mitsumori-app .proj-row:hover { background: #f5f8fb; border-color: #4a7ab8; }
  #denki-mitsumori-app .proj-row .proj-name { font-weight: 600; color: #1f3a5f; font-size: 13px; }
  #denki-mitsumori-app .proj-row .proj-meta { font-size: 11px; color: #666; margin-top: 2px; }
  #denki-mitsumori-app .proj-row .proj-amount { font-size: 13px; font-weight: 700; color: #1f3a5f; font-variant-numeric: tabular-nums; padding: 0 8px; }
  #denki-mitsumori-app .proj-row button { padding: 4px 10px; border: 1px solid #4a7ab8; background: #fff; color: #4a7ab8; border-radius: 3px; cursor: pointer; font-size: 12px; font-weight: 600; }
  #denki-mitsumori-app .proj-row button.del { border-color: #b03a2e; color: #b03a2e; padding: 4px 8px; }
  #denki-mitsumori-app .proj-row button:hover { background: #e3ecf6; }
  #denki-mitsumori-app .proj-row button.del:hover { background: #fadbd8; }
  #denki-mitsumori-app .proj-row.current { background: #fff8e1; border-color: #d4a017; }
  #denki-mitsumori-app .proj-row.current::before { content: "● 開いている"; color: #d4a017; font-size: 10px; font-weight: 600; grid-column: 1 / -1; margin-bottom: -4px; }
  #denki-mitsumori-app .modal-b .tip-box { background: #fff8e1; border-left: 3px solid #d4a017; padding: 10px 14px; margin-top: 14px; border-radius: 0 4px 4px 0; font-size: 13px; }
  #denki-mitsumori-app .modal-f { padding: 12px 24px; background: #f5f6f8; display: flex; justify-content: space-between; align-items: center; border-radius: 0 0 10px 10px; flex-wrap: wrap; gap: 8px; }
  #denki-mitsumori-app .modal-f label { font-size: 12px; color: #555; }
  #denki-mitsumori-app .modal-f button { padding: 8px 20px; background: #4a7ab8; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-weight: 600; }
  #denki-mitsumori-app .modal-f button:hover { background: #2c4f7e; }
  #denki-mitsumori-app .modal-f button.secondary { background: #fff; color: #4a7ab8; border: 1px solid #4a7ab8; }
  /* 利用規約 */
  #denki-mitsumori-app .terms-content { line-height: 1.7; font-size: 12.5px; color: #333; }
  #denki-mitsumori-app .terms-content h3 { color: #1f3a5f; font-size: 13.5px; margin-top: 18px; margin-bottom: 6px; padding-bottom: 4px; border-bottom: 1.5px solid #4a7ab8; }
  #denki-mitsumori-app .terms-content h3:first-child { margin-top: 0; }
  #denki-mitsumori-app .terms-content p { margin: 6px 0; }
  #denki-mitsumori-app .terms-content ul { padding-left: 22px; margin: 4px 0; }
  #denki-mitsumori-app .terms-content ul li { margin: 2px 0; font-size: 12px; }
  #denki-mitsumori-app .terms-content b { color: #1f3a5f; }
  /* 顧客分析 */
  #denki-mitsumori-app .ana-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 18px; }
  #denki-mitsumori-app .ana-kpi { background: linear-gradient(135deg, #fff, #f5f8fb); border: 1px solid #d6dae0; border-radius: 8px; padding: 14px 16px; }
  #denki-mitsumori-app .ana-kpi .lbl { font-size: 11px; color: #666; margin-bottom: 4px; font-weight: 600; }
  #denki-mitsumori-app .ana-kpi .val { font-size: 22px; font-weight: 700; color: #1f3a5f; font-variant-numeric: tabular-nums; }
  #denki-mitsumori-app .ana-kpi .sub { font-size: 11px; color: #888; margin-top: 2px; }
  #denki-mitsumori-app .ana-section-h { font-size: 14px; color: #1f3a5f; margin: 22px 0 8px 0; padding-bottom: 4px; border-bottom: 2px solid #4a7ab8; font-weight: 600; }
  #denki-mitsumori-app .ana-table { width: 100%; border-collapse: collapse; font-size: 12px; background: #fff; }
  #denki-mitsumori-app .ana-table th { background: #eef2f7; padding: 6px 8px; border: 1px solid #c4c8cf; font-weight: 600; text-align: left; }
  #denki-mitsumori-app .ana-table td { padding: 5px 8px; border: 1px solid #e0e3e7; }
  #denki-mitsumori-app .ana-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
  #denki-mitsumori-app .ana-table td.amount { font-weight: 700; color: #1f3a5f; }
  #denki-mitsumori-app .ana-table tr:hover { background: #f5f8fb; }
  #denki-mitsumori-app .ana-table .top-row { background: #fff8e1; }
  #denki-mitsumori-app .ana-table .top-row td.num { color: #7a5a00; }
  #denki-mitsumori-app .ana-bar-row { display: grid; grid-template-columns: 110px 1fr 100px; gap: 10px; align-items: center; padding: 4px 0; font-size: 12px; }
  #denki-mitsumori-app .ana-bar-row .lbl { color: #444; font-weight: 600; text-align: right; padding-right: 6px; }
  #denki-mitsumori-app .ana-bar-row .bar-bg { background: #eef2f7; border-radius: 3px; height: 18px; position: relative; overflow: hidden; }
  #denki-mitsumori-app .ana-bar-row .bar-fill { background: linear-gradient(90deg, #4a7ab8, #1f3a5f); height: 100%; border-radius: 3px; transition: width 0.3s; }
  #denki-mitsumori-app .ana-bar-row .bar-label { position: absolute; left: 8px; top: 0; line-height: 18px; color: #fff; font-size: 11px; font-weight: 600; mix-blend-mode: difference; }
  #denki-mitsumori-app .ana-bar-row .val { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: #1f3a5f; }
  /* ドラッグ&ドロップ */
  #denki-mitsumori-app #tbl-mat tbody tr[data-row] { cursor: move; }
  #denki-mitsumori-app #tbl-mat tbody tr[data-row].drag-over-top { border-top: 3px solid #4a7ab8 !important; }
  #denki-mitsumori-app #tbl-mat tbody tr[data-row].drag-over-bottom { border-bottom: 3px solid #4a7ab8 !important; }
  #denki-mitsumori-app #tbl-mat tbody tr[data-row].dragging { opacity: 0.4; }
  /* 過去使用品目バッジ */
  #denki-mitsumori-app #search-results td .past-badge { display:inline-block;background:#1e7e34;color:#fff;font-size:10px;padding:1px 5px;border-radius:3px;margin-left:4px; }
  #denki-mitsumori-app #search-results td .same-cust-badge { display:inline-block;background:#d4a017;color:#fff;font-size:10px;padding:1px 5px;border-radius:3px;margin-left:4px; }
  /* 検索/フィルタ強化 (案件マネージャ) */
  /* キーボードショートカットヒント */
  #denki-mitsumori-app .kbd { display: inline-block; padding: 1px 5px; border: 1px solid #c4c8cf; border-radius: 3px; background: #f5f6f8; font-size: 10px; font-family: monospace; color: #555; }
  /* 工事項目ライブラリ */
  /* 標準工事項目編集 */
  #denki-mitsumori-app .def-ws-row { display: grid; grid-template-columns: 30px 1fr 120px 30px; gap: 6px; align-items: center; margin-bottom: 5px; }
  #denki-mitsumori-app .def-ws-row .num-lbl { text-align: center; color: #666; font-size: 12px; font-weight: 600; }
  #denki-mitsumori-app .def-ws-row input { padding: 5px 8px; border: 1px solid #c4c8cf; border-radius: 3px; font-size: 12px; }
  #denki-mitsumori-app .def-ws-row button.del { background: #f5b7b1; border: none; color: #7b241c; padding: 4px 6px; border-radius: 3px; cursor: pointer; font-size: 11px; }
  #denki-mitsumori-app .def-ws-row button.del:hover { background: #e74c3c; color: #fff; }

  #denki-mitsumori-app .koji-group { margin-bottom: 6px; border: 1px solid #d6dae0; border-radius: 4px; overflow: hidden; }
  #denki-mitsumori-app .koji-group.koji-std { border-color: #d4a017; box-shadow: 0 0 0 1px #fff3cd; margin-bottom: 12px; }
  #denki-mitsumori-app .koji-group.koji-std > summary { background: linear-gradient(135deg,#fff8e1,#ffeaa7); color: #7a5a00; }
  #denki-mitsumori-app .koji-group > summary { background: #eef2f7; padding: 6px 10px; font-weight: 600; font-size: 13px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
  #denki-mitsumori-app .koji-group > summary::-webkit-details-marker { display: none; }
  #denki-mitsumori-app .koji-group > summary::before { content: "▶"; font-size: 10px; margin-right: 6px; color: #666; transition: transform 0.15s; }
  #denki-mitsumori-app .koji-group[open] > summary::before { transform: rotate(90deg); }
  #denki-mitsumori-app .koji-group > summary .grp-count { font-size: 11px; color: #777; font-weight: normal; }
  #denki-mitsumori-app .koji-items { padding: 6px 10px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 10px; }
  #denki-mitsumori-app .koji-items label { display: flex; align-items: center; gap: 6px; padding: 4px 6px; border-radius: 3px; cursor: pointer; font-size: 12.5px; }
  #denki-mitsumori-app .koji-items label:hover { background: #f5f6f8; }
  #denki-mitsumori-app .koji-items label input[type="checkbox"] { margin: 0; }
  #denki-mitsumori-app .koji-items label.disabled { color: #aaa; cursor: not-allowed; }
  #denki-mitsumori-app .koji-items label.disabled .already { color: #888; font-size: 10px; margin-left: auto; }

  /* 文書 (cover/breakdown) */
  #denki-mitsumori-app .doc { background: #fff; padding: 18mm 14mm; max-width: 210mm; margin: 0 auto; box-shadow: 0 2px 8px rgba(0,0,0,0.08); font-family: "Yu Mincho", "MS Mincho", serif; color: #111; }
  #denki-mitsumori-app .doc.cover { min-height: 297mm; padding: 18mm 16mm; }
  #denki-mitsumori-app .cover-pro { font-family: "Yu Mincho", "MS Mincho", "Hiragino Mincho ProN", serif; color: #111; }
  #denki-mitsumori-app .cover-pro .cover-top { display: flex; justify-content: flex-end; margin-bottom: 4mm; }
  #denki-mitsumori-app .cover-pro .cover-no-area { font-size: 11pt; padding-bottom: 1mm; border-bottom: 1px dotted #555; min-width: 50mm; text-align: left; }
  #denki-mitsumori-app .cover-pro .cover-no-val { letter-spacing: 0.1em; padding-left: 1em; }
  #denki-mitsumori-app .cover-pro-title { text-align: center; font-size: 26pt; letter-spacing: 0.4em; margin: 6mm 0 4mm 0; padding-left: 0.4em; }
  #denki-mitsumori-app .cover-pro-date { text-align: right; font-size: 11pt; margin-bottom: 8mm; }
  #denki-mitsumori-app .cover-pro-grid { display: grid; grid-template-columns: 1fr auto; gap: 10mm; margin-bottom: 8mm; align-items: end; }
  #denki-mitsumori-app .cover-pro-left .cover-pro-client { font-size: 18pt; padding: 0 6mm 1mm; border-bottom: 1px solid #555; min-height: 26pt; }
  #denki-mitsumori-app .cover-pro-left .cover-pro-client .honor { margin-left: 0.6em; font-size: 16pt; }
  #denki-mitsumori-app .cover-pro-left .cover-pro-clientaddr { font-size: 10pt; padding: 1mm 6mm; color: #444; }
  #denki-mitsumori-app .cover-pro-right { text-align: right; font-size: 10.5pt; line-height: 1.6; }
  #denki-mitsumori-app .cover-pro-right .own-name { font-size: 14pt; font-weight: bold; margin-bottom: 2mm; letter-spacing: 0.05em; }
  #denki-mitsumori-app .cover-pro-right .own-name.placeholder { color: #aaa; font-weight: normal; font-size: 10pt; }
  #denki-mitsumori-app .cover-pro-right .own-line { color: #333; }
  #denki-mitsumori-app .cover-pro-saying { font-size: 11pt; margin: 4mm 0; }
  #denki-mitsumori-app .cover-pro-info { width: 100%; border-collapse: collapse; font-size: 11pt; margin-bottom: 4mm; }
  #denki-mitsumori-app .cover-pro-info th { background: #f0f3f7; border: 1px solid #888; width: 30mm; padding: 2mm 3mm; font-weight: 600; text-align: center; color: #444; font-size: 10.5pt; }
  #denki-mitsumori-app .cover-pro-info td { border: 1px solid #888; padding: 2mm 4mm; font-size: 11pt; min-height: 8mm; }
  #denki-mitsumori-app .cover-pro-amt { width: 100%; border-collapse: collapse; margin: 6mm 0; }
  #denki-mitsumori-app .cover-pro-amt th { background: #eef2f7; border: 1.5px solid #555; padding: 3mm; width: 60mm; text-align: center; font-weight: 600; font-size: 12pt; }
  #denki-mitsumori-app .cover-pro-amt td.num { border: 1.5px solid #555; padding: 3mm; text-align: right; font-size: 14pt; font-variant-numeric: tabular-nums; padding-right: 8mm; }
  #denki-mitsumori-app .cover-pro-amt .taxrate { font-size: 9pt; color: #666; font-weight: normal; }
  #denki-mitsumori-app .cover-pro-amt .total-row th { background: #1f3a5f; color: #fff; font-size: 14pt; }
  #denki-mitsumori-app .cover-pro-amt .total-row td.num { background: #fff8e1; font-weight: bold; font-size: 16pt; border-color: #1f3a5f; border-width: 2px; }
  #denki-mitsumori-app .cover-pro-note { margin-top: 6mm; }
  #denki-mitsumori-app .cover-pro-note-h { font-weight: 600; margin-bottom: 1mm; font-size: 10.5pt; }
  #denki-mitsumori-app .cover-pro-note-b { white-space: pre-wrap; border: 1px solid #888; padding: 3mm; min-height: 14mm; font-size: 10.5pt; }
  #denki-mitsumori-app .cover-pro-foot { margin-top: 8mm; padding-top: 4mm; border-top: 1px dashed #888; }
  #denki-mitsumori-app .cover-pro-tax-note { font-size: 9pt; color: #555; line-height: 1.5; }

  /* 見積条件書 */
  #denki-mitsumori-app .doc.conditions { font-family: "Yu Gothic", "Meiryo", sans-serif; padding: 16mm 14mm; }
  #denki-mitsumori-app .doc.conditions .cond-h { text-align: center; font-size: 13pt; margin-bottom: 6mm; }
  #denki-mitsumori-app .doc.conditions .cond-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm; margin-bottom: 4mm; }
  #denki-mitsumori-app .doc.conditions .cond-meta .ttl { font-weight: 600; font-size: 11pt; }
  #denki-mitsumori-app .doc.conditions .cond-meta .sigbox { border: 1px solid #888; padding: 6mm 4mm 4mm; font-size: 10pt; min-height: 20mm; position: relative; }
  #denki-mitsumori-app .doc.conditions .cond-meta .sigbox .sig-h { position: absolute; top: -3mm; left: 4mm; background: #fff; padding: 0 2mm; font-size: 9pt; color: #666; }
  #denki-mitsumori-app .doc.conditions .cond-saying { font-weight: 600; padding: 2mm 0 3mm; font-size: 10.5pt; }
  #denki-mitsumori-app .doc.conditions .cond-block { margin-bottom: 6mm; border: 1px solid #888; }
  #denki-mitsumori-app .doc.conditions .cond-block .blk-h { background: #eef2f7; padding: 2mm 4mm; font-weight: 600; font-size: 10.5pt; border-bottom: 1px solid #888; }
  #denki-mitsumori-app .doc.conditions .cond-block ol { margin: 0; padding: 2mm 8mm 2mm 14mm; font-size: 10pt; line-height: 1.8; }
  #denki-mitsumori-app .doc.conditions .cond-block li { padding: 0; }
  #denki-mitsumori-app .doc.conditions .cond-block.empty { color: #999; font-size: 10pt; padding: 4mm; text-align: center; border-style: dashed; }
  #denki-mitsumori-app .doc.conditions .cond-foot { margin-top: 6mm; text-align: right; font-size: 10pt; }
  #denki-mitsumori-app .doc.breakdown { font-family: "Yu Gothic", "Meiryo", sans-serif; }
  #denki-mitsumori-app .doc.breakdown table { width: 100%; border-collapse: collapse; font-size: 9pt; }
  #denki-mitsumori-app .doc.breakdown table th { background: #eef2f7; border: 0.5px solid #555; padding: 3px 4px; line-height: 1.2; }
  #denki-mitsumori-app .doc.breakdown table td { border: 0.5px solid #888; padding: 2px 4px; line-height: 1.3; }
  #denki-mitsumori-app .doc.breakdown table td.num { text-align: right; font-variant-numeric: tabular-nums; }
  #denki-mitsumori-app .doc.breakdown table td.ctr { text-align: center; }
  #denki-mitsumori-app .doc.breakdown .doc-h { font-size: 14pt; text-align: center; margin-bottom: 4mm; }
  #denki-mitsumori-app .doc.breakdown .meta { display: grid; grid-template-columns: 1fr 1fr; font-size: 9pt; margin-bottom: 4mm; gap: 2px 12px; }
  #denki-mitsumori-app .doc.breakdown tr.section td { background: #d6e3f0; font-weight: 700; padding: 3px 5px; font-size: 9.5pt; }
  #denki-mitsumori-app .doc.breakdown tr.subtotal td { background: #f4f7fb; font-weight: 600; }
  #denki-mitsumori-app .doc.breakdown tr.totalrow td { background: #1f3a5f; color: #fff; font-weight: 700; padding: 4px 5px; font-size: 10pt; }
  #denki-mitsumori-app .doc.breakdown tr.cat-major td { background: #fff; font-weight: 700; padding: 3mm 2mm 1mm; font-size: 10.5pt; border-top: 1.5px solid #555; border-bottom: none; }
  #denki-mitsumori-app .doc.breakdown td.indent1 { padding-left: 6mm; }
  #denki-mitsumori-app .doc.breakdown tr.midsum td { background: #f0f4f8; font-weight: 600; border-top: 1px solid #555; }
  #denki-mitsumori-app .doc.breakdown tr.grandsum td { background: #fff8e1; font-weight: 700; border-top: 1.5px solid #555; }
  #denki-mitsumori-app .doc.breakdown tr.welfare td { background: #fafbfd; color: #666; font-style: italic; padding-top: 3mm; border-top: 1px dashed #888; }

  /* 内訳書 ページレイアウト (一式+明細 モード) */
  #denki-mitsumori-app .doc.breakdown .bd-page-h { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8mm; margin-bottom: 4mm; padding-bottom: 2mm; border-bottom: 0.5px solid #888; }
  #denki-mitsumori-app .doc.breakdown .bd-page-h-l { font-size: 9.5pt; line-height: 1.4; }
  #denki-mitsumori-app .doc.breakdown .bd-page-h-r { font-size: 10pt; padding-right: 4mm; min-width: 26mm; text-align: right; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-page,
#denki-mitsumori-app .doc.breakdown .section-page,
#denki-mitsumori-app .doc.breakdown .bd-meta-block { page-break-inside: avoid; }
  #denki-mitsumori-app .doc.breakdown .section-page { page-break-before: always; padding-top: 4mm; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-page + .section-page,
#denki-mitsumori-app .doc.breakdown .section-page + .section-page { page-break-before: always; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-table,
#denki-mitsumori-app .doc.breakdown .bd-detail-table { width: 100%; border-collapse: collapse; font-size: 9pt; margin-top: 2mm; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-table th,
#denki-mitsumori-app .doc.breakdown .bd-detail-table th { background: #eef2f7; border: 0.5px solid #555; padding: 2mm 3mm; line-height: 1.2; font-weight: 600; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-table td,
#denki-mitsumori-app .doc.breakdown .bd-detail-table td { border: 0.5px solid #888; padding: 1.1mm 3mm; line-height: 1.2; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table td { padding: 1mm 3mm; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table td.num,
#denki-mitsumori-app .doc.breakdown .bd-summary-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table td.ctr,
#denki-mitsumori-app .doc.breakdown .bd-summary-table td.ctr { text-align: center; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table tr.sec-sub td { background: #f4f7fb; font-weight: 600; border-top: 1px solid #555; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table tr.sec-blank td { border: none; height: 4mm; padding: 0; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table tr.sec-itemtotal td { background: #fff8e1; font-weight: 700; border-top: 1.5px solid #555; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table tr.sec-pad td { padding: 1.2mm 3mm; line-height: 1.3; height: 1.3em; color: transparent; }
  #denki-mitsumori-app .doc.breakdown .bd-summary-table tr.sum-pad td { padding: 1.2mm 3mm; line-height: 1.3; height: 1.3em; color: transparent; }
  #denki-mitsumori-app .doc.breakdown .bd-detail-table thead { display: table-header-group; }
  #denki-mitsumori-app .doc.breakdown tr.summary td { padding: 2px 4px; }
  #denki-mitsumori-app .doc.breakdown .bd-toolbar { background:#fff8e1; border: 1px solid #ecca7c; padding: 6px 10px; border-radius: 4px; margin-bottom: 8px; font-size: 12px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

  #denki-mitsumori-app .pager-row { display:flex; align-items:center; gap:10px; margin:8px 0; font-size:12px; color:#444; flex-wrap: wrap; }
  #denki-mitsumori-app .pager-row button { padding:4px 10px; border:1px solid #c4c8cf; background:#fff; border-radius:3px; cursor:pointer; }
  #denki-mitsumori-app .pager-row button:disabled { opacity:0.4; cursor:default; }

  @media print {

    #denki-mitsumori-app header,
#denki-mitsumori-app nav,
#denki-mitsumori-app .actions,
#denki-mitsumori-app .panel-h,
#denki-mitsumori-app .add-line,
#denki-mitsumori-app .search,
#denki-mitsumori-app #view-input,
#denki-mitsumori-app #view-master,
#denki-mitsumori-app .no-print,
#denki-mitsumori-app .modal-bg,
#denki-mitsumori-app .bd-toolbar { display: none !important; }
    #denki-mitsumori-app .doc.cover { page-break-after: always; }
    #denki-mitsumori-app .doc.conditions { page-break-after: always; }
    #denki-mitsumori-app { background: #fff; font-size: 9pt; }
    #denki-mitsumori-app main { padding: 0; max-width: none; }
    #denki-mitsumori-app .view { display: none !important; }
    #denki-mitsumori-app .view.print-active { display: block !important; }
    #denki-mitsumori-app .doc { box-shadow: none; padding: 12mm 10mm; max-width: none; margin: 0; }
    #denki-mitsumori-app .doc.cover { padding: 18mm 16mm; page-break-after: always; }
    #denki-mitsumori-app .doc.conditions { padding: 16mm 14mm; page-break-after: always; }
    #denki-mitsumori-app .doc.breakdown { padding: 12mm 10mm; }
    #denki-mitsumori-app .doc.breakdown .bd-summary-page { page-break-after: always; }
    #denki-mitsumori-app .doc.breakdown .section-page { page-break-before: always; page-break-inside: avoid; }
    #denki-mitsumori-app .doc.breakdown .section-page:last-child { page-break-after: auto; }
    #denki-mitsumori-app .doc.breakdown table { font-size: 8.5pt; }
    #denki-mitsumori-app .doc.breakdown .bd-summary-table,
#denki-mitsumori-app .doc.breakdown .bd-detail-table { font-size: 8.5pt; }
    #denki-mitsumori-app .doc.breakdown table th { padding: 1.2mm 2mm; line-height: 1.15; }
    #denki-mitsumori-app .doc.breakdown table td { padding: 0.9mm 2mm; line-height: 1.15; }
    #denki-mitsumori-app .doc.breakdown .doc-h { font-size: 13pt; margin-bottom: 3mm; }
    #denki-mitsumori-app .doc.breakdown .meta { font-size: 8.5pt; margin-bottom: 3mm; }
    #denki-mitsumori-app .doc.breakdown .bd-page-h { margin-bottom: 2.5mm; padding-bottom: 1.5mm; }
    #denki-mitsumori-app .doc.breakdown tr { page-break-inside: avoid; }
    #denki-mitsumori-app table { page-break-inside: auto; }
    #denki-mitsumori-app thead { display: table-header-group; }
    #denki-mitsumori-app tfoot { display: table-row-group; }
    #denki-mitsumori-app .bd-page-h { page-break-after: avoid; }
  
}
  @page { size: A4 portrait; margin: 0; }
  @page :first { margin: 0; }
  #denki-mitsumori-app .toolbar-tip { font-size: 11px; color: #d0e0f0; margin-left: 6px; }

/* === WordPress テーマとの干渉対策 === */

/* テーマ側で特定のスタイルが当たっている要素のリセット */
.entry-content #denki-mitsumori-app,
.post-content #denki-mitsumori-app,
.page-content #denki-mitsumori-app,
article #denki-mitsumori-app {
  margin: 1em -20px !important;
  padding: 0 !important;
  max-width: none !important;
  width: auto !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #222 !important;
}

/* テーマの ".entry-content table" や ".post table" 等で table が崩れる対策 */
#denki-mitsumori-app table.items,
#denki-mitsumori-app table.fav-table,
#denki-mitsumori-app table.ana-table,
#denki-mitsumori-app .doc.breakdown table {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-spacing: 0 !important;
  background: transparent !important;
  display: table !important;
}

/* テーマの "li::before" や "ul" マーカーで明細が崩れる対策 */
#denki-mitsumori-app ul li::before,
#denki-mitsumori-app ol li::before {
  content: none !important;
}

/* nav button が theme のメニューと衝突しないように */
#denki-mitsumori-app nav { background: transparent !important; }
#denki-mitsumori-app nav button { box-shadow: none !important; text-shadow: none !important; }

/* === 印刷時: WordPress テーマ部分を非表示 === */
@media print {
  body > *:not(#denki-mitsumori-app):not(.modal-bg),
  body > header:not(#denki-mitsumori-app header),
  body > footer,
  body > nav,
  body > aside,
  body > .site-header,
  body > .site-footer,
  body > .navigation,
  body > .sidebar,
  body > #masthead,
  body > #colophon,
  body > #site-navigation,
  body > #wpadminbar,
  #wpadminbar,
  .site-header,
  .site-footer,
  .site-navigation,
  .widget-area,
  .sidebar,
  .nav-menu,
  .breadcrumb,
  .post-navigation,
  .entry-meta,
  .entry-footer,
  .comments-area,
  .related-posts,
  #masthead,
  #colophon,
  header.site-header,
  footer.site-footer {
    display: none !important;
  }
  body, html, .site, .site-content, .content-area, main, #main, #content,
  article, .entry-content, .post-content, .page-content {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
  }
  #denki-mitsumori-app {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    position: static !important;
  }
}

/* WordPress admin-bar (32px or 46px) の影響でヘッダーが隠れないように */
.admin-bar #denki-mitsumori-app header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar #denki-mitsumori-app header { top: 46px; }
}


/* === 文字可読性 強化 (テーマ干渉防止) === */
#denki-mitsumori-app .panel-h,
#denki-mitsumori-app h1,
#denki-mitsumori-app h2,
#denki-mitsumori-app h3,
#denki-mitsumori-app h4,
#denki-mitsumori-app strong,
#denki-mitsumori-app b {
  color: #1a1a1a !important;
  text-shadow: none !important;
}
#denki-mitsumori-app header h1 {
  color: #ffffff !important;
}
#denki-mitsumori-app nav button,
#denki-mitsumori-app .actions button {
  text-shadow: none !important;
  font-weight: 600 !important;
}
#denki-mitsumori-app table.items th,
#denki-mitsumori-app table.items td {
  color: #1a1a1a !important;
  font-size: 13px !important;
}
#denki-mitsumori-app table.items input {
  color: #1a1a1a !important;
}
#denki-mitsumori-app table.items td.num {
  color: #1a1a1a !important;
  font-weight: 500 !important;
}
#denki-mitsumori-app .grid-form label,
#denki-mitsumori-app .ws-list .ws-h,
#denki-mitsumori-app .panel-tip,
#denki-mitsumori-app .toolbar-tip {
  color: #444 !important;
  text-shadow: none !important;
}
#denki-mitsumori-app .summary-box .lbl,
#denki-mitsumori-app .summary-box .val {
  color: #1a1a1a !important;
}
#denki-mitsumori-app .totals-bar .tb-item .lbl {
  color: #555 !important;
}
#denki-mitsumori-app .totals-bar .tb-item .val {
  color: #1a1a1a !important;
}
/* テーマで a タグに underline 等が当たる場合を打ち消し */
#denki-mitsumori-app a {
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* === WP用 レスポンシブ強化 === */
@media (max-width: 1024px) {
  #denki-mitsumori-app main { padding: 12px !important; }
  #denki-mitsumori-app .panel-h { font-size: 12.5px !important; }
  #denki-mitsumori-app table.items { font-size: 11.5px !important; }
}
@media (max-width: 768px) {
  #denki-mitsumori-app header { flex-direction: column; align-items: stretch; padding: 8px !important; }
  #denki-mitsumori-app header h1 { font-size: 14px !important; text-align: center; }
  #denki-mitsumori-app nav { justify-content: center; flex-wrap: wrap; }
  #denki-mitsumori-app .actions { justify-content: center; flex-wrap: wrap; }
  #denki-mitsumori-app .actions button { font-size: 11px !important; padding: 4px 8px !important; }
  #denki-mitsumori-app main { padding: 8px !important; }
  #denki-mitsumori-app .panel-b { padding: 8px !important; }
  #denki-mitsumori-app .summary-box { grid-template-columns: 1fr 80px 110px !important; max-width: 100% !important; }
  #denki-mitsumori-app table.items { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  #denki-mitsumori-app .modal { max-width: 96% !important; }
  #denki-mitsumori-app .totals-bar { flex-wrap: wrap !important; gap: 8px !important; }
  #denki-mitsumori-app .totals-bar .tb-sep { display: none; }
  #denki-mitsumori-app .totals-bar .tb-item { min-width: 80px !important; }
  #denki-mitsumori-app .ws-list { grid-template-columns: 40px 1fr 80px 40px !important; gap: 4px 6px !important; }
}
@media (max-width: 480px) {
  #denki-mitsumori-app .modal-bg { padding: 20px 8px !important; }
  #denki-mitsumori-app .modal-h h2 { font-size: 14px !important; }
  #denki-mitsumori-app .modal-b { padding: 12px !important; }
  #denki-mitsumori-app .launcher-grid { grid-template-columns: 1fr !important; }
}

/* Modal header smaller for top-aligned modals */
#denki-mitsumori-app .modal-h {
  padding: 12px 18px !important;
}
#denki-mitsumori-app .modal-h h2 {
  font-size: 16px !important;
  line-height: 1.4 !important;
}
#denki-mitsumori-app .modal-h .sub {
  font-size: 11px !important;
  opacity: 0.85 !important;
}
