.sheet { background: #fff; color: #161616; border: 1px solid var(--line); padding: 32px; margin-top: 16px; overflow-x: auto; }
.sheet h2 { font-size: 22px; font-weight: 600; margin: 0 0 16px; color: #161616; }
.sheet h3 { font-size: 15px; font-weight: 600; margin: 20px 0 8px; color: #161616; }
.sheet .hdr { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px 24px; margin-bottom: 16px; }
.sheet .ln { display: flex; gap: 8px; align-items: flex-end; font-size: 13px; }
.sheet .ln b { white-space: nowrap; font-weight: 600; }
.sheet .ln span[contenteditable] { flex: 1; border-bottom: 1px solid #161616; min-height: 22px; padding: 0 4px; outline: none; }
.sheet .box { border: 1px solid #161616; min-height: 70px; padding: 6px; font-size: 13px; outline: none; }
.sheet table { border-collapse: collapse; width: 100%; font-size: 12px; }
.sheet th, .sheet td { border: 1px solid #161616; padding: 5px 6px; text-align: left; vertical-align: top; }
.sheet th { background: #e0e0e0; font-weight: 600; }
.sheet td { height: 26px; min-width: 40px; outline: none; }
.sheet td.rl { font-weight: 600; white-space: nowrap; background: #f4f4f4; }
.sheet td:focus, .sheet span[contenteditable]:focus, .sheet .box:focus { background: #edf5ff; }
.sheet .opts { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 13px; }
.sheet .opts span::before { content: ''; display: inline-block; width: 12px; height: 12px; border: 1px solid #161616; margin-right: 6px; vertical-align: -1px; }
.sheet .sig { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin-top: 28px; }
.sheet .key { font-size: 11px; margin-top: 8px; color: #525252; }
.sheet.narrow td { min-width: 22px; padding: 3px 2px; text-align: center; }
@media (max-width: 672px) { .sheet { padding: 16px; margin: 16px -16px 0; } }
@media print {
  .tool .wrap > .panel { display: none; }
  .sheet { border: 0; padding: 0; margin: 0; overflow: visible; }
  .sheet td { height: 22px; }
  .sheet th, .sheet td.rl { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

.sheet .co { font-size: 13px; font-weight: 600; color: #525252; margin: 0 0 4px; min-height: 0; }
.sheet .co:empty { display: none; }
