/* ---------- V1.9 size normalization ---------- */
body{
  font-size:var(--text-md);
}

.topbar{
  padding:12px 24px;
  gap:14px;
}

.brand{
  gap:var(--space-3);
}

.brand .mark,
.settings-btn{
  height:var(--control-height-lg);
}

.brand .mark{
  width:var(--control-height-lg);
}

.brand h1{
  font-size:var(--text-xl);
  line-height:1.1;
}

.brand .sub,
.settings-hint{
  font-size:var(--text-sm);
}

.tabs{
  gap:var(--space-2);
}

.tab{
  min-height:var(--control-height);
  padding:10px 18px;
  font-size:var(--text-md);
  gap:8px;
}

.view{
  padding:var(--space-5) 28px;
}

.panel,
.modal-box{
  padding:var(--space-5);
}

.scan-layout,
.detail-grid,
.export-results,
.pick-layout{
  gap:var(--space-5);
}

.modal-box h2{
  font-size:var(--text-lg);
  line-height:1.25;
}

.modal-box h2,
.trends-intro h2{
  margin-bottom:var(--space-2);
}

.scan-input-row,
.settings-inline-row,
.box-setting-edit,
.export-presets,
.export-col-actions,
.pick-detail-actions,
.box-current-actions,
.sale-options{
  gap:var(--space-2);
}

input,
select,
.time-select,
.scan-input-row input,
.settings-inline-row input,
.export-form input,
.export-form select,
.box-setting-edit input{
  min-height:var(--control-height);
  padding:10px 12px;
  line-height:1.2;
}

input,
select,
.time-select,
.settings-inline-row input,
.export-form input,
.export-form select,
.box-setting-edit input{
  font-size:var(--text-md);
}

.scan-input-row input::placeholder{
  font-size:var(--text-md);
}

.btn-danger,
.scan-input-row button,
.box-setting-edit button,
.export-form button,
.preset-btn,
.sale-option-btn,
.box-btn,
.row-actions button,
.export-change-btn,
.pick-filter-btn,
.rescan-toggle-btn,
.box-conflict-btn{
  min-height:var(--control-height);
  padding:10px 16px;
  line-height:1.2;
}

.btn-danger,
.export-form button,
.preset-btn,
.sale-option-btn,
.box-btn,
.row-actions button,
.export-change-btn,
.pick-filter-btn,
.rescan-toggle-btn{
  font-size:var(--text-md);
}

.row-actions,
.box-action-buttons,
.modal-actions,
.toolbar-actions{
  gap:var(--space-3);
}

input[type="checkbox"],
input[type="radio"]{
  width:28px;
  height:28px;
  min-height:28px;
}

.settings-btn{
  font-size:var(--text-lg);
  padding:0 18px;
}

.scan-input-row button{
  min-height:var(--control-height-lg);
}

.scan-status,
.box-current-panel,
.box-setting,
.sale-box,
.source-box,
.export-col,
.pick-batch-card,
.box-conflict{
  padding:var(--space-3);
}

.result-card{
  padding:var(--space-4);
}

.result-sub{
  font-size:var(--text-md);
}

.best-line .amount,
.detail-best .amount{
  font-size:var(--text-28);
}

.detail-title{
  font-size:var(--text-lg);
  line-height:1.2;
}

.source-grid{
  gap:var(--space-3);
}

.source-box .name,
.detail-best .label{
  font-size:var(--text-md);
}

.source-box .value{
  font-size:var(--text-xl);
}

.detail-header{
  gap:var(--space-4);
}

.cover,
.cover-placeholder{
  width:96px;
  height:136px;
}

.books-toolbar,
.box-detail-header,
.rescan-header,
.lager-group-header,
.export-form,
.pick-detail-header{
  gap:var(--space-3);
}

.book-cover,
.book-cover-placeholder{
  width:40px;
  height:58px;
}

.best-price{
  font-size:var(--text-lg);
}

.pill,
.box-conflict-badge{
  font-size:var(--text-xs);
  padding:4px 9px;
}

.book-card .sale-pill{
  font-size:var(--text-13);
  padding:4px 8px;
}

.rescan-table th,
.rescan-table td{
  padding:8px 10px;
  font-size:var(--text-sm);
}

.export-item{
  padding:16px 14px;
}

.history-list-row{
  min-height:62px;
  padding:16px 18px;
  font-size:var(--text-18);
  line-height:1.5;
}

.export-item-title,
.pick-title{
  font-size:var(--text-md);
  line-height:1.25;
}

.pick-item{
  grid-template-columns:auto 48px 1fr auto;
  gap:var(--space-2);
  padding:var(--space-2);
}

.pick-check{
  width:36px;
  height:36px;
  min-height:36px;
}

.pick-cover,
.pick-cover-placeholder{
  width:48px;
  height:66px;
}

.pick-price{
  font-size:var(--text-sm);
}

@media (max-width:700px){
  .topbar,
  .tabs,
  .view{
    padding-left:14px;
    padding-right:14px;
  }

  .topbar{
    padding-top:14px;
    padding-bottom:14px;
  }

  .panel,
  .modal-box{
    padding:var(--space-4);
  }

  .tab{
    min-height:48px;
    padding:9px 12px;
    font-size:var(--text-sm);
  }

  .brand h1{
    font-size:var(--text-24);
  }

  .brand .mark,
  .settings-btn{
    width:46px;
    height:46px;
  }

  .pick-item{
    grid-template-columns:auto 44px 1fr;
  }

  .pick-price{
    grid-column:3;
  }
}

.export-results-stack{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
