body[data-page="ham-log"] .header-actions { margin-inline-start: auto; flex-wrap: wrap; min-width: 0; max-width: 100%; }
body[data-page="ham-log"] .header-actions :is(a,button,select) { min-height: 48px; height: auto; white-space: normal; max-width: 100%; }
body[data-page="ham-log"] .header-actions a { display: inline-flex; align-items: center; }
body[data-page="ham-log"] .brand { min-width: 0; overflow-wrap: anywhere; }
body[data-page="ham-log"] .brand > span:last-child { min-width: 0; }
.qso-tools { overflow-wrap: anywhere; font-size: max(16px,1rem); padding-bottom: 32px; }
.qso-tools *, .qso-tools *::before, .qso-tools *::after { box-sizing: border-box; }
.qso-tools [hidden] { display: none !important; }
.qso-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.qso-icon { width: 24px; height: 24px; flex: 0 0 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.qso-tools .card { min-width: 0; border-radius: 18px; margin-bottom: 24px; scroll-margin-top: 100px; }
.qso-tools .card-head { gap: 12px; flex-wrap: wrap; border-radius: 18px 18px 0 0; background: var(--soft); }
.qso-tools .card-head > div { min-width: 0; }
.qso-tools .helper, .qso-tools .note, .qso-tools label, .qso-tools details { font-size: max(16px,1rem); line-height: 1.7; }
.qso-tools .field-grid, .qso-steps { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); gap: 16px; }
.qso-steps { margin-block: 24px; }
.qso-steps a { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 14px; padding: 18px; min-height: 64px; background: var(--soft); color: var(--text); text-decoration: none; }
.qso-tools :is(.field,.input-wrap,.card-body) { min-width: 0; }
.qso-tools :is(input,select,button) { font: inherit; min-height: 48px; max-width: 100%; min-width: 0; }
.qso-tools :is(input,select) { width: 100%; }
.qso-tools input[type="file"] { border: 1px solid var(--line); background: var(--soft); border-radius: 12px; padding: 12px; }
.qso-tools input::file-selector-button { font: inherit; min-height: 48px; white-space: normal; max-width: 100%; }
.qso-tools .input-wrap input { width: 100%; }
.qso-tools #freq { padding-inline-end: 4rem; }
.qso-tools .input-wrap { max-width: 100%; }
.qso-tools .log-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-block: 20px; }
.qso-tools :is(.button,.mini-button,.favorite-button) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: auto; white-space: normal; line-height: 1.5; padding: 12px 16px; overflow-wrap: anywhere; }
.qso-tools .log-actions > button { flex: 1 1 11rem; }
.qso-tools :focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.qso-tools .quick-nav a { min-height: 48px; display: inline-flex; align-items: center; white-space: normal; }
.qso-tools details { border-block: 1px solid var(--line); margin-block: 18px; padding-block: 12px; }
.qso-tools summary { min-height: 48px; cursor: pointer; font-weight: 700; }
#qso-import-preview ol { max-height: 24rem; overflow-y: auto; padding-inline-start: 2rem; }
#qso-import-preview li { padding-block: 10px; line-height: 1.6; border-bottom: 1px solid var(--line); }
#qso-tool-status:not(:empty), #qso-storage-status:not(:empty) { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); line-height: 1.7; }
#qso-card { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 12px; background: var(--soft); }
.qso-tools .qso-records { overflow: visible; max-height: none; }
.qso-records table, .qso-records tbody { display: block; width: 100%; min-width: 0; }
.qso-records thead { display: none; }
.qso-records tr { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: 8px 16px; padding: 18px; margin-block: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.qso-records td { display: block; min-width: 0; white-space: normal; border: 0; padding: 4px; font-size: max(16px,1rem); }
.qso-records td[data-label]::before { content: attr(data-label); display: block; color: var(--muted); font-weight: 700; font-size: .9em; margin-bottom: 4px; }
.qso-records td:last-child { display: flex; gap: 10px; flex-wrap: wrap; align-items: start; grid-column: 1 / -1; }
@media (max-width: 600px) {
  .qso-tools .page-intro { grid-template-columns: minmax(0,1fr); }
  .qso-tools .page-intro > img { display: none; }
  .qso-tools .card-body { padding: 16px; }
  .qso-tools .qso-records tr { padding: 12px; }
  body[data-page="ham-log"] .header-inner { flex-wrap: wrap; }
}
