:root{
  --bg:#f4f3ef; --panel:#ffffff; --ink:#1d1f22; --sub:#5c6168; --line:#d6d2c9; --grid:#c9c4b8;
  --accent:#1f5fa8; --accent-ink:#ffffff; --warn-bg:#fff4dc; --warn-ink:#6b4a00;
  --ok-bg:#e5f3ea; --ok-ink:#1d5a33; --field:#fbfaf8; --chip:#eef3fa; --head:#ebe8e1; --idle:#f7f6f2; --yosha:#f3f7fd;
  --fs:14px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#16181b; --panel:#1f2226; --ink:#e8e6e1; --sub:#a3a7ad; --line:#353a40; --grid:#3d434a;
    --accent:#6ea6e8; --accent-ink:#0d1b2b; --warn-bg:#3a2f12; --warn-ink:#f2d58a;
    --ok-bg:#163223; --ok-ink:#9fdcb5; --field:#262a2f; --chip:#22303f; --head:#2a2e33; --idle:#1b1e21; --yosha:#1d2633;
  }
}
:root[data-theme="dark"]{
  --bg:#16181b; --panel:#1f2226; --ink:#e8e6e1; --sub:#a3a7ad; --line:#353a40; --grid:#3d434a;
  --accent:#6ea6e8; --accent-ink:#0d1b2b; --warn-bg:#3a2f12; --warn-ink:#f2d58a;
  --ok-bg:#163223; --ok-ink:#9fdcb5; --field:#262a2f; --chip:#22303f; --head:#2a2e33; --idle:#1b1e21; --yosha:#1d2633;
}
:root.big{--fs:17px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;font-size:var(--fs);line-height:1.55}
body.modal{overflow:hidden}
header{padding:10px 16px 4px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
header h1{margin:0;font-size:1.3em}
header .sp,.toolbar .sp{flex:1}
nav{margin:6px 0 0;padding:0 16px;display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
nav button{border:1px solid transparent;border-bottom:none;background:none;color:var(--sub);padding:7px 14px;font:inherit;cursor:pointer;border-radius:6px 6px 0 0}
nav button.on{background:var(--panel);color:var(--ink);border-color:var(--line);font-weight:600;margin-bottom:-1px}
main{padding:12px 16px 24px}
.tab{display:none}.tab.on{display:block}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px}
.panel h2{margin:0 0 8px;font-size:1.1em}
h3{font-size:.95em;margin:14px 0 2px}
fieldset{border:1px solid var(--line);border-radius:6px;margin:0 0 12px;padding:10px 12px}
legend{font-weight:700;padding:0 4px}
label{display:block;font-size:.82em;color:var(--sub);margin-top:6px}
input,select,textarea{width:100%;font:inherit;font-size:.95em;color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:4px;padding:6px 8px}
textarea{min-height:52px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0 10px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}
.hint{font-size:.8em;color:var(--sub);margin:4px 0 0}
.small{font-size:.82em;color:var(--sub)}
.small.bad{color:#c0392b;font-weight:600}
.req::after{content:" 法定";font-size:.7em;color:#c0392b;font-weight:600}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;align-items:center}
.b{font:inherit;font-size:.92em;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block;width:auto}
.b.main{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.b.sm{padding:2px 8px;font-size:.8em}
select.b{padding:6px 8px}
.note{padding:8px 12px;border-radius:6px;font-size:.88em;margin:8px 0}
.note.soft{background:var(--chip)}
.warn{background:var(--warn-bg);color:var(--warn-ink)}
.ok{background:var(--ok-bg);color:var(--ok-ink)}
.check{display:flex;gap:6px;align-items:flex-start;font-size:.88em;color:var(--ink);margin-top:8px}
.check input{width:auto;margin-top:4px}
.radios{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.radios label{margin:0;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;padding:6px 10px;color:var(--ink);font-size:.9em;cursor:pointer;background:var(--field)}
.radios input{width:auto;margin:0}
.radios label:has(input:checked){border-color:var(--accent);background:var(--chip);font-weight:600}
.quick{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}
.quick button{white-space:nowrap;font:inherit;font-size:.75em;padding:1px 7px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--sub);cursor:pointer}
details summary{cursor:pointer;font-weight:600}
summary.sub{font-weight:400;font-size:.85em;color:var(--sub)}
.sumline{display:flex;justify-content:space-between;gap:8px;font-size:.9em;margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.kstat{border-left:4px solid var(--accent);padding:8px 10px;background:var(--chip);border-radius:4px;font-size:.88em}
.kstat.no{border-left-color:var(--line);background:transparent;color:var(--sub)}
a{color:var(--accent)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 16px;border-radius:6px;font-size:.9em;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw;z-index:50}
#toast.on{opacity:1}

/* 配車表（Excelの感覚） */
.toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.toolbar input[type=date]{width:auto}
.toolbar b{font-size:1.05em;margin:0 6px}
.gridwrap{overflow:auto;max-height:calc(100vh - 210px);border:1px solid var(--grid);background:var(--panel)}
table.grid{border-collapse:collapse;table-layout:fixed;width:1640px;font-size:.93em}
table.grid th{position:sticky;top:0;z-index:2;background:var(--head);border:1px solid var(--grid);padding:4px 6px;font-weight:600;white-space:nowrap;text-align:left}
table.grid td{border:1px solid var(--grid);padding:0;height:30px;vertical-align:middle}
table.grid td input{border:none;border-radius:0;background:transparent;padding:4px 6px;height:30px;width:100%;font-size:1em}
table.grid td input:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--field)}
table.grid tr.vfirst td{border-top:2px solid var(--grid)}
table.grid tr.idle td{background:var(--idle)}
table.grid tr.idle td input::placeholder{color:var(--sub);opacity:.7}
table.grid tr.yosha td{background:var(--yosha)}
table.grid td.c-day input{text-align:center}
table.grid tr.newrow td input::placeholder{color:var(--sub);opacity:.6}
/* 列の幅（合計を table.grid の width と合わせる） */
.c-type{width:92px}.c-no{width:112px}.c-drv{width:72px}.c-in{width:132px}.c-goods{width:84px}.c-w{width:52px}
.c-place{width:124px}.c-day{width:74px}.c-time{width:60px}.c-money{width:84px}.c-money input{text-align:right}.c-out{width:112px}.c-memo{width:116px}
table.grid td.c-w input,table.grid td.c-time input{text-align:center}
.c-docs{width:110px;padding:0 4px!important;white-space:nowrap;overflow:hidden}.c-op{width:74px;white-space:nowrap;padding:0 4px!important}
.badge{display:inline-block;font:inherit;font-size:.75em;padding:0 6px;border-radius:8px;margin:1px 2px 1px 0;white-space:nowrap;border:none;cursor:pointer;line-height:1.7}
.badge.done{background:var(--ok-bg);color:var(--ok-ink)}
.badge.todo{background:var(--chip);color:var(--ink)}
.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}
.suggest{position:absolute;z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.15);max-height:260px;overflow:auto;font-size:var(--fs)}
.suggest .sg{padding:5px 10px;cursor:pointer;white-space:nowrap}
.suggest .sg:hover,.suggest .sg.on{background:var(--chip)}

/* 方面の回数 */
table.houmen{border-collapse:collapse;font-size:1.05em;margin:6px 0}
table.houmen th,table.houmen td{border:1px solid var(--grid);padding:6px 14px;text-align:center;white-space:nowrap}
table.houmen thead th{background:var(--head);font-weight:600}
table.houmen tbody th{text-align:left;background:var(--head);font-weight:700}
table.houmen td button{font:inherit;font-size:1.25em;font-weight:600;background:none;border:none;color:var(--ink);cursor:pointer;padding:0 6px;text-decoration:underline;text-underline-offset:3px}
table.houmen td.top button{font-weight:800;font-size:1.4em}
table.houmen td .zero{color:var(--sub);opacity:.5}
table.houmen td.tot{font-weight:700}
.hmuk{display:flex;gap:10px;align-items:center;margin:4px 0}
.hmuk select{width:auto}

/* 一覧・管理簿 */
table.list{width:100%;border-collapse:collapse;font-size:.88em}
table.list th,table.list td{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}
table.list th{color:var(--sub);font-weight:600;white-space:nowrap}
table.list td.num,table.list th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
table.list tfoot td{font-weight:700;border-top:2px solid var(--line)}
table.list.edit td{padding:3px}
table.list.edit td.ops{white-space:nowrap;width:1%}
table.list.edit td.drag{width:1%;cursor:grab;color:var(--sub);font-size:1.2em;text-align:center;user-select:none;padding:3px 8px}
table.list.edit tr.dragging td{opacity:.4}
table.list.edit tr.drop-before td{box-shadow:inset 0 3px 0 var(--accent)}
table.list.edit tr.drop-after td{box-shadow:inset 0 -3px 0 var(--accent)}
.scroll{overflow-x:auto}
.expired{color:var(--sub)}

/* 詳細（全面の重ね画面） */
.overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.35);overflow:auto;padding:16px}
.overlay[hidden]{display:none}
.overlay-in{background:var(--bg);border-radius:10px;max-width:1400px;margin:0 auto;padding:14px 16px}
.jobhead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}
.jobhead .t{font-weight:700;font-size:1.05em}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:960px){.grid2{grid-template-columns:1fr}}
.preview{position:sticky;top:0}
.doctabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}
.doctabs button{font:inherit;font-size:.88em;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);cursor:pointer}
.doctabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}
.doctabs .st{font-size:.8em;margin-left:4px}
#parseOut ul{margin:6px 0 0;padding-left:18px;font-size:.88em}

/* 書面（紙として白で固定） */
/* 書面（紙として白で固定）: 宛先と差出人、表、金額 */
.paper{background:#fff;color:#111;border:1px solid #ccc;padding:30px 34px;font-size:12.5px;line-height:1.6;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}
.paper .empty{color:#b00}
.paper .none{color:#666;text-align:center;padding:40px 0}
.paper .d-title{text-align:center;font-size:20px;font-weight:800;letter-spacing:.3em;padding-bottom:8px;border-bottom:3px double #111;margin-bottom:16px}
.paper .d-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:14px}
.paper .d-to{flex:1;min-width:0}
.paper .d-to .nm{font-size:16px;font-weight:700;border-bottom:1px solid #111;padding-bottom:2px;display:inline-block;min-width:60%}
.paper .d-to .nm span{font-size:12px;font-weight:400;margin-left:10px}
.paper .d-from{text-align:right;min-width:38%}
.paper .d-from .dt{margin-bottom:6px}
.paper .d-from .nm{font-size:14px;font-weight:700}
.paper .role{font-size:10px;color:#666;letter-spacing:.1em}
.paper .ad{font-size:11.5px;color:#222}
.paper .ad.sign{margin-top:10px;border-bottom:1px solid #555;text-align:left;padding-bottom:12px}
.paper .d-lead{margin:0 0 8px}
.paper table.d-tbl{width:100%;border-collapse:collapse}
.paper table.d-tbl>tbody>tr>th,.paper table.d-tbl>tbody>tr>td{border-top:1px solid #bbb;border-bottom:1px solid #bbb;padding:7px 10px;vertical-align:top;text-align:left}
.paper table.d-tbl>tbody>tr>th{width:22%;font-weight:600;color:#333;white-space:nowrap;background:#f5f5f5;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.paper table.d-tbl>tbody>tr:first-child>th,.paper table.d-tbl>tbody>tr:first-child>td{border-top:2px solid #111}
.paper table.d-tbl>tbody>tr:last-child>th,.paper table.d-tbl>tbody>tr:last-child>td{border-bottom:2px solid #111}
.paper .sub{display:block;font-size:11.5px;color:#444}
.paper .hand{display:block;height:22px}
.paper table.d-amt{border-collapse:collapse;min-width:58%}
.paper table.d-amt td{padding:1px 0;border:none}
.paper table.d-amt td:last-child{text-align:right;padding-left:24px;font-variant-numeric:tabular-nums}
.paper table.d-amt tr.tot td{border-top:1px solid #111;padding-top:4px;font-weight:800;font-size:14px}
.paper .d-note{font-size:11px;color:#444;margin:6px 0 0}
.paper .d-law{font-size:10px;color:#666;margin-top:18px}
.paper .notice{border:1.5px solid #111;border-radius:4px;padding:8px 12px;margin-top:14px}
.paper .notice .nt{font-weight:800;margin-bottom:2px}
.paper .notice .small{font-size:11px;color:#333}

/* ログイン */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.login-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;width:100%;max-width:360px}
.login-box h1{margin:0 0 2px;font-size:1.4em}

#printArea{display:none}
@media print{
  html,body{background:#fff!important}
  body.printing > *:not(#printArea){display:none!important}
  body.printing #printArea{display:block!important}
  #printArea .paper{border:none;padding:0}
  #printArea .noprint{display:none!important}
  #printArea.panelprint .panel{border:none;padding:0;background:#fff;color:#111}
  #printArea.panelprint .ptitle{display:block!important}
  #printArea.panelprint table.list th,#printArea.panelprint table.list td{border:1px solid #555;color:#111}
  @page{size:A4;margin:14mm}
}

/* ---------- 運転手さんへの指示書（A4縦）。画面の見本と印刷で同じ寸法にする */
.sheet{width:210mm;height:297mm;padding:14mm;box-sizing:border-box;background:#fff;color:#111;display:flex;flex-direction:column;gap:3.2mm;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;font-size:10pt;line-height:1.45;overflow:hidden}
.sheet .blank{color:#bbb;font-weight:400}
.sh-top{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:stretch;gap:6mm;border-bottom:1.2mm solid #111;padding-bottom:3mm}
.sh-ttl{display:flex;flex-direction:column;justify-content:space-between;flex:1;min-width:0}
.sh-kind{font-size:20pt;font-weight:800;letter-spacing:.18em}
.sheet.ov .sh-kind{border:.6mm solid #111;padding:0 2.5mm;align-self:flex-start}
.sh-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 1.5mm}
.sh-date .y{font-size:10pt;color:#444}
.sh-date b{font-size:24pt;font-weight:800;letter-spacing:.02em}
.sh-date .w{font-size:13pt;font-weight:700}
.sh-date .to{flex-basis:100%;font-size:11pt;font-weight:700;padding-left:13mm}
.sh-who{border-collapse:collapse;width:84mm;flex:none}
.sh-who th{font-size:8.5pt;font-weight:600;color:#444;text-align:left;padding:.8mm 3mm .8mm 0;white-space:nowrap;border-bottom:.2mm solid #999}
.sh-who td{padding:.8mm 0;border-bottom:.2mm solid #999;font-size:11pt}
.sh-who td.xl{font-size:16pt;font-weight:800}
.sh-co{font-size:9pt;color:#222}
.sh-co .sep{color:#aaa;margin:0 2mm}
.sh-run{display:flex;align-items:center;gap:3mm;border:.3mm solid #111;border-radius:1.5mm;padding:2mm 3mm}
.sh-run .ep{display:flex;align-items:baseline;gap:2mm;white-space:nowrap}
.sh-run .ep b{font-size:15pt;font-weight:800}
.sh-run .ep small{font-size:9pt;font-weight:700}
.sh-run .ep .rel{font-size:9pt;font-weight:800;background:#111;color:#fff;padding:0 1.6mm;border-radius:.8mm;align-self:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-run .ep .pl{font-size:10pt}
.sh-run .tag{background:#111;color:#fff;font-size:8.5pt;font-weight:700;padding:.4mm 2mm;border-radius:1mm;align-self:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-run .line{flex:1;display:flex;align-items:center;gap:2mm;font-size:8.5pt;color:#444;white-space:nowrap}
.sh-run .line::before,.sh-run .line::after{content:"";flex:1;border-top:.4mm dashed #888}
.sh-jobs{display:flex;flex-direction:column;gap:2.6mm}
.job{display:flex;border:.35mm solid #111;border-radius:1.5mm;overflow:hidden;min-height:37mm;break-inside:avoid}
.job .jn{width:9mm;background:#111;color:#fff;font-size:16pt;font-weight:800;display:flex;align-items:flex-start;justify-content:center;padding-top:2mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.job .jb{flex:1;padding:2mm 3mm;display:flex;flex-direction:column;gap:1.6mm;min-width:0}
.job .jh{display:flex;align-items:baseline;gap:2mm;flex-wrap:wrap;border-bottom:.2mm solid #bbb;padding-bottom:1.2mm}
.job .jh .k{font-size:8pt;color:#555;border:.2mm solid #888;border-radius:.8mm;padding:0 1.2mm}
.job .jh b{font-size:12pt;font-weight:800;margin-right:2mm}
.job .jh .gq{font-size:10pt;font-weight:600}
.job .jr{display:flex;align-items:stretch;gap:2mm}
.job .pt{flex:1;display:flex;gap:2mm;min-width:0}
.job .pk{width:7mm;height:7mm;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.job .pk.ld{background:#111;color:#fff}
.job .pk.ud{border:.5mm solid #111}
.job .pd{min-width:0}
.job .dt{font-size:9pt;font-weight:600;color:#333;line-height:1.3;margin-bottom:.4mm}
.job .dt .rel{display:inline-block;font-weight:800;padding:0 1.6mm;margin-right:1.6mm;border-radius:.8mm}
.job .dt.next{font-size:10.5pt;font-weight:800;color:#111}
.job .dt.next .rel{background:#111;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.job .dt.prev .rel{border:.25mm solid #777;color:#555}
.job .tm b{font-size:15pt;font-weight:800;line-height:1.1}
.job .tm small{font-size:9pt;font-weight:700}
.job .pl{font-size:11pt;font-weight:700;word-break:break-all}
.job .ct{font-size:8.5pt;color:#333}
.job .wk{font-size:8.5pt;font-weight:700;margin-top:.5mm}
.job .ar{align-self:center;font-size:12pt;color:#666}
.job .jm{font-size:9pt;background:#f2f2f2;border-radius:1mm;padding:1mm 2mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.job .js{width:27mm;border-left:.25mm dashed #777;padding:2mm;display:flex;flex-direction:column;gap:1mm}
.job .js .sl{font-size:8pt;color:#555}
.job .js .sb{flex:1;border:.2mm solid #999;border-radius:1mm;min-height:13mm}
.job .js .sd{font-size:8pt;color:#555;text-align:right}
.sh-memo{flex:1;min-height:12mm;border:.25mm solid #aaa;border-radius:1.5mm;position:relative;overflow:hidden}
.sh-memo i{display:block;height:7.5mm;border-bottom:.2mm dotted #aaa;margin:0 3mm}
.sh-memo i:first-of-type{margin-top:1.5mm}
.sh-memo span{position:absolute;left:2mm;top:1mm;font-size:8pt;color:#777}
.sh-safe,.sh-chg,.sh-act{width:100%;border-collapse:collapse}
.sh-safe th,.sh-safe td,.sh-chg th,.sh-chg td,.sh-act th,.sh-act td{border:.25mm solid #555;padding:1.3mm 2mm;vertical-align:top;text-align:left}
.sh-safe th{width:30mm;background:#efefef;font-size:9pt;font-weight:700;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-safe td{font-size:9.5pt}
.sh-safe .hand{display:block;height:4.6mm}
.sh-chg th{background:#efefef;font-size:8.5pt;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-chg .c1{width:30mm}.sh-chg .c3{width:22mm}
.sh-chg td{height:7mm}
.sh-foot{display:flex;gap:4mm;align-items:stretch}
.sh-act{flex:1}
.sh-act th{width:9mm;background:#efefef;font-size:9pt;text-align:center;vertical-align:middle;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-act td{font-size:10pt;white-space:nowrap}
.sh-act td span{font-size:8pt;color:#555;margin-right:2mm}
.stamps{display:flex;gap:2mm}
.stamps div{width:19mm;border:.3mm solid #555;display:flex;flex-direction:column}
.stamps span{font-size:8pt;text-align:center;border-bottom:.25mm solid #555;background:#efefef;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sh-law{font-size:7.5pt;color:#444;text-align:right;margin-top:-1.5mm}
.sheet.cont .sh-contd{font-size:11pt;font-weight:700;border-bottom:.8mm solid #111;padding-bottom:2mm}

/* 指示書の画面（左に入力、右にA4の見本） */
.sheetwrap{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:960px){.sheetwrap{grid-template-columns:1fr}}
.sheetview{overflow:auto;background:#8a8a8a;border-radius:8px;padding:12px}
.sheetview .sheet{box-shadow:0 2px 10px rgba(0,0,0,.25);margin:0 auto 12px;zoom:var(--sheet-zoom,.8)}

@media print{
  #printArea .sheet{width:auto;height:266mm;padding:0;margin:0;zoom:1;box-shadow:none;page-break-after:always;break-after:page}
  #printArea .sheet:last-child{page-break-after:auto;break-after:auto}
}
