:root{--navy:#071525;--navy2:#0d223a;--gold:#c8a763;--bg:#f5f7fa;--line:#dde4ec;--muted:#65758b;--red:#aa3232}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif;background:var(--bg);color:#182232;line-height:1.65}a{color:inherit;text-decoration:none}
.top{height:68px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand b{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(200,167,99,.6);border-radius:10px;color:var(--gold)}.top-user{font-size:.9rem;color:#c8d3df}.top-user a{color:#fff}
.shell{width:min(1160px,calc(100% - 30px));margin:34px auto}.auth-wrap{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:34px 0}.auth-card{width:min(460px,calc(100% - 28px));background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:0 18px 50px rgba(7,21,37,.08)}h1{line-height:1.25}.field{margin:14px 0}.field label{display:block;font-size:.88rem;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:0;border-radius:999px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.btn.gold{background:var(--gold);color:var(--navy)}.btn.full{width:100%}.muted{color:var(--muted);font-size:.9rem}.error{background:#fff1f1;border:1px solid #efc6c6;color:#812727;padding:11px 13px;border-radius:10px}.ok{background:#effaf2;border:1px solid #c5e8ce;color:#285d35;padding:11px 13px;border-radius:10px}
.grid{display:grid;grid-template-columns:240px 1fr;gap:24px}.side{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;height:max-content}.side a{display:block;padding:11px 12px;border-radius:9px;font-weight:700}.side a:hover{background:#f0f3f7}.main{min-width:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.card strong{display:block;font-size:1.6rem}.card span{color:var(--muted);font-size:.9rem}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:18px}.actions{display:flex;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}.save-state{font-size:.85rem;color:var(--muted);margin-left:10px}.placeholder{padding:34px;text-align:center;color:var(--muted)}
@media(max-width:850px){.grid{grid-template-columns:1fr}.side{display:flex;overflow:auto;white-space:nowrap}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:560px){.cards{grid-template-columns:1fr}.top{padding:0 14px}.top-user{font-size:.78rem}.auth-card{padding:24px}.shell{margin-top:22px}}

/* v0.1.7: 初期設定 郵便番号 / ダッシュボード主要ボタン */
.postal-row{display:flex;gap:8px;align-items:stretch}.postal-row input{min-width:0}.postal-search{flex:0 0 auto;border:1px solid var(--navy2);border-radius:8px;padding:0 14px;background:#fff;color:var(--navy);font-weight:800;cursor:pointer}.postal-search:hover{background:#f1f5f9}.postal-search:disabled{opacity:.55;cursor:wait}.postal-status{display:block;margin-top:6px;color:var(--muted);font-size:.8rem}
.btn.dash-action{border-radius:8px;background:#fff;border:2px solid currentColor;min-height:46px}.btn.dash-action.invoice{color:#21864a}.btn.dash-action.estimate{color:#2f6fd6}.btn.dash-action.receipt{color:#d97816}.btn.dash-action.report{color:#102d4f}.btn.dash-action:hover{background:#f7f9fc}
@media(max-width:560px){.postal-row{flex-direction:column}.postal-search{min-height:44px}}

/* v0.1.9: 全パスワード欄 表示/非表示 */
.password-wrap{position:relative;width:100%}
.password-wrap input{padding-right:48px!important}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:#536477;display:grid;place-items:center;cursor:pointer;border-radius:8px;padding:0}
.password-toggle:hover{background:#eef2f6;color:var(--navy)}
.password-toggle:focus-visible{outline:2px solid var(--navy2);outline-offset:1px}
.password-toggle svg{width:21px;height:21px;pointer-events:none}

/* v0.2.0: 請求書 CRUD */
.side a.current{background:#eef3f8;color:var(--navy)}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px}.page-head h1{margin:.25rem 0}.back-link{font-size:.9rem;color:var(--muted);font-weight:700}.doc-number{margin:.35rem 0;color:var(--muted)}
.btn.invoice-primary{background:#21864a;color:#fff;border-radius:8px}.btn.invoice-primary:hover{background:#176b39}.btn.secondary{background:#fff;color:var(--navy);border:1px solid #bcc7d4;border-radius:8px}.btn.small-btn{min-height:38px;padding:0 13px;font-size:.86rem}
.warn{background:#fff8e6;border:1px solid #ead18a;color:#6b5415;padding:11px 13px;border-radius:10px;margin:12px 0}
.info-box{background:#eef6ff;border:1px solid #c7dced;color:#31526c;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.doc-tabs{display:flex;gap:8px;margin:18px 0 0;flex-wrap:wrap}.doc-tabs a{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:8px;font-weight:800;color:#536477}.doc-tabs a.active{background:var(--navy);color:#fff;border-color:var(--navy)}.doc-tabs b{margin-left:5px}
.doc-list-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}.doc-table{width:100%;border-collapse:collapse;min-width:850px}.doc-table th,.doc-table td{padding:13px 14px;text-align:left;border-bottom:1px solid #edf0f4;vertical-align:middle}.doc-table th{background:#f8fafc;color:#5c6b7c;font-size:.8rem;white-space:nowrap}.doc-table .money{text-align:right;font-weight:400}.row-actions{display:flex;gap:9px;align-items:center;white-space:nowrap}.row-actions form{margin:0}.link-btn{border:0;background:none;padding:4px;color:#245c8a;font-weight:800;cursor:pointer;font:inherit;font-size:.86rem}.danger-link{color:#a63a3a}
.status-pill{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap;background:#edf1f5;color:#526173}.status-draft{background:#f0f2f5}.status-send_pending{background:#fff5d8;color:#765d10}.status-sent_unpaid{background:#edf5ff;color:#245f9a}.status-paid{background:#edf9f0;color:#27683a}
.empty-state{padding:44px 20px;text-align:center}.empty-state strong,.empty-state span{display:block}.empty-state strong{font-size:1.05rem}.empty-state span{color:var(--muted);margin-top:5px}
.form-section{margin-top:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.section-title h2{margin:0;font-size:1.08rem}.customer-mode{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0 12px}.customer-mode label{font-weight:700}.is-hidden{display:none!important}.new-customer-box{border-top:1px solid #edf0f4;margin-top:14px;padding-top:14px}
.invoice-items{display:grid;gap:12px}.item-row{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfd}.item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-number{font-size:.9rem}.remove-item{border:0;background:transparent;color:#a63a3a;font-weight:800;cursor:pointer}.remove-item:disabled{opacity:.3;cursor:not-allowed}
.item-fields{display:grid;grid-template-columns:minmax(220px,2.4fr) 100px 110px 110px 140px 125px;gap:10px;align-items:end}.item-fields .field{margin:0}.amount-field{min-width:0}.line-amount{height:46px;display:flex;align-items:center;justify-content:flex-end;border:1px solid #e7ebef;background:#fff;border-radius:10px;padding:0 12px;font-weight:900;white-space:nowrap}
.totals-panel{max-width:620px;margin-left:auto}.totals-grid{display:grid;gap:8px}.totals-grid>div{display:flex;justify-content:space-between;gap:18px;padding:5px 0}.totals-grid .grand-total{border-top:2px solid var(--navy);padding-top:12px;margin-top:6px;font-size:1.2rem}.tax-note{text-align:right;margin-bottom:0}
.check-label{display:flex!important;align-items:center;gap:8px}.check-label input{width:auto!important}.paid-box #paid-date-wrap{margin-top:8px}
.sticky-save{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:10px;padding:14px 0;margin-top:12px;background:linear-gradient(to bottom,rgba(245,247,250,0),rgba(245,247,250,.96) 24%,rgba(245,247,250,1))}
@media(max-width:1000px){.item-fields{grid-template-columns:1fr 1fr 1fr}.item-detail{grid-column:1/-1}}
@media(max-width:700px){.page-head{align-items:stretch;flex-direction:column}.page-head .btn{width:100%}.item-row{padding:12px}.item-fields{grid-template-columns:1fr 1fr}.item-detail{grid-column:1/-1}.amount-field{grid-column:1/-1}.line-amount{justify-content:flex-start}.totals-panel{max-width:none}.sticky-save{display:grid;grid-template-columns:1fr 1fr}.sticky-save .btn{width:100%}.customer-mode{display:grid;gap:8px}.doc-list-panel{margin-left:-2px;margin-right:-2px}}

/* v0.2.3: Version表示・請求書タブ色調整 */
.version-badge{
  display:inline-block;
  margin-left:6px;
  font-size:.68rem;
  font-weight:700;
  opacity:.62;
  vertical-align:middle;
  letter-spacing:.02em;
}
.doc-tabs a.tab-paid{
  background:#eaf7ee;
  border-color:#7fc28f;
  color:#22683a;
}
.doc-tabs a.tab-paid:hover{
  background:#dff2e5;
}
.doc-tabs a.tab-paid.active{
  background:#2f8f4e;
  border-color:#2f8f4e;
  color:#fff;
}
.doc-tabs a.tab-trash{
  background:#fff2e6;
  border-color:#e8a15b;
  color:#9a5414;
}
.doc-tabs a.tab-trash:hover{
  background:#ffe9d4;
}
.doc-tabs a.tab-trash.active{
  background:#e78a2f;
  border-color:#e78a2f;
  color:#fff;
}

/* v0.2.4: 請求書「通常」タブをブルー系に */
.doc-tabs a.tab-normal{
  background:#edf5ff;
  border-color:#8bb7e8;
  color:#245f9a;
}
.doc-tabs a.tab-normal:hover{
  background:#e1efff;
}
.doc-tabs a.tab-normal.active{
  background:#2f78bd;
  border-color:#2f78bd;
  color:#fff;
}

/* v0.2.6: 請求書の閲覧専用画面 / PDF用 */
.view-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.view-link{color:#3c6486}
.invoice-readonly{margin-top:14px}
.invoice-sheet{
  position:relative;
  max-width:900px;
  margin:0 auto;
  background:#fff;
  border:1px solid #dfe5eb;
  border-radius:10px;
  padding:34px 38px;
}
.invoice-title{
  text-align:center;
  font-size:1.7rem;
  font-weight:800;
  letter-spacing:.32em;
  margin:0 0 28px;
}
.invoice-meta-top{display:grid;grid-template-columns:1fr 270px;gap:28px;align-items:start}
.customer-block{line-height:1.75}
.customer-name{font-size:1.18rem;font-weight:800;border-bottom:1px solid #667;display:inline-block;padding:0 10px 4px 0;margin-bottom:8px}
.doc-meta{display:grid;gap:7px;font-size:.92rem}
.doc-meta>div{display:grid;grid-template-columns:90px 1fr;gap:8px}
.doc-meta span{color:#627180}
.issuer-block{text-align:right;line-height:1.55;margin-top:14px;font-size:.9rem}
.issuer-company{font-weight:800;font-size:1.03rem}
.project-box{display:grid;grid-template-columns:90px 1fr;gap:12px;border-top:1px solid #dfe5eb;border-bottom:1px solid #dfe5eb;padding:12px 0;margin:22px 0 16px}
.project-box span{color:#627180}
.amount-hero{display:flex;justify-content:space-between;align-items:center;background:#f6f8fb;border:1px solid #dfe5eb;border-radius:8px;padding:14px 16px;margin-bottom:18px}
.amount-hero span{font-weight:700}
.amount-hero strong{font-size:1.5rem}
.readonly-table-wrap{overflow-x:auto}
.readonly-items{width:100%;border-collapse:collapse;min-width:620px}
.readonly-items th,.readonly-items td{border:1px solid #cfd7df;padding:9px 10px;font-size:.88rem}
.readonly-items th{background:#f3f6f9;text-align:center}
.readonly-items td.num{text-align:right;white-space:nowrap}
.readonly-totals{width:min(430px,100%);margin:16px 0 0 auto}
.readonly-totals>div{display:flex;justify-content:space-between;padding:5px 0}
.readonly-totals .total{border-top:2px solid #263d56;margin-top:6px;padding-top:10px;font-size:1.08rem}
.bank-box,.notes-box{border-top:1px solid #dfe5eb;padding-top:14px;margin-top:22px;font-size:.9rem;line-height:1.6}
.readonly-heading{font-weight:800;margin-bottom:5px}
.readonly-status{display:flex;justify-content:flex-end;gap:18px;color:#697887;font-size:.82rem;border-top:1px solid #edf0f4;padding-top:12px;margin-top:22px}
.print-version .invoice-sheet{border:0;border-radius:0;padding:0}
@media(max-width:700px){
 .invoice-sheet{padding:22px 16px}
 .invoice-meta-top{grid-template-columns:1fr}
 .issuer-block{text-align:left}
 .view-actions{width:100%}
 .view-actions .btn{flex:1}
 .readonly-status{justify-content:flex-start;flex-wrap:wrap}
}

/* v0.2.7: ロゴ・印影設定 */
.image-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.image-setting-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fbfcfd}
.image-setting-card h3{margin:0 0 12px}
.issuer-image-preview{min-height:120px;border:1px dashed #cfd7df;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:12px;margin-bottom:12px}
.issuer-image-preview img{max-width:240px;max-height:100px;object-fit:contain}
.issuer-image-preview.stamp-preview img{max-width:120px;max-height:120px}
.image-empty{height:90px;border:1px dashed #cfd7df;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--muted);margin-bottom:12px;background:#fff}
.setup-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.issuer-visuals{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:7px}
.issuer-logo{max-width:160px;max-height:60px;object-fit:contain}
.issuer-stamp{max-width:74px;max-height:74px;object-fit:contain}
@media(max-width:700px){
 .image-setting-grid,.setup-image-grid{grid-template-columns:1fr}
 .issuer-visuals{justify-content:flex-start}
}
@media print{
 .issuer-logo{max-width:42mm;max-height:16mm}
 .issuer-stamp{max-width:20mm;max-height:20mm}
}

/* v0.2.8: 振込先は1項目1行で表示 */
.bank-lines{display:grid;gap:2px;line-height:1.55}

/* v0.2.9: 金融機関名欄の全体幅はそのまま、内部だけ入力＋種別に分割 */
.financial-name-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:8px;
  width:100%;
  max-width:100%;
}
.financial-name-row input,
.financial-name-row select{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
@media(max-width:700px){
  .financial-name-row{
    grid-template-columns:minmax(0,1fr) 132px;
    gap:6px;
  }
}

/* v0.3.0: メールテンプレート / 送信準備 */
.btn.send-btn{background:#2563a7;color:#fff;border-radius:8px}
.btn.send-btn:hover{background:#1c508a}
.btn.send-btn:disabled{background:#aeb9c5;color:#f4f6f8;cursor:not-allowed;opacity:1}
.mail-template-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mail-template-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fbfcfd}
.mail-template-card h3{margin:0 0 12px}
.mail-template-card textarea{min-height:210px;resize:vertical}
.settings-card-save{display:flex;justify-content:flex-end;margin-top:16px}
.send-preview-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.send-gate-note{margin-top:14px;padding:12px 14px;border-radius:9px;background:#fff8e6;border:1px solid #ead18a;color:#6b5415;font-size:.9rem;line-height:1.6}
@media(max-width:1000px){.mail-template-cards{grid-template-columns:1fr}}
@media(max-width:700px){.send-preview-actions{display:grid;grid-template-columns:1fr 1fr}.send-preview-actions .btn{width:100%}}

/* v0.3.1: 支払期限と登録番号を同じ高さへ */
.invoice-header-aligned-row{
  display:grid;
  grid-template-columns:1fr 270px;
  gap:28px;
  align-items:center;
  margin-top:10px;
}
.due-date-line,
.registration-line{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:28px;
  font-size:.92rem;
}
.due-date-line span,
.registration-line span{
  color:#627180;
  white-space:nowrap;
}
.due-date-line strong,
.registration-line strong{
  color:#1f2f3f;
  font-weight:800;
}
.registration-line{
  justify-content:flex-end;
}
@media(max-width:700px){
  .invoice-header-aligned-row{
    grid-template-columns:1fr;
    gap:6px;
  }
  .registration-line{
    justify-content:flex-start;
  }
}

/* v0.3.2: 請求書ヘッダー再構成・明細最低5行 */
.invoice-sheet{
  padding-top:24px;
}
.invoice-title{
  margin-bottom:18px;
}

.invoice-header-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:28px;
  align-items:stretch;
}

.invoice-left-stack{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}

.customer-block{
  line-height:1.65;
}

.doc-meta-under-customer{
  margin-top:auto;
  padding-top:18px;
  display:grid;
  gap:6px;
  font-size:.92rem;
  max-width:320px;
}

.doc-meta-under-customer>div{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:8px;
  align-items:baseline;
}

.doc-meta-under-customer span{
  color:#627180;
  white-space:nowrap;
}

.doc-meta-under-customer strong{
  color:#1f2f3f;
  font-weight:800;
}

.issuer-block{
  margin-top:0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  min-height:100%;
  text-align:right;
  line-height:1.48;
}

.issuer-visuals{
  min-height:74px;
  margin-bottom:5px;
}

.issuer-email{
  margin-top:auto;
}

.project-box{
  margin-top:14px;
}

/* v0.3.1用の旧配置は使用しない */
.invoice-header-aligned-row{
  display:none!important;
}

.readonly-items tbody tr{
  height:38px;
}

.readonly-items tbody tr.empty-detail-row td{
  color:transparent;
  background:#fff;
}

@media(max-width:700px){
  .invoice-header-body{
    grid-template-columns:1fr;
    gap:18px;
  }

  .invoice-left-stack{
    min-height:auto;
  }

  .doc-meta-under-customer{
    margin-top:16px;
    padding-top:0;
    max-width:none;
  }

  .issuer-block{
    align-items:flex-start;
    text-align:left;
  }

  .issuer-email{
    margin-top:0;
  }
}

@media print{
  .invoice-sheet{
    padding-top:0;
  }

  .invoice-title{
    margin-bottom:12px;
  }

  .invoice-header-body{
    grid-template-columns:minmax(0,1fr) 68mm;
    gap:8mm;
  }

  .doc-meta-under-customer{
    padding-top:4mm;
    max-width:82mm;
    gap:1.4mm;
  }

  .readonly-items tbody tr{
    height:9mm;
  }

  .project-box{
    margin-top:4mm;
  }
}

/* v0.3.3: 右側発行者ブロックを下へ / 指定項目の太字解除 */
.doc-meta-under-customer .meta-value{
  color:#1f2f3f;
  font-weight:400;
}

.doc-meta-under-customer strong{
  font-weight:400;
  color:#1f2f3f;
}

.issuer-block{
  justify-content:flex-end;
  padding-top:18px;
}

.issuer-visuals{
  min-height:0;
  margin-bottom:6px;
}

.issuer-company,
.issuer-company.normal-weight{
  font-weight:400;
  font-size:1rem;
}

.issuer-email{
  margin-top:4px;
}

@media(max-width:700px){
  .issuer-block{
    justify-content:flex-start;
    padding-top:0;
  }
  .issuer-email{
    margin-top:4px;
  }
}

@media print{
  .issuer-block{
    justify-content:flex-end;
    padding-top:2mm;
  }
  .issuer-email{
    margin-top:1.2mm;
  }
}

/* v0.3.4: 明細右寄せ / 合計欄の太字調整 */
.readonly-items td.num{
  text-align:right;
  white-space:nowrap;
}
.readonly-totals .summary-amount{
  font-weight:400;
  color:#1f2f3f;
}
.readonly-totals .total b{
  font-weight:800;
}

/* v0.3.5: 請求情報ラベルの体裁調整 / 発行者住所の左揃え */
.doc-meta-under-customer>div{
  grid-template-columns:100px minmax(0,1fr);
  gap:12px;
}
.doc-meta-under-customer .meta-label{
  color:#627180;
  white-space:nowrap;
  letter-spacing:0.02em;
}
.issuer-address-block{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  width:max-content;
  margin-left:auto;
}
@media(max-width:700px){
  .issuer-address-block{
    margin-left:0;
  }
}

/* v0.3.6: 請求情報ラベル整列の再調整 */
.doc-meta-under-customer>div{
  grid-template-columns: 84px minmax(0,1fr);
  gap: 6px;
}

.doc-meta-under-customer .meta-label{
  text-align: right;
  letter-spacing: 0;
}

@media print{
  .doc-meta-under-customer>div{
    grid-template-columns: 24mm minmax(0,1fr);
    gap: 2.4mm;
  }
}

/* v0.3.7: 4行の値開始位置を完全に統一 */
.doc-meta-under-customer>div{
  grid-template-columns: 88px minmax(0,1fr);
  gap: 8px;
}
.doc-meta-under-customer .meta-label{
  text-align:left;
  letter-spacing:0;
  white-space:nowrap;
}
.doc-meta-under-customer .meta-label-date{
  white-space:pre;
}
@media print{
  .doc-meta-under-customer>div{
    grid-template-columns: 25mm minmax(0,1fr);
    gap: 2.5mm;
  }
}

/* v0.3.8: 請求情報ラベル4行の左右端を完全に統一 */
.doc-meta-under-customer>div{
  grid-template-columns:4em minmax(0,1fr);
  column-gap:.55em;
}

.doc-meta-under-customer .meta-label{
  display:block;
  width:4em;
  text-align:left;
  letter-spacing:0;
  white-space:nowrap;
}

/* 3文字の「請求日」だけ、4文字ラベルと同じ左右端へ均等配置 */
.doc-meta-under-customer .meta-label-date{
  display:flex;
  width:4em;
  justify-content:space-between;
  align-items:baseline;
  white-space:normal;
}

.doc-meta-under-customer .meta-label-date>span{
  display:block;
  flex:0 0 auto;
}

@media print{
  .doc-meta-under-customer>div{
    grid-template-columns:4em minmax(0,1fr);
    column-gap:.55em;
  }
}
