*{box-sizing:border-box}html{background:#0d1421}body{margin:0;color:#e6f0ff;font-family:system-ui,-apple-system,"Yu Gothic","Meiryo",sans-serif;line-height:1.5}.top-bar{background:linear-gradient(120deg,#101d36,#172f4d);border-bottom:1px solid #304f74;padding:22px max(20px,calc((100vw - 1160px)/2));display:flex;gap:20px;justify-content:space-between;align-items:center}.top-bar h1{font-size:clamp(21px,3vw,29px);margin:3px 0 6px}.top-bar p{margin:0;color:#bdd5ee}.eyebrow{font:700 12px ui-monospace,monospace;color:#88c8fa;letter-spacing:.13em}.version{font-size:12px;white-space:nowrap;color:#accbe4}.wrap{max-width:1160px;margin:0 auto;padding:24px 20px 60px}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button,.tool-buttons button{background:#14263e;color:#e7f2ff;border:1px solid #38597c;border-radius:8px;padding:10px 18px;font:700 14px inherit;cursor:pointer}.tabs button[aria-selected="true"]{color:white;background:#1d60ae;border-color:#65aaff}.tabs button:focus-visible,.tool-buttons button:focus-visible{outline:3px solid #7bbcff;outline-offset:2px}.tools{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:16px 0;color:#bbd3e8;font-size:13px}.tool-buttons{display:flex;gap:9px}.sheet{background:#fff;color:#161d28;padding:22px clamp(14px,3vw,38px) 36px;border-radius:9px;box-shadow:0 12px 30px #02091277}.sheet[hidden]{display:none}.paper-head{position:relative;text-align:center;padding:10px 0 18px}.paper-head h2{margin:0 0 8px;font-size:clamp(19px,3vw,25px);letter-spacing:.25em}.paper-head p{margin:0;font-size:13px}.doc-id{position:absolute;right:0;top:4px;border:1px solid #a6b5c5;padding:2px 7px;font:10px monospace}.note{font-size:12px;color:#536579;margin:12px 0 0}.sheet .bone-table{width:100%;box-shadow:none}.sheet .bone-table__table{table-layout:fixed;width:100%;color:#151d28;border-collapse:collapse;background:white}.sheet .bone-table--theme-light .bone-table__table{background:white}.sheet .bone-table__table th{background:#f1f5f7;color:#203244;font-size:13px;text-align:center;border:1px solid #8396a5;padding:8px}.sheet .bone-table__table td{height:37px;padding:0!important;border:1px solid #9da8b2;overflow:hidden;vertical-align:middle}.sheet .bone-table__table td .bone-numberbox{width:100%!important;max-width:100%;border:0;background:white}.sheet .bone-table__table td .bone-numberbox__control{border:0!important;box-shadow:none!important}.sheet .bone-table__table tbody tr[data-row-kind="total"] td{background:#eff5fa;border-top:2px solid #283b50}.sheet .bone-table__table tbody tr[data-row-kind="total"] .bf029-account-label{font-weight:800}.sheet .bone-table__table tbody tr[data-row-kind="section"] td{background:#e8eef6}.sheet .bone-table__table tbody tr[data-row-kind="section"] .bf029-account-label{font-weight:750}.sheet .bone-table__table tbody tr[data-row-kind="total"] .bone-numberbox{background:#eff5fa}.sheet .bone-table__table tbody tr[data-row-kind="section"] .bone-numberbox{background:#e8eef6}.blue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}.blue-panel{min-width:0}.blue-panel h3{text-align:center;min-height:42px;margin:0;background:#e8f4ee;color:#194c39;border:1px solid #78a990;padding:8px 4px;font-size:13px}.blue-panel .bone-table__table th{background:#e5f1ea}.blue-panel .bone-table__table td{height:34px}.blue-panel .bf029-account-label{font-size:12px;padding-left:calc(5px + var(--bf029-indent,0em));padding-right:5px}.blue-panel .bone-numberbox__control{height:100%!important}.diagnostics{margin-top:18px;border:1px solid #2c4867;border-radius:8px;padding:14px 18px;background:#101d30;font-size:13px;color:#bdd3eb}.diagnostics h3{margin:0 0 5px;font-size:15px}.diagnostics p{margin:0 0 8px}.diagnostics code{color:#97d4ff}#error{color:#ffc2bb;background:#4c1717;border:1px solid #ff8c7a;border-radius:8px;padding:12px;margin:12px 0}[hidden]{display:none!important}@media(max-width:840px){.blue-grid{grid-template-columns:1fr}.blue-panel h3{min-height:auto}.sheet{overflow-x:auto}.sheet .statement-table{min-width:610px}.sheet #table-bs{min-width:750px}.version{display:none}}@media print{body,html{background:white}.top-bar,.tabs,.tools,.diagnostics,.note{display:none!important}.wrap{padding:0;max-width:none}.sheet{box-shadow:none;padding:0;border-radius:0}.sheet[hidden]{display:none!important}.sheet .bone-table__table tr{break-inside:avoid}}

/* #048 Table ledger cells: extend #029 voucher-column strokes to both row edges.
   Keep NumberBox core and shared #048 stylesheet unchanged. */
.sheet .bone-table__table td .bone-numberbox__voucher { padding-top:0; padding-bottom:0; border-top:0; border-bottom:0; border-radius:0; }
.sheet .bone-table__table td .bone-numberbox__voucher-grid { height:100%; }

/* Blue tax form: match the 36px minimum account-label row; no 34px fixed control. */
.blue-panel .bone-table__cell-content > .bone-numberbox { height:100%!important; min-height:36px; }
