:root{--bg:#f3f4f2;--card:#fff;--ink:#1d2125;--mute:#585f66;--line:#b9bfc4;--soft:#e4e7e6;--acc:#17476f;--acc-ink:#fff;--ok:#1b6b3a;--warn:#9a3412;--warn-bg:#fdf1e7;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#16191c;--card:#20252a;--ink:#eceef0;--mute:#adb5bc;--line:#59626a;--soft:#2c3238;--acc:#9cc9ee;--acc-ink:#0d2438;--ok:#7fd8a0;--warn:#f6b48a;--warn-bg:#3a2518;color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic","Meiryo",system-ui,sans-serif;font-size:16px;line-height:1.6}
h1{margin:0;font-size:1.5rem;line-height:1.35}
h2{margin:0;font-size:1.06rem}
a{color:var(--acc)}
.wrap{max-width:860px;margin:0 auto;padding:24px max(16px,env(safe-area-inset-right)) 56px max(16px,env(safe-area-inset-left));display:grid;gap:16px;min-width:0}
.top{display:grid;gap:4px}
.lead,.note{margin:0;color:var(--mute)}
.note{font-size:.875rem}
.box{background:var(--card);border:1px solid var(--soft);border-radius:10px;padding:16px;display:grid;gap:12px;min-width:0}
details.box>summary{cursor:pointer;font-weight:700;min-height:28px}
details.box>:not(summary){margin-top:12px}
input,select,textarea,button{font:inherit;font-size:1rem;color:var(--ink);max-width:100%}
input,select,textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;margin:1px 0 0;accent-color:var(--acc)}
textarea{resize:vertical;line-height:1.5}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
button{cursor:pointer;min-height:48px;padding:8px 16px;border-radius:8px;border:1px solid var(--line);background:var(--card)}
button:disabled{opacity:.4;cursor:default}
button.primary{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:700}
button.sub:hover{background:var(--soft)}
button.wide{width:100%}
button.danger{border-color:var(--warn);color:var(--warn)}
button.dangerText{color:var(--warn)}
.row{display:flex;flex-wrap:wrap;gap:8px}
.f{display:grid;gap:4px;min-width:0}
.f>span{font-size:.875rem;font-weight:700}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.toRow{grid-template-columns:minmax(0,1fr) 96px}
.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.err{margin:0;color:var(--warn);font-weight:700;font-size:.875rem}
.notice{margin:0;padding:12px 16px;border-radius:8px;background:var(--warn-bg);color:var(--warn);font-weight:700}

.recv{border:2px solid var(--acc)}
.recv:focus{outline:none}
.recvList{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.recvList li{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}
.recvList b{white-space:nowrap;font-variant-numeric:tabular-nums}
.recvFrom{padding:10px 12px;background:var(--soft);border-radius:8px;font-size:.9375rem;white-space:pre-wrap;overflow-wrap:anywhere}
.recvChoice{margin:0;padding:0;border:none;display:grid;gap:8px}
.recvChoice legend{padding:0;margin-bottom:8px;font-weight:700}
.check input[type=radio]{width:22px;height:22px;min-height:0;flex:none;margin:1px 0 0;accent-color:var(--acc)}
.installRow{margin:0}
.bigBtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.big{display:grid;gap:2px;justify-items:start;text-align:left;padding:18px;min-height:88px;background:var(--acc);color:var(--acc-ink);border:none;border-radius:10px}
.big b{font-size:1.2rem}
.big span{font-size:.875rem}
.smallBtns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.smallBtns button{padding:8px 4px}
.sumScroll{overflow-x:auto}
.sumTable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sumTable th,.sumTable td{padding:8px;border-bottom:1px solid var(--soft);text-align:right;white-space:nowrap}
.sumTable th:first-child{text-align:left}
.edTopInline{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bookList{display:grid;gap:12px}
.bookRow{border:1px solid var(--soft);border-radius:8px;padding:12px;display:grid;gap:8px;justify-items:stretch}
.bookRow .toRow{display:grid;gap:12px}
.bookRow .lineGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.bookRow button{justify-self:end}
.convertSel{width:auto;min-width:150px;font-size:.9375rem}
.sendRow{margin:0 auto;padding:8px 16px 0;max-width:1440px}
.noTaxMode .rateF{display:none}
.noTaxMode .lineGrid{grid-template-columns:72px 72px minmax(0,1fr)}
.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px}
.totals{margin:0;font-size:.95rem;color:var(--mute)}
.totals b{color:var(--ink)}
.empty{margin:0;color:var(--mute)}
.docList{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.doc{border:1px solid var(--soft);border-radius:8px;padding:10px 12px;display:grid;gap:8px}
.docMain{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:4px 0;text-align:left;background:none;border:none;border-radius:4px;min-height:48px}
.docName{font-weight:700;overflow-wrap:anywhere}
.docAmt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.docMeta{font-size:.875rem;color:var(--mute);overflow-wrap:anywhere}
.docLate{font-size:.875rem;color:var(--warn);font-weight:700;text-align:right;white-space:nowrap}
.badge{display:inline-block;margin-right:6px;padding:0 6px;border:1px solid var(--line);border-radius:4px;font-size:.8125rem;font-weight:700;white-space:nowrap}
.docTools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.docTools select{width:auto;min-width:110px}
.docTools button{padding:6px 12px;font-size:.9375rem}
.prose ol{margin:0;padding-left:1.5em}
.prose p{margin:0}

.edTop{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--soft)}
.edTitle{font-size:1.06rem}
.saved{font-size:.875rem;color:var(--ok);min-width:5em}
.edActions{margin-left:auto;display:flex;flex-wrap:wrap;gap:6px}
.edActions button{padding:6px 12px;font-size:.9375rem}
.tabs{display:none;gap:0;padding:8px 16px 0}
.tabs button{flex:1;border-radius:0;font-weight:700}
.tabs button:first-child{border-radius:8px 0 0 8px}
.tabs button:last-child{border-radius:0 8px 8px 0;border-left:none}
.tabs button[aria-selected=true]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.edGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:1440px;margin:0 auto;padding:16px 16px 8px;align-items:start}
.pane{display:grid;gap:12px;min-width:0}
#previewPane{position:sticky;top:12px}
.line{border:1px solid var(--soft);border-radius:8px;padding:12px;display:grid;gap:8px;margin-bottom:8px}
.lineGrid{display:grid;grid-template-columns:72px 72px minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.lineFoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.lineAmt{font-weight:700;font-variant-numeric:tabular-nums}
.lineBtns{display:flex;gap:4px}
.lineBtns button{padding:4px 12px;font-size:.9375rem;min-width:48px}
.bad{border-color:var(--warn);border-width:2px}
.lineHead{background:var(--soft)}
.addRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.addRow button{padding:8px 4px}
.terms{display:grid;gap:12px}
.barBtns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.imgHolder{position:absolute;left:-3000px;top:0;width:794px}
.options{margin-top:4px}
.stampRow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.stampRow img{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--soft);border-radius:6px}
.check-box ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.check-box ul:empty{display:none}
.check-box li{padding-left:1.5em;text-indent:-1.5em}
.check-box li.ok::before{content:"✓ ";color:var(--ok);font-weight:700}
.check-box li.ng{color:var(--warn);font-weight:700}
.check-box li.ng::before{content:"！ "}
.check-box li button{min-height:0;padding:0 4px;border:none;background:none;color:inherit;text-decoration:underline;font-weight:700;text-indent:0}
.bar{position:sticky;bottom:0;z-index:5;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--card);border-top:1px solid var(--line)}
.barSum{display:grid;line-height:1.3;min-width:0}
.barSum span{font-size:.875rem;color:var(--mute)}
.barSum b{font-size:1.3rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.printTip{margin:0 auto;padding:8px 16px 24px;max-width:1440px;font-size:.875rem;color:var(--mute)}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:20;display:flex;gap:12px;align-items:center;width:max-content;max-width:calc(100vw - 32px);padding:10px 16px;background:var(--ink);color:var(--bg);border-radius:8px}
.toast button{min-height:40px;padding:4px 12px;background:none;border:1px solid var(--bg);color:var(--bg);font-weight:700;white-space:nowrap}

/* 用紙（画面の色に関係なく白地に黒） */
.paperWrap{width:100%;overflow:hidden}
.paper{--p:#111;--pm:#444;--pl:#777;--ph:#eef1f4;width:794px;min-height:1123px;padding:53px;background:#fff;color:var(--p);transform-origin:top left;box-shadow:0 1px 6px rgba(0,0,0,.25);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;font-size:13.5px;line-height:1.55;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.p-title{margin:0 0 24px;text-align:center;font-size:27px;font-weight:700;letter-spacing:.5em;text-indent:.5em;border-bottom:2px solid var(--p);padding-bottom:8px}
.p-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;margin-bottom:20px}
.p-to{font-size:18px;font-weight:700;border-bottom:1px solid var(--p);padding-bottom:4px;overflow-wrap:anywhere;min-height:33px}
.p-msg{margin:10px 0 12px}
.p-big{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--ph);border:1px solid var(--p)}
.p-big b{font-size:23px;font-variant-numeric:tabular-nums;white-space:nowrap}
.p-big span{font-weight:700;white-space:nowrap}
.p-small{margin:2px 0 0;font-size:12px;color:var(--pm)}
.p-info{margin:10px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 10px}
.p-info dt{color:var(--pm)}
.p-info dd{margin:0;overflow-wrap:anywhere}
.p-from{position:relative;overflow-wrap:anywhere}
.p-meta{margin:0 0 10px;text-align:right;font-size:12.5px}
.p-co{font-size:15.5px;font-weight:700;padding-right:64px}
.p-from .p-line{margin:0;font-size:12.5px;padding-right:64px}
.p-reg{font-weight:700}
.p-stamp{position:absolute;right:0;top:48px;width:64px;height:64px;object-fit:contain}
.p-table{width:100%;border-collapse:collapse;table-layout:fixed}
.p-table th{background:var(--ph);font-weight:700;font-size:12.5px;padding:5px 7px;border:1px solid var(--pl)}
.p-table td{padding:6px 7px;border:1px solid var(--pl);overflow-wrap:anywhere;vertical-align:top}
.p-table thead{display:table-header-group}
.p-table tr{break-inside:avoid;page-break-inside:avoid}
.c-black{--pa:#111;--ph:#eef1f4}.c-navy{--pa:#17476f;--ph:#e6eef5}.c-green{--pa:#1f5f43;--ph:#e6f1eb}.c-red{--pa:#8a2432;--ph:#f6e9eb}
.p-title{color:var(--pa);border-bottom-color:var(--pa)}
.p-big b{color:var(--pa)}
.p-big{border-color:var(--pa)}
.d-simple .p-title{text-align:left;text-indent:0;letter-spacing:.2em;font-size:30px;border-bottom:none;padding-bottom:0}
.d-simple .p-to{border-bottom-color:var(--pl)}
.d-simple .p-big{background:none;border:none;border-bottom:2px solid var(--pa);padding:8px 0}
.d-simple .p-table th{background:none;border:none;border-bottom:2px solid var(--pa)}
.d-simple .p-table td{border:none;border-bottom:1px solid #ccc}
.d-simple .p-table .p-hasNote td{border-bottom:none}
.d-simple .p-sum th{background:none;border:none;border-bottom:1px solid #ccc}
.d-simple .p-sum td{border:none;border-bottom:1px solid #ccc}
.d-simple .p-block{border:none;border-top:1px solid #ccc;padding:8px 0}
.d-band .p-title{background:var(--pa);color:#fff;border-bottom:none;padding:12px 0}
.d-band .p-table th{background:var(--pa);color:#fff;border-color:var(--pa)}
.d-band .p-big{background:var(--pa);color:#fff}
.d-band .p-big b{color:#fff}
.p-table .p-sec td{background:var(--ph);font-weight:700}
.p-sec{break-after:avoid;page-break-after:avoid}
.p-hasNote{break-after:avoid;page-break-after:avoid}
.p-hasNote td{border-bottom:none}
.p-table .p-noteRow td{border-top:none;padding-top:0}
.p-noteText{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.fn-g{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif}
.fn-m{font-family:"Yu Mincho","Hiragino Mincho ProN","MS PMincho","Noto Serif JP",serif}
.fs-s{font-size:11.5px}.fs-m{font-size:13.5px}.fs-l{font-size:16px}.fs-xl{font-size:20px}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ctr{text-align:center}
.c-qty{width:66px}.c-unit{width:48px}.c-price{width:100px}.c-rate{width:58px}.c-amt{width:112px}
.p-sumWrap{display:flex;justify-content:flex-end;margin-top:12px;break-inside:avoid;page-break-inside:avoid}
.p-sum{border-collapse:collapse;width:380px}
.p-sum th{text-align:left;font-weight:400;padding:4px 8px;border:1px solid var(--pl);background:var(--ph)}
.p-sum td{padding:4px 8px;border:1px solid var(--pl)}
.p-sum .strong th,.p-sum .strong td{font-weight:700;font-size:15px}
.p-mark{margin:6px 0 0;font-size:12px;text-align:right}
.p-block{margin-top:14px;padding:8px 10px;border:1px solid var(--pl);break-inside:avoid;page-break-inside:avoid;white-space:pre-wrap;overflow-wrap:anywhere}
.p-block h3{margin:0 0 2px;font-size:12.5px;color:var(--pm)}

@media (max-width:999px){
  .tabs{display:flex}
  .edGrid{grid-template-columns:minmax(0,1fr)}
  #previewPane{position:static}
  .edGrid[data-tab=input] #previewPane,.edGrid[data-tab=preview] #inputPane{display:none}
}
@media (max-width:640px){
  .filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .filters .f:first-child{grid-column:1/-1}
  .big{padding:14px}
  .big b{font-size:1.08rem}
  .edActions{margin-left:0;width:100%}
  .lineGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2{grid-template-columns:minmax(0,1fr)}
  .toRow{grid-template-columns:minmax(0,1fr) 96px}
  .printTip{padding-bottom:16px}
  .bar{flex-direction:column;align-items:stretch;gap:8px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .barSum{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
  .barSum b{white-space:nowrap}
  .barBtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .barBtns button{padding:8px 4px;font-size:.9375rem}
  .imgLong{display:none}
}

@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important}
  .noprint,.toast{display:none!important}
  #editor,.edGrid,#previewPane{display:block!important;padding:0!important;margin:0!important;position:static!important;max-width:none!important}
  .paperWrap{width:auto!important;height:auto!important;overflow:visible!important}
  .paper{width:auto!important;min-height:0!important;padding:0!important;transform:none!important;box-shadow:none!important}
}
